La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Prototipo de compilador didáctico del lenguaje LC99 Orlando Sánchez Montesdeoca Proyecto fin de carrera de la E.U.I. - U.L.P.G.C.

Presentaciones similares


Presentación del tema: "Prototipo de compilador didáctico del lenguaje LC99 Orlando Sánchez Montesdeoca Proyecto fin de carrera de la E.U.I. - U.L.P.G.C."— Transcripción de la presentación:

1 Prototipo de compilador didáctico del lenguaje LC99 Orlando Sánchez Montesdeoca Proyecto fin de carrera de la E.U.I. - U.L.P.G.C.

2 Prototipo de Compilador Didáctico del lenguaje LC99 Introducción Prototipo funcional y ampliable Lenguaje LC99 Visualización de la memoria en tiempo de ejecución

3 Prototipo de Compilador Didáctico del lenguaje LC99 El Compilador/Intérprete Compilador de LC99 Intérprete del código objeto P

4 Prototipo de Compilador Didáctico del lenguaje LC99 Objetivos Proyecto global –Didáctica de la gestión de memoria en tiempo de ejecución Prototipo –Producto completo y funcional –Demostrar la viabilidad del proyecto global –Comprobar su utilidad y aceptación –Base para su ampliación

5 Prototipo de Compilador Didáctico del lenguaje LC99 Desarrollo –Especificación del lenguaje LC99 –Estudio y especificación del código P –Análisis léxico –Análisis sintáctico –Tabla de símbolos –Análisis semántico –Generación de código –Adaptación del intérprete –Visualización de la memoria –Pruebas –Documentación

6 Prototipo de Compilador Didáctico del lenguaje LC99 Visión general del compilador/intérprete –Estructura del conjunto compilador/intérprete –Características del lenguaje LC99 –El compilador de LC99 –La tabla de símbolos La máquina P El intérprete de código P

7 Prototipo de Compilador Didáctico del lenguaje LC99 Estructura del conjunto compilador/intérprete

8 Prototipo de Compilador Didáctico del lenguaje LC99 Características del lenguaje Anidamiento de subrutinas Recursividad Estructura de bloques Variables dimensionables dinamicamente Variables dinámicas

9 Prototipo de Compilador Didáctico del lenguaje LC99 Restricciones del prototipo 1.- Recursividad 2.- Anidamiento de procedimientos 3.- Estructura de bloques 4.- Entrada/Salida 5.- Matrices dimensionables dinámicamente* 6.- Variables dinámicas (Memoria dinámica)*

10 Prototipo de Compilador Didáctico del lenguaje LC99 Restricciones del prototipo (continuación) 7.- Otras características: –Tipos de datos elementales –Tipos de datos estructurados* –Procedimientos y funciones: Paso de parámetros (por valor y referencia) Paso de etiquetas, procedimientos y funciones* –Instrucciones: Bucles (if, while, repeat, for) Saltos (goto (local), return, menos exit, halt y continue*) Asignación Llamadas a procedimientos y funciones New/dispose* –Expresiones –Acceso estructurado*

11 Prototipo de Compilador Didáctico del lenguaje LC99 Diagramas sintácticos del subconjunto

12 Prototipo de Compilador Didáctico del lenguaje LC99 Estructura del compilador

13 Prototipo de Compilador Didáctico del lenguaje LC99 Fases del proceso Análisis léxico Análisis sintáctico Análisis semántico Generación de código

14 Prototipo de Compilador Didáctico del lenguaje LC99 La tabla de símbolos Almacena elementos declarados Permanece tras la compilación Estructura de árbol de bloques Volcado en fichero

15 Prototipo de Compilador Didáctico del lenguaje LC99 Tipos de registros de la tabla de símbolos Tipos predefinidos Etiquetas Constantes Tipos definidos Variables Funciones y procedimientos Ristras Vectores y matriz Punteros Enumerados Registros Campos de los registros Partes variantes de los registros Enlaces de la estructura de árbol

16 Prototipo de Compilador Didáctico del lenguaje LC99 La máquina virtual P Registros: –PC, SP, MP, NP, EP Organización de la memoria: –Enlace estático y dinámico –Pila de marcos de pila

17 Prototipo de Compilador Didáctico del lenguaje LC99 La máquina virtual P (continuación) Áreas de datos (marcos de pila) –Parámetros implícitos –Parámetros de subrutina –Área de variables locales –Pila local

18 Prototipo de Compilador Didáctico del lenguaje LC99 El código P Lenguaje ensamblador de la máquina P Elementos: –Mnemotécnicos con identificador de tipo y uno o dos parámetros –Etiquetas Grupos de instrucciones: Aritméticas Lógicas Carga y direccionamiento Almacenamiento Saltos Procedimientos estándar Subrutinas y control de ejecución

19 Prototipo de Compilador Didáctico del lenguaje LC99 El intérprete de código P P4 Comprobaciones y correcciones Modificaciones

20 Prototipo de Compilador Didáctico del lenguaje LC99 Visualización Volcado de la memoria –Registros de la máquina P –Posiciones de memoria de la pila de marcos Instrucción BRK Modo de traza

21 Prototipo de Compilador Didáctico del lenguaje LC99 Conclusiones Utilidad –Herramienta didáctica –Demuestra la viabilidad del proyecto global –Base para la terminación del proyecto –Desarrollo aplicable a la didáctica de la asignatura Mejoras –Lenguaje –Compilador Ampliación –Lenguaje –Compilador –Intérprete

22 Prototipo de Compilador Didáctico del lenguaje LC99


Descargar ppt "Prototipo de compilador didáctico del lenguaje LC99 Orlando Sánchez Montesdeoca Proyecto fin de carrera de la E.U.I. - U.L.P.G.C."

Presentaciones similares


Anuncios Google