School / Prep
ENSEIRB-MATMECA
Internal code
EI7IF203
Description
Presentation of standard techniques and tools for compiling programming languages and for implementation in the [[m:IF204]] project.
Plan
0. Purpose of a compiler, why study compilation 1. Regular expressions and regular languages, a few reminders 2. Algebraic languages, reminders about grammars 3. Syntax analyzers implemented in a tool (Yacc) 4. Semantic analysis: attributed grammars, computation of attributes such as types and code5. Code generation: for a stack machine, for a register machine. Main translation schemes, memory allocation 6. Optimization problems: register allocation, code optimization, etc. 7. Final compilation phases: assembler, linker, loader.
Skills
C2. Level 2C3. Level 2C4. Level 2
Teaching hours
- CMLectures9,33h
- TDTutorial14h
- TIIndividual work18h
Mandatory prerequisites
Regular expressions, based on grammars and a good knowledge of C.
Syllabus
0. Purpose of a compiler, why study compilation 1. Regular expressions and regular languages, a few reminders 2. Algebraic languages, reminders about grammars 3. Syntax analyzers implemented in a tool (Yacc) 4. Semantic analysis: attributed grammars, computation of attributes such as types and code5. Code generation: for a stack machine, for a register machine. Main translation schemes, memory allocation 6. Optimization problems: register allocation, code optimization, etc. 7. Final compilation phases: assembler, linker, loader.
Bibliography
Standard compilation courses and books
Assessment of knowledge
Initial assessment / Main session - Tests
Type of assessment | Type of test | Duration (in minutes) | Number of tests | Test coefficient | Eliminatory mark in the test | Remarks |
---|---|---|---|---|---|---|
Final inspection | Written | 120 | 1 | documents allowed without calculator |
Second chance / Catch-up session - Tests
Type of assessment | Type of test | Duration (in minutes) | Number of tests | Test coefficient | Eliminatory mark in the test | Remarks |
---|---|---|---|---|---|---|
Final test | Written | 120 | 1 | documents allowed without calculator |