• Nie Znaleziono Wyników

Drzewo rozbioruDrzewo rozbioru syntaktycznego według gramatyki G = <V,Σ,P,S>

N/A
N/A
Protected

Academic year: 2021

Share "Drzewo rozbioruDrzewo rozbioru syntaktycznego według gramatyki G = <V,Σ,P,S>"

Copied!
4
0
0

Pełen tekst

(1)

Drzewa rozbioru syntaktycznego

Teoria automatów i języków formalnych

Dr inŜ. Janusz Majewski Katedra Informatyki

Drzewo rozbioru

Drzewo rozbioru syntaktycznego według gramatyki G = <V,Σ,P,S>∈GBK jest to drzewo zorientowane <K, D> z

korzeniem k0i funkcją etykietującą wierzchołki f: KaM, jeśli spełnione są następujące warunki:

• M ⊆(V ∪ Σ) ∪{ε}

• f(k0) = S

• niech k1,...,knbędą bezpośrednimi potomkami korzenia k0;

wówczas: (S →f(k1)f(k2)...f(kn)) ∈P

• jeśli f(ki) ∈Σ lub jeśli n = 1 i f(ki) = ε, to kijest liściem

• jeśli f(ki) ∈V, to kijest korzeniem drzewa (poddrzewa) rozbioru według gramatyki

<V, Σ, P, f(ki)>

k

0

k

1

k

2

... k

n

(2)

Przykład (1)

Przykład:

Analizujemy gramatykę G, gdzie:

V = {E, T, F} , T = {+, *, (, ), id}, P = { E → E + T | T

T → T * F | F F → (E) | id }, S = E

oraz analizujemy słowo:

id + id * id 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

Przykład (2)

(3)

Przykład (3)

Drzewo rozbioru syntaktycznego

E

E + T

T F

T

id

* F F id

id 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 (4)

G = < {E} , {+, *, (, ), id} , { E→E + E | E * E | (E) | id } , E >

Analizowane słowo: id + id * id

E

E + E

id E * E id id

E

E * E

E + E 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.

(4)

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) istniejeco 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)

• Problem: „czy dana gramatyka bezkontekstowa jest jednoznaczna?” jest nierozstrzygalny.

Cytaty

Powiązane dokumenty

ProceduranaCPUwywołującaszaderwkolejnychkrokach: C 1:staticGLuintprogramid,uloc[3]; 2:staticGLintlgsize[3]; 3: 4:voidGPUFindMinMax(GLuintn,GLuintn0,GLuintdatabuf)

Udowodnić, że złożenie homomorfizmów jest homomorfizmem i że funkcja odwrotna do izomorfizmu jest

Niech H będzie p-podgrupą G, która jest dzielnikiem normalnym.. Udowodnić, że H jest zawarta w każdej p-podgrupie

[r]

[r]

Since, by definition, a lamination does not contain a simple closed curve, all leaves of a lamination are one-to-one continuous images of the reals.. A lamination is minimal if all

Czemu równy jest kwadrat tak zdefiniowanego b, jeśli a nie jest resztą

Proszę rozważyć jednostajnie przyspieszoną cząstkę, która porusza się w płaszczyźnie (t, x) w przestrzeni Minkowskiego, tzn.. Proszę znaleźć pęd fotonu