Portada de Compiladores: Principios Teóricos y Prácticos

Compiladores: Principios Teóricos y Prácticos

por Manuel Palencia Gutiérrez · 1993

Ver sugerencias

Sinopsis

Un texto en español que aborda las bases del diseño e implementación de compiladores, cubriendo desde el análisis léxico hasta la generación de código, con énfasis en la aplicabilidad práctica.

Libros similares

Libros relacionados según distintos criterios de búsqueda

Aunque superficialmente diferente, este libro se conecta con 'Compiladores' al analizar cómo los sistemas (científicos, en este caso) se construyen sobre una base de principios aceptados (los paradigmas) y cómo estos principios definen lo que es 'válido' o 'compilable' dentro de ese sistema. Explora la evolución de las 'reglas' que rigen un dominio de conocimiento, al igual que los compiladores definen reglas para la construcción de software.

Gödel, Escher, Bach: Un Eterno y Gran Bucle Dorado

Douglas R. Hofstadter

1979·divulgacion

Este libro, aunque poético y filosófico, comparte un núcleo 'no obvio' con los compiladores en su exploración de los sistemas formales, la autorreferencia y la auto-organización. Un compilador es en sí mismo un programa que procesa y traduce otros programas, un tipo de 'gran bucle dorado' algorítmico, y Hofstadter profundiza en las implicaciones de tales sistemas.

Máquinas de Turing

Alan Turing

1936·divulgacion

La conexión es profunda al nivel de los fundamentos teóricos. Mientras que 'Compiladores' explora la aplicación práctica de generar y traducir código, la máquina de Turing es el modelo abstracto subyacente a toda computación. Un compilador es, en esencia, una realización práctica de un tipo de máquina de Turing, traduciendo un lenguaje de alto nivel a un lenguaje de máquina que una máquina de Turing (o un procesador moderno) puede ejecutar. La filosofía es la de la 'computabilidad'.

Acerca de la existencia de entidades matemáticas

Willard Van Orman Quine

1948·filosofia

Este ensayo se conecta profundamente con la naturaleza de los compiladores al plantear la cuestión de la 'realidad' o 'existencia' de los lenguajes formales y las estructuras lógicas que los subyacen. Un compilador toma un lenguaje de programación (una entidad formal) y lo traduce a otro, pero la pregunta filosófica es sobre la naturaleza de estas estructuras abstractas y cómo justificamos su validez, un eco de Quine abordando las entidades matemáticas.

Sistemas de tipos y programación funcional

Jean-Yves Girard

1989·divulgacion

Mientras que 'Compiladores' introduce los principios, la obra de Girard representa una exploración mucho más profunda y especializada de los sistemas de tipos, un componente crítico para la fase de análisis semántico en muchos compiladores. Se aleja de los textos introductorios anglosajones comunes, ofreciendo una perspectiva más rigurosa y teórica desde un autor francés que ha influido en la teoría de lenguajes de programación.

Sobre las bases de la matemática

David Hilbert

1927·divulgacion

Hilbert, una figura central alemana en la lógica y las matemáticas, es fundamental para la comprensión de los sistemas formales que los compiladores procesan. Sus ideas, aunque anteriores a la informática moderna, sientan las bases para el tratamiento formal de lenguajes y la búsqueda de consistencia. Es 'oscuro' en el sentido de que no es un texto de informática directa, pero sus fundamentos son esenciales y su impacto está menos reconocido en las esferas de la divulgación anglosajona.

La conexión estructural reside en la minuciosa organización y el enfoque en los fundamentos que Knuth emplea, similar a cómo un compilador descompone un programa en sus componentes más básicos. Ambos libros se preocupan por la eficiencia, la corrección y la optimalidad de los procesos. Knuth 'compila' el conocimiento de los algoritmos en una forma estructurada y lógica, análoga a la labor de un compilador.

Compiladores: Principios, Técnicas y Herramientas

Alfred Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman

1986·divulgacion

Aunque superficialmente parece una recomendación obvia, la conexión 'estructural' es profunda. Ambos libros, el de referencia y este, comparten la misma estructura didáctica y la progresión lógica en la explicación de las fases de un compilador (análisis léxico, sintáctico, semántico, generación de código). Este libro es un ejemplo arquetípico de cómo se estructura la enseñanza de este campo, complementando el libro de Palencia con un enfoque igualmente sistemático pero posiblemente más detallado en algunas áreas.

Ayúdame a que yoleo sea sostenible