Tu budú pribúdať aktuálne pálčivé oznamy
V prípade dištančnej formy výuky budú prednášky a cvičenia prebiehať formou videokonferenčných hovorov na platforme MS Teams. Je preto potrebné, aby ste mali vytvorené študentské kontá. Informácie o vytvorení konta nájdete na príslušnej stránke univerzity.
Po vytvorení konta je možné sa prihlásiť do tímu „Automaty a formálne jazyky LS 2021/2022“ na platforme MS Teams dvomi spôsobmi:
Videozáznam z každej prednášky / cvičenia bude zverejnený na YouTubovom kanáli prednášajúceho. Upozorňujem teda, že každá prednáška/cvičenie bude zaznamená. Ak s tým niekto nesúhlasí, prosím napíšte mi.
Konzultačné hodiny po dohode mailom
Študentstvo absolvuje:
To znamená, že počas semestra môže študentstvo získať súhrnne 40 bodov. Na pustenie ku skúške (po starom „získanie zápočtu“) je potrebné z týchto 40 bodov získať minimálne 20 bodov.
Študentstvo, ktoré bude pripustené ku skúške (t.j. získa z testov súhrnne minimálne 20 bodov) následne absolvuje skúšku z predmetu, ktorá je ohodnotená 60 bodmi. Výsledná známka z predmetu je tvorená na základe súčtu bodov získaných na skúške a zo spomínaných testov. Jej výsledná hodnota je určená podľa platnej klasifikačnej stupnice STU.
Upozorňujem, že v zmysle platného študijného poriadku FEI STU je účasť na všetkých formách výuky na FEI STU povinná. Preto môže byť z dôvodu sledovania účasti na prednáškach/cvičeniach robená „prezenčka“.
Taktiež upozorňujem na platný študijný poriadok STU, konkrétne, čl. 13, odsek (3):
(3) Preukázaná nečestnosť študenta/študentky pri hodnotení študijných výsledkov (zistenie opisovania, použitie nedovolených pomôcok a iných praktík, plagiátorstvo a pod.) má za následok hodnotenie klasifikačným stupňom FX – nedostatočne (čl. 16 tohto študijného poriadku). Takéto konanie je porušenie zásad študijnej morálky a môže byť predmetom disciplinárneho konania.
Cieľom predmetu AFJ je, aby študentstvo získalo rozšírené znalosti ohľadom formálnych jazykov, konečných automatov, zásobníkových automatov a ich využitia pri tvorbe kompilátorov a prekladu programu do strojového jazyka. Rozšíriť ich znalosti z oblasti teoretickej informatiky. Dosiahnuť, aby študentstvo bolo schopné samostatne študovať práce využívajúce základné poznatky z teoretickej informatiky, aby rozumelo lexikálnej, syntaktickej a sémantickej analýze programu v počítači.
Prednášky
Prednáška č. 1. Úvodné pojmy, gramatiky.
Prednášky č. 2 + 3. Konečné automaty. DKA/DKA a ich konverzia.
Prednáška č. 4. Regulárne výrazy, konverzia Regex -> NKA.
Prednáška č. 5. Bezkontextové gramatiky, derivačné stromy, redukovaná gramatika.
Prednáška č. 6 + 7. Množiny FIRST, FOLLOW; Zásobníkové automaty.
Prednáška č. 8. Lexikálny analyzátor.
Prednáška č. 9. Syntaktická analýza top-down, LL(1)-analyzátor.
Prednáška č. 10 + 11. Syntaktická analýza bottom-up, LR(0)-analyzátor, SLR(1)-analyzátor.
Cvičenia + sady príkladov
Cvičenie č. 1. Úvodné pojmy, gramatiky.
Doplnkové príklady k cvičeniu č. 1.
Cvičenia č. 2 + 3. Konečné automaty, DKA/NKA a ich konverzia.
Doplnkové príklady k cvičeniam č. 2 a č. 3.
Cvičenie č. 4. Regulárne výrazy, konverzia Regex -> NKA, ďalšie príklady na regulárne jazyky.
Doplnkové príklady k cvičeniu č. 4.
Cvičenie č. 5. Derivačné stromy, redukcia gramatiky.
Doplnkové príklady k cvičeniu č. 5.
Cvičenie č. 6 + 7. Množiny FIRST, FOLLOW; Zásobníkové automaty.
Doplnkové príklady k cvičeniu č. 6 a č. 7.
Cvičenie č. 8. Lexikálny analyzátor, FLEX.
Cvičenie č. 9. LL(1)-analyzátor.
Doplnkové príklady k cvičeniu č. 9.
Cvičenie č. 10 + 11. LR(0)-analyzátor.
Doplnkové príklady k cvičeniu č. 10., č. 11.
Na stránke Laboratória programovacích jazykov Katedry počitačových vied Univerzity v Calgary sa nachádza výborný softvérový nástroj pre syntaktickú analýzu gramatík. http://smlweb.cpsc.ucalgary.ca/start.html
Na stránke si viete dať zostrojiť príslušné LL/LR analyzátory pre ľubovoľné gramatiky.
Odporúčam taktiež podstránku http://smlweb.cpsc.ucalgary.ca/example-grammars/ kde sú ukážky rôznych gramatík, aj vzhľadom na ich príslušnosť/nepríslušnosť do LL(1)/LR(0)/SLR(1)/LALR(1)/LR(1)/LL(2)/LR(2) kombinácií…
Pri samoštúdiu a príprave na predmet AFJ odporúčam pracovať s programom JFLAP vo verzii 7.1 ktorý je možné stiahnuť z tejto stránky: https://www.jflap.org/jflaptmp/
Autori programu zároveň zverejnili zdarma doplnkovú knihu k programu, ktorá sa dá zároveň použiť aj ako študijný materiál k predmetu AFJ: https://www2.cs.duke.edu/csed/jflap/jflapbook/