JĘZYKI FORMALNE I METODY KOMPILACJI
|
|
- Judyta Turek
- 6 lat temu
- Przeglądów:
Transkrypt
1 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: stefan/dydaktyka/jezform slajdy do wykładów można(należy) robić notatki ale nie warto przepisywać slajdów z ekranu szkicowy program wykładu i laboratorium zadania z laboratorium spis literatury itd Uwaga: przeczytanie tych materiałów nie wystarczy do zaliczenia!
2 JĘZYKI FORMALNE reguły gry Wykład1,str2 Kontakt ze mną: konsultacje: soboty, 10:45 11:30, w pok 322 poniedziałki, 11:15 12:00, w pok ssokolowski@pwszelblagpl antyspam: unikać frikoprowajderów; najlepiej używać konta mailowego w IIS PWSZ Wymaganie wstępne: zaliczone Podstawy programowania JĘZYKI FORMALNE reguły gry Wykład1,str3 Zaliczenie przedmiotu: laboratorium:min56pktna100 wykład:min56pktna100(doliczamewpunktydodatkowezaaktywność w trakcie wykładu i za znalezienie błędów w slajdach) NIE MA ZWOLNIEŃ! ocenaostateczna:04 laboratorium+06 wykład Skala ocen:
3 Napisy w różnych językach Wykład1,str4 chińskie przysłowie: lód o grubości trzech stóp nie bierze się z jednego mroźnego dnia preludium i fuga C-dur Bacha Napisy w różnych językach Wykład1,str5 Interesują nas napisy liniowe, w których znaki następują jeden za drugim, jednowymiarowo Nie interesują nas napisy wielowymiarowe Wetlina, Berehy i Połonina Caryńska
4 Język formalny Wykład1,str6 (nieformalny) M {a,aback,abandon,abase,,zoom} język(skończony) składający się ze słów języka angielskiego {0,1,10,11,100,101,} język(nieskończony) składający się z liczb binarnych { a n b n n 0 } ={λ,ab,aabb,aaabbb,} język(nieskończony) składający się z takich słów, w których występujątylkoliteryaib, liczbaliterajestrównaliczbieliterb, wszystkie litery a poprzedzają wszystkie litery b Język formalny Wykład1,str7 DEFINICJA: MΣ skończony niepusty alfabet, czyli zbiór tzw liter słowo dowolny ciąg skończonej długości o elementach z Σ Σ zbiórwszystkichsłów język dowolnyzbiórsłówl Σ nie mylić! Mλ słowopuste(ciągliterodługości0) Uwaga:toniejestlitera! def ={} język pusty(nie zawierający żadnego słowa) Λ def ={λ} język zawierający wyłącznie słowo puste M1( 2 1)(1 (2 1)() słowonadalfabetemσ def ={(,),,,1,2} {λ,a,b,ab,ba} języknadalfabetemσ def ={a,b}zawierającypięćsłów { } a n n 0 ={λ,a,aa,aaa,} jęznieskończnadalfσ def ={a}
5 Jak porządnie opisać język nieskończony? Wykład1,str8 {λ,ab,aabb,aaabbb,} cooznaczająkropeczki? { a n b n n 0 } lepiej,alesąniepożądaneelementyobce (liczby,zmienne,relacje,) Język definiujemy na dwa sposoby Przez generator cokolwiek wyprodukuje, uważamy za należące do języka akceptor cokolwiek zatwierdzi, uważamy za należące do języka Opis języka programowania przeznaczony dla programisty powinien być generatorem ma wyjaśniać, jak pisać poprawne programy Kompilator języka programowania powinien zawierać akceptor sprawdzający, czy program na jego wejściu należy do języka Generatory: gramatyki bezkontekstowe Wykład1,str9 DEFINICJA: Gramatyka bezkontekstowa G czwórka Σ, N, P, S M alfabetterminalnyσ; alfabet nieterminalny lub pomocniczy N(rozłączny z Σ); skończonyzbiórpprodukcjipostacia w, gdziea Niw (N Σ) ; wybrany nieterminal S N nazywany symbolem początkowym albo aksjomatem gramatyki MTerminale: a, b Nieterminale: A Produkcje: A λ A aaa A bab
6 DEFINICJA: Wywodliwość uav M G uwv czyli uwv jest bezpośrednio wywodliwe z uav Wykład1,str10 def wpjestprodukcja A w w 1 Gw n czyli w n jestwywodliwezw 1 def w 1 G w 2 w 2 G w 3 w n 1 G w n DEFINICJA: Język L(G) generowany przez gramatykę G Mskłada się z tych słów{ wywodliwych z aksjomatu, które już nie zawierają nieterminali:l(g) def = w Σ S G w } MGramatyka: A λ A aaa A bab A bab bbabb bbaaabb bbaabb qq A bbaabb L(G) Fakt: ML(G)= { ww R w {a,b} } NIE MYLIĆ: Wykład1,str11 A λ A 0A1 formalny symbol w produkcji w gramatyce relacja bezpośredniej wywodliwości: jeślia wtoa w alenp0a1 00A11 anieprawda,że0a1 00A11 relacjawywodliwości: jeśliw 1 w 2 tow 1 w 2 alenpa 0011 anieprawda,żea 0011
7 Wykład1,str12 MGramatykaG: E T E E+T T F T T F F a F (E) E E+T T+T F+T a+t a+t F a+f F a+a F a+a a F+T F F+F F Wykład1,str13 MGramatykaG: E T E E+T T F T T F F a F (E) E T F (E) (E+T) (T+T) (F+T) (a+t) (a+f) (a+a) F+T F F+F F L(G)=wyrażeniaarytmetycznezbudowaneza,+,,(i)
JĘ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
JĘ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/
JĘZYKI FORMALNE I METODY KOMPILACJI
Stefan Sokołowski JĘZYKI FORMALNE I METODY KOMPILACJI Inst Informatyki Stosowanej, PWSZ Elbląg, 2012/2013 JĘZYKI FORMALNE reguły gry Wykład1i2,str1 Zasadnicze informacje: http://iispwszelblagpl/ stefan/dydaktyka/jezform
Metodologie 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
Wykład5,str.1. Maszyny ze stosem ... 1,0 λ r. λ,z λ
Wykład5,str1 p 0,Z 0Z 0,0 00 q λ,z λ r Wykład5,str1 Słowo na wejściu: 0011 część nieprzeczytana Z p 0,Z 0Z 0,0 00 q λ,z λ r Wykład5,str1 Słowo na wejściu: 0011 część nieprzeczytana 0 Z p 0,Z 0Z 0,0 00
JAO - 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
Definiowanie 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
Gramatyki, 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 =
2.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
Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura
Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty Dr inŝ. Janusz Majewski Katedra Informatyki Literatura Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques
Ję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...
Gramatyki (1-2) Definiowanie języków programowania. Piotr Chrząstowski-Wachjtel
Gramatyki (1-2) Definiowanie języków programowania Piotr Chrząstowski-Wachjtel Zagadnienia Jak zdefiniować język programowania? Gramatyki formalne Definiowanie składni Definiowanie semantyki l 2 Pożądane
Hierarchia 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
Programowanie 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
Symbol, alfabet, łańcuch
Łańcuchy i zbiory łańcuchów Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Symbol, alfabet, łańcuch Symbol Symbol jest to pojęcie niedefiniowane (synonimy: znak, litera)
Automat 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
GRAMATYKI 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
Wprowadzenie 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
Ję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
Wprowadzenie 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
Języki, automaty i obliczenia
Języki, automaty i obliczenia Wykład 9: Własności języków bezkontekstowych Sławomir Lasota Uniwersytet Warszawski 27 kwietnia 2016 Plan 1 Pompowanie języków bezkontekstowych 2 Własności domknięcia 3 Obrazy
JĘZYKI PROGRAMOWANIA
Stefan Sokołowski JĘZYKI PROGRAMOWANIA Inst Informatyki UG, Gdańsk, 2014/2015 Wykład1OGÓLNEINFORMACJEOC,str1 JĘZYKI PROGRAMOWANIA reguły gry Zasadnicze informacje: http://infugedupl/ stefan/dydaktyka/jezprog
Ję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
Gramatyki 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
Analiza 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)
Algorytmy 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,
Matematyczne 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ą
Gramatyki 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 =
Ję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
Obliczenia 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.
Maszyna Turinga języki
Maszyna Turinga języki Teoria automatów i języków formalnych Dr inż. Janusz Majewski Katedra Informatyki Maszyna Turinga (1) b b b A B C B D A B C b b Q Zależnie od symbolu obserwowanego przez głowicę
Stefan Sokołowski JĘZYKIPROGRAMOWANIA. Inst. Informatyki UG, Gdańsk, 2012/2013
Stefan Sokołowski JĘZYKIPROGRAMOWANIA Inst Informatyki UG, Gdańsk, 2012/2013 Wykład1OGÓLNEINFORMACJEOC,str1 JĘZYKI PROGRAMOWANIA reguły gry Zasadnicze informacje: http://infugedupl/ stefan/dydaktyka/jezprog
Jaki język zrozumie automat?
Jaki język zrozumie automat? Wojciech Dzik Instytut Matematyki Uniwersytet Śląski Katowice wojciech.dzik@us.edu.pl 7. Forum Matematyków Polskich, 12-17 września 2016, Olsztyn Prosty Automat do kawy Przemawiamy
KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204
Opracował: prof. dr hab. inż. Jan Kazimierczak KATEDA INFOMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 204 Temat: Hardware'owa implementacja automatu skończonego pełniącego
Zadanie 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:
Analiza 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
Efektywna 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
Ję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
Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33
Klasyczne i kwantowe podejście do teorii automatów i języków formalnych mgr inż. Olga Siedlecka olga.siedlecka@icis.pcz.pl Zakład Informatyki Stosowanej i Inżynierii Oprogramowania Instytut Informatyki
Gramatyki 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
Gramatyki 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
Zadanie 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 =
Ję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
Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń
Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 4 kwietnia 2019 1 Dodajmy kontekst! Rozważaliśmy
SZTUCZNA INTELIGENCJA
Stefan Sokołowski SZTUCZNA INTELIGENCJA Inst Informatyki UG, Gdańsk, 2009/2010 Wykład1,17II2010,str1 SZTUCZNA INTELIGENCJA reguły gry Zasadnicze informacje: http://infugedupl/ stefan/dydaktyka/sztintel/
Hierarchia 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
JIP. 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
Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.
3. Wykłady 3 i 4: Języki i systemy dedukcyjne. Klasyczny rachunek zdań. 3.1. Monoidy wolne. Niech X będzie zbiorem niepustym. Zbiór ten będziemy nazywać alfabetem. Skończony ciąg elementów alfabetu X będziemy
Matematyczne 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
(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
JAO - 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
Wprowadzenie. Teoria automatów i języków formalnych. Literatura (1)
Wprowadzenie Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Literatura (1) 1. Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques and Tools, Addison-Wesley,
Języki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
Maszyna 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
Obliczenia 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.
ZAAWANSOWANE JĘZYKI PROGRAMOWANIA
Stefan Sokołowski ZAAWANSOWANE JĘZYKI PROGRAMOWANIA Inst. Informatyki, UG Gdańsk, 2015/2016 Zaawansowane Języki Programowania Wykład1,str.1 Na http://sigma.ug.edu.pl/ stefan/dydaktyka/zaawjezprog będą
Ję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
Języki, automaty i obliczenia
Języki, automaty i obliczenia Wykład 10: Maszyny Turinga Sławomir Lasota Uniwersytet Warszawski 29 kwietnia 2015 Plan Maszyny Turinga (Niedeterministyczna) maszyna Turinga M = (A, Q, q 0, F, T, B, δ) A
złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa
Zadanie 1. Rozważmy jezyk złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa równe. Narysować diagram minimalnego automatu deterministycznego akceptujacego
Stefan Sokołowski SZTUCZNAINTELIGENCJA. Inst. Informatyki UG, Gdańsk, 2009/2010
Stefan Sokołowski SZTUCZNAINTELIGENCJA Inst. Informatyki UG, Gdańsk, 2009/2010 Wykład1,17II2010,str.1 SZTUCZNA INTELIGENCJA reguły gry Zasadnicze informacje: http://inf.ug.edu.pl/ stefan/dydaktyka/sztintel/
Parsery LL(1) Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki
Parsery LL() Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy generacyjnej (zstępującej, top-down) symbol początkowy już terminale wyprowadzenie lewostronne pierwszy od lewej
Rozwiązania około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego (w trakcie tworzenia)
Rozwiązania około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego (w trakcie tworzenia) Kamil Matuszewski 20 lutego 2017 22 lutego 2017 Zadania, które
Wyrażenie nawiasowe. Wyrażenie puste jest poprawnym wyrażeniem nawiasowym.
Wyrażenie nawiasowe Wyrażeniem nawiasowym nazywamy dowolny skończony ciąg nawiasów. Każdemu nawiasowi otwierającemu odpowiada dokładnie jeden nawias zamykający. Poprawne wyrażenie nawiasowe definiujemy
0.1 Lewostronna rekurencja
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
3.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
Uproszczony 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
Języki formalne i gramatyki
J.Nawrocki, M. Antczak, A. Hoffa, S. Wąsik Plik źródłowy: 08cw10-jfig.doc; Data: 2008-10-22 13:29:00 Ćwiczenie nr 10 Języki formalne i gramatyki Wprowadzenie 1. Napisz analizator leksykalny (LEX) i analizator
5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.
5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów. Algebra jest jednym z najstarszych działów matematyki dotyczącym początkowo tworzenia metod rozwiązywania równań
Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych
Opracował: dr inż. Zbigniew Buchalski KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów
Imię, nazwisko, nr indeksu
Imię, nazwisko, nr indeksu (kod) (9 punktów) Wybierz 9 z poniższych pytań i wybierz odpowiedź tak/nie (bez uzasadnienia). Za prawidłowe odpowiedzi dajemy +1 punkt, za złe -1 punkt. Punkty policzymy za
- Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S.
1 Zbiór potęgowy - Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S. - Dowolny podzbiór R zbioru 2 S nazywa się rodziną zbiorów względem S. - Jeśli S jest n-elementowym zbiorem,
Dopeł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
Podstawy Kompilatorów
Podstawy Kompilatorów Laboratorium 3 Uwaga: Do wykonania poniższych zadań związanych z implementacją niezbędny jest program LEX oraz kompilator. Dla środowiska Linux mogą to być: Darmowa wersja generatora
Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka
Języki i operacje na językach Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Definicja języka Definicja języka Niech Σ będzie alfabetem, Σ* - zbiorem wszystkich łańcuchów
1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.
20. Definicje i przykłady podstawowych struktur algebraicznych (grupy, pierścienie, ciała, przestrzenie liniowe). Pojęcia dotyczące przestrzeni liniowych (liniowa zależność i niezależność układu wektorów,
Metody 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ę.
Włączenie analizy leksykalnej do analizy składniowej jest nietrudne; po co więc jest wydzielona?
Po co wydziela się analizę leksykalną? Wykład7,str1 Włączenie analizy leksykalnej do analizy składniowej jest nietrudne; po co więc jest wydzielona? 1 Analiza leksykalna jest prostsza niż składniowa leksyka
PODSTAWY LOGIKI I TEORII MNOGOŚCI
Stefan Sokołowski PODSTAWY LOGIKI I TEORII MNOGOŚCI Inst Informatyki Stosowanej, PWSZ Elbląg, 2015/2016 Podstawy logiki i teorii mnogoci Wykład1,str1 Na http://studentpwszelblagpl/ stefan/dydaktyka/logteomno
Ję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
Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech
Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech anagram(l) = {w : w jest anagaramem v dla pewnego v L}. (a) Czy jeśli L jest
Gramatyka 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ą
Ję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
Ję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
10. 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)
Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski
Modele Obliczeń Wykład 1 - Wprowadzenie Marcin Szczuka Instytut Matematyki, Uniwersytet Warszawski Wykład fakultatywny w semestrze zimowym 2014/2015 Marcin Szczuka (MIMUW) Modele Obliczeń 2014/2015 1 /
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i
Struktury formalne, czyli elementy Teorii Modeli
Struktury formalne, czyli elementy Teorii Modeli Szymon Wróbel, notatki z wykładu dra Szymona Żeberskiego semestr zimowy 2016/17 1 Język 1.1 Sygnatura językowa Sygnatura językowa: L = ({f i } i I, {P j
Teoria miary. Matematyka, rok II. Wykład 1
Teoria miary Matematyka, rok II Wykład 1 NAJBLIŻSZY CEL: Nauczyć się mierzyć wielkość zbiorów. Pierwsze przymiarki: - liczność (moc) zbioru - słabo działa dla zbiorów nieskończonych: czy [0, 1] powinien
Podstawy Informatyki Maszyna Turinga
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Czym jest Programowanie maszyny Turinga Teza Churcha-Turinga 2 3 4 Czym jest Programowanie maszyny Turinga Teza Churcha-Turinga,
11 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.
Ję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
Języki, automaty i obliczenia
Języki, automaty i obliczenia Wykład 11: Obliczalność i nieobliczalność Sławomir Lasota Uniwersytet Warszawski 6 maja 2015 Plan 1 Problemy częściowo rozstrzygalne 2 Problemy rozstrzygalne 3 Funkcje (częściowo)
10110 =
1. (6 punktów) Niedeterministyczny automat skończony nazwiemy jednoznacznym, jeśli dla każdego akceptowanego słowa istnieje dokładnie jeden bieg akceptujący. Napisać algorytm sprawdzający, czy niedeterministyczny
Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}
Języki Ustalmy pewien skończony zbiór symboli Σ zwany alfabetem. Zbiór Σ zawiera wszystkie skończone ciagi symboli z Σ. Podzbiór L Σ nazywamy językiem a x L nazywamy słowem. Specjalne słowo puste oznaczamy
. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:
9 Wykład 9: Przestrzenie liniowe i podprzestrzenie Definicja 9 Niech F będzie ciałem Algebrę (V, F, +, ), gdzie V, + jest działaniem w zbiorze V zwanym dodawaniem wektorów, a jest działaniem zewnętrznym
Metody 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
Składnia rachunku predykatów pierwszego rzędu
Początek Gramatyka Kwantyfikatory Poprawność Logika obliczeniowa Instytut Informatyki Początek Gramatyka Kwantyfikatory Poprawność Plan wykładu 1 Na (dobry) początek Zrozumieć słowa Oswoić znaki 2 Gramatyka
Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017
Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język
Teoria automatów i języków formalnych. Określenie relacji
Relacje Teoria automatów i języków formalnych Dr inŝ. Janusz ajewski Katedra Informatyki Określenie relacji: Określenie relacji Relacja R jest zbiorem par uporządkowanych, czyli podzbiorem iloczynu kartezjańskiego
Obliczenia inspirowane Naturą
Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga