Тема: Разработка пользовательского интерфейса (GUI) для языкового процессора.
Цель работы: Разработать приложение – текстовый редактор.
В дальнейшем он будет дополнен функциями языкового процессора. Приложение должно иметь графический интерфейс пользователя.
Язык реализации и среда разработки приложения выбираются студентом самостоятельно.
На рисунке приведен пример рабочего окна текстового редактора.
Текстовый редактор должен иметь следующие элементы:
1 – основное меню программы;
2 – панель инструментов;
3 – окно/область ввода/редактирования текста;
4 – окно/область отображения результатов работы языкового процессора (в этой области ввод текста запрещен).
Панель инструментов содержит кнопки вызова часто используемых пунктов меню:
Главное меню программы имеет следующую структуру:
Файл
Правка
Текст
Пуск
Справка
В первой лабораторной работе необходимо, чтобы работали все функции из меню «Файл», «Правка» и «Справка».
Меню «Текст» будет реализовано в последующих лабораторных работах и курсовой работе. При вызове команд этого меню должны открываться окна с соответствующей информацией.
Команда «Пуск» предназначена для запуска анализатора текста. Она также будет реализована в последующих лабораторных работах.
Приложение должно иметь справочную систему, запускаемую командой «Вызов справки». В первой лабораторной работе справка должна содержать описание всех реализованных функций меню. В курсовой работе справка обязательно включает информацию из пунктов меню «Текст».
Область редактирования представляет текстовый редактор. Команды меню «Файл» и «Правка» работают с содержимым этой области. Формат сохранения файлов – на усмотрение разработчика. Дополнительное задание: реализовать подсветку синтаксиса (выделение ключевых слов другим цветом или полужирным шрифтом).
В область отображения результатов выводятся сообщения и результаты работы языкового процессора.
Учтите, что в курсовой работе, если сообщение относится к ошибке в тексте из окна редактирования, то при щелчке на сообщении курсор в окне редактора должен устанавливаться в позицию ошибки (возможно выделение ошибочного фрагмента).
Интерфейс может содержать дополнительные элементы (строка состояния) и возможности работы с несколькими файлами в отдельных вкладках или окнах (см. раздел “Дополнительное задание”).
Выполнение представленных ниже требований является обязательным для получения оценки за лабораторную работу:
В случае, если студент берет дополнительное задание, то он сообщает об этом преподавателю на паре, на которой была выдана лабораторная работа.
Реализация представленных ниже требований является дополнительной работой, за которую можно получить максимально 5 бонусных баллов:
Студент, выполнивший задание на лабораторную работу, прикрепляет ссылку на git-репозиторий с кодом программы в системe DiSpace в контролирующее мероприятие “Лабораторная работа 1”. По желанию студента в README-файле может быть продублирована информация, содержащаяся в руководстве пользователя (справке) к программе.
Оценка за выполнение лабораторной работы выставляется, если:
Для защиты лабораторной работы студенту необходимо ознакомиться с теоретическим материалом, представленным в лекции 1 (составитель Достовалов Д.Н.), а также быть готовым к вопросам в конце лекции. Рекомендуется ознакомиться с главой 1 учебного пособия “Теория языков программирования: проектирование и реализация”.