Saltar al contenido principal
Teoría, Diseño e Implementación de Compiladores de Lenguajes

Teoría, Diseño e Implementación de Compiladores de Lenguajes

Aa.vv. / Ramallo Martinez, Alejandro / Martín Martínez, Francisco Javier

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 lo...

Editorial:
Ra-Ma
Año de edición:
2014
Materia:
Programación
ISBN:
978-84-9964-510-0
Páginas:
336
Encuadernación:
Rústica
Colección:
Informática
24,90 €
IVA incluido
Añadir a favoritos

Sinopsis

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.

Índice

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

Artículos relacionados

Comprender los Algoritmos

Comprender los Algoritmos

Y. Bhargava, Aditya

Un enfoque accesible para aprender sobre algoritmos con ilustraciones y ejemplos prácticos. 320 páginas.La mirada de Luces: Perfecto para quienes desean adentrarse en el mundo de la programación sin complicaciones. ...

✅ Disponible

36,95 €

Micropython en Proyectos. Una Introducción Práctica a la Programación de Microco

Micropython en Proyectos. Una Introducción Práctica a la Programación de Microco

Padin Romero, Beatriz / Dapena Janeiro, Ad / Padín Romero, Beatriz / Dapena Janeiro, Adriana

Guía práctica para desarrollar proyectos en MicroPython, ideal para principiantes y entusiastas. 266 páginas.La mirada de Luces: Perfecto para quienes desean iniciarse en la programación de microcontroladores de manera práctica. ...

✅ Disponible

22,80 €

Guía de Programación en C/C++

Guía de Programación en C/C++

Lopez, Eliezer

Manual para aprender a programar en C y C++, con ejemplos y ejercicios prácticos. 400 páginas.La mirada de Luces: Esencial para quienes desean adentrarse en el mundo de la programación. ...

✅ Disponible

30,50 €

Python Black Hat. Programación para Hackers y Pentesters

Python Black Hat. Programación para Hackers y Pentesters

Arnold, Tim / Seitz, Justin

Cuando se trata de crear herramientas de hackeo potentes y eficaces, Python es el lenguaje elegido por la mayoría de los analistas de seguridad. En este libro explorarás el lado más oscuro de las capacidades de Python: todo, desde escribir sniffers de red, robar credenciales de correo electrónico y acceder a directorios y carpetas por la fuerza hasta crear fuzzers de mutación, ...

✅ Disponible

32,95 €

Curso Práctico con Unity 3D

Curso Práctico con Unity 3D

Cantón Nadales, David

Guía para el desarrollo de videojuegos con Unity, desde fundamentos hasta creación de builds. 360 páginas.La mirada de Luces: Ideal para quienes desean adentrarse en el mundo del desarrollo de videojuegos de forma práctica. ...

✅ Disponible

30,50 €

Curso de Programacion con Rust

Curso de Programacion con Rust

Lopez, Eliezer

Introducción a la programación en Rust, un lenguaje enfocado en la seguridad y el rendimiento. 400 páginas.La mirada de Luces: Perfecto para desarrolladores que buscan un lenguaje moderno y eficiente. ...

✅ Disponible

31,95 €

Otros libros del autor

Superman Vs el Asombroso Spiderman

Superman Vs el Asombroso Spiderman

Aa.vv.

Contiene 50th Anniversary Treasury Edition - Superman vs. The Amazing Spider-Man Facsimile Edition 1En 1976, lo imposible se hizo inevitable. Superman y Spiderman, el Hombre del Mañana y el asombroso trepamuros, los dos héroes fundamentales de las ...

✅ Disponible

20,00 €

Portugal 9

Portugal 9

Aa.vv.

Guía de viaje por Portugal, con itinerarios y recomendaciones. 472 páginas que invitan a explorar la rica cultura y paisajes del país.La mirada de Luces: Ideal para viajeros que buscan descubrir Portugal más allá de lo convencional. ...

✅ Disponible

27,90 €

Mi Juego de Grisette

Mi Juego de Grisette

Aa.vv.

Un alegato sobre el mundo rural como alternativa a un modelo social en crisis. Reflexiones sobre la naturaleza y la comunidad. Ideal para todas las edades.La mirada de Luces: Un libro inspirador que invita a reflexionar sobre nuestro papel en el planeta ...

✅ Disponible

11,50 €

Juego de Fifoot

Juego de Fifoot

Aa.vv.

Un alegato sobre el mundo rural como alternativa a un modelo social en crisis. Reflexiones sobre la naturaleza y la comunidad. Ideal para todas las edades.La mirada de Luces: Un libro inspirador que invita a reflexionar sobre nuestro papel en el planeta ...

✅ Disponible

9,95 €

Pizza

Pizza

Aa.vv.

Descubre recetas de pizza, desde las tradicionales hasta las más modernas. 128 páginas.La mirada de Luces: Para los amantes de la cocina italiana que desean experimentar con la pizza en casa. ...

✅ Disponible

5,95 €

Pasta

Pasta

Aa.vv.

Recetario sobre la pasta, desde lo tradicional a lo vanguardista. 128 páginas que celebran la cocina italiana.La mirada de Luces: Un festín para los amantes de la cocina que desean explorar el mundo de la pasta. ...

✅ Disponible

5,95 €