• Nie Znaleziono Wyników

Metody rozbioru gramatycznego

N/A
N/A
Protected

Academic year: 2021

Share "Metody rozbioru gramatycznego"

Copied!
3
0
0

Pełen tekst

(1)

Algorytmy parsingu

Teoria automatów i języków formalnych

Dr inŜ. Janusz Majewski Katedra Informatyki

Metody rozbioru gramatycznego

Problem rozbioru gramatycznego jest próbą odpowiedzi na pytanie:

„czy dany ciąg symboli terminalnych jest słowem naleŜącym do języka L(G) generowanego przez daną gramatykę?”. Istota postępowania jest następująca: jeśli dla danego słowa moŜna zbudować drzewo rozbioru w danej gramatyce, to słowo to naleŜy do języka generowanego przez gramatykę, jeśli zaś dla badanego słowa nie moŜna zbudować drzewa rozbioru, wówczas słowo nie naleŜy do języka. W zaleŜności od strategii budowania drzewa rozbioru stosujemy jeden z dwóch algorytmów:

• algorytm wyprowadzający „top-down” (budujemy drzewo w kolejności: od korzenia ku liściom, odtwarzając wyprowadzenie lewostronne)

• algorytm redukujący „bottom-up” (budujemy drzewo w odwrotnej kolejności: od liści ku korzeniowi, odtwarzając wyprowadzenie prawostronne)

RozwaŜany ciąg symboli badany jest zawsze od lewej strony, w tym sensie oba algorytmy są lewostronne.

(2)

Przykład

Przykład:

Gramatyka:

E → E + T | T T → T * F | F F → (E) | id Analizowane

słowo:

id + id * id

E

E + T T T +

T F + id + T

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

wywód lewostronny

od lewej do prawej

Top-down

E F + T +

T * F E + id + id * id

wywód prawostronny

od lewej do prawej

Bottom-up

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

E + T E E

E + T T T * F F

id F id

id

kierunek analizy

Metoda „top-down”

Symbol początkowy

gramatyki Analizowane słowo

Rozpoczynamy od symbolu wyróŜnionego gramatyki. W kaŜdym kroku najbardziej lewy symbol nieterminalny zastępujemy prawą stroną jakiejś produkcji. Jeśli w wyniku kolejnego kroku otrzymamy symbol terminalny, to sprawdzamy, czy jest on identyczny z odpowiednim symbolem

analizowanego słowa. Jeśli nie, to moŜemy „cofnąć się” i spróbować od nowa, korzystając w ponownym wyprowadzeniu z jakiejś innej produkcji (lub innych produkcji). Byłby to algorytm z powrotami (mało efektywny).

Wynik: akceptacja słowa lub odrzucenie w wyniku przebadania wszystkich moŜliwości.

Problem: „jak uniknąć konieczności powrotów” moŜe być pozytywnie i jednoznacznie rozstrzygnięty dla pewnej klasy gramatyk bezkontekstowych zwanych gramatykami LL(k). „Top-down” odtwarza wyprowadzenie

lewostronne.

(3)

Metoda „bottom-up”

Analizując słowo od lewej strony bierzemy symbol bądź grupę symboli i zastępujemy ją lewą stroną jakiejś odpowiedniej produkcji. Postępujemy tak długo, aŜ dojdziemy do symbolu wyróŜnionego gramatyki, co jest

równoznaczne z akceptacją słowa. W kaŜdym kroku powinna być

redukowana osnowa, czyli najbardziej na lewo połoŜona fraza prosta. TakŜe w tej metodzie moŜliwe jest postępowanie z powrotami.

Problem: „jak znaleźć osnowę nie mając jeszcze drzewa rozbioru

syntaktycznego i czym ją zastąpić” moŜe być pozytywnie i jednoznacznie rozstrzygnięty dla pewnych klas gramatyk bezkontekstowych: gramatyk precedencyjnych, czy tzw. gramatyk LR(k). „Bottom-up” odtwarza wyprowadzenie prawostronne.

Analizowane słowo Symbol początkowy

gramatyki

Cytaty

Powiązane dokumenty

To wszystko ostatecznie prowadzi autora do „miękkiego” postulatu, by „czynić swoje” i opisywać – anali- zować – wreszcie interpretować, a jednocześnie poddawać

Obraz życia zakonnego diecezji przemyskiej, jaki rysuje się na podstawie przekroju z 1938 roku — w zasadniczych swych zrę­. bach nie odbiega od obrazu z roku

zyka niż człowieka, wtedy jednak powoływałoby się do istnienia nową total ­ ność, na gruncie której możliwa byłaby ciągła historia, historia dyskursu jako nauka

Definicja lasu na potrzebę analizy składniowej może więc wyglądać następująco: jest to zbiór wierzchołków, podzielonych na wewnętrzne oraz liście, z jednym

Wykaż twierdzenie Prochorowa na prostej rzczywistej.. Czy zachodzi

Udowodnić, że jeśli dla macierzy przejścia nieprzywiedlnego łańcucha Markowa istnieje j takie, że p jj > 0, to łańcuch nie jest

Jan Paweł II, utwierdzając braci w wierze w prawdę, utwierdza ich w miłości Prawda bowiem jest dobra, a dobru należy się miłość.. W miłości prawdy tkwi

Uczniowie nazywają części mowy, jakie wchodzą w skład tego zdania i uzupełniają w tabeli funkcje, jakie pełnią one w zdaniu. W kolejnym etapie zajęć zespół klasowy