Hana Dusíková 2009-2019 (
desatomat@hanicka.net
)
ε
Regulární jazyky
Bezkontextové jazyky
Návod
switch to english
Desátomatu si plně užijete jen se zapnutým javascriptem.
Startovací symbol gramatiky:
zvolte možnost:
tranformovat do LL(1)
tranformovat do inkrementální LL(1)
spočítat množiny First
n
a Follow
n
bez transformace
tranformovat do Chomského normální formy
tranformovat do Greibachové normální formy
použít algoritmus:
odstranění levé nepřímé rekurze
použít rozšířený zápis pravidel
parametry:
zjednodušovat používáním již existujících pravidel
ignorovat First-Follow konflikt u nejednoznačných pravidel
vytvořit Q-gramatiku
tabulka LL(1) automatu s
pop
částí
kód automatu v jazyce:
C++ (namespaces)
compile-time C++ (ctll v2)
compile-time C++17
compile-time C++ (experimental)
C++14 (templates,namespaces,exceptions)
Java
vytvořit rozhodovač
(
ostatní skrýt
)
ignorovat First-Follow konflikt u nejednoznačných pravidel
vytvořit Q-gramatiku
tabulka inkrementálního LL(1) automatu s
compare
částí
kód automatu v jazyce:
C++ interpretovaný rekurzivní sestup
n =
převést do 3-GNF
příklady:
Cvičení z MUNI
Inkrementální matematické výrazy
inkrementální příklad
Jednoduché XML
JSON gramatika
JSON gramatika s tokeny
Numerické operace vč. čísel
Odstranění nepřímé levé rekurze 1
Odstranění nepřímé levé rekurze 3
Převod logického výrazu do postfixu
String
Symbolické numerické operace
Syntakticka gramatika do SWI2
Výpočet FF2
Výpočet First & Follow
Základní numerické operace
Základní numerické operace bez semantiky
Řešení First-First konfliktu rohovou substitucí