Module Handbook

  • Dynamischer Default-Fachbereich geändert auf INF

Module INF-32-55-M-5

Compiler and Language Processing Tools (M, 8.0 LP)

Module Identification

Module Number Module Name CP (Effort)
INF-32-55-M-5 Compiler and Language Processing Tools 8.0 CP (240 h)

Basedata

CP, Effort 8.0 CP = 240 h
Position of the semester 1 Sem. in WiSe
Level [5] Master (Entry Level)
Language [EN] English
Module Manager
Lecturers
Area of study [INF-SE] Software-Engineering
Reference course of study [INF-88.79-SG] M.Sc. Computer Science
Livecycle-State [NORM] Active

Courses

Type/SWS Course Number Title Choice in
Module-Part
Presence-Time /
Self-Study
SL SL is
required for exa.
PL CP Sem.
3V+3U INF-32-55-K-5
Compiler and Language Processing Tools
P 84 h 156 h
U-Schein
ja PL1 8.0 WiSe
  • About [INF-32-55-K-5]: Title: "Compiler and Language Processing Tools"; Presence-Time: 84 h; Self-Study: 156 h
  • About [INF-32-55-K-5]: The study achievement "[U-Schein] proof of successful participation in the exercise classes (ungraded)" must be obtained.
    • It is a prerequisite for the examination for PL1.

Examination achievement PL1

  • Form of examination: written or oral examination
  • Examination number: 63255 ("Compiler and Language Processing Tools")
    Type of examination will be announced in the lecture. Duration of the examination: ref. examination regulations.

Evaluation of grades

The grade of the module examination is also the module grade.


Contents

  • Syntax analysis: specification of the syntax for formal languages
  • Lexical analysis: scanning, scanner generation, use of scanner generators
  • Context-free analysis: parsing, parser generation, application of parser generators
  • Translation techniques for procedural and object-oriented languages
  • Intermediate languages
  • Semantic analysis and optimization techniques
  • Translation into machine-oriented languages (register allocation, code generation)
  • Automatic memory management

Competencies / intended learning achievements

Upon successful completion of the module, students will be able to
  • explain methods and concepts of the design and implementation of compilers and language processing tools (e.g. programming environments)
  • derive the special features of higher-level programming languages and machine-oriented languages,
  • translate program code for selected constructs from higher-level programming languages into machine language,
  • discuss different representations of the code to be translated,
  • describe and implement basic procedures for code optimization,
  • discuss the advantages and disadvantages of optimizations within a compiler based on the level of abstraction.

Literature

  • Andrew W. Appel, Jens Palsberg: Modern Compiler Implementation in Java, 2nd edition. Cambridge University Press 2002, ISBN 0-521-82060-X.
  • Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Principles, Techniques, and Tools. Addison-Wesley series in computer science / World student series edition, Addison-Wesley1986, ISBN 0-201-10088-6, pp. I-X, 1-796.

Requirements for attendance of the module (informal)

None

Requirements for attendance of the module (formal)

None

References to Module / Module Number [INF-32-55-M-5]

Course of Study Section Choice/Obligation
[INF-88.79-SG] M.Sc. Computer Science [Specialisation] Specialization 1 [WP] Compulsory Elective
Module-Pool Name
[INF-SE_Ba_V-MPOOL-4] Specialization Bachelor TA Software Engineering