Lenguajes
Qué decisiones existen al hacer un lenguaje de programación, cómo se diferencian entre sí, en que se relacionan los lenguajes de programación a los lenguajes naturales.
Interpretación y Compilación
Cómo se implementa un lenguaje para poder ejecutarlo, cómo hacerlo de manera eficiente y estructurada.
Computabilidad
Qué es una computadora y cómo se llegó a la primera computadora, qué capacidades y limitaciones tienen.
Robert Nystrom
Douglas Thain
Introduction to Compilers and Language Design
Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman
Compilers: Principles, Techniques, and Tools