
- •"Грамматика"
- •1. Общая характеристика системы
- •3. Анализ текста на формальном языке
- •4. Пользовательский интерфейс системы
- •5. Порядок выполнения лабораторных работ
- •6. Задания к лабораторному практикуму
- •Пример грамматики с вызовами семантических процедур
- •Интерфейс программ семантического анализа с планом семантических действий
4. Пользовательский интерфейс системы
Пользовательский интерфейс системы "Грамматика" содержит следующие элементы:
• иерархическое меню, открывающее доступ ко всем функциям системы,
• "горячие клавиши", обеспечивающие быстрый вызов наиболее употребимых функций,
контекстную и общую помощь,
строку статуса, информирующую о текущем состоянии интерфейса,
многооконный текстовый редактор, предназначенный для создания и редактирования грамматик и предложений.
Пользовательский интерфейс системы "Грамматика" предусматривает использование следующих стандартных клавиш: <Alt+X> - при нахождении в редакторе - выход из системы; <F1> - контекстная помощь;
<F10> - при нахождении в редакторе - выход в меню; <Alt> + <выделенный цветом символ пункта главного меню> - при нахождении в редакторе - быстрый вход в пункт меню; <←>,<→> - при нахождении в главном меню - перемещение по пунктам главного меню;
<↑>, <↓> - при нахождении в подменю - перемещение по пунктам подменю;
<Tab>, <Shift_Tab> - при нахождении в диалоговых окнах - перемещение по полям диалоговых панелей;
<Alt> + <выделенный цветом символ текущего меню или панели> - при нахождении в подменю или в диалоговом окне • исполнение указанной команды; <Enter> - исполнение команды.
Главное меню системы содержит пункты: , Грамматики, Предложения, Файлы, Редактор, Окна, Помощь.
Пункт объединяет команды управления интерактивной средой системы и выполнения вспомогательных функций: вызов интерпретатора MS DOS, выполнение команды MS DOS, настройка цветовой гаммы и мыши, вызов калькулятора, выход из системы и т.п.
Грамматики
Пункт Грамматики главного меню содержит команды работы с грамматиками:
создать новую грамматику,
открыть существующую грамматику,
установить текущую грамматику,
анализировать грамматику,
настроить анализатор грамматик.
Грамматика, которая будет обрабатываться при следующем исполнении команды Грамматики => Анализ грамматики (или использоваться при анализе предложений, см. следующий пункт), называется текущей грамматикой. По умолчанию, текущей является последняя созданная или открытая грамматика; команда Грамматики => Установить текущую грамматику позволяет явно и однозначно указать обрабатываемую грамматику, не загружая ее при этом в редактор.
Анализ грамматики проводится в одном из нескольких режимов, определяемых состоянием грамматики и состоянием протокола анализа грамматики во время анализа. Режим задается посредством заполнения анкеты, вызываемой командой Грамматики => Настроить анализатора грамматики, состоящей из двух следующих пунктов:
состояние грамматики во время анализа,
состояние протокола анализа грамматики.
Параметр "Состояние грамматики во время анализа" имеет значения:
не отображать грамматику - она будет не видима во время анализа,
отображать грамматику на экране дисплея и указывать анализируемое слово, •
отображать грамматику на экране дисплея и анализировать ее в шаговом режиме.
Параметр "Состояние протокола анализа грамматики" имеет значения:
не создавать протокол анализа;
создать протокол на диске и не отображать его на экране дисплея во время анализа;
создать протокол на диске и отображать его на экране дисплея во время анализа;
• создать, отображать на экране дисплея и заполнять в шаговом режиме.
Предложения
Пункт Предложения главного меню содержит команды работы с предложениями:
создать новое предложение,
открыть существующее предложение,
установить текущее предложение,
провести лексический анализ предложения,
настроить лексический анализатор предложений,
провести синтаксический анализ предложения,
настроить синтаксический анализатор предложений.
Предложение, которое будет обрабатываться при следующем исполнении команд Предложение => Лексический анализ или Предложение => Синтаксический анализ, называется текущим предложением. По умолчанию, текущим является последнее созданное или открытое предложение; команда Предложение => Установить текущее предложение позволяет явно и однозначно указать обрабатываемое предложение, не загружая его при этом в редактор.
Лексический анализатор предложений имеет несколько режимов работы, различающихся состоянием предложения и состоянием протокола анализа во время проведения анализа. Требуемый режим задается командой Предложения => Настроить лексический анализатор, открывающей диалоговое окно с двумя следующими основными пунктами:
состояние предложения во время анализа
состояние протокола лексического анализа грамматики.
Параметр "Состояние предложения во время анализа" имеет значения:
не отображать предложение - оно будет не видимо во время анализа,
отображать предложение на экране дисплея и указывать анализируемое слово,
отображать предложение на экране дисплея и анализировать в шаговом режиме.
Параметр "Состояние протокола лексического анализа" имеет значения:
не создавать протокол,
создать на диске и не отображать на экране дисплея,
создать на диске и отображать на экране дисплея,
создать на диске, отображать на экране дисплея и заполнять в шаговом режиме.
Настройка синтаксического анализатора предложений, также имеющего несколько режимов работы, осуществляется при помощи специального диалогового окна, вызываемого командой Предложения =>
Настроить синтаксический анализатор. Шесть параметров анализатора таковы.
Параметр "Состояние грамматики во время анализа" имеет значения:
не отображать грамматику,
отображать грамматику на экране дисплея и указывать анализируемое слово,
отображать на экране дисплея и анализировать в шаговом режиме (шаг - формирование очередного символа грамматики).
Параметр "Состояние предложения во время анализа" имеет значения:
не отображать предложение,
отображать предложение на экране дисплея и указывать анализируемое слово,
отображать на экране дисплея и анализировать в шаговом режиме (шаг - формирование очередной лексемы).
Параметр "Состояние дерева разбора предложения" имеет значения:
• не создавать дерево разбора,
» создать дерево на диске и не отображать его на экране дисплея,
создать дерево на диске и отображать его на экране дисплея,
создать на диске и отображать процесс построения дерева в шаговом режиме.
Параметр "Состав дерева разбора предложения" имеет значения:
включить в состав дерева нетерминальные символы,
включить в состав дерева терминальные символы,
• включить в состав дерева номера семантических процедур.
Параметр "Состояние плана семантических действий в символьной форме" имеет значения:
не создавать план,
создать на диске и не отображать на экране дисплея,
создать на диске и отображать в отдельном окне на экране дисплея,
создать на диске, отображать на экране дисплея и заполнять в шаговом режиме (шаг - занесение очередной записи в план).
Параметр "Состояние плана семантических действий в двоичной форме" имеет значения:
не создавать план,
создать план на диске.
Файлы
Данный раздел меню обеспечивает открытие файлов, содержащих протоколы анализов грамматик и предложений, деревья разбора, программы семантического анализа, а также сохранение в долговременной памяти грамматик и предложений:
создать новый файл,
открыть существующий файл,
сохранить файл, связанный с текущим окном редактора, в долговременной памяти,
сохранить как - сохранить файл, связанный с текущим окном редактора, в долговременной памяти под новым именем,
сохранить все открытые файлы в долговременной памяти.
Редактор
Данный пункт главного меню содержит набор стандартных команд редактирования текста: отмена последнего редакционного действия, манипулирование блоками текста (вырезать, копировать, вставить, удалить), поиск, замена, переход на заданную строку, вывод содержимого буфера редактора.
Окна
Пункт главного меню Окна содержит традиционные команды управления окнами редактора.
Помощь
Пункт главного меню Помощь позволяет получить информацию о правилах использования системы "Грамматика", правилах оформления грамматик и предложений, режимах анализа грамматик и предложений, пользовательском интерфейсе.