Стили

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

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

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

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

Кроме того, должно быть хорошим тоном считать концом стиля то, что грамматичестки может быть проинтерпретировано как начало стиля.

-- Стиль 0.
Самый минимальный стиль, используется по умолчанию.
-- Стиль pgo0.
Умеет хранить именованные константы и выводить таблицы с оформлением.
-- Стиль copy.
Вывод таблицы в стиле COPY
-- Стиль json.
Вывод таблицы в JSON

Пример файла со стилями:

#tables pgo0 UH
# ....
  содержимое стиля
  ....
#lastable pgo0 DV
# ....
  содержимое стиля
  ....
#null 0
       
В этом файле определены стили с именами tables, lastable и null. Обратите внимание, что программа pgoblinа обращается к стилю только по имени и какой именно интерпретатор будет обрабатывать стиль, определяется текстом стиля а не программой.

Если загрузить стиль в регистр, в котором уже есть загруженный стиль не применив предварительно команду #clear к этому регистру, то результат зависит от интерпретаторов стиля в регистре и догружаемого стиля.

Видимо, если интерпретаторы разные, то можно ожидать ошибку или в лучшем случае неиспользование старого содержимого регистра стиля.


А.А.Бабайлов (C)2003..2022