игра брюс 2048
Главная / Программирование / Теория и реализация языков программирования / Тест 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) вызов метода 




Главная / Программирование / Теория и реализация языков программирования / Тест 8