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

Контрольная работа
в среде программирования ККР



Если Вы считаете, что данная страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи

Среда программирования: ККР

Название работы: Теория языков программирования и методы трансляции

Вид работы: Контрольная работа

Описание: Теория языков программирования и методы трансляции: ККР.

Проектирование компиляторов

Question 1
Наиболее подходящим способом, на котором будет базироваться распределение памяти, является:
• динамическая куча
• стек
• управляемая динамическая куча
• виртуальная память
Выберите все верные ответы (может быть несколько или один).

Теория языков

Question 2
Начальная конфигурация МП-автомата P = (Q, Σ, Γ, δ, q0, Z0, F) имеет вид:
• (q0, e, Z0)
• (Q, e, Z)
• (Q0, w, Z), w∈Σ*
• (q0, w, Z0), w∈Σ*
• (q0, w, Z0), w∈Σ+
Выберите все верные ответы (может быть несколько или один).

КС-грамматики и синтаксический анализ сверху вниз

Question 3
В контекстно-свободной грамматике G = (N, Σ, P, S) каждое правило имеет вид (α→β)∈P, где β – это:
• произвольная цепочка
• терминал
• цепочка терминалов
• нетерминал
• цепочка нетерминалов
• пустое множество
Выберите все верные ответы (может быть несколько или один).

Синтаксический анализ снизу вверх

Question 4
В LR(k)-грамматике G = (N, Σ, P, S) каждое правило имеет вид (α→β)∈P, где:
• β∈N+
• β∈Σ
• β∈N
• β∈NN
• β∈(N∪Σ)*
• β∈(N∪Σ)+
• β∈N(N∪Σ)*
• β∈(N∪Σ)*N(N∪Σ)*
Выберите все верные ответы (может быть несколько или один).

Синтаксический анализ снизу вверх

Question 5
Является ли грамматика, описанная данными правилами, LR(1)-грамматикой?
Если нет, введите в ответ номер первого правила, которое не может являться правилом LR(1)-грамматики. Если да, введите в ответ 0.
1. START → T1
2. START → START START
3. T1 → T3 T2
4. T2 → START START
5. T2 → START START START
6. T3 → a b
7. T3 → a d
Введите слово, словосочетание или символьно-цифровое выражение.

Предварительные математические сведения

Question 6
Предикат, описывающий пересечение множеств A и B:
• {x | x∈A или x∈B}
• {x | x∈A и x∉B}
• {x | x∉A и x∉B}
• {x | x∉A и x∈B}
• {x | x∈A и x∈B}
Выберите все верные ответы (может быть несколько или один).

Введение в компиляцию

Question 7
На каких этапах компиляции компилятор может обнаружить ошибки?
• Лексического анализа
• Синтаксического анализа
• Генерации кода
• Оптимизации кода
Выберите все верные ответы (может быть несколько или один).

Включение действий в синтаксис

Question 8
Описание for ch := 1 to 10 do … является реализацией переменной ch.
Следуйте подсказкам по вводу ответов.

Проектирование компиляторов

Question 9
В таблице имен указатели хранятся, если:
• используется сцепление элементов
• используется функция перехеширования
• возникает опасность кластеризации
• таблица хранится в виде бинарного дерева
Выберите все верные ответы (может быть несколько или один).

Исправление и диагностика ошибок

Question 10
К контекстно-зависимым синтаксическим ошибкам программы относят:
• использование в программе неверного порядка лексем
• использование недопустимого приведения типов
• неправильное число индексов массива
• ошибки при арифметических вычислениях
• несовместимость типа фактического параметра в вызове процедуры с типом формального параметра
• использование недопустимого символа
• несоответствие последовательности символов ни одному из слов языка
• использование неописанного типа данных
Выберите все верные ответы (может быть несколько или один).

Теория языков

Question 11
Регулярное выражение α + β равно:
• αβ
• βα
• β + α
• A∪B
• AB
Выберите все верные ответы (может быть несколько или один).

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

Question 12
Разыменование при выполнении приведения типов – это, например, переход:
• от char к pointer char
• от procedure int к int
• от pointer char к char
• от int к real
• от real к struct(real, char)
• от struct(int) к int
• от real к real [ ]
• от char к void
Выберите все верные ответы (может быть несколько или один).

Теория языков

Question 13
Регулярное выражение α*α равно:
• α*
• αα*
• α+
• α*+1
• e
• α + α*
Выберите все верные ответы (может быть несколько или один).

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

Question 14
Постфиксную форму записи выражений также называют:
• записью Лукашевича
• польской записью
• записью Шорра и Уэйта
• обратной польской записью
• записью Кнута
Выберите все верные ответы (может быть несколько или один).

Синтаксический анализ снизу вверх

Question 15
В каких грамматиках для правила (α→β)∈P выполняется условие |α|=1?
• В праволинейных
• В контекстно-зависимых
• В контекстно-свободных
• Общего вида
• В нормальной форме Хомского
• В нормальной форме Грейбаха
• LL(k)
• LR(k)
Выберите все верные ответы (может быть несколько или один).

Введение в компиляцию

Question 16
Как компиляторы решают проблему смысла правильной программы?
• Определяют отображения, связывающие с каждой правильной программой предложение в языке, смысл которого мы понимаем.
• Определяют смысл программы, записанной на любом языке программирования, в терминах эквивалентной «программы» в функциональном исчислении.
• Оставляют ее решение разработчикам программы.
• Определяют идеализированную машину, когда интерпретатором данного языка становится абстрактная машина.
• Выражают его в тех действиях, к которым она побуждает эту машину после того, как та начинает работу в некоторой предопределенной начальной конфигурации.
Выберите все верные ответы (может быть несколько или один).

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

Question 17
Для повышения эффективности выдаваемого кода при компиляции можно проделать дополнительную работу, которую называют:
Введите слово, словосочетание или символьно-цифровое выражение.

Question 18
К контекстно-независимым синтаксическим ошибкам программы относят:
• использование неописанного идентификатора
• ошибки в записи числовых или строковых констант
• непарные операторные скобки
• попытки чтения за пределами файла
• использование в программе неверного порядка лексем
• нахождение индекса массива вне его границ
• неправильное число параметров для вызова процедуры или функции
• использование в программе маловероятной последовательности символов
Выберите все верные ответы (может быть несколько или один).

КС-грамматики и синтаксический анализ сверху вниз

Question 19
Является ли грамматика, описанная данными правилами, LL(1)-грамматикой?
Если нет, введите в ответ через точку с запятой номера правил (в порядке возрастания), которые не могут являться правилами LL(1)-грамматики. Если да, введите в ответ 0.
1. START → T1
2. T1 → T2 T3
3. T1 → T3 c
4. T2 → c START START
5. T2 → e
6. T3 → a b
7. T3 → c d
Введите слово, словосочетание или символьно-цифровое выражение.

Введение в компиляцию

Question 20
Сопоставьте команду и ее действие.
Команда Действие
1. LOAD =M a) m → сумматор
2. LOAD M b) C(сумматор) → m
3. ADD M c) C(сумматор) * C(m) → сумматор
4. MPY =M d) C(m) → сумматор
5. STORE M e) C(сумматор) + C(m) → сумматор
6. ADD =M f) C(сумматор) + m → сумматор
7. MPY M g) C(сумматор) * m → сумматор
В ответ введите через точку с запятой пары номер-буква в порядке возрастания номеров команд.
Пример ввода ответа: 1a;2b;3c;4d;5e;6f;7g
Введите слово, словосочетание или символьно-цифровое выражение.

Исправление и диагностика ошибок

Question 21
К лексическим ошибкам программы относят:
• использование недопустимого символа
• использование неописанного типа данных
• использование недопустимого приведения типов
• несоответствие последовательности символов ни одному из слов языка
• ошибки при записи строковых констант
• ошибки при арифметических вычислениях
• неправильное число параметров для вызова процедуры или функции
• неправильное число индексов массива
Выберите все верные ответы (может быть несколько или один).

Предварительные математические сведения

Question 22
Символ – это элемент .
Следуйте подсказкам по вводу ответов.

Проектирование компиляторов

Question 23
Таблица имен позволяет транслятору совершать следующие действия:
• выявлять ошибки повторной определяющей реализации идентификатора.
• добавлять встречающиеся идентификаторы в таблицу; их тип определяется по соответствующему описанию.
• выявлять ошибки использования идентификаторов без их определяющей реализации.
• определять тип идентификатора, который уже помещен в таблицу, по соответствующей записи.
• добавлять идентификатор, встречающийся впервые, в таблицу; его тип определяется по соответствующему описанию.
Выберите все верные ответы (может быть несколько или один).

Question 24
Укажите, какие из приведенных реализаций переменной v являются прикладными.
• float v; …
• procedure p(v: integer); …
• (char)v;
• for v := 1 to 10 do …
• v := 7; …
• char v := ‘A’; …
Выберите все верные ответы (может быть несколько или один).

Включение действий в синтаксис

Question 25
Укажите основные свойства языков C/C++, которые учитываются при построении таблицы имен.
• В одном и том же блоке идентификатор не может описываться более одного раза.
• При любой определяющей реализации переменная должна быть инициализирована.
• Определяющая реализация идентификатора появляется раньше любой прикладной реализации.
• При любой прикладной реализации переменная должна быть инициализирована.
• При наличии прикладной реализации идентификатора соответствующая определяющая реализация находится в наименьшем включающем блоке, в котором содержится описание этого идентификатора.
• Прикладная реализация идентификатора появляется раньше любой определяющей реализации.
• Все описания в блоке помещаются раньше всех операторов и предложений.
Выберите все верные ответы (может быть несколько или один).

КС-грамматики и синтаксический анализ сверху вниз

Question 26
В контекстно-свободной грамматике G = (N, Σ, P, S) каждое правило имеет вид (α→β)∈P, где:
• α∈NN
• α∈N(N∪Σ)*
• α∈(N∪Σ)*N(N∪Σ)*
• α∈ (N∪Σ)*N(N∪Σ)+
• α∈(N∪Σ)+
• α∈Σ*
• α∈N+
• α∈N
• α∈Σ
Выберите все верные ответы (может быть несколько или один).

Предварительные математические сведения

Question 27
Отношение, обратное к R, обозначается:
• 1/R
• R¯¯¯¯
• R−1
Выберите все верные ответы (может быть несколько или один).

Год: 2023

Данный заказ (контрольная работа) выполнялся нашим сайтом в 2023-м году, в рамках этого заказа была разработана программа в среде программирования ККР. Если у Вас похожее задание на программу, которую нужно написать на ККР, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2023-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".

Купить эту работу

Тел.: +79374242235
Viber: +79374242235
Telegram: kursovikcom
ВКонтакте: kursovikcom
WhatsApp +79374242235
E-mail: info@kursovik.com
Skype: kursovik.com