3 2 drzewa rozbioru (2)

background image

3.2. Drzewa rozbioru syntaktycznego


Drzewo rozbioru syntaktycznego według gramatyki G = <N,T,P,Z>

G

BK

jest to drzewo

zorientowane <K, D> z korzeniem k

0

i funkcją etykietującą wierzchołki f: K!M, jeśli

spełnione są następujące warunki:

(1) M

(N

T)

{

ε

}

(2) f(k

0

) = Z

(3) niech k

1

,...,k

n

będą bezpośrednimi potomkami korzenia k

0

;

wówczas: (Z

f(k

1

)f(k

2

)...f(k

n

))

P

(4) jeśli f(k

i

)

T lub jeśli n = 1 i f(k

i

) =

ε

, to k

i

jest liściem

(5) jeśli f(k

i

)

N, to k

i

jest korzeniem drzewa (poddrzewa) rozbioru według gramatyki

<N, T, P, f(k

i

)>


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




k

0

k

1

k

2

k

n

...

E

E

T

T

F

id

T

F

id

*

F

id

+

korona cięcia

T+T*F = forma

zdaniowa

korona drzewa id+id*id

= słowo języka L(G)

korzeń=symbol

początkowy gramatyki

background image
















G = < {E, T, F} , {+, *, (, ), id} , { E

E + T | T

T

T * F | F

F

(E) | id } ,

E >

Analizowane słowo: id + id

* id

















Przykład:
G = < {E} , {+, *, (, ), id} , {E

E+E | E*E | (E) | id} , E >

Analizowane słowo: 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.

korona cięcia T*F

poddrzewa tworzy frazę

związaną z korzeniem

poddrzewa T <=> T*F

jest frazą formy T+T*F

dla T

E

E

T

F

id

+

T

T

*

F

F

id

id

poddrzewo o korzeniu T

E

E+T
T+T
F+T

id+T

id+T*F
id+F*F

id+id*F

id+id*id

Wyprowadzanie

lewostronne

E

E+T

E+T*F

E+T*id
E+F*id

E+id*id
T+id*id
F+id*id

id+id*id

Wyprowadzanie

prawostronne

Drzewo rozbioru

syntaktycznego

E

E

+

T

T

F

T

id

* F

F

id

id

E

E

+

E

id

E * E

id

id

E

E

*

E

+

E

E

id

id

id

background image


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)


Wyszukiwarka

Podobne podstrony:
3 2 BK Drzewa rozbioru
3-2-drzewa-rozbioru (2)
Drzewa binarne
napis z drzewami
drzewa rys
Drzewa owocowe(1)
IMPREGNACJA, drzewa, konstrukcje drewniane, Technologia
DRZEWA LIŚCIASTE wersja ostateczna
Olejek drzewa herbacianego?nny surowiec konserwujący w preparatach kosmetycznych
Okoliczności istotne dla wydania decyzji w przedmiocie rozbiórki obiektu budowlanego
Drzewa w miastach Świadomość wartości przestrzeni
jak uzyskać zgodę na wyciecie drzewa
algorytmy drzewa
Sortyment drewna, drzewa, konstrukcje drewniane, Technologia

więcej podobnych podstron