Teor?a, dise?o e implementaci?n de compiladores de lenguajes - ra-ma

Teor?a, dise?o e implementaci?n de compiladores de lenguajes - ra-ma
Recomendar a un amigo Añadir a mis libros
En papel:
Salida en 1 semana
24,90 € 23,65 € (Descuento -5.0%)
Consultar disponibilidad en tiendas


El presente libro aborda la teor?a, el dise?o y la implementaci?n de las fases por las que un c?digo fuente pasa en el proceso de compilaci?n, intentando dar un enfoque pr?ctico, esto es, acerc?ndolo a la construcci?n de un lenguaje de programaci?n real. Se presenta c?mo es el desarrollo y funcionamiento de un compilador, empezando por la definici?n del lenguaje, pasando por los posibles dise?os de todas y cada una de las fases de las que se compone (an?lisis l?xico, sint?ctico y sem?ntico), hasta proponer una implementaci?n de cada una de ellas.

La estructura que sigue este libro consiste en presentar, por cada una de estas fases de la compilaci?n, primero, los conceptos te?ricos de la misma y, despu?s, su dise?o e implementaci?n, haciendo uso de las distintas alternativas que se presentan.

Para lograr una mejor comprensi?n por parte del lector, se facilitar? el c?digo fuente y sus correspondientes archivos ejecutables de dos versiones de analizadores sint?cticos diferentes y una tercera implementaci?n con la fase sem?ntica, a partir de uno de los analizadores sint?cticos anteriores.

Introducci?n

Cap?tulo 1. Definici?n del lenguaje: Planteamiento te?rico
1.1 Ventajas del uso de gram?ticas libres de contexto
1.2 Definici?n del vocabulario b?sico para la definici?n de Lenguajes
1.3 Especificaci?n sint?ctica de los lenguajes de programaci?n: Gram?ticas libres de contexto

Cap?tulo 2. Definici?n del lenguaje: Dise?o
2.1 Dise?o del lenguaje de programaci?n
2.2 Producciones del analizador l?xico
2.3 PRODUCCIONES DEL ANALIZADOR SINT?CTICO

Cap?tulo 3. analizador l?xico: Planteamiento te?rico
3.1 Responsabilidad del analizador l?xico como fase de un compilador
3.2 ?Por qu? separar el an?lisis l?xico del an?lisis sint?ctico?
3.3 Tratamiento de los errores l?xicos
3.4 Definici?n del vocabulario b?sico para un analizador l?xico
3.5 Especificaci?n de un analizador l?xico
3.5.1 Reconocimiento de los componentes l?xicos
3.5.2 Implementaci?n del DT

Cap?tulo 4. an?lisis l?xico: Dise?o e implementaci?n
4.1 Dise?o del analizador l?xico
4.2 Estudio de la implementaci ?n del analizador l?xico
4.2.1 Implementaci?n del DT: Estado inicial
4.2.2 Implementaci?n del DT: Estados finales
4.2.3 Implementaci?n del DT: Algunos tokens interesantes

Cap?tulo 5. analizador sint?ctico: Planteamiento te?rico
5.1 Responsabilidades del analizador sint?ctico como fase de un compilador
5.2 Tratamiento de errores sint?cticos
5.2.1 ?Qu? informaci?n debe ofrecer un manejador de errores ante un error?
5.2.2 Estrategias de recuperaci?n de errores en analizadores sint?cticos
5.3 Definici?n del vocabulario b?sico para un analizador sint?ctico
5.4 Clasificaci?n de los m?todos de an?lisis sint?ctico
5.5 M?todos de an?lisis descendente
5.5.1 Analizador sint?ctico por descenso recursivo
5.5.2 Analizador sint?ctico predictivo (por descenso recursivo sin retroceso)
5.5.3 Analizador sint?ctico predictivo y no recursivo
5.5.4 Recuperaci?n de errores en an?lisis sint?cticos predictivos
5.6 M?todos de an?lisis ascendente
5.6.1 Ventajas
5.6.2 Inconvenientes
5.6.3 M?todo por desplazamiento y reducci?n
5.6.4 Analizadores sint?cticos LR
5.6.5 Recuperaci?n de errores en analizadores sint?cticos LR

Cap?tulo 6. an?lisis sint?ctico: Dise?o e implementaci?n
6.1 Primeros pasos comunes
6.2 Estudio del dise?o y la implementaci ?n DEL ANALIZADOR SINT?CTICO PREDICTIVO Y NO RECURSIVO
6.2.1 Dise?o del analizador sint?ctico predictivo y no recursivo
6.2.2 Estudio de la implementaci?n del analizador sint?ctico predictivo y no recursivo
6.3 Estudio del dise?o y la implementaci ?n del analizador sint?ctico SLR
6.3.1 Dise?o del analizador sint?ctico SLR
6.3.2 Estudio de la implementaci?n del analizador sint?ctico SLR
6.4 Tratamiento de los errores sint?cticos
6.4.1 M?todo que gestiona los errores sint?cticos
6.4.2 Tratamiento de errores si la cima de la pila es un terminal
6.4.3 Tratamiento de errores si la cima es un no terminal

Cap?tulo 7. analizador sem?ntico: Planteamiento te?rico
7.1 Responsabilidades del analizador sem?ntico como fase de un compilador
7.2 Definici?n del vocabulario b?sico para un analizador sem?ntico
7.2.1 Definiciones dirigidas por sintaxis y esquemas de traducci?n
7.3 Clasificaci?n de los m?todos de an?lisis sem?ntico
7.3.1 M?todos de an?lisis descendente
7.3.2 M?todos de an?lisis ascendente

Cap?tulo 8. an?lisis sem?ntico: Dise?o e implementaci?n
8.1 Definici?n dirigida por sinta xis de las reglas sem?nticas
8.1.1 Asignaci?n de tipos a las variables declaradas
8.1.2 Comprobaci?n de que los elementos que se comparan en la condici?n de un if y un while sean del mismo tipo
8.1.3 Comprobaci?n de tipos en asignaciones
8.2 Dise?o del analizador sint?ctico SLR
8.2.1 Primeros y Siguientes
8.2.2 GLC numerada
8.2.3 Conjunto can?nico de elementos LR(0)
8.2.4 Construcci?n de la tabla de an?lisis sint?ctico SLR
8.2.5 Desarrollo de un ejemplo para comprobar el funcionamiento del analizador a nivel sint?ctico y sem?ntico.
8.3 Estudio de la implementaci ?n del analizador sem?ntico
8.3.1 Estructuras de datos utilizadas
8.3.2 Implementaci?n de la estructura de datos con las reglas sem?nticas
8.3.3 Proceso de an?lisis sem?ntico
Anexo A: Manual de uso del compilador
A.1 La ventana principal
A.2 La compilaci?n
A.3 Ejemplos de los errores que el compilador realizado "sabe" detectar
A.3.1 Ejemplos de errores l?xicos
A.3.2 Ejemplos de errores sint?cticos
A.3.3 Ejemplos de errores sem?nticos

BIBLIOGRAF?A
Material adicional
?NDICE ALFA B?TICO

Introducir comentario
Libros escritos por
Si no se cargan automáticamente los resultados, pulse aqui para cargar