Compilers
Календарный план
-
COMPILERS
Obligations:
At the end of this course, a student must
- 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 the laboratory practice. The deadlines for submission of solutions are strict, late submissions are neither checked nor graded. Student's assignments are graded during laboratory practice in the student's 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. It takes 90 minutes. Each student must solve 3 exercises that require modifications of his or hers solutions to homework assignments. Literature is not allowed.
At the end, the solutions to the 3 exercises are checked in the student's presence. The student is required to comment the solutions and may expect some general questions regarding compilers as well.Grade:
The final grade is based on the average of points collected at the homework assignments and 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.
-
INTRODUCTION & LEXICAL ANALYSIS
-
SYNTAX ANALYSIS
-
ABSTRACT SYNTAX
-
SEMANTIC ANALYSIS
-
SEMANTIC ANALYSIS
-
MEMORY LAYOUT
-
INTERMEDIATE CODE GENERATION
-
BASIC BLOCKS AND TRACES
-
INSTRUCTION SELECTION
-
-
LIVENESS ANALYSIS
-
REGISTER ALLOCATION
-
-
PUTTING IT ALL TOGETHER
-