Study Guide@lith
 

Linköping Institute of Technology

 
 
Valid for year : 2017
 
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

Linköping Institute of Technology

 


Contact: TFK , val@tfk.liu.se
Last updated: 06/25/2014