RUIZ, Jacinto
Material Descargable
Resumen del contenido: | ||
Este libro es un manual de ayuda para estudiosos de procesadores de lenguajes y/o compiladores, trata de la construcción de un compilador paso a paso, desde la especificación del lenguaje hasta la generación del código final (generalmente, un ejecutable), un tema que está poco tratado, sobre todo en español.
Lo que pretendemos con este libro es dar las bases teóricas suficientes para poder abordar la construcción de un compilador completo, y luego implementarlo. VENTAJAS COMPETITIVAS .En la parte teórica se detallan todas las fases para la creación de un procesador de lenguajes, y además se incluyen ejercicios que ayudan a aclarar las ideas expuestas. La parte práctica desarrolla por completo un traductor para un lenguaje sencillo de lógica de proposiciones. Asimismo, se implementan dos compiladores, ambos desarrollados por completo, de un subconjunto del lenguaje C; el primero de ellos, sencillo para iniciarse, y el segundo, más completo que sirve para avanzar en el tema; es decir, que se trata desde el análisis léxico hasta la generación de código final (utilizando un emulador de ensamblador llamado Ens2001). Con este libro el estudiante y el profesional estará preparado no solo para entender mejor el complejo mundo de los compiladores, sino también de los lenguajes de programación y de las máquinas donde se aplican. Utilizando las técnicas aprendidas los lectores podrán desarrollar sus propios compiladores o traductores, por ejemplo, para un microcontrolador PIC. CONOZCA Los aspectos teóricos de los procesadores de lenguajes y/o compiladores. El proceso de creación de un compilador: análisis léxico, análisis sintáctico, análisis sintáctico descendente, análisis sintáctico ascendente, la tabla de tipos y de símbolos, análisis semántico y la generación de código intermedio y final. REALICE Un traductor para un lenguaje de lógica de proposiciones. Un compilador para un subconjunto de C. CONTENIDO: PARTE I. Teoría: Introducción - Análisis léxico - Análisis sintáctico - Análisis sintáctico descendente - Análisis sintáctico ascendente - Tabla de tipos y de símbolos - Análisis semántico - Generación de código intermedio y final – PARTE II. Implementación de L-0: Especificación de L-0 - Análisis léxico de L-0 - Análisis sintáctico de L-0 - Análisis semántico y generación de código de L-0 – PARTE III. Implementación de C-0: Análisis léxico, sintáctico y semántico de C-0 - Generación de código intermedio de C-0 - Generación de código final de C-0 – PARTE IV. Implementación de C-1 - Especificación de C-1 - Análisis léxico y sintáctico de C-1 - Análisis semántico de C-1 - Generación de código de C-1 – PARTE V. Apéndices, bibliografía e índice alfabético - Apéndice A. Herramientas: Herramientas - Instalación de las herramientas 398 - Java - JLex - CUP - ENS2001 - Uso de las herramientas - Uso de Alex - Uso de Cup - Apéndice B. Código intermedio y final para C-1 en Ens2001 – Introducción - Tabla de código intermedio y final para Ens2001 - Ejemplo de programa en C-1 – Bibliografía - Libros y manuales – Software... |