Ciele predmetu
- Cieľom cvičení je naučiť študentov základy formálnych jazykov a prekladačov.
- Prvé dve cvičenia sa budú zaoberať teoretickými základmi potrebnými pre zvládnutie predmetu: regulárne výrazy, konečno-stavové automaty a princípy prekladačov.
- Na ďalších cvičeniach sa študenti postupne oboznámia s jednotlivými fázami prekladu: lexikálna analýza, syntaktická analýza, sémantická analýza, zotavenie, preklad.
- Popri tom zabŕdneme aj do syntaxou riadenej interpretácie.
- Praktická časť tohto predmetu bude reprezentovať vytvorenie prekladača z jazka aritmetických výrazov do jazyka virtuálneho stroja Computron VM (jazyk podobný Assembleru)
-
Na každom cvičení cvičiaci uvedie študentov do problematiky a tí následne riešia jednoduché úlohy s pomocou týchto materiálov. Svoje návrhy, riešenia a nejasnosti konzultujú s cvičiacim. Po vyriešení všetkých úloh študenti pokračujú v práci na svojich zadaniach. V tom im pomáhajú doplňujúce úlohy uvedené na konci každého cvičenia.
Podmienky pre získanie zápočtu
- Ani jedna neospravedlnená neúčasť.
- Maximálne 3 ospravedlnené neúčasti - spôsob náhrady určí cvičiaci.
- Získanie aspoň 16 z 30 možných bodov za cvičenia.
- Test (Konštrukcia konečnostavového automatu pre regulárny výraz). Zvládnutie testu v 4. týždni. Za test je možné získať spolu 10 bodov.
- Zadanie (prekladač jednoduchého programovacieho jazyka do počítača Computron). Vypracovanie zadania podľa požiadaviek. Termín odovzdania je 11. týždni. Za zadanie je možné získať spolu 20 bodov.
Vyučujúci
Prednášajúci:
Cvičiaci:
- Ing. William Steingartner, PhD., kontakt
- Ing. Slavomír Šimoňák, PhD., kontakt
- Ing. Michal Sičák, kontakt
- Ing. Ján Perháč, kontakt
- Ing. Martin Štancel, kontakt
Prednášky:
Zdroje
- Ján Kollár, Prekladače. Elfa 2009.
- Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1988.
- Hartmann, A.C.: A Concurrent Pascal Compiler for Minicomputers. Springer Verlag, 1978.
- Hopcroft, J.E., Ullman, J.D.: Formálne jazyky a automaty. Alfa Bratislava, 1978. (Formal languages and their relation to automata, Adisson-Wesley, 1969)
- Milner, R.: A theory of type polymorphism in Programming, Journal of Computer and System Science, Vol.17,1978, 348-375.
- Wirth, N.: MODULA-2. Institut fuer Informatik, ETH, Zurich, 1980.