игра брюс 2048
Главная / Программирование / Разработка компиляторов / Тест 3

Разработка компиляторов - тест 3

Упражнение 1:
Номер 1
Если оператор языка ассемблера отображается при трансляции чаще всего в одну машинную инструкцию, предложения языков более высокого уровня отображаются

Ответ:

 (1) в одну машинную инструкцию 

 (2) в несколько машинных инструкций 

 (3) в пустую машинную инструкцию 

 (4) в произвольную машинную инструкцию 


Номер 2
Трансляторы бывают следующих типов:

Ответ:

 (1) compiler 

 (2) interpreter 

 (3) analysis 

 (4) synthesis 


Номер 3
Какая часть компилятора разбивает исходную программу на составляющие ее элементы и создает промежуточное представление исходной программы:

Ответ:

 (1) analysis 

 (2) synthesis 

 (3) interpreter 

 (4) begin 


Упражнение 2:
Номер 1
Можно сказать, что результатом работы интерпретатора является:

Ответ:

 (1) "программа" 

 (2) "код" 

 (3) "число" 

 (4) "исполняемый файл" 


Номер 2
Для интерпретатора верны следующие утверждения:

Ответ:

 (1) анализирует программу на входном языке 

 (2) создает промежуточное представление 

 (3) не создает никакой новой программы 

 (4) выполняет операции, содержащиеся в тексте программы 


Номер 3
Цепочка символов, составляющая исходную программу на языке программирования является:

Ответ:

 (1) входом компилятора  

 (2) выходом компилятора 

 (3) процессом компиляции 

 (4) процессом интерпретации 


Упражнение 3:
Номер 1
Крайне важной частью процесса трансляции является:

Ответ:

 (1) исправление ошибок, допущенных во входной программе 

 (2) игнорирование ошибок, допущенных во входной программе 

 (3) точная диагностика ошибок, допущенных во входной программе 


Номер 2
Объектная программа может быть:

Ответ:

 (1) последовательностью абсолютных машинных команд 

 (2) последовательностью перемещаемых машинных команд 

 (3) программой на языке ассемблера 

 (4) программой на некотором другом языке 


Номер 3
Создание единого перемещаемого объектного сегмента из набора различных сегментов осуществляется программой, которая называется:

Ответ:

 (1) редактором сегментов 

 (2) редактором связей 

 (3) редактором объектов 

 (4) редактором наборов 


Упражнение 4:
Номер 1
Подход при котором применяется трансляция программы в ассемблер:

Ответ:

 (1) упрощает конструирование компилятора 

 (2) сокращает технологическую цепочку выполнения программы 

 (3) удлиняет технологическую цепочку выполнения программы 

 (4) усложняет конструирование компилятора 


Номер 2
Преимуществами трансляции в ассамблер являются:

Ответ:

 (1) уровень ассемблера выше, чем у машинного кода 

 (2) использование ассемблера позволяет отследить целый ряд ошибок 

 (3) порождаемый текст на ассемблере значительно читабельней, чем машинный код 


Номер 3
Для представления компилятора мы можем использовать так называемые:

Ответ:

 (1) P-диаграммы 

 (2) T-диаграммы 

 (3) R-диаграммы 

 (4) S-диаграммы 

 (5) E-диаграммы 

 (6) D-диаграммы 


Упражнение 5:
Номер 1
Написание компилятора может потребоваться в следующих условиях:

Ответ:

 (1) для различных языков 

 (2) для целевых платформ 

 (3) при создании новой компьютерной архитектуры 


Номер 2
Методиками разработки компиляторов являются следующие:

Ответ:

 (1) метод раскрутки 

 (2) метод генерации 

 (3) использование кросс-трансляторов 

 (4) использование виртуальных машин 

 (5) компиляция "на лету" 


Номер 3
В каком году Вирт написал с использованием раскрутки транслятор языка Pascal:

Ответ:

 (1) 1969 

 (2) 1970 

 (3) 1971 

 (4) 1972 

 (5) 1973 


Упражнение 6:
Номер 1
Для  того, чтобы справиться с проблемой большой потери времени при написании и отладке компилятора на языке ассемблера был разработан:

Ответ:

 (1) метод раскрутки 

 (2) метод упаковки 

 (3) метод генерации 

 (4) метод распаковки 


Номер 2
Под переносимой (portable) программой понимается программа, которая:

Ответ:

 (1) может без перетрансляции выполняться на одной платформе 

 (2) не может без перетрансляции выполняться на нескольких платформах 

 (3) может без перетрансляции выполняться на нескольких платформах 


Номер 3
Компиляторы генерирующие объектную программу на языке более высокого уровня, чем язык ассемблера называют:

Ответ:

 (1) конвертерами 

 (2) генераторами 

 (3) кросс-компиляторами 

 (4) исполнителями 


Упражнение 7:
Номер 1
Одна из первых широко известных виртуальных машин была разработана в 70-х годах Н. Виртом:

Ответ:

 (1) при написании компилятора Pascal-P 

 (2) при написании компилятора Pascal 

 (3) при написании компилятора Simula-P 

 (4) при написании компилятора Simula 


Номер 2
Сегодня идея виртуальных машин приобрела широкую известность благодаря языку:

Ответ:

 (1) Java 

 (2) C++ 

 (3)

 (4) Fortran 


Номер 3
Компиляторы языка Java генерируют:

Ответ:

 (1) бит-код 

 (2) объектный код 

 (3) байт-код 


Упражнение 8:
Номер 1
Для того, чтобы увеличить скорость работы приложений, была разработана технология:

Ответ:

 (1) compiling 

 (2) Just-In-Time compiling 

 (3) Just compiling 

 (4) Fats compiling 


Номер 2
Использование какой связки позволяет заметно повысить скорость выполнения исходной программы:

Ответ:

 (1) "компилятор+интерпретатор+JIT-компилятор" 

 (2) "интерпретатор+JIT-компилятор" 

 (3) "компилятор+интерпретатор" 

 (4) "компилятор+интерпретатор+JIT-компилятор+интепретатор" 


Номер 3
Процесс создания компилятора можно свести к решению нескольких задач, которые принято называть:

Ответ:

 (1) compilation steps 

 (2) compilation phases 

 (3) compilation rounds 

 (4) compilation stages 


Упражнение 9:
Номер 1
Обычно компилятор состоит из следующих фаз:

Ответ:

 (1) лексический анализ 

 (2) синтаксический анализ 

 (3) видозависимый анализ 

 (4) оптимизация 

 (5) генерация кода 


Номер 2
В разборе входной цепочки и выделении некоторых более "крупных" единиц, которые удобнее для последующего разбора заключается задача:

Ответ:

 (1) фазы синтаксического анализа 

 (2) фазы видозависимого анализа 

 (3) фазы генерации кода 

 (4) фазы лексического анализа 


Номер 3
На этапе лексического анализа обычно выполняются такие действия, как:

Ответ:

 (1) удаление комментариев 

 (2) обработка директив условной компиляции 

 (3) игнорирование комментариев 

 (4) обработка операторов 


Упражнение 10:
Номер 1
После синтаксического анализа можно считать, что исходная программа преобразована:

Ответ:

 (1) в некоторое промежуточное представление 

 (2) в некоторое промежуточное состояние 

 (3) в объектное представление 

 (4) в исполняемый файл 


Номер 2
В дереве разбора программы внутренние узлы соответствуют:

Ответ:

 (1) операциям 

 (2) операндам 

 (3) классам 

 (4) подклассам 


Номер 3
Видозависимый анализ иногда называют:

Ответ:

 (1) semantic analysis 

 (2) syntax analysis 

 (3) lexical analysis 

 (4) code optimization 


Упражнение 11:
Номер 1
Обязательность описания переменных может служить примером:

Ответ:

 (1) предварительных условий 

 (2) контекстных условий 

 (3) дополнительных условий 

 (4) временных условий 


Номер 2
Наиболее распространенными оптимизациями являются:

Ответ:

 (1) константные вычисления 

 (2) уменьшение силы операций 

 (3) выделение общих подвыражений 

 (4) чистка циклов 


Номер 3
На этапе генерации кода необходимо решить множество следующих сопутствующих проблем:

Ответ:

 (1) распределение памяти 

 (2) распределение регистров 

 (3) распределение блоков 

 (4) распределение стеков 


Упражнение 12:
Номер 1
Какие фазы иногда объединяют вместе под названием front-end?

Ответ:

 (1) лексический анализ 

 (2) синтаксический анализ 

 (3) видозависимый анализ 

 (4) некоторые оптимизации 


Номер 2
Процесс обработки всего, возможно, уже преобразованного, текста исходной программы называется:

Ответ:

 (1) passes 

 (2) control 

 (3) analysis 

 (4) audit 


Номер 3
Backpatching - это:

Ответ:

 (1) внутренний интерфейс 

 (2) техника "заплат" 

 (3) внешний интерфейс 

 (4) тестирование программы 




Главная / Программирование / Разработка компиляторов / Тест 3