Inhalt

[ 521SYSTCOBV22 ] VL Compiler Construction

Versionsauswahl
(*) Unfortunately this information is not available in english.
Workload Education level Study areas Responsible person Hours per week Coordinating university
3 ECTS B3 - Bachelor's programme 3. year Computer Science Hanspeter Mössenböck 2 hpw Johannes Kepler University Linz
Detailed information
Original study plan Bachelor's programme Computer Science 2025W
Learning Outcomes
Competences
Students understand the structure and functionality of compilers. They can apply common compiler construction techniques and are able to implement a simple compiler. They can transfer compiler construction skills to general software engineering problems, e.g., by using attributed grammars for general translation processes.
Skills Knowledge
Students are able to

  • describe syntactically structured data streams using (attributed) grammars (K6)
  • transform grammars to eliminate LL(1) conflicts and left recursion (K6)
  • develop a scanner for a set of terminal symbols given as a regular grammar (K6)
  • develop a recursive descent parser with error handling for a language given as a context-free grammar (K6)
  • create LALR(1) parser tables for a language given as a BNF grammar (K6)
  • manage names, types and scopes of a program in a symbol table (K6)
  • generate code for a stack machine from a Java-like source program (K6)
  • explain the main features of virtual machines and their differences to physical machines (K2, K5)
  • use a compiler generator (e.g. Coco/R) to generate the core parts of a compiler from a compiler description (K6)
  • Foundations of formal languages (regular and context-free grammars, BNF, EBNF, deterministic finite automata, stack machines)
  • Lexical analysis
  • Syntax analysis (recursive descent parsing, LR(1), LALR(1))
  • Attributed grammars
  • Symbol table management
  • Code generation
  • Virtual machines
  • Compiler generators
Criteria for evaluation Written exam at the end of the semester.
Methods Slide presentations as well as examples on the backboard.
Language German
Study material See http://ssw.jku.at/Teaching/Lectures/CB/VL/
Changing subject? No
Further information This lecture and the corresponding lab form an inseparable didactic unit. The learning outcomes described here are achieved through the interaction of the two courses.

For further information see http://ssw.jku.at/Teaching/Lectures/CB/VL/

Corresponding lecture (*)INBVBVOUEBB: VO Übersetzerbau (3 ECTS)
Earlier variants They also cover the requirements of the curriculum (from - to)
INBIPVOUEBB: VO Compiler Construction (2007W-2022S)
On-site course
Maximum number of participants -
Assignment procedure Direct assignment