понедельник, 18 марта 2019 г.

MiniM. Как проверить синтаксис строки

Для проверки синтаксиса строки команд в MiniM Database Server предназначена функция $view("rou","s"). Третий параметр функции должен быть строкой команд языка MUMPS.

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

Функция возвращает пустую строку в случае если третий аргумент полностью синтаксически корректен. Если обнаруживается ошибка, то функция возвращает строку с ошибкой. При работе функции контекст ошибок и значения переменных $ecode и $zerror не изменяются. Пример:
USER>w $v("rou","s","s a=123")

USER>w $v("rou","s","s a=123aaa")
<SYNTAX> :SET: *s a=123aaa
Для проверки корректности синтаксиса аргументов команд, например, при необходимости такой проверки перед использованием косвенности, нужно составить строку для этой команды, например, проверка корректности аргумента команды set:
USER>s set="a=123"

USER>w $v("rou","s","s "_set)
Язык MUMPS является языком позднего связывания, поэтому само существование используемых в аргументах команд объектов на этапе синтаксического анализа не проверяется. Например, использованные имена переменных, реализация z-функций или метки в рутинах могут не существовать, но синтаксическая проверка строки команд не найдет синтаксической ошибки.

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

Комментариев нет:

Отправить комментарий