Compilers WM-I-S2-E1-ZF1
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 generators of language processors.
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 2024/25_L: (in Polish) E-Learning | Term 2022/23_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
Term 2024/25_L: LECTURE
- estimated student workload:
* participation in classes 30 hours
* exam 2 hours
* preparation for the exam, independent reading, 45 hours
total 77 hours, which corresponds to 3 ECTS
LABORATORIES
- estimated student workload:
* participation in classes, consultations 30 hours
* preparation for the exam, independent reading, preparation of projects, preparation for classes, homework 45 hours
total 75 hours, which corresponds to 3 ECTS | Term 2022/23_Z: (in Polish) WYKŁAD
- szacunkowy nakład pracy studenta:
* uczestnictwo w zajęciach 30h
* egzamin 2h,
* przygotowanie do egzaminu, samodzielne lektura, 45h
razem 77h, co odpowiada 3 ECTS
LABORATORIA
- szacunkowy nakład pracy studenta:
* uczestnictwo w zajęciach, konsultacje 30h,
* przygotowanie do egzaminu, samodzielne lektura, przygotowanie projektów, przygotowanie do zajęć, prace domowe 45h
razem 75h, co odpowiada 3 ECTS |
Subject level
Learning outcome code/codes
Type of subject
Preliminary Requirements
Course coordinators
Term 2024/25_L: | Term 2022/23_Z: |
Learning outcomes
On completing this unit, students will be able to:
- list the components of a compiler;
- define token patterns and grammars using formal notation;
- construct a Recursive Descent Parser;
- construct a Syntax Directed Translator; and
- list optimization techniques used by compilers.
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
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: