Dňa 9. 5. 2023 sa uskutoční druhý test z predmetu AFJ, v čase cvičení, t.j. 15:00 – 17:00 v miestnosti BC-150.
Náplňou testu budú nasledovné okruhy:
1. Lexikálna analýza
2. Syntaktická analýza top-down, LL(1)-parsery
3. Syntaktická analýza bottom-up, LR(0)-parsery
4. SLR(1), LALR(1)-parsery
5. GLR parsing
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.
Dávam do pozornosti š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
Cvičenia + sady príkladov
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í…
Alternatívne je k dispozícii napríklad nasledovná softvérová pomôcka, ktorá tiež dokáže konštruovať LL(1), SLR(1), LALR(1), LR(1) parsery. http://www.supereasyfree.com/software/simulators/compilers/principles-techniques-and-tools/parsing-simulator/parsing-simulator.zip
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/