Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Lingwistyka Matematyczna Mgr inż. Michał Jaros Lingwistyka Matematyczna wykład 4.

Podobne prezentacje


Prezentacja na temat: "Lingwistyka Matematyczna Mgr inż. Michał Jaros Lingwistyka Matematyczna wykład 4."— Zapis prezentacji:

1 Lingwistyka Matematyczna Mgr inż. Michał Jaros Lingwistyka Matematyczna wykład 4

2 Lingwistyka Matematyczna Agenda Kompilacja Drzewo wyprowadzeń Gramatyka z translacją Podsumowanie Q&A Mgr inż. Michał Jaros2

3 Lingwistyka Matematyczna Kompilacja – Tłumaczenie kodu napisane w jednym języku na drugi – Sprawdzanie poprawności kodu W kompilacji zastosowanie mają: – Lingwistyka matematyczna – Języki formalne Mgr inż. Michał Jaros3

4 Lingwistyka Matematyczna Mgr inż. Michał Jaros4

5 Lingwistyka Matematyczna Kompilacja Mgr inż. Michał Jaros5 Przód kompilatora (z ang. front end) Analiza leksykalna – Tokenizacja kodu źródłowego – Utworzenie tablicy symboli Analiza Składniowa – Utworzenie drzewa wyprowadzeń – Sprawdzenie poprawności gramatycznej Analiza semantyczna – Sprawdzanie sensu (sprawdzanie typów,...) – Uzupełnienie tablicy symboli

6 Lingwistyka Matematyczna Kompilacja Środek kompilatora (z ang. middle end) Generacja kodu pośredniego – Ogólna optymalizacja Mgr inż. Michał Jaros6

7 Lingwistyka Matematyczna Kompilacja Tył kompilatora (z ang. back end) Optymalizacja kodu Generacja kodu wynikowego Mgr inż. Michał Jaros7

8 Lingwistyka Matematyczna Kompilacja Mgr inż. Michał Jaros8

9 Lingwistyka Matematyczna Kompilacja Kody pośrednie dla różnych języków Mgr inż. Michał Jaros9 Kod źródłowyKod pośredni PacalP-code AdaDiana JavaJVM C#.NETCIL

10 Lingwistyka Matematyczna Drzewo wyprowadzeń Hierarchiczna struktura graficznie reprezentująca wyprowadzenie zdania z gramatyki Korzeń = Symbol początkowy Gałęzie = Symbole pomocnicze Liście = Symbole końcowe Struktura gałęzi = Produkcje Mgr inż. Michał Jaros10

11 Lingwistyka Matematyczna Drzewo wyprowadzeń S::=SAB;|AB; A::=type B::=B,C|C C::=id Mgr inż. Michał Jaros11

12 Lingwistyka Matematyczna Drzewo wyprowadzeń Niejednoznaczność składni Zdanie ma więcej niż jedno drzewo wyprowadzeń. S::=E E::=E+E|E*E|(E)|id id+id*id Mgr inż. Michał Jaros12

13 Lingwistyka Matematyczna Drzewo wyprowadzeń id+id*id Mgr inż. Michał Jaros13

14 Lingwistyka Matematyczna Drzewo wyprowadzeń S::=C C::=D+C|D D::=E*D|E E::=(C)|id id+id*id Mgr inż. Michał Jaros14

15 Lingwistyka Matematyczna Drzewo wyprowadzeń Przypadek rzeczywisty Niejednoznaczność instrukcji warunkowej if-else w językach C oraz Pascal Mgr inż. Michał Jaros15 S::=ε | stmt | if W then SL | if W then SL else SL SL::=SL;S | S S::=ε | stmt | if W then SL | if W then SL else SL SL::=SL;S | S Pascal

16 Lingwistyka Matematyczna Drzewo wyprowadzeń Mgr inż. Michał Jaros16 if W then if W then S else S

17 Lingwistyka Matematyczna Drzewo wyprowadzeń Problem Niejednoznaczność if-else Języki programowania Pascal i C Rozwiązanie Słowo kluczowe else jest kojarzone z najbliżej występującym słowem kluczowym if Mgr inż. Michał Jaros17

18 Lingwistyka Matematyczna Drzewo wyprowadzeń Eliminacja niejednoznaczności instrukcji warunkowej if-else w języku Modula-2. Analogiczne rozwiązanie w VisualBasic Mgr inż. Michał Jaros18 S::=ε | stmt | if W then SL end | if W then SL else SL end SL::=SL;S | S S::=ε | stmt | if W then SL end | if W then SL else SL end SL::=SL;S | S Modula-2

19 Lingwistyka Matematyczna Drzewo wyprowadzeń Pascal if W then if W then S else S Modula-2 1.if W then if W then S else S end end 2.if W then if W then S end else S end Mgr inż. Michał Jaros19

20 Lingwistyka Matematyczna Gramatyka z translacją Translacja sterowana składnią Gramatyka bezkontekstowa Zbiór terminali uzupełniony dodatkowymi symbolami (symbole translacji) Symbole translacji generują dodatkowe słowo wyjściowe Mgr inż. Michał Jaros20

21 Lingwistyka Matematyczna Gramatyka z translacją S ::= E E ::= T E l E l ::= +T E l | -T E l | ε T ::= F T l T l ::= * F T l | / F T l | ε F ::= - F | (E) | id id ::= w | x | y | z Mgr inż. Michał Jaros21

22 Lingwistyka Matematyczna Gramatyka z translacją S ::= E E ::= T E l E l ::= +T {+} E l | -T {-} E l | ε T ::= F T l T l ::= * F {*} T l | / F {/} T l | ε F ::= - F {-} | (E) | id {id} id ::= w | x | y | z Mgr inż. Michał Jaros22

23 Lingwistyka Matematyczna Gramatyka z translacją Notacja wrostkowa Notacja przyrostkowa (ONP) x+yx+yxy+ (x y)+zxy z+ x (y+z)xyz+ x*(y+z)*wxyz+*w* Mgr inż. Michał Jaros23

24 Lingwistyka Matematyczna Podsumowanie Kompilacja Drzewo wyprowadzeń Gramatyka z translacją Mgr inż. Michał Jaros24

25 Lingwistyka Matematyczna Q&A Mgr inż. Michał Jaros25

26 Lingwistyka Matematyczna KONIEC Mgr inż. Michał Jaros26


Pobierz ppt "Lingwistyka Matematyczna Mgr inż. Michał Jaros Lingwistyka Matematyczna wykład 4."

Podobne prezentacje


Reklamy Google