Course Details
Course Code (English)
*
Semester
*
Title (English)
*
Lecture Hours (Weekly)
ECTS Credits
*
Course Type (English)
Prerequisites (English)
- Programming - Object-oriented Programming - Data Structures - Computer architecture
Course URL (e.g., on e-class)
Learning Outcomes (English)
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 Competencies (English)
Independent work Team work Promoting free, creative and deductive thought
Course Content (English)
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
Use of ICT (English)
- Dissemination and organization of course material using e-class
Is it elective?
Άγνωστο
Ναι
Όχι
Load within semester (Hours)
Lecture Hours
Lab Hours
Independent Study
*
Project Work
*
Lab Report
*