Решение задач по курсу «Основы трансляции».
Дана грамматика. Построить вывод заданной цепочки.
a) S T | T+S | T-S b) S aSBC | abC
T F | F*T CB BC
F a | b bB bb
Цепочка a-b*a+b bC bc
cC cc
Цепочка aaabbbccc
Решение:
а)
SSF-SF-T+SF-F*T+Sa-b*T+Sa-b*a+b
1 2 3 4 5 6
Правила, которые использовали:
1) S T-S
2) T F
3) S T+S
4) T F*T
5) F a | b
6) S T; T F; F a | b
б)
S aSBCaaSBCBC aaSBBCC aaabCBBCC aaabBCBCC
1 2 3 4 5
aaabBBCCC aaabbbCCC aaabbbcCCaaabbbccc
6 7 8 9
Правила, которые использовали:
1) S aSBC
2) S aSBC
3) CB BC
4) S abC
5) CB BC
6) CB BC
7) bB bb
8) bC bc
9) cC cc
Построить все сентенциальные формы для грамматики с правилами:
S A+B | B+A
A a
B b
Решение:
Сентенциальные формы:
A+Ba+B
A+BA+b
B+Ab+A
B+AB+a
3. К какому типу по Хомскому относится данная грамматика? Какой язык она порождает? Каков тип языка?
a) S APA
P + | -
A a | b
Решение:
Данная грамматика относиться ко 2-типу (контекстно-свободный)
Язык: L={a+a, a-a, b+b, b-b, a-b, a+b, b-a, b+a} это пример конечного языка, состоящего из восьми цепочек.
b) S aQb |
Q cSc
Решение:
Данная грамматика относиться к 3-типу (автоматный)
Язык: L={(a)n,(c)2n,(b)n| n>=1} это пример языка содержащего бесконечное количество цепочек.
c) S 1B
B B0 | 1
Решение:
Данная грамматика относиться ко 2-типу (контекстно-свободный)
Язык: L={ цепочки из 0 и 1 с числом 1 на один больше} это пример языка содержащего бесконечное количество цепочек.
d) S A | SA | SB
A a
B b
Решение:
Данная грамматика относиться к 2-типу (контекстно-свободный)
Язык: L={ любые цепочки из a и b | a≥1} это пример языка содержащего бесконечное количество цепочек.
Построить грамматику, порождающую язык :
L = { an bm | n, m >= 1}
Решение:
R1: SaSb|ab; G1={{a,b},{S},S,R1}
R2: SAB, AaA|aBb|b; G1={{a,b},{S,A,B},S,R2}
L = { ccc | , , - любые цепочки из a и b}
Решение:
R1: SAcAcAc, AaA | bA | B, B a | b; G1={{a,b,c},{S, A, B },S,R1}
L = { an bm | n m ; n, m >= 0}
R1: SASb , Sba | ε, Aa , ASb | ε ; G1={{a,b},{S, A},S,R1}
L = { (a2m bm)n | m >= 1, n >= 0}
Решение:
R1: SaaAbS | ε, AaaAb | ε ; G1={{a,b},{S, A},S,R1}
L = {
| n >= 1}
Решение:
R1: SaaAaa , AaAaa | ε ; G1={{a},{S, A},S,R1}
L = {
| n >= 1}
Решение:
R1: SaA , aAaaAa, Aε ; G1={{a},{S, A},S,R1}
L = {
|
n >= 1}
Решение:
R1: SaaaA , AaaA, aAɛ ; G1={{a},{S, A},S,R1}
К какому типу по Хомскому относится данная грамматика? Какой язык она порождает? Каков тип языка?
b) S Ab
A Aa | ba
Решение:
Данная грамматика относиться к 2-типу (контекстно-свободный)
Язык: L={ banb | n≥1 } это пример языка содержащего бесконечное количество цепочек.
c) S 0A1 | 01
0A 00A1
A 01
Решение:
Данная грамматика относиться к 1-типу (контекстно-зависимый)
Язык: L={ цепочки из 0 и 1 с одинаковым числом 0 и 1 } это пример языка содержащего бесконечное количество цепочек.
d) S AB
AB BA
A a
B b
Решение:
Данная грамматика относиться ко 1-типу (контекстно-зависимый)
Язык: L={ab, ba} это пример конечного языка, состоящего из двух цепочек.
e) S A | B
A aAb | 0
B aBbb | 1
Решение:
Данная грамматика относиться ко 2-типу (контекстно-свободный)
Язык: L={ an 0 bn | an 1 b2n | n≥0 } это пример языка содержащего бесконечное количество цепочек.
f) S 0A | 1S
A 0A | 1B
B 0B | 1B |
Решение:
Данная грамматика относиться к 2-типу (контекстно-свободный)
Язык: L = { | {0,1}+} это пример языка содержащего бесконечное количество цепочек.
g) S 0S | S0 | D
D DD | 1A |
A 0B |
B 0A | 0
Решение:
Данная грамматика относиться к 2-типу (контекстно-свободный)
Язык: L = { | {0,1}*} это пример языка содержащего бесконечное количество цепочек.
h) S 0A | 1S |
A 1A | 0B
B 0S | 1B
Решение:
Данная грамматика относиться к 2-типу (контекстно-свободный)
Язык: L={ цепочки из 0 и 1 } это пример языка содержащего бесконечное количество цепочек.
i) S SS | A
A a | bb
Решение:
Данная грамматика относиться к 0-типу (рекурсивно-перечислимый)
Язык: L = { n | {a,b}+, n≥1} это пример языка содержащего бесконечное количество цепочек.
j) S AB
A a | cA
B bA
Решение:
Данная грамматика относиться к 3-типу (автоматный)
Язык: L={ (cmbacna | m≥0, n≥0 } это пример языка содержащего бесконечное количество цепочек.
k) S aBA |
B bSA
AA c
Решение:
Данная грамматика относиться к 1-типу (контекстно-зависимый)
Язык: L={ (ba)ncn | n≥0 } это пример языка содержащего бесконечное количество цепочек.
l) S Ab | c
A Ba
B cS
Решение:
Данная грамматика относиться к 2-типу (контекстно-свободный)
Язык: L={ cm(ba)n | m=n+1 } это пример языка содержащего бесконечное количество цепочек.
6. Эквивалентны ли грамматики с правилами :
а) S AB и S AS | SB | AB
A a | Aa A a
B b | Bb B b
b) S aSL | aL и S aSBc | abc
L Kc cB Bc
cK Kc bB bb
K b
Решение:
а) Неэквивалентны (почти эквивалентны)
б) Эквивалентны (так как порождают один и тот же язык)
7. Построить КС-грамматику, эквивалентную грамматике с правилами:
а) S aAb b) S AB | ABS
aA aaAb AB BA
A BA AB
A a
B b
Решение:
а) G={{a,b},{A,S},S,R}
R: SaAb
AaAb | ε
б) G={{a,b},{A,B,S},S,R}
R: SaAb
AaAb | ε
aAbbAa
8. Построить регулярную грамматику, эквивалентную грамматике с правилами:
а) S A | AS b) S A.A
A a | bb A B | BA
B 0 | 1
Решение:
а) G={{a,b},{A,B,S},S,R}
R: SA|AS|BS|B
Aa
Bbb
б) G={{a,b},{A,B,S},S,R}
R: SA.A
A
