V některých případech, kdy gramatika není LL1, jsme schopni tuto gramatiku zmodifikovat takovým způsobem, aby LL1 byla.

Eliminace levé rekurze

Pokud obsahuje gramatika pravidlo ve tvaru A => Ab, pak se vždy jedná o gramatiku, která není LL1. Tuto vadu na kráse lze však poměrně jenoduše vyřešit.

Mějme tedy pravidlo

A => Ab1 | Ab2 | Ab3 | c1 | c2

Tato pravidla transformujme na

A => c1A' | c2A'
A' => b1A' | b2A' | b3A' | ε

Pokud se podíváme na původní pravidlo, tak vidíme, že řetězec generovaný touto gramatikou bude vždy začínat terminálem „c1“ nebo „c2“ a za ním budou následovat terminály „b1“, „b2“ nebo „b3“. Přesně toho dosáhneme, pokud řekneme, že A přepíšeme na „c1“ nebo „c2“ a zbytek, kde zbytek (A') je buď prázdný řetězec, nebo „b1“, „b2“, „b3“ a opět zbytek (pro změnu pravá rekurze, ale ta nám nevadí).


Příklad

A => Ab | B
B => c

Řešení:
A => BA'
A' => bA'
A' => ε
B => c

Levá faktorizace

Dalším neduhem, který může naši gramatiku postihnout je kolize FIRST-FIRST způsobená stejným počátečním znakem na pravé straně (A => aB | aC). Zde je řešení ještě snazší. Stačí nám pokud všechny symboly, které nejsou první, vyčleníme pod vlastní neterminál.


Příklad

A => aB | aC | aD | ae

Transformujeme na:
A => aA'
A' => B | C | D | e

Rohová substituce

Občas se nám stane, že nelze udělat faktorizaci přímo, protože problém vede skrz další neterminál, pak není nic snazšího, než tento neterminál substituovat za jeho pravou stranu (všechny výskyty neterminálu X nahradit všemi jeho pravými stranami (často vznikne velké množství nových pravidel)).


Příklad

A => CB | aD
B => Ce
C => a | b
D => e

Řešení:
A => aB | bB | aD
B => Ce
D => e

Nyní můžeme provést levou faktorizaci:
A => aA' | bB
A' => B | D
B => Ce
C => a | b
D => e

SEO od společnosti Digital Pylon


Online casino s algoritmem

České casino online online slot-vegas.cz

Hrajte nejlepší hry jako je GoodGame Empire.





Zajímavé články: Jak najít práci snů? Zvolte kariéru v IT!, Češi mají rádi hrací automaty online, Jak funguje algoritmické obchodování Casino, Online výuka Algoritmus a online marketing mají svá pravidla, Automaty, Matematický vliv, Ratings, Jak fungují algoritmy hazardních her online: více znalostí, více peněz, SYPWAI - nástroj pro vědecký vývoj, Vynikají na globálním trhu: Nejlepší vývojáři softwaru pro online výherní automaty, Jak si vybrat nejlepší české online casino, Proč byste měli hrát online casino VPN revoluce, Kde najdeme algoritmy v každodenním životě?, Čeká vás pracovní pohovor mimo město? Podívejte se, jak dokonale zvládnout včasný příchod, 5 úžasných technologií ze světa hazardních her, Mirror and access to Mostbet, Svou kancelář můžete mít stále po ruce, Jaké výhody má digitalizovaná firma oproti off-line konkurenci?, Jaký systém vybrat pro snadné řízení výroby?, Nahradí umělá inteligence ajťáky?, Důvody, proč používat SnapTik ke stahování videí TikTok, Dokonalý den na pláži: Co si vzít s sebou, aby byl výlet zábavný a bezpečný?, Jak přežít dlouhý let?, Go pay GoodGame Empire, Blockchain, Rozhovor, Umělá inteligence


Doporučujeme

Internet pro vaši firmu na míru

https://www.algoritmy.net