
(expression)
::= (exp
ression))|
(expression)
+
(expression)
| (expression}*
(expression}
| (variable}
(variable}
::= x
| у
Зобразити
дерево виведення у цій граматиці для
ланцюжка (x
*
у)
+ x.
Для
зручності використаємо позначення E
для
(expression)
(це
буде і
початковий
символ) та V
для (variable).
Тоді
правилами перетворення (продукціями
граматики будуть)
E
^
(E),
E
^
E
+ E, E
^
E*E
та
E
^
V
з першого виразу, а також V
^ x
та
V
^ у
з другого виразу.
Дерево
виведення зображено на рис. 3.
Рис.
3.
Дерево
виведення для рядка (x
*
у)
+ .
Нікольський
Ю.В., Пасічник В.В., Щербина Ю.М. Дискретна
математика: Підручник. - Львів: "Магнолія
Плюс”, 2005.
-
608с.
Розв’язати
завдання відповідно до свого порядкового
номеру у списку групи. Завдання отримати
у викладача. При оформленні лабораторної
роботи дотримуватись вимог, які наведені
в методичних вказівках. Оцінювання
виконаної лабораторної роботи проводиться
згідно кількості правильно розв’язаних
завдань з відповідного варіанту.
Завдання лабораторної роботи мають
три рівня складності. Оцінювання
виконання
11
Література
Завдання
1. baba |
2. abab |
3. cbaba |
4. bbbcba |
Другий
рівень
Задано
множину продукцій у формі Бекуса-Наура:
12
Нехай
V =
{S,A,B,a,b}, T = {a,b}. Множини
продукцій задані нижче a)
-
j).
Визначити,
чи є граматика G
= (V,T,S,P) граматикою
типу 0,
але
не типу 1;
граматикою
типу 1,
але
не типу 2;
граматикою
типу 2,
але
не типу 3
або
граматикою типу 3:
P
=
{S
^aAB,
A ^Bb,
B
^Л};
P
=
{S
^ Aa,
A ^
a,
A ^
b};
P
=
{S
^ ABa,
AB
^
a};
P
=
{S
^ ABA,
A
^
aB,
B
^
ab};
P
=
{S
^ bA,
A ^
B,
B ^
a};
P
=
{S
^ aA, aA
^
B,
B
^
aA,
A
^
b};
P
=
{S
^ bA, A
^
b,S
^Л};
P
=
{S
^ AB, B
^
aAb,
aAb ^
b};
P
=
{S
^ aA, A
^
bB,
B ^
b,
B
^Л};
P
=
{S
^ A, A
^
B,
B
^Л}.
Нехай
G
- граматика
з V
= {a,b,c,S}, T = {a,b,c}, початковий
символ S
і
множина продукцій P
=
{S
^ abS,
S
^
bcS,
S
^
bbS,
S
^
a,
S ^
cb}
Побудувати
дерево виводу для рядків 1
-
3: |
2. bbbcbba |
3.bcabbbbbcb |
<E>
::=
(<E>
)|{ E
+ < E K E
*< E>KV>
K C
V
::=
x | у
(C)
:= 1|2
Вивести
ланцюжок. Намалювати дерево виведення.
x
+
(у
+
у)-у;
x
+ у*(x
+ x)
+ у;
(x
+ 1)-^.у
+
2);
x
+
(у
+
(x + у));
x
+ x
*
(x
+ 2);
2
+ x
* у
+
(x +1);
x
+ (x +1 + 2 * x);
(2
+ x)
у
+
x
+ у;
1
+ (x + у
)(x
+ x);
x
+ (1 + (2
+ (x+у)));
x*
у
*(x
+1 + у);
2*(x
+ у
+1);
2
*(
+
x-2
*(у
+
у));
(x
+ 1)-(x +1)(у
+1);
у
+
у
+
у*(x
+ x +1);
2*(x
+ у
+1)
+1;
2
+ 2 *(x + у
+1)
+ x;
x+у
+
(x +1)2;
2
* у
+
2 * (x + у)
+1;
x
* у
*
у
+
у
*
(x +1);
Паліндромом
називається рядок, який однаково
читається у прямому і зворотному
напрямах. Визначити контекстно вільну
граматику, яка породжує всі паліндроми
над алфавітом {0,1}.
Дано
граматику G=(V,
T, S, P), де
V={0,
1, S, A, B}, T={0,1}, S - початковий
символ. Виконати наступні завдання:
Побудувати
мову, породжену такою граматикою.
Визначити
тип граматики.
5.6.1
P
= {S ^
0A,
S
^А,
S
^
0,
A
^
1};
13
P
= {S ^ 101A, A
^ 1A, A
^ 0};
P
= {S ^ 0A, S
^ 1B, A
^ 0, B
^ 0}
P
= {S ^ 0A, A
^ 01, S
^ 0B, B
^ 10};
P
= {S ^ 1S, S ^ 0, S ^ B, B
^ 01};
P
= {S ^ B01, B
^ 1B, B
^ 0};
P
= {S ^ 1A, A
^ 1, A
^ 0, S ^ 0};
P
= {S ^ 111S, S^Л};
P
= {S ^ 0A, A
^ 01B, S
^ 0B, B
^ 10};
P
= {S ^ 0S, A
^ A1, S ^ A, A
^Л};
P
= {S ^ S1, S ^ A, S ^ 1, S ^Л,
A
^ 0};
P
= {S ^ 1A, A
^ 101, S
^ 0B, B
^ 010};
P
= {S ^ 01A, A
^ 00, S ^ 0B, B
^ 110};
P
= {S ^ 1A, S ^ 0, S ^Л,
B
^ 1, A
^0B};
P
= {S^0S, S^Л,
S^
1};
P
= {S ^ 1B, S
^ 0, A
^ 1A, A
^ 0B, A
^ 1, A
^ 0, B
^ 1 };
P
= {S ^ AB, A
^ 1, S
^ 1A, B
^ 01};
P
= {S ^ S11, S ^ 0};
P
= {S^ 10S1, S^Л};
P
= {S ^ 1B0, B
^ 1B, B
^ 0}.
5.7
Побудувати
граматику, яка породжує мову.
L(G)={22n1,
n
= 0,1,2,...}
L(G)
= {22+n,
n
= 0, 1, 2, ...}
L(G)
= {02”a”+2,
n
= 0, 1, 2, ...}
L(G)
= {2n1m+2, n,
m
= 0, 1, 2, ...}
L(G)
= {22n12n, n
= 0, 1, 2, ...}
L(G)
= {0n23m, n,
m
= 0, 1, 2, ...}
L(G)
= {22n12n, n
= 0, 1, 2, ...}
L(G)
= {22n03m,
n,
m
= 0, 1, 2, ...}
L(G)
= {23n0,
n
= 0, 1, 2, ...}
L(G)
= {22n0n+2,
n
= 0, 1, 2, ...}
L(G)
= {22n12n+1,
n
= 0, 1, 2, ...}
14