TEORETYCZNE
PODSTAWY
INFORMATYKI
Prowadzący:
ppor. mgr inż. Mariusz
CHMIELEWSKI
e-mail:
mchmiel@isi.wat.waw.pl
Temat 5:
Temat 5:
Gramatyki, języki
Gramatyki, języki
2
ppor. mgr inż. Mariusz CHMIELEWSKI
Definicja gramatyki
Definiujemy gramatykę:
digit
number
number
digit
number
digit
7
6
5
4
3
2
1
0
Gramatyka pozwalająca na reprezentację liczb w
systemie ósemkowym
3
ppor. mgr inż. Mariusz CHMIELEWSKI
Gramatyka operacji na liczba w systemie
ósemkowym
expr
expr
expr
expr
expr
expr
expr
expr
expr
expr
expr
expr
expr
expr
/
*
7
6
5
4
3
2
1
0
number
number
digit
number
number
digit
number
digit
7
...
0
digit
digit
Możliwe reprezentacje:
12+34
12+(12*2)
(23)
(14)+(21/2)
Błędne:
87+12
4
ppor. mgr inż. Mariusz CHMIELEWSKI
Gramatyki – przykład definiowania języka
programowania
Przykład definiowania instrukcji warunkowej (język Java - if)
ListaInst
Instrukcja
Instrukcja
ListaInst
ListaInst
rukcja
prostaInst
ListaInst
ListaInst
Instrukcja
else
Instrukcja
Warunek
Instrukcja
Instrukcja
Warunek
Instrukcja
)
(
if
)
(
if
If (zmienna>10) {
System.out.println(„Wartosc”+zmienna);
}
5
ppor. mgr inż. Mariusz CHMIELEWSKI
Gramatyki – przykład definiowania języka
programowania
Zadania:
Określ produkcje pozwalającą na zdefiniowanie
składni:
pętli while
pętli do...while
Instrukcji wielokrotnego wyboru switch
Założenia:
Zadane są kategorie synktaktyczne:
Stałt
Warunek
Prosta
Instrukcja
6
ppor. mgr inż. Mariusz CHMIELEWSKI
Gramatyki – przykład definiowania języka
programowania
7
ppor. mgr inż. Mariusz CHMIELEWSKI
Język formalny
8
ppor. mgr inż. Mariusz CHMIELEWSKI
Generator - akceptor
9
ppor. mgr inż. Mariusz CHMIELEWSKI
Generowanie języka przez
gramatykę
10
ppor. mgr inż. Mariusz CHMIELEWSKI
Generowanie języka – (gramatyka =
generator)
Przykład generowania:
11
ppor. mgr inż. Mariusz CHMIELEWSKI
Przykład - generator
12
ppor. mgr inż. Mariusz CHMIELEWSKI
Przykład - generator
13
ppor. mgr inż. Mariusz CHMIELEWSKI
Drzewa wywodu
14
ppor. mgr inż. Mariusz CHMIELEWSKI
Drzewa wywodu
15
ppor. mgr inż. Mariusz CHMIELEWSKI
16
ppor. mgr inż. Mariusz CHMIELEWSKI
Drzewo wywodu a struktura słowa
17
ppor. mgr inż. Mariusz CHMIELEWSKI
Gramatyki prawoliniowe
18
ppor. mgr inż. Mariusz CHMIELEWSKI
Rodzaje gramatyk
19
ppor. mgr inż. Mariusz CHMIELEWSKI
Hierarchia języków (N. Chomsky)
20
ppor. mgr inż. Mariusz CHMIELEWSKI
Akceptor