0.1 Lewostronna rekurencja
|
|
- Angelika Skowrońska
- 5 lat temu
- Przeglądów:
Transkrypt
1 0.1 Lewostronna rekurencja Sprawdź czy poniższa gramatyka E jest zgodna z LL(1), tzn. czy umożliwia przeprowadzenie analizy bez powrotu z wyprzedzeniem o jeden symbol. Wyjaśnienie pojęcia LL(1): Pierwsze L w LL(1) oznacza przeglądanie wejścia od lewej do prawej. Drugie L oznacza lewostronne wyprowadzenie (ang. leftmost), 1 oznacza, że do podejmowania decyzji o wyborze produkcji można wczytać co najwyżej jeden symbol terminalny. E ::= EOT T O ::= + - T ::= TMF F M ::= F ::= (E) id Zbiór FIRST dla dowolnego ciągu symboli gramatyki X jest zbiorem terminali, od których zaczynają się ciągi wyprowadzane z X; jeżeli z X można wyprowadzić ɛ, to ɛ jest także z FIRST(X). FIRST - Algorytm: 1. Jeśli X jest terminalem, to FIRST(X) = {X}. 2. Jeśli mamy produkcję ɛ dla X, to dodajemy ɛ do FIRST(X). 3. Jeśli X jest nieterminalem, wówczas dla wszystkich produkcji postaci: X Y 1, Y 2, Y 3,... należy wykonać następujący algorytm: (a) dodaj do FIRST(X) zbiór FIRST(Y 1 ). (b) jeśli FIRST(Y 1 ) zawiera ɛ, FIRST(Y 2 ). (c) jeśli FIRST(Y 2 ) zawiera ɛ... itd. wówczas dodaj do FIRST(X) zbiór FIRST(E) = FIRST(E) FIRST(T) = FIRST(T) = { (, id } FIRST(O) = {+, } FIRST(T) = FIRST(F) = { (, id } FIRST(M) = { } FIRST(F) = { (, id } 1
2 FOLLOW - Algorytm: 1. Dla symbolu startowego S w FOLLOW(S) umieszczamy (jeśli S nie pojawia się w innych produkcjach). 2. dla każdej produkcji A αbβ, gdy FIRST(β) nie zawiera ɛ, wszystkie symbole z FIRST(β) umieszczamy w FOLLOW(B). 3. Jeżeli FIRST(β) zawiera ɛ, lub występuje produkcja A αb, wówczas do FOLLOW(B) dodajemy FOLLOW(A). FOLLOW(E) = FIRST(O) { ) } = {+,, )} FOLLOW(O) = FIRST(T) = FIRST(F) = { (, id } FOLLOW(T) = FIRST(M) FOLLOW(E) = {, +,, )} FOLLOW(M) = FIRST(F) = { (, id } FOLLOW(F) = FOLLOW(T) = FIRST(M) = { } Sprawdzenie I reguły gramatycznej, tzn. czy zbiory symboli pierwszych dla każdej produkcji z alternatywą po obu jej stronach są zbiorami rozłącznymi: FIRST(X) FIRST(Y) =. E: FIRST(E) FIRST(T) = FIRST(T) = {(, id} reguła niespełniona. O: {+} { } = reguła spełniona. T: FIRST(T) FIRST(F) = FIRST(F) = {(, id} reguła niespełniona. O: Brak alternatywy - reguła spełniona. F: { ( } {id} = reguła spełniona. II reguła spełniona bowiem żadna produkcja nie generuje znaku pustego ɛ. Produkcje: E, T - eliminacja lewostronnej rekurencji poprzez zastosowanie prawostronnej rekurencji. 2
3 Lewostronna rekurencja oraz sposoby jej eliminacji: Gramatyka jest lewostronnie rekurencyjna, jeśli ma terminal A taki, że istnieje wyprowadzenie A ::= Aα dla napisu α. Powoduje to następujący problem: jeżeli analizujemy tekst of lewej strony nigdy nie dotrzemy do α zatrzymując się za każdy razem na A. 1. W przypadku terminala bezpośrednio rekurencyjnego zastępujemy produkcję o postaci A ::= Aα β następującymi produkcjami: A ::= βa A ::= αa ɛ 2. W przypadku terminala pośrednio lewostronnie rekurencyjnego S ::= Aa b A ::= Ac Sd ɛ należy zastosować rozwinięcie wszystkich produkcji tak, by każda z nich zawierała: po prawej stronie wyłącznie terminale, nieterminale w pozycjach prawostronnie rekurencyjnych lub nieterminal znajdujący się po lewej stronie w pozycji lewostronnie rekurencyjnej, a następnie wykonaniu eliminacji bezpośredniej lewostronnej rekurencji dla wszystkich produkcji. Poprawiona gramatyka: E ::= TE E ::= OTE ɛ O ::= + - T ::= FT T ::= MFT ɛ M ::= 3
4 F ::= (E) id Ponowne sprawdzenie reguł gramatycznych dla poprawionej gramatyki. I reguła gramatyczna (sprawdzamy tylko poprawione produkcje): E: brak alternatywy - reguła spełniona. E : FIRST(O) ɛ = {+, } ɛ = - reguła spełniona. T: brak alternatywy - reguła spełniona. T : FIRST(M) ɛ = { } ɛ = - reguła spełniona. II reguła gramatyczna (sprawdzamy tylko produkcje generujące : A, T ): Dla każdego symbolu nieterminalnego A sprawdzamy czy zbiory symboli pierwszych i następnych są zbiorami rozłącznymi: FIRST(A) FOLLOW(A) =. A : FIRST(E ) = FIRST(O) ɛ = {+, } ɛ = {+,, ɛ} FOLLOW(E ) = FOLLOW(E) = FIRST(E ) FOLLOW(E ) = {+,, ɛ} = - reguła spełniona. T : FIRST(T ) = FIRST(M) ɛ = { } ɛ = {, ɛ} FOLLOW(T ) = FOLLOW(T) = FIRST(E ) = FIRST(O) ɛ = {+,, ɛ} FIRST(T ) FOLLOW(T ) = {, ɛ} {+,, ɛ} = ɛ - reguła spełniona, bowiem występowanie ɛ jest równoznaczne brakowi symbolu. Wyprowadzenie napisu id id z poprawionej gramatyki E: E T E F T E idt E idmf T E id F T E id idt E id idɛe id idɛɛ id id. 0.2 Lewostronna faktoryzacja Proces faktoryzacji gramatyki polega na tym, że kiedy nie jest jasne, którą z produkcji wybrać do rozwinięcia nieterminala w drzewie składniowym, należy przepisać tę produkcję, a decyzję o ich wyborze odłożyć do chwili aż przeczytanych zostanie więcej znaków wejściowych. Produkcja α α ::= αβ αβδ 4
5 zostanie zamieniona na równoważne następujące za pomocą lewostronnej faktoryzacji. Lewostronna faktoryzacja: Należy zastąpić produkcję A ::= αξ 1 αξ 2 αξ 3... αξ n produkcjami: A ::= αa A ::= ξ 1 ξ 2... ξ n. α ::= αβφ φ ::= δ ɛ lub Lewostronna faktoryzacja: Należy zastąpić produkcję A ::= α αξ produkcjami: A ::= αa A ::= ξ ɛ Weźmy następujące dwie produkcje: instr if wyr then instr else instr instr if wyr then instr Jeśli na wejściu widzimy if, wówczas nie wiemy, którą produkcję wybrać. Należy wtedy wyciągnąć pierwszą - wspólną dla obu produkcji część przed nawias, otrzymując następujące produkcje: instr if wyr then instr cześć-else część-else else instr ɛ. 5
Wykład 5. Jan Pustelnik
Wykład 5 Jan Pustelnik Konstruowanie parsera Istnieje kilka podstawowych metod konstrukcji parsera bez nawracania Ze względów wydajnościowych parser bez nawracania jest jedynym sensownym rozwiązaniem (prawo
Bardziej szczegółowoMetody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT
Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd Analiza Syntaktyczna Wstęp Parser dostaje na wejściu ciąg tokenów od analizatora leksykalnego i sprawdza: czy ciąg ten może być generowany przez gramatykę.
Bardziej szczegółowoAnaliza metodą zstępującą. Bartosz Bogacki.
Analiza metodą zstępującą Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy analizy metodą zstępującą. Zapraszam serdecznie do wysłuchania.
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 3
Języki formalne i automaty Ćwiczenia 3 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Algorytm LL(1)... 2 Definicja zbiorów FIRST1 i FOLLOW1... 3 Konstrukcja tabeli parsowania
Bardziej szczegółowoMetody Kompilacji Wykład 7 Analiza Syntaktyczna
Metody Kompilacji Wykład 7 Analiza Syntaktyczna Parsowanie Parsowanie jest to proces określenia jak ciąg terminali może być generowany przez gramatykę. Włodzimierz Bielecki WI ZUT 2/57 Parsowanie Dla każdej
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 4
Języki formalne i automaty Ćwiczenia 4 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Sposób tworzenia deterministycznego automatu skończonego... 4 Intuicyjne rozumienie konstrukcji
Bardziej szczegółowoWprowadzenie do analizy składniowej. Bartosz Bogacki.
Wprowadzenie do analizy składniowej Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy wprowadzenia do analizy składniowej. Zapraszam serdecznie
Bardziej szczegółowo3.4. Przekształcenia gramatyk bezkontekstowych
3.4. Przekształcenia gramatyk bezkontekstowych Definicje Niech będzie dana gramatyka bezkontekstowa G = G BK Symbol X (N T) nazywamy nieużytecznym w G G BK jeśli nie można w tej gramatyce
Bardziej szczegółowoJAO - Wprowadzenie do Gramatyk bezkontekstowych
JAO - Wprowadzenie do Gramatyk bezkontekstowych Definicja gramatyki bezkontekstowej Podstawowymi narzędziami abstrakcyjnymi do opisu języków formalnych są gramatyki i automaty. Gramatyka bezkontekstowa
Bardziej szczegółowoJIP. Analiza składni, gramatyki
JIP Analiza składni, gramatyki Książka o różnych językach i paradygmatach 2 Polecam jako obowiązkową lekturę do przeczytania dla wszystkich prawdziwych programistów! Podsumowanie wykładu 2 3 Analiza leksykalna
Bardziej szczegółowoAnalizator syntaktyczny
Analizator syntaktyczny program źródłowy analizator leksykalny token daj nast. token analizator syntaktyczny drzewo rozbioru syntaktycznego analizator semantyczny kod pośredni tablica symboli Analizator
Bardziej szczegółowoUsuwanie lewostronnej rekursji. Usuwanie lewostronnej faktoryzacji. Wyznaczanie zbioru FIRST. Wyznaczanie zbioru FOLLOW. Konstrukcja parsera LL
Usuwanie lewostronnej rekursji A Aα β Np. A A+B C A βa A CA A αa ε A +BA ε Usuwanie lewostronnej faktoryzacji A αβ 1... αβ k Np. A ab a A αa A aa A β 1... β k A B ε Wyznaczanie zbioru FIRST 1) A xβ x T
Bardziej szczegółowoEfektywna analiza składniowa GBK
TEORETYCZNE PODSTAWY INFORMATYKI Efektywna analiza składniowa GBK Rozbiór zdań i struktur zdaniowych jest w wielu przypadkach procesem bardzo skomplikowanym. Jego złożoność zależy od rodzaju reguł produkcji
Bardziej szczegółowo2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego
2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną G = gdzie: N zbiór symboli nieterminalnych, T zbiór symboli terminalnych, P zbiór
Bardziej szczegółowoLingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań
Katedra Informatyki Stosowanej Politechnika Łódzka Lingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań dr hab. inŝ. Lidia Jackowska-Strumiłło Historia rozwoju języków programowania 1955 1955
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 1
Języki formalne i automaty Ćwiczenia Autor: Marcin Orchel Spis treści Spis treści... Wstęp teoretyczny... 2 Wprowadzenie do teorii języków formalnych... 2 Gramatyki... 5 Rodzaje gramatyk... 7 Zadania...
Bardziej szczegółowoPARADYGMATY I JĘZYKI PROGRAMOWANIA. Analiza leksykalna i syntaktyczna. w- 5
PARADYGMATY I JĘZYKI PROGRAMOWANIA Analiza leksykalna i syntaktyczna. Treść 2 Wstęp Analiza leksykalna Analiza syntaktyczna Rekurencja zstępująca Parsery LL Parsery LL sterowane tablicą 3 Wstęp dobra książka
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 2
Języki formalne i automaty Ćwiczenia 2 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Metoda brute force... 2 Konwersja do postaci normalnej Chomskiego... 5 Algorytm Cocke a-youngera-kasamiego
Bardziej szczegółowoGramatyki rekursywne
Gramatyki bezkontekstowe, rozbiór gramatyczny eoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki rekursywne Niech będzie dana gramatyka bezkontekstowa G =
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Gramatyki bezkontekstowe I Gramatyką bezkontekstową
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 8
Języki formalne i automaty Ćwiczenia 8 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Konwersja NFA do DFA... 2 Minimalizacja liczby stanów DFA... 4 Konwersja automatu DFA do
Bardziej szczegółowoAutomat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki
Automat ze stosem Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem (1) dno stosu Stos wierzchołek stosu Wejście # B B A B A B A B a b b a b a b $ q i Automat ze
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 9
Języki formalne i automaty Ćwiczenia 9 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Maszyna Mealy'ego... 2 Maszyna Moore'a... 2 Automat ze stosem... 3 Konwersja gramatyki bezkontekstowej
Bardziej szczegółowoGramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka
Gramatyki, wyprowadzenia, hierarchia Chomsky ego Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G =
Bardziej szczegółowoGramatyka operatorowa
Gramatyki z pierwszeństwem operatorów Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka operatorowa Definicja: G = G BK jest gramatyką operatorową (i) (ii) G jest gramatyką
Bardziej szczegółowoJAO - lematy o pompowaniu dla jezykow bezkontekstowy
JAO - lematy o pompowaniu dla jezykow bezkontekstowych Postać normalna Chomsky ego Gramatyka G ze zbiorem nieterminali N i zbiorem terminali T jest w postaci normalnej Chomsky ego wtw gdy każda produkcja
Bardziej szczegółowoZadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ)
Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też L = {vw : vuw L dla pewnego u A takiego, że u = v + w } Rozwiązanie. Niech A =
Bardziej szczegółowoGramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.
Gramatyki grafowe Def. Nieskierowany NL-graf (etykietowane wierzchołki) jest czwórką g = (V, E, Σ, ϕ), gdzie: V niepusty zbiór wierzchołków, E V V zbiór krawędzi, Σ - skończony, niepusty alfabet etykiet
Bardziej szczegółowo11 Probabilistic Context Free Grammars
11 Probabilistic Context Free Grammars Ludzie piszą i mówią wiele rzeczy, a ich wypowiedzi mają zawsze jakąś określoną strukture i regularność. Celem jest znalezienie i wyizolowanie tego typu struktur.
Bardziej szczegółowoMetody Kompilacji Wykład 13
Metody Kompilacji Wykład 13 Prosty Translator Translator dla prostych wyrażeń Schemat translacji sterowanej składnią często służy za specyfikację translatora. Schemat na następnym slajdzie zostanie użyty
Bardziej szczegółowoHierarchia Chomsky ego
Hierarchia Chomsky ego Gramatyki nieograniczone Def. Gramatyką nieograniczoną (albo typu 0) nazywamy uporządkowaną czwórkę G= gdzie: % Σ - skończony alfabet symboli końcowych (alfabet, nad którym
Bardziej szczegółowo10. Translacja sterowana składnią i YACC
10. Translacja sterowana składnią i YACC 10.1 Charakterystyka problemu translacja sterowana składnią jest metodą generacji przetworników tekstu języków, których składnię opisano za pomocą gramatyki (bezkontekstowej)
Bardziej szczegółowoObliczenia inspirowane Naturą
Obliczenia inspirowane Naturą Wykład 05 Biologia i gramatyka Jarosław Miszczak IITiS PAN Gliwice 07/04/2016 1 / 40 1 Nieformalne określenie fraktali. 2 Wymiar pudełkowy/fraktalny. 3 Definicja fraktali.
Bardziej szczegółowoAnaliza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki
Analiza leksykalna 1 Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych (tokenów)
Bardziej szczegółowoTeoretyczne podstawy informatyki. Wykład 12: Gramatyki. E. Richter-Was 1
Teoretyczne podstawy informatyki Wykład 12: Gramatyki 1 18.12.2012 Gramatyki bezkontekstowe Opis wzorców polegający na wykorzystaniu modelu definicji rekurencyjnych, nazywamy gramatyką bezkontekstową (ang.
Bardziej szczegółowoPrzegląd metod error recovery (dla parsingu top-down, przykłady)
Referat z przedmiotu Teoria Kompilacji Przegląd metod error recovery (dla parsingu top-down, przykłady) Skąd biorą się błędy? Proces obsługi błędów zajmuje się defektami powstającymi z powodu błędów w
Bardziej szczegółowoMetody Kompilacji Wykład 3
Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy
Bardziej szczegółowoObliczenia inspirowane Naturą
Obliczenia inspirowane Naturą Wykład 04 Systemy Lindenmayera Jarosław Miszczak IITiS PAN Gliwice 19/10/2016 1 / 37 1 L-Systemy 2 GroIMP i XL ALife 2 / 37 L-Systemy L-systemy czyli systemy Lindenmayera.
Bardziej szczegółowoZadanie analizy leksykalnej
Analiza leksykalna 1 Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Przykład: We: COST := ( PRICE + TAX ) * 0.98 Wy: id 1 := ( id 2 + id 3 ) * num 4 Tablica symboli:
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Automat ze stosem Automat ze stosem to szóstka
Bardziej szczegółowoWykład 10. Translacja sterowana składnią
Wykład 10 Translacja sterowana składnią Translacja sterowana składnią Z konstrukcjami języków programowania wiąże się pewną informację przez dołączenie atrybutów do symboli gramatyki reprezentujących te
Bardziej szczegółowoJĘZYKI FORMALNE I METODY KOMPILACJI
Stefan Sokołowski JĘZYKI FORMALNE I METODY KOMPILACJI Inst Informatyki Stosowanej, PWSZ Elbląg, 2015/2016 JĘZYKI FORMALNE reguły gry Wykład1,str1 Zasadnicze informacje: http://iispwszelblagpl/ stefan/dydaktyka/jezform
Bardziej szczegółowoGRAMATYKI BEZKONTEKSTOWE
GRAMATYKI BEZKONTEKSTOWE PODSTAWOWE POJĘCIE GRAMATYK Przez gramatykę rozumie się pewien układ reguł zadający zbiór słów utworzonych z symboli języka. Słowa te mogą być i interpretowane jako obiekty językowe
Bardziej szczegółowoDefiniowanie języka przez wyrażenie regularne(wr)
Wykład3,str1 Definiowanie języka przez wyrażenie regularne(wr) DEFINICJA: (wyrażenia regularne) M(specjalneznakinienależącedoalfabetu:{,},, ) literyalfabetusąwr złożeniawrsąwr: jeśliw 1 iw 2 sąwr,to{w
Bardziej szczegółowoPodstawy generatora YACC. Bartosz Bogacki.
Podstawy generatora YACC Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy generatora analizatorów składniowych YACC. Zapraszam serdecznie
Bardziej szczegółowoObiektowa implementacja parsera klasy LL(1)
Obiektowa implementacja parsera klasy LL(1) Piotr Jeruszka 1 1 Wydział Inżynierii Mechanicznej i Informatyki Kierunek Informatyka, II stopień Specjalność: Aplikacje biznesowe i bazy danych, Rok II Streszczenie
Bardziej szczegółowoGenerator LLgen. Wojciech Complak Generator LLgen - charakterystyka. Generator LLgen -składnia specyfikacji
Plan wykładu Wojciech Complak Wojciech.Complak@cs.put.poznan.pl charakterystyka generatora LLgen składnia specyfikacji analizatora składniowego dołączanie analizatora leksykalnego rozszerzenia składni
Bardziej szczegółowoLista 5 Gramatyki bezkontekstowe i automaty ze stosem
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Teoretyczne Podstawy Informatyki Lista 5 Gramatyki bezkontekstowe i automaty ze stosem 1 Wprowadzenie 1.1 Gramatyka bezkontekstowa
Bardziej szczegółowoMetodologie programowania
Co kształtuje języki programowania? Wykład2,str.1 Metodologie programowania Koszty obliczeń: 1980 1960:sprzętdrogi,a wysiłek programistów niewielki 1970: sprzęt coraz tańszy, a programowane problemy coraz
Bardziej szczegółowoDopełnienie to można wyrazić w następujący sposób:
1. (6 punktów) Czy dla każdego regularnego L, język f(l) = {w : każdy prefiks w długości nieparzystej należy do L} też jest regularny? Odpowiedź. Tak, jęsli L jest regularny to też f(l). Niech A będzie
Bardziej szczegółowoMaszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu
Problem Hilberta: 9 Czy istnieje ogólna mechaniczna procedura, która w zasadzie pozwoliłaby nam po kolei rozwiązać wszystkie matematyczne problemy (należące do odpowiednio zdefiniowanej klasy)? 2 Przykłady
Bardziej szczegółowoOpis wzorców polegający na na wykorzystaniu modelu definicji rekurencyjnych, nazywamy gramatyką bezkontekstową (ang. contex-free grammar).
1 2 Opis wzorców polegający na na wykorzystaniu modelu definicji rekurencyjnych, nazywamy gramatyką bezkontekstową (ang. contex-free grammar). Jednym z ważnych zastosowań gramatyksą specyfikacje języków
Bardziej szczegółowoWprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy
Wprowadzenie do programowania języki i gramatyki formalne dr hab. inż. Mikołaj Morzy plan wykładu wprowadzenie gramatyki podstawowe definicje produkcje i drzewa wywodu niejednoznaczność gramatyk hierarchia
Bardziej szczegółowoProgramowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994]
Programowanie w Logice Gramatyki metamorficzne Przemysław Kobylański na podstawie [CM2003] i [SS1994] Gramatyki bezkontekstowe Gramatyką bezkontekstową jest uporządkowana czwórka G = Σ, N, S, P, gdzie
Bardziej szczegółowoUproszczony schemat działania kompilatora
Uproszczony schemat działania kompilatora Wykład7,str.1 program źródłowy ciąg leksemów drzewo wywodu drzewo i tablice symboli analiza leksykalna analiza syntaktyczna analiza semantyczna KOMPILATOR generacja
Bardziej szczegółowoDefinicja macierzy Typy i właściwości macierzy Działania na macierzach Wyznacznik macierzy Macierz odwrotna Normy macierzy RACHUNEK MACIERZOWY
Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Czym jest macierz? Definicja Macierzą A nazywamy funkcję
Bardziej szczegółowoRACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska
RACHUNEK MACIERZOWY METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Czym jest macierz? Definicja Macierzą A nazywamy
Bardziej szczegółowoPodstawy kompilatorów. Generator LLgen. Wojciech Complak.
Generator LLgen Wojciech Complak Wojciech.Complak@cs.put.poznan.pl 1 Plan wykładu charakterystyka generatora LLgen składnia specyfikacji analizatora składniowego dołączanie analizatora leksykalnego rozszerzenia
Bardziej szczegółowoTRANSLACJA I TRANSLATORY
TRANSLACJA I TRANSLATORY Języki programowania niskiego czy też wysokiego poziomu mają na zadanie przetworzyć ogół algorytmów w nich zapisanych na taką postać aby maszyna cyfrowa była w stanie je wykonać
Bardziej szczegółowoMetody Realizacji Języków Programowania
1/54 Metody Realizacji Języków Programowania Analiza składniowa wstępujaca Marcin Benke MIM UW 9 stycznia 2015 2/54 Analiza wstępujaca metoda LR Od Lewej, prawostronne wyprowadzenie (w odwrotnej kolejności)
Bardziej szczegółowoProgram We Kompilator Wy Źródłowy
1. Aho A.V., Ullman J.D. - The Theory of Parsing, Translation and Compiling.1972. 2. Foster J.M. - Automatyczna analiza składniowa. 1976 3. Gries D. - Konstrukcja translatorów dla maszyn cyfrowych, 1984
Bardziej szczegółowoGramatyki atrybutywne
Gramatyki atrybutywne, część 1 (gramatyki S-atrybutywne Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki atrybutywne Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji
Bardziej szczegółowoTranslacja sterowana składnią w generatorze YACC
Translacja sterowana składnią w generatorze YACC Wojciech Complak Wojciech.Complak@cs.put.poznan.pl 1 Plan wykładu zasady implementacji translacji sterowanej składnią w generatorze YACC korzystanie z atrybutów
Bardziej szczegółowoGranica funkcji. 16 grudnia Wykład 5
Granica funkcji 16 grudnia 2010 Tw. o trzech funkcjach Twierdzenie Niech f, g, h : R D R będa funkcjami takimi, że lim f (x) = lim h(x), x x 0 x x0 gdzie x 0 D. Jeżeli istnieje otoczenie punktu x 0 w którym
Bardziej szczegółowoJęzyki i gramatyki formalne
Języki i gramatyki formalne Języki naturalne i formalne Cechy języka naturalnego - duża swoboda konstruowania zdań (brak ścisłych reguł gramatycznych), duża ilość wyjątków. Języki formalne - ścisły i jednoznaczny
Bardziej szczegółowoGramatyki regularne i automaty skoczone
Gramatyki regularne i automaty skoczone Alfabet, jzyk, gramatyka - podstawowe pojcia Co to jest gramatyka regularna, co to jest automat skoczony? Gramatyka regularna Gramatyka bezkontekstowa Translacja
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 5
Języki formalne i automaty Ćwiczenia 5 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 L-systemy... 2 Grafika żółwia... 2 Bibliografia... 5 Zadania... 6 Zadania na 3.0... 6 Zadania
Bardziej szczegółowoAnaliza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą
Bardziej szczegółowoJęzyki, automaty i obliczenia
Języki, automaty i obliczenia Wykład 12: Gramatyki i inne modele równoważne maszynom Turinga. Wstęp do złożoności obliczeniowej Sławomir Lasota Uniwersytet Warszawski 20 maja 2015 Plan 1 Gramatyki 2 Języki
Bardziej szczegółowoAlgorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin
Algorytmy stochastyczne, wykład 5, modelowanie roślin Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 214-3-2 1 2 3 ze stosem Przypomnienie gramatyka to system (Σ, A, s,
Bardziej szczegółowoGenerator YACC: gramatyki niejednoznaczne
Plan wykładu Generator YACC: gramatyki niejednoznaczne Wojciech Complak Wojciech.Complak@cs.put.poznan.pl gramatyki jednoznaczne i niejednoznaczne zalety gramatyk niejednoznacznych opisywanie łączności
Bardziej szczegółowo1. Maszyna Turinga, gramatyki formalne i ONP
1. Maszyna uringa, gramatyki formalne i OP 1.1.Maszyna uringa Automat skończony składa się ze skończonego zbioru stanów i zbioru przejść ze stanu do stanu, zachodzących przy różnych symbolach wejściowych
Bardziej szczegółowoStrategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
Bardziej szczegółowoSyntax Analyzer Parser
Syntax Analyzer Parser ASU Textbook Chapter 4.24.5, 4.7, 4.8 Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 a program represented by a sequence of tokens Main tasks parser
Bardziej szczegółowoZYKI BEZKONTEKSTOWE (KLASA
Spis treści 6. JĘZYKI BEZKONTEKSTOWE (KLASA "2")... 2 6.1. GRAMATYKI BEZKONTEKSTOWE... 2 6.2. AUTOMATY ZE STOSEM... 12 7. DETERMINISTYCZNE JĘZYKI BEZKONTEKSTOWE I ICH AKCEPTORY... 16 7.1. GRAMATYKI I JĘZYKI
Bardziej szczegółowoHierarchia Chomsky ego Maszyna Turinga
Hierarchia Chomsky ego Maszyna Turinga Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G = V skończony zbiór
Bardziej szczegółowoOdtworzenie wywodu metodą wstępującą (bottom up)
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
Bardziej szczegółowoUproszczony schemat działania kompilatora
Wykład7,13XI2009,str.1 Uproszczony schemat działania kompilatora program źródłowy ciąg leksemów drzewo wywodu drzewo i tablice symboli analiza leksykalna analiza syntaktyczna analiza semantyczna KOMPILATOR
Bardziej szczegółowoMATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI
MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI Program wykładów: dr inż. Barbara GŁUT Wstęp do logiki klasycznej: rachunek zdań, rachunek predykatów. Elementy semantyki. Podstawy teorii mnogości
Bardziej szczegółowoAlgorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 6
Języki formalne i automaty Ćwiczenia 6 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Wyrażenia regularne... 2 Standardy IEEE POSIX Basic Regular Expressions (BRE) oraz Extended
Bardziej szczegółowovf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ).
6. Wykład 6: Rachunek predykatów. Język pierwszego rzędu składa się z: symboli relacyjnych P i, i I, gdzie (P i ) oznaczać będzie ilość argumentów symbolu P i, symboli funkcyjnych f j, j J, gdzie (f j
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 7
Języki formalne i automaty Ćwiczenia 7 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Automaty... 2 Cechy automatów... 4 Łączenie automatów... 4 Konwersja automatu do wyrażenia
Bardziej szczegółowo(j, k) jeśli k j w przeciwnym przypadku.
Zadanie 1. (6 punktów) Rozważmy język słów nad alfabetem {1, 2, 3}, w których podciąg z pozycji parzystych i podciąg z pozycji nieparzystych są oba niemalejące. Na przykład 121333 należy do języka, a 2111
Bardziej szczegółowoTranslacja sterowana składnią w metodzie zstępującej
Translacja sterowana składnią w metodzie zstępującej Wojciech Complak Wojciech.Complak@cs.put.poznan.pl 1 Plan wykładu translacja sterowana składnią definicje sterowane składnią i schematy translacji atrybuty
Bardziej szczegółowoDalszy ciąg rachunku zdań
Dalszy ciąg rachunku zdań Wszystkie możliwe funktory jednoargumentowe p f 1 f 2 f 3 f 4 0 0 0 1 1 1 0 1 0 1 Wszystkie możliwe funktory dwuargumentowe p q f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f 10 f 11 f
Bardziej szczegółowoInformacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Bardziej szczegółowoBison - generator analizatorów składniowych
Bison - generator analizatorów składniowych Spis treści: 1. Wprowadzenie 2. Specyfikacja Deklaracje Reguły Procedury pomocnicze 3. Prosty przykład 4. Uruchamianie 5. Rozstrzyganie niejednoznaczności Konflikty
Bardziej szczegółowoGranica funkcji. 27 grudnia Granica funkcji
27 grudnia 2011 Punkty skupienia Definicja Niech D R będzie dowolnym zbiorem. Punkt x 0 R nazywamy punktem skupienia zbioru D jeżeli δ>0 x D\{x0 } : x x 0 < 0. Zbiór punktów skupienia zbioru D oznaczamy
Bardziej szczegółowoPodstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
Bardziej szczegółowoJĘZYKI FORMALNE I METODY KOMPILACJI
Stefan Sokołowski JĘZYKI FORMALNE I METODY KOMPILACJI Inst Informatyki Stosowanej, PWSZ Elbląg, 2018/2019 JĘZYKI FORMALNE reguły gry Wykład1,str1 Zasadnicze informacje: http://iispwszelblagpl/ stefan/dydaktyka/jezform
Bardziej szczegółowo12. Rekurencja. UWAGA Trzeba bardzo dokładnie ustalić <warunek>, żeby mieć pewność, że ciąg wywołań się zakończy.
12. Rekurencja. Funkcja rekurencyjna funkcja, która wywołuje samą siebie. Naturalne postępowanie: np. zbierając rozsypane pionki do gry podnosi się zwykle pierwszy, a potem zbiera się resztę w ten sam
Bardziej szczegółowoMatematyczna wieża Babel. 3. Gramatyki o językach bezkontekstowych materiały do ćwiczeń
Matematyczna wieża Babel. 3. Gramatyki o językach bezkontekstowych materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 21 marca 2019 1 Gramatyki! Gramatyka to taki przepis
Bardziej szczegółowoJĘZYKIFORMALNE IMETODYKOMPILACJI
Stefan Sokołowski JĘZYKIFORMALNE IMETODYKOMPILACJI Inst. Informatyki Stosowanej, PWSZ Elbląg, 2009/2010 JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.1 Zasadnicze informacje: http://iis.pwsz.elblag.pl/
Bardziej szczegółowoWstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka.
Wstęp do Programowania Obiektowego Wykład 13 Paradygmaty. Składnia i semantyka. 1 PRZEGLĄD PODSTAWOWYCH PARADYGMATÓW 2 Cztery podstawowe paradygmaty 1. Programowanie imperatywne. 2. Programowanie funkcyjne.
Bardziej szczegółowo5. JĘZYKI BEZKONTEKSTOWE (KLASA "2") GRAMATYKI BEZKONTEKSTOWE AUTOMATY ZE STOSEM DETERMINISTYCZNE JĘZYKI BEZKONTEKSTOWE I
5. JĘZYKI BEZKONTEKSTOWE (KLASA "2")...2 5.1. GRAMATYKI BEZKONTEKSTOWE...2 5.2. AUTOMATY ZE STOSEM...12 6. DETERMINISTYCZNE JĘZYKI BEZKONTEKSTOWE I ICH AKCEPTORY...16 6.1. GRAMATYKI I JĘZYKI LR...16 7.
Bardziej szczegółowoPodstawy Informatyki Gramatyki formalne
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Języki i gramatyki Analiza syntaktyczna Semantyka 2 Podstawowe pojęcia Gramatyki wg Chomsky ego Notacja Backusa-Naura
Bardziej szczegółowo1. Podstawy budowania wyra e regularnych (Regex)
Dla wi kszo ci prostych gramatyk mo na w atwy sposób napisa wyra enie regularne które b dzie s u y o do sprawdzania poprawno ci zda z t gramatyk. Celem niniejszego laboratorium b dzie zapoznanie si z wyra
Bardziej szczegółowoAndrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ 1 Inferencyjna równoważność formuł Definicja 9.1. Formuła A jest
Bardziej szczegółowoAnaliza semantyczna. Gramatyka atrybutywna
Analiza semantyczna Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji na temat składni języka podlegającego tłumaczeniu, translator musi posiadać możliwość korzystania z wielu innych informacji
Bardziej szczegółowo