¿Cuál es el mejor libro para estudiar la construcción de compiladores a nivel de pregrado?

Bueno, espero que alguien me haya respondido esta pregunta hace un año. He leído Dragon Book unas 4 veces. No es tan difícil si lo hubieras leído muchas veces.
De cualquier manera, Compiladores es un curso que depende de otros cursos y principalmente de Teoría de la Computación y Autómatas. Te sugiero que primero leas Matemática discreta de Matemática discreta y combinatoria Por Kenneth H. Rosen y luego Teoría de autómatas Lenguajes y computación por Ullman. Ambos son grandes libros.
Entonces te sugiero que primero leas el Libro del Dragón a fondo, puede que no te guste pero te sugiero que hagas esto. Después de eso, lea Compiladores de escritura e intérpretes de Robert Mark y LLVM Tutorial. Aquí, aunque usará analizadores de arriba hacia abajo, sabrá cómo crear un analizador, analizador léxico, AST, etc.
Después de eso, lea Dragon Book nuevamente y será fácil de seguir. Luego puede implementar su propio compilador fácilmente usando Bottom Up Parsing.
También hay otros libros, pero creo que Dragon Book es el mejor.

Si está buscando el mejor libro para estudiar la construcción de compiladores a nivel de pregrado, entonces Compiler Design by K muneshwaran es el mejor libro para el diseño de compiladores. Escrito de manera lúcida, el libro proporciona numerosos ejemplos, algoritmos, pseudocódigos y códigos C en apoyo del texto. Ejercicios de fin de capítulo, aplicación. El libro comienza con una descripción general del software del sistema y describe brevemente la evolución, el diseño y la implementación de compiladores. La explicación detallada de las diversas fases involucradas en el diseño de un compilador, como el análisis léxico, el análisis de sintaxis, la organización del almacenamiento en tiempo de ejecución, la generación de código intermedio, la optimización del código y la generación de código final se proporciona en varios capítulos del libro. El último capítulo describe brevemente todas las herramientas de escritura del compilador de uso frecuente con ejemplos y códigos de programa.