Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Následující verze | Předchozí verze | ||
pitel:ifj:tahak [03. 07. 2012, 11.53:48] – upraveno mimo DokuWiki 127.0.0.1 | pitel:ifj:tahak [30. 12. 2022, 13.43:01] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
---|---|---|---|
Řádek 44: | Řádek 44: | ||
==== Follow ==== | ==== Follow ==== | ||
Ukazuje jaké terminály mohou následovat po neterminálech. | Ukazuje jaké terminály mohou následovat po neterminálech. | ||
- | -// | + | -// |
-Zpracovávej pravidla které mají na pravé straně aspoň jeden neterminál | -Zpracovávej pravidla které mají na pravé straně aspoň jeden neterminál | ||
-Pravidla rozkládej do tvarů: //A -> xBy// (//x// a //y// (//y// může být i ε) je posloupnost neterminálů i terminálů, | -Pravidla rozkládej do tvarů: //A -> xBy// (//x// a //y// (//y// může být i ε) je posloupnost neterminálů i terminálů, | ||
Řádek 69: | Řádek 69: | ||
==== Průchod tabulkou ==== | ==== Průchod tabulkou ==== | ||
- | -Na zásobník nacpi $ a počáteční neterminál | + | -Na zásobník nacpi \$ a počáteční neterminál |
- | -Prováděj cyklus dokud vstup ≠ zásobník ≠ $ | + | -Prováděj cyklus dokud vstup ≠ zásobník ≠ \$ |
-Když je na vrcholu neterminál a existuje v LL tabulce pravidlo které by jej společně se vstupním terminálem zpracovalo, proveď toto pravidlo (starý neteminál zanikne) a na zásobník ho dej v opačném pořadí. Pokud není pravidlo, chyba. | -Když je na vrcholu neterminál a existuje v LL tabulce pravidlo které by jej společně se vstupním terminálem zpracovalo, proveď toto pravidlo (starý neteminál zanikne) a na zásobník ho dej v opačném pořadí. Pokud není pravidlo, chyba. | ||
-Když je na vrcholu terminál a na vstupu terminál, musejí být stejné, jinak chyba. | -Když je na vrcholu terminál a na vstupu terminál, musejí být stejné, jinak chyba. | ||
Řádek 80: | Řádek 80: | ||
^zásobník| | | | | ^zásobník| | | | | ||
^zásobník| | | | | ^zásobník| | | | | ||
- | Symboly (terminály) budou zřejmě stejné, poslední je $ (dno zásobníku, | + | Symboly (terminály) budou zřejmě stejné, poslední je \$ (dno zásobníku, |
==== Operátory ==== | ==== Operátory ==== | ||
Řádek 99: | Řádek 99: | ||
*Celý sloupec i řádek s ) vyplň > | *Celý sloupec i řádek s ) vyplň > | ||
*Do buňky () doplň = | *Do buňky () doplň = | ||
- | *Smaž obsah buněk ($ i( )( )i | + | *Smaž obsah buněk (\$ i( )( )i |
- | ==== $ ==== | + | ==== \$ ==== |
- | Řeší se jen s operátory. Když dám vedle sebe symbol ze zásobníku a symbol ze vstupu ($ a operátor), bude //$ < operátor// | + | Řeší se jen s operátory. Když dám vedle sebe symbol ze zásobníku a symbol ze vstupu (\$ a operátor), bude //\$ < operátor// |
- | Hint: Řádek s $ obsahuje pouze < a prázdné buňky, sloupec s $ obsahuje pouze > a prázdné buňky. | + | Hint: Řádek s \$ obsahuje pouze < a prázdné buňky, sloupec s \$ obsahuje pouze > a prázdné buňky. |
==== Průchod tabulkou ==== | ==== Průchod tabulkou ==== | ||
- | -Vlož na zásobník $ | + | -Vlož na zásobník |
- | -Prováděj úpravy, dokud nejvrchnější terminál zásobníku ≠ vstupní symbol ≠ $ | + | -Prováděj úpravy, dokud nejvrchnější terminál zásobníku ≠ vstupní symbol ≠ \$ |
-Najdi v tabulce znaménko pro nejvrchnější terminál zásobníku a vstupní symbol | -Najdi v tabulce znaménko pro nejvrchnější terminál zásobníku a vstupní symbol | ||
*= | *= | ||
Řádek 134: | Řádek 134: | ||
==== Analýza ==== | ==== Analýza ==== | ||
- | -Vlož na zásobník //<$, q< | + | -Vlož na zásobník //<\$, q< |
-Opakuj cyklus, dokud neskončí: | -Opakuj cyklus, dokud neskončí: | ||
-Najdi v akční části buňku odpovídající aktuálnímu stavu a vstupnímu symbolu. | -Najdi v akční části buňku odpovídající aktuálnímu stavu a vstupnímu symbolu. |