Compilers


Teaching Staff: Stefanidakis Michael
Code: HY340
Course Type: Elective Course
Course Level: Undergraduate
Course Language: Greek
Semester: 6th
ECTS: 5
Teaching Units: 3
Lecture Hours: 2
Lab/Tutorial Hours: 2L
Total Hours: 4
E Class Page: https://opencourses.ionio.gr/courses/DDI154/
Curricula: Revamped Curriculum in Informatics from 2025
Short Description:

"Compilers" utilize knowledge from different fields of computer science: algorithms, programming languages, and computer architecture. The purpose is the complex transformation of text into a different format, e.g., from a high-level language to machine instructions. Today, in the era of AI and heterogeneous computing units, new special-purpose programming languages are required, and the construction of compilers is more relevant than ever. However, compilation to machine code is not the only purpose: compiler techniques are now used for the efficient extraction and processing of all kinds of information from large datasets.

Objectives - Learning Outcomes:

Upon successful completion of the "Compilers" course, undergraduate students will be able to:

  • Understand the process of source code conversion and the connection between hardware and software.

  • Autonomously follow further developments in the field of compilers and Domain-Specific Languages (DSLs).

  • Design and implement programs for pattern searching and data extraction in very large text files.

  • Select the appropriate parsing tool for the non-trivial transformation of structured textual information into machine-readable data.

Syllabus:

1st week:
Introduction to the Python programming language (for labs).

2nd week:
Introduction to the various stages of compilation.

3rd week:
Lexical Analysis: Introduction and ad-hoc scanning.

4th week:
Laboratory exercises: Lexical analysis using finite state automata.

5th week:
Regular expressions.

6th week:
Laboratory exercises with regular expressions.

7th week:
Lexical analysis with automatic DFA construction tools.

8th week:
Laboratory exercises on lexical analysis tools.

9th week:
Syntactic Analysis.

10th week:
Top-down parsing: Introduction - basic concepts.

11th week:
Laboratory exercises in top-down syntactic analysis.

12th week:
Parsing Expression Grammars (PEGs).

13th week:
Optimizations and final code generation.


Back
<< <
October 2025
> >>
Mo Tu We Th Fr Sa Su
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Today, Monday 13-10-2025
No results found for that day
Text To SpeechText To Speech Text ReadabilityText Readability Color ContrastColor Contrast
Accessibility Options