Foro de programacion

programacion
RegistrateNewsletter
zonas:adsl:area-flash:area-php:area-asp:area-vb:area-photoshop:area-Vfox:area-Soft:area.:Mas
+ de 45.000 registrados
Secciones: Manuales-Diseño-Trucos-Recursos-Foros/Comunidad-Software-CodigoFuente-compras
AñadenosFavoritos
Secciones: Herramientas-Libros-Webmasters/Google-Noticias -Biblioteca-Cursos--Directorio-EmpleoN
Foros de Programacion - Cominidad de Programadores
 
Foros de programacion
es una web de ayuda a los programadores y webmasters, la buena utilizacion del foro sera el premio que tendremos para q este elemento sea util para los usuarios.

Colaborar: Si deseais ser moderadores de alguno de los foros estaremos encantados en que nos presteis esa ayuda , tan solo es necesario tener algun conocimiento
del tema que trata el foro y tener ganas ganas de colaborar para ser moderador mandar un mail indicando de que foro deseais ser moderador

Deseais que pongamos algun nuevo foro de programacion? ¿quieres crear un nuevo foro y ser su moderador? ponte en contacto con nosotros

Retroceder   Foros > Programacion > C / Visual C

Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 11 de julio,2009, 14:32
Junior Member
Nivel basico por msg
 
Fecha de Ingreso: jul 2009
Mensajes: 1
Question Emular proceso de un compilador

Chicos y Chicas, tengo el medio trabajo y ni idea por donde empezar, alguien alguna vez le toco hacer un trabajo de emular el proceso de un compliador, mi trabajo es el siguiente, desde ya muchas gracias:



La idea específica del trabajo es poder construir un proceso que emule un Compilador.
En términos generales, un compilador descompone las sentencias o instrucciones que se le
indiquen, por ejemplo en un programa fuente.
Por lo general la forma de descomponer cada línea es la siguiente:
·
Por cada línea leída desde un archivo o programa fuente, revisa si el lenguaje existe
como válido en la Tabla de símbolos. (Esto se conoce como análisis Léxico).


·
Una vez que verifica la validez del lenguaje, agrupa las palabras (instrucciones) y
revisa su sintaxis, es decir, si las instrucciones estan bien escritas y si se pasaron en
forma correcta los parámetros. (Esto se conoce como análisis Sintáctico).


·
Una vez que ha agrupado por instrucciones u operaciones válidas, realiza el análisis
semántico para traducir los resultados. (Esto se conoce como análisis Semántico).
El análisis Sintáctico se puede realizar mediante el uso de Árboles de derivación. Para
tal efecto, necesariamente se debe crear el BNF o Diagrama Sintáctico correspondiente
que valide las instrucciones válidas (gramática).
El análisis semántico se puede realizar mediante el uso de árboles de expresión, que en
cierta forma traduzcan cada elemento del lenguaje a una estructura que permita entregar
un resultado.
El trabajo que se solicita, es el siguiente:


·
Permitir la lectura de un archivo texto, similar a un programa fuente, que solo
contendrá operaciones matemáticas.
Ejemplo: Considere que el archivo sumas.txt contiene la siguiente información:
2+4
(5*6) – (9+9)
(9+3) + 10
Según esto, nuestro lenguajes solo permite el uso de números, operadores
matemáticos, espacios y paréntesis. Todos estos caracteres deben estar en la
Tabla de Símbolos, puesto que en el análisis léxico se deben validar.


·
Luego de analizado los elementos del lenguaje, se debe establecer si las
operaciones son soportadas por el BNF o Diagrama Sintáctico. Es decir, si
soporta la descomposición de la siguiente forma:
Factor + Factor
Termino – Termino, donde Termino será una variable no terminal que se
descompone a su vez en Factor * Factor, etc.


·
Luego de analizar esto, se debe entregar el resultado de cada operación mediante
el uso de Árboles de expresión.
Los resultados esperados para este ejemplo serian:
2+4 -> 6


(5*6) – (9+9) ->
12


(9+3) + 10 ->
22
Algunas consideraciones.
El trabajo a entregar debe contener:


·
Informe que establezca las restricciones, las cuales deben ser validadas por el
programa. Por ejemplo, si se establece como restricción el uso de paréntesis para
agrupar operaciones, deben ser validadas.


·
BNF o diagrama sin táctico, que soporte las reglas sintácticas.


·
Árbol de derivación, solo en base a un ejemplo.


·
Árbol de expresión grafico, solo considerando un ejemplo.


·
El programa debe ser ejecutable.


·
Programas fuentes.


Algunas consideraciones de programación.
·
Validar que el archivo tenga datos.


·
Abortar el proceso cuando encuentre la primera operación inválida.


·
Todas las restricciones deben ser validadas. El programa ejecutable debe
entregar mensajes claros.


·
No es necesario el despliegue de los árboles, solo basta con la entrega en el

informe de un ejemplo.
Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Las caritas están Activado
El codigo [IMG] está Activado
Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado
Ir al Foro

Programacion : LWPI Solorecursos I programacion I abcdatos I TrucosTecnicos I servicios gratisI ofertas de ADSL Ipueblos20
Areas exclusivas:cursosIofertasIadslIwebtutoriales ISMSareaItutorialesItrucos de windows IgooglemaniaI programatium.netIcompras
noticias: SaludIOcio/cineIMusicaIMotorIDeportes IJuegos I FinanzasIMovilesIEnergiaIEcologiaITech-yIMujerIMACISaludIViajes-Pueblos
site programatium.com : site1 - site2 - site3 - site4 - site5 - site6 - site7 - site8
manuales Sugiere un manual para esta seccion
who's online
Linkanos
www.programatium.com© 1999 - web esta optimizada para Microsoft explorer 6.0
tutoriales

Content Relevant URLs by vBSEO 3.2.0