El desarrollo de compiladores es un campo computacional extremadamente complejo. En esta área, para realizar proyectos de calidad y que no sean propensos a errores, se requiere tener una buena fundamentación en la Teoría de autómatas y lenguajes formales, también conocida como Teoría de la Computación. Esta teoría es de índole matemática y trata diversos conceptos como tokens, palabras, lenguajes, alfabetos, expresiones regulares, autómatas, gramáticas, forma normal BNF y muchos más.
El título del libro ya da una idea de su enfoque. Es un texto que promueve la práctica, mediante ejercicios y proyectos, de los conceptos de la Teoría de Autómatas y Lenguajes Formales, conceptos que son más bien abstractos. Muchos de los ejercicios vienen con la correspondiente respuesta, por lo que son un excelente medio para que el estudiante se autoevalúe, perfeccione sus conceptos e incluso prepare sus exámenes. El libro promueve un aprendizaje activo por parte de los estudiantes, de acuerdo con las recomendaciones de los pedagogos.
El profesor también puede sacar gran provecho de los temas tratados, diseñando sus propios talleres, proyectos, ejercicios o exámenes, con base en los proyectos propuestos y en los variados tipos de ejercicios ofrecidos.
El libro está orientado a un curso de Teoría de Autómatas y Lenguajes Formales para la carrera de Ingeniería de Sistemas y Computación, aproximadamente en V semestre. Se recomienda altamente este texto, como preparación previa para tomar un curso de Compiladores. Adicionalmente, durante el curso de compiladores, el texto puede ser un excelente material de repaso y de consulta.
Con frecuencia se presentan temas y ejercicios orientados al área de compiladores. Así, el estudiante no solo aprenderá conceptos matemáticos en abstracto, sino que verá el sentido que tienen y una de sus grandes posibilidades de aplicación. Lo anterior también está de acuerdo con recomendaciones de los pedagogos, que insisten en que el estudiante debe saber en que se aplican los conocimientos que están aprendiendo.
En los capítulos, se incluye una descripción clara y concisa de los conceptos que se van a tratar y se continúa con ejemplos, ejercicios con respuestas y ejercicios sin respuestas.
Adicionalmente, se proponen tres proyectos en diferentes momentos de la lectura. El primero busca que el lector se forme un concepto más general de los que es un lenguaje de programación, mediante el estudio de algunas instrucciones y tokens de diferentes lenguajes. En el segundo y tercer proyecto, se propone que el lector diseñe su propio lenguaje de programación. Específicamente, en el segundo proyecto, se deben diseñar los tokens del lenguaje e implementar el analizador léxico correspondiente. El último proyecto se enfoca en el diseño de aspectos sintácticos, utilizando la notación BNF.
Se espera realizar una contribución importante al currículo y a los procesos de aprendizaje de estudiantes de Ingeniería de Sistemas y Computación, con el enfoque que ha orientado la elaboración de los diferentes capítulos.
El título del libro ya da una idea de su enfoque. Es un texto que promueve la práctica, mediante ejercicios y proyectos, de los conceptos de la Teoría de Autómatas y Lenguajes Formales, conceptos que son más bien abstractos. Muchos de los ejercicios vienen con la correspondiente respuesta, por lo que son un excelente medio para que el estudiante se autoevalúe, perfeccione sus conceptos e incluso prepare sus exámenes. El libro promueve un aprendizaje activo por parte de los estudiantes, de acuerdo con las recomendaciones de los pedagogos.
El profesor también puede sacar gran provecho de los temas tratados, diseñando sus propios talleres, proyectos, ejercicios o exámenes, con base en los proyectos propuestos y en los variados tipos de ejercicios ofrecidos.
El libro está orientado a un curso de Teoría de Autómatas y Lenguajes Formales para la carrera de Ingeniería de Sistemas y Computación, aproximadamente en V semestre. Se recomienda altamente este texto, como preparación previa para tomar un curso de Compiladores. Adicionalmente, durante el curso de compiladores, el texto puede ser un excelente material de repaso y de consulta.
Con frecuencia se presentan temas y ejercicios orientados al área de compiladores. Así, el estudiante no solo aprenderá conceptos matemáticos en abstracto, sino que verá el sentido que tienen y una de sus grandes posibilidades de aplicación. Lo anterior también está de acuerdo con recomendaciones de los pedagogos, que insisten en que el estudiante debe saber en que se aplican los conocimientos que están aprendiendo.
En los capítulos, se incluye una descripción clara y concisa de los conceptos que se van a tratar y se continúa con ejemplos, ejercicios con respuestas y ejercicios sin respuestas.
Adicionalmente, se proponen tres proyectos en diferentes momentos de la lectura. El primero busca que el lector se forme un concepto más general de los que es un lenguaje de programación, mediante el estudio de algunas instrucciones y tokens de diferentes lenguajes. En el segundo y tercer proyecto, se propone que el lector diseñe su propio lenguaje de programación. Específicamente, en el segundo proyecto, se deben diseñar los tokens del lenguaje e implementar el analizador léxico correspondiente. El último proyecto se enfoca en el diseño de aspectos sintácticos, utilizando la notación BNF.
Se espera realizar una contribución importante al currículo y a los procesos de aprendizaje de estudiantes de Ingeniería de Sistemas y Computación, con el enfoque que ha orientado la elaboración de los diferentes capítulos.