DEFINICIÓN DE UN TRADUCTOR Y ETAPAS DE UN COMPILADOR
Enviado por blackforest • 25 de Agosto de 2015 • Apuntes • 11.594 Palabras (47 Páginas) • 159 Visitas
INSTITUTO TECNOLÓGICO DE TAPACHULA
INGENIERÍA EN SISTEMAS COMPUTACIONALES.
MATERIA:
LENGUAJES Y AUTÓMATAS 1
CATEDRÁTICO:
ANAMIM VILLARREAL WONG
TEMA:
DEFINICIÓN DE UN TRADUCTOR Y ETAPAS DE UN COMPILADOR
EQUIPO:
JHONNY NEGRETE MADRID
FERNANDO ULISES ROJAS LOPEZ
ALEJANDRO PEREZ GONZALEZ
CARLOS MARTINEZ VAZQUEZ
RICARDO PINOT ABUNDIS
LUGAR Y FECHA:
TAPACHULA CHIAPAS A 8 DE JUNIO DEL 2015
CONTENIDO
Contenido
1. INTRODUCCIÓN 4
2. DEFINICIÓN DE UN TRADUCTOR (COMPILADORES) 5
2.1 Tipos de COMPILADORES 7
3. ETAPAS DE UN COMPILADOR (TRADUCTOR) 7
3.1 FASE DE ANÁLISIS 7
3.1.1 ANÁLISIS LÉXICO 7
3.1.2 ANÁLISIS SINTÁCTICO 8
3.1.3 ANÁLISIS SEMÁNTICO 9
3.2 FASE DE SÍNTESIS 10
3.2.1 GENERACIÓN DE CÓDIGO INTERMEDIO 11
3.2.2 OPTIMIZACIÓN DE CÓDIGO 11
3.2.3 ADMINISTRACIÓN DE LA TABLA DE CONTENIDOS 12
3.2.4 MANEJADOR DE ERRORES 13
3.2.5 TIPOS DE ERRORES 13
4. Lenguaje de programación 14
5. Palabra reservada 15
6. OPERADORES 23
6.1 Tipos de operadores: 23
6.2 Prioridades del operador 23
6.3 Identificadores 24
6.3.1 Ejemplos válidos de identificadores: 24
6.3.2 Ejemplos no válidos de identificadores: 24
7. ANÁLISIS LÉXICO 25
7.1 Funciones del analizador léxico. 25
7.2 Funcionamiento 26
7.3 Funciones del Análisis Léxico 27
7.4 Componentes Léxicos, Patrones, Lexemas. 28
7.5 Aspectos del Análisis Léxico 28
7.6 Tratamiento de errores léxicos 29
8. PALABRAS RESERVADAS DE NUESTRO LENGUAJE 30
9. AUTóMATA de PALABRAS RESERVADAS 31
10. AUTóMATA DE VARIABLES 33
11. AUTóMATA DE OPERADORES ARITMéTICOS 33
12. AUToMATA DE OPERADORES LóGICOS 34
13. AUToMATAS DE DELIMITADORES 35
14. ¿Qué ES ANáLISIS SINTáCTICO? 35
14.1 Funciones del analizador sintáctico 35
14.2 Lenguajes de programación 37
14.3 Visión general del proceso 38
14.4 Clasificación 38
14.5 Manejo de errores sintácticos 38
14.6 Tipo de gramática que acepta un analizador sintáctico. 39
14.7 Árbol sintáctico de una sentencia de un lenguaje. 41
14.8 Tipos de Análisis 42
14.9 Análisis descendente con retroceso. 43
14.10 Análisis descendente de gramáticas LL 44
15. Formas de implementar el análisis sintáctico 46
15.1 GRAMáTICAS LIBRES DE CONTEXTO 46
15.2 Derivaciones y árboles sintácticos 46
15.3 Ejemplo: gramática de expresiones aritméticas 46
15.4 ANÁLISIS SINTÁCTICO DESCENDENTE 47
15.5 ANÁLISIS SINTÁCTICO ASCENDENTE 49
16. EJEMPLOS 50
16.1 ANALISIS SINTACTICO ASCENDENTE POR MEDIO DE UN PIVOTE 50
16.2 Análisis sintáctico descendente ejemplo visto en clase: 55
11. CONCLUSIÓN 57
BIBLIOGRAFÍA 58
1. INTRODUCCIÓN
Tanto los compiladores como los intérpretes son programas de gran complejidad. Afortunadamente, se sabe suficiente acerca de cómo estructurarlos y hay suficientes herramientas formales para que la complejidad se reduzca a niveles razonables. En este tema veremos en qué fases se divide un compilador o un intérprete. Veremos también que tienen en común y como difieren entre compiladores e intérpretes.
En el mundo de la informática existen muchos lenguajes de programación, que trabajan con uno o varios paradigmas de programación (estilos, formas, métodos de programación), por lo tanto es de suponer que existen distintas reglas de sintaxis y semántica para cada lenguaje de programación como lo existe en cualquier otro lenguaje, sea cualquiera el tipo y contexto al que pertenezca.
Con el tiempo se vio que el estar realizando una interpretación y traducción cada vez que se necesita realizar algo era poco efectivo, en cuanto a tiempo de trabajo delHardware se refiere, y más aun si se trataba de un conjunto grande deinstrucciones (peticiones), es aquí donde entraron en juego los compiladores, quien al igual que sus antecesores realizan una traducción de los programas
(conjunto de intrusiones de un lenguaje) revisando que este dentro del marco de definición del lenguaje de programación utilizado. Con la diferencia que la traducción se realiza una sola vez y de todo el programa. Después de todos estos tópicos previos, podemos decir
...