SoftCraft
разноликое программирование

Top.Mail.Ru

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

  1. Для чего нужен лексический анализатор?
  2. Что порождает лексический анализатор? Можно ли обойтись без сканера?
  3. Назначение транслитератора.
  4. Какая связь между сканером и конечным автоматом?
  5. Существует ли связь между конечным автоматом и диаграммами Вирта?
  6. Существует ли связь между конечным автоматом и праволинейными грамматиками?
  7. Существует ли связь между конечным автоматом и грамматиками с левой рекурсией?
  8. Как преобразовать грамматику с правой рекурсией в итеративную диаграмму Вирта?
  9. Как преобразовать грамматику с левой рекурсией в итеративную диаграмму Вирта?
  10. Назовите основные методы лексического анализа.
  11. Приведите обобщенную структуру непрямого лексического анализатора.
  12. Достоинства и недостатки непрямого лексического анализатора.
  13. Можно ли повысит производительность непрямого лексического анализатора?
  14. Приведите обобщенную структуру прямого лексического анализатора.
  15. Достоинства и недостатки прямого лексического анализатора.
  16. Перечислите конструкции конкретного языка программирования, которые целесообразно распознать на фазе лексического анализа.
  17. Подготовьте список конструкций Вашего учебного языка программирования, которые будут распознаваться на фазе лексического анализа.
  18. Число встречается в нескольких правилах непрямого лексического анализатора. В какой последовательсти необходимо проверять числа языка DPL? Допустимы ли перестановки в этой последовательности?
  19. В код какого сканера (прямого или непрямого) удобнее добавлять новые лексемы? Поясните свой ответ.
  20. Какими сообщениями о лексических ошибках можно расширить массив сообщений об ошибках в учебном языке?
  21. Назначение синтаксического разбора.
  22. Что является результатом синтаксического разбора?
  23. Назовите критерии классификации синтаксического разбора.
  24. Какие существуют методы разбора?
  25. Связь методов разбора с выводом входной цепочки.
  26. Особенности нисходящего разбора.
  27. Особенности восходящего разбора.
  28. Особенности комбинированного разбора.
  29. Какие существуют последовательности разбора?
  30. Связь между методами разбора и последовательностью разбора.
  31. Особенности разбора с просмотром вперед.
  32. Дополнительная классификация контекстно свободных грамматик.
  33. Особенности разбора с возвратами.
  34. Связь между сложностью языка и его трансляцией.
  35. Зачем, при синтаксическом разборе нужны автоматы с магазинной памятью?
  36. Как организован автомат с магазинной памятью?
  37. Основные операции автомата с магазинной памятью.
  38. Каким образом ограничения, накладываемые на грамматику, определяют реализацию автомата?
  39. В чем заключается семантический разрыв между грамматиками и автоматами с магазинной памятью?
  40. Дайте определение модели распознавателя на основе динамически порождаемых конечных автоматов.
  41. Как используется синтаксически управляемый перевод при построении таблицы имен?
  42. Как используется синтаксически управляемый перевод при построении таблицы имен?
  43. Какие семантические действия должны выполняться, на ваш взгляд при объявлении в программе метки?
  44. Какие семантические действия должны выполняться, на ваш взгляд при появлении в программе оператора безусловного перехода на метку?
  45. Какие программные объекты используются при работе с таблицей имен?
  46. Каким образом реализованы в Вашей программе объекты, представляющие таблицу имен?
  47. Каким образом реализованы в Вашей программе объекты, представляющие назначения имен?
  48. Назовите способы задания семантического представления.
  49. В чем заключается особенность промежуточного представления программы?
  50. Как формируются команды виртуальной машины?
  51. Какие отношения существуют между командами?
  52. Что задает операнд промежуточного представления?
  53. Опишите семантические вставки для различных синтаксических правил.
  54. В чем отличие генерации кода в высокоуровневый язык от генерации в язык машинного уровня?
  55. Покажите, какие операторы высокоуровневого языка будут соответствовать различным командам промежуточного представления.
  56. Какие достоинства и недостатки именования переменных высокоуровневого выходного представления именами, используемыми в исходном тексте программы?
  57. Какие достоинства и недостатки именования переменных высокоуровневого выходного представления именами, не связанными с теми, что используются в исходном тексте программы?
  58. Каковы возможны стратегии формирования имен промежуточных (временных) переменных?