Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Lingwistyka Matematyczna

Podobne prezentacje


Prezentacja na temat: "Lingwistyka Matematyczna"— Zapis prezentacji:

1 Lingwistyka Matematyczna
wykład 5

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

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

4 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 Mgr inż. Michał Jaros

5 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ą Mgr inż. Michał Jaros

6 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 } """ . Mgr inż. Michał Jaros

7 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 Mgr inż. Michał Jaros

8 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 Mgr inż. Michał Jaros

9 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 Mgr inż. Michał Jaros

10 Fragment diagramu składni JSON’a
Diagramy kolejowe ? Fragment diagramu składni JSON’a Mgr inż. Michał Jaros

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

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

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

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

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

16 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 Mgr inż. Michał Jaros

17 Zamiana diagramów składniowych na kod analizatora
procedure A; begin end; Mgr inż. Michał Jaros

18 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; Mgr inż. Michał Jaros

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

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

21 Rozszerzenia notacji BNF Diagramy składniowe
Podsumowanie Rozszerzenia notacji BNF Diagramy składniowe Analizator składniowy z diagramu składni Mgr inż. Michał Jaros

22 Q&A Mgr inż. Michał Jaros

23 KONIEC Mgr inż. Michał Jaros


Pobierz ppt "Lingwistyka Matematyczna"

Podobne prezentacje


Reklamy Google