JĘZYKIFORMALNE IMETODYKOMPILACJI



Podobne dokumenty
JĘZYKI FORMALNE I METODY KOMPILACJI

JĘZYKI FORMALNE I METODY KOMPILACJI

JĘZYKI FORMALNE I METODY KOMPILACJI

Metodologie programowania

JĘZYKI PROGRAMOWANIA

JAO - Wprowadzenie do Gramatyk bezkontekstowych

Stefan Sokołowski JĘZYKIPROGRAMOWANIA. Inst. Informatyki UG, Gdańsk, 2012/2013

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

Hierarchia Chomsky ego Maszyna Turinga

Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura

Programowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994]

Gramatyki (1-2) Definiowanie języków programowania. Piotr Chrząstowski-Wachjtel

Języki formalne i automaty Ćwiczenia 2

Języki, automaty i obliczenia

Języki formalne i automaty Ćwiczenia 1

Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy

Wprowadzenie do analizy składniowej. Bartosz Bogacki.

SZTUCZNA INTELIGENCJA

GRAMATYKI BEZKONTEKSTOWE

Wykład5,str.1. Maszyny ze stosem ... 1,0 λ r. λ,z λ

Gramatyki rekursywne

Symbol, alfabet, łańcuch

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

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

Definiowanie języka przez wyrażenie regularne(wr)

Stefan Sokołowski SZTUCZNAINTELIGENCJA. Inst. Informatyki UG, Gdańsk, 2009/2010

Gramatyki regularne i automaty skoczone

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

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

Języki i gramatyki formalne

Matematyczne Podstawy Informatyki

Maszyna Turinga języki

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.

ZAAWANSOWANE JĘZYKI PROGRAMOWANIA

JAO - lematy o pompowaniu dla jezykow bezkontekstowy

(j, k) jeśli k j w przeciwnym przypadku.

Języki formalne i automaty Ćwiczenia 9

Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33

Zadanie analizy leksykalnej

WSTĘP DO PROGRAMOWANIA

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, δ)

Języki formalne i automaty Ćwiczenia 6

Obliczenia inspirowane Naturą

JIP. Analiza składni, gramatyki

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Wprowadzenie. Teoria automatów i języków formalnych. Literatura (1)

Organizajca kursów języka angielskiego i języka niemieckiego /II etap: IX-XII 2011r/

Dopełnienie to można wyrazić w następujący sposób:

Jaki język zrozumie automat?

Języki programowania zasady ich tworzenia

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

Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń

Języki formalne i gramatyki

Języki formalne i automaty Ćwiczenia 3

Matematyczne Podstawy Informatyki

Języki formalne i automaty Ćwiczenia 4

Definicja 2. Twierdzenie 1. Definicja 3

Analiza semantyczna. Gramatyka atrybutywna

Obliczenia inspirowane Naturą

Języki, automaty i obliczenia

Struktury formalne, czyli elementy Teorii Modeli

10. Translacja sterowana składnią i YACC

Języki Programowania z Programowaniem Obiektowym wykład (15 godzin/semestr) laboratorium (30 godzin/semestr)

System Korekty Tekstu Polskiego

Hierarchia Chomsky ego

Podstawy i języki programowania

Imię, nazwisko, nr indeksu

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

11 Probabilistic Context Free Grammars

Języki, automaty i obliczenia

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)

10110 =

1 Działania na zbiorach

Efektywna analiza składniowa GBK

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Matematyczne Podstawy Informatyki

Zajęcia trwają 15 tygodni (2 godziny wykładu, 2 godziny laboratorium tygodniowo) Zaliczenie zajęć jest uwarunkowane zaliczeniem zajęć laboratoryjnych

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Gramatyka operatorowa

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

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

Języki, automaty i obliczenia

Logika dla socjologów Część 2: Przedmiot logiki

Z punktu widzenia kognitywisty: język naturalny

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Wyrażenie nawiasowe. Wyrażenie puste jest poprawnym wyrażeniem nawiasowym.

3.4. Przekształcenia gramatyk bezkontekstowych

Podstawy Kompilatorów

Translacja sterowana składnią w metodzie zstępującej

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17

Gramatyki atrybutywne

Podstawy logiki i teorii mnogości Informatyka, I rok. Semestr letni 2013/14. Tomasz Połacik

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

Część wspólna (przekrój) A B składa się z wszystkich elementów, które należą jednocześnie do zbioru A i do zbioru B:

Języki formalne i automaty Ćwiczenia 5

Dlaczego nie wystarczają liczby wymierne

Obliczenia inspirowane Naturą

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

Podstawy generatora YACC. Bartosz Bogacki.

Transkrypt:

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/ stefan/dydaktyka/jezform

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.1 Zasadnicze informacje: http://iis.pwsz.elblag.pl/ stefan/dydaktyka/jezform slajdy do wykładów można(należy) robić notatki ale nie warto przepisywać slajdów z ekranu

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.1 Zasadnicze informacje: http://iis.pwsz.elblag.pl/ 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

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.1 Zasadnicze informacje: http://iis.pwsz.elblag.pl/ 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 w moich grupach

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.1 Zasadnicze informacje: http://iis.pwsz.elblag.pl/ 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 w moich grupach spis literatury itd.

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.2 Kontakt ze mną: konsultacje: piątki, 18:00 19:30 w pok. 322

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.2 Kontakt ze mną: konsultacje: piątki, 18:00 19:30 w pok. 322 e-mail: s.sokolowski@inf.ug.edu.pl

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.2 Kontakt ze mną: konsultacje: piątki, 18:00 19:30 w pok. 322 e-mail: s.sokolowski@inf.ug.edu.pl antyspam: unikać frikoprowajderów: o2.pl wp.pl gazeta.pl

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.2 Kontakt ze mną: konsultacje: piątki, 18:00 19:30 w pok. 322 e-mail: s.sokolowski@inf.ug.edu.pl antyspam: unikać frikoprowajderów: o2.pl wp.pl gazeta.pl

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.2 Kontakt ze mną: konsultacje: piątki, 18:00 19:30 w pok. 322 e-mail: s.sokolowski@inf.ug.edu.pl antyspam: unikać frikoprowajderów: o2.pl wp.pl gazeta.pl najlepiej używać konta mailowego w IIS PWSZ

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.3 Zaliczenie przedmiotu: laboratorium:min.56pkt.na100

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.3 Zaliczenie przedmiotu: laboratorium:min.56pkt.na100 wykład:min.56pkt.na100(doliczamew.punktydodatkowezaaktywność w trakcie wykładu i za znalezienie błędów w slajdach) NIE MA ZWOLNIEŃ!

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.3 Zaliczenie przedmiotu: laboratorium:min.56pkt.na100 wykład:min.56pkt.na100(doliczamew.punktydodatkowezaaktywność w trakcie wykładu i za znalezienie błędów w slajdach) NIE MA ZWOLNIEŃ! ocenaostateczna:0.4 laboratorium+0.6 wykład

JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.3 Zaliczenie przedmiotu: laboratorium:min.56pkt.na100 wykład:min.56pkt.na100(doliczamew.punktydodatkowezaaktywność w trakcie wykładu i za znalezienie błędów w slajdach) NIE MA ZWOLNIEŃ! ocenaostateczna:0.4 laboratorium+0.6 wykład Skala ocen:........ 2.................... 0......... 55 5662 63 7273 82 83 91 92 100....... 3 3+ 4 4+ 5....

Język formalny Wykład1,2X2009,str.4 Przykład: (nieformalny) M {a,aback,abandon,abase,...,zoom} język(skończony) składający się ze słów języka angielskiego

Język formalny Wykład1,2X2009,str.4 Przykład: (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

Język formalny Wykład1,2X2009,str.4 Przykład: (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...

Język formalny Wykład1,2X2009,str.4 Przykład: (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

Język formalny Wykład1,2X2009,str.4 Przykład: (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

Język formalny Wykład1,2X2009,str.4 Przykład: (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,2X2009,str.5 DEFINICJA: MΣ skończony niepusty alfabet, czyli zbiór t.zw. liter

Język formalny Wykład1,2X2009,str.5 DEFINICJA: MΣ skończony niepusty alfabet, czyli zbiór t.zw. liter słowo dowolny ciąg skończonej długości o elementach z Σ

Język formalny Wykład1,2X2009,str.5 DEFINICJA: MΣ skończony niepusty alfabet, czyli zbiór t.zw. liter słowo dowolny ciąg skończonej długości o elementach z Σ Σ zbiórwszystkichsłów

Język formalny Wykład1,2X2009,str.5 DEFINICJA: MΣ skończony niepusty alfabet, czyli zbiór t.zw. liter słowo dowolny ciąg skończonej długości o elementach z Σ Σ zbiórwszystkichsłów język dowolnyzbiórsłówl Σ

Język formalny Wykład1,2X2009,str.5 DEFINICJA: MΣ skończony niepusty alfabet, czyli zbiór t.zw. liter słowo dowolny ciąg skończonej długości o elementach z Σ Σ zbiórwszystkichsłów język dowolnyzbiórsłówl Σ Przykład: Mλ słowopuste(ciągliterodługości0) Uwaga:toniejestlitera!

Język formalny Wykład1,2X2009,str.5 DEFINICJA: MΣ skończony niepusty alfabet, czyli zbiór t.zw. liter słowo dowolny ciąg skończonej długości o elementach z Σ Σ zbiórwszystkichsłów język dowolnyzbiórsłówl Σ Przykład: nie mylić! Mλ słowopuste(ciągliterodługości0) Uwaga:toniejestlitera! def ={} język pusty(nie zawierający żadnego słowa)

Język formalny Wykład1,2X2009,str.5 DEFINICJA: MΣ skończony niepusty alfabet, czyli zbiór t.zw. liter słowo dowolny ciąg skończonej długości o elementach z Σ Σ zbiórwszystkichsłów język dowolnyzbiórsłówl Σ Przykład: 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

Język formalny Wykład1,2X2009,str.5 DEFINICJA: MΣ skończony niepusty alfabet, czyli zbiór t.zw. liter słowo dowolny ciąg skończonej długości o elementach z Σ Σ zbiórwszystkichsłów język dowolnyzbiórsłówl Σ Przykład: 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 Przykład: M1 (2 1) (1 (2 1)) słowonadalfabetemσ def ={(,),,,1,2}

Język formalny Wykład1,2X2009,str.5 DEFINICJA: MΣ skończony niepusty alfabet, czyli zbiór t.zw. liter słowo dowolny ciąg skończonej długości o elementach z Σ Σ zbiórwszystkichsłów język dowolnyzbiórsłówl Σ Przykład: 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 Przykład: M1 (2 1) (1 (2 1)) słowonadalfabetemσ def ={(,),,,1,2} {λ,a,b,ab,ba} języknadalfabetemσ def ={a,b}zawierającypięćsłów

Język formalny Wykład1,2X2009,str.5 DEFINICJA: MΣ skończony niepusty alfabet, czyli zbiór t.zw. liter słowo dowolny ciąg skończonej długości o elementach z Σ Σ zbiórwszystkichsłów język dowolnyzbiórsłówl Σ Przykład: 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 Przykład: 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ęz.nieskończ.nadalf.σ def ={a}

Jak porządnie opisać język nieskończony? Wykład1,2X2009,str.6

Jak porządnie opisać język nieskończony? Wykład1,2X2009,str.6 {λ,ab,aabb,aaabbb,...} cooznaczająkropeczki?

Jak porządnie opisać język nieskończony? Wykład1,2X2009,str.6 {λ,ab,aabb,aaabbb,...} cooznaczająkropeczki? { a n b n n 0 } lepiej,alesąniepożądaneelementyobce (liczby,zmienne,relacje,...)

Jak porządnie opisać język nieskończony? Wykład1,2X2009,str.6 {λ,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

Jak porządnie opisać język nieskończony? Wykład1,2X2009,str.6 {λ,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

Jak porządnie opisać język nieskończony? Wykład1,2X2009,str.6 {λ,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.

Jak porządnie opisać język nieskończony? Wykład1,2X2009,str.6 {λ,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,2X2009,str.7 DEFINICJA: Gramatyka bezkontekstowa G M

Generatory: gramatyki bezkontekstowe Wykład1,2X2009,str.7 DEFINICJA: Gramatyka bezkontekstowa G M alfabetterminalnyσ

Generatory: gramatyki bezkontekstowe Wykład1,2X2009,str.7 DEFINICJA: Gramatyka bezkontekstowa G M alfabetterminalnyσ; alfabet nieterminalny lub pomocniczy N(rozłączny z Σ)

Generatory: gramatyki bezkontekstowe Wykład1,2X2009,str.7 DEFINICJA: Gramatyka bezkontekstowa G M alfabetterminalnyσ; alfabet nieterminalny lub pomocniczy N(rozłączny z Σ); skończonyzbiórpprodukcjipostacia w gdziea Niw (N Σ)

Generatory: gramatyki bezkontekstowe Wykład1,2X2009,str.7 DEFINICJA: Gramatyka bezkontekstowa G 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.

Generatory: gramatyki bezkontekstowe Wykład1,2X2009,str.7 DEFINICJA: Gramatyka bezkontekstowa G 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. Przykład: MTerminale: a, b Nieterminale: A Produkcje: A λ A aaa A bab

Generatory: gramatyki bezkontekstowe Wykład1,2X2009,str.7 DEFINICJA: Gramatyka bezkontekstowa G 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. Przykład: MTerminale: a, b Nieterminale: A Produkcje: A λ A aaa A bab

Generatory: gramatyki bezkontekstowe Wykład1,2X2009,str.7 DEFINICJA: Gramatyka bezkontekstowa G 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. Przykład: MTerminale: a, b Nieterminale: A Produkcje: A λ A aaa A bab