ГОСТ Р 59791—2021
Приложение Б
(обязательное)
Формат обмена концептуальными графами (CGIF)
Б.1 Общие положения
В этом разделе приведена краткая информация о концептуальных графах и описан набор правил преобра
зования (перезаписи), которые будут использоваться в остальной части этого приложения для определения описа
ния синтаксических правил для CGIF.
Абстрактный синтаксис CG — это независимая от обозначений спецификация выражений и компонентов
ядра концептуального графа,
т. е. минимального подмножества CG, способного выражать полную семантику CL.
Семантика любого выражения
х
в синтаксисе ядра CG задается функцией
cg2cl(x),
которая сопоставляет х с логи
чески эквивалентным выражением с абстрактным синтаксисом CL. Функция
cg2cl
является рекурсивной, поскольку
CG или ее компоненты можно вложить в другие компоненты.
В пунктах с Б.2.1 по Б.2.11 определяется абстрактный синтаксис CG, сопоставление абстрактного синтакси
са CG с абстрактным синтаксисом CL и соответствующий реальный синтаксис для ядра CGIF. Каждый подпункт
включает формальное определение, сопоставление с CL, правило для реального синтаксиса CGIF и комментарий с
объяснением и примерами. Правила синтаксиса записаны в расширенной форме Бэкуса — Наура (EBNF), как
указано в [2], и кратко изложены в Б.1.3. Для каждого правила синтаксиса CGIF необходимо ввести лексические
категории из п. А.2.2. В п. А.2.3.2 категория
имя
включает категорию
enclosedname
для строк в кавычках и катего
рию
namesequence
для строк без кавычек. Чтобы избежать возможных двусмысленностей, для категории
CGname
требуется, чтобы все последовательности имен CLIF, кроме указанных в идентификаторе категории CGIF, были
заключены в кавычки:
CGname = identifer |(namesequence - identifer),
| numeral | enclosedname | quotedstring;
identifer = letter, {letter | digit |
При переводе CGIF в CL все имена CGname должны переводиться путем удаления любых кавычек вокруг
последовательности имен. CLIF не подразумевает синтаксических различий между константами и переменными, но
в CGIF любое имя CGname, которое не используется в качестве определяющей или связанной метки, должно
называться константой.
Начальным символом для синтаксиса CGIF должен быть текст категории (если вводится полный текст) или
категория CG (если вводится строка, представляющая концептуальный граф).
Б.1.1 Концептуальные графы
Концептуальный граф (CG) — это представление логики в виде двудольного графа с двумя типами узлов,
которые называются концепциями и концептуальными отношениями. Формат обмена концептуальными графа ми
(CGIF) — это полностью совместимый диалект CL (CL), который выступает в качестве упорядоченного пред
ставлением концептуальных графов. В данном приложении описывается синтаксис CGIF и выполняется его со
поставление с семантикой CL. Ненормативное графическое обозначение, называемое формой отображения CG,
используется в настоящем стандарте только в примерах, которые иллюстрируют структуры CG. В первом примере на
рисунке Б.1 показана форма отображения высказывания
John is going to Boston by bus
(Джон едет в Бостон на
автобусе).
Рисунок Б.1 — Форма отображения CG «John is going to Boston by bus»
В форме отображения прямоугольники или поля представляют собой концепции, а круги или овалы — кон
цептуальные отношения. Дуга со стрелкой, указывающей на круг, отмечает первый аргумент отношения, а дуга,
указывающая в направлении от круга, — последний. Если отношение имеет только один аргумент, стрелка не ис
пользуется. Если отношение имеет более двух аргументов, стрелки заменяются целыми числами 1
....
п.
33