UNPKG

@qrvey/formula-lang

Version:

QFormula support for qrvey projects

79 lines 6.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QFormulaParser = exports.QFormulaLang = exports.QFormula = void 0; const lr_1 = require("@lezer/lr"); const language_1 = require("@codemirror/language"); const highlight_1 = require("@lezer/highlight"); // This file was generated by lezer-generator. You probably shouldn't edit it. const noOprt = 25; const space = [ 9, 10, 11, 12, 13, 32, 133, 160, 5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8232, 8233, 8239, 8287, 12288, ]; const operators = [43, 45, 42, 47, 60, 61, 62]; const parenteses = [41, 40]; const comma = 44; const noOperator = new lr_1.ExternalTokenizer((input, stack) => { const { next } = input; if (space.indexOf(next) > -1 || parenteses.indexOf(next) > -1 || next === comma) return; if (operators.indexOf(next) === -1 && next != -1 && !stack.context && stack.canShift(noOprt)) { input.acceptToken(noOprt); } }, { contextual: true }); // This file was generated by lezer-generator. You probably shouldn't edit it. const spec_identifier = { __proto__: null, true: 16, false: 16 }; const parser = lr_1.LRParser.deserialize({ version: 14, states: "%^O]QQOOOOQP'#C`'#C`OOQO'#Cg'#CgOwQQO'#CfO|QSO'#CjO]QQO'#CkQ!RQROOO]QQO'#CrOOQP'#C_'#C_O!gQQO,59QO!nQQO,59UOOQP,59V,59VO]QQO,59XO]QQO,59XO]QQO,59XO]QQO,59XO]QQO,59XO!sQRO,59^O!zQRO'#CzOOQO'#Ci'#CiO#UQQO1G.lOOQP1G.p1G.pOOQP1G.s1G.sO#uQRO1G.sO#|QRO1G.sO$oQRO1G.sO$vQRO1G.sOOQP1G.x1G.xO]QQO'#CsO$}QQO,59fOOQP7+$W7+$WO%VQRO,59_OOQO-E6q-E6q", stateData: "%k~OkOSlOSPOS~OTPOUPOVPOWPO[VO`TOmQOqSO~O[XO~OrYO~O`]Ob[Oc[Od^Oe_Oi`O~OXnP~P]OpeO~OXkO~P!ROolOXnX~P!ROXnO~Ob[Oc[OdaieaihaiiaiXaioai~O`ai~P#ZO`]O~P#ZO`]Ob[Oc[Od^OhaiiaiXaioai~Oeai~P$TOe_O~P$TOolOXna~OXgaoga~P!ROUVklkPmPb~", goto: "#UoPPPp!`PPPPP!`!lP!x!`!`P!`PPPP!`!{PPPPPP#RQUOQZTQaVQbXQf[Qg]Qh^Qi_Qj`RoleWOTVX[]^_`leROTVX[]^_`lRdXQmbRpmRcX", nodeNames: "⚠ LineComment Program Expression Value Number Date String Boolean ParenthesisEnd Function FunctionIdentifier ParenthesisStart FunctionArguments Variable UnaryExpression ArithOp BinaryExpression ArithOp ArithOp LogicOp LogicOp ParenthesizedExpression", maxTerm: 34, nodeProps: [ ["openedBy", 9, "ParenthesisStart"], ["closedBy", 12, "ParenthesisEnd"] ], skippedNodes: [0, 1], repeatNodeCount: 1, tokenData: "=T~RpXY#VYZ#zZ[#V]^#zpq#Vrs$Pxy7kyz7pz{7u{|7z|}9S}!O7z!O!P9X!P!Q:a!Q![;Q!^!_;n!_!`<O!`!a<T!c!}<]!}#O<y#P#Q=O#R#S8h#T#o<]$f$g#V#BY#BZ#V$IS$I_#V$I|$I}#z$I}$JO#z$JT$JU#V$KV$KW#V&FU&FV#V?HT?HU#V~#[Yk~XY#VZ[#Vpq#V$f$g#V#BY#BZ#V$IS$I_#V$JT$JU#V$KV$KW#V&FU&FV#V?HT?HU#V~$POl~~$SZOr$urs%_s!Q$u!Q!R&c!R!S6r!S![6S![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~$xVOr$urs%_s#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~%dOV~~%gRO;'S$u;'S;=`%p;=`O$u~%sWOr$urs%_s#O$u#O#P%d#P;'S$u;'S;=`&];=`<%l$u<%lO$u~&`P;=`<%l$u~&fYOr$urs%_s!P$u!P!Q'U!Q![6S![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~'X]Or$urs%_s!Q$u!Q!R(Q!R!S(Q!S!T(Q!T!U(Q!U![5d![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~(TYOr$urs%_s!P$u!P!Q(s!Q![5d![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~(vXOr$urs%_s!Q$u!Q![)c![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~)fXOr$urs%_s!Q$u!Q![*R![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~*UXOr$urs%_s!Q$u!Q![*q![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~*tXOr$urs%_s!Q$u!Q![+a![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~+dkOX$uX^-X^p$upq-Xqr$urs4gs#O$u#O#P%d#P#y$u#y#z-X#z$f$u$f$g-X$g#BY$u#BY#BZ-X#BZ$IS$u$IS$I_-X$I_$I|$u$I|$JO-X$JO$JT$u$JT$JU-X$JU$KV$u$KV$KW-X$KW&FU$u&FU&FV-X&FV;'S$u;'S;=`&]<%lO$u~-[pOX$uX^-X^p$upq-Xqr$urs%_s!Q$u!Q!R/`!R!S/`!S!T4n!T![0R![#O$u#O#P%d#P#y$u#y#z-X#z$f$u$f$g-X$g#BY$u#BY#BZ-X#BZ$IS$u$IS$I_-X$I_$I|$u$I|$JO-X$JO$JT$u$JT$JU-X$JU$KV$u$KV$KW-X$KW&FU$u&FU&FV-X&FV;'S$u;'S;=`&]<%lO$u~/cYOr$urs%_s!Q$u!Q![0R![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~0UXOr$urs%_s![$u![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~0tXOr$urs%_s!Q$u!Q!W1a!W#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~1dXOr$urs%_s!Q$u!Q![2P![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~2SXOr$urs%_s![$u![!]2o!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~2rXOr$urs%_s!Q$u!Q!W3_!W#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~3bXOr$urs%_s!Q$u!Q![3}![#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~4QVOr$urs4gs#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~4nOU~V~~4qZOr$urs%_s!Q$u!Q!U0R!U![$u![!]0q!]#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~5gXOr$urs%_s!P$u!P!Q(s!Q#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~6VXOr$urs%_s!P$u!P!Q'U!Q#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~6u[Or$urs%_s!P$u!P!Q'U!Q!R6S!R!S6S!S!T6S!T#O$u#O#P%d#P;'S$u;'S;=`&]<%lO$u~7pO[~~7uOX~~7zOc~R8RV`PrQ{|8h}!O8h!O!P8h!Q![8h!c!}8h#R#S8h#T#o8hQ8mVrQ{|8h}!O8h!O!P8h!Q![8h!c!}8h#R#S8h#T#o8h~9XOo~R9^VrQ{|8h}!O8h!O!P8h!Q![9s!c!}8h#R#S8h#T#o8hR9zVTPrQ{|8h}!O8h!O!P8h!Q![9s!c!}8h#R#S9s#T#o8h~:fPb~!P!Q:i~:nSP~OY:iZ;'S:i;'S;=`:z<%lO:i~:}P;=`<%l:iR;XVTPrQ{|8h}!O8h!O!P9s!Q![;Q!c!}8h#R#S;Q#T#o8h~;sQd~!_!`;y!`!a<O~<OOd~~<TOe~~<YPd~!_!`;yR<dVrQmP{|8h}!O8h!O!P8h!Q![<]!c!}<]#R#S<]#T#o<]~=OOq~~=TOp~", tokenizers: [noOperator, 0, 1], topRules: { "Program": [0, 2] }, specialized: [{ term: 29, get: value => spec_identifier[value] || -1 }], tokenPrec: 201 }); const QFormulaParser = parser.configure({ props: [ (0, highlight_1.styleTags)({ Boolean: highlight_1.tags.bool, String: highlight_1.tags.string, Date: highlight_1.tags.string, Number: highlight_1.tags.number, Variable: highlight_1.tags.variableName, LineComment: highlight_1.tags.lineComment, FunctionIdentifier: highlight_1.tags.keyword, ParenthesisStart: highlight_1.tags.paren, ParenthesisEnd: highlight_1.tags.paren, LogicOp: highlight_1.tags.operator, ArithOp: highlight_1.tags.operator, }), ], }); exports.QFormulaParser = QFormulaParser; const QFormulaLang = language_1.LRLanguage.define({ parser: QFormulaParser, languageData: { commentTokens: { line: '//' }, }, }); exports.QFormulaLang = QFormulaLang; function QFormula() { return new language_1.LanguageSupport(QFormulaLang); } exports.QFormula = QFormula; //# sourceMappingURL=qformula.lang.js.map