Luca Dan Serbanati
     Compiler Techniques
     Faculty of Engineering in Foreign Languages.
     English Stream. Fourth year. Spring 2020
Email: luca@serbanati.com    URL: Personal website
General Information:


Course: 2h/week
Lab work: 1h/week = 2h/2weeks
Credit points: 4

Laboratory:

Prerequisites:
"Object-oriented Programming" and "Formal Languages and Automata" courses

Grading and workload
Our grade in the course will be earned / calculated as follows:
- Homework 30% and frequency(c/l) 10%
- Final exam 60%
Homeworks will be given roughly every week or two, and will each consist of a small number of exercises. Grades may also be adjusted upward slightly based on regular, positive contributions to class discussions.

Examination Policy
The comprehensive exam consists of a written answer to a quiz and a closed-book, two hours test consisting in designing and implementing some compiler components.

Lecture notes: not available

Textbooks:

1. L. D. Serbanati, Limbaje si compilatoare, Ed. Academiei RSR, 1987.
2. A.V.Aho, M.S. Lam , R.Sethi,J.D.Ullman, Compilers: Principles, Techniques, and Tools, Addison Wesley, Second edition, 2007
3. D. E. Knuth. Semantics of Context-free Languages. Mathematical Systems Theory, 2(2):127-145. Springer-Verlag, 1968. (Corrigenda: Mathematical Systems Theory 5, 1, 1971, 95-96.)


Schedule of Laboratory Topics and Homework
The lab assignments will require knowledge of materials covered by the course lectures.
Here you can find information on your work progress at this course.
Lab.# Week
Homework Topic
Lab. #1, Lab #2
Thu, 27 Feb
9h-11h
Lab. #1 Lab.#2
Formal models in compiling
1. Exercises
2. Exercises
Lab. #3
Thu, 5 Mar
9h-11h
Lab. #3
Lexical Analysis
Exercises
Lab. #4
Thu,12 Mar
online
Lab. #4
Top-down Syntactic Analysis
Exercises
Lab. #5
Thu, 19 Mar
online
Lab. #5
Bottom-up Syntactic Analysis
Exercises
YACC tutorial
Lab. #6
Thu, 26 Mar
online
Lab. #6
Semantic Analysis
Exercises
Lab. #7
Thu,2 April
online
Lab. #7
Type Checking
Intermediate Code Generation
Exercises
Lab. #8
Thu,14 May
online
Lab. #8
Review
Review exercises

Lecture Schedule
Please note:
1.This schedule is subject to change
2. Look closely at this site for changes

Date/Time 
Lesson Topic 
Mon,17 Feb
17h - 20h CJ205
Introduction to compiling.
- The structure of a compiler
- Formal models in compiling
- Programming language as formal languages.
Thu,20 Feb
9h - 13h CJ205
Attribute Grammars
Lexical analysis.
Mon, 24 Feb
17h - 20h CJ205
Parsing
Top-down parsing.
Recursive-descent parser.
Thu, 27 Feb
11h - 13h
CJ205
LL(1) Grammars.
Mon,2 Mar
17h - 20h
CJ205
Bottom-up parsing.
LR Grammars
Thu, 5 Mar
11h - 13h
CJ205
LR parsing with ambiguous grammars.
Mon, 9Mar
17h - 20h
CJ205
Semantic Analysis

Thu, 12 Mar 11h - 13h
online
Syntax Directed Definition
Syntax-Directed Translation
Mon,16 Mar
17h-19h
online
Syntax-Directed Translation
Thu,19 Mar
11h-13h
online
Syntax-Directed Translation
Intermediate Code Generation.
Mon,23 Mar
17h-20h
online
Intermediate Code Generation.
Type Checking.


Examinations
Exam Date Time/Room
21 May
17h
online
Final Examination
Final Results

Visits from 04 January 2005: 376965 Last update: 1 Feb 2020