Maestría en Ciencias Computacionales

Compilers
Autum 2015

    Professor:               Dr. Rogelio Dávila Pérez

    E-mail:                     rdav90@gmail.com

    Web-Page:              www.rogeliodavila.com


CONTENT
1. Introduction
        1.1. Compilation process
        1.2. Stages of the compilation process
 
2. Lexicographic Analysis
        2.1. Regular Expressions: its application as a formal tool for defining the elements of a language (tokens).
        2.2. Using Finite State Automata (DFA) as a machine that can recognize languages generated by regular grammars.
        2.3. Non Deterministic Finite State Automata (AFN) as a tool to recognize the atoms (tokens) of a programming language.
3. Parsing
        3.1. Relationship with formal language theory
        3.2. Grammars used as a tool to formalize the syntax rules of a language
        3.3. Main aspects of the methodologies Top-Down for Syntactic recognition

        3.4. Main aspects of Bottom-Up methodologies for sintactic recognition

4. Semantic Analysis and Generation of intermediate code.
        4.1. Key elements to consider as part of the semantic analysis of language.
        4.2. Process syntax-directed translation.
        4.3. Considerations for the translation of the main elements of a language.

5. Design of Virtual Machines
        5.1. Design considerations for handling memory maps
        5.2. Interpretation of code inside the virtual machine.

6. Topic Advanced.
        6.1. Design of translators for Script Languages
        6.2. Translators for parallel computation.