Organizácia cvičení a podmienky udelenia zápočtu

Ciele predmetu

  1. Cieľom cvičení je naučiť študentov základy formálnych jazykov a prekladačov.
  2. Predmet má štruktúru cvičenia a prednášky, končí zápočtom a skúškou.
  3. Na cvičeniach je možné získať max. 30b, na skúške 70b. Požadované minimálne hodnotenie: cvičenie 16b., skúška 36b.
  4. Na cvičeniach sú povolené 3 neúčasti. V prípade vyššieho počtu vymeškaných cvičení nie je možné udeliť zápočet.
  5. Na cvičeniach sa študenti oboznámia s konštrukciou konečnostavového automatu a jeho implementáciou pri rozpoznávaní vstupu.
  6. Taktiež sa študenti oboznámia postupne s jednotlivými fázami prekladu: lexikálna analýza, syntaktická analýza, sémantická analýza, zotavenie, generovanie kódu.
  7. Praktická časť tohto predmetu bude orientovaná na programové riešenie vybraných úloh z prostredia spracovania vstupu, prekladu a generovania kódu.
  8. Úspešné absolvovanie cvičení predpokladá vypracovanie funkčného zadania.

Doplňujúce informácie

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.
  • Interpreter/prekladač - špecifikácia bude včas zverejnená. Vypracovanie zadania podľa požiadaviek. Termín odovzdania je 11. týždni. Za zadanie je možné získať spolu 10 bodov.
  • Test A - Písomný test na preverenie nadobudnutých vedomostí. Obsah a tézy budú zverejnené v predstihu na cvičeniach. Zvládnutie testu v 5. týždni. Za test je možné získať spolu 10 bodov.
  • Test B - Moodle test na preverenie nadobudnutých vedomostí. Obsah a tézy budú zverejnené v predstihu na cvičeniach. Zvládnutie testu v 9. týždni. Za test je možné získať spolu 10 bodov.

Vyučujúci

Prednášajúci:

Cvičiaci:

Zdroje

  1. Ján Kollár, Prekladače. Elfa 2009.
  2. Ľubomír Dedera, Počítačové jazyky a ich spracovanie, Akadémia ozbrojených síl generála Milana Rastislava Štefánika, Liptovský Mikuláš, 2014.
  3. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1988.
  4. Hartmann, A.C.: A Concurrent Pascal Compiler for Minicomputers. Springer Verlag, 1978.
  5. Hopcroft, J.E., Ullman, J.D.: Formálne jazyky a automaty. Alfa Bratislava, 1978. (Formal languages and their relation to automata, Adisson-Wesley, 1969)
  6. Milner, R.: A theory of type polymorphism in Programming, Journal of Computer and System Science, Vol.17,1978, 348-375.
  7. Schreiner, W., Steingartner W.: The SLANG Semantics-Based Language Generator, https://www.risc.jku.at/research/formal/software/SLANG, 2023.
  8. Wirth, N.: MODULA-2. Institut fuer Informatik, ETH, Zurich, 1980.