Programming Languages

Semestr: Winter

Range: 3+2s


Credits: 6

Programme type: Undefined

Study form:

Course language:


Foundations of compilers. Methods of designing and implementing of lexical analysers, parsers and syntax directed translators. Semantic analysis and attribute grammars. Programming language structures and their implementation. Foundations of nonprocedural programming languages.


Course syllabus:

1. Regular grammars and finite state automata, implementation of FSA
2. Lexical analyzer, design, implementation
3. LL(1) grammars, recursive descent
4. Syntax driven translation, L-attributed grammars
5. Internal form of program, symbol table
6. Procedural programming languages, type checking
7. Structured data types, internal representation
8. Control structures, exception handling
9. Procedures and functions, block structure of programs, memory management
10. Modular structure of programs
11. Features of object oriented programming
12. Functional programming and languages
13. Logic programming and languages
14. Free

Seminar syllabus:

1. Regular grammars and finite state automata
2. Implementation of finite state automata
3. Implementation of lexical analyzer
4. LL(1) grammars
5. Parser driven by recursive descent
6. L-attributed translation driven by recursive descent
7. Translation into internal form
8. Translation into internal form
9. Internal form interpretation
10. Internal representation of structured data types
11. Memory allocation
12. Exception handling
13. Consultations on semestral projects
14. Free


Pratt,T.W., Zelkowitz,M.V.: Programming Languages. Third Edition. Prentice Hall, London, 1999.