Department of Informatics and Telematics


ΕΠ33 - Compilers

General Information

School: Digital Technology

Department: Informatics and Telematics

Level: Undergraduate

Course Title: Compilers

Course id: ΕΠ33

Type: Core Course 

Semester: 8

Teaching and Examination Language: Greek

Is the course offered in Erasmus: Yes

Course web-page:


Lectures (Theory): 3,0

Lab lectures: 0,0

ECTS credits: 5,0

Learning Outcomes

The objective of this course is to teach students the theoretical foundations as well as the basic practical skills required in order to build compilers for a large number of programming languages.

Students will have the chance of building a large part of a compiler for a simple programming language. 

General Skills

Independent work
Team work
Promoting free, creative and deductive thought

Course Content

1st week (lecture): Introduction to Compilers. Phases of a Compiler
2nd week (lecture): Lexical Analysis
3rd week (lab): Lexical Analyzer for a calculator
4th week (lecture): Syntax Analysis. Top-Down Syntax Analysis
5th week (lecture): Bottom-Up Syntax Analysis
6th week (lab): Syntax Analyzer for a calculator
7th week (lecture): Syntax Directed Translation
8th week (lecture): Semantic Analysis
9th week (lab): Abstract Syntax Trees and Semantic Analysis for a calculator
10th week (lecture): Intermediate Code
11th week (lecture): Runtime Environment
12th week (lecture): Java Virtual Machine
13th week (lab): Generating JVM bytecode for a calculator

Learning and Teaching Methods - Evaluation

Teaching methods: face-to-face

Use of ICT: 

eclass platform, youtube channel

Course Organization



Semester work load



Lab exercises


Individual of group projects


Lab report preparation




Independent Study





Oral Examination (100%)
Students build a full compiler for a simple programming language during the semester, and they are asked to demonstrate their work while answering questions.


- Alfred V. Aho, Monica S. Lam, Ravi Sethi and Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools. 2nd edition. Addison-Wesley, 2007.
- Andrew W. Appel, Modern Compiler Implementation in C. Cambridge University Press, 1998.
- Andrew W. Appel, Modern Compiler Implementation in Java. Cambridge University Press, 1998.
- Κ. Lazos, P. Katsaros, Ζ. Karaiskos. Programming Language Compilers: Theory and Practice. Thessaloniki Publishers. 2004. In Greek.
- N. Papaspirou, E. Skordalakis, Compilers, Symmetria Publishers. In Greek.