Programacion

Páginas: 6 (1332 palabras) Publicado: 30 de octubre de 2012
Tabla de contenido


PROYECTO PASCALITO 1
Descripción 1
Justificación 1
Objetivos 1
Objetivo principal 1
Objetivos secundarios 2
Especificaciones para el proyecto compilador Pascalito 3
I. Convenciones lexicografitas de Pascalito 3
II. Sintaxis general de Pascalito 3
III. Gramática de Pascalito en 4
Ejemplo práctico de código que debe aceptar Pascalito5




PROYECTO PASCALITO


Descripción

Pascalito es una propuesta para implementar las etapas de análisis (lineal, jerárquico y semántico) en un compilador que utilice los principios, técnicas, métodos, algoritmos y estrategias de diseño e implementación vistos en clase. Pascalito es un subconjunto de lenguaje Pascal bastante reducido.


Justificación

Evidentemente, en laactualidad existe una diversidad de generadores automáticos de código o herramientas CASE que ayudan y resuelven la implementación de algoritmos, métodos y principios de diseño más óptimos que producen las rutinas en código necesarias para la etapa de análisis en un compilador. Entonces, ¿para que implementar dichos analizadores manualmente? En nuestro caso, tomamos un subconjunto de lenguaje y uncontexto bastante simple con la premisa que no representa una tarea difícil de acometer aunque queda abierto al estudiante aplicar los principios, métodos y técnicas al código que garanticen cierto grado de eficiencia y optimidad pero estos criterios no son requeridos como tal.


Objetivos


Objetivo principal

El proyecto Pascalito como compilador no pretende traducir un programa fuente deforma completa hacia un programa objeto; la etapa de síntesis del modelo de compilador requiere de conocimientos más especializados y técnicas avanzadas por lo queda fuera de alcance de este proyecto. Más a detalle, se espera que desarrolle lo siguiente en cuanto a:

Entrada
Como entrada a Pascalito, debe proporcionarse un programa fuente (archivo de texto) que cumpla con la sintaxis definida másadelante.

Salida

No se espera que Pascalito entregue código de máquina como salida, por lo que también queda descartada la implementación de estructuras de datos utilizadas en las fases subsiguientes. El contexto de salida de Pascalito va en función de mostrar los efectos correspondientes del análisis llevado a cabo sobre la entrada.

Entonces, la salida que se espera de Pascalito consta dedos partes: primero debe darse salida a los errores de sintaxis encontrados en el programa fuente y segundo, debe volcarse en pantalla el contenido de los identificadores (con sus valores de atributos respectivos) que se almacenaron en la tabla de símbolos de Pascalito.

Error de sintaxis encontrado: se esperaba un id en la línea 5.
Error de sintaxis encontrado: se esperaba begin en la línea15.


Lista de identificadores en la tabla de símbolos
|Token |Lexema |Clase |Tipo de dato | |
|Id |Temp1 |Variable |Integer | |
|Id |Temp2 |Variable |Real ||
|Id |Proc1 |Procedimiento |- | |


Ejemplo ilustrativo de la salida de Pascalito

Proceso

Pascalito debe determinar la estructura sintáctica del programa fuente proporcionado, para ello debe valerse de su rutina de Parse (análisis sintáctico) que a su vez debe invocar la rutina del Scanner(análisis léxico), todo esto corresponde a una primera pasada o lectura del programa fuente, en la que también debe ir anexando a la tabla de símbolos del compilador todos los tokens de identificadores encontrados e inmediatamente ir informando en su salida la existencia de errores, la técnica sugerida en este sentido es la denominada en modo pánico también llamada modo alarma que utiliza las...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación
  • Programacion
  • Programacion
  • Programación
  • Programacion
  • Programacion
  • Programacion
  • Programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS