Files
plainleaf/client/space_lua/parse-lua.js
T
13c61ebab7 [LIQ] Extend with group by and having with aggregators (#1843)
* [LIQ] Extend with `group by` and `having` support

Also update documentation with extensive examples and add some parser
tests.

Note: `make generate` JS files included.

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>

* Merge `liq-add-support-for-aggregators` branch

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>

* Fix link, remove `_` example

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>

* Wrap example LIQ queries inside `query [[ .. ]]` and replace `sql` code block type to `lua`

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>

* Example self-consistency fix

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>

* Fixed some queries

* Add experimental tags to LIQ aggregation/grouping

---------

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
Co-authored-by: Zef Hemel <zef@zef.me>
2026-02-25 10:35:31 +01:00

23 lines
16 KiB
JavaScript

// This file was generated by lezer-generator. You probably shouldn't edit it.
import {LRParser} from "@lezer/lr"
const spec_identifier = {__proto__:null,break:16, goto:20, do:24, end:26, while:30, nil:32, true:34, false:36, or:80, and:82, not:104, function:114, query:122, from:129, where:133, order:137, by:139, desc:143, select:147, limit:151, group:155, having:159, repeat:162, until:164, if:168, then:170, elseif:172, else:174, for:178, in:186, local:196, return:212}
export const parser = LRParser.deserialize({
version: 14,
states: "F^O!ZQPOOOOQO'#Cc'#CcO!UQPO'#CaO!bQPOOOOQO'#FP'#FPO!vQQO'#CwO$]QPO'#FOOOQO'#FO'#FOO$gQPO'#FOOOQO'#Ed'#EdO%vQPO'#EcOOQO'#Ez'#EzOOQO'#Ek'#EkO%{QPO'#C_OOQO'#C_'#C_QOQPOOO!UQPO'#CeO&`QPO'#CgO!vQQO'#CjO&gQPO'#EOO!vQQO'#ERO!UQPO'#EWO!UQPO'#E_O&nQPO'#EeO&vQQO'#EiO'^QPO,58{OOQO'#Cq'#CqO!UQPO,59^O!vQQO,59`O(gQQO'#C|O(nQQO'#FUOOQO'#FQ'#FQOOQO,59f,59fO!UQPO,59fO(uQPO'#E|O,eQPO,59cOOQO'#Dc'#DcOOQO'#Dd'#DdOOQO'#De'#DeO!vQQO'#DaOOQO'#E|'#E|O,lQPO'#DfO,qQSO'#DjO,vQPO'#EtO-OQPO,5<UO!vQQO,5:}OOQO-E8i-E8iOOQO,58y,58yOOQO,59P,59PO-WQPO,59RO-]QPO,59UO-dQPO,5:jO-iQPO,5:mO-pQPO'#FiOOQO'#E['#E[O-{QPO'#EZO.QQPO,5:rO.VQPO'#E`O,lQPO,5:yO.bQQO'#EgO/xQPO'#FkOOQO'#Ef'#EfO!UQPO,5:{O1]QPO,5;PO2mQPO'#FVOOQO'#E^'#E^OOQO,5;T,5;TO4SQPO,5;TOOQO1G.g1G.gOOQO1G.x1G.xO4hQPO1G.zO4oQWO'#E|O7{QWO'#FPO!vQQO'#DOO9^QSO'#DQOOQO'#FR'#FROOQO,59h,59hO9hQSO,59hOOQO,5;p,5;pO9pQPO,5;pO9uQPO1G/QOOQO1G.}1G.}OOQO'#DX'#DXOOQO'#DY'#DYOOQO'#DZ'#DZOOQO'#D['#D[OOQO'#D^'#D^OOQO'#D_'#D_OOQO'#D`'#D`O!vQQO,59oO!vQQO,59oO!vQQO,59oO!vQQO,59oO!vQQO,59oO!vQQO,59oO!vQQO,59oO!vQQO,59oO!vQQO,59oO;XQPO,59{O<qQQO'#DhOOQO,5:Q,5:QO=hQQO,5:UO=oQPO,5;`OOQO-E8r-E8rOOQO1G0i1G0iOOQO1G.m1G.mO&`QPO1G.pO!vQQO1G0UO=yQPO1G0XO!vQQO,5:tO!UQPO'#ErO>WQPO,5<TO!vQQO,5:uO&`QPO1G0^O!UQPO'#EsO>`QPO,5:zO!UQPO,5:zOOQO1G0e1G0eO!UQPO'#EhOOQO,5;R,5;RO!UQPO'#EuO>kQPO,5<VO,lQPO1G0gO!vQQO1G0kO!vQQO'#EmO@OQPO,5;qOOQO1G0o1G0oOOQO7+$f7+$fOAcQQO,59kOBdQPO,59jOBkQQO1G/SOBrQSO1G/SOOQO1G/S1G/SODhQSO,59{OOQO1G1[1G1[OOQO7+$l7+$lOG[QPO1G/ZOGcQPO1G/ZOJSQPO1G/ZOJZQPO1G/ZOLtQPO1G/ZOMRQPO1G/ZO! SQPO1G/ZO!$iQPO1G/ZO!$pQPO1G/ZO!$wQPO'#FOO!%RQPO'#FeOOQO'#Di'#DiO!%ZQPO,5:SOOQO'#Dl'#DlOOQO'#Eo'#EoO!%`QQO1G/pOAcQQO'#DmOAcQQO'#DoO!%gQPO'#DqOAcQQO'#DvO!%lQQO'#DxO!&mQPO'#DzOAcQQO'#D|OOQO1G/p1G/pO!&rQPO7+$[O!&wQPO7+%pO!(WQPO7+%sO!(cQPO1G0`OOQO,5;^,5;^OOQO-E8p-E8pOOQO1G0a1G0aO!(jQPO7+%xOOQO,5;_,5;_OOQO-E8q-E8qO!UQPO1G0fOOQO1G0f1G0fO!(oQQO,5;SOOQO,5;a,5;aOOQO-E8s-E8sOOQO7+&R7+&ROOQO7+&V7+&VO!(tQPO,5;XOOQO-E8k-E8kO!*ZQSO1G/VO!*eQPO1G/UO!,ZQSO1G/ZO!,bQSO1G/ZO!.YQSO1G/ZO!.aQSO1G/ZO!0RQSO1G/ZO!0`QSO1G/ZO!2ZQSO1G/ZO!4UQSO1G/ZO!4]QSO1G/ZOOQO,5;W,5;WOOQO7+$n7+$nO!4dQQO7+$nOOQO-E8j-E8jO!4kQQO'#EnO!4vQPO,5<PO&`QPO1G/nOOQO-E8m-E8mOOQO7+%[7+%[O!5OQWO,5:XO!5oQSO,5:XO!6]QSO,5:ZO!%lQQO,5:]O!6yQSO,5:bO!7gQ`O'#E|O!:aQ`O,5:dO!%lQQO,5:fO!;QQSO,5:hOOQO<<Gv<<GvO!;nQPO<<I_O!vQQO'#EqOOQO<<I_<<I_O&`QPO<<I_O!vQQO7+%zOOQO<<Id<<IdOOQO7+&Q7+&QOOQO1G0n1G0nOAcQQO7+$pOOQO<<HY<<HYP'cQQO'#ElO!;yQPO,5;YOOQO,5;Y,5;YOOQO-E8l-E8lO!<TQPO7+%YOAcQQO1G/sO!<YQ`O'#DtO!<|QQO'#FgOOQO1G/w1G/wOAcQQO1G0OO!=kQ`O,59{O!=uQ`O'#FVOOQO1G0Q1G0QOOQO-E8o-E8oOOQOAN>yAN>yO&`QPOAN>yO!>fQPO,5;]O!>mQPOAN>yO!>rQPO<<IfO!>|QSO<<H[OOQO<<Ht<<HtO!?WQSO7+%_OOQO,5:`,5:`O!%lQQO'#EpO!?tQQO,5<RO!BSQ`O1G/ZO!BZQ`O1G/ZO!DRQ`O1G/ZO!DYQ`O1G/ZO!EzQ`O1G/ZO!FXQ`O1G/ZO!FfQ`O1G/ZO!HaQ`O1G/ZO!HhQ`O1G/ZO!HoQSO7+%jO!I]QQO,5;qO!IzQPOG24eO=yQPO1G0wOOQOG24eG24eO!vQQOAN?QOOQO,5;[,5;[OOQO-E8n-E8nO!JPQ`O,5;XOOQOLD*PLD*POOQO7+&c7+&cO!JpQPOG24lOAcQQO'#DaO!%lQQO'#DaOAcQQO,59oO!%lQQO,59oOAcQQO,59oO!%lQQO,59oOAcQQO,59oO!%lQQO,59oOAcQQO,59oO!%lQQO,59oOAcQQO,59oO!%lQQO,59oOAcQQO,59oO!%lQQO,59oOAcQQO,59oO!%lQQO,59oOAcQQO,59oO!%lQQO,59oOAcQQO,59oO!%lQQO,59oO!%lQQO'#Em",
stateData: "!Jz~O#lOS#mOSPOS~OSZOUQOWZOY`O[aO_bOlTO!ZfO!scO!vdO!{eO#UgO#^hO#oPO~O#jRP~P]OgkOilOlnOoqOqmO#qjO~O`xOaxObxOcxOdxOlTOqmO!UwO!ZyO!_zO#oPO#qjO#|uO$QtO$WvO~Og#rXi#rXl#rXo#rXq#rX#q#rX~Ov{O#v$^X~P#wOS#nXU#nXW#nXY#nX[#nX_#nXl#nX!Z#nX!s#nX!v#nX!{#nX#U#nX#^#nX#j#nX#o#nX]#nX!t#nX!x#nX!y#nX~P#wO#v}O~O#jRX]RX!tRX!xRX!yRX~P]O]RP~P]O!tRP~P]O!Z!`O#oPO~OS!dO#j#]X]#]X!t#]X!x#]X!y#]X~P!vOU!fO~O`xOaxObxOcxOdxOi!kOlTOqmO!U&sO!ZyO!_zO#oPO#qjO#|uO$QtO$WvO~Ou!nO~P'cOm!pO~P!vOm#pXx#pXy#pXz#pX!P#pX#z#pX#{#pX#|#pX#}#pX$O#pX$P#pX$Q#pX$R#pX$S#pX$T#pX$U#pX$V#pX[#pX!w#pXS#pXv#pX#j#pXj#pXU#pXW#pXY#pX_#pX!Z#pX!s#pX!v#pX!{#pX#U#pX#^#pX#o#pX]#pX!t#pX!x#pX!y#pX~P!bOx#SOy#TOz!{O!P#PO#z!tO#{!uO#|!vO#}!wO$O!wO$P!xO$Q!xO$R!yO$S!yO$T!yO$U!yO$V!zO~Om!sO~P+aOl#VO~O$Y#XO~OlTO#oPO~Ov{O#v$^a~O]#]O~O[#^O~P+aO!t#_O~O!w#`O~P+aOv#bO#v#aO#P$]X~O#P#dO~O[#eO~Og#fOo#hOl#SX~O$`#jOS#[PU#[PW#[PY#[P[#[P_#[Pl#[Pv#[P!Z#[P!s#[P!v#[P!{#[P#U#[P#^#[P#j#[P#o#[P#v#[P]#[P!t#[P!x#[P!y#[P~Ov#lOS$_XU$_XW$_XY$_X[$_X_$_Xl$_X!Z$_X!s$_X!v$_X!{$_X#U$_X#^$_X#j$_X#o$_X#v$_X]$_X!t$_X!x$_X!y$_X~O#v#oOS#XaU#XaW#XaY#Xa[#Xa_#Xal#Xa!Z#Xa!s#Xa!v#Xa!{#Xa#U#Xa#^#Xa#j#Xa#o#Xa]#Xa!t#Xa!x#Xa!y#Xa~Ov#pOS#yX#j#yXm#yXU#yXW#yXY#yX[#yX_#yXl#yX!Z#yX!s#yX!v#yX!{#yX#U#yX#^#yX#o#yX]#yX!t#yX!x#yX!y#yX~P+aOS#rO#j#]a]#]a!t#]a!x#]a!y#]a~Oj#sO~P+aOu#pXx#pXy#pXz#pX!P#pX#w#pX#z#pX#{#pX#|#pX#}#pX$O#pX$P#pX$Q#pX$R#pX$S#pX$T#pX$U#pX$V#pX!b#pX!d#pX!f#pX!k#pX!m#pX!o#pX!q#pX$[#pX~P!bOg#sXi#sXl#sXo#sXq#sXx#sXy#sXz#sX!P#sX#q#sX#z#sX#{#sX#|#sX#}#sX$O#sX$P#sX$Q#sX$R#sX$S#sX$T#sX$U#sX$V#sX~O#v#tOu#sX#w#sX~P6eOx'TOy'VOz&uO!P&}O#z!tO#{!uO#|!vO#}!wO$O!wO$P!xO$Q!xO$R!yO$S!yO$T!yO$U!yO$V!zO~OutX#wtX~P8YOu#xO#w#vO~Om#zO~OlnOqmO#qjO~O$V!zOx!Tay!Taz!Ta!P!Ta#z!Ta#{!Ta#|!Ta#}!Ta$O!Ta$P!Ta$Q!Ta$R!Ta$S!Ta$T!Ta$U!Tav!Ta~Om!Ta[!Ta!w!TaS!Ta#j!Taj!TaU!TaW!TaY!Ta_!Tal!Ta!Z!Ta!s!Ta!v!Ta!{!Ta#U!Ta#^!Ta#o!Ta]!Ta!t!Ta!x!Ta!y!Ta~P:QOc$WOlTO#oPOm!]P~O!b$^O!d$_O!f$`O!k$aO!m$bO!o$cO!q$dO~O$[$eO~P=POv#ha#v#ha~P#wO]RP!xRP!yRP~P]Ov#bO#P$]a~Og#fOo$pOl#Sa~Ov#lOS$_aU$_aW$_aY$_a[$_a_$_al$_a!Z$_a!s$_a!v$_a!{$_a#U$_a#^$_a#j$_a#o$_a#v$_a]$_a!t$_a!x$_a!y$_a~Ov#pOS#ya#j#yam#yaU#yaW#yaY#ya[#ya_#yal#ya!Z#ya!s#ya!v#ya!{#ya#U#ya#^#ya#o#ya]#ya!t#ya!x#ya!y#ya~O`xOaxObxOcxOdxOlTOqmO!U&sO!ZyO!_zO#oPO#qjO#|uO$QtO$WvO~Oj$zO~P+aOu%VO~P'cOu%VO#w%WO~O$V!zOx!Tay!Taz!Ta!P!Ta#z!Ta#{!Ta#|!Ta#}!Ta$O!Ta$P!Ta$Q!Ta$R!Ta$S!Ta$T!Ta$U!Ta!b!Ta!d!Ta!f!Ta!k!Ta!m!Ta!o!Ta!q!Ta$[!Ta~Ou!Ta#w!Ta~PBzO!P#PO#{!uO#|!vO#}!wO$O!wO$P!xO$Q!xO$R!yO$S!yO$T!yO$U!yO$V!zOmwixwiywizwi[wi!wwiSwivwi#jwijwiUwiWwiYwi_wilwi!Zwi!swi!vwi!{wi#Uwi#^wi#owi]wi!twi!xwi!ywi~O#z!tO~PDrO#zwi~PDrO!P#PO#}!wO$O!wO$P!xO$Q!xO$R!yO$S!yO$T!yO$U!yO$V!zOmwixwiywizwi#zwi#|wi[wi!wwiSwivwi#jwijwiUwiWwiYwi_wilwi!Zwi!swi!vwi!{wi#Uwi#^wi#owi]wi!twi!xwi!ywi~O#{wi~PGjO#{!uO~PGjO$R!yO$S!yO$T!yO$U!yO$V!zOmwixwiywizwi#zwi#{wi#|wi#}wi$Owi[wi!wwiSwivwi#jwijwiUwiWwiYwi_wilwi!Zwi!swi!vwi!{wi#Uwi#^wi#owi]wi!twi!xwi!ywi~O!P#PO$P!xO$Q!xO~PJbO!Pwi$Pwi$Qwi~PJbO$V!zOmwixwiywi[wi!wwiSwivwi#jwijwiUwiWwiYwi_wilwi!Zwi!swi!vwi!{wi#Uwi#^wi#owi]wi!twi!xwi!ywi~Ozwi!Pwi#zwi#{wi#|wi#}wi$Owi$Pwi$Qwi$Rwi$Swi$Twi$Uwi~PM`Oz!{O!P#PO#z!tO#{!uO#|!vO#}!wO$O!wO$P!xO$Q!xO$R!yO$S!yO$T!yO$U!yO$V!zOmwixwi[wi!wwiSwivwi#jwijwiUwiWwiYwi_wilwi!Zwi!swi!vwi!{wi#Uwi#^wi#owi]wi!twi!xwi!ywi~Oy#TO~P!!POywi~P!!POv%YOm$XX~P#wOv%YOm$XX~Om%[O~O$[%^O~P=PO!g%bO~O`xOaxObxOcxOdxOlTOqmO!U&tO!ZyO!_zO#oPO#qjO#|uO$QtO$WvO~O!g%fO~O]%hO~OS!rqU!rqW!rqY!rq[!rq_!rql!rq!Z!rq!s!rq!v!rq!{!rq#U!rq#^!rq#j!rq#o!rq]!rq!t!rq!x!rq!y!rq~P+aO]%kO!x%jO!y%lO~Ov%mO~P+aO]%nO~O$a%pO~OS#aav#aa#j#aam#aaU#aaW#aaY#aa[#aa_#aal#aa!Z#aa!s#aa!v#aa!{#aa#U#aa#^#aa#o#aa]#aa!t#aa!x#aa!y#aa~P+aOusi#wsi~P8YO#v%qO~O!P&}O#{!uO#|!vO#}!wO$O!wO$P!xO$Q!xO$R!yO$S!yO$T!yO$U!yO$V!zOuwixwiywizwi#wwi!bwi!dwi!fwi!kwi!mwi!owi!qwi$[wi~O#z!tO~P!*jO#zwi~P!*jO!P&}O#}!wO$O!wO$P!xO$Q!xO$R!yO$S!yO$T!yO$U!yO$V!zOuwixwiywizwi#wwi#zwi#|wi!bwi!dwi!fwi!kwi!mwi!owi!qwi$[wi~O#{wi~P!,iO#{!uO~P!,iO$R!yO$S!yO$T!yO$U!yO$V!zOuwixwiywizwi#wwi#zwi#{wi#|wi#}wi$Owi!bwi!dwi!fwi!kwi!mwi!owi!qwi$[wi~O!P&}O$P!xO$Q!xO~P!.hO!Pwi$Pwi$Qwi~P!.hO$V!zOxwiywizwi!Pwi#zwi#{wi#|wi#}wi$Owi$Pwi$Qwi$Rwi$Swi$Twi$Uwi!bwi!dwi!fwi!kwi!mwi!owi!qwi$[wi~Ouwi#wwi~P!0mOz&uO!P&}O#z!tO#{!uO#|!vO#}!wO$O!wO$P!xO$Q!xO$R!yO$S!yO$T!yO$U!yO$V!zOuwixwi#wwi!bwi!dwi!fwi!kwi!mwi!owi!qwi$[wi~Oy'VO~P!2eOywi~P!2eOu%rO~P'cOc%uOlTO#oPO~Ov%YOm$Xa~O#v%xO!b#sX!d#sX!f#sX!k#sX!m#sX!o#sX!q#sX$[#sX~P6eO!b!aa!d!aa!f!aa!k!aa!m!aa!o!aa!q!aa$[!aa~P8YO!b!ca!d!ca!f!ca!k!ca!m!ca!o!ca!q!ca$[!ca~P8YO!b!ja!d!ja!f!ja!k!ja!m!ja!o!ja!q!ja$[!ja~P8YOv#pXx#pXy#pXz#pX!P#pX!b#pX!d#pX!f#pX!k#pX!m#pX!o#pX!q#pX#z#pX#{#pX#|#pX#}#pX$O#pX$P#pX$Q#pX$R#pX$S#pX$T#pX$U#pX$V#pX$[#pX!i#pX~P!bOx'UOy'WOz&vO!P'OO#z!tO#{!uO#|!vO#}!wO$O!wO$P!xO$Q!xO$R!yO$S!yO$T!yO$U!yO$V!zO~Ov%|O!b!la!d!la!f!la!k!la!m!la!o!la!q!la$[!la~P!9]O!b!pa!d!pa!f!pa!k!pa!m!pa!o!pa!q!pa$[!pa~P8YO]&RO!x%jO!y&SO~Om#bav#ba~P#wO]&XO~O!i&ZOv!hX!b!hX!d!hX!f!hX!k!hX!m!hX!o!hX!q!hX$[!hX~P!9]Ov&[O!b$ZX!d$ZX!f$ZX!k$ZX!m$ZX!o$ZX!q$ZX$[$ZX~Ov!Ta!i!Ta~PBzOv'XO!b#yX!d#yX!f#yX!k#yX!m#yX!o#yX!q#yX$[#yX~P!9]O!w&jO~P+aO]&kO~Ov&lO[!|y~P+aOury#wry~P8YO!b!aq!d!aq!f!aq!k!aq!m!aq!o!aq!q!aq$[!aq~P8YOv&[O!b$Za!d$Za!f$Za!k$Za!m$Za!o$Za!q$Za$[$Za~O!P'OO#{!uO#|!vO#}!wO$O!wO$P!xO$Q!xO$R!yO$S!yO$T!yO$U!yO$V!zOvwixwiywizwi!bwi!dwi!fwi!kwi!mwi!owi!qwi$[wi!iwi~O#z!tO~P!@cO#zwi~P!@cO!P'OO#}!wO$O!wO$P!xO$Q!xO$R!yO$S!yO$T!yO$U!yO$V!zOvwixwiywizwi!bwi!dwi!fwi!kwi!mwi!owi!qwi#zwi#|wi$[wi!iwi~O#{wi~P!BbO#{!uO~P!BbO$R!yO$S!yO$T!yO$U!yO$V!zOvwixwiywizwi!bwi!dwi!fwi!kwi!mwi!owi!qwi#zwi#{wi#|wi#}wi$Owi$[wi!iwi~O!P'OO$P!xO$Q!xO~P!DaO!Pwi$Pwi$Qwi~P!DaOvwi!iwi~P!0mOz&vO!P'OO#z!tO#{!uO#|!vO#}!wO$O!wO$P!xO$Q!xO$R!yO$S!yO$T!yO$U!yO$V!zOvwixwi!bwi!dwi!fwi!kwi!mwi!owi!qwi$[wi!iwi~Oy'WO~P!FpOywi~P!FpO!b!lq!d!lq!f!lq!k!lq!m!lq!o!lq!q!lq$[!lq~P8YOv'XO!b#ya!d#ya!f#ya!k#ya!m#ya!o#ya!q#ya$[#ya~O]&pO~Ov#aa!b#aa!d#aa!f#aa!k#aa!m#aa!o#aa!q#aa$[#aa~P!9]O[!|!Z~P+aOP$Q~",
goto: "Dm$`PPP$aP%PP%^P%PP%PPP%PPPPPPP'})iP)iPP+[PP,}P'}P.r.r.rPP(UPPP.x/r0r1oP2r3x5R(UP6b6b6b(UP7y8S(UP8V8ZP8ZP8ZPP8_P8ZP8ZP8ZP8ZP%PPP%PPPPP%PP8e8e8hP8k%P8w%PP%P8z%P9X9[9b9eP9t:T:Z:e:l:r:x;O;U;[;bPPPP;hP;uP?jAcC^CgPPCoCvPPPPPPPPPPPPPDSPDVPDYD]DjQ_OQ!RaQ!TcQ$f#^Q$h#`Q$m#eQ%w%[Q&U%lQ&i&SR&q&jgZO]ac#^#`#e%[%l&S&j$USOT]abcdhlnw{}!k!{!|!}#O#P#Q#R#S#T#V#^#_#`#a#d#e#o#p#t$_$a$b$d%Y%[%b%f%j%l%m%q%x%|&S&[&j&l&s&t&u&v&w&x&y&z&{&|&}'O'P'Q'R'S'T'U'V'W'XQiQQ!Q`Q!VeQ!ZfS!]g#lQ!gkW!jm#v%W%sQ!rqQ#n!`Q$j#bQ$n#fQ$q#hQ$r#jQ%_$^R%o$pYoRr!i!r%d#sxTbdhlmnw}!k!{!|!}#O#P#Q#R#S#T#_#a#d#o#p#t#v$^$_$a$b$d%W%b%f%j%m%q%s%x%|&[&l&s&t&u&v&w&x&y&z&{&|&}'O'P'Q'R'S'T'U'V'W'X$aSOT]abcdhlmnw{}!k!{!|!}#O#P#Q#R#S#T#V#^#_#`#a#d#e#o#p#t#v$^$_$a$b$d%W%Y%[%b%f%j%l%m%q%s%x%|&S&[&j&l&s&t&u&v&w&x&y&z&{&|&}'O'P'Q'R'S'T'U'V'W'X$aVOT]abcdhlmnw{}!k!{!|!}#O#P#Q#R#S#T#V#^#_#`#a#d#e#o#p#t#v$^$_$a$b$d%W%Y%[%b%f%j%l%m%q%s%x%|&S&[&j&l&s&t&u&v&w&x&y&z&{&|&}'O'P'Q'R'S'T'U'V'W'X#xVTbdhlmnw{}!k!{!|!}#O#P#Q#R#S#T#V#_#a#d#o#p#t#v$^$_$a$b$d%W%Y%b%f%j%m%q%s%x%|&[&l&s&t&u&v&w&x&y&z&{&|&}'O'P'Q'R'S'T'U'V'W'XgWO]ac#^#`#e%[%l&S&jX!mm#v%W%sn!|s!S!U!b!h#u#|$T$U$g$i$w&T&V&rh&w!l$y${%S%T%`%a%c%g&W&Y&g_&x%e%y&O&^&e&f&or!}s!S!U!b!h#u#|#}$P$T$U$g$i$w&T&V&rl&y!l$y${$|%O%S%T%`%a%c%g&W&Y&gc&z%e%y&O&^&_&a&e&f&op#Os!S!U!b!h#u#|#}$T$U$g$i$w&T&V&rj&{!l$y${$|%S%T%`%a%c%g&W&Y&ga&|%e%y&O&^&_&e&f&ot#Ps!S!U!b!h#u#|#}$O$P$T$U$g$i$w&T&V&rn&}!l$y${$|$}%O%S%T%`%a%c%g&W&Y&ge'O%e%y&O&^&_&`&a&e&f&ov#Qs!S!U!b!h#u#|#}$O$P$Q$T$U$g$i$w&T&V&rp'P!l$y${$|$}%O%P%S%T%`%a%c%g&W&Y&gg'Q%e%y&O&^&_&`&a&b&e&f&ox#Rs!S!U!b!h#u#|#}$O$P$Q$R$T$U$g$i$w&T&V&rr'R!l$y${$|$}%O%P%Q%S%T%`%a%c%g&W&Y&gi'S%e%y&O&^&_&`&a&b&c&e&f&o|#Rs!S!U!b!h#U#u#|#}$O$P$Q$R$S$T$U$g$i$w&T&V&rv'R!l#y$y${$|$}%O%P%Q%R%S%T%`%a%c%g&W&Y&gm'S%e%y%}&O&^&_&`&a&b&c&d&e&f&o!UwTbdhlnw}!k!{!|!}#O#P#Q#R#S#T#_#a#d#o#p%j%m&l|&sm#t#v$^$_$a$d%W%q%s%x%|&s&u&w&y&{&}'P'R'T'Vo&t$b%b%f&[&t&v&x&z&|'O'Q'S'U'W'XQ#WyQ#i![R$u#nR$Y#VT$[#X$]T$Z#X$]Q%z%bR&m&[R!YeR!XeQ!ehQ#[}Q$l#dR$v#oR![fgYO]ac#^#`#e%[%l&S&jR!agQ!^gR$s#lR#k!]d^Oac#^#`#e%[%l&S&jR!P]d]Oac#^#`#e%[%l&S&jR!O]Q#w!oR%X#wQ#q!bS$x#q&hR&h&OS%Z$V$WR%v%ZQ$]#XR%]$]Q&]%zR&n&]Q%i$hR&Q%iQ#c!VR$k#cQ#g!ZR$o#gQ|UR#Z|Q#m!^R$t#mg[O]ac#^#`#e%[%l&S&jQsTQ!SbQ!UdY!bhn}#d#oQ!hlW!lm#v%W%sQ#UwQ#u!kQ#y&sQ#|!{Q#}!|Q$O!}Q$P#OQ$Q#PQ$R#QQ$S#RQ$T#SQ$U#TQ$g#_Q$i#aQ$w#pQ$y#tQ${&uQ$|&wQ$}&yQ%O&{Q%P&}Q%Q'PQ%R'RQ%S'TQ%T'VQ%`$^Q%a$_Q%c$aQ%e$bQ%g$dS%y%b&[Q%}&tQ&O%fQ&T%jQ&V%mQ&W%qQ&Y%xQ&^&vQ&_&xQ&`&zQ&a&|Q&b'OQ&c'QQ&d'SQ&e'UQ&f'WQ&g%|Q&o'XR&r&llRO]ac{#V#^#`#e%Y%[%l&S&j!UrTbdhlnw}!k!{!|!}#O#P#Q#R#S#T#_#a#d#o#p%j%m&l|!im#t#v$^$_$a$d%W%q%s%x%|&s&u&w&y&{&}'P'R'T'Vo%d$b%b%f&[&t&v&x&z&|'O'Q'S'U'W'XfUO]ac#^#`#e%[%l&S&j#rVTbdhlmnw}!k!{!|!}#O#P#Q#R#S#T#_#a#d#o#p#t#v$^$_$a$b$d%W%b%f%j%m%q%s%x%|&[&l&s&t&u&v&w&x&y&z&{&|&}'O'P'Q'R'S'T'U'V'W'XQ#Y{Q$V#VR%t%YWpRr!i%dR#{!rQ!omV%U#v%W%sZoRr!i!r%dW!ch}#d#oQ!qnR&P%fR$X#VR%{%bR!WegXO]ac#^#`#e%[%l&S&jR!_g",
nodeNames: "⚠ Comment Chunk Block ; Label :: Name break Goto goto Scope do end WhileStatement while nil true false Ellipsis Number LiteralString Property . MemberExpression [ ] Parens ( ) FunctionCall : TableConstructor { FieldDynamic FieldProp FieldExp } , BinaryExpression or and CompareOp BitOp BitOp BitOp BitOp Concat ArithOp ArithOp ArithOp UnaryExpression not ArithOp BitOp LenOp FunctionDef function FuncBody ArgList Query query QueryClause FromClause from WhereClause where OrderByClause order by OrderBy desc SelectClause select LimitClause limit GroupByClause group HavingClause having RepeatStatement repeat until IfStatement if then elseif else ForStatement for ForNumeric ForGeneric NameList in ExpList Function FuncName LocalFunction local Assign VarList Local AttNameList AttName Attrib ReturnStatement return",
maxTerm: 155,
nodeProps: [
["group", -14,4,5,8,9,11,14,30,80,83,88,95,97,99,101,"Statement",-3,34,35,36,"Field"]
],
skippedNodes: [0,1],
repeatNodeCount: 11,
tokenData: "Dj~RuXY#fYZ$Q[]#f]^$_pq#fqr$grs$rst)`uv)evw)jwx)oxy.Wyz.]z{.b{|.g|}.l}!O.s!O!P/g!P!Q/|!Q!R0^!R![1u![!]3m!]!^3z!^!_4R!_!`4e!`!a4m!c!}5P!}#O5b#O#P#w#P#QCo#Q#RC|#R#S5P#T#o5P#o#pDR#p#qDW#q#rD]#r#sDb~#kS#m~XY#f[]#fpq#f#O#P#w~#zQYZ#f]^#f~$VP#l~]^$Y~$_O#l~~$dP#l~YZ$Ym$jP!_!`$mm$rOzmk$uXOY$rZ]$r^r$rrs%bs#O$r#O#P%g#P;'S$r;'S;=`'}<%lO$rk%gO#qkk%j]rs$rwx$r!Q![&c#O#P$r#T#U$r#U#V$r#Y#Z$r#b#c$r#f#g$r#h#i$r#i#j(T#l#m(v#n#o$rk&fZOY$rZ]$r^r$rrs%bs!Q$r!Q!['X![#O$r#O#P%g#P;'S$r;'S;=`'}<%lO$rk'[ZOY$rZ]$r^r$rrs%bs!Q$r!Q![$r![#O$r#O#P%g#P;'S$r;'S;=`'}<%lO$rk(QP;=`<%l$rk(WP#o#p(Zk(^R!Q![(g!c!i(g#T#Z(gk(jS!Q![(g!c!i(g#T#Z(g#q#r$rk(yR!Q![)S!c!i)S#T#Z)Sk)VR!Q![$r!c!i$r#T#Z$r~)eO$W~~)jO$T~~)oO#{~k)rXOY)oZ])o^w)owx%bx#O)o#O#P*_#P;'S)o;'S;=`,u<%lO)ok*b]rs)owx)o!Q![+Z#O#P)o#T#U)o#U#V)o#Y#Z)o#b#c)o#f#g)o#h#i)o#i#j,{#l#m-n#n#o)ok+^ZOY)oZ])o^w)owx%bx!Q)o!Q![,P![#O)o#O#P*_#P;'S)o;'S;=`,u<%lO)ok,SZOY)oZ])o^w)owx%bx!Q)o!Q![)o![#O)o#O#P*_#P;'S)o;'S;=`,u<%lO)ok,xP;=`<%l)ok-OP#o#p-Rk-UR!Q![-_!c!i-_#T#Z-_k-bS!Q![-_!c!i-_#T#Z-_#q#r)ok-qR!Q![-z!c!i-z#T#Z-zk-}R!Q![)o!c!i)o#T#Z)o~.]Ol~~.bOm~~.gO$R~~.lO$P~o.sOvc#w[~.xP$Q~}!O.{~/QTP~OY.{Z].{^;'S.{;'S;=`/a<%lO.{~/dP;=`<%l.{o/lPgi!O!P/oo/tP!Pm!O!P/wQ/|OcQ~0RQ$S~!P!Q0X!_!`$m~0^O$U~~0cUd~!O!P0u!Q![1u!g!h1Z!z!{2W#X#Y1Z#l#m2W~0xP!Q![0{~1QRd~!Q![0{!g!h1Z#X#Y1Z~1^R{|1g}!O1g!Q![1m~1jP!Q![1m~1rPd~!Q![1m~1zSd~!O!P0u!Q![1u!g!h1Z#X#Y1Z~2ZR!Q![2d!c!i2d#T#Z2d~2iUd~!O!P2{!Q![2d!c!i2d!r!s1Z#T#Z2d#d#e1Z~3OR!Q![3X!c!i3X#T#Z3X~3^Td~!Q![3X!c!i3X!r!s1Z#T#Z3X#d#e1Z~3rPo~![!]3u~3zOU~_4ROSR#w[o4YQ$`Qzm!^!_4`!_!`$mm4eO#}m~4jP#v~!_!`$mo4tQ$aQzm!_!`$m!`!a4zm5PO$Om~5US#o~!Q![5P!c!}5P#R#S5P#T#o5Po5gQik!_!`5m!}#OB_k5pQ!_!`5v!}#O=ok5yP!}#O5|k6PTO#P5|#P#Q6`#Q;'S5|;'S;=`8W<%lO5|k6cVO!_6x!_!`:s!`#P6x#P#Q;w#Q;'S6x;'S;=`=i<%lO6xk6{VO!_7b!_!`8^!`#P7b#P#Q8v#Q;'S7b;'S;=`=c<%lO7bk7eTO#P5|#P#Q7t#Q;'S5|;'S;=`8W<%lO5|k7wP!_!`7zk7}P!_!`8Qk8TP#P#Q%bk8ZP;=`<%l5|k8aTO#P8^#P#Q7t#Q;'S8^;'S;=`8p<%lO8^k8sP;=`<%l8^k8yUO!_5|!_!`9]!`#P5|#Q;'S5|;'S;=`8W<%lO5|k9`VO!_5|!_!`9u!`#P5|#P#Q6`#Q;'S5|;'S;=`8W<%lO5|k9xTO#P5|#P#Q:X#Q;'S5|;'S;=`8W<%lO5|k:^V#qkO!_6x!_!`:s!`#P6x#P#Q;w#Q;'S6x;'S;=`=i<%lO6xk:vVO!_8^!_!`;]!`#P8^#P#Q7t#Q;'S8^;'S;=`8p<%lO8^k;`TO#P8^#P#Q;o#Q;'S8^;'S;=`8p<%lO8^k;tP#qk!_!`7zk;zVO!_7b!_!`:s!`#P7b#P#Q<a#Q;'S7b;'S;=`=c<%lO7bk<dVO!_5|!_!`9]!`#P5|#P#Q<y#Q;'S5|;'S;=`8W<%lO5|k<|VO!_8^!_!`:s!`#P8^#P#Q<y#Q;'S8^;'S;=`8p<%lO8^k=fP;=`<%l7bk=lP;=`<%l6xk=rTO#P=o#P#Q>R#Q;'S=o;'S;=`>}<%lO=ok>UVO!_>k!_!`?T!`#P>k#P#Q@X#Q;'S>k;'S;=`Ao<%lO>kk>nTO#P=o#P#Q7z#Q;'S=o;'S;=`>}<%lO=ok?QP;=`<%l=ok?WTO#P?g#P#Q@P#Q;'S?g;'S;=`?y<%lO?gk?jTO#P?g#P#Q7z#Q;'S?g;'S;=`?y<%lO?gk?|P;=`<%l?gk@UP#qk!_!`8Qk@[VO!_=o!_!`@q!`#P=o#P#QAu#Q;'S=o;'S;=`>}<%lO=ok@tTO#P=o#P#QAT#Q;'S=o;'S;=`>}<%lO=okAYV#qkO!_>k!_!`?T!`#P>k#P#Q@X#Q;'S>k;'S;=`Ao<%lO>kkArP;=`<%l>kkAxVO!_?g!_!`?T!`#P?g#P#QAu#Q;'S?g;'S;=`?y<%lO?goBdT$YSO#PBs#P#QCV#Q;'SBs;'S;=`Ci<%lOBskBvTO#PBs#P#QCV#Q;'SBs;'S;=`Ci<%lOBskCYTO#PBs#P#Q%b#Q;'SBs;'S;=`Ci<%lOBskClP;=`<%lBsoCtPjP#P#QCwnC|O$[n~DRO$V~~DWOq~~D]O#z~~DbOu~~DgP#|~!_!`$m",
tokenizers: [0, 1, 2, 3, 4],
topRules: {"Chunk":[0,2]},
dynamicPrecedences: {"132":1},
specialized: [{term: 123, get: (value) => spec_identifier[value] || -1}],
tokenPrec: 4041
})