Главная / Программирование /
Теория и реализация языков программирования / Тест 8
Теория и реализация языков программирования - тест 8
Упражнение 1:
Номер 1
Промежуточное представление исходной программы предназначено для
Ответ:
 (1) удобства генерации кода 
 (2) проведения различных оптимизаций 
 (3) осуществления детерминизации 
Номер 2
Форма промежуточного представления зависит от
Ответ:
 (1) целей его использования 
 (2) наличия формализмов 
 (3) метода детерминизации 
Номер 3
К наиболее часто используемым формам промежуточного представления относят
Ответ:
 (1) ориентированный граф 
 (2) трехадресный код 
 (3) префиксная и постфиксная запись 
Упражнение 2:
Номер 1
Простейшей формой промежуточного представления является
Ответ:
 (1) синтаксическое дерево программы 
 (2) семантическое дерево программы 
 (3) прагматическое дерево программы 
Номер 2
Синтаксическое дерево программы является
Ответ:
 (1) простейшей формой промежуточного представления 
 (2) самой сложной формой промежуточного представления 
 (3) неприменяемой формой промежуточного представления 
Номер 3
Вершины синтаксического дерева представляют
Ответ:
 (1) общие подвыражения 
 (2) частные выражения 
 (3) системные регулярные выражения 
Упражнение 3:
Номер 1
Каждая вершина синтаксического дерева кодируется
Ответ:
 (1) записью с полем для операции 
 (2) записью с полями для указателей на потомков 
 (3) записью кодированных выражений 
Номер 2
Индекс вершины служит
Ответ:
 (1) идентификатором 
 (2) интерпретатором 
 (3) указателем 
Номер 3
Вход вершины исполняет роль
Ответ:
 (1) анализатора 
 (2) указателя 
 (3) преобразователя 
Упражнение 4:
Номер 1
К частям трехадресного кода относят
Ответ:
 (1) имена 
 (2) константы 
 (3) сгенерированные компилятором временные объекты 
Номер 2
Временные объекты генерируются
Ответ:
 (1) идентификатором 
 (2) компилятором 
 (3) детерминатором 
Номер 3
В трехадресном коде может использоваться
Ответ:
 (1) операция фиксированной арифметики 
 (2) операция плавающей арифметики 
 (3) логическая или побитовая операция 
Упражнение 5:
Номер 1
В правую часть трехадресного кода может входить
Ответ:
 (1) только один знак операции 
 (2) пара знаков операции 
 (3) множество знаков операции 
Номер 2
Составные выражения трехадресного кода должны быть разбиты
Ответ:
 (1) на символы 
 (2) на идентификаторы 
 (3) на подвыражения 
Номер 3
При разбиении выражения на подвыражения могут появиться
Ответ:
 (1) временные детерминанты 
 (2) временные имена 
 (3) временные формализмы 
Упражнение 6:
Номер 1
Каждый оператор трехадресного кода обычно имеет три адреса, из которых
Ответ:
 (1) два для операндов и один для результата 
 (2) один для результата и два для операндов 
 (3) один для результата, один для операндов и один для формализмов 
Номер 2
Трехадресный код - это
Ответ:
 (1) линеаризованное представление синтаксического дерева 
 (2) ориентированный ациклический граф, в котором временные имена соответствуют внутренним вершинам дерева или графа 
 (3) интерполированное представление синтаксического дерева 
Номер 3
Ориентированный ациклический граф, в котором временные имена соответствуют внутренним вершинам дерева или графа, называется
Ответ:
 (1) граф циклического вывода 
 (2) трехадресный код 
 (3) полноправный граф 
Упражнение 7:
Номер 1
В виде трехадресного кода представляются
Ответ:
 (1) двуместные операции 
 (2) операторы управления программы 
 (3) одноместные операции 
Номер 2
Разбиение арифметических выражений и операторов управления делает трехадресный код
Ответ:
 (1) невыполнимым в контекстном плане 
 (2) удобным при генерации машинного кода 
 (3) удобным при оптимизации 
Номер 3
Использование имен промежуточных значений, вычисляемых в программе, позволяет
Ответ:
 (1) переупорядочивать трехадресный код 
 (2) перемещать формализмы трехадресного кода 
 (3) формировать анализаторы трехадресного кода 
Упражнение 8:
Номер 1
К способам реализации трехадресного кода относятся
Ответ:
 (1) четверки 
 (2) тройки 
 (3) косвенные тройки 
Номер 2
Чтобы избежать внесения новых имен в таблицу символов, на временное значение можно ссылаться, используя
Ответ:
 (1) временные формализмы 
 (2) позицию оператора, вычисляющего временное значение 
 (3) анализаторы и идентификаторы 
Номер 3
Трехадресный код может быть представлен
Ответ:
 (1) списком троек 
 (2) указателем на тройки 
 (3) указателем на список троек 
Упражнение 9:
Номер 1
Адрес памяти периода исполнения хранится
Ответ:
 (1) в таблице генератора кода 
 (2) в таблице идентификаторов 
 (3) в таблице формализмов 
Номер 2
Адрес памяти периода исполнения легко получить при использовании
Ответ:
 (1) троек 
 (2) четверок 
 (3) косвенных троек 
Номер 3
Преимущество четверок проявляется
Ответ:
 (1) в оптимизирующих компиляторах 
 (2) в генерирующих компиляторах 
 (3) в детерминизирующих компиляторах 
Упражнение 10:
Номер 1
Оператор может быть перемещен переупорядочиванием списка операторов в случае применения
Ответ:
 (1) троек 
 (2) четверок 
 (3) косвенных троек 
Номер 2
Линеаризованное представление позволяет
Ответ:
 (1) хранить промежуточное представление во внешней памяти 
 (2) обрабатывать промежуточное представление 
 (3) применять к промежуточному представлению теорему о детерминизации 
Номер 3
Наиболее распространенной формой линеаризованного представления является
Ответ:
 (1) английская запись 
 (2) венгерская запись 
 (3) польская запись 
Упражнение 11:
Номер 1
Префиксная запись является
Ответ:
 (1) прямой 
 (2) обратной 
 (3) как прямой, так и обратной 
Номер 2
Постфиксная запись является
Ответ:
 (1) прямой 
 (2) обратной 
 (3) как прямой, так и обратной 
Номер 3
Список вершин дерева, в котором каждая вершина следует непосредственно за своими потомками, называется
Ответ:
 (1) постфиксная запись 
 (2) префиксная запись 
 (3) суффиксная запись 
Упражнение 12:
Номер 1
К командам виртуальной Java-машины относят
Ответ:
 (1) помещение констант на стек 
 (2) помещение локальных переменных на стек 
 (3) обработка массивов 
Номер 2
Командами, выполняемыми виртуальной Java-машиной, считаются
Ответ:
 (1) арифметические команды 
 (2) логические команды 
 (3) преобразования типов 
Номер 3
Виртуальная Java-машина производит
Ответ:
 (1) табличный переход 
 (2) обработку полей объектов 
 (3) вызов метода