Faculty of Electronics, Telecommunications and Informatics
11/12 Gabriela Narutowicza Street, 80-233 Gdańsk-Wrzeszcz, Poland
Gdansk University of Technology
Compiler Construction 
Subject name:Compiler Construction
Subject type:basic
Department:Department of Intelligent Interactive Systems
No. of hours:1
Teachers:PhD MEng Mariusz Szwoch
Taught in:
Study level: 1 (BSc)- Informatyka- sem. 5
No. of hours:1
Teachers:PhD MEng Jan Daciuk, PhD MEng Mariusz Szwoch
Taught in:
Study level: 1 (BSc)- Informatyka- sem. 5

Last update

Basic facts




Grades & absences




Attention! Project classes begin on Tuesday 27 September 2011. Please divide yourselves into groups of up to 28 persons while taking into account notes included in the Project section.

Attention! Persons who do not have their registration number listed on the list of grades and absences, or whose registration number is written in italics there, MUST have problems with their status solved as soon as possible as they are not listed as they are not lited among students elligible for attending the classes of the subject. Due to lack of space, those persons cannot attend classes.

Example tasks (about 50% of the total number points) for a test (section numbers from the textbook):
1. Plot a graph of a scanner that implements given functions (sections 1.5.4, 2.1, 2.3)
2. Write a code for a generator of scanners (lexical analyzers) implementing given functions (sections 1.5.4, 2.2.1, 5)
3. Design grammar rules describing given syntax of data (sections 1.2, 1.3, 1.5.5, 3.2)
4. Write a code for a parser generator given a grammar (sections/chapters 1.2, 1.3, 6)

Example theoretical questions (about 50% of the total number points) for a test (chapter numbers fro the book) - definitions, types, features, exaples, etc. for the following issues:
1. Formal languages, XBNF notation, Chomsky's classification, multitape machines (sections 1.1-4)
2. Construction and inner working of compilers, lexical, syntactical and semantical analysis  (sections 1.5, 2.3, 4.1, 4.2)
3. Finite automata, grammars, and regular expressions (sections 2.1, 2.2)
4. Descending and ascending analysis,  LR(0), SLR(1), LR(1) i LALR(1) analyzers (sections 3.1, 3.2, 3.3)
5. Scanner and parser generators (chapters 5 i 6)
6. Code optimisation (section 4.3)
7. Analysis of logical and arithmetic expressions, Generation of assembly code computing a value (section 7.2)

Handouts for the lecture are available at the copy center.

Folie do wykładu z 23 października.

Rules for participation in project classes

Project groups have classes every other week. Group leaders should divide their groups so that the number of persons participating in classes does not exceed 28.

Attention! Persons belonging to a given group have priority in participation in the classes for the group. Other persons (from other project groups or absent on the lists from the deanery) can participate provided there are free computers and given a permission of the teacher.

Project 1 - Instruction

Information about particular exercises

Subject of the exercise
Additional files
Instruction (in Polish)
Lexical analyzer
Instruction for C and Turbo Pascal, Instruction for Ada and Modula (in Polish)

C programming language, Turbo Pascal , Ada, Modula 2,
plik Makefile , opis wyrażeń regularnych

C and Turbo Pascal, Ada and Modula 2 (in Polish)

C programming language , Turbo Pascal , Ada , Modula 2  

Analiza wyrażeń arytmetyczno-logicznych (kalkulator) i generacja kodu dla wyrażeń arytmetycznych. Prosta tablica symboli. Calculator, Construction of finite-state automata from regular expressions using Thompson construction,  Construction of finite-state automata using Yamada-McNaughton-Глушков construction, Instrukcja do tworzenia automatów skończonych z wyrażeń regularnych metodą Champarnaud-Глушков.
Thompson construction., Глушков construction, konstrukcja Champarnaud-Глушков.
4. Walidator XML (oddanie w styczniu 2012) Instrukcja pliki testowe
Analizator semantyczny i generator kodu język C, Pascal, Ada, Modula 2
Język C, Pascal, Ada, Modula 2

Informacja o programach Flex i Bison w systemie Linux

Information about software

Support material
instruction ( also available in info  )
Parser Generator
download software , instruction , input methods
dot (from GraphViz package
man dot

printer friendly
Faculty Office - tel.: +48 58 347 2277, +48 58 347 1784, fax: +48 58 348 6373, e-mail:
Registrar's Office - extramural: +48 58 347 1935, PhD studies: +48 58 348 61 98, stationary I level: +48 58 348 6196, stationary II level: +48 58 348 6281, e-mail:
This site uses cookies. More information: here
Remarks and errors please submit to: Change to small size