SoftCraft
разноликое программирование
|
|
Трансляторы: вопросы для самопроверки
|
-
Для чего нужен лексический анализатор?
-
Что порождает лексический анализатор?
Можно ли обойтись без сканера?
-
Назначение транслитератора.
-
Какая связь между сканером и конечным автоматом?
-
Существует ли связь между конечным автоматом и диаграммами Вирта?
-
Существует ли связь между конечным автоматом и праволинейными грамматиками?
-
Существует ли связь между конечным автоматом и грамматиками с левой рекурсией?
-
Как преобразовать грамматику с правой рекурсией в итеративную диаграмму Вирта?
-
Как преобразовать грамматику с левой рекурсией в итеративную диаграмму Вирта?
-
Назовите основные методы лексического анализа.
-
Приведите обобщенную структуру непрямого лексического анализатора.
-
Достоинства и недостатки непрямого лексического анализатора.
-
Можно ли повысит производительность непрямого лексического анализатора?
-
Приведите обобщенную структуру прямого лексического анализатора.
-
Достоинства и недостатки прямого лексического анализатора.
-
Перечислите конструкции конкретного языка программирования, которые целесообразно распознать на фазе лексического анализа.
-
Подготовьте список конструкций Вашего учебного языка программирования, которые будут распознаваться на фазе лексического анализа.
-
Число встречается в нескольких правилах непрямого лексического анализатора. В какой последовательсти необходимо проверять числа языка DPL? Допустимы ли перестановки в этой последовательности?
-
В код какого сканера (прямого или непрямого) удобнее добавлять новые лексемы? Поясните свой ответ.
-
Какими сообщениями о лексических ошибках можно расширить массив сообщений об ошибках в учебном языке?
-
Назначение синтаксического разбора.
-
Что является результатом синтаксического разбора?
-
Назовите критерии классификации синтаксического разбора.
-
Какие существуют методы разбора?
-
Связь методов разбора с выводом входной цепочки.
-
Особенности нисходящего разбора.
-
Особенности восходящего разбора.
-
Особенности комбинированного разбора.
-
Какие существуют последовательности разбора?
-
Связь между методами разбора и последовательностью разбора.
-
Особенности разбора с просмотром вперед.
-
Дополнительная классификация контекстно свободных грамматик.
-
Особенности разбора с возвратами.
-
Связь между сложностью языка и его трансляцией.
-
Зачем, при синтаксическом разборе нужны автоматы с магазинной памятью?
-
Как организован автомат с магазинной памятью?
-
Основные операции автомата с магазинной памятью.
-
Каким образом ограничения, накладываемые на грамматику, определяют реализацию автомата?
-
В чем заключается семантический разрыв между грамматиками и автоматами с магазинной памятью?
-
Дайте определение модели распознавателя на основе динамически порождаемых конечных автоматов.
-
Как используется синтаксически управляемый перевод при построении таблицы имен?
-
Как используется синтаксически управляемый перевод при построении таблицы имен?
-
Какие семантические действия должны выполняться, на ваш взгляд при объявлении в программе метки?
-
Какие семантические действия должны выполняться, на ваш взгляд при появлении в программе оператора безусловного перехода на метку?
-
Какие программные объекты используются при работе с таблицей имен?
-
Каким образом реализованы в Вашей программе объекты, представляющие таблицу имен?
-
Каким образом реализованы в Вашей программе объекты, представляющие назначения имен?
-
Назовите способы задания семантического представления.
-
В чем заключается особенность промежуточного представления программы?
-
Как формируются команды виртуальной машины?
-
Какие отношения существуют между командами?
-
Что задает операнд промежуточного представления?
-
Опишите семантические вставки для различных синтаксических правил.
-
В чем отличие генерации кода в высокоуровневый язык от генерации в язык машинного уровня?
-
Покажите, какие операторы высокоуровневого языка будут соответствовать различным командам промежуточного представления.
-
Какие достоинства и недостатки именования переменных высокоуровневого выходного представления именами, используемыми в исходном
тексте программы?
-
Какие достоинства и недостатки именования переменных высокоуровневого выходного представления именами, не связанными с теми, что используются в исходном тексте программы?
-
Каковы возможны стратегии формирования имен промежуточных (временных) переменных?
|
|
|
|