Compilers WM-I-S2-E4-KOMP
The course provides an introduction to the theory of formal languages, compilers, and their architecture.
Topics covered include Chomsky's hierarchy, finite and push-down automata, grammar, lexical analysis, syntactic analysis, code generation and optimization, error handling and practice with the several techniques for processing languages.
A balance is maintained between providing sufficient theoretical background to enable a clear understanding of the subject and a practical background that both illustrates the concepts and allows for the implementation of simple compilers and language processors. This course covers both the required theory and some elegant compilation techniques that are beneficial to software engineers. The techniques used to implement lexical analyzers can be applied to other areas, such as database languages or information retrieval systems.
(in Polish) Dyscyplina naukowa, do której odnoszą się efekty uczenia się
(in Polish) E-Learning
Term 2026/27_L: (in Polish) E-Learning | Term 2021/22_Z: (in Polish) E-Learning (pełny kurs) z podziałem na grupy |
(in Polish) Grupa przedmiotów ogólnouczenianych
(in Polish) Opis nakładu pracy studenta w ECTS
Subject level
Learning outcome code/codes
Type of subject
Preliminary Requirements
Course coordinators
Term 2026/27_L: | Term 2021/22_Z: |
Learning outcomes
LECTURE AND LABORATORIES
Student
W1 – Describes the architecture of a compiler and the functions of its individual phases (I2_W10);
W2 – Explains formal methods for lexical and syntactic description of programming languages (I2_W10);
W3 – Analyzes and compares code optimization techniques at different compilation levels (I2_W10).
U1 – Implements a recursive parser for a given grammar (I2_U09);
U2 – Designs and implements a syntax-guided compiler for a simple language (I2_U09);
U3 – Integrates lexical analysis, syntactic analysis, and code generation into a coherent compiler pipeline (I2_U09).
Assessment criteria
For all effects, the following assessment criteria are adopted for all forms of verification:
grade 5: fully achieved (no obvious shortcomings)
grade 4.5: achieved almost fully and criteria for awarding a higher grade are not met
grade 4: largely achieved and the criteria for a higher grade are not met
grade 3.5: largely achieved - with a clear majority of positives - and the criteria for granting a higher grade are not met
grade 3: achieved for most of the cases covered by the verification and criteria for a higher grade are not met grade 2: not achieved for most of the cases covered by the verification
Bibliography
"Compilers: Principles, Techniques, and Tools", Alfred V. Aho, Jeffrey Ullman, Monica S. Lam, Ravi Sethi
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: