Автор: Пользователь скрыл имя, 27 Января 2013 в 05:09, контрольная работа
Вопрос:
Обоснуйте необходимость разработки новых формальных языков и трансляторов.
Ответ:
Есть две причины, почему приходиться разрабатывать новые языки и соответственно, трансляторы с них:
а) Универсальный язык не всегда удобен в конкретной узкой области – или громоздок, или не подходит модель, взятая за его основу, или…
б) САПР создается для конечных пользователей – конструкторов и технологов, следовательно, взаимодействие с САПР должно вестись на удобном для пользователя языке. Конструкторы и технологи не обязаны знать программирование. Элементы вновь созданного языка должны быть близки к области, в которой работают конструкторы. Пользователь должен легко оперировать знакомыми и понятными ему терминами.
Решение задач по курсу «Основы трансляции».
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
Решение:
а)
S®T-S®F-S®F-T+S®F-F*T+S®a-b*T+
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 ® aSBC®aaSBCBC ®aaSBBCC ®aaabCBBCC ®aaabBCBCC
1 2 3 4 5
®aaabBBCCC ®aaabbbCCC ®aaabbbcCC®aaabbbccc
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+B®a+B
A+B®A+b
B+A®b+A
B+A®B+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 | e
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} это пример языка содержащего бесконечное количество цепочек.
Решение:
R1: S®aSb|ab; G1={{a,b},{S},S,R1}
R2: S®AB, A®aA|a, B®Bb|b; G1={{a,b},{S,A,B},S,R2}
Решение:
R1: S®AcAcAc, A®aA | bA | B, B® a | b; G1={{a,b,c},{S, A, B },S,R1}
R1: S®ASb , Sb®a | ε, A®a , AS®b | ε ; G1={{a,b},{S, A},S,R1}
Решение:
R1: S®aaAbS | ε, A®aaAb | ε ; G1={{a,b},{S, A},S,R1}
Решение:
R1: S®aaAaa ^ , A®aAaa | ε ; G1={{a},{S, A},S,R1}
Решение:
R1: S®aA , aA®aaAa, A®ε ; G1={{a},{S, A},S,R1}
Решение:
R1: S®aaaA , A®aaA, 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 = {a^ | a Î {0,1}+} это пример языка содержащего бесконечное количество цепочек.
g) S ® 0S | S0 | D
D ® DD | 1A | e
A ® 0B | e
B ® 0A | 0
Решение:
Данная грамматика относиться к 2-типу (контекстно-свободный)
Язык: L = {a | a Î {0,1}*} это пример языка содержащего бесконечное количество цепочек.
h) S ® 0A | 1S | e
A ® 1A | 0B
B ® 0S | 1B
Решение:
Данная грамматика относиться к 2-типу (контекстно-свободный)
Язык: L={ цепочки из 0 и 1 } это пример языка содержащего бесконечное количество цепочек.
i) S ® SS | A
A ® a | bb
Решение:
Данная грамматика относиться к 0-типу (рекурсивно-перечислимый)
Язык: L = { an | a Î {a,b}+, n≥1} это пример языка содержащего бесконечное количество цепочек.
j) S ® AB^
A ® a | cA
B ® bA
Решение:
Данная грамматика относиться к 3-типу (автоматный)
Язык: L={ (cmbacna^ | m≥0, n≥0 } это пример языка содержащего бесконечное количество цепочек.
k) S ® aBA | e
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 ® e BA ® AB
A ® a
B ® b
Решение:
а) G={{a,b},{A,S},S,R}
R: S®aAb
A®aAb | ε
б) G={{a,b},{A,B,S},S,R}
R: S®aAb
A®aAb | ε
aAb®bAa
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: S®A|AS|BS|B
A®a
B®bb
б) G={{a,b},{A,B,S},S,R}
R: S®A.A
A®0 | 1 | 0A | 1A
Информация о работе Контрольная работа по "Основам трансляции"