Greibachové NF

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Greibachové NF

Re: Greibachové NF

od Him » 21. 6. 2009 14:26

Podle slajdu Bartaka jsem si to zkusil a nezda se mi to tak tezke, ale bez vyzkouseni se to spatne pamatuje..

Kód: Vybrat vše

Krok 1] Prepis pravidel podle oznaceni:

A1 ~ E
A2 ~ T
A3 ~ F

A1 -> A1+A2   -- v kroku 2 odstranim levou rekurzi
A1 -> A2

A2 -> A2+A3   -- v kroku 2 odstranim levou rekurzi
A2 -> A3

A3 -> (A1)
A3 -> a


Krok 2] 

A1 -> A2     -- neni v poradku pro treti krok
A1 -> A2Z1   -- neni v poradku pro treti krok
Z1 -> +A2 | +A2Z1

A2 -> A3      -- neni v poradku pro treti krok
A2 -> A3Z2    -- neni v poradku pro treti krok
Z2 -> *A3 | *A3Z2

A3 -> (A1)    -- pro treti krok v poradku
A3 -> a       --        -||-


Krok 3]

A3 -> a
A3 -> (A1)

A2 -> (A1)
A2 -> (A1)Z2
A2 -> a
A2 -> aZ2

A1 -> (A1)
A1 -> a
A1 -> (A1)Z2
A1 -> AZ2

A1 -> (A1)Z1
A1 -> aZ1
A1 -> (A1)Z2Z1
A1 -> AZ2Z1

Z1 -> +A2 | +A2Z1  -- je v poradku pro krok 4
Z2 -> *A3 | *A3Z2  -- je v poradku pro krok 4

Krok 4]

  -- nic neni potreba delat

Krok 5]

  Provede se tak, ze vzdy pro terminal, ktery nam kazi nejake pravidlo vytvorime nove pravidlo:  X -> x  (novy neterminal X pro terminal x)
  

Greibachové NF

od Necroman » 10. 5. 2006 14:38

Pokud také nerozumíte převodu na GNF, tak doporučuji tento postup, vypadá celkem pohodově:tady

Nahoru