Документация iSZN
pkParse.sql
Общий парсинг
ParseError
PROCEDURE ParseError(sMsg VARCHAR2 := NULL, sExtra VARCHAR2 := NULL, sExpr VARCHAR2 := NULL, iPos PLS_INTEGER := NULL, iCode PLS_INTEGER := -20000);
Описание
Генерирует форматированную ошибку парсинга.
GetOperatorId
FUNCTION GetOperatorId(sKeyword VARCHAR2, iParserID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID оператора по ключевому слову. Сравнение производится без учёта регистра.
- Если у заданного парсера такого ключевого слова нет, возвращает null.
GetNextToken
FUNCTION GetNextToken(sExpr VARCHAR2, i IN OUT PLS_INTEGER, t OUT TToken, iParserID PLS_INTEGER, iLastPriority PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает следующую по списку лексему из выражения sExpr i - позиция, начиная с которой производится разбор (нумерация с 1) iLastPriority - приоритет предыдущей лексема или -1, если это первая лексема.
ParseExprToRPN
PROCEDURE ParseExprToRPN(sExpr VARCHAR2, Tokens OUT TTokens, iParser PLS_INTEGER);
Описание
Производит перевод выражения в обратную польскую нотацию (RPN). iParser - ID парсера, для которого выбираются обрабатываемые символы.
Парсинг конкретных выражений
RPNToRgnIDPresenceList
Описание
Производит подготовку Tokens и TRgnIDPresenceList для выполнения выражения в RPN.
RPNToPDocReqInfoList
Описание
Производит подготовку Tokens и TPDocReqInfoList для выполнения выражения в RPN ID реквизитов должны начинаться с #, ID дочерних реквизитов - с ##.
RPNToIntegerList
Описание
Производит подготовку Tokens: переводит все sValue в iData.
ComputeRgnIDPresenceList
FUNCTION ComputeRgnIDPresenceList(Tokens TTokens, PresenceList TRgnIDPresenceList, iOR PLS_INTEGER, iAND PLS_INTEGER, iNOT PLS_INTEGER) RETURN BOOLEAN;
Описание
Производит вычисление выражения с TRgnIDPresenceList
- Tokens - последовательность операций в RPN
- RgnIDPresenceList - список заполненных RgnIDPresence
- iOR, iAND, iNOT - идентификаторы соответствующих операторов.
ComputePDocReqInfoList
FUNCTION ComputePDocReqInfoList(Tokens TTokens, InfoList TPDocReqInfoList, ValueList TPDocValueList) RETURN BOOLEAN;
Описание
Производит вычисление выражения с реквизитами персональных документов
- Tokens - последовательность операций в RPN
- InfoList - список заполненных реквизитов
- ValueList - список значений реквизитов.