Course Details for A.Y. 2013/2014
Name:
Linguaggi di Programmazione e Compilatori / Programming Languages and Compilers
Basic information
Credits:
: Laurea in Informatica 6 CFU (b)
Degree(s):
Laurea in Informatica 3° anno curriculum Generale Obbligatorio
Language:
Italian
Course Objectives
The course is an introduction in compiler design and presents the main principles and techniques used during the compilation process, focusing on the analysis phases of a compiler
Course Content
- Formal language basic notions. Introduction to compiling: the analysis-synthesis model, the phases of a compiler, interpreters
- Lexical analysis: tokens-patterns-lexemes, input buffering, Thompson’s algorithm.
- LEX: software architecture and syntax
- Syntax analysis: parsing top-down, parsing bottom-up. Nonrecursive predictive parsing
- LR parsers: methods SLR, LALR, canonical LR
- LR grammars and ambiguous grammars.
- YACC: software architecture and syntax
- Syntax-directed translation. Syntax-directed definitions: synthesized and inherited attributes, S-attributed definitions and L-attributed definitions
- Translation schemes. Semantic analysis and type checking
- Intermediate code generation. Three-address code: syntax and examples of generation
Learning Outcomes (Dublin Descriptors)
On successful completion of this course, the student should
- have knowledge of the structure and the role of compilers, have knowledge and understanding of the principles and techniques used in the compilation process
- apply the methodologies learnt by the course to the development of small software projects regarding the construction of parts of compiler through tools like Lex and Yacc
- assess the features of the lexical and syntactic components of a syntax-directed translation specification and choose the most suitable solution for its development
- understand and explain the relationships between tools and results from the formal language theory and their application to the analysis phases of compilers
- demonstrate capacity for reading and understanding other texts on related topics
Prerequisites and Learning Activities
Knowledge of the basic concepts of the formal language theory and programming
Assessment Methods and Criteria
written examination (midterm + final) on the subjects treated in the course
Textbooks
- A.V. Aho, R. Sethi, J.D. Ullmann, Compilers, principles, techniques and tools , Addison-Wesley, Reading, Mass.
Course page updates
This course page is available (with possible updates) also for the following academic years:
To read the current information on this course, if it is still available, go to the university course catalogue .
Course information last updated on: 25 febbraio 2014, 12:09