Programovací jazyky a překladače

Studijní plán:

PředmětProgramovací jazyky a překladače (xPJP)
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 - 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

Sylabus

  • Přehled programovacích jazyků, programovací paradigmata
  • Struktura překladače, virtuální stroj
  • 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

  • BENEŠ, M. Překladače. Vzniklo na FEI VŠB-TU Ostrava a FE VUT Brno, pro výukové účely na VŠPJ využíváno s osobním svolením autora.
  • 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. 1. vyd. Praha: ČVUT, 2005, 219 s. ISBN 80-01-02458-X.
  • 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