3.2. Drzewa rozbioru syntaktycznego Drzewo rozbioru syntaktycznego wedÅ‚ug gramatyki G = "GBK jest to drzewo zorientowane z korzeniem k0 i funkcjÄ… etykietujÄ…cÄ… wierzchoÅ‚ki f: K M, jeÅ›li speÅ‚nione sÄ… nastÄ™pujÄ…ce warunki: k0 (1) M Ä…" (N *" T) *"{µ} (2) f(k0) = Z ... k1 k2 kn (3) niech k1,...,kn bÄ™dÄ… bezpoÅ›rednimi potomkami korzenia k0; wówczas: (Z f(k1)f(k2)...f(kn)) " P (4) jeÅ›li f(ki) " T lub jeÅ›li n = 1 i f(ki) = µ, to ki jest liÅ›ciem (5) jeÅ›li f(ki) " N, to ki jest korzeniem drzewa (poddrzewa) rozbioru wedÅ‚ug gramatyki PrzykÅ‚ad: G = < {E, T, F} , {+, *, (, ), id} , { E E + T | T T T * F | F F (E) | id } , E > Analizowane sÅ‚owo: id + id * id korzeÅ„=symbol E poczÄ…tkowy gramatyki korona ciÄ™cia T+T*F = forma + T E zdaniowa T T * F F F id korona drzewa id+id*id id id = sÅ‚owo jÄ™zyka L(G) E poddrzewo o korzeniu T E +T T T *F korona ciÄ™cia T*F poddrzewa tworzy frazÄ™ zwiÄ…zanÄ… z korzeniem poddrzewa T <=> T*F id F F jest frazÄ… formy T+T*F dla T id id G = < {E, T, F} , {+, *, (, ), id} , { EE + T | T TT * F | F F(E) | id } , E > Analizowane sÅ‚owo: id + id * id Wyprowadzanie Drzewo rozbioru Wyprowadzanie lewostronne syntaktycznego prawostronne E E E E+T E+T T+T E + T E+T*F F+T E+T*id id+T T T * F E+F*id id+T*F E+id*id id+F*F F F id T+id*id id+id*F F+id*id id+id*id id id id+id*id PrzykÅ‚ad: G = < {E} , {+, *, (, ), id} , {EE+E | E*E | (E) | id} , E > Analizowane sÅ‚owo: id + id * id E E E + E E * E id E * E + E E id id id id id Dla pewnego sÅ‚owa (u nas: id + id * id) udaÅ‚o siÄ™ zbudować dwa różne drzewa rozbioru syntaktycznego. Taka gramatyka jest niejednoznaczna. Podsumowanie: - Dla każdego drzewa rozbioru syntaktycznego istnieje co najmniej jedno wyprowadzenie sÅ‚owa jÄ™zyka L(G) w gramatyce G - Dla każdego wyprowadzenia sÅ‚owa istnieje odpowiadajÄ…ce mu drzewo rozbioru syntaktycznego. Kilku różnym wyprowadzeniom mogÄ… odpowiadać identyczne drzewa rozbioru syntaktycznego. - Dwa wyprowadzenia sÄ… równoważne, gdy odpowiadajÄ…ce im drzewa rozbioru syntaktycznego sÄ… identyczne. - SÅ‚owo jÄ™zyka L(G) jest niejednoznaczne w gramatyce G, jeÅ›li jego wyprowadzenia można opisać przez co najmniej dwa różne drzewa rozbioru syntaktycznego - Gramatyka G jest niejednoznaczna, jeÅ›li w jÄ™zyku L(G) istnieje co najmniej jedno niejednoznaczne sÅ‚owo w tej gramatyce. W przeciwnym wypadku gramatyka jest jednoznaczna. W gramatyce jednoznacznej istnieje dokÅ‚adnie jedno wyprowadzenie lewostronne i dokÅ‚adnie jedno wyprowadzenie prawostronne (wÅ›ród wszystkich równoważnych wyprowadzeÅ„ tego samego sÅ‚owa)