1 / 26

Lingwistyka Matematyczna

Lingwistyka Matematyczna. wykład 4. Agenda. Kompilacja Drzewo wyprowadzeń Gramatyka z translacją Podsumowanie Q&A. Kompilacja. Kompilacja Tłumaczenie kodu napisane w jednym języku na drugi Sprawdzanie poprawności kodu W kompilacji zastosowanie mają: Lingwistyka matematyczna

Download Presentation

Lingwistyka Matematyczna

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lingwistyka Matematyczna wykład 4

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

  3. Kompilacja • 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ł Jaros

  4. Mgr inż. Michał Jaros

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

  6. Kompilacja Środek kompilatora (z ang. „middle end”) • Generacja kodu pośredniego • Ogólna optymalizacja Mgr inż. Michał Jaros

  7. Kompilacja Tył kompilatora (z ang. „back end”) • Optymalizacja kodu • Generacja kodu wynikowego Mgr inż. Michał Jaros

  8. Kompilacja Mgr inż. Michał Jaros

  9. Kompilacja Kody pośrednie dla różnych języków Mgr inż. Michał Jaros

  10. Drzewo wyprowadzeń 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ł Jaros

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

  12. 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ł Jaros

  13. Drzewo wyprowadzeń id+id*id Mgr inż. Michał Jaros

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

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

  16. Drzewo wyprowadzeń if W then if W then S else S Mgr inż. Michał Jaros

  17. 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ł Jaros

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

  19. Drzewo wyprowadzeń Pascal • if W thenif W then S else S Modula-2 • if W thenif W then S else S endend • if W then if W then S endelse S end Mgr inż. Michał Jaros

  20. 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ł Jaros

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

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

  23. Gramatyka z translacją Mgr inż. Michał Jaros

  24. Podsumowanie • Kompilacja • Drzewo wyprowadzeń • Gramatyka z translacją Mgr inż. Michał Jaros

  25. Q&A Mgr inż. Michał Jaros

  26. KONIEC Mgr inż. Michał Jaros

More Related