Odtworzenie wywodu metodą wstępującą (bottom up)

Podobne dokumenty
Analizator syntaktyczny

Gramatyka operatorowa

Języki formalne i automaty Ćwiczenia 4

Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Języki formalne i automaty Ćwiczenia 3

3.4. Przekształcenia gramatyk bezkontekstowych

Gramatyki rekursywne

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

p Z(G). (G : Z({x i })),

5. Maszyna Turinga. q 1 Q. Konfiguracja: (q,α β) q stan αβ niepusta część taśmy wskazanie położenia głowicy

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Metody Kompilacji Wykład 7 Analiza Syntaktyczna

Języki formalne i automaty Ćwiczenia 1

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 1. Układy równań liniowych

0.1 Lewostronna rekurencja

Języki formalne i automaty Ćwiczenia 9

Wykład 5. Jan Pustelnik

Grupa obrotów. - grupa symetrii kuli, R - wszystkie możliwe obroty o dowolne kąty wokół osi przechodzących przez środek kuli

BADANIA OPERACYJNE. Podejmowanie decyzji w warunkach niepewności. dr Adam Sojda

Zapis informacji, systemy pozycyjne 1. Literatura Jerzy Grębosz, Symfonia C++ standard. Harvey M. Deitl, Paul J. Deitl, Arkana C++. Programowanie.

Matematyczne Podstawy Informatyki

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

JAO - Wprowadzenie do Gramatyk bezkontekstowych

Zestaw zadań 4: Przestrzenie wektorowe i podprzestrzenie. Liniowa niezależność. Sumy i sumy proste podprzestrzeni.

STATYSTYKA MATEMATYCZNA WYKŁAD 5 WERYFIKACJA HIPOTEZ NIEPARAMETRYCZNYCH

Języki formalne i automaty Ćwiczenia 2

Diagonalizacja macierzy kwadratowej

JIP. Analiza składni, gramatyki

Projekt 6 6. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH CAŁKOWANIE NUMERYCZNE

V. WPROWADZENIE DO PRZESTRZENI FUNKCYJNYCH

Twierdzenie Bezouta i liczby zespolone Javier de Lucas. Rozwi azanie 2. Z twierdzenia dzielenia wielomianów, mamy, że

Metody Realizacji Języków Programowania

Pokazać, że wyżej zdefiniowana struktura algebraiczna jest przestrzenią wektorową nad ciałem

Matematyczne Podstawy Informatyki

GRAMATYKI BEZKONTEKSTOWE

10. Translacja sterowana składnią i YACC

Jaki język zrozumie automat?

Diagnostyka układów kombinacyjnych

Stanisław Cichocki Natalia Nehrebecka. Zajęcia 4

Hierarchia Chomsky ego

5. OPTYMALIZACJA GRAFOWO-SIECIOWA

Indukcja matematyczna

Natalia Nehrebecka. Zajęcia 4

PARADYGMATY I JĘZYKI PROGRAMOWANIA. Analiza leksykalna i syntaktyczna. w- 5

Stanisław Cichocki. Natalia Nehrebecka. Wykład 6


Języki, automaty i obliczenia

Oligopol dynamiczny. Rozpatrzmy model sekwencyjnej konkurencji ilościowej jako gra jednokrotna z pełną i doskonalej informacją

W praktyce często zdarza się, że wyniki obu prób możemy traktować jako. wyniki pomiarów na tym samym elemencie populacji np.

5. Pochodna funkcji. lim. x c x c. (x c) = lim. g(c + h) g(c) = lim

Hierarchia Chomsky ego Maszyna Turinga

) będą niezależnymi zmiennymi losowymi o tym samym rozkładzie normalnym z następującymi parametrami: nieznaną wartością 1 4

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

Zestaw zadań 5: Sumy i sumy proste podprzestrzeni. Baza i wymiar. Rzędy macierzy. Struktura zbioru rozwiązań układu równań.

Laboratorium ochrony danych

Nowoczesne technk nformatyczne - Ćwczene 2: PERCEPTRON str. 2 Potencjał membranowy u wyznaczany jest klasyczne: gdze: w waga -tego wejśca neuronu b ba

Zaawansowane metody numeryczne

WPROWADZENIE DO TEORII DECYZJI STATYSTYCZNYCH

Algorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin

Efektywna analiza składniowa GBK

Odwrotna Notacja Polska

Wprowadzenie do analizy składniowej. Bartosz Bogacki.

Programowanie Równoległe i Rozproszone

Portfele zawierające walor pozbawiony ryzyka. Elementy teorii rynku kapitałowego

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka

Treść zadań 1 8 odnosi się do poniższego diagramu przestrzenno-czasowego.

Usuwanie lewostronnej rekursji. Usuwanie lewostronnej faktoryzacji. Wyznaczanie zbioru FIRST. Wyznaczanie zbioru FOLLOW. Konstrukcja parsera LL

Analiza semantyczna. Gramatyka atrybutywna

Języki formalne i automaty Ćwiczenia 8

ALGEBRY HALLA DLA POSETÓW SKOŃCZONEGO TYPU PRINJEKTYWNEGO

Lista 5 Gramatyki bezkontekstowe i automaty ze stosem

Proces narodzin i śmierci

Języki formalne i automaty Ćwiczenia 6

Zadanie analizy leksykalnej

Prawdopodobieństwo i statystyka r.

Funkcje i charakterystyki zmiennych losowych

Uczenie ze wzmocnieniem

Języki formalne i automaty Ćwiczenia 5

Zadanie 1. Udowodnij, że CAUS PRAM. Załóżmy przetwarzanie przyczynowo spójne. Dla każdego obrazu historii hv i zachodzi zatem:

Statystyka. Zmienne losowe

Definicje ogólne

Pattern Classification

( ) Elementy rachunku prawdopodobieństwa. f( x) 1 F (x) f(x) - gęstość rozkładu prawdopodobieństwa X f( x) - dystrybuanta rozkładu.

( ) ( ) 2. Zadanie 1. są niezależnymi zmiennymi losowymi o. oraz. rozkładach normalnych, przy czym EX. i σ są nieznane. 1 Niech X

= σ σ. 5. CML Capital Market Line, Rynkowa Linia Kapitału

WSPOMAGANE KOMPUTEROWO POMIARY CZĘSTOTLIWOŚCI CHWILOWEJ SYGNAŁÓW IMPULSOWYCH

Permutacje. } r ( ) ( ) ( ) 1 2 n. f = M. Przybycień Matematyczne Metody Fizyki I Wykład 2-2

WikiWS For Business Sharks

Modele wieloczynnikowe. Modele wieloczynnikowe. Modele wieloczynnikowe ogólne. α β β β ε. Analiza i Zarządzanie Portfelem cz. 4.

Wprowadzenie do Sieci Neuronowych Algorytm wstecznej propagacji błędu

Paradygmaty dowodzenia

Obliczenia inspirowane Naturą

MATEMATYKA POZIOM ROZSZERZONY Kryteria oceniania odpowiedzi. Arkusz A II. Strona 1 z 5

TESTY NORMALNOŚCI. ( Cecha X populacji ma rozkład normalny). Hipoteza alternatywna H1( Cecha X populacji nie ma rozkładu normalnego).

f(x, y) = arctg x y. f(u) = arctg(u), u(x, y) = x y. x = 1 1 y = y y = 1 1 +

Lingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań

Granica i ciągłość funkcji. 1 Granica funkcji rzeczywistej jednej zmiennej rzeczywsitej

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Transkrypt:

Przeglądane wejśca od lewej strony do prawej L (k) Odtwarzane wywodu prawostronnego Wystarcza znajomosc "k" następnych symbol łańcucha wejścowego hstor dotychczasowych redukcj, aby wyznaczyc jednoznaczne osnowe dokonac jej redukcj Odtworzene wywodu metodą wstępującą (bottom up) termnale termnale nekompletna osnowa stos k wejśce osnowa stos k wejśce shft redukcja Dla gramatyk G = <N, T, P, > G BK defnuje sę gramatykę uzupełnoną G G =<N { }, T, P { }, > nowy symbol początkowy dodatkowa produkcja mają wyłączne znaczene technczne Def. Gramatyka G jest gramatyką L(k) dla k 0 jeżel z: () () ' αaw αβw G' G' ' γbx αβy G' G' A,B N w, x, y T () FIST k (w) = FIST k (y) α, β, γ (N T) wynka, że αay = γbx tzn. α = γ; A = B; y=x G' wyprowadzene prawostronne w gramatyce uzupełnonej G

' α α A β osnowa k w FIST k (w) Przykład: S Sa a Gramatyka uzupełnona S S S Sa S a Gramatyka ta ne jest gramatyką L(0) (gramatyk L(0) mają sens w odróżnenu od gramatyk LL(0) ), bo z tego, że () S' S' S ' αaw αβw () S' ' S Sa γbx γβy () FIST 0 (ε) = FIST 0 (a)={ε} FIST 0(w) FIST 0(y) ne wynka, że S' a = S αay γbx Ne można stwerdzć, czy S jest osnową ne znając następnego symbolu (którym może być ε wtedy S będze osnową, lub a wtedy osnową ne będze S lecz Sa) Analzator (parser) L(1) jest zdetermnowanym automatem ze stosem, którego sterowane określają dwe funkcje f g: f funkcja dzałana f: I (Τ {$}) {shft j, red, err, acc} numer stanu numer produkcj

g funkcja przejśca g: I N I {err} gdze: I - zbór stanów I = {T j : j = 0, 1,..., n} = 1,,..., m m = #P m lczba produkcj gramatyk G T 0 stan początkowy, a zarazem początkowy symbol stosu stos T 0 x 1 T 1 x T... x r T r wejśce a 1... a k......... a s $ f Parser L(1) g Π 1 Π... Π p cąg numerów produkcj wyjśce Konfguracja parsera: (T 0 x 1 T 1 r T, a 1...a s $, π 1...π p ) r przy czym : x są symbolam gramatyk (netermnalam lub termnalam) Konfguracja początkowa : (T 0, a 1 a...a s $, ε)

Algorytm dzałana parsera L(1) Nech parser znajduje sę w konfguracj: (T 0 x 1 T 1 r T, a k a k+1...a s $, π) () Jeśl f( T, a r k ) = shft j to: (T 0 x 1 T 1 r () Jeśl f( T, a r k ) = red r T,a r k a k+1...a s $, π) (T 0 x 1 1 oraz A γ jest produkcją o numerze to γ = d; d r (T 0 x 1 T 1 r-d gdze T j =g( T r r d r T r d T r T r a k T j,a k+1...a s $,π) T, a k a k+1...a s $, π) (T 0 x 1 T 1 r-d zdejme sę d symbol,a) r T r d () Jeśl f( T, a r k )=acc akceptacja, parsng zakończony poprawne (v) Jeśl f( T,a r k )=err błąd syntaktyczny Przykład: Parser L(1) dla gramatyk S SaSb ε Gramatyka uzupełnona: (0) S S (1) S SaSb () S ε f AT j, a k a k+1...a s $, π) Stany A b $ S T 0 ed err red T 1 T 1 shft err acc err T red red err T 3 T 3 shft 4 shft 5 err err T 4 red red err T 6 T 5 red 1 err red 1 err T 6 shft 4 shft 7 err err T 7 red 1 red 1 err err Tablca parsera g

Przykład: parsng słowa aabb (T 0, aabb$, ε)! (T 0 ST 1, aabb$, ) (red-)! (T 0 ST 1 at, abb$, ) (shft)! (T 0 ST 1 at ST 3, abb$, ) (red-)! (T 0 ST 1 at ST 3 at 4, bb$, ) (shft)! (T 0 ST 1 at ST 3 at 4 ST 6, bb$, ) (red-)! (T 0 ST 1 at ST 3 at 4 ST 6 bt 7, b$, ) (shft)! (T 0 ST 1 at ST 3, b$, 1) (red-1)! (T 0 ST 1 at ST 3 bt 5, $, 1) (shft)! (T 0 ST 1, $, 11) (red-1) (acc) Sprawdzene (zgodne z wywodem prawostronnym): aabb Saabb Sasabb SaSaSbb SaSb S o.k. Sprawdzene powyższej redukcj: 1 S SaSb SaSaSbb SaSabb Saabb aabb o.k. 1 1 1 1 ε a ε a ε b B S a ε a ε b B 3 S a S a ε b B 4 S a S a S b B 5 S a S b 6 S formy zdanowe z zaznaczonym osnowam

WNIOSKI: 1. dzęk tablcy L(k) uzyskujemy nformacje - gdze jest osnowa (jej lewy prawy konec) - jak ją redukować. operacja shft odpowada poszukwanu końca osnowy. POBLEM: Dana jest gramatyka G G BK. Czy jest L(k)? 1. Konstruujemy tablcę L(k).Weryfkujemy, czy G jest L(k). Konstrukcja tablcy L(k) dla gramatyk G αaw αβw (A β) użyta produkcja znane: αβ oraz FIST k (w) pełna nformacja o: 1) prawym lewym końcu osnowy ) redukcj jaką należy wykonać Aktywny prefks (vable prefx) αaw αβw γ - aktywny prefks gramatyk G γ - prefks łańcucha αβ gdze: α, β, γ (N T) w T A N Jest to łańcuch będący prefksem pewnej prawostronne wyprowadzalnej formy zdanowej, ne wychodzący poza prawy konec jej osnowy. Każdy wersz tablcy L(1) (czyl stan) odpowada pewnemu aktywnemu prefksow.

L(1) sytuacja (L(1) tem) G=<N, T, P, > G BK [A β 1.β, v] L(1) sytuacja (A β 1 β ) P v T {$}. wskazuje mejsce w prawej strone produkcj L(1) sytuacja dopuszczalna (L(k) tem vald for vable prefx) [A β 1.β, v] L(1) sytuacja dopuszczalna dla aktywnego prefksu αβ 1 wywód: α Aw αβ1β w v FIST1( w) UWAGI: 1. poneważ β 1 może być ε, węc dla każdego prefksu aktywnego stneje co najmnej jedna L(k) sytuacja dopuszczalna. L(k) sytuacje postac: [A β., v] są szczególne ważne, gdyż pokazują możlwe redukcje (analza dobegła do prawego końca osnowy). Przykład: S SaSb ε analzowane słowo: aabb S S a S b S a S a S b b α Aw α β 1 β w Forma zdanowa: Stos (bez stanów) Wejśce Sytuacja SaSaSbb SaSaSbb () Aktywnemu prefksow SaSaS () SaSaS bb () SaSaSb b () Aktywnemu prefksow SaSaSb [S SaS.b, b] dopuszczalna dla aktyw. prefksu SaSaS [S SaSb., b] dopuszczalna dla aktyw. prefksu SaSaSb odpowada stan T 6 odpowada stan T 7 Domykane zboru L(1) sytuacj dopuszczalnych ałóżmy, że sytuacja [A α.bβ, a] jest dopuszczalna dla pewnego aktywnego prefksu γ, co oznacza, że stneje wyprowadzene prawostronne: δaax δαbβax, gdze γ=δα

Przypuśćmy, że β ax by (by łańcuch termnalny rozpoczynający sę symbolem b). Wtedy dla każdej produkcj B η δaax δαbβax δαηβax δαηby (γ=δα) Czyl dla aktywnego prefksu γ dopuszczalna jest także sytuacja [B.η, b], gdze: b FIST 1 (βax)=fist 1 (βa) Algorytm domykana zboru sytuacj dopuszczalnych We: bór I sytuacj dopuszczalnych dla pewnego aktywnego prefksu (w gramatyce uzupełn. G ) Wy: bór I będący domknęcem wejścowego zboru sytuacj dopuszczalnych Metodę lustruje funkcja CLOSUE(I); functon CLOSUE(I); begn repeat for każda sytuacja [A α.bβ, a] I do for każda produkcja (B η) P do for każdy b FIST 1 (βa) do I:=I {[B.η, b]}; untl nc nowego ne dodano do I; return (I); end; Funkcja GOTO GOTO: {I(γ): γ (N T), γ - aktywny prefks} {X: X (N T)} {I(γ ): γ (N T) +, γ =γx} gdze: I(γ) zbór wszystkch sytuacj dopuszczalnych dla prefksu aktywnego γ

Przykład: S SaSb ε (a) (b) S SaSaS. bb Prefksem aktywnym obu S SaSaS. abbb form zdanowych jest SaSaS I 7 ={ [S SaSb., a] [S SaSb., b]} I 7 =GOTO(I 6, b) I 7 zbór sytuacj dopuszczalnych dla prefksu aktywnego SaSaSb I 6 ={ [S SaS.b, a] [S SaS.b, b] [S S.aSb, a] [S S.aSb, b]} I 6 zbór sytuacj dopusz- I 4 =GOTO(I 6, a) czalnych dla prefksu aktywnego SaSaS I 4 ={ [S Sa.Sb, a] [S Sa.Sb, b] [S.SaSb, a] [S.SaSb, b] [S., a] I 4 [S., b]} zbór sytuacj dopuszczalnych dla prefksu aktywnego SaSaSa