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