Compilers
주별 개요
-
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.
-
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
-