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