Технологии компиляции- тесты Росдистант — часть 1

300

Внимание! Пожалуйста, указывайте Ваш настоящий Email. В случае утери документа, вы сможете его скачать на почте! Все вопросы в файле совпадают с теми, что представлены у нас на сайте.

Здесь вы можете купить ответы "Технологии компиляции" ТГУ Росдистант. После покупки вы получите файлы с ответами. Так же вы можете заказать решение тестов "Технологии компиляции". Для заказа необходимо обратиться к нашим менеджерам. Все контакты указаны на сайте.

Раздел: Росдистант ТГУ- ответы на тесты

• Технологии компиляции
• Контрольные мероприятия
• Итоговый тест

Сколько строк длины меньше 3 содержит язык, описываемый регулярным выражением (x+y)*y(a+ab)*?

1

4

3

2

Лексический анализатор распознает токены Т1, Т2, Т3, алфавит задан символами { a, b, c } . Т1 = a?(blc)*a, Т2 = b?(alc)*b, Т3 = c?(bla)*c, заметим знак «x?» обозначает 0 или 1 появление символа x, анализатор ищет совпадение по наиболее длинному префиксу. Какие из токенов появятся на выходе лексического анализатора для выражения «bbababcaab»:

Т2, Т3

Т1, Т1, Т3

Т2, Т1, Т3

Т1, Т2, Т3

Процесс поиска совпадающих токенов обычно описывается с помощью?

Контекстно-зависимой грамматики

Конечные автоматы

Регулярные выражения

Лексический анализ

Общий синтаксический анализ

Интерпретационный анализ

Синтаксический анализ

Генерация промежуточного кода на основе абстрактной модели машины полезна в компиляторах, потому что:

Проще реализовать синтаксически управляемый перевод для генерации промежуточного кода

Трудно преобразовать код из программы на языке высокого уровня в целевой код.

Повышает переносимость системной программы компилятора.

Упрощает выполнение лексического и синтаксического анализа.

Левая факторизация — это грамматическое преобразование, полезное для создания грамматики, пригодной для

LL(1) синтаксического анализатора.

LR(1) синтаксического анализатора.

SLR синтаксического анализатора.

LALR синтаксического анализатора

Какое число токенов в следующей команде языка Си:
while(1){
Ответ:

__________ — это обработка каждого оператора исходной программы или его эквивалентного представления для выполнения функции обработки языка (набор функций обработки языка)

Этап анализа

Этап синтеза

Этап языкового процессора

Не верного ответа

Машинно-независимая оптимизация кода может быть применена к ______.

исходному коду

промежуточному представлению

объектному коду

к машинному коду

В компиляторах генерация промежуточного кода на основе абстрактной модели машины полезна, потому что

Переводы, ориентированные на синтаксис, могут быть написаны для промежуточной генерации кода.

Невозможно генерировать код для реальных машин непосредственно из языковых программ высокого уровня.

Улучшена переносимость клиентской части компилятора.

Проще реализовать лексический и синтаксический анализ.

Лексический анализ

Строки символов

Синтаксическое дерево

Набор регулярных выражений

В компиляторе _______________ проверяет каждый символ исходного текста.

Лексический анализатор

Синтаксический анализатор

Генератор кода

Оптимизатор кода

Сколько строк длиной менее 4х символов можно описать регулярным выражением (x|y)*y

7

6

8

ничего из указанного

Учитывая грамматику
S -> T * S | T
T -> U + T | U
U -> a | b
Какое из следующих утверждений НЕверно?

Грамматика не двусмысленна

приоритет оператора + выше приоритета оператора *

Грамматика праворекурсивна

приоритет оператора + равен приоритету оператора *

Когда выражение sum=3+7 токенизировано, то какова категория токена 3?

Целочисленный литерал

Оператор сложения

Оператор присваивания

Идентификатор

Когда выражение sum=3+7 токенизировано, то какова категория токена sum ?

Целочисленный литерал

Оператор сложения

Оператор присваивания

Идентификатор

Лексический анализатор выполняет:

Удаление комментариев

Удаление пробелов

Разбиение входного потока символов на токены

Все ответы верны

Заданы следующие правила грамматики:
X -> xXYZ
Y -> y|z|?
Z -> x
Выберите, что из перечисленного входит в множество FOLLOW(X):

{Y}

{z}

{y,z}

{x,y,z}

Даны правила грамматики
E -> E+T | T,
T -> T#F | F,
F -> id, является

неоднозначна

частично неоднозначна

однозначна

Какие инструкции используются для вызова подпрограммы?

MOV

GOTO

MOV and GOTO

HALT

Как называется дерево синтаксического анализа, показывающее значение атрибутов в каждом узле.

аннотированное дерево синтаксического анализа

семантическое дерево

синтаксическое дерево

Какая часть компилятора активно использовала концепцию грамматики?

Оптимизация кода

Генерация кода

Лексический анализ

Синтаксический анализ

Какое множество символов соответствует регулярному выражению
«(a|b)»?

{a}

{a, b}

{a, b, ε}

{b}

Имеется грамматические правила и семантические правила перевода:
E->E1 # T {E.value = E1.value * T.value}
E->T {E.value = T.value}
T->T1 & F {T.value = T1.value + F.value}
T->F {T.value = F.value}
F->num {F.value = num.value},
в приведенной грамматике E стартовый символ. Что будет на выходе при разборе выражения
«2 # 3 & 3 # 6 & 4»?

50

100

180

120

На вход лексического анализатора поступает:

Исходный код

Объектный код

Лексемы

Дерево синтаксического анализа

Суть лексического анализа заключается в разбиении последовательности символов на

Группы

Токены

Пункты

Кластеры

Как будет представлено выражение T1 = a + b в трех-адресном коде, тройки

+, a, b, T1

индекс, указатель на тройку

+, a, b

Не верного ответа

Термин «трех-адресный код», представляет форму X:=Y op Z и обычно содержит три адреса (два для операндов, один для результата). Каковы представления трех адресного кода?

Четверки

Тройки

Косвенные тройки.

Двойки

Какие из указанных утверждений верны:
i. Выход лексического анализатора это группы символов
ii. Число токенов в команде printf(«i = %d, &i = %x», i, &i); равно 11
iii. Таблица символов может быть реализована в виде массива и хеш-таблицы.

верно только i

верно только ii и iii

верны все утверждения

все утверждения не верны

Что из перечисленного неверно?

программа выполняемая интерпретатором работает медленнее, чем скомпилированная

скомпилированный вариант программы легче отлаживать

код ассемблера легче воспринимать чем машинный код

программа машинного кода имеют привязку к аппаратному обеспечению и непереносимы на другую платформу

Область действия, переменной в исходной программе называется?

scope, область видимости

life time, продолжительность жизни

Домен

Все ответы верны

Синтаксический анализатор сдвига и свертки использует следующие правила грамматики и семантические действия для трансляции, указанные в фигурных скобках.
S->xxW {print”1”}
S->y {print”2”}
W->Sz {print”3”}
Используя схему перевода, какая из приведенных строк выполнит перевод строки xxxxyzz?

11231

11233

23131

33211

Какой из перечисленных синтаксических анализаторов имеет наибольшее число состояний при создании прграммного автомата

LL(1)

LR(1)

SLR

LALR

Контекстно-свободная грамматика неоднозначна, если...

Грамматика содержит нетерминалы

Производит более одного дерева синтаксического анализа

Одно из правил имеет два нетерминала рядом

Ничего из перечисленного

Какое число токенов в следующей команде языка Си:
printf ( «i = %d, &i = %x», i, &i );

10

3

26

21

Чему из перечисленного эквивалентно регулярное выражение «а?» ?

а

а|Y

а|ε

неправильное выражение

Какое из приведенных регулярных выражений соответствует этим правилам грамматики:
S->AB,
A->a | aA,
B->b

aa*b+

a*b

(ab)*

a(ab)*

Функция хеширования используется при работе с таблицей символов для операций

поиска

вставки

обновления

удаления

Какая фаза компилятора также известна как сканер?

Генерация кода

Синтаксический анализ

Семантический анализ

Лексический анализ

Рассмотрим следующую грамматику вместе с правилами перевода:
S -> S1 / T { S.val = S1.val / T.val }
S -> T { S1.val = T.val }
T -> T1 * R { T.val = T1.val * R.val }
T -> R { T.val = R.val }
R -> id { R.val = id.val }
Здесь div и mul — операторы, а id — токен, представляющий целое число, а id.val
— значение. Используя эту грамматику, вычислите значение S.val для выражения
80 / 2 * 5 / 8
Ответ:

Выход лексического анализатора это:

Дерево разбора исходной программы

Промежуточный код

Машинный код

Поток токенов

Определите количество токенов, сгенерированных лексическим анализатором для следующей строки кода:
for ( int i = 0 ; i < 3; i ++ )
Ответ:

Нужна помощь с тестами? Обращайтесь к нашим менеджерам

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “Технологии компиляции- тесты Росдистант — часть 1”

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Оплата принимается посредствам онлайн кассы «Robokassa» — укажите реквизиты карты или воспользуйтесь оплатой по «СБП».
После оплаты система, направит Вас на страницу с товаром, где вы сможете его скачать на своё устройство.
Если по какой- то причине вы закрыли страницу или не скачали товар, то всегда сможете найти и скачать его на почте.
Указывайте настоящий Email — при утере документа вы сможете скачать его из письма.
При возникновении трудностей с оплатой или получением товара обращайтесь к нашим менеджерам. Все контакты указаны на сайте, можете выбрать любой удобный.

Похожие товары

Просмотренные товары

VK MAX Telegram WhatsApp
Отправьте нам сообщение