Автор: Пользователь скрыл имя, 27 Января 2013 в 05:09, контрольная работа
Вопрос:
Обоснуйте необходимость разработки новых формальных языков и трансляторов.
Ответ:
Есть две причины, почему приходиться разрабатывать новые языки и соответственно, трансляторы с них:
а) Универсальный язык не всегда удобен в конкретной узкой области – или громоздок, или не подходит модель, взятая за его основу, или…
б) САПР создается для конечных пользователей – конструкторов и технологов, следовательно, взаимодействие с САПР должно вестись на удобном для пользователя языке. Конструкторы и технологи не обязаны знать программирование. Элементы вновь созданного языка должны быть близки к области, в которой работают конструкторы. Пользователь должен легко оперировать знакомыми и понятными ему терминами.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ВОЛГОГРАДСКИЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
ФАКУЛЬТЕТ ПОДГОТОВКИ ИНЖЕНЕРНЫХ КАДРОВ
КАФЕДРА САПР и ПК
Контрольная работа
по курсу: «Основы трансляции»
Выполнил:
Глава № 1
Обоснуйте необходимость разработки новых формальных языков и трансляторов.
Есть две причины, почему приходиться разрабатывать новые языки и соответственно, трансляторы с них:
а) Универсальный язык не всегда удобен в конкретной узкой области – или громоздок, или не подходит модель, взятая за его основу, или…
б) САПР создается для конечных пользователей – конструкторов и технологов, следовательно, взаимодействие с САПР должно вестись на удобном для пользователя языке. Конструкторы и технологи не обязаны знать программирование. Элементы вновь созданного языка должны быть близки к области, в которой работают конструкторы. Пользователь должен легко оперировать знакомыми и понятными ему терминами.
Чем языки проектирования отличаются от языков программирования?
2. Ответ:
Языки проектирования – языки, предназначенные для описания информации об объекте и процессе проектирования.
Языки программирования – формальные языки для описания данных (информации) и алгоритма (программы) их обработки на ЭВМ. Основу языков программирования составляют алгоритмические языки.
По каким признакам классифицируют языки проектирования?
3. Ответ:
Языки проектирования классифицируются по следующим признакам:
а) По месту в процессе проектирования, которые в свою очередь делятся:
1) Входные
2) Внутренние
3) Промежуточные
4) Выходные
5) Сопровождения
6) Управления
б) По связи с универсальными ЯП
1) Автономные
2) Расширяющие
в) По оперативности
1) Диалоговые
2) Пассивные
г) По способу представления информации
1) Алф-цифровые
2) Графические
3) Голосовые
4) Смешанные
Перечислите требования к языкам проектирования.
4. Ответ:
Требования к языкам проектирования:
Глава № 2
В чем состоит задача трансляции?
1. Ответ:
Задача трансляции – построить алгоритм, осуществляющий перевод программы, написанной на языке L1 в требуемый выход (в частности, на другой язык).
Какой тип языкового процессора называют компилятором? Препроцессором? Интерпретатором?
2. Ответ:
Компилятором – называют транслятор, у которого язык L2 (объектный язык) – язык машинных команд.
Препроцессором – называют транслятор, у которого язык L2 (объектный язык) – язык высокого уровня.
Интерпретатором – называют транслятор, который не выдает результата на языке L2, а сразу выполняет действие.
Из каких основных блоков обычно состоит компилятор?
3. Ответ:
Компилятор обычно состоит из следующих блоков:
1) Лексического
2) Синтаксического
3) Генератора кода
Иногда дополнительно используются:
1) Семантический блок
2) Блок оптимизации
Что понимается под лексемой при разработке компилятора?
4. Ответ:
Лексема – совокупность форм и значений, свойственных одному и тому же слову во всех его употреблениях и реализациях.
Какова главная
функция лексического блока?
5. Ответ:
Лексический блок – устанавливает из каких частей состоит данная цепочка и преобразует части в лексемы.
Синтаксический блок (парсер) – переводит последовательность лексем, построенную сканером, в последовательность лексем, которая непосредственно отражает порядок, в котором должны выполняться операции в программе.
Генератор кода) – «развертывает» атомы, построенные синтаксическим блоком в последовательность команд ЭВМ.
Опишите входную и выходную информацию при обработке каждым блоком компилятора следующей программы:
Begin a:=5; b:=a+7*(2*a/b-abc)/40b; end
6. Ответ:
Лексический блок:
Входная инф.:
Begin a:=5; b:=a+7*(2*a/b-abc)/40b; end
Выходная инф.:
Begin | a | := | 5| ; | b | := | a | + | 7 | * | ( | 2 | * | a | / | b | - | abc | ) | / | 40b | ; | end
Begin (1,0)
a (30,1)
:= (24,0)
5(40,1)
; (20,0)
b (30,2)
:= (24,0)
a (30,1)
+ (22,0)
7 (40,2)
* (23,0)
( (25,0)
2 (40,3)
* (23,0)
a (30,1)
/ (23,1)
b (30,2)
- (22,1)
abc (30,3)
) (26,0)
/ (23,1)
40b (30,4)
; (20,0)
end (2,0)
Синтаксический блок:
Входная инф.:
Выходная инф. с лексического блока.
Выходная инф.:
begin
сум(5,0,a)
умнож(2,а,R1)
дел(R1,b,R2)
выч(R2,abc,R3)
умнож(7,R3,R4)
дел(R4,40b,R5)
сум(a,R5,b)
end
Генератора кода
Входная инф.:
Выходная инф. с синтаксического блока.
Выходная инф.:
Выполнение программы
Глава №3
Что понимается под словарем языка? Синтаксисом? Семантикой?
1. Ответ:
Словарь языка содержит множество лексем.
Синтаксис языка представляет собой совокупность правил построения языковых конструкций (предложений) из лексем.
Семантика языка это совокупность правил интерпретации лексем и языковых конструкций.
В чем суть метода синтаксически-ориентированной трансляции?
2. Ответ:
Метод синтаксически-ориентированной трансляции, основанный на работах американского ученого Ноэля Хомского. Из гипотезы Хомского следует, что семантический анализ сводится к синтаксическому и состоит из двух процедур:
Назовите основные понятия теории формальных языков.
3. Ответ:
Основные понятия теории формальных языков:
Словарь – это конечное множество элементов, называемых символами.
Цепочка над словарем V – это произвольная упорядоченная последовательность символов словаря.
Пустая цепочка – это цепочка, не содержащая символов (обозначается e).
Перечислите основные операции над цепочками.
4. Ответ:
Операции над цепочками:
Если a, bÎV*, то результат конкатенации – цепочка ab.
Что называется языком над словарем?
5. Ответ:
Языком над словарем V называется некоторое множество цепочек над словарем V.
Обозначение: L(V)Î V*.
Дан словарь V={a, в, с}. Приведите примеры конечного и бесконечного языков над данным словарем.
6. Ответ:
Дан язык L={синий лес, синий темный лес, темный лес}. Приведите примеры словарей, над которыми можно определить этот язык.
7. Ответ:
V1={синий, лес, темный}
V2={с,и,н,й,л,е,т,м,ы}
Глава №4
1. Вопрос:
К какому описанию языка применим термин формальная грамматика?
1. Ответ:
Термин «формальная грамматика» применим к любому определению формального языка, основанному на грамматических правилах, с помощью которых можно порождать и анализировать цепочки аналогично тому, как грамматики используются при изучении естественных языков.
2. Вопрос:
Опишите при помощи грамматики язык, состоящий из следующих предложений:
Зеленый крокодил видит зеленый лес.
Большой зеленый крокодил видит лес.
Крокодил видит большой зеленый лес.
Крокодил видит зеленый лес.
2. Ответ:
V={крокодил, лес, зеленый, большой, видит}
Правила:
1) <предложение>®<подлежащее><
2)<подлежащее>®<
<существительное>
3) <дополнение >®<прилагательное><
<существительное>
4) <прилагательное>®зеленый | большой | большой зеленый
5) <существительное>®лес | крокодил
6) <сказуемое>®видит
3. Вопрос:
Дайте определение порождающей грамматики Хомского
3. Ответ:
Порождающей грамматикой Хомского – называется грамматика, которая «порождает» (выводит) множество называемое языком.
4. Вопрос:
Задайте с помощью грамматики Хомского следующий язык: L={aab, abab, abc, aabc}. Постройте дерево вывода для одной из цепочек языка.
4. Ответ:
G0=(T0 , N0 , S , R0)
T0={a,b}
N0={A,B,S}
R0:
S®aAb|aBc
A®a|ba
B®b|ab
S®aAb® abab
aab
5. Вопрос:
Пусть грамматика G содержит следующие правила: bA®acBc, aBc®c. Выводимы ли в данной из цепочки a=acbAacaBc цепочки b= acacBcacc, g= acacBcaca ? Докажите.
Дана грамматика G: G= (Т, N, S, R), Т= {a, b}, N= {A, B, S}, R: S®aS
bA®ab
aS®bA
Какой язык задает данная грамматика? Постройте вывод цепочки языка. Приведите пример сентенциальной формы для данного вывода.
5.Ответ:
1) a=acbAacaBc
b= acacBcacc
a=acbAacaBc® acacBcacaBc ® acacBcacc=b
g= acacBcaca
так как грамматика G содержит следующие правила: bA®acBc, aBc®c.
из a можно вывести b и нельзя вывести g
2) Дана грамматика G: G= (Т, N, S, R), Т= {a, b}, N= {A, B, S}, R: S®aS
bA®ab
aS®bA
Язык L={(a)nb; n>=1}
S®aS®aaS®abA®aab
Cентенциальные формы: aS,aaS,abA
6. Вопрос:
Приведите пример продукции, задающей процесс усвоения знаний студентом на лекции.
6. Ответ:
Выучи лекции, если хочешь сдать экзамен, ответь на билет и получи отличную оценку.
Информация о работе Контрольная работа по "Основам трансляции"