ПРОБЛЕМЫ ОРГАНИЗАЦИИ ТРУДА И УПРАВЛЕНИЯ БИБЛИОТЕЧНО-БИБЛИОГРАФИЧЕСКИМИ ПРОЦЕССАМИ

С.Ю.ГАРНАЕВ

ПОСТРОЕНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ С ПОМОЩЬЮ ФУНКЦИОНАЛЬНЫХ ГРАММАТИК

В настоящее время в Библиотеке АН СССР ведутся работы по разработке и внедрению автоматизированной системы (АС БАН). Создание подобных систем является весьма трудоемкой задачей, т.к. для эффективного описания информационных объектов недостает языковых средств, которые могли бы поддерживать информационную структуру и без больших трудностей производить изменения в информационной среде на различных этапах проектирования и внедрения системы.

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

Главная трудность при разработке трансляторов заключается в описании семантики языков. Будем решать эту проблему с помощью аппарата функциональных грамматик. В основе названного формального метода лежит положение о том, что язык есть определенным образом организованная система функций f, f , ... f . Со всякой функцией f связывается определенное семантическое правило. Вычисление функций происходит с помощью виртуальной вычислительной машины. Всякое предложение языка является закодированной суперпозицией функций. Внешняя грамматика - это набор средств, позволяющих по произвольному предложению x строить соответствующую ему суперпозицию в явном виде. Выполнение суперпозиции вычисляет смысл предложения x. Точное и однозначное описание внешней грамматики формализует синтаксическую структуру языка, точное описание функций f - его семантику.

В рамках рассмотренного формализма можно осуществить трансляцию с нового разрабатываемого языка в уже известный язык. Выходной язык можно выбрать языком высокого уровня, с которого есть транслятор. На "плечи" этого транслятора можно переложить решение таких проблем, как управление памятью, управление данными, а если выбрать за выходной язык ФОРТРАН или С, то используя их оптимизирующие трансляторы, можно решать и проблему оптимизации объектного кода. Следовательно, в такой системе можно реализовать в экспериментальные языки.