Předmět | Programovací jazyky a překladače (xPJP) | |||||
---|---|---|---|---|---|---|
Garantuje | Katedra technických studií (KTS) | |||||
Garant | doc. Dr. Ing. Jan Voráček, CSc. ( voracek@vspj.cz ) | |||||
Jazyk | česky | |||||
Počet kreditů | 5 | |||||
Ekvivalent |
Prezenční studium | |
---|---|
Přednáška | 2 h |
Cvičení | 2 h |
Kombinované studium | |
Tutoriál / přednáška | 6 h |
Cvičení | 8 h |
Studijní plán | Typ | Sem. | Kred. | Ukon. |
---|---|---|---|---|
Aplikovaná informatika - kombi, platný od ZS 2015/2016 | P | 6 | 5 kr. | Z,ZK |
Aplikovaná informatika - kombi, platný od ZS 2019/2020 | P | 4 | 5 kr. | Z,ZK |
Aplikovaná informatika - kombi, platný od ZS 2021/2022 | P | 4 | 5 kr. | Z,ZK |
Aplikovaná informatika - platný od ZS 2013/2014 | P | 6 | 5 kr. | Z,ZK |
Aplikovaná informatika - platný od ZS 2019/2020 | P | 4 | 5 kr. | Z,ZK |
Aplikovaná informatika - platný od ZS 2021/2022 | P | 4 | 5 kr. | Z,ZK |
Erasmus - Aplikovaná informatika - příjezd na krátkodobý studijní pobyt | PV | 1 | 5 kr. | Z,ZK |
Předmět obsahuje přehled obecných rysů programovacích jazyků a výklad základních metod jejich implementace. Návrh a programová realizace jednotlivých částí překladače jsou podloženy základní teorií gramatik a automatů. Pro ilustraci metod je zaveden jednoduchý programovací jazyk a navržen a realizován jeho překladač. Dále jsou probrány základní metody implementace datových typů, podprogramů a datových abstrakcí.
Znalosti: Student ovládá základy teorie formálních jazyků a dovede rozlišit mezi různými způsoby jejich formální reprezentace. Pracuje plynně s regulárními výrazy a gramatikami, konečnými a zásobníkovými automaty a bezkontextovými gramatikami. V jejich rámci je schopen realizovat základní způsoby vzájemných konverzí a kanonizací.
Dovednosti: Student je za použití standardních vývojových nástrojů schopen naprogramovat lexikální i syntaktický analyzátor, zahrnout do gramatik sémantická pravidla a generovat výstupní kód v souladu s cílovou specifikací.
Obecné způsobilosti: Student umí účinně formalizovat a následně automatizovat standardní typy interakcí s výpočetní technikou. Své výstupy je schopen dovést do podoby cílově orientovaného překladače nebo obecně interpretovatelného jazyka. Kromě programovacích nebo skriptovacích jazyků, rozšiřujících možnosti libovolných SW produktů, může tímto způsobem automatizovat také procesy vývoje SW, např. formální modelování uživatelských požadavků nebo automatickou verifikaci a testování vyvíjených programových modulů.