Lingwistyka Matematyczna

Slides:



Advertisements
Podobne prezentacje
Lingwistyka Matematyczna
Advertisements

Lingwistyka Matematyczna
STRUKTURY DANYCH.
Techniki kompilacji Wykład I.
Sortowanie przez scalanie
Gramatyki, języki programowania
1 Dzisiejszy wykład Wzorce funkcji Wzorce klas Tablica asocjacyjna Składowe statyczne.
Grażyna Mirkowska PJWSTK 15 listopad 2000
Wprowadzenie do C++ Zajęcia 2.
Język asemblera Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
PROGRAMOWANIE STRUKTURALNE
Współprogramy III Ten wykład ma na celu pokazanie kolejnej ciekawej możliwości, którą oferują współprogramy. Wspólprogramy reprezentujące wyrażenia regularne.
Współprogramy II W tym wykładzie pogłębimy naszą znajomość z współprogramami. Omówimy współpracę procedur rekurencyjnych i współprogramów, wprowadzimy.
20/09/ Języki programowania 1 Piotr Górczyński Wstęp.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 1.
Lingwistyka Matematyczna
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 3.
Generator analizatorów składniowych
Metoda pierwszeństwa operatorów
Opracowała: Elżbieta Fedko
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.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 2: Wstęp do programowania w Pascalu © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 1: Wprowadzenie do programowania.
P O D S T A W Y P R O G R A M O W A N I A
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Języki formalne i gramatyki
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Kurs Pascala – spis treści
Semantyki programów współbieżnych " Determinizm programów sekwencyjnych, " Nie-determinizm programów współbieżnych, " prawdziwa równoległość vs.przeploty.
Wprowadzenie do programowania w języku Turbo Pascal
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak Michał Kucal
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ń
ANALIZA LEKSYKALNA. Zadaniem analizatora leksykalnego jest przetwarzanie danych pochodzących ze strumienia wejściowego a także rozpoznawanie ciągów znaków.
Podstawy programowania
KONSTRUKCJA KOMPILATORÓW WYKŁAD WYKŁAD Robert Plebaniak Robert Plebaniak.
Wyrażenia w Turbo Pascalu.
Algorytmy i struktury danych
Generator analizatorów składniowych
Języki i automaty część 5.
Warsztaty programowania w języku Python
Instrukcje iteracyjne
Maszyna wirtualna ang. virtual machine, VM.
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
Podstawy programowania
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Generowanie kodu pośredniego
Generowanie kodu pośredniego Java ML Pascal C C++ Alpha Pentium Sparc Java ML Pascal C C++ Alpha Pentium Sparc MIPS IR IR – intermediate representation.
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.
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Podstawy programowania
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
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 1
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.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Przetwarzanie języka Wprowadzenie do informatyki Jerzy Nawrocki
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

Lingwistyka Matematyczna wykład 4

Gramatyka z translacją Podsumowanie Q&A Agenda Kompilacja Drzewo wyprowadzeń Gramatyka z translacją Podsumowanie Q&A 2008-04-13 Mgr inż. Michał Jaros

W kompilacji zastosowanie mają: 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 2008-04-13 Mgr inż. Michał Jaros

2008-04-13 Mgr inż. Michał Jaros

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

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

Tył kompilatora (z ang. „back end”) Optymalizacja kodu Kompilacja Tył kompilatora (z ang. „back end”) Optymalizacja kodu Generacja kodu wynikowego 2008-04-13 Mgr inż. Michał Jaros

Kompilacja 2008-04-13 Mgr inż. Michał Jaros

Kody pośrednie dla różnych języków Kompilacja Kody pośrednie dla różnych języków Kod źródłowy Kod pośredni Pacal P-code Ada Diana Java JVM C# .NET CIL 2008-04-13 Mgr inż. Michał Jaros

Korzeń = Symbol początkowy Gałęzie = Symbole pomocnicze 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 2008-04-13 Mgr inż. Michał Jaros

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

Niejednoznaczność składni 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 2008-04-13 Mgr inż. Michał Jaros

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

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

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

if W then if W then S else S Drzewo wyprowadzeń if W then if W then S else S 2008-04-13 Mgr inż. Michał Jaros

Problem Rozwiązanie Drzewo wyprowadzeń 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 2008-04-13 Mgr inż. Michał Jaros

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

if W then if W then S else S Modula-2 Drzewo wyprowadzeń Pascal if W then if W then S else S Modula-2 if W then if W then S else S end end if W then if W then S end else S end 2008-04-13 Mgr inż. Michał Jaros

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

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

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

Gramatyka z translacją Notacja wrostkowa Notacja przyrostkowa (ONP) x+y xy+ (xy)+z xyz+ x (y+z) xyz+ x*(y+z)*w xyz+*w* 2008-04-13 Mgr inż. Michał Jaros

Gramatyka z translacją Podsumowanie Kompilacja Drzewo wyprowadzeń Gramatyka z translacją 2008-04-13 Mgr inż. Michał Jaros

Q&A 2008-04-13 Mgr inż. Michał Jaros

KONIEC 2008-04-13 Mgr inż. Michał Jaros