Programovací jazyky a překladače

Studijní plán: Aplikovaná informatika - platný pro studenty, kteří započali studium od ZS 2019/2020

PředmětProgramovací jazyky a překladače (xPJP-1)
GarantujeKatedra technických studií (KTS)
Garantdoc. Dr. Ing. Jan Voráček, CSc. ( voracek@vspj.cz )
JazykČesky
Počet kreditů5
Ekvivalent
Prezenční studium
Přednáška2 h
Cvičení2 h
Kombinované studium
Tutoriál / přednáška6 h
Cvičení8 h
Studijní plán Typ Sem. Kred. Ukon.
Aplikovaná informatika - kombinovaná forma, platný pro studenty, kteří započali studium od ZS 2015/2016 P 6 5 kr. Z,ZK
Aplikovaná informatika - kombinovaná forma, platný pro studenty, kteří započali studium od ZS 2019/2020 P 4 5 kr. Z,ZK
Aplikovaná informatika - platný pro studenty, kteří započali studium od ZS 2013/2014 P 6 5 kr. Z,ZK
Aplikovaná informatika - platný pro studenty, kteří započali studium od ZS 2019/2020 P 4 5 kr. Z,ZK

Sylabus

  • Přehled programovacích jazyků, programovací paradigmata
  • Struktura překladače, virtuální počítač
  • Konečné automaty a jejich programová realizace
  • Návrh a realizace lexikálního analyzátoru
  • Bezkontextové gramatiky a zásobníkové automaty
  • LL(1) gramatiky
  • Realizace syntaktické analýzy rekurzívním sestupem
  • Překladové gramatiky a automaty
  • L-atributové překladové gramatiky
  • Překladač specifikovaný L-atributovou překladovou gramatikou
  • Specifikace a implementace datových typů
  • Specifikace a implementace podprogramů
  • Specifikace a implementace datových abstrakcí
  • Generování strojového kódu

Doporučená literatura

  • MOGENSEN, T. AE. Basics of Compiler Design Anniversary edition. 3. vyd. University of Copenhagen: lulu.com, 2010, 307 s. ISBN 978-87-993154-0-6.
  • Müller K,: Programovací jazyky. Vydavatelství ČVUT, Praha 2001
  • NEŠVERA, Š. Programovací jazyky. Cvičení. 1. vyd. Praha: ČVUT, 2005, 114 s. ISBN 80-01-02522-5.
  • AHO, A. V., LAM, M. S., SETHI, R., ULLMAN, J. D. Compilers: Principles, Techniques, and Tools. 2. vyd. Cloth: Prentice Hall, 2006, 1000 s. ISBN 03 21-48681-1.

Anotace

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ů.

^ nahoru ^

Pracuji, vyčkejte prosím