Compilers
Section outline
-
COMPILERS
Obligations:
By the end of the course, a student must accomplish the following:
- Master the syllabus presented during lectures and laboratory practice.
- Successfully solve the homework assignments (and collect at least 50 out of 100 points).
- Successfully solve the exam (and collect at least 50 out of 100 points).
Homework assignments:
Homework assignments are given during lectures and discussed during laboratory practice. The deadlines for submission of solutions are strict; late submissions are neither checked nor graded. Students assignments are graded during laboratory practice in the students' presence; if a student is not present, the grade is not explained, and no appeal can be made about the grade.
Exam:
The exam at the end of the course takes place in the laboratory, hands-on, and lasts 90 minutes. Each student must solve three exercises that require modifications of their homework assignment solutions. No external literature is allowed. At the end, the solutions to the exercises are checked in the student's presence. Students are required to comment on their solutions and may also be asked general questions about compilers.
Grade:
The final grade is based on the average of points collected from homework assignments and the exam, as well as on comments and answers given during the oral part of the exam.
Textbooks:
- Andrew W. Appel, Jens Palsberg. Modern Compiler Implementation in Java, 2nd Edition, Cambridge University Press, 2002.
- Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools (2nd Edition), Addison-Wesley, 2007.
- John R. Levine: Linkers & Loaders, Morgan Kaufmann Publishers, 2000.
... and finally: I'm sorry for my imperfect English.
-
Uploaded 18/04/24, 20:27
-
INTRODUCTION & LEXICAL ANALYSIS
-
Uploaded 22/02/24, 09:55
-
SYNTAX ANALYSIS
-
Uploaded 27/02/24, 20:57
-
ABSTRACT SYNTAX
-
Uploaded 5/03/24, 21:33
-
SEMANTIC ANALYSIS
-
Uploaded 13/03/24, 08:38
-
SEMANTIC ANALYSIS
-
Uploaded 20/03/24, 22:39
-
MEMORY LAYOUT
-
Uploaded 27/03/24, 17:54
-
INTERMEDIATE CODE GENERATION
-
Uploaded 9/04/24, 21:20
-
BASIC BLOCKS AND TRACES
-
Uploaded 18/04/24, 20:22
-
INSTRUCTION SELECTION
-
Uploaded 24/04/24, 16:37
-
LIVENESS ANALYSIS
-
Uploaded 6/05/24, 13:59
-
REGISTER ALLOCATION
-
Uploaded 10/05/24, 18:45
-
PUTTING IT ALL TOGETHER