
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ ПОДГОТОВКИ ИНЖЕНЕРНЫХ КАДРОВ
КАФЕДРА САПР и ПК
Контрольная работа
по курсу: «Основы трансляции»
Выполнил:
Студент группы АУЗ-261с
Васильев Е.В.
Шифр:
«__» _____________ 2013 г.
Проверил:
________ Розалиев В.М.
.
«__» _____________2012 г.
Волгоград
2013
Глава № 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. Ответ:
Лексический блок – устанавливает из каких частей состоит данная цепочка и преобразует части в лексемы.
Синтаксический блок (парсер) – переводит последовательность лексем, построенную сканером, в последовательность лексем, которая непосредственно отражает порядок, в котором должны выполняться операции в программе.
Генератор кода) – «развертывает» атомы, построенные синтаксическим блоком в последовательность команд ЭВМ.