KorNet 1.5
А.В. Корочков
Система программирования на основе
языка С++ для работы с моделью
данных типа
"семантическая сеть"
("KorNet")
Описание системы (1995)
(См. также KorNet
)
3. Использование системы KorNet
Возможно два уровня использования
системы: через специальные
диалоговые программы, реализующие
опосредованное упрощенное
обращение к
функциям системы (соответствующие
программы описаны ниже) и через
непосредственный вызов функций
системы в пользовательской
программе,
т.е. через программирование.
Пользовательская программа
пишется на языке С++. Для
обеспечения
возможности работы с ассоциативной
сетью необходимо во все
программные
файлы, работающие с ней, включить
заголовочный файл "netmain.h", в
котором содержатся прототипы
доступных пользователю функций,
определяются макрокоманды системы,
вводятся два основных класса -
узел АС и описание расположения
узла АСБД в файле (node и fnode
соответственно), указатели на
объекты которых могут быть
использованы
пользователем в своей программе
непосредственно. Кроме того, этот
файл
вводит некоторые вспомогательные
структуры и две глобальные
переменные:
int errorMsg и int Result.
Переменная errorMsg может принимать
значения 0 или 1.
Если переменная имеет значение 1,
выдаются диагностические
сообщения при ненормальной работе
функций, не влияющей на дальнейшее
правильное функционирование всей
системы в целом, например:
"Такого
узла на безымянной дуге нет". При
errorMsg==0 такие сообщения не
выводятся. Сообщения о ситуациях,
влияющих на функционирование
системы
в целом, например: "Недостаточно
памяти для формирования сети",
выводятся независимо от значения
переменной errorMsg. После таких
сообщений система завершает свою
работу по exit(1).
Вторая переменная (Result) получает
новое значение при выходе из любой
функции системы. Значение 0
используется для сообщения о
ненормальном
завершении работы функции, 1 - о
нормальном. Кроме того, некоторые
функции используют значения 2 и 3.
Значение Result==2 сообщает о том,
что соответствующий атрибут
имеется и он подготовлен к слиянию.
При
наличии соответствующего атрибута
у узла, но несоответствии типа его
значения запрашиваемому типу,
переменной Result присваивается
значение
3.
Для работы с ассоциативной сетью
может быть использован либо
макроязык
системы (описан в приложении), либо
непосредственный вызов функций
системы (описаны в "netmain.h" и в
приложении).
При использовании системы следует
иметь в виду, что узел в АС может
быть связан только с узлом в АС, а
узел в АСБД - только с узлом в АСБД,
т.е. АС и АСБД независимы друг от
друга. Для обмена информацией между
АС и АСБД необходимо использовать
соответствующие средства системы
(см. приложение).
Если во время работы
пользовательской программы
содержимое
ассоциативной сети будет
выводиться (распечатываться) в
файл,
необходимо до первого
использования макрокоманд вывода
создать
соответствующий выходной поток
путем одноразового макровызова
snapfile().
| 4.1 | Интерфейсная программа TVDianet |
| 4.2 | Интерфейсная программа ClDianet |
| 4.3 | Программа создания снимка сети |
| 5.1 | Операции в сети и соответствующие им макрокоманды |
| 5.2 | Макроязык системы KorNet (часть I)* |
| Макроязык системы KorNet (часть II) | |
| Макроязык системы KorNet (часть III) | |
| 5.3 | Комплектация системы |
* - подраздел 5.2 содержит также описания операций и примеры воздействия некоторых из них на сеть