Lingwistyka Matematyczna

Slides:



Advertisements
Podobne prezentacje
Lingwistyka Matematyczna
Advertisements

Lingwistyka Matematyczna
PRAM.
Gramatyki, języki programowania
1 Dzisiejszy wykład Wzorce funkcji Wzorce klas. 2 Wzorce Często pojawia się konieczność pisania podobnych funkcji lub klas operujących na argumentach.
Programowanie obiektowe
Grażyna Mirkowska PJWSTK 15 listopad 2000
Metody Analizy Programów Wykład 02
Algorytmy – zapis struktur programowania
Języki programowania C++
PROGRAMOWANIE STRUKTURALNE
PROGRAMOWANIE STRUKTURALNE
Nośniki sygnałów - przykład Nośniki sygnałów – przykład.
27/09/ Języki programowania 1 Piotr Górczyński Instrukcje warunkowego wyboru.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 1.
Lingwistyka Matematyczna
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 3.
Metoda pierwszeństwa operatorów
ZŁOŻONOŚĆ OBLICZENIOWA
Turbo pascal – instrukcje warunkowe, iteracyjne,…
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Języki formalne i gramatyki
Kompilacja przechodnia
Wykład 2 struktura programu elementy języka typy zmienne
Instrukcja skoku GO TO etykieta Np. GO TO 100 ….. 100WRITE (*,*) Przeskok do instrukcji 100 Uwaga! NIE WOLNO skakać do wnętrzna złożonych instrukcji warunkowych.
Typy złożone, case, stałe. Typ zbiorowy type typ_zb = set of typ_podstawowy; Typem podstawowym może być tylko typ porządkowy. Typem podstawowym może być
PODSTAWY PROGRAMOWANIA
Schemat Hornera Mgr inż. Michał Szucki.
Programowanie w Internecie 2 Ćwiczenie 4 – Transformacja danych Prowadzący: Rajmund Pączkowski.
Podstawy programowania
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
LabVIEW Technologie informacyjne – laboratorium Irmina Kwiatkowska
Algorytmy z przykładami w Turbo Pascal 7.0
Pierwsze programy.
Wyrażenia algebraiczne
Wyrażenia w Turbo Pascalu.
Algorytmy i struktury danych
Generator analizatorów składniowych
PHP: warunki, pętle, switch, break, continue
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Zbiory i rekordy mgr inż. Agata Pacek. Deklaracja typu zbiorowego (określa ilość elementów w zbiorze) type biegi=set of 0..6; Definiowanie zmiennej typu.
Programowanie strukturalne i obiektowe
Instrukcja warunkowa i wyboru
Translatory Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład 11.
Gramatyki i translatory
Składnia instrukcji warunkowej if…
Podstawy języka Instrukcje - wprowadzenie
Algorytmika Iteracje autor: Tadeusz Lachawiec.
Języki formalne i gramatyki Copyright, 2005 © Jerzy R. Nawrocki Teoretyczne podstawy.
Języki formalne Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
ANALIZA SKŁADNIOWA.
Wprowadzenie do programowania w Pascalu mgr inż. Agata Pacek.
Systemy wspomagające dowodzenie twierdzeń
METODY REPREZENTOWANIA IFORMACJI
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Pętle – instrukcje powtórzeń
Instrukcje warunkowe w php. Pętla FOR Czasem zachodzi potrzeba wykonania jakiejś czynności określoną ilość razy. Z pomocą przychodzi jedna z najczęściej.
Wstęp do programowania Wykład 9
PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania.
Przetwarzanie języka Wprowadzenie do informatyki Jerzy Nawrocki
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL
Haskell Składnia funkcji.
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

Lingwistyka Matematyczna wykład 5

Rozszerzenia notacji BNF Diagramy składniowe Agenda Rozszerzenia notacji BNF Diagramy składniowe Zamiana diagramów składniowych na kod analizatora Podsumowanie Q&A 2008-03-20 Mgr inż. Michał Jaros

Metody zapisu gramatyk Gramatyka Pāņini’ego Notacja BNF i jej rozszerzenia Notacja WSN Diagramy składniowe 2008-03-20 Mgr inż. Michał Jaros

Ashtadhyayi („Ośmioksiąg”) Gramatyka sanskrytu Gramatyka Pāņini’ego Autor Pāņini Powstał w V w.p.n.e. Ashtadhyayi („Ośmioksiąg”) Gramatyka sanskrytu 3959 reguł gramatycznych 2008-03-20 Mgr inż. Michał Jaros

Backus–Naur form (BNF) Notacja BNF Backus–Naur form (BNF) Metasymbole notacji BNF: <, >, ::=, | <składnia> ::= <produkcja> | <produkcja> <składnia> <produkcja> ::= "<" <sym-pom> ">" "::=" <wyrażenie> <EOL> <wyrażenie> ::= <lista> | <lista> "|" <wyrażenie> <lista> ::= <symbol> | <symbol> <lista> <symbol> ::= <sym-term> | "<" <sym-pom> ">" <sym-term> ::= """ <tekst> """ <zdanie> ::= <podmiot> <orzeczenie> <podmiot> ::= kwiaty | gwiazdy <orzeczenie> ::= kwitną | świecą 2008-03-20 Mgr inż. Michał Jaros

Wirth syntax notation (WSN) Notacja WSN Wirth syntax notation (WSN) SKŁADNIA = { PRODUKCJA } . PRODUKCJA = IDENTYFIKATOR "=" WYRAŻENIE "." . WYRAŻENIE = SKŁADNIK { "|" SKŁADNIK} . SKŁADNIK = CZYNNIK { CZYNNIK } . CZYNNIK = IDENTYFIKATOR | LITERAŁ | "(" WYRAŻENIE ")" | "[" WYRAŻENIE "]" | "{" WYRAŻENIE "}" . IDENTYFIKATOR = litera { litera } . LITERAŁ = """ znak { znak } """ . 2008-03-20 Mgr inż. Michał Jaros

Rozszerzenia notacji BNF (EBNF) Extended Backus–Naur form (EBNF) Zapis w BNF Zapis w EBNF Znaczenie ::= jest zdefiniowany przez | lub <EOL> zakończenie formuły brak { x } 0 lub wielokrotne powtórzenie symbolu x <symbol> symbol nie terminalny symbol symbol terminalny 2008-03-20 Mgr inż. Michał Jaros

Rozszerzenia notacji BNF (MBNF) Modified Backus–Naur form (MBNF) Zapis w EBNF Zapis w MBNF Znaczenie ::= = jest zdefiniowany przez | lub <EOL> . zakończenie formuły brak [ x ] 0 lub jednokrotne powtórzenie symbolu x { x } 0 lub wielokrotne powtórzenie symbolu x ( x | y | … | z ) dowolny z symboli x, y, … , z <symbol> symbol-nie-term symbol nie terminalny symbol "symbol" symbol terminalny 2008-03-20 Mgr inż. Michał Jaros

Diagram składni (diagram kolejowy) Diagramy składniowe Diagram składni (diagram kolejowy) Sposób prezentacji gramatyk formalnych Graficzna alternatywa dla BNF i innych Przejrzysty obraz struktury języka Bardziej czytelne dla człowieka Mniej czytelne dla komputera Dobry przy projektowaniu języka 2008-03-20 Mgr inż. Michał Jaros

Fragment diagramu składni JSON’a Diagramy kolejowe ? Fragment diagramu składni JSON’a 2008-03-20 Mgr inż. Michał Jaros

Diagramy składniowe - reguły konstrukcji A=B. A="x". 2008-03-20 Mgr inż. Michał Jaros

Diagramy składniowe - reguły konstrukcji A= α1 α2 … αn. 2008-03-20 Mgr inż. Michał Jaros

Diagramy składniowe - reguły konstrukcji A="α1" | "α2" | … | "αn". 2008-03-20 Mgr inż. Michał Jaros

Diagramy składniowe - reguły konstrukcji A= ["x"]. 2008-03-20 Mgr inż. Michał Jaros

Diagramy składniowe - reguły konstrukcji A= {"x"}. 2008-03-20 Mgr inż. Michał Jaros

Zamiana diagramów składniowych na kod analizatora Diagram składniowy ≈ schemat blokowy analizatora Reguły przejścia od diagramu do kodu analizatora Cel działania analizatora: Sprawdzenie poprawności składniowej Wygenerowanie komunikatów o błędach 2008-03-20 Mgr inż. Michał Jaros

Zamiana diagramów składniowych na kod analizatora procedure A; begin … end; 2008-03-20 Mgr inż. Michał Jaros

Zamiana diagramów składniowych na kod analizatora … if ch = "x" then read(ch) else błąd; … if ch in pierw(B) then B() else błąd; 2008-03-20 Mgr inż. Michał Jaros

Zamiana diagramów składniowych na kod analizatora … case ch of "x" : read(ch); "y" : read(ch); "z" : read(ch); else błąd; end; 2008-03-20 Mgr inż. Michał Jaros

Zamiana diagramów składniowych na kod analizatora … while ch = "x" do read(ch); 2008-03-20 Mgr inż. Michał Jaros

Rozszerzenia notacji BNF Diagramy składniowe Podsumowanie Rozszerzenia notacji BNF Diagramy składniowe Analizator składniowy z diagramu składni 2008-03-20 Mgr inż. Michał Jaros

Q&A 2008-03-20 Mgr inż. Michał Jaros

KONIEC 2008-03-20 Mgr inż. Michał Jaros