Compilers
Code | 3.4.3186.8 |
---|---|
Semester | 8th |
Flow | L - Computer Software |
Category | Obligatory by selection |
Credits | 4 |
Class Hours - Lab Hours | 2 - 2 |
Lecturers | Kostis Sagonas |
Links | Helios, Course's Website |
Web Platform |
Class 1:
Microsoft Teams
|
Description
Introduction: compilers and related tools, compilation phases, organization of a compiler. Formal languages: notations, automata, grammars. Scanning: tokens, design of the scanner. Parsing: design of a bottom-up and top-down parser. Symbol tables. Semantic analysis: type systems and checking. Intermediate code generation: forms of intermediate code, syntax directed translation. Final code generation: the target machine, memory management and activation records, simple final code generation, instruction selection, register allocation. Code optimization. Tools for automatic compiler generation: lex/flex, yacc/bison, meta-compilers. Lab: design and implementation of a compiler for a hypothetical programming language.