Z priameho prepisu obrazkovej gramatiky sa vyraz "-1+3" vyhodnocuje jednoduchsie ako "-4", ale "-1+3" musi byt logicky "2". Obrazkovu gramatiku chapem ako lubovolnu inu bezkontextovu gramatiku - tj pravidla, ktore generuju slova patriace do jazyka. Vyznam slovam dava az semanticky popis jazyka (specifikacia), ktory nikde nenajdes, tazke sa musis spolahnut na zdravy sedliacky rozum, a podla neho vyrazy spravne vyhodnocovat. Napr. kde je napisane, ze 'mod' je asociativny zlava? Z obrazku to nevycitas, ale tak nejako sme si vsetci tipli, ze to tak naozaj bude
.
Btw, upravit gramatiku tak, aby pocitala "-1+3" spravne, nie je tazke - staci si uvedomit, kedy sa musi unarne minus aplikovat a do tohto pravidla vyskyt minuska pridat.
Spoiler alert! Necitaj dalej, ak si chces gramatiku upravit sam bez napovedy.
Hint 1: prvy term moze obsahovat unarne minus
Hint 2: pozri sa do pravidla zoznam_termov a hlavne na jeho nerekurzivnu cast
Hint 3: nerekurzivnou castou myslim generovanie prveho termu