Programovací jazyky a překladače

Studijní plán: Aplikovaná informatika - kombi, platný od ZS 2024/2025

PředmětProgramovací jazyky a překladače (PJP)
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 2024/2025 P 4 5 kr. Z,ZK
Aplikovaná informatika - platný od ZS 2024/2025 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 typu (LALR(1) a jim odpovídající automaty.. 
  • Specifikace a implementace datových typů a podprogramů. Struktura programu za běhu. Tabulka symbolů. 
  • Generování a optimalizace cílového kódu. 

Doporučená literatura

  • Studijní opora v LMS Moodle.
  • BENEŠ, Miroslav. Překladače. 1. vyd., 13. revize. Ostrava: FEI VŠB-TU, Brno: FE VUT, Jihlava: VŠP Jihlava, 2024. ISBN nemá.
  • MOGENSEN, Torben Æ. Basics of Compiler Design. Anniversary edition. 3. vyd.. University of Copenhagen: lulu.com, 2010. ISBN 978-87-993154-0-6.
  • MÜLLER, Karel. Programovací jazyky. Praha: Vydavatelství ČVUT, 2002. ISBN 80-01-02458-x.
  • NEŠVERA, Šimon. Programovací jazyk: cvičení. Praha: Vydavatelství ČVUT, 2002. ISBN 80-01-02522-5.
  • AHO, Alfred V., LAM, Monica S., SETHI, Ravi and ULLMAN, Jeffrey D. Compilers: principles, techniques, & tools. 2nd ed. Boston: Pearson/Addison Wesley, 2007. ISBN 0321486811.

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