| TDDB44 |
Compiler Construction, 6 ECTS credits.
/Kompilatorkonstruktion/
For:
C
COS
CS
D
IT
SOC
Y
|
OBS! |
Overlapping course contents: TDDD16
|
| |
Prel. scheduled
hours: 56
Rec. self-study hours: 104
|
| |
Area of Education: Technology
Main field of studies: Computer Science, Computer Engineering, Information Technology
|
| |
Advancement level
(G1, G2, A): A
|
|
Aim:
After the course the student will be able to:
- apply modern tools for compiler construction
- discuss principles for compiler construction
- discuss how memory is administered during program execution
|
|
Prerequisites: (valid for students admitted to programmes within which the course is offered)
Data Structures and Algorithms and Formal Languages and Automata Theory.
Note: Admission requirements for non-programme students usually also include admission requirements for the programme and threshhold requirements for progression within the programme, or corresponding.
|
|
Supplementary courses:
Compiler optimizations and code generation
|
|
Organisation:
The theory is presented in the lectures. The seminars prepare for the laboratory assignments, where a complete compiler for a small Pascal-like language is implemented.
|
|
Course contents:
Different types of translators such as compilers and preprocessors. Methods for lexical analysis and syntax analysis. Management of declarations. Different types of internal representations. Memory management and run-time organization. Code generation and code optimization, especially with regards to RISC processors. Methods for handling errors. Compiler construction and compiler generation tools. Language design. A complete compiler for a Pascal-like language is constructed during the laboratory sessions. Certain modules of this compiler will be automatically generated using compiler generation tools, whereas other parts will be implemented by hand in C++.
|
|
Course literature:
Aho, A.V., Sethi, R., Ullman, J.D., Compiler Principles, Techniques and Tools, Addison-Wesley, Publ Co 1986. Laboratory material.
|
|
Examination: |
|
Written examination Laboratory work |
3 ECTS 3 ECTS
|
| |
|
The questions in the written exam check how well the student has fulfilled the learning goals of the course. For passing the exam, deficits in fulfilling certain partial goals can be balanced by a better fulfilling of other partial goals.
|
Course language is English.
Department offering the course: IDA.
Director of Studies: Patrick Lambrix
Examiner: Peter Fritzson
Link to the course homepage at the department
Course Syllabus in Swedish
|