shrimp/src/parser/shrimp.ts

28 lines
9.5 KiB
TypeScript

// This file was generated by lezer-generator. You probably shouldn't edit it.
import {LRParser, LocalTokenGroup} from "@lezer/lr"
import {operatorTokenizer} from "./operatorTokenizer"
import {tokenizer, specializeKeyword} from "./tokenizer"
import {trackScope} from "./scopeTracker"
import {highlighting} from "./highlight"
const spec_Identifier = {__proto__:null,catch:82, finally:88, end:90, null:96, try:106, throw:110, if:114, elseif:122, else:126}
export const parser = LRParser.deserialize({
version: 14,
states: "9OQYQbOOO#tQcO'#CvO$qOSO'#CxO%PQbO'#E`OOQ`'#DR'#DROOQa'#DO'#DOO&SQbO'#D]O'eQcO'#ETOOQa'#ET'#ETO(hQcO'#ETO)jQcO'#ESO)}QRO'#CwO+ZQcO'#EOO+kQcO'#EOO+uQbO'#CuO,mOpO'#CsOOQ`'#EP'#EPO,rQbO'#EOO,yQQO'#EfOOQ`'#Db'#DbO-OQbO'#DdO-OQbO'#EhOOQ`'#Df'#DfO-sQRO'#DnOOQ`'#EO'#EOO-xQQO'#D}OOQ`'#D}'#D}OOQ`'#Do'#DoQYQbOOO.QQbO'#DPOOQa'#ES'#ESOOQ`'#D`'#D`OOQ`'#Ee'#EeOOQ`'#Dv'#DvO.[QbO,59^O/OQbO'#CzO/WQWO'#C{OOOO'#EV'#EVOOOO'#Dp'#DpO/lOSO,59dOOQa,59d,59dOOQ`'#Dr'#DrO/zQbO'#DSO0SQQO,5:zOOQ`'#Dq'#DqO0XQbO,59wO0`QQO,59jOOQa,59w,59wO0kQbO,59wO0uQbO,5:YO-OQbO,59cO-OQbO,59cO-OQbO,59cO-OQbO,59yO-OQbO,59yO-OQbO,59yO1VQRO,59aO1^QRO,59aO1oQRO,59aO1jQQO,59aO1zQQO,59aO2SObO,59_O2_QbO'#DwO2jQbO,59]O3RQbO,5;QO3fQcO,5:OO4[QcO,5:OO4lQcO,5:OO5bQRO,5;SO5iQRO,5;SOOQ`,5:i,5:iOOQ`-E7m-E7mOOQ`,59k,59kOOQ`-E7t-E7tOOOO,59f,59fOOOO,59g,59gOOOO-E7n-E7nOOQa1G/O1G/OOOQ`-E7p-E7pO5tQbO1G0fOOQ`-E7o-E7oO6XQQO1G/UOOQa1G/c1G/cO6dQbO1G/cOOQO'#Dt'#DtO6XQQO1G/UOOQa1G/U1G/UOOQ`'#Du'#DuO6dQbO1G/cOOQ`1G/t1G/tOOQa1G.}1G.}O7]QcO1G.}O7gQcO1G.}O7qQcO1G.}OOQa1G/e1G/eO9aQcO1G/eO9hQcO1G/eO9oQcO1G/eOOQa1G.{1G.{OOQa1G.y1G.yO!aQbO'#CvO9vQbO'#CrOOQ`,5:c,5:cOOQ`-E7u-E7uO:TQbO1G0lO:`QbO1G0mO:|QbO1G0nO;aQbO7+&QO:`QbO7+&SO;lQQO7+$pOOQa7+$p7+$pO;wQbO7+$}OOQa7+$}7+$}OOQO-E7r-E7rOOQ`-E7s-E7sO<RQbO'#DUO<WQQO'#DXOOQ`7+&W7+&WO<]QbO7+&WO<bQbO7+&WOOQ`'#Ds'#DsO<jQQO'#DsO<oQbO'#EaOOQ`'#DW'#DWO=cQbO7+&XOOQ`'#Dh'#DhO=nQbO7+&YO=sQbO7+&ZOOQ`<<Il<<IlO>aQbO<<IlO>fQbO<<IlO>nQbO<<InOOQa<<H[<<H[OOQa<<Hi<<HiO>yQQO,59pO?OQbO,59sOOQ`<<Ir<<IrO?cQbO<<IrOOQ`,5:_,5:_OOQ`-E7q-E7qOOQ`<<Is<<IsO?hQbO<<IsO?mQbO<<IsOOQ`<<It<<ItOOQ`'#Di'#DiO?uQbO<<IuOOQ`AN?WAN?WO@QQbOAN?WOOQ`AN?YAN?YO@VQbOAN?YO@[QbOAN?YO@dQbO1G/[O@wQbO1G/_OOQ`1G/_1G/_OOQ`AN?^AN?^OOQ`AN?_AN?_OA_QbOAN?_O-OQbO'#DjOOQ`'#Dx'#DxOAdQbOAN?aOAoQQO'#DlOOQ`AN?aAN?aOAtQbOAN?aOOQ`G24rG24rOOQ`G24tG24tOAyQbOG24tOBOQbO7+$vOOQ`7+$v7+$vOOQ`7+$y7+$yOOQ`G24yG24yOBiQRO,5:UOBpQRO,5:UOOQ`-E7v-E7vOOQ`G24{G24{OB{QbOG24{OCQQQO,5:WOOQ`LD*`LD*`OOQ`<<Hb<<HbOCVQQO1G/pOOQ`LD*gLD*gO@wQbO1G/rO=sQbO7+%[OOQ`7+%^7+%^OOQ`<<Hv<<Hv",
stateData: "C_~O!oOS!pOS~O_PO`gOaWOb_OcROhWOpWOqWO!QWO!VbO!XdO!ZeO!u^O!xQO#PTO#QUO#RjO~O_nOaWOb_OcROhWOpWOqWOtmO!OoO!QWO!u^O!xQO#PTO#QUO!TjX#RjX#^jX#WjXyjX|jX}jX~OP!vXQ!vXR!vXS!vXT!vXU!vXW!vXX!vXY!vXZ!vX[!vX]!vX^!vX~P!aOmuO!xxO!zsO!{tO~O_yOwvP~O_nOaWOb_OhWOpWOqWOtmO!QWO!u^O!xQO#PTO#QUO#R|O~O#V!PO~P%XOP!wXQ!wXR!wXS!wXT!wXU!wXW!wXX!wXY!wXZ!wX[!wX]!wX^!wX#R!wX#^!wXy!wX|!wX}!wX~O_nOaWOb_OcROhWOpWOqWOtmO!OoO!QWO!u^O!xQO#PTO#QUO#W!wX~P&ZOV!RO~P&ZOP!vXQ!vXR!vXS!vXT!vXU!vXW!vXX!vXY!vXZ!vX[!vX]!vX^!vX~O#R!rX#^!rXy!rX|!rX}!rX~P(oOP!TOQ!TOR!UOS!UOT!WOU!XOW!VOX!VOY!VOZ!VO[!VO]!VO^!SO~O#R!rX#^!rXy!rX|!rX}!rX~OP!TOQ!TOR!UOS!UO~P*xOT!WOU!XO~P*xO_POaWOb_OcROhWOpWOqWO!QWO!u^O!xQO#PTO#QUO~O!t!_O~O!T!`O~P*xOw!bO~O_nOaWOb_OhWOpWOqWO!QWO!u^O!xQO#PTO#QUO~OV!RO~O#R!hO#^!hO~OcRO!O!jO~P-OOcROtmO!OoO!Tfa#Rfa#^fa#Wfayfa|fa}fa~P-OO_!lO!u^O~O!x!mO!z!mO!{!mO!|!mO!}!mO#O!mO~OmuO!x!oO!zsO!{tO~O_yOwvX~Ow!qO~O#V!tO~P%XOtmO#R!vO#V!xO~O#R!yO#V!tO~P-OO`gO!VbO!XdO!ZeO~P+uO#W#UO~P(oOP!TOQ!TOR!UOS!UO#W#UO~OT!WOU!XO#W#UO~O!T!`O#W#UO~O_#VOh#VO!u^O~O_#WOb_O!u^O~O!T!`O#Rea#^ea#Weayea|ea}ea~O`gO!VbO!XdO!ZeO#R#]O~P+uO#R!Wa#^!Way!Wa|!Wa}!Wa~P)}O#R!Wa#^!Way!Wa|!Wa}!Wa~OP!TOQ!TOR!UOS!UO~P3yOT!WOU!XO~P3yOT!WOU!XOW!VOX!VOY!VOZ!VO[!VO]!VO~Ow#^O~P4vOT!WOU!XOw#^O~O`gO!VbO!XdO!ZeO#R#`O~P+uOtmO#R!vO#V#bO~O#R!yO#V#dO~P-OO^!SORkiSki#Rki#^ki#Wkiyki|ki}ki~OPkiQki~P6nOP!TOQ!TO~P6nOP!TOQ!TORkiSki#Rki#^ki#Wkiyki|ki}ki~OW!VOX!VOY!VOZ!VO[!VO]!VOT!Ri#R!Ri#^!Ri#W!Riw!Riy!Ri|!Ri}!Ri~OU!XO~P8cOU!XO~P8uOU!Ri~P8cOcROtmO!OoO~P-OOy#gO|#hO}#iO~O`gO!VbO!XdO!ZeO#R#lOy#TP|#TP}#TP~P+uO`gO!VbO!XdO!ZeO#R#sO~P+uOy#gO|#hO}#tO~OtmO#R!vO#V#xO~O#R!yO#V#yO~P-OO_#zO~Ow#{O~O}#|O~O|#hO}#|O~O#R$OO~O`gO!VbO!XdO!ZeO#R#lOy#TX|#TX}#TX!_#TX!a#TX~P+uOy#gO|#hO}$QO~O}$TO~O`gO!VbO!XdO!ZeO#R#lO}#TP!_#TP!a#TP~P+uO}$WO~O|#hO}$WO~Oy#gO|#hO}$YO~Ow$]O~O`gO!VbO!XdO!ZeO#R$^O~P+uO}$`O~O}$aO~O|#hO}$aO~O}$gO!_$cO!a$fO~O}$iO~O}$jO~O|#hO}$jO~O`gO!VbO!XdO!ZeO#R$lO~P+uO`gO!VbO!XdO!ZeO#R#lO}#TP~P+uO}$oO~O}$sO!_$cO!a$fO~Ow$uO~O}$sO~O}$vO~O`gO!VbO!XdO!ZeO#R#lO|#TP}#TP~P+uOw$xO~P4vOT!WOU!XOw$xO~O}$yO~O#R$zO~O#R${O~Ohq~",
goto: "4Q#^PPPPPPPPPPPPPPPPPPPPP#_#t$YP%X#t&^&|P'v'vPP&|'zP(_)OP)RP)_)hPPP*QP*|+rP+yP+yP+yP,],`,iP,mP+y,s,y-P-V-]-i-s-}.W._PPPP.e.i/ZPP/s1ZP2XPPPPPPPP2]2v2]PP3T3[3[3n3nphOl!R!b!q#]#^#`#n#s#{$]$^$l$z${R!]^u`O^l!R!`!b!q#]#^#`#n#s#{$]$^$l$z${rPO^l!R!b!q#]#^#`#n#s#{$]$^$l$z${znPUVdemr}!Q!S!T!U!V!W!X!u!z#W#X#c$cR#W!`rVO^l!R!b!q#]#^#`#n#s#{$]$^$l$z${zWPUVdemr}!Q!S!T!U!V!W!X!u!z#W#X#c$cQ!lsQ#V!_R#X!`p[Ol!R!b!q#]#^#`#n#s#{$]$^$l$z${Q!Z^Q!ddQ!|!TR#P!U!oWOPUV^delmr}!Q!R!S!T!U!V!W!X!b!q!u!z#W#X#]#^#`#c#n#s#{$]$^$c$l$z${TuQwYpPVr#W#XQ!OUQ!s}X!v!O!s!w#aphOl!R!b!q#]#^#`#n#s#{$]$^$l$z${YoPVr#W#XQ!]^R!jmR{RQ#k#[Q#v#_Q$S#pR$[#wQ#p#]Q$n$^R$w$lQ#j#[Q#u#_Q#}#kQ$R#pQ$X#vQ$Z#wQ$b$SR$k$[|WPUV^demr}!Q!S!T!U!V!W!X!u!z#W#X#c$cqXOl!R!b!q#]#^#`#n#s#{$]$^$l$z${p]Ol!R!b!q#]#^#`#n#s#{$]$^$l$z${Q![^Q!edQ!geQ#Q!XQ#S!WR$q$cZpPVr#W#XqhOl!R!b!q#]#^#`#n#s#{$]$^$l$z${R#r#^Q$V#sQ$|$zR$}${T$d$V$eQ$h$VR$t$eQlOR!ilQwQR!nwQ}UR!r}QzRR!pz^#n#]#`#s$^$l$z${R$P#nQ!w!OQ#a!sT#e!w#aQ!z!QQ#c!uT#f!z#cWrPV#W#XR!krS!aa!^R#Z!aQ$e$VR$r$eTkOlSiOlQ!{!RQ#[!bQ#_!q`#m#]#`#n#s$^$l$z${Q#q#^Q$_#{R$m$]paOl!R!b!q#]#^#`#n#s#{$]$^$l$z${Q!^^R#Y!`rZO^l!R!b!q#]#^#`#n#s#{$]$^$l$z${YoPVr#W#XQ!QUQ!cdQ!feQ!jmQ!u}W!y!Q!u!z#cQ!|!SQ!}!TQ#O!UQ#Q!VQ#R!WQ#T!XR$p$cpYOl!R!b!q#]#^#`#n#s#{$]$^$l$z${znPUVdemr}!Q!S!T!U!V!W!X!u!z#W#X#c$cR!Y^TvQw!PSOPV^lmr!R!b!q#W#X#]#^#`#n#s#{$]$^$l$z${U#o#]$^$lQ#w#`V$U#s$z${ZqPVr#W#XqcOl!R!b!q#]#^#`#n#s#{$]$^$l$z${qfOl!R!b!q#]#^#`#n#s#{$]$^$l$z${",
nodeNames: "⚠ Star Slash Plus Minus And Or Eq EqEq Neq Lt Lte Gt Gte Modulo Identifier AssignableIdentifier Word IdentifierBeforeDot Do Program PipeExpr FunctionCall DotGet Number ParenExpr FunctionCallOrIdentifier BinOp String StringFragment Interpolation EscapeSeq Boolean Regex Dict NamedArg NamedArgPrefix FunctionDef Params colon CatchExpr keyword TryBlock FinallyExpr keyword keyword Underscore Array Null ConditionalOp PositionalArg operator TryExpr keyword Throw keyword IfExpr keyword SingleLineThenBlock ThenBlock ElseIfExpr keyword ElseExpr keyword Assign",
maxTerm: 106,
context: trackScope,
nodeProps: [
["closedBy", 39,"end"]
],
propSources: [highlighting],
skippedNodes: [0],
repeatNodeCount: 10,
tokenData: "AO~R|OX#{XY$jYZ%TZp#{pq$jqs#{st%ntu'Vuw#{wx'[xy'ayz'zz{#{{|(e|}#{}!O(e!O!P#{!P!Q+X!Q![)S![!]3t!]!^%T!^!}#{!}#O4_#O#P6T#P#Q6Y#Q#R#{#R#S6s#S#T#{#T#Y7^#Y#Z8l#Z#b7^#b#c<z#c#f7^#f#g=q#g#h7^#h#i>h#i#o7^#o#p#{#p#q@`#q;'S#{;'S;=`$d<%l~#{~O#{~~@yS$QUmSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{S$gP;=`<%l#{^$qUmS!oYOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U%[UmS#RQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{^%uZmS!pYOY%nYZ#{Zt%ntu&huw%nwx&hx#O%n#O#P&h#P;'S%n;'S;=`'P<%lO%nY&mS!pYOY&hZ;'S&h;'S;=`&y<%lO&hY&|P;=`<%l&h^'SP;=`<%l%n~'[O!z~~'aO!x~U'hUmS!uQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U(RUmS#WQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U(jWmSOt#{uw#{x!Q#{!Q![)S![#O#{#P;'S#{;'S;=`$d<%lO#{U)ZYmShQOt#{uw#{x!O#{!O!P)y!P!Q#{!Q![)S![#O#{#P;'S#{;'S;=`$d<%lO#{U*OWmSOt#{uw#{x!Q#{!Q![*h![#O#{#P;'S#{;'S;=`$d<%lO#{U*oWmShQOt#{uw#{x!Q#{!Q![*h![#O#{#P;'S#{;'S;=`$d<%lO#{U+^WmSOt#{uw#{x!P#{!P!Q+v!Q#O#{#P;'S#{;'S;=`$d<%lO#{U+{^mSOY,wYZ#{Zt,wtu-zuw,wwx-zx!P,w!P!Q#{!Q!},w!}#O2m#O#P0Y#P;'S,w;'S;=`3n<%lO,wU-O^mSqQOY,wYZ#{Zt,wtu-zuw,wwx-zx!P,w!P!Q0o!Q!},w!}#O2m#O#P0Y#P;'S,w;'S;=`3n<%lO,wQ.PXqQOY-zZ!P-z!P!Q.l!Q!}-z!}#O/Z#O#P0Y#P;'S-z;'S;=`0i<%lO-zQ.oP!P!Q.rQ.wUqQ#Z#[.r#]#^.r#a#b.r#g#h.r#i#j.r#m#n.rQ/^VOY/ZZ#O/Z#O#P/s#P#Q-z#Q;'S/Z;'S;=`0S<%lO/ZQ/vSOY/ZZ;'S/Z;'S;=`0S<%lO/ZQ0VP;=`<%l/ZQ0]SOY-zZ;'S-z;'S;=`0i<%lO-zQ0lP;=`<%l-zU0tWmSOt#{uw#{x!P#{!P!Q1^!Q#O#{#P;'S#{;'S;=`$d<%lO#{U1ebmSqQOt#{uw#{x#O#{#P#Z#{#Z#[1^#[#]#{#]#^1^#^#a#{#a#b1^#b#g#{#g#h1^#h#i#{#i#j1^#j#m#{#m#n1^#n;'S#{;'S;=`$d<%lO#{U2r[mSOY2mYZ#{Zt2mtu/Zuw2mwx/Zx#O2m#O#P/s#P#Q,w#Q;'S2m;'S;=`3h<%lO2mU3kP;=`<%l2mU3qP;=`<%l,wU3{UmSwQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U4fW#QQmSOt#{uw#{x!_#{!_!`5O!`#O#{#P;'S#{;'S;=`$d<%lO#{U5TVmSOt#{uw#{x#O#{#P#Q5j#Q;'S#{;'S;=`$d<%lO#{U5qU#PQmSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{~6YO!{~U6aU#VQmSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U6zUmS!OQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U7cYmSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#o7^#o;'S#{;'S;=`$d<%lO#{U8YUtQmSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U8qZmSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#U9d#U#o7^#o;'S#{;'S;=`$d<%lO#{U9i[mSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#`7^#`#a:_#a#o7^#o;'S#{;'S;=`$d<%lO#{U:d[mSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#g7^#g#h;Y#h#o7^#o;'S#{;'S;=`$d<%lO#{U;_[mSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#X7^#X#Y<T#Y#o7^#o;'S#{;'S;=`$d<%lO#{U<[YpQmSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#o7^#o;'S#{;'S;=`$d<%lO#{^=RY!|WmSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#o7^#o;'S#{;'S;=`$d<%lO#{^=xY#OWmSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#o7^#o;'S#{;'S;=`$d<%lO#{^>o[!}WmSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#f7^#f#g?e#g#o7^#o;'S#{;'S;=`$d<%lO#{U?j[mSOt#{uw#{x!_#{!_!`8R!`#O#{#P#T#{#T#i7^#i#j;Y#j#o7^#o;'S#{;'S;=`$d<%lO#{U@gU!TQmSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{~AOO#^~",
tokenizers: [operatorTokenizer, 1, 2, 3, tokenizer, new LocalTokenGroup("[~RP!O!PU~ZO!t~~", 11)],
topRules: {"Program":[0,20]},
specialized: [{term: 15, get: (value: any, stack: any) => (specializeKeyword(value, stack) << 1), external: specializeKeyword},{term: 15, get: (value: keyof typeof spec_Identifier) => spec_Identifier[value] || -1}],
tokenPrec: 1576
})