TDDD55 |
Compilers and Interpreters, 4 ECTS credits.
/Kompilatorer och interpretatorer/
For:
D
DI
I
Ii
IP
IT
|
OBS! |
Overlapping course contents: TDDB44
|
|
Prel. scheduled
hours: 32
Rec. self-study hours: 75
|
|
Area of Education: Technology
Main field of studies: Computer Engineering, Information Technology
|
|
Advancement level
(G1, G2, A): G2
|
|
Aim:
The aim of this course is to give a basic introduction to the theoretical and practical issues underlying the design and implementation of compilers. After the completion of the course you should be able to:
- explain and apply fundamental principles and techniques of compiler design
- explain and use methods for lexical analysis, top-down and bottom-up parsing
- explain and use methods for basic semantic analysis and syntax-directed translation
- construct and implement a top-down parser for a given context-free grammar,
- use a generator to build a lexical analyzer, apply a parser generator, and
- implement simple intermediate code generation from abstract syntax trees
|
|
Prerequisites: (valid for students admitted to programmes within which the course is offered)
Participants are expected to have knowledge of: a procedural programming language such as Pascal, internal data structures such as arrays and lists, and theory and implementation of abstract data types.
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 during the lectures. The laboratory assignments consists of building compiler components such as syntactical and lexical analysers.
|
|
Course contents:
Different types of translators such as compilers and preprocessors. Grammars and formal languages. Lexical and syntax analysis. Intermediate code generation. The course also gives a brief introduction to: Memory management and run-time organization. Code generation and code optimization. Basic usage of compiler construction tools. Criteria for language design. The labs contain exercises in hand-implementation and usage of tools for construction of smaller parts of a compiler, such as lexer, parser, generation of intermediate code.
|
|
Course literature:
Aho, A.V., Sethi, R., Ullman, J.D., Compiler Principles, Techniques and Tools, Addison-Wesley, Publ Co 2006
|
|
Examination: |
|
Written examination Laboratory work |
2 ECTS 2 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: Ahmed Rezine
Examiner: Peter Fritzson
Course Syllabus in Swedish
|