La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Prototipo de compilador didáctico del lenguaje LC99

Presentaciones similares


Presentación del tema: "Prototipo de compilador didáctico del lenguaje LC99"— 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 Prototipo de Compilador Didáctico del lenguaje LC99

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

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 Prototipo de Compilador Didáctico del lenguaje LC99

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 Prototipo de Compilador Didáctico del lenguaje LC99

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 Prototipo de Compilador Didáctico del lenguaje LC99

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

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

9 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)* Prototipo de Compilador Didáctico del lenguaje LC99

10 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* Prototipo de Compilador Didáctico del lenguaje LC99

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

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

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 Prototipo de Compilador Didáctico del lenguaje LC99

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 Prototipo de Compilador Didáctico del lenguaje LC99

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

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” Prototipo de Compilador Didáctico del lenguaje LC99

17 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 Prototipo de Compilador Didáctico del lenguaje LC99

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 Prototipo de Compilador Didáctico del lenguaje LC99

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

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 Prototipo de Compilador Didáctico del lenguaje LC99

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 Intérprete Prototipo de Compilador Didáctico del lenguaje LC99

22 Prototipo de Compilador Didáctico del lenguaje LC99


Descargar ppt "Prototipo de compilador didáctico del lenguaje LC99"

Presentaciones similares


Anuncios Google