Languages

Разработка объектно-ориентированных систем программирования ...

Вопросы экзамена по курсу Романова В.Ю. 2017 год

«Разработка объектно-ориентированных систем программирования интегрированных в среду Eclipse».

  1. Архитектура среды Eclipse. Структура подключаемых модулей. Точки расширения модулей. Использование точек расширения. Атрибуты подключаемого модуля.
  2. Разработка простейшей точки расширения среды Eclipse. Структура файла-манифеста plugin.xml . Подключение библиотеки модулей. Создание класса для реализации расширения. Меню подключаемого модуля. Редактор модуля в Plug-in Development Environment.
  3. Создание новых видов в среде Eclipse. Типы видов в перспективе Java. Точки расширения вида. Категория вида. Описание вида в манифесте. Вхождение вида в перспективы. Разработка простейший вид на основе управляющего элемента интерфейса пользователя Label (Метка).
  4. Рабочее пространство среды Eclipse. Маркировка ресурсов рабочего пространства. Виды маркеров для ресурсов. Программирование маркировки ресурсов.
  5. Разработка синтаксически ориентированного редактора в среде Eclipse. Структура файла-манифеста для синтаксически ориентированного редактора. Разработка правил для сканера программы. Описание комментария в языке программирования. Описание строк языка программирования. Описание идентификаторов и ключевых слов языка программирования.
  6. Разработка визуализатора модели программы в среде Eclipse в виде дерева. Включение визуализатора в перспективу среды Eclipse. Представление узлов дерева программы. Точка расширения для вида-дерева. Компоненты визуализатора программы. Определение структуры дерева. Построение дерева модели программы. Изображение элемента программы в дереве. Сортировка дерева программы.
  7. Разработка перспективы среды Eclipse для языка программирования. Открытие перспективы. Представление перспективы в среде Eclipse. Точка расширения для перспективы в файле-манифесте. Программирование перспективы.
  8. Разработка распознавателей объектно-ориентированных языков программирования с помощью генератора компиляторов CocoR. Спецификация сканера для генератора компиляторов CocoR. Спецификация множества символов сканера. Спецификация и пример использования пробелов и чувствительности к регистру. Спецификация лексем сканера. Спецификация комментариев.
  9. Разработка распознавателей объектно-ориентированных языков программирования с помощью генератора компиляторов CocoR. Спецификация распознавателя для генератора компиляторов CocoR. Спецификация правил грамматики языка. Выражения, термы, сомножители, символы. Формальные и фактические атрибуты правил грамматики. Семантические действия. Использование символа ANY при написании препроцессоров. Использование символа WEAK для минимизации наведенных ошибок. Использование символа SYNC для восстановления распознавателя после диагностики ошибок.
  10. Классы для выдачи диагностики распознавателем языка Go в среде Eclipse. Распознавание файлов проекта для языка программирования языка Go.
    Описание сканеры для языка Go. Описание распознавателя для языка Go. Построение UML-модели для распознанных пакетов, структур и интерфейсов языка Go.
  11. Основные понятия Graphical Editing Framework - базового инструмента построения графического интерфейса для систем моделирования. Фигуры, управляющие элементы, планировщики, панели, границы. Обработка событий. Планировщики, уровни. Ребра, декорации и локаторы. Маршрутизаторы ребер.
  12. Построение диаграммы классов языка UML средствами Graphical Editing Framework. Структура узла. Создание фигуры – содержимого узла. Создание ребер графа. Создание декорации ребра графа. Создание меток для ребер графа. Сборка UML-диаграммы.
  13. Механизм слушателей События выбора. Использование этого механизма для визуализации структур языка Go в виде UML диаграмм.