# Редактирование конституенты

Атрибуты конституенты изменяются в диалоге редактирования конституенты, представленном на Рис. 1. Переход к редактированию осуществляется из окна списка конституент по двойному клику на строке соответствующей конституенты. Переключение между конституентами в диалоге редактирования осуществляется с помощью кнопок в левом верхнем углу, либо с помощью сочетаний клавиш Alt + Shift + < / Alt + Shift + >.

Рис. 1. Редактирование конституенты.

Флажок Автопроверка дублирует соответствующий параметр программы, отвечающий за автоматическую проверку формального выражения при потере фокуса полем редактирования выражения.

Флажок Автосохранение дублирует соответствующий параметр программы, отвечающий за автоматическое сохранение изменений при переходе к следующей конституенте. Если флажок не активен, то при переходе к следующей конституенте пользователю предлагается принять решение о сохранении сделанных изменений.

Для подтверждения конституент и задания параметров наследования интерпретации при выполнении операции синтеза в рамках ОСС используется управляющий блок настроек, расположенный в левом нижнем углу диалога.

При редактировании формального выражения поддерживается расширенный набор математических символов, используемых в ЯРС. Основные символы реализованы в кнопках на панели спецсимволов.

Для набора спецсимволов и букв греческого алфавита реализована дополнительный язык ввода, обозначаемый MATH в строке состояния программы. При редактировании программа переключает язык автоматически. Для ручного переключения используются управляющие клавиши левый и правый Control.

Правый Control переключает языки в следующей последовательности: Английский -> Русский -> MATH -> Английский.

Левый Control переключает языки в следующей последовательности: Английский -> MATH -> Английский.

При отображении выражений ЯРС используется автоматическая цветовая индикация языковых конструкций, представленная в Табл. 1. Также в индексах проекций, имен конституент и имен локальных переменных применяется форматирование индексов. Форматирование можно отключить в настройках программы.

Табл. 1. Автоматическое форматирование формального выражения ЯРС.
Цвет | Описание конструкции
| Ключевые слова pr, Pr, bool, debool, card
| Имена конституент
| Имена локальных переменных – последовательности арабских цифр, символов английского, русского или греческого алфавитов (минимум 1 буквенный символ)
| Скобки: уровень вложенности 0
| Скобки: уровень вложенности 1
| Скобки: уровень вложенности 2
| Скобки: уровень вложенности 3
| Скобки: уровень вложенности 4
| Скобки: уровень вложенности 5

При помещении текстового курсора рядом со скобкой автоматически выделяется парная скобка. По нажатию Shift + F3 курсор перейдет к парной скобке.

При выделении имени конституенты в формальном выражении, отображается контекстная подсказка, содержащая термин и типизацию выделенной конституенты.

Диалог редактирования конституенты позволяет не только изменять атрибуты конституенты, но и осуществлять контроль корректности формального выражения с помощью блока Анализатора.

Проверка может быть запущена с помощью кнопки Проверить. Подробные результаты отображаются в логе Анализатора, расположенном правее кнопки. В случае наличия ошибок в выражении анализатор выдает код ошибки, а текстовый курсор в формальном выражении перемещается в предполагаемое место ошибки (Рис. 2).

В настройках программы можно включить отображение дерева разбора в логе Анализатора в виде префиксной строки. Анализ дерева разбора позволяет точно определить местоположение ошибки и упрощает понимание структуры выражения.

Рис. 2. Ошибка в выражении ЯРС.

## Переименование конституенты

Изменить имя конституенты в рамках РС-формы можно следующими способами:

- через команду меню Редактирование / Переименовать;
- через контекстное меню списка конституент Переименовать;
- в диалоге редактирования конституент (Рис. 1).

При переименовании конституенты вхождения старого имени в формальные выражения других конституент заменяются на новое имя. Эта опция может быть отключена, если переименование осуществляется через меню (тогда все вхождения старого имени станут некорректными).

Рис. 3. Диалог переименования конституенты.