Files
plainleaf/client/space_lua/parse-lua.js
T
Matouš Jan Fialka 01dd7c1db4 [Space Lua] LIQ: Add using ... support to order by
* support for custom comparators in LIQ `order by` clauses via the
  `using` keyword.

* `using` is mutually exclusive with `asc`/`desc` and accepts either
  a *named function* or an *inline anonymous function*. The comparator
  receives two values and returns true if the first should come before the
  second.

* `nulls first`/ `nulls last` works independently of `using`.

* `using` is now a reserved keyword (`kw`; this cannot be avoided but
  the chance to collide with user scripts is negligable),

* documentation updated + polished a little

Signed-off-by: Matouš Jan Fialka <mjf@mjf.cz>
2026-03-03 14:47:28 +01:00

23 lines
17 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, asc:145, using:146, nulls:149, first:151, last:153, select:157, limit:161, group:165, having:169, filter:173, repeat:176, until:178, if:182, then:184, elseif:186, else:188, for:192, in:200, local:210, return:226}
export const parser = LRParser.deserialize({
version: 14,
states: "HzO!ZQPOOOOQO'#Cc'#CcO!UQPO'#CaO!bQPOOOOQO'#FW'#FWO!vQQO'#CwO$]QPO'#FVOOQO'#FV'#FVO$gQPO'#FVOOQO'#Ek'#EkO%vQPO'#EjOOQO'#FR'#FROOQO'#Er'#ErO%{QPO'#C_OOQO'#C_'#C_QOQPOOO!UQPO'#CeO&`QPO'#CgO!vQQO'#CjO&gQPO'#EVO!vQQO'#EYO!UQPO'#E_O!UQPO'#EfO&nQPO'#ElO&vQQO'#EpO'^QPO,58{OOQO'#Cq'#CqO!UQPO,59^O!vQQO,59`O(gQQO'#C|O(nQQO'#F]OOQO'#FX'#FXOOQO,59f,59fO!UQPO,59fO(uQPO'#FTO,eQPO,59cO,lQPO'#FVOOQO'#Dc'#DcOOQO'#Dd'#DdOOQO'#De'#DeO!vQQO'#DaOOQO'#FT'#FTO/ZQPO'#DfO/`QSO'#DjO/eQPO'#E{O/mQPO,5<]O!vQQO,5;UOOQO-E8p-E8pOOQO,58y,58yOOQO,59P,59PO/uQPO,59RO/zQPO,59UO0RQPO,5:qO0WQPO,5:tO0_QPO'#FpOOQO'#Ec'#EcO0jQPO'#EbO0oQPO,5:yO0tQPO'#EgO/ZQPO,5;QO1PQQO'#EnO2gQPO'#FrOOQO'#Em'#EmO!UQPO,5;SO3zQPO,5;WO5[QPO'#F^OOQO'#Ee'#EeOOQO,5;[,5;[O6qQPO,5;[OOQO1G.g1G.gOOQO1G.x1G.xO7VQPO1G.zO7^QWO'#FTO:jQWO'#FWO!vQQO'#DOO;{QSO'#DQOOQO'#FY'#FYOOQO,59h,59hO<VQSO,59hO<_QWO'#FVOOQO,5;w,5;wO>WQPO,5;wO>]QPO1G/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>hQPO,5:oO?tQPO,59{OA^QQO'#DhOOQO,5:Q,5:QOBTQQO,5:UOB[QPO,5;gOOQO-E8y-E8yOOQO1G0p1G0pOOQO1G.m1G.mO&`QPO1G.pO!vQQO1G0]OBfQPO1G0`O!vQQO,5:{O!UQPO'#EyOBsQPO,5<[O!vQQO,5:|O&`QPO1G0eO!UQPO'#EzOB{QPO,5;RO!UQPO,5;ROOQO1G0l1G0lO!UQPO'#EoOOQO,5;Y,5;YO!UQPO'#E|OCWQPO,5<^O/ZQPO1G0nO!vQQO1G0rO!vQQO'#EtODkQPO,5;xOOQO1G0v1G0vOOQO7+$f7+$fOFOQQO,59kOGPQPO,59jOGWQQO1G/SOG_QSO1G/SOOQO1G/S1G/SOITQSO,59{OOQO1G1c1G1cOOQO7+$l7+$lOKwQPO1G/ZOLOQPO1G/ZONoQPO1G/ZONvQPO1G/ZO!#aQPO1G/ZO!#nQPO1G/ZO!%oQPO1G/ZO!)UQPO1G/ZO!)]QPO1G/ZO!)dQPO1G0ZO!)iQPO'#FVO!)sQPO'#FlOOQO'#Di'#DiO!){QPO,5:SOOQO'#Dl'#DlOOQO'#Ev'#EvO!*QQQO1G/pOFOQQO'#DmOFOQQO'#DoO!*XQPO'#DqOFOQQO'#D{O!*^QQO'#D}O!+_QPO'#EPOFOQQO'#EROOQO1G/p1G/pO!+dQPO7+$[O!+iQPO7+%wO!,xQPO7+%zO!-TQPO1G0gOOQO,5;e,5;eOOQO-E8w-E8wOOQO1G0h1G0hO!-[QPO7+&POOQO,5;f,5;fOOQO-E8x-E8xO!UQPO1G0mOOQO1G0m1G0mO!-aQQO,5;ZOOQO,5;h,5;hOOQO-E8z-E8zOOQO7+&Y7+&YOOQO7+&^7+&^O!-fQPO,5;`OOQO-E8r-E8rO!.{QSO1G/VO!/VQPO1G/UO!0{QSO1G/ZO!1SQSO1G/ZO!2zQSO1G/ZO!3RQSO1G/ZO!4sQSO1G/ZO!5QQSO1G/ZO!6{QSO1G/ZO!8vQSO1G/ZO!8}QSO1G/ZOOQO,5;_,5;_OOQO7+$n7+$nO!9UQQO7+$nOOQO-E8q-E8qO!vQQO7+%uO!9]QQO'#EuO!9hQPO,5<WO&`QPO1G/nOOQO-E8t-E8tOOQO7+%[7+%[O!9pQWO,5:XO!:aQSO,5:XO!:}QSO,5:ZO!*^QQO,5:]O!;kQSO,5:gO!<XQ`O'#FTO!>WQ`O'#FVO!A^Q`O,5:iO!*^QQO,5:kO!A}QSO,5:mOOQO<<Gv<<GvO!BkQPO<<IfO!vQQO'#ExOOQO<<If<<IfO&`QPO<<IfO!vQQO7+&ROOQO<<Ik<<IkOOQO7+&X7+&XOOQO1G0u1G0uOFOQQO7+$pOOQO<<HY<<HYP'cQQO'#EsO!BvQPO<<IaO!B}QPO,5;aOOQO,5;a,5;aOOQO-E8s-E8sO!CXQPO7+%YOFOQQO1G/sO!C^Q`O'#DtO!DZQQO'#FnOOQO1G/w1G/wOFOQQO1G0TO!DxQ`O,59{O!E]Q`O'#F^OOQO1G0V1G0VOOQO-E8v-E8vOOQOAN?QAN?QO&`QPOAN?QO!E|QPO,5;dO!FTQPOAN?QO!FYQPO<<ImO!FdQSO<<H[OOQOAN>{AN>{OOQO<<Ht<<HtO!FnQSO7+%_O!G[QPO,5:`O!GdQQO,5:`O!HUQPO,5:`O!*^QQO'#EwO!H^QQO,5<YO!JuQ`O1G/ZO!J|Q`O1G/ZO!L}Q`O1G/ZO!MUQ`O1G/ZO# PQ`O1G/ZO# ^Q`O1G/ZO# kQ`O1G/ZO##xQ`O1G/ZO#$PQ`O1G/ZO#$WQSO7+%oO#$tQQO,5;xO#%cQPOG24lOBfQPO1G1OOOQOG24lG24lO!vQQOAN?XOOQO1G/z1G/zO#%hQPO1G/zO#%pQQO1G/zO/ZQPO1G/zOOQO,5;c,5;cOOQO-E8u-E8uO#&bQ`O,5;`OOQOLD*WLD*WOOQO7+&j7+&jO#'RQPOG24sOOQO7+%f7+%fO#'YQPO7+%fO#'bQQO7+%fOOQO<<IQ<<IQO#(SQPO<<IQOOQOAN>lAN>lOFOQQO'#DaO!*^QQO'#DaOFOQQO,59oO!*^QQO,59oOFOQQO,59oO!*^QQO,59oOFOQQO,59oO!*^QQO,59oOFOQQO,59oO!*^QQO,59oOFOQQO,59oO!*^QQO,59oOFOQQO,59oO!*^QQO,59oOFOQQO,59oO!*^QQO,59oOFOQQO,59oO!*^QQO,59oOFOQQO,59oO!*^QQO,59oO!*^QQO'#Et",
stateData: "#(_~O#sOS#tOSPOS~OSZOUQOWZOY`O[aO_bOlTO!ZfO!zcO!}dO#SeO#]gO#ehO#vPO~O#qRP~P]OgkOilOlnOoqOqmO#xjO~O`yOayObyOcyOdyOlTOqmO!UxO!ZzO!_{O#vPO#xjO$TvO$XuO$_wO~Og#yXi#yXl#yXo#yXq#yX#x#yX~Ov|O#}$eX~P#wOS#uXU#uXW#uXY#uX[#uX_#uXl#uX!Z#uX!z#uX!}#uX#S#uX#]#uX#e#uX#q#uX#v#uX]#uX!{#uX#P#uX#Q#uX~P#wO#}!OO~O#qRX]RX!{RX#PRX#QRX~P]O]RP~P]O!{RP~P]O!Z!aO#vPO~OS!eO#q#dX]#dX!{#dX#P#dX#Q#dX~P!vOU!gO~O`yOayObyOcyOdyOi!lOlTOqmO!U'XO!ZzO!_{O#vPO#xjO$TvO$XuO$_wO~Ou!oO~P'cOm!rO~P!vOm#wXx#wXy#wXz#wX!P#wX$R#wX$S#wX$T#wX$U#wX$V#wX$W#wX$X#wX$Y#wX$Z#wX$[#wX$]#wX$^#wX[#wX#O#wXS#wXv#wX#q#wXj#wXU#wXW#wXY#wX_#wX!Z#wX!z#wX!}#wX#S#wX#]#wX#e#wX#v#wX]#wX!{#wX#P#wX#Q#wX~P!bOx#UOy#VOz!}O!P#RO$R!vO$S!wO$T!xO$U!yO$V!yO$W!zO$X!zO$Y!{O$Z!{O$[!{O$]!{O$^!|O~Om!uO~P+aO!x#WOm#yXx#yXy#yXz#yX!P#yX$R#yX$S#yX$T#yX$U#yX$V#yX$W#yX$X#yX$Y#yX$Z#yX$[#yX$]#yX$^#yX[#yX#O#yXS#yXv#yX#q#yXj#yXU#yXW#yXY#yX_#yX!Z#yX!z#yX!}#yX#S#yX#]#yX#e#yX#v#yX]#yX!{#yX#P#yX#Q#yX~P#wOl#YO~O$a#[O~OlTO#vPO~Ov|O#}$ea~O]#`O~O[#aO~P+aO!{#bO~O#O#cO~P+aOv#eO#}#dO#W$dX~O#W#gO~O[#hO~Og#iOo#kOl#ZX~O$g#mOS#cPU#cPW#cPY#cP[#cP_#cPl#cPv#cP!Z#cP!z#cP!}#cP#S#cP#]#cP#e#cP#q#cP#v#cP#}#cP]#cP!{#cP#P#cP#Q#cP~Ov#oOS$fXU$fXW$fXY$fX[$fX_$fXl$fX!Z$fX!z$fX!}$fX#S$fX#]$fX#e$fX#q$fX#v$fX#}$fX]$fX!{$fX#P$fX#Q$fX~O#}#rOS#`aU#`aW#`aY#`a[#`a_#`al#`a!Z#`a!z#`a!}#`a#S#`a#]#`a#e#`a#q#`a#v#`a]#`a!{#`a#P#`a#Q#`a~Ov#sOS$QX#q$QXm$QXU$QXW$QXY$QX[$QX_$QXl$QX!Z$QX!z$QX!}$QX#S$QX#]$QX#e$QX#v$QX]$QX!{$QX#P$QX#Q$QX~P+aOS#uO#q#da]#da!{#da#P#da#Q#da~Oj#vO~P+aOu#wXx#wXy#wXz#wX!P#wX$O#wX$R#wX$S#wX$T#wX$U#wX$V#wX$W#wX$X#wX$Y#wX$Z#wX$[#wX$]#wX$^#wX!b#wX!d#wX!f#wX!p#wX!r#wX!t#wX!v#wX$c#wX~P!bOg#zXi#zXl#zXo#zXq#zXx#zXy#zXz#zX!P#zX#x#zX$R#zX$S#zX$T#zX$U#zX$V#zX$W#zX$X#zX$Y#zX$Z#zX$[#zX$]#zX$^#zX~O#}#wOu#zX$O#zX~P9SOx'iOy'kOz'ZO!P'cO$R!vO$S!wO$T!xO$U!yO$V!yO$W!zO$X!zO$Y!{O$Z!{O$[!{O$]!{O$^!|O~OutX$OtX~P:wOu#{O$O#yO~O!x#WOu#yXx#yXy#yXz#yX!P#yX$O#yX$R#yX$S#yX$T#yX$U#yX$V#yX$W#yX$X#yX$Y#yX$Z#yX$[#yX$]#yX$^#yX!b#yX!d#yX!f#yX!p#yX!r#yX!t#yX!v#yX$c#yX~P#wOm#}O~OlnOqmO#xjO~Ol$YO~O$^!|Ox!Tay!Taz!Ta!P!Ta$R!Ta$S!Ta$T!Ta$U!Ta$V!Ta$W!Ta$X!Ta$Y!Ta$Z!Ta$[!Ta$]!Tav!Ta~Om!Ta[!Ta#O!TaS!Ta#q!Taj!TaU!TaW!TaY!Ta_!Tal!Ta!Z!Ta!z!Ta!}!Ta#S!Ta#]!Ta#e!Ta#v!Ta]!Ta!{!Ta#P!Ta#Q!Ta~P>mOc$[OlTO#vPOm!]P~O!b$bO!d$cO!f$dO!p$eO!r$fO!t$gO!v$hO~O$c$iO~PAlOv#oa#}#oa~P#wO]RP#PRP#QRP~P]Ov#eO#W$da~Og#iOo$tOl#Za~Ov#oOS$faU$faW$faY$fa[$fa_$fal$fa!Z$fa!z$fa!}$fa#S$fa#]$fa#e$fa#q$fa#v$fa#}$fa]$fa!{$fa#P$fa#Q$fa~Ov#sOS$Qa#q$Qam$QaU$QaW$QaY$Qa[$Qa_$Qal$Qa!Z$Qa!z$Qa!}$Qa#S$Qa#]$Qa#e$Qa#v$Qa]$Qa!{$Qa#P$Qa#Q$Qa~O`yOayObyOcyOdyOlTOqmO!U'XO!ZzO!_{O#vPO#xjO$TvO$XuO$_wO~Oj%OO~P+aOu%ZO~P'cOu%ZO$O%[O~O$^!|Ox!Tay!Taz!Ta!P!Ta$R!Ta$S!Ta$T!Ta$U!Ta$V!Ta$W!Ta$X!Ta$Y!Ta$Z!Ta$[!Ta$]!Ta!b!Ta!d!Ta!f!Ta!p!Ta!r!Ta!t!Ta!v!Ta$c!Ta~Ou!Ta$O!Ta~PGgO!P#RO$S!wO$T!xO$U!yO$V!yO$W!zO$X!zO$Y!{O$Z!{O$[!{O$]!{O$^!|Omwixwiywizwi[wi#OwiSwivwi#qwijwiUwiWwiYwi_wilwi!Zwi!zwi!}wi#Swi#]wi#ewi#vwi]wi!{wi#Pwi#Qwi~O$R!vO~PI_O$Rwi~PI_O!P#RO$U!yO$V!yO$W!zO$X!zO$Y!{O$Z!{O$[!{O$]!{O$^!|Omwixwiywizwi$Rwi$Twi[wi#OwiSwivwi#qwijwiUwiWwiYwi_wilwi!Zwi!zwi!}wi#Swi#]wi#ewi#vwi]wi!{wi#Pwi#Qwi~O$Swi~PLVO$S!wO~PLVO$Y!{O$Z!{O$[!{O$]!{O$^!|Omwixwiywizwi$Rwi$Swi$Twi$Uwi$Vwi[wi#OwiSwivwi#qwijwiUwiWwiYwi_wilwi!Zwi!zwi!}wi#Swi#]wi#ewi#vwi]wi!{wi#Pwi#Qwi~O!P#RO$W!zO$X!zO~PN}O!Pwi$Wwi$Xwi~PN}O$^!|Omwixwiywi[wi#OwiSwivwi#qwijwiUwiWwiYwi_wilwi!Zwi!zwi!}wi#Swi#]wi#ewi#vwi]wi!{wi#Pwi#Qwi~Ozwi!Pwi$Rwi$Swi$Twi$Uwi$Vwi$Wwi$Xwi$Ywi$Zwi$[wi$]wi~P!#{Oz!}O!P#RO$R!vO$S!wO$T!xO$U!yO$V!yO$W!zO$X!zO$Y!{O$Z!{O$[!{O$]!{O$^!|Omwixwi[wi#OwiSwivwi#qwijwiUwiWwiYwi_wilwi!Zwi!zwi!}wi#Swi#]wi#ewi#vwi]wi!{wi#Pwi#Qwi~Oy#VO~P!&lOywi~P!&lO!d%^O~Ov%_Om$`X~P#wOv%_Om$`X~Om%aO~O$c%cO~PAlO!g%gO~O`yOayObyOcyOdyOlTOqmO!U'YO!ZzO!_{O#vPO#xjO$TvO$XuO$_wO~O!g%lO~O]%nO~OS!yqU!yqW!yqY!yq[!yq_!yql!yq!Z!yq!z!yq!}!yq#S!yq#]!yq#e!yq#q!yq#v!yq]!yq!{!yq#P!yq#Q!yq~P+aO]%qO#P%pO#Q%rO~Ov%sO~P+aO]%tO~O$h%vO~OS#hav#ha#q#ham#haU#haW#haY#ha[#ha_#hal#ha!Z#ha!z#ha!}#ha#S#ha#]#ha#e#ha#v#ha]#ha!{#ha#P#ha#Q#ha~P+aOusi$Osi~P:wO#}%wO~O!P'cO$S!wO$T!xO$U!yO$V!yO$W!zO$X!zO$Y!{O$Z!{O$[!{O$]!{O$^!|Ouwixwiywizwi$Owi!bwi!dwi!fwi!pwi!rwi!twi!vwi$cwi~O$R!vO~P!/[O$Rwi~P!/[O!P'cO$U!yO$V!yO$W!zO$X!zO$Y!{O$Z!{O$[!{O$]!{O$^!|Ouwixwiywizwi$Owi$Rwi$Twi!bwi!dwi!fwi!pwi!rwi!twi!vwi$cwi~O$Swi~P!1ZO$S!wO~P!1ZO$Y!{O$Z!{O$[!{O$]!{O$^!|Ouwixwiywizwi$Owi$Rwi$Swi$Twi$Uwi$Vwi!bwi!dwi!fwi!pwi!rwi!twi!vwi$cwi~O!P'cO$W!zO$X!zO~P!3YO!Pwi$Wwi$Xwi~P!3YO$^!|Oxwiywizwi!Pwi$Rwi$Swi$Twi$Uwi$Vwi$Wwi$Xwi$Ywi$Zwi$[wi$]wi!bwi!dwi!fwi!pwi!rwi!twi!vwi$cwi~Ouwi$Owi~P!5_Oz'ZO!P'cO$R!vO$S!wO$T!xO$U!yO$V!yO$W!zO$X!zO$Y!{O$Z!{O$[!{O$]!{O$^!|Ouwixwi$Owi!bwi!dwi!fwi!pwi!rwi!twi!vwi$cwi~Oy'kO~P!7VOywi~P!7VOu%xO~P'cOc%|OlTO#vPO~Ov%_Om$`a~O#}&PO!b#zX!d#zX!f#zX!p#zX!r#zX!t#zX!v#zX$c#zX~P9SO!b!aa!d!aa!f!aa!p!aa!r!aa!t!aa!v!aa$c!aa~P:wO!b!ca!d!ca!f!ca!p!ca!r!ca!t!ca!v!ca$c!ca~P:wO!b!oa!d!oa!f!oa!p!oa!r!oa!t!oa!v!oa$c!oa~P:wOv#wXx#wXy#wXz#wX!P#wX!b#wX!d#wX!f#wX!p#wX!r#wX!t#wX!v#wX$R#wX$S#wX$T#wX$U#wX$V#wX$W#wX$X#wX$Y#wX$Z#wX$[#wX$]#wX$^#wX$c#wX!i#wX!j#wX!k#wX!l#wX~P!bO!x#WOv#yXx#yXy#yXz#yX!P#yX!b#yX!d#yX!f#yX!p#yX!r#yX!t#yX!v#yX$R#yX$S#yX$T#yX$U#yX$V#yX$W#yX$X#yX$Y#yX$Z#yX$[#yX$]#yX$^#yX$c#yX!i#yX!j#yX!k#yX!l#yX~P#wOx'jOy'lOz'[O!P'dO$R!vO$S!wO$T!xO$U!yO$V!yO$W!zO$X!zO$Y!{O$Z!{O$[!{O$]!{O$^!|O~Ov&TO!b!qa!d!qa!f!qa!p!qa!r!qa!t!qa!v!qa$c!qa~P!@YO!b!ua!d!ua!f!ua!p!ua!r!ua!t!ua!v!ua$c!ua~P:wO]&YO#P%pO#Q&ZO~Om&`O~P+aOm#iav#ia~P#wO]&aO~O!i&dO!j&dO!k&eO!l&cOv!hX!b!hX!d!hX!f!hX!p!hX!r!hX!t!hX!v!hX$c!hX~P!@YOv&fO!b$bX!d$bX!f$bX!p$bX!r$bX!t$bX!v$bX$c$bX~Ov!Ta!i!Ta!j!Ta!k!Ta!l!Ta~PGgOv'mO!b$QX!d$QX!f$QX!p$QX!r$QX!t$QX!v$QX$c$QX~P!@YO#O&tO~P+aO]&uO~Ov&vO[#Ty~P+aOury$Ory~P:wO!b!aq!d!aq!f!aq!p!aq!r!aq!t!aq!v!aq$c!aq~P:wO!m&wO!n&wO~O!l&xOv!ha!b!ha!d!ha!f!ha!p!ha!r!ha!t!ha!v!ha$c!ha~O!Z&zO#vPO~Ov&fO!b$ba!d$ba!f$ba!p$ba!r$ba!t$ba!v$ba$c$ba~O!P'dO$S!wO$T!xO$U!yO$V!yO$W!zO$X!zO$Y!{O$Z!{O$[!{O$]!{O$^!|Ovwixwiywizwi!bwi!dwi!fwi!pwi!rwi!twi!vwi$cwi!iwi!jwi!kwi!lwi~O$R!vO~P!H{O$Rwi~P!H{O!P'dO$U!yO$V!yO$W!zO$X!zO$Y!{O$Z!{O$[!{O$]!{O$^!|Ovwixwiywizwi!bwi!dwi!fwi!pwi!rwi!twi!vwi$Rwi$Twi$cwi!iwi!jwi!kwi!lwi~O$Swi~P!KTO$S!wO~P!KTO$Y!{O$Z!{O$[!{O$]!{O$^!|Ovwixwiywizwi!bwi!dwi!fwi!pwi!rwi!twi!vwi$Rwi$Swi$Twi$Uwi$Vwi$cwi!iwi!jwi!kwi!lwi~O!P'dO$W!zO$X!zO~P!M]O!Pwi$Wwi$Xwi~P!M]Ovwi!iwi!jwi!kwi!lwi~P!5_Oz'[O!P'dO$R!vO$S!wO$T!xO$U!yO$V!yO$W!zO$X!zO$Y!{O$Z!{O$[!{O$]!{O$^!|Ovwixwi!bwi!dwi!fwi!pwi!rwi!twi!vwi$cwi!iwi!jwi!kwi!lwi~Oy'lO~P#!OOywi~P#!OO!b!qq!d!qq!f!qq!p!qq!r!qq!t!qq!v!qq$c!qq~P:wOv'mO!b$Qa!d$Qa!f$Qa!p$Qa!r$Qa!t$Qa!v$Qa$c$Qa~O]'OO~O!m'RO!n'RO~O!l'SOv!hi!b!hi!d!hi!f!hi!p!hi!r!hi!t!hi!v!hi$c!hi~Ov#ha!b#ha!d#ha!f#ha!p#ha!r#ha!t#ha!v#ha$c#ha~P!@YO[#T!Z~P+aO!m'UO!n'UO~O!l'VOv!hq!b!hq!d!hq!f!hq!p!hq!r!hq!t!hq!v!hq$c!hq~O!m'WO!n'WO~OP$X~",
goto: "Ed$gPPP$hP%WP%eP%WP%WPP%WPPPPPP(Y)uP)uPP+iPP-]P(YP/X/X/XPP(aPPP/_0Y1Z2XP3]4d5n(aP7O7O7O(aP8h8t(aP8w8{P8{P8{PP9PPPPPPP8{P8{P8{P8{P(aP%WPP%WPPPP%WP9V9V9YP9]%W9i%WP%W9l%W9y9|:S:VP:f:u:{;V;^;d;j;p;v;|<SPPPP<YP<gP@_BXDTD^PPDfDmPPPPPPPPPPPPPDyPD|PEPESEaQ_OQ!SaQ!UcQ$j#aQ$l#cQ$q#hQ&O%aQ&]%rQ&s&ZR'P&tgZO]ac#a#c#h%a%r&Z&t$WSOT]abcdhlnx|!O!l!}#O#P#Q#R#S#T#U#V#Y#a#b#c#d#g#h#r#s#w$c$e$f$h%^%_%a%g%l%p%r%s%w&P&T&Z&f&t&v'X'Y'Z'[']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'mQiQQ!R`Q!WeQ![fS!^g#oQ!hkW!km#y%[%yQ!tqQ#q!aQ$n#eQ$r#iQ$u#kQ$v#mQ%d$bQ%u$tR&y&eYoRr!j!t%i#uyTbdhlmnx!O!l!}#O#P#Q#R#S#T#U#V#b#d#g#r#s#w#y$b$c$e$f$h%[%^%g%l%p%s%w%y&P&T&f&v'X'Y'Z'[']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm$cSOT]abcdhlmnx|!O!l!}#O#P#Q#R#S#T#U#V#Y#a#b#c#d#g#h#r#s#w#y$b$c$e$f$h%[%^%_%a%g%l%p%r%s%w%y&P&T&Z&f&t&v'X'Y'Z'[']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm$cVOT]abcdhlmnx|!O!l!}#O#P#Q#R#S#T#U#V#Y#a#b#c#d#g#h#r#s#w#y$b$c$e$f$h%[%^%_%a%g%l%p%r%s%w%y&P&T&Z&f&t&v'X'Y'Z'[']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'mUV|#Y%_fWO]ac#a#c#h%a%r&Z&t!WtTbdhlnx!O!l!}#O#P#Q#R#S#T#U#V#b#d#g#r#s%^%p%s&v|!qm#w#y$b$c$e$h%[%w%y&P&T'X'Z']'_'a'c'e'g'i'ko%j$f%g%l&f'Y'['^'`'b'd'f'h'j'l'mX!nm#y%[%yp#Os!T!V!c!i#x$P$W$X$k$m${%z&[&^'Qh']!m$}%P%W%X%e%f%h%m&_&b&q_'^%k&Q&V&h&o&p&}t#Ps!T!V!c!i#x$P$Q$S$W$X$k$m${%z&[&^'Ql'_!m$}%P%Q%S%W%X%e%f%h%m&_&b&qc'`%k&Q&V&h&i&k&o&p&}r#Qs!T!V!c!i#x$P$Q$W$X$k$m${%z&[&^'Qj'a!m$}%P%Q%W%X%e%f%h%m&_&b&qa'b%k&Q&V&h&i&o&p&}v#Rs!T!V!c!i#x$P$Q$R$S$W$X$k$m${%z&[&^'Qn'c!m$}%P%Q%R%S%W%X%e%f%h%m&_&b&qe'd%k&Q&V&h&i&j&k&o&p&}x#Ss!T!V!c!i#x$P$Q$R$S$T$W$X$k$m${%z&[&^'Qp'e!m$}%P%Q%R%S%T%W%X%e%f%h%m&_&b&qg'f%k&Q&V&h&i&j&k&l&o&p&}z#Ts!T!V!c!i#x$P$Q$R$S$T$U$W$X$k$m${%z&[&^'Qr'g!m$}%P%Q%R%S%T%U%W%X%e%f%h%m&_&b&qi'h%k&Q&V&h&i&j&k&l&m&o&p&}!O#Ts!T!V!c!i#X#x$P$Q$R$S$T$U$V$W$X$k$m${%z&[&^'Qv'g!m#|$}%P%Q%R%S%T%U%V%W%X%e%f%h%m&_&b&qm'h%k&Q&U&V&h&i&j&k&l&m&n&o&p&}!WxTbdhlnx!O!l!}#O#P#Q#R#S#T#U#V#b#d#g#r#s%^%p%s&v|'Xm#w#y$b$c$e$h%[%w%y&P&T'X'Z']'_'a'c'e'g'i'ko'Y$f%g%l&f'Y'['^'`'b'd'f'h'j'l'mQ#ZzQ#l!]Q$y#qR'T&zR$^#YT$`#[$aT$_#[$aQ&R%gR&{&fR!ZeR!YeQ!fhQ#_!OQ$p#gR$z#rR!]fgYO]ac#a#c#h%a%r&Z&tR!bgQ!_gR$w#oR#n!^d^Oac#a#c#h%a%r&Z&tR!Q]d]Oac#a#c#h%a%r&Z&tR!P]Q#z!pR%]#zQ#t!cS$|#t&rR&r&VS%`$Z$[R%}%`Q$a#[R%b$aQ&g&RR&|&gQ%o$lR&X%oQ#f!WR$o#fQ#j![R$s#jQ}UR#^}Q#p!_R$x#pg[O]ac#a#c#h%a%r&Z&tQsTQ!TbQ!VdY!chn!O#g#rQ!ilW!mm#y%[%yQ#XxQ#x!lQ#|'XQ$P!}Q$Q#OQ$R#PQ$S#QQ$T#RQ$U#SQ$V#TQ$W#UQ$X#VQ$k#bQ$m#dQ${#sQ$}#wQ%P'ZQ%Q']Q%R'_Q%S'aQ%T'cQ%U'eQ%V'gQ%W'iQ%X'kQ%e$bQ%f$cQ%h$eQ%k$fQ%m$hQ%z%^S&Q%g&fQ&U'YQ&V%lQ&[%pQ&^%sQ&_%wQ&b&PQ&h'[Q&i'^Q&j'`Q&k'bQ&l'dQ&m'fQ&n'hQ&o'jQ&p'lQ&q&TQ&}'mR'Q&vlRO]ac|#Y#a#c#h%_%a%r&Z&t!WrTbdhlnx!O!l!}#O#P#Q#R#S#T#U#V#b#d#g#r#s%^%p%s&v|!jm#w#y$b$c$e$h%[%w%y&P&T'X'Z']'_'a'c'e'g'i'ko%i$f%g%l&f'Y'['^'`'b'd'f'h'j'l'mfUO]ac#a#c#h%a%r&Z&t#tVTbdhlmnx!O!l!}#O#P#Q#R#S#T#U#V#b#d#g#r#s#w#y$b$c$e$f$h%[%^%g%l%p%s%w%y&P&T&f&v'X'Y'Z'[']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'mQ#]|Q$Z#YR%{%_WpRr!j%iR$O!tQ!pmV%Y#y%[%yZoRr!j!t%iW!dh!O#g#rQ!snR&W%lR$]#YR&S%gR!XegXO]ac#a#c#h%a%r&Z&tR!`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 asc using nulls first last SelectClause select LimitClause limit GroupByClause group HavingClause having FilteredCall filter 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: 162,
nodeProps: [
["group", -14,4,5,8,9,11,14,30,87,90,95,102,104,106,108,"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#t~XY#f[]#fpq#f#O#P#w~#zQYZ#f]^#f~$VP#s~]^$Y~$_O#s~~$dP#s~YZ$Ym$jP!_!`$mm$rOzmk$uXOY$rZ]$r^r$rrs%bs#O$r#O#P%g#P;'S$r;'S;=`'}<%lO$rk%gO#xkk%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$_~~)jO$[~~)oO$S~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$Y~~.lO$W~o.sOvc$O[~.xP$X~}!O.{~/QTP~OY.{Z].{^;'S.{;'S;=`/a<%lO.{~/dP;=`<%l.{o/lPgi!O!P/oo/tP!Pm!O!P/wQ/|OcQ~0RQ$Z~!P!Q0X!_!`$m~0^O$]~~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$O[o4YQ$gQzm!^!_4`!_!`$mm4eO$Um~4jP#}~!_!`$mo4tQ$hQzm!_!`$m!`!a4zm5PO$Vm~5US#v~!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#xkO!_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#xk!_!`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#xk!_!`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#xkO!_>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$aSO#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$cn~DRO$^~~DWOq~~D]O$R~~DbOu~~DgP$T~!_!`$m",
tokenizers: [0, 1, 2, 3, 4],
topRules: {"Chunk":[0,2]},
dynamicPrecedences: {"139":1},
specialized: [{term: 130, get: (value) => spec_identifier[value] || -1}],
tokenPrec: 4566
})