Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



 

КС-грамматика G(VN,VT,P,S), V=VT VN, для которой выполняются следующие условия:

o для каждой упорядоченной пары терминальных и нетерминальных символов выполняется не более чем одно из трёх отношений предшествования;

o  различные правила в грамматике имеют разные правые части;

называется грамматикой …

Простого предшествования

 

Всякая грамматика простого предшествования является …

Однозначной

 

Верно ли утверждение:

Всякая грамматика простого предшествования является однозначной?

Да

 

Верно ли утверждение:

Всякая грамматика операторного предшествования является однозначной?

Нет

 

Верно ли утверждение:

Всякая грамматика операторного предшествования задаёт детерминированный КС-язык?

Да

 

Детерминированный КС-язык задаёт грамматика … предшествования:

Операторного

 

Отношения операторного предшествования проверяются в процессе разбора только между … символами:

Терминальными

 

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

Меньше

 

Верно ли утверждение:

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

Нет

 

 

а “забирает приоритет у” b:

 

Оператор * имеет более высокий приоритет, чем оператор +. При получении выражения вида E+E*E+E основой является:

E*E

 

 и  – операторы левоассоциативны и имеют равный приоритет

 

 и  – операторы правоассоциативны и имеют равный приоритет

 

 

 и  – операторы левоассоциативны и имеют равный приоритет  

;

 

 и  – операторы правоассоциативны и имеют равный приоритет

 

в выражении  основой является

 

 

На рисунке представлена модель … -анализатора:

 

 

LR-анализатора

 

В LR-анализаторе функция =“допуск”  синтаксический анализатор:

Завершается.

 

Верно ли утверждение:

LR-анализатор может обнаруживать синтаксические ошибки сразу же, как только это становится возможным при сканировании входного потока

Да

 

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

LR

 

Верно ли утверждение:

Любая грамматика, содержащая λ - правила, не может быть LR(0) – грамматикой: 

Да

 

 

Количество шагов алгоритма функционирования распознавателя LR(k)-грамматики при росте длины входной цепочки символов растёт …:

Линейно

 

Распознаватель для LR(k)-грамматики является …

Линейным

 

Верно ли утверждение:

Класс языков, заданных LR(1)-грамматиками, полностью совпадает с классом детерминированных КС-языков.

Да

 

Управляющая таблица для LR(0)-грамматики строится на основании понятия:

“левых контекстов”

 

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

LR(k)-грамматикой

 

Верно ли утверждение:

LR-грамматики могут описывать больше языков, чем LL-грамматики:

Да

 

Соответствие методов построения таблицы LR-анализа для грамматики и мощностей для них:

а) LALR                                                                         1) наиболее мощный                                      

б) SLR                                                             2) занимает промежуточное положение

в) канонический LR                                    3) наименее мощный

а) –2); б) –3); в) –1)

 

Работа распознавателя для LR(k)-грамматик основана на использовании алгоритма …:

Сдвиг-свёртка

 

Верно ли утверждение:

Всякий детерминированный КС-язык может быть задан SLR(1)-грамматикой:

Нет

 

Верно ли утверждение:

Любой детерминированный КС-язык может быть задан LALR(1)-грамматикой:

Да

 

LR(0) – пункт грамматики G – продукция G с точкой в некоторой позиции правой части. Продукция  даёт четыре пункта:

1.                                                               

2.

3.                                                           

4.

Какой из пунктов определяет, что во входном потоке есть входная строка, порождённая X, ожидаем получить из входного потока строку, порождаемую YZ.

2

 

LR(0) – пункт грамматики G – продукция G с точкой в некоторой позиции правой части. Продукция  даёт четыре пункта:

1.                                                               

2.

3.                                                           

4.

Какой из пунктов определяет, что во входном потоке мы ожидаем встретить строку, порождаемую XYZ

1

 

Любая LL-грамматика и любая LR-грамматика являются …:

Однозначными

 

Верно ли утверждение:

Каждая неоднозначная грамматика может быть LR-грамматикой:

Нет

Грамматика, описывающая арифметические выражения с операторами * и +:

                                                   E → E+E | E*E | (E) | I

является:

Неоднозначной

 

Верно ли утверждение:

Грамматика:     

E → E+T | T;

                                          T → T*F | F;

                                          F → (E) | I

является однозначной

Да

 

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

Семантическими

 

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

Аннотированным

 

Атрибуты, значения которых в узле дерева разбора определяются атрибутами родительского и/или дочерних по отношению к родительскому узлов, называются:

Наследуемыми

 

Зависимости между наследуемыми и синтезируемыми атрибутами в узлах дерева разбора показываются с помощью направленного графа, называемого графом …

Зависимости

 

Верно ли утверждение:

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

Да

 

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

Синтаксическим

 

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

Дагом

 

Синтаксически управляемые определения, в которых применяются исключительно синтезируемые атрибуты – это:

S-атрибутные определения

 

Верно ли утверждение:

Транслятор для S-атрибутного определения может быть реализован с помощью генератора LR-анализаторов типа Yacc. 

Да

 

Верно ли утверждение:

L-атрибутные определения включают все синтаксически управляемые определения, основанные на LL(1)-грамматиках.

Да

 

 

Если каждый наследуемый атрибут символа , из правой части продукции  зависит только от

o атрибутов символов , расположенных в продукции слева от

o наследуемых атрибутов А,

то синтаксически управляемое определение является

L-атрибутным

 

Схема, представляющая собой контекстно-свободную грамматику, в которой атрибуты, связанные с символами грамматики, и семантические действия заключены в фигурные скобки ( { } ) и вставлены в правые части продукции, называется:

Схемой трансляции

 

Программа, предназначенная для построения синтаксического анализатора КС-языка:

YACC

 

Проверка, выполняемая компилятором, называется:

Статической

 

Проверка, выполняемая целевой программой, называется:

Динамической

 

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

Строго типизированным

 

Верно ли утверждение:

Два выражения типа структурно эквивалентны тогда и только тогда, когда они идентичны.

Да

Если два выражения либо представляют собой один и тот же базовый тип, либо сформированы путём одного и того же конструктора, то эти выражения:

Структурно эквивалентны

 

С точки зрения … эквивалентности имя каждого типа представляет собственный тип, отличный от типа с другим именем.

Именной

 

Верно ли утверждение:

 

Переменная Выражение типа
next link
last link
p pointer(cell)
q pointer(cell)
r pointer(cell)

 

С точки зрения структурной эквивалентности все пять переменных имеют один и тот же тип.

Да

 

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

Неявным

 

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

Явным

 

Верно ли утверждение:

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

применение функции.

Да

 

Символ, имеющий различные значения в зависимости от своего контекста, называется:

Перегруженным

 

Верно ли утверждение:

В математике перегруженным символом является +

Да

 

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

Разрешимой

 

Функции, которые могут быть выполнены с аргументами “различного типа” называются:

Полиморфными

 

Процедуры, возвращающие значения, называются

Функциями

 

Аргументы, передаваемые вызываемой процедуре, называются

Фактическими

 

Идентификаторы в определении процедуры, имеющие специальный характер, называются:

Формальными

 

Каждое выполнение процедуры, называется ее …

Активацией

 

“Время …” активации процедуры означает последовательность шагов в процессе выполнения программы.

Жизни

 

Верно ли утверждение:

Если a и b – активации процедуры, то их времена жизни либо не перекрываются, либо вложены.

Да

 

Если новая активация процедуры может начаться до того, как завершилась её же более ранняя активация, то процедура называется …

Рекурсивной

 

Дерево, для которого выполняются условия:

  • Каждый узел представляет активацию процедуры;
  • Корень представляет активацию основной программы;
  • Узел для а является родительским для узла b тогда и только тогда, когда поток управления передается из а в b;
  • Узел для а располагается слева от узла b тогда и только тогда, когда время жизни а начинается раньше времени жизни b.

 

называется деревом …

Активации

 

Для отслеживания работающих активаций процедур используется … управления

Стек

 

Синтаксическая конструкция, связывающая информацию с именем, называется:

Объявлением

 

В приведённом фрагменте программы

var i : integer ;

объявление …

Явное

 

Если вхождение имени в процедуре находится в области видимости объявления, расположенного внутри процедуры, то оно называется

Локальным

 

 

Какой термин означает функцию, отображающую имя в местоположение в памяти:

 

 

Среда

 

 

Какой термин означает функцию, отображающую местоположение в памяти в хранящееся там значение:

 

Состояние

 

Информация, необходимая для однократного выполнения процедуры, поддерживается с помощью непрерывного блока памяти, называемого …

Кадром

Записью активации

 

Для всех объектов данных в процессе компиляции используется … распределение памяти:

Статическое

 

Верно ли утверждение:

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

Да

 

Верно ли утверждение:

При стековом распределении памяти локальные переменные при каждом вызове связываются с новой областью памяти.

Да

 

При стековом распределении памяти значения локальных переменных по окончании активации:

Уничтожаются

 

Верно ли утверждение:

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

Нет

 

Метод передачи параметров, при котором происходит вычисление фактических параметров и полученные r-значения передаются вызываемой процедуре, называется: 

По значению

 

Верно ли утверждение:

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

Да

 

Метод передачи параметров, при котором вызывающая процедура передаёт вызываемой указатель на адрес памяти каждого фактического параметра, называется:

 По ссылке

 

Верно ли утверждение:

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

Да

 

Для отслеживания области видимости и информации о связях имён компилятор использует:

Таблицу символов

 

Для отслеживания области видимости и информации о связях имён компилятор использует таблицу …

Символов

 

Для работы с таблицей символов используются:

Хеш-таблицы

 

Выделенная программой память, к которой невозможно обратиться, называется

Мусором

 

Последовательность инструкций вида x := y op z,

где x,y,z – имена, константы или временные переменные, генерируемые компилятором; op – некоторый оператор, называется:

Трёхадресным кодом

 

Реализация трёхадресных инструкций может быть представлена:

Четвёрками

Тройками

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

 

Верно ли утверждение:

Любой язык программирования является контекстно-свободным:

Нет

 

Все реальные языки программирования являются:

Контекстно-зависимыми

 

Верно ли утверждение:

Синтаксис любого языка программирования может быть описан с помощью контекстно-свободной грамматики:

Нет

 

Верно ли утверждение:

Полный разбор исходной программы компилятор может выполнить в рамках КС-языков с помощью КС-грамматик и МП-автоматов.

Нет

 

Все реально существующие компиляторы выполняют анализ исходной программы в этапы:

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

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

 

Верно ли утверждение:

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

Да

 

Распределение памяти выполняется … семантического анализа текста исходной программы.

После

 

По способам распределения область памяти бывает:

Статической

Динамической

 

По роли области памяти в результирующей программе она бывает:

Глобальной

Локальной

 

Область памяти, которая выделяется один раз при инициализации результирующей программы и действует всё время выполнения результирующей программы, называется:

Глобальной

 

 

Область памяти, которая выделяется в начале выполнения некоторого фрагмента результирующей программы и может быть освобождена по завершении выполнения данного фрагмента, называется … 

Локальной

 

Область памяти, размер которой известен на этапе компиляции, называется:

Статической

 

Область памяти, размер которой на этапе компиляции программы не известен, называется:

Динамической

 

 

Верно ли утверждение:

Для динамической области памяти компилятор не может непосредственно выделить адрес – для неё он порождает фрагмент кода, который отвечает за распределение памяти.

Да

 

Область данных, доступных для обработки в этой процедуре, называется:

Дисплеем памяти

 

Адрес машинной команды, следующей за командой обращения к процедуре или функции – это:

Адрес возврата

 

Адрес машинной команды, следующей за командой обращения к процедуре или функции – это адрес …

Возврата

 

Верно ли утверждение:

Адрес возврата никак не обрабатывается в процедуре или функции, но должен быть сохранён на всё время её выполнения

Да

 

Получает на вход промежуточное представление исходной программы и выводит эквивалентную целевую программу – …

 

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

 

Выходом генератора кода является …

Целевая программа

 

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

Базовым блоком

  

Два базовых блока, вычисляющие одинаковые наборы выражений, называются 

 эквивалентными

 

Запись, при которой операция записывается перед своими операндами, называется:

Префиксной

 

Запись, при которой операция записывается между своими операндами, называется:

Инфиксной

 

Верно ли утверждение:

Запись арифметических выражений является примером инфиксной записи

Да

 

Запись математических функций и функций в языках программирования является

Префиксной

 

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

Операций

 

Верно ли утверждение:

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

Да

 

 

Дерево, которое всегда имеет одну и ту же структуру, зависящую только от семантики входного языка, называется:

Деревом операций

 

Дерево, представленное диаграммой:

 

называется:

Деревом операций

 

Запись операций, предложенная польским математиком Я. Лукашевичем, это:

Польская запись

 

В польской записи знаки операций записываются:

За операндами

 

Верно ли утверждение:

Польская запись не требует учитывать приоритет операций и в ней не употребляются скобки

Да

 

Верно ли утверждение:

Выражения в форме обратной польской записи всегда поддаются оптимизации

Нет

 

Основной метод порождения кода результирующей программы на основании результатов синтаксического анализа – это:


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 296; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.159 с.)
Главная | Случайная страница | Обратная связь