Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2018/2019

Programming Languages and Compilers

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BIE-PJP Z,ZK 5 2P+1C
Přednášející:
Radomír Polách, Jan Trávníček
Cvičící:
Radomír Polách, Jan Trávníček
Předmět zajišťuje:
katedra teoretické informatiky
Anotace:

Students master basic methods of implementation of common high-level programming languages. They get experience with the design and implementation of individual compiler parts for a simple programming language: data types, subroutines, and data abstractions. Students are able to formally specify a translation of a text that has a certain syntax into a target form and write a compiler based on such a specification. The notion of compiler in this context is not limited to compilers of programming languages, but extends to all other programs for parsing and processing text in a language defined by a LL(1) grammar.

Požadavky:

Knowledge of algorithmics, programming in a high-level language, grammars.

Osnova přednášek:

1. Overview of programming languages, programming paradigms. Compiler structure, virtual machine.

2. Design and implementation of a lexer (lexical analyser).

3. LL(1) grammars, context-free to LL(1) transformation.

4. Implementation of syntax parsing by recursive descent.

5. Translation grammars, pushdown translation automata.

6. Attribute translation grammars.

7. Internal forms of programs, compiling and evaluating expressions.

8. Compiling to a language of a stack machine.

9. Compiling to a syntax tree.

10. Specification and implementation of data types.

11. Compiling typical language constructs.

12. Specification and implementation of subroutines.

13. Specification and implementation of data abstractions.

Osnova cvičení:

1. Lexer design and implementation.

2. Parser implementation using recursive descent.

3. Attribute translation grammars.

4. Compiling to a language of a stack machine.

5. Compiling to a syntax tree.

6. [2] Project consultations.

Cíle studia:

The module contains an overview of generic aspects of programming languages and explanation of basic methods of their implementation. Design and program realization are supported with the basic theory of grammars and automatons. For illustration purposes, a simple programming language is defined and its compiler is designed and implemented. There are also explained basic methods of implementation of data types, subroutines and data abstrations.

Studijní materiály:

1. Grune, D., Bal, H., Jacobs, C., Langendoen, K. ''Modern Compiler Design''. Wiley, 2000. ISBN 0471976970.

Poznámka:

Rozsah=prednasky+proseminare+cviceni2p+1c

Rozvrh na zimní semestr 2018/2019:
Rozvrh není připraven
Rozvrh na letní semestr 2018/2019:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
místnost T9:347
Polách R.
12:45–14:15
(přednášková par. 1)
Dejvice
NBFIT učebna
místnost T9:347
Polách R.
14:30–16:00
LICHÝ TÝDEN

(přednášková par. 1
paralelka 101)

Dejvice
NBFIT učebna
Út
St
Čt

Předmět je součástí následujících studijních plánů:
Platnost dat k 17. 7. 2019
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet1447806.html