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

Ciele predmetu

  1. Cieľom predmetu je poskytnúť študentom základné poznatky z oblasti formálnych jazykov a metód ich špecifikácie, analýzy a spracovania.
  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ých a zásobníkových automatov, ako aj Turingových strojov pri rozpoznávaní vstupu.
  6. Získajú skúsenosti s návrhom, analýzou a rôznymi transformáciami formálnych gramatík.
  7. Postupne sa oboznámia s jednotlivými fázami prekladu, prioritne iniciálnymi fázami lexikálnej a syntaktickej analýzy.
  8. Praktická časť tohto predmetu bude orientovaná na programové riešenie vybraných úloh z prostredia spracovania vstupu, prekladu a generovania kódu.
  9. Ú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.
  • Jazykový procesor - špecifikácia bude včas zverejnená. Vypracovanie zadania podľa požiadaviek. Termín odovzdania je 12. týždni. Za zadanie je možné získať spolu 15 bodov.
  • 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.
  • Aktivity na cvičeniach formou náhodných (vopred neohlásených) testov vedomostí. Počet aktivít a spôsob hodnotenia určí pedagóg zodpovedný za cvičenia. Za aktivitu na cvičení je možné získať spolu 5 bodov.

Vyučujúci

Prednášajúci:

Cvičiaci:

Zdroje

  1. Steingartner W., Novotný S., Gnip P.: Formálne jazyky a automaty: Od teórie k praxi. Elfa 2026.
  2. Ján Kollár, Prekladače. Elfa 2009.
  3. Ľ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.
  4. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1988.
  5. Hartmann, A.C.: A Concurrent Pascal Compiler for Minicomputers. Springer Verlag, 1978.
  6. Hopcroft, J.E., Ullman, J.D.: Formálne jazyky a automaty. Alfa Bratislava, 1978. (Formal languages and their relation to automata, Adisson-Wesley, 1969)
  7. Milner, R.: A theory of type polymorphism in Programming, Journal of Computer and System Science, Vol.17,1978, 348-375.
  8. Schreiner, W., Steingartner W.: The SLANG Semantics-Based Language Generator, https://www.risc.jku.at/research/formal/software/SLANG, 2023.
  9. Wirth, N.: MODULA-2. Institut fuer Informatik, ETH, Zurich, 1980.