Języki formalne i automaty Ćwiczenia 3

Wielkość: px
Rozpocząć pokaz od strony:

Download "Języki formalne i automaty Ćwiczenia 3"

Transkrypt

1 Języki formalne i automaty Ćwiczenia 3 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Algorytm LL(1)... 2 Definicja zbiorów FIRST1 i FOLLOW Konstrukcja tabeli parsowania algorytmu LL(1)... 4 Algorytm sprawdzania konkretnych słów Zadania... 8 Zadania na Zadania na Zadania na

2 Wstęp teoretyczny Wyprowadzenie lewostronne to takie wyprowadzenie, w którym za każdym razem zastępujemy pierwszy od lewej nieterminal. Przykład: Gramatyka S F S asbfc F d Wyprowadzenie lewostronne słowa: adbdc. S asbfc afbfc adbfc adbdc Algorytm LL(1) Algorytm LL(1) służy do sprawdzenia czy dane słowo należy do języka generowanego przez gramatykę LL(1). Algorytm działa w czasie liniowym. Gramatyka LL to taka, w której czytamy słowo podczas sprawdzania od lewej do prawej, oraz taka, że możemy podjąć podczas wyprowadzenia lewostronnego jednoznaczną decyzję, którą produkcje wybrać. Gramatyka LL(1) to gramatyka LL taka, że podczas podejmowania decyzji, którą produkcję wybrać analizujemy dokładnie jeden symbol słowa. Algorytm LL(1) będzie brany pod uwagę tylko dla gramatyk bezkontekstowych, można zauważyć, że z tego względu, jeśli istnieje dowolne wyprowadzenie danego słowa, to zawsze istnieje wyprowadzenie lewostronne tego słowa. Przykład gramatyki, która nie jest typu LL(1). S blc a L LdS S Przykładowe wyprowadzenie dla słowa baadac. S blc Po pierwszym kroku mamy zgodność symbolu pierwszego słowa, następnie mamy znaleźć taki ciąg produkcji aby otrzymać zgodność dla drugiego symbolu słowa. Tutaj są dwie możliwości: S blc bsc bac oraz S blc bldsc bsdsc basdsc Widzimy, że w obu wyprowadzeniach otrzymaliśmy zgodność drugiego symbolu słowa (a). Dlatego, że istnieje więcej niż jedno wyprowadzenie dla drugiego symbolu słowa gramatyka ta nie jest typu LL(1). Zauważmy ponadto, że słowo bac i tak byłoby odrzucone ponieważ trzeci symbol jest inny, ale gramatyka jest typu 1, a więc nie możemy korzystać w wyprowadzeniu z informacji o kolejnych symbolach słowa, a jedynie o aktualnie rozpatrywanym.

3 Przykład 2 S blc a L am S M ε Przykładowe wyprowadzenia dla słowa bac: S blc bamc oraz S blc bsc bac Gramatyka nie jest typu LL(1) ponieważ otrzymaliśmy zgodność drugiego symbolu słowa dwoma różnymi lewostronnymi wyprowadzeniami. Definicja zbiorów FIRST 1 i FOLLOW 1 Zbiory te będą zdefiniowane dla gramatyk bezkontekstowych. α jest pojedynczym symbolem terminalnym lub nieterminalnym. Zbiór FIRST 1 (α) jest zbiorem wszystkich terminalnych przedrostków długości 1 łańcuchów, które mogą być wyprowadzone z α oraz słowa pustego, jeśli może być wyprowadzone z α. Zbiór FOLLOW 1 (α) jest zbiorem wszystkich terminalnych łańcuchów długości 1, które występują tuż za symbolem α w dowolnych wyprowadzeniach. Algorytmy wyznaczenia zbiorów FIRST i FOLLOW. Wyznaczenie zbioru FIRST 1 (α): 1. Jeśli α jest terminalem to FIRST 1 (α) = {α}. 2. Jeśli istnieje produkcja postaci: α ε to FIRST 1 (α) = FIRST 1 (α) {ε} 3. Jeśli α jest nieterminalem to dla każdej produkcji postaci α y 1 y 2 y k : FIRST 1 (α) = FIRST 1 (α) FIRST 1 (y 1 ) Od i = 2 do k Jeśli ε FIRST 1 (y 1 ) FIRST 1 (y i-1 ) to FIRST 1 (α) = FIRST 1 (α) FIRST 1 (y i ) Jeśli ε FIRST 1 (y 1 ) ε FIRST 1 (y k ) to FIRST 1 (α) = FIRST 1 (α) {ε} Wyznaczenie FIRST 1 (x 1 x 2 x n )gdzie x i są terminalami lub nieterminalami przebiega następująco: 1. FIRST 1 (x 1 x 2 x n ) = FIRST 1 (x 1 ) \ {ε} 2. Od i = 2 do n Jeśli ε FIRST 1 (x 1 ) FIRST 1 (x i-1 ) to FIRST 1 (x 1 x 2 x n ) = FIRST 1 (x 1 x 2 x n ) FIRST 1 (x i ) \ {ε}

4 Jeśli ε FIRST 1 (x 1 ) ε FIRST 1 (x n ) to FIRST 1 (x 1 x 2 x n ) = FIRST 1 (x 1 x 2 x n ) {ε} Wyznaczenie zbioru FOLLOW 1 (B), gdzie B jest nieterminalem: 1. Jeśli B = S to FOLLOW 1 (B) = FOLLOW 1 (B) {$} 3. Dla każdej produkcji postaci A αbβ: FOLLOW 1 (B) = FOLLOW 1 (B) FIRST 1 (β) \ {ε} 4. Dla każdej produkcji postaci A αb lub (A αbβ ε FIRST 1 (β)): FOLLOW 1 (B) = FOLLOW 1 (B) FOLLOW 1 (A) Zauważmy, że zbiór FOLLOW nie zawiera symbolu ε. Przykład: 1. S aabb 2. A aac 3. A ε 4. B bb 5. B c Wyznaczmy przykładowo: FIRST 1 (A) - w związku z produkcją 3 FIRST 1 (A) = {ε}, w związku z produkcją 2 FIRST 1 (A) = {a, ε}. FIRST 1 (aac) w związku z regułą 1 FIRST 1 (aac) = {a} FIRST 1 (B) w związku z produkcją 4 FIRST 1 (B) = {b}, w związku z produkcją 5 FIRST 1 (B) = {b, c} FOLLOW 1 (A) w związku z produkcją 1 FOLLOW 1 (A) = {b, c}, produkcja 2 nie wnosi nic nowego. Dla potrzeb algorytmu tworzymy tabelkę ze zbiorami FIRST i FOLLOW dla każdego nieterminala. FIRST FOLLOW A {ε, a} {b, c} B {b, c} {b} S {a} {$} Konstrukcja tabeli parsowania algorytmu LL(1) Algorytm rozpoznawania czy dane słowo należy do języka i do wyznaczenia wyprowadzenia wykorzystuje następującą tabelę: wiersze odpowiadają nieterminalom, kolumny odpowiadają terminalom i symbolowi $, w komórkach tabeli znajdują się prawe strony odpowiednich produkcji. Algorytm wypełniania tabeli: 1. Dla każdej produkcji wyznacz FIRST(p), gdzie p to prawa strona produkcji. Zapisz prawą stronę

5 produkcji w komórkach (A, a) dla każdego a, gdzie A to lewa strona produkcji, a to terminal znajdujący się w zbiorze FIRST(P). 2. Dla każdej produkcji, jeśli ε FIRST(p) to zapisz prawą stronę produkcji w komórkach (A, a) dla każdego a, gdzie A to lewa strona produkcji, a to terminal lub symbol $ znajdujący się w zbiorze FOLLOW(A). Jeśli w danej komórce należy wpisać prawą stronę więcej niż jednej produkcji, to gramatyka nie jest typu LL(1). Przykład dla gramatyki z poprzedniego zadania: a b c $ A aac ε ε B bb c S aabb Dla produkcji 1: FIRST(aABb) wynosi {a}, a więc do komórki (S, a) wpisujemy aabb. Dla produkcji 2: FIRST(aAc) wynosi {a}, a więc do komórki (A, a) wpisujemy aac. Dla produkcji 3: FIRST(ε) wynosi {ε}. Dla produkcji 4: FIRST(bB) wynosi {b}, a więc do komórki (B, b) wpisujemy bb. Dla produkcji 5: FIRST(c) wynosi {c}, a więc do komórki (B, c) wpisujemy c. Dla produkcji 3 w FIRST(ε) znajduje się ε. A więc zapisujemy do komórek (A, b) i (A, c) ε. Algorytm sprawdzania konkretnych słów. Mamy pewne słowo do sprawdzenia czy należy do gramatyki. W każdym krok aktualizujemy bufor wejściowy w którym znajduje się słowo oraz znak $ na końcu, oraz aktualizujemy stos, na którym na początku znajduje się symbol S. Algorytm sprawdzenia polega na zdejmowaniu ze stosu kolejnych symboli, jeśli jest to symbol terminalny to sprawdzamy czy jest identyczny z pierwszym symbolem z buforu wejściowego, jeśli jest to usuwamy go również z buforu wejściowego. Jeśli jest to symbol nieterminalny to zastępujemy go odpowiednią produkcją i umieszczamy prawą stronę produkcji na stosie. Jeśli w buforze wejściowym pozostał tylko symbol $, wtedy możemy zastosować również produkcje z kolumny $. Algorytm zatrzymuje się w następujących stanach: w buforze wejściowym pozostał $, a stos jest pusty, wtedy i tylko wtedy słowo należy do danego języka. terminal na stosie oraz w buforze wejściowym nie są zgodne, lub nie można już zastosować żadnych produkcji, wtedy i tylko wtedy słowo nie należy do danego języka Przykładowo dla podanej wcześniej gramatyki sprawdźmy słowo: aacbbcb 1. Bufor wejściowy: aacbbcb$ Stos: S

6 2. Zdejmujemy S, zastępujemy łańcuchem znajdującym się w komórce (S, a) Bufor wejściowy: aacbbcb$ Stos: aabb 3. Zdejmujemy a, w słowie wejściowym również jest a, a więc: Bufor wejściowy: acbbcb$ Stos: ABb 4. Zdejmujemy A, zastępujemy komórką (A, a) Bufor wejściowy: acbbcb$ Stos: aacbb 5. Zdejmujemy a, w słowie wejściowym również jest a, a więc: Bufor wejściowy: cbbcb$ Stos: AcBb 6. Zdejmujemy A, zastępujemy komórką (A, c) Bufor wejściowy: cbbcb$ Stos: cbb 7. Zdejmujemy c Bufor wejściowy: bbcb$ Stos: Bb 8. Zdejmujemy B i zastępujemy komórką (B, b) Bufor wejściowy: bbcb$ Stos: bbb 9. Zdejmujemy b Bufor wejściowy: bcb$ Stos: Bb 10. Zdejmujemy B i zastępujemy (B, b) Bufor wejściowy: bcb$ Stos: bbb 11. Zdejmujemy b Bufor wejściowy: cb$ Stos: Bb 12. Zdejmujemy B i zastępujemy (B, c) Bufor wejściowy: cb$ Stos: cb

7 13. Zdejmujemy c. Bufor wejściowy: b$ Stos: b 14. Zdejmujemy b. Bufor wejściowy: $ Stos: Jako, że stos jest pusty a wejście równe $, słowo należy do języka. Wyprowadzenie tego słowa wygląda następująco: S aabb aaacbb aacbb aacbbb aacbbbb aacbbcb Inne słowo: cbcbcb 1. Bufor wejściowy: cbcbcb $ Stos: S 2. Zdejmujemy S, zastępujemy łańcuchem znajdującym się w komórce (S, a) Bufor wejściowy: cbcbcb$ Stos: aabb Zdejmujemy ze stosu symbol a, pierwszy symbol w wejściu jest inny, a mianowicie c, a więc dane słowo nie należy do tego języka. Inne słowo: aab 1. Bufor wejściowy: aba $ Stos: S 2. Zdejmujemy S, zastępujemy łańcuchem znajdującym się w komórce (S, a) Bufor wejściowy: aba$ Stos: aabb 3. Zdejmujemy a Bufor wejściowy: ba$ Stos: ABb 4. Zdejmujemy A i zastępujemy b Bufor wejściowy: ba$ Stos: bbb 5. Zdejmujemy b Bufor wejściowy: a$ Stos: Bb 6. Zdejmujemy B, niestety nie jest możliwe zastąpienie B, ponieważ komórka (B, a) jest pusta, a więc słowo nie należy do tego języka

8 Zadania Zadania na 3.0 Wykonać algorytm LL(1) dla następujących gramatyk: S ads S b D a D bsd Sprawdzić słowa: aaab, oraz aab. oraz S ab A bc B A B ε C c C d Sprawdzić słowo abc. Czy powyższe gramatyki są typu LL(1)? Zadania na 4.0 Sprawdzić na podstawie tabeli parsowania czy poniższa gramatyka jest typu LL(1). S DaS S b D a D bsd Zadania na 5.0 Implementacja algorytmu LL(1) w Javie. Porównanie wyników z programem JFLAP dla gramatyk z zadań na 3.0 i 4.0.

Języki formalne i automaty Ćwiczenia 4

Języki formalne i automaty Ćwiczenia 4 Języki formalne i automaty Ćwiczenia 4 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Sposób tworzenia deterministycznego automatu skończonego... 4 Intuicyjne rozumienie konstrukcji

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 2

Języki formalne i automaty Ćwiczenia 2 Języki formalne i automaty Ćwiczenia 2 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Metoda brute force... 2 Konwersja do postaci normalnej Chomskiego... 5 Algorytm Cocke a-youngera-kasamiego

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 1

Języki formalne i automaty Ćwiczenia 1 Języki formalne i automaty Ćwiczenia Autor: Marcin Orchel Spis treści Spis treści... Wstęp teoretyczny... 2 Wprowadzenie do teorii języków formalnych... 2 Gramatyki... 5 Rodzaje gramatyk... 7 Zadania...

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 9

Języki formalne i automaty Ćwiczenia 9 Języki formalne i automaty Ćwiczenia 9 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Maszyna Mealy'ego... 2 Maszyna Moore'a... 2 Automat ze stosem... 3 Konwersja gramatyki bezkontekstowej

Bardziej szczegółowo

3.4. Przekształcenia gramatyk bezkontekstowych

3.4. Przekształcenia gramatyk bezkontekstowych 3.4. Przekształcenia gramatyk bezkontekstowych Definicje Niech będzie dana gramatyka bezkontekstowa G = G BK Symbol X (N T) nazywamy nieużytecznym w G G BK jeśli nie można w tej gramatyce

Bardziej szczegółowo

Parsery LL(1) Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

Parsery LL(1) Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki Parsery LL() Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy generacyjnej (zstępującej, top-down) symbol początkowy już terminale wyprowadzenie lewostronne pierwszy od lewej

Bardziej szczegółowo

0.1 Lewostronna rekurencja

0.1 Lewostronna rekurencja 0.1 Lewostronna rekurencja Sprawdź czy poniższa gramatyka E jest zgodna z LL(1), tzn. czy umożliwia przeprowadzenie analizy bez powrotu z wyprzedzeniem o jeden symbol. Wyjaśnienie pojęcia LL(1): Pierwsze

Bardziej szczegółowo

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego 2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną G = gdzie: N zbiór symboli nieterminalnych, T zbiór symboli terminalnych, P zbiór

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 8

Języki formalne i automaty Ćwiczenia 8 Języki formalne i automaty Ćwiczenia 8 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Konwersja NFA do DFA... 2 Minimalizacja liczby stanów DFA... 4 Konwersja automatu DFA do

Bardziej szczegółowo

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka Gramatyki, wyprowadzenia, hierarchia Chomsky ego Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G =

Bardziej szczegółowo

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem (1) dno stosu Stos wierzchołek stosu Wejście # B B A B A B A B a b b a b a b $ q i Automat ze

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 7

Języki formalne i automaty Ćwiczenia 7 Języki formalne i automaty Ćwiczenia 7 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Automaty... 2 Cechy automatów... 4 Łączenie automatów... 4 Konwersja automatu do wyrażenia

Bardziej szczegółowo

JAO - Wprowadzenie do Gramatyk bezkontekstowych

JAO - Wprowadzenie do Gramatyk bezkontekstowych JAO - Wprowadzenie do Gramatyk bezkontekstowych Definicja gramatyki bezkontekstowej Podstawowymi narzędziami abstrakcyjnymi do opisu języków formalnych są gramatyki i automaty. Gramatyka bezkontekstowa

Bardziej szczegółowo

Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT

Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd Analiza Syntaktyczna Wstęp Parser dostaje na wejściu ciąg tokenów od analizatora leksykalnego i sprawdza: czy ciąg ten może być generowany przez gramatykę.

Bardziej szczegółowo

Analizator syntaktyczny

Analizator syntaktyczny Analizator syntaktyczny program źródłowy analizator leksykalny token daj nast. token analizator syntaktyczny drzewo rozbioru syntaktycznego analizator semantyczny kod pośredni tablica symboli Analizator

Bardziej szczegółowo

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu Problem Hilberta: 9 Czy istnieje ogólna mechaniczna procedura, która w zasadzie pozwoliłaby nam po kolei rozwiązać wszystkie matematyczne problemy (należące do odpowiednio zdefiniowanej klasy)? 2 Przykłady

Bardziej szczegółowo

Hierarchia Chomsky ego Maszyna Turinga

Hierarchia Chomsky ego Maszyna Turinga Hierarchia Chomsky ego Maszyna Turinga Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G = V skończony zbiór

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 6

Języki formalne i automaty Ćwiczenia 6 Języki formalne i automaty Ćwiczenia 6 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Wyrażenia regularne... 2 Standardy IEEE POSIX Basic Regular Expressions (BRE) oraz Extended

Bardziej szczegółowo

Gramatyki rekursywne

Gramatyki rekursywne Gramatyki bezkontekstowe, rozbiór gramatyczny eoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki rekursywne Niech będzie dana gramatyka bezkontekstowa G =

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 5

Języki formalne i automaty Ćwiczenia 5 Języki formalne i automaty Ćwiczenia 5 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 L-systemy... 2 Grafika żółwia... 2 Bibliografia... 5 Zadania... 6 Zadania na 3.0... 6 Zadania

Bardziej szczegółowo

Wykład 5. Jan Pustelnik

Wykład 5. Jan Pustelnik Wykład 5 Jan Pustelnik Konstruowanie parsera Istnieje kilka podstawowych metod konstrukcji parsera bez nawracania Ze względów wydajnościowych parser bez nawracania jest jedynym sensownym rozwiązaniem (prawo

Bardziej szczegółowo

Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń

Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 4 kwietnia 2019 1 Dodajmy kontekst! Rozważaliśmy

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Gramatyki bezkontekstowe I Gramatyką bezkontekstową

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Automat ze stosem Automat ze stosem to szóstka

Bardziej szczegółowo

Metody Kompilacji Wykład 7 Analiza Syntaktyczna

Metody Kompilacji Wykład 7 Analiza Syntaktyczna Metody Kompilacji Wykład 7 Analiza Syntaktyczna Parsowanie Parsowanie jest to proces określenia jak ciąg terminali może być generowany przez gramatykę. Włodzimierz Bielecki WI ZUT 2/57 Parsowanie Dla każdej

Bardziej szczegółowo

Wprowadzenie do analizy składniowej. Bartosz Bogacki.

Wprowadzenie do analizy składniowej. Bartosz Bogacki. Wprowadzenie do analizy składniowej Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy wprowadzenia do analizy składniowej. Zapraszam serdecznie

Bardziej szczegółowo

Hierarchia Chomsky ego

Hierarchia Chomsky ego Hierarchia Chomsky ego Gramatyki nieograniczone Def. Gramatyką nieograniczoną (albo typu 0) nazywamy uporządkowaną czwórkę G= gdzie: % Σ - skończony alfabet symboli końcowych (alfabet, nad którym

Bardziej szczegółowo

Jaki język zrozumie automat?

Jaki język zrozumie automat? Jaki język zrozumie automat? Wojciech Dzik Instytut Matematyki Uniwersytet Śląski Katowice wojciech.dzik@us.edu.pl 7. Forum Matematyków Polskich, 12-17 września 2016, Olsztyn Prosty Automat do kawy Przemawiamy

Bardziej szczegółowo

GRAMATYKI BEZKONTEKSTOWE

GRAMATYKI BEZKONTEKSTOWE GRAMATYKI BEZKONTEKSTOWE PODSTAWOWE POJĘCIE GRAMATYK Przez gramatykę rozumie się pewien układ reguł zadający zbiór słów utworzonych z symboli języka. Słowa te mogą być i interpretowane jako obiekty językowe

Bardziej szczegółowo

Analiza metodą zstępującą. Bartosz Bogacki.

Analiza metodą zstępującą. Bartosz Bogacki. Analiza metodą zstępującą Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy analizy metodą zstępującą. Zapraszam serdecznie do wysłuchania.

Bardziej szczegółowo

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki Analiza leksykalna 1 Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych (tokenów)

Bardziej szczegółowo

Efektywna analiza składniowa GBK

Efektywna analiza składniowa GBK TEORETYCZNE PODSTAWY INFORMATYKI Efektywna analiza składniowa GBK Rozbiór zdań i struktur zdaniowych jest w wielu przypadkach procesem bardzo skomplikowanym. Jego złożoność zależy od rodzaju reguł produkcji

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 12: Gramatyki i inne modele równoważne maszynom Turinga. Wstęp do złożoności obliczeniowej Sławomir Lasota Uniwersytet Warszawski 20 maja 2015 Plan 1 Gramatyki 2 Języki

Bardziej szczegółowo

Definiowanie języka przez wyrażenie regularne(wr)

Definiowanie języka przez wyrażenie regularne(wr) Wykład3,str1 Definiowanie języka przez wyrażenie regularne(wr) DEFINICJA: (wyrażenia regularne) M(specjalneznakinienależącedoalfabetu:{,},, ) literyalfabetusąwr złożeniawrsąwr: jeśliw 1 iw 2 sąwr,to{w

Bardziej szczegółowo

JIP. Analiza składni, gramatyki

JIP. Analiza składni, gramatyki JIP Analiza składni, gramatyki Książka o różnych językach i paradygmatach 2 Polecam jako obowiązkową lekturę do przeczytania dla wszystkich prawdziwych programistów! Podsumowanie wykładu 2 3 Analiza leksykalna

Bardziej szczegółowo

Symbol, alfabet, łańcuch

Symbol, alfabet, łańcuch Łańcuchy i zbiory łańcuchów Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Symbol, alfabet, łańcuch Symbol Symbol jest to pojęcie niedefiniowane (synonimy: znak, litera)

Bardziej szczegółowo

Lista 5 Gramatyki bezkontekstowe i automaty ze stosem

Lista 5 Gramatyki bezkontekstowe i automaty ze stosem Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Teoretyczne Podstawy Informatyki Lista 5 Gramatyki bezkontekstowe i automaty ze stosem 1 Wprowadzenie 1.1 Gramatyka bezkontekstowa

Bardziej szczegółowo

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ)

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ) Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też L = {vw : vuw L dla pewnego u A takiego, że u = v + w } Rozwiązanie. Niech A =

Bardziej szczegółowo

Odwrotna Notacja Polska

Odwrotna Notacja Polska Odwrotna Notacja Polska Odwrotna Notacja Polska w skrócie ONP) jest sposobem zapisu wyrażeń arytmetycznych. Znak wykonywanej operacji umieszczany jest po operandach, argumentach tzw. zapis postfiksowy).

Bardziej szczegółowo

Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka

Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka Języki i operacje na językach Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Definicja języka Definicja języka Niech Σ będzie alfabetem, Σ* - zbiorem wszystkich łańcuchów

Bardziej szczegółowo

Zadanie analizy leksykalnej

Zadanie analizy leksykalnej Analiza leksykalna 1 Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Przykład: We: COST := ( PRICE + TAX ) * 0.98 Wy: id 1 := ( id 2 + id 3 ) * num 4 Tablica symboli:

Bardziej szczegółowo

Algorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin

Algorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin Algorytmy stochastyczne, wykład 5, modelowanie roślin Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 214-3-2 1 2 3 ze stosem Przypomnienie gramatyka to system (Σ, A, s,

Bardziej szczegółowo

Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy

Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy Wprowadzenie do programowania języki i gramatyki formalne dr hab. inż. Mikołaj Morzy plan wykładu wprowadzenie gramatyki podstawowe definicje produkcje i drzewa wywodu niejednoznaczność gramatyk hierarchia

Bardziej szczegółowo

Lingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań

Lingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań Katedra Informatyki Stosowanej Politechnika Łódzka Lingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań dr hab. inŝ. Lidia Jackowska-Strumiłło Historia rozwoju języków programowania 1955 1955

Bardziej szczegółowo

Obliczanie. dr hab. inż. Joanna Józefowska, prof. PP 1

Obliczanie. dr hab. inż. Joanna Józefowska, prof. PP 1 Obliczanie 1 Obliczanie Co to jest obliczanie? Czy wszystko można obliczyć? Czy to, co intuicyjnie uznajemy za obliczalne można obliczyć za pomocą mechanicznej procedury? 2 Czym jest obliczanie? Dawid

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 9: Własności języków bezkontekstowych Sławomir Lasota Uniwersytet Warszawski 27 kwietnia 2016 Plan 1 Pompowanie języków bezkontekstowych 2 Własności domknięcia 3 Obrazy

Bardziej szczegółowo

Gramatyka operatorowa

Gramatyka operatorowa Gramatyki z pierwszeństwem operatorów Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka operatorowa Definicja: G = G BK jest gramatyką operatorową (i) (ii) G jest gramatyką

Bardziej szczegółowo

11 Probabilistic Context Free Grammars

11 Probabilistic Context Free Grammars 11 Probabilistic Context Free Grammars Ludzie piszą i mówią wiele rzeczy, a ich wypowiedzi mają zawsze jakąś określoną strukture i regularność. Celem jest znalezienie i wyizolowanie tego typu struktur.

Bardziej szczegółowo

Metody Kompilacji Wykład 3

Metody Kompilacji Wykład 3 Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy

Bardziej szczegółowo

JAO - lematy o pompowaniu dla jezykow bezkontekstowy

JAO - lematy o pompowaniu dla jezykow bezkontekstowy JAO - lematy o pompowaniu dla jezykow bezkontekstowych Postać normalna Chomsky ego Gramatyka G ze zbiorem nieterminali N i zbiorem terminali T jest w postaci normalnej Chomsky ego wtw gdy każda produkcja

Bardziej szczegółowo

10. Translacja sterowana składnią i YACC

10. Translacja sterowana składnią i YACC 10. Translacja sterowana składnią i YACC 10.1 Charakterystyka problemu translacja sterowana składnią jest metodą generacji przetworników tekstu języków, których składnię opisano za pomocą gramatyki (bezkontekstowej)

Bardziej szczegółowo

Matematyczna wieża Babel. 3. Gramatyki o językach bezkontekstowych materiały do ćwiczeń

Matematyczna wieża Babel. 3. Gramatyki o językach bezkontekstowych materiały do ćwiczeń Matematyczna wieża Babel. 3. Gramatyki o językach bezkontekstowych materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 21 marca 2019 1 Gramatyki! Gramatyka to taki przepis

Bardziej szczegółowo

Usuwanie lewostronnej rekursji. Usuwanie lewostronnej faktoryzacji. Wyznaczanie zbioru FIRST. Wyznaczanie zbioru FOLLOW. Konstrukcja parsera LL

Usuwanie lewostronnej rekursji. Usuwanie lewostronnej faktoryzacji. Wyznaczanie zbioru FIRST. Wyznaczanie zbioru FOLLOW. Konstrukcja parsera LL Usuwanie lewostronnej rekursji A Aα β Np. A A+B C A βa A CA A αa ε A +BA ε Usuwanie lewostronnej faktoryzacji A αβ 1... αβ k Np. A ab a A αa A aa A β 1... β k A B ε Wyznaczanie zbioru FIRST 1) A xβ x T

Bardziej szczegółowo

Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech

Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech anagram(l) = {w : w jest anagaramem v dla pewnego v L}. (a) Czy jeśli L jest

Bardziej szczegółowo

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204 Opracował: prof. dr hab. inż. Jan Kazimierczak KATEDA INFOMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 204 Temat: Hardware'owa implementacja automatu skończonego pełniącego

Bardziej szczegółowo

Maszyna Turinga języki

Maszyna Turinga języki Maszyna Turinga języki Teoria automatów i języków formalnych Dr inż. Janusz Majewski Katedra Informatyki Maszyna Turinga (1) b b b A B C B D A B C b b Q Zależnie od symbolu obserwowanego przez głowicę

Bardziej szczegółowo

Odtworzenie wywodu metodą wstępującą (bottom up)

Odtworzenie wywodu metodą wstępującą (bottom up) Przeglądane wejśca od lewej strony do prawej L (k) Odtwarzane wywodu prawostronnego Wystarcza znajomosc "k" następnych symbol łańcucha wejścowego hstor dotychczasowych redukcj, aby wyznaczyc jednoznaczne

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 04 Systemy Lindenmayera Jarosław Miszczak IITiS PAN Gliwice 19/10/2016 1 / 37 1 L-Systemy 2 GroIMP i XL ALife 2 / 37 L-Systemy L-systemy czyli systemy Lindenmayera.

Bardziej szczegółowo

1. Maszyna Turinga, gramatyki formalne i ONP

1. Maszyna Turinga, gramatyki formalne i ONP 1. Maszyna uringa, gramatyki formalne i OP 1.1.Maszyna uringa Automat skończony składa się ze skończonego zbioru stanów i zbioru przejść ze stanu do stanu, zachodzących przy różnych symbolach wejściowych

Bardziej szczegółowo

Programowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994]

Programowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994] Programowanie w Logice Gramatyki metamorficzne Przemysław Kobylański na podstawie [CM2003] i [SS1994] Gramatyki bezkontekstowe Gramatyką bezkontekstową jest uporządkowana czwórka G = Σ, N, S, P, gdzie

Bardziej szczegółowo

1. Reguły minimalne (optymalne) Podstawowe twierdzenia i definicje. Definicja 1 Funkcję postaci f. nazwiemy n-argumentową funkcją boolowską.

1. Reguły minimalne (optymalne) Podstawowe twierdzenia i definicje. Definicja 1 Funkcję postaci f. nazwiemy n-argumentową funkcją boolowską. 1. Reguły minimalne (optymalne) Podstawowe twierdzenia i definicje Definicja 1 Funkcję postaci f n :{ 0, 1} { 0, 1} nazwiemy n-argumentową funkcją boolowską. Definicja 2 1 2 Term g = x 1 x x ( ϕ ) ( ϕ

Bardziej szczegółowo

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ. Gramatyki grafowe Def. Nieskierowany NL-graf (etykietowane wierzchołki) jest czwórką g = (V, E, Σ, ϕ), gdzie: V niepusty zbiór wierzchołków, E V V zbiór krawędzi, Σ - skończony, niepusty alfabet etykiet

Bardziej szczegółowo

Dopełnienie to można wyrazić w następujący sposób:

Dopełnienie to można wyrazić w następujący sposób: 1. (6 punktów) Czy dla każdego regularnego L, język f(l) = {w : każdy prefiks w długości nieparzystej należy do L} też jest regularny? Odpowiedź. Tak, jęsli L jest regularny to też f(l). Niech A będzie

Bardziej szczegółowo

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych Opracował: dr inż. Zbigniew Buchalski KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów

Bardziej szczegółowo

JĘZYKI FORMALNE I METODY KOMPILACJI

JĘZYKI FORMALNE I METODY KOMPILACJI Stefan Sokołowski JĘZYKI FORMALNE I METODY KOMPILACJI Inst Informatyki Stosowanej, PWSZ Elbląg, 2015/2016 JĘZYKI FORMALNE reguły gry Wykład1,str1 Zasadnicze informacje: http://iispwszelblagpl/ stefan/dydaktyka/jezform

Bardziej szczegółowo

Złożoność obliczeniowa zadania, zestaw 2

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Języki i gramatyki formalne

Języki i gramatyki formalne Języki i gramatyki formalne Języki naturalne i formalne Cechy języka naturalnego - duża swoboda konstruowania zdań (brak ścisłych reguł gramatycznych), duża ilość wyjątków. Języki formalne - ścisły i jednoznaczny

Bardziej szczegółowo

PARADYGMATY I JĘZYKI PROGRAMOWANIA. Analiza leksykalna i syntaktyczna. w- 5

PARADYGMATY I JĘZYKI PROGRAMOWANIA. Analiza leksykalna i syntaktyczna. w- 5 PARADYGMATY I JĘZYKI PROGRAMOWANIA Analiza leksykalna i syntaktyczna. Treść 2 Wstęp Analiza leksykalna Analiza syntaktyczna Rekurencja zstępująca Parsery LL Parsery LL sterowane tablicą 3 Wstęp dobra książka

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 05 Biologia i gramatyka Jarosław Miszczak IITiS PAN Gliwice 07/04/2016 1 / 40 1 Nieformalne określenie fraktali. 2 Wymiar pudełkowy/fraktalny. 3 Definicja fraktali.

Bardziej szczegółowo

Gramatyki regularne i automaty skoczone

Gramatyki regularne i automaty skoczone Gramatyki regularne i automaty skoczone Alfabet, jzyk, gramatyka - podstawowe pojcia Co to jest gramatyka regularna, co to jest automat skoczony? Gramatyka regularna Gramatyka bezkontekstowa Translacja

Bardziej szczegółowo

Imię, nazwisko, nr indeksu

Imię, nazwisko, nr indeksu Imię, nazwisko, nr indeksu (kod) (9 punktów) Wybierz 9 z poniższych pytań i wybierz odpowiedź tak/nie (bez uzasadnienia). Za prawidłowe odpowiedzi dajemy +1 punkt, za złe -1 punkt. Punkty policzymy za

Bardziej szczegółowo

JĘZYKIFORMALNE IMETODYKOMPILACJI

JĘZYKIFORMALNE IMETODYKOMPILACJI Stefan Sokołowski JĘZYKIFORMALNE IMETODYKOMPILACJI Inst. Informatyki Stosowanej, PWSZ Elbląg, 2009/2010 JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.1 Zasadnicze informacje: http://iis.pwsz.elblag.pl/

Bardziej szczegółowo

Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura

Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty Dr inŝ. Janusz Majewski Katedra Informatyki Literatura Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques

Bardziej szczegółowo

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne Załóżmy, że mamy źródło S, które generuje symbole ze zbioru S={x, x 2,..., x N } z prawdopodobieństwem P={p, p 2,..., p N }, symbolom tym odpowiadają kody P={c, c 2,..., c N }. fektywność danego sposobu

Bardziej szczegółowo

Metody Kompilacji Wykład 13

Metody Kompilacji Wykład 13 Metody Kompilacji Wykład 13 Prosty Translator Translator dla prostych wyrażeń Schemat translacji sterowanej składnią często służy za specyfikację translatora. Schemat na następnym slajdzie zostanie użyty

Bardziej szczegółowo

1 Automaty niedeterministyczne

1 Automaty niedeterministyczne Szymon Toruńczyk 1 Automaty niedeterministyczne Automat niedeterministyczny A jest wyznaczony przez następujące składniki: Alfabet skończony A Zbiór stanów Q Zbiór stanów początkowych Q I Zbiór stanów

Bardziej szczegółowo

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11} Języki Ustalmy pewien skończony zbiór symboli Σ zwany alfabetem. Zbiór Σ zawiera wszystkie skończone ciagi symboli z Σ. Podzbiór L Σ nazywamy językiem a x L nazywamy słowem. Specjalne słowo puste oznaczamy

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 11: Obliczalność i nieobliczalność Sławomir Lasota Uniwersytet Warszawski 6 maja 2015 Plan 1 Problemy częściowo rozstrzygalne 2 Problemy rozstrzygalne 3 Funkcje (częściowo)

Bardziej szczegółowo

Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33

Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33 Klasyczne i kwantowe podejście do teorii automatów i języków formalnych mgr inż. Olga Siedlecka olga.siedlecka@icis.pcz.pl Zakład Informatyki Stosowanej i Inżynierii Oprogramowania Instytut Informatyki

Bardziej szczegółowo

Obiektowa implementacja parsera klasy LL(1)

Obiektowa implementacja parsera klasy LL(1) Obiektowa implementacja parsera klasy LL(1) Piotr Jeruszka 1 1 Wydział Inżynierii Mechanicznej i Informatyki Kierunek Informatyka, II stopień Specjalność: Aplikacje biznesowe i bazy danych, Rok II Streszczenie

Bardziej szczegółowo

Część wspólna (przekrój) A B składa się z wszystkich elementów, które należą jednocześnie do zbioru A i do zbioru B:

Część wspólna (przekrój) A B składa się z wszystkich elementów, które należą jednocześnie do zbioru A i do zbioru B: Zbiory 1 Rozważmy dowolne dwa zbiory A i B. Suma A B składa się z wszystkich elementów, które należą do zbioru A lub do zbioru B: (x A B) (x A x B). Część wspólna (przekrój) A B składa się z wszystkich

Bardziej szczegółowo

Języki formalne i gramatyki

Języki formalne i gramatyki J.Nawrocki, M. Antczak, A. Hoffa, S. Wąsik Plik źródłowy: 08cw10-jfig.doc; Data: 2008-10-22 13:29:00 Ćwiczenie nr 10 Języki formalne i gramatyki Wprowadzenie 1. Napisz analizator leksykalny (LEX) i analizator

Bardziej szczegółowo

złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa

złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa Zadanie 1. Rozważmy jezyk złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa równe. Narysować diagram minimalnego automatu deterministycznego akceptujacego

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga

Bardziej szczegółowo

Zakład Systemów Rozproszonych

Zakład Systemów Rozproszonych Zakład Systemów Rozproszonych Politechnika Rzeszowska Moduł 5: Wybrane programy użytkowe Edytor Vi Edytor Vi uruchamiany jest w oknie terminala. Przy jego pomocy możemy dokonywać następujących operacji:

Bardziej szczegółowo

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. 1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. Algorytmy przeszukiwania w głąb i wszerz są najczęściej stosowanymi algorytmami przeszukiwania. Wykorzystuje się je do zbadania istnienia połączenie

Bardziej szczegółowo

Definicja 2. Twierdzenie 1. Definicja 3

Definicja 2. Twierdzenie 1. Definicja 3 INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 205 temat: ZASTOSOWANIE JĘZYKA WYRAŻEŃ

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Metody optymalizacji Metody poszukiwania ekstremum funkcji jednej zmiennej Materiały pomocnicze do ćwiczeń

Bardziej szczegółowo

Turing i jego maszyny

Turing i jego maszyny Turing Magdalena Lewandowska Politechnika Śląska, wydział MS, semestr VI 20 kwietnia 2016 1 Kim był Alan Turing? Biografia 2 3 Mrówka Langtona Bomba Turinga 4 Biografia Kim był Alan Turing? Biografia Alan

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 10: Maszyny Turinga Sławomir Lasota Uniwersytet Warszawski 29 kwietnia 2015 Plan Maszyny Turinga (Niedeterministyczna) maszyna Turinga M = (A, Q, q 0, F, T, B, δ) A

Bardziej szczegółowo

Jednym z najprostszych sposobów porządkowania jest technika stosowana przy sortowaniu listów:

Jednym z najprostszych sposobów porządkowania jest technika stosowana przy sortowaniu listów: Jednym z najprostszych sposobów porządkowania jest technika stosowana przy sortowaniu listów: Listy rozkładane są do różnych przegródek. O tym, do której z nich trafi koperta, decydują różne fragmenty

Bardziej szczegółowo

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie Opracował: dr hab. inż. Jan Magott KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 207 Temat: Automaty Moore'a i Mealy 1. Cel ćwiczenia Celem ćwiczenia jest

Bardziej szczegółowo

Elementy Teorii Obliczeń

Elementy Teorii Obliczeń Wykład 2 Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 10 stycznia 2009 Maszyna Turinga uwagi wstępne Maszyna Turinga (1936 r.) to jedno z najpiękniejszych i najbardziej intrygujacych

Bardziej szczegółowo

- autorzy programu - wyjście z programu

- autorzy programu - wyjście z programu Wstęp Multimedialny program przeznaczony dla uczniów szkół podstawowych, poznających tajniki gramatyki języka polskiego: zarówno dla tych, którzy stawiają pierwsze kroki w rozpoznawaniu poszczególnych

Bardziej szczegółowo

Macierz o wymiarach m n. a 21. a 22. A =

Macierz o wymiarach m n. a 21. a 22. A = Macierze 1 Macierz o wymiarach m n A = a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn Mat m n (R) zbiór macierzy m n o współczynnikach rzeczywistych Analogicznie określamy Mat m n (Z), Mat m n (Q) itp 2

Bardziej szczegółowo

Wyrażenie nawiasowe. Wyrażenie puste jest poprawnym wyrażeniem nawiasowym.

Wyrażenie nawiasowe. Wyrażenie puste jest poprawnym wyrażeniem nawiasowym. Wyrażenie nawiasowe Wyrażeniem nawiasowym nazywamy dowolny skończony ciąg nawiasów. Każdemu nawiasowi otwierającemu odpowiada dokładnie jeden nawias zamykający. Poprawne wyrażenie nawiasowe definiujemy

Bardziej szczegółowo

Zadanie 2: Arytmetyka symboli

Zadanie 2: Arytmetyka symboli 1 Cel ćwiczenia Zadanie 2: Arytmetyka symboli Wykształcenie umiejętności abstrahowania operacji arytmetycznych. Zapoznanie się i przećwiczenie mechanizmu tworzenia przeciążeń funkcji operatorowych. Utrwalenie

Bardziej szczegółowo

AUTOMATY SKOŃCZONE. Automat skończony przedstawiamy formalnie jako uporządkowaną piątkę:

AUTOMATY SKOŃCZONE. Automat skończony przedstawiamy formalnie jako uporządkowaną piątkę: AUTOMATY SKOŃCZONE DETERMINISTYCZNY AUTOMAT SKOŃCZONY - DAS Automat skończony jest modelem matematycznym systemu o dyskretnych wejściach i wyjściach. System taki w danej chwili może znajdować się w jednym

Bardziej szczegółowo

Wykład5,str.1. Maszyny ze stosem ... 1,0 λ r. λ,z λ

Wykład5,str.1. Maszyny ze stosem ... 1,0 λ r. λ,z λ Wykład5,str1 p 0,Z 0Z 0,0 00 q λ,z λ r Wykład5,str1 Słowo na wejściu: 0011 część nieprzeczytana Z p 0,Z 0Z 0,0 00 q λ,z λ r Wykład5,str1 Słowo na wejściu: 0011 część nieprzeczytana 0 Z p 0,Z 0Z 0,0 00

Bardziej szczegółowo