Checking date: 16/06/2025 03:03:14


Course: 2025/2026

Language Processors
(18279)
Bachelor in Mathematics and Computing (Plan: 567 - Estudio: 362)


Coordinating teacher: ALONSO WEBER, JUAN MANUEL

Department assigned to the subject: Computer Science and Engineering Department

Type: Compulsory
ECTS Credits: 6.0 ECTS

Course:
Semester:




Requirements (Subjects that are assumed to be known)
Programming (Course 1 - Semester 1) Automata and Formal Language Theory (Course 2 - Semester 1)
Learning Outcomes
K08: To know the declarative paradigm of programming in general and logic programming in particular, as an alternative to other types of programming. S04: Identify programming paradigms (imperative, generic, object-oriented and functional) evaluating their impact on the performance of algorithms and applications. S06: Apply the theory of grammars, languages and automata in the design of parsers for programming languages and domain-specific languages. C08: Solve mathematical problems arising from new developments in computer science using advanced mathematical tools and techniques.
Description of contents: programme
1.- Introduction to translators. 2.- Lexical analysis. 3.- Syntax analysis. 4.- Syntax error handling. 5.- Semantic analysis. 6.- Type verification. 7.- Intermediate code generation. 8.- Machine code generation. 9.- Symbol table and execution environment. 10.- Code optimization. 11.- Specific aspects.
Learning activities and methodology
THEORETICAL-PRACTICAL CLASSES. [44 hours with 100% classroom instruction, 1.67 ECTS] Knowledge and concepts students must acquire. Student receive course notes and will have basic reference texts to facilitate following the classes and carrying out follow up work. Students partake in exercises to resolve practical problems and participate in workshops and evaluation tests, all geared towards acquiring the necessary capabilities. TUTORING SESSIONS. [4 hours of tutoring with 100% on-site attendance, 0.15 ECTS] Individualized attendance (individual tutoring) or in-group (group tutoring) for students with a teacher. STUDENT INDIVIDUAL WORK OR GROUP WORK [98 hours with 0 % on-site, 3.72 ECTS] WORKSHOPS AND LABORATORY SESSIONS [8 hours with 100% on site, 0.3 ECTS] FINAL EXAM. [4 hours with 100% on site, 0.15 ECTS] Global assessment of knowledge, skills and capacities acquired throughout the course. METHODOLOGIES THEORY CLASS. Classroom presentations by the teacher with IT and audiovisual support in which the subject's main concepts are developed, while providing material and bibliography to complement student learning. PRACTICAL CLASS. Resolution of practical cases and problem, posed by the teacher, and carried out individually or in a group. TUTORING SESSIONS. Individualized attendance (individual tutoring sessions) or in-group (group tutoring sessions) for students with a teacher as tutor. LABORATORY PRACTICAL SESSIONS. Applied/experimental learning/teaching in workshops and laboratories under the tutor's supervision.
Assessment System
  • % end-of-term-examination/test 40
  • % of continuous assessment (assigments, laboratory, practicals...) 60

Calendar of Continuous assessment


Extraordinary call: regulations
Basic Bibliography
  • A. V. Aho and Ravi Sethi and J. D. Ullman. Compilers: Principles, Techniques and Tools. Addison-Wesley . 2007
  • Kenneth C. Louden. Compiler Construction: Principles and Practice . PWS Publishing Company. 1997
  • Torben Ægidius Mogensen. Introduction to Compiler Design. Springer. 2024
Additional Bibliography
  • Dick Grune, Henri E. Bal, Ceriel J.H. Jacobs, Koen G. Langendoen. Modern Compiler Design. John Wiley & Sons. 2000
  • Doug Brown, John Levine, Tony Mason. Lex & Yacc. O'Reilly Media, Inc.. 1995
  • F. J. Sanchis and C. Galán. Compiladores: Teoría y Construcción. Paraninfo. 1986
  • Garrido, Iñesta, Moreno, Pérez. Diseño de Compiladores. Publicaciones Universidad de Alicante. 2002

The course syllabus may change due academic events or other reasons.