| |
Programming Languages and Compilers (X36PJP)
course in Czech language
full-time study course, currently teaching
Number of teaching periods (lectures + seminars): 2+2
Termination: Credit, examination
time table at FEE
Course supporting pages
Summary:
| |
This course offers an overview of general features of programming languages and explanation of basic methods of language implementation. Design and programming of particular parts of compilers are supported by elements of the theory of grammars and automata. Simple programming language is designed and its compiler is written as an example.
|
Course Syllabus:
| |
- Overview of programming languages, programming paradigms
- Structure of a compiler, virtual computer
- Finite state automata and their implementation
- Design and implementation of lexical analyzer
- Context free grammars and pushdown automata
- LL(1) grammars
- Recursive descent
- Translation grammars and automata
- L-attributed translation grammars
- Compiler specified by L-attributed translation grammar
- Specification and implementation of data types
- Specification and implementation of subprograms
- Specification and Implementation of data abstractions
- Machine code generation
|
Seminar syllabus:
| |
- Syntax diagrams, BNF and EBNF
- Semester project specification
- Virtual computer
- Implementation of finite state automata
- Design and implementation of lexical analyzer
- Context free grammars and pushdown automata
- LL(1) grammars
- Recursive descent
- Translation grammars and automata
- L-attributed translation grammars
- Example of a compiler specified by L-attributed translation grammar
- Example of a compiler specified by L-attributed translation grammar
- Subprograms implementation
- Assessment
|
Literature:
| |
- Pratt,T.W., Zelkowitz, M.V.: Programming Languages. Third Edition. Prentice Hall, London, 1999.
- Melichar,B., Holub,J., Muzatko,P.: Languages and Translations. Publishing House of CTU, Praha 1997.
|
Requirements:
| |
For assessment: elaborating a semester work and getting the necessary number of points. For exam: getting the assessment.
|
|














 
|