shrimp/src/parser/shrimp.ts
2025-11-03 19:29:19 -08:00

28 lines
11 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,null:90, catch:96, finally:102, end:104, while:118, try:126, throw:130, if:134, elseif:142, else:146}
export const parser = LRParser.deserialize({
version: 14,
states: ";lQYQbOOO#wQcO'#C{O$tOSO'#C}O%SQbO'#ElOOQ`'#DW'#DWOOQa'#DT'#DTO&YQbO'#DdO'kQcO'#EaOOQa'#Ea'#EaO(nQcO'#EaO)pQcO'#E`O*TQRO'#C|O+aQcO'#E[O+qQcO'#E[O+{QbO'#CzO,sOpO'#CxOOQ`'#E]'#E]O,xQbO'#E[O-PQbO'#ErOOQ`'#Dh'#DhO-tQQO'#EtOOQ`'#Dl'#DlO-PQbO'#DnO-PQbO'#EvOOQ`'#Dp'#DpO-yQRO'#DxOOQ`'#E['#E[O._QQO'#EZOOQ`'#EZ'#EZOOQ`'#Dz'#DzQYQbOOO.gQbO'#DUOOQa'#E`'#E`OOQ`'#Df'#DfOOQ`'#Eq'#EqOOQ`'#ES'#ESO.qQbO,59cO/eQbO'#DPO/mQWO'#DQOOOO'#Ec'#EcOOOO'#D{'#D{O0ROSO,59iOOQa,59i,59iOOQ`'#D}'#D}O0aQbO'#DXO0lQbO'#DYOOQO'#EO'#EOO0dQQO'#DXO0zQQO,5;WOOQ`'#D|'#D|O1PQbO,5:OO1WQQO,59oOOQa,5:O,5:OO1cQbO,5:OO1mQbO,5:eO-PQbO,59hO-PQbO,59hO-PQbO,59hO-PQbO,5:PO-PQbO,5:PO-PQbO,5:PO2QQRO,59fO2XQRO,59fO2jQRO,59fO2eQQO,59fO2uQQO,59fO2}ObO,59dO3YQbO'#ETO3eQbO,59bO4hQRO,5;^O4oQRO,5;^O4zQbO,5;`O5bQcO,5:YO6WQcO,5:YO6hQcO,5:YO6rQRO,5;bO6yQRO,5;bO1mQbO,5:dOOQ`,5:u,5:uOOQ`-E7x-E7xOOQ`,59p,59pOOQ`-E8Q-E8QOOOO,59k,59kOOOO,59l,59lOOOO-E7y-E7yOOQa1G/T1G/TOOQ`-E7{-E7{O7UQQO,59sOOQO,59t,59tOOQO-E7|-E7|O7^QbO1G0rOOQ`-E7z-E7zO7tQQO1G/ZOOQa1G/j1G/jO8PQbO1G/jOOQO'#EQ'#EQO7tQQO1G/ZOOQa1G/Z1G/ZOOQ`'#ER'#ERO8PQbO1G/jOOQ`1G0P1G0POOQa1G/S1G/SO8xQcO1G/SO9SQcO1G/SO9^QcO1G/SOOQa1G/k1G/kO:|QcO1G/kO;TQcO1G/kO;[QcO1G/kOOQa1G/Q1G/QOOQa1G/O1G/OO!dQbO'#C{O;cQbO'#CwOOQ`,5:o,5:oOOQ`-E8R-E8RO;pQbO1G0xO<WQbO1G0zO<cQbO1G0{O=SQbO1G0|OOQ`1G0O1G0OO=jQbO7+&^O<cQbO7+&`O=uQQO7+$uOOQa7+$u7+$uO>QQbO7+%UOOQa7+%U7+%UOOQO-E8O-E8OOOQ`-E8P-E8POOQ`'#Dj'#DjO>[QbO7+&dO>aQbO7+&eO>zQbO'#D]O?PQQO'#D`OOQ`7+&f7+&fO?UQbO7+&fO?ZQbO7+&fOOQ`'#EP'#EPO?cQQO'#EPO?hQbO'#EmOOQ`'#D_'#D_O@_QbO7+&gOOQ`'#Dr'#DrO@jQbO7+&hO@oQbO7+&iOOQ`<<Ix<<IxOA`QbO<<IxOAeQbO<<IxOAmQbO<<IzOOQa<<Ha<<HaOOQa<<Hp<<HpOOQ`<<JO<<JOOOQ`'#Dk'#DkOAxQbO<<JPOA}QQO,59wOBSQbO,59zOOQ`<<JQ<<JQOBjQbO<<JQOOQ`,5:k,5:kOOQ`-E7}-E7}OOQ`<<JR<<JROBoQbO<<JROBtQbO<<JROOQ`<<JS<<JSOOQ`'#Ds'#DsOB|QbO<<JTOOQ`AN?dAN?dOCXQbOAN?dOOQ`AN?fAN?fOC^QbOAN?fOCcQbOAN?fOOQ`AN?kAN?kOCkQbO1G/cO>aQbO1G/fOOQ`1G/f1G/fOOQ`AN?lAN?lOOQ`AN?mAN?mODRQbOAN?mO-PQbO'#DtOOQ`'#EU'#EUODWQbOAN?oODcQQO'#DvOOQ`AN?oAN?oODhQbOAN?oOOQ`G25OG25OOOQ`G25QG25QODmQbOG25QODrQbO7+$}OOQ`7+$}7+$}OOQ`7+%Q7+%QOOQ`G25XG25XOE`QRO,5:`OEgQRO,5:`OOQ`-E8S-E8SOOQ`G25ZG25ZOErQbOG25ZOEwQQO,5:bOOQ`LD*lLD*lOOQ`<<Hi<<HiOE|QQO1G/zOOQ`LD*uLD*uO>aQbO1G/|O@oQbO7+%fOOQ`7+%h7+%hOOQ`<<IQ<<IQ",
stateData: "FU~O!{OS!|OS~OdPOeiOfWOg_OhROmWOuWOvWO}WO!]bO!adO!cfO!egO#R^O#UQO#]TO#^UO#_lO~OdpOfWOg_OhROmWOuWOvWOyoO}WO!VqO#R^O#UQO#]TO#^UO!ZoX#_oX#loX#doX!QoX!ToX!UoX~OP#SXQ#SXR#SXS#SXT#SXU#SXW#SXX#SXY#SXZ#SX[#SX]#SX^#SX~P!dOrwO#UzO#WuO#XvO~Od{Oy}O!O{P~OdpOfWOg_OmWOuWOvWOyoO}WO#R^O#UQO#]TO#^UO#_!RO~O#c!UO~P%_OP#TXQ#TXR#TXS#TXT#TXU#TXW#TXX#TXY#TXZ#TX[#TX]#TX^#TX#_#TX#l#TX!Q#TX!T#TX!U#TX~OdpOfWOg_OhROmWOuWOvWOyoO}WO!VqO#R^O#UQO#]TO#^UO#d#TX~P&aOV!WO~P&aOP#SXQ#SXR#SXS#SXT#SXU#SXW#SXX#SXY#SXZ#SX[#SX]#SX^#SX~O#_#OX#l#OX!Q#OX!T#OX!U#OX~P(uOP!YOQ!YOR!ZOS!ZOT!]OU!^OW![OX![OY![OZ![O[![O]![O^!XO~O#_#OX#l#OX!Q#OX!T#OX!U#OX~OP!YOQ!YOR!ZOS!ZO~P+OOT!]OU!^O~P+OOdPOfWOg_OhROmWOuWOvWO}WO#R^O#UQO#]TO#^UO~O#Q!dO~O!Z!eO~P+OOdpOfWOg_OmWOuWOvWO}WO#R^O#UQO#]TO#^UO~O!O!iO~OV!WO_!oO`!oOa!oOb!oOc!oO~O#_!pO#l!pO~OhRO!V!rO~P-POhROyoO!VqO!Zka#_ka#lka#dka!Qka!Tka!Uka~P-POd!tO#R^O~O#U!uO#W!uO#X!uO#Y!uO#Z!uO#[!uO~OrwO#U!wO#WuO#XvO~Od{Oy}O!O{X~Om!zOu!zO}!zO#UQO~O!O!|O~O#c#PO~P%_OyoO#_#RO#c#TO~O#_#UO#c#PO~P-POeiO!]bO!adO!cfO!egO~P+{O#d#aO~P(uOP!YOQ!YOR!ZOS!ZO#d#aO~OT!]OU!^O#d#aO~O!Z!eO#d#aO~Od#bOm#bO#R^O~Od#cOg_O#R^O~O!Z!eO#_ja#lja#dja!Qja!Tja!Uja~OT!]OU!^OW![OX![OY![OZ![O[![O]![O~O!O#gO~P3|OT!]OU!^O!O#gO~OeiO!]bO!adO!cfO!egO#_#iO~P+{O#_!ba#l!ba!Q!ba!T!ba!U!ba~P*TO#_!ba#l!ba!Q!ba!T!ba!U!ba~OP!YOQ!YOR!ZOS!ZO~P5uOT!]OU!^O~P5uO!O#jO~P3|OT!]OU!^O!O#jO~Oy}O!O{a~OeiO!]bO!adO!cfO!egO#_#mO~P+{OyoO#_#RO#c#oO~O#_#UO#c#qO~P-PO^!XORpiSpi#_pi#lpi#dpi!Qpi!Tpi!Upi~OPpiQpi~P8ZOP!YOQ!YO~P8ZOP!YOQ!YORpiSpi#_pi#lpi#dpi!Qpi!Tpi!Upi~OW![OX![OY![OZ![O[![O]![OT!Xi#_!Xi#l!Xi#d!Xi!O!Xi!Q!Xi!T!Xi!U!Xi~OU!^O~P:OOU!^O~P:bOU!Xi~P:OOhROyoO!VqO~P-POeiO!]bO!adO!cfO!egO#_#vO~P+{O!Q#wO!T#xO!U#yO~OeiO!]bO!adO!cfO!egO#_#|O!Q#aP!T#aP!U#aP~P+{OeiO!]bO!adO!cfO!egO#_$TO~P+{O!Q#wO!T#xO!U$UO~OyoO#_#RO#c$YO~O#_#UO#c$ZO~P-PO!U$[O~OeiO!]bO!adO!cfO!egO#_#|O!U#aP~P+{Od$_O~O!O$`O~O!U$aO~O!T#xO!U$aO~O#_$cO~OeiO!]bO!adO!cfO!egO#_#|O!Q#aX!T#aX!U#aX!i#aX!k#aX~P+{O!Q#wO!T#xO!U$eO~O!U$hO~OeiO!]bO!adO!cfO!egO#_#|O!U#aP!i#aP!k#aP~P+{O!U$kO~O!T#xO!U$kO~O!Q#wO!T#xO!U$mO~O!U$pO~O!O$qO~OeiO!]bO!adO!cfO!egO#_$rO~P+{O!U$tO~O!U$uO~O!T#xO!U$uO~O!U${O!i$wO!k$zO~O!U$}O~O!U%OO~O!T#xO!U%OO~OeiO!]bO!adO!cfO!egO#_%QO~P+{O!U%TO~O!U%XO!i$wO!k$zO~O!O%ZO~O!U%XO~O!U%[O~OeiO!]bO!adO!cfO!egO#_#|O!T#aP!U#aP~P+{O!O%^O~P3|OT!]OU!^O!O%^O~O!U%_O~O#_%`O~O#_%aO~Omv~",
goto: "7v#lPPPPPPPPPPPPPPPPPPPPPPPPPP#m$V$nP%q$V&z'mP(n(nPP(r)pP*T*w*zPP+QP+^+gPPP,P-P-{P.SP.i.l.SP.SP.SP.o.r.{P/PP.S.S/V/]/c/i/o/y0W0b0l0u0|PPPP1S1W2PPP2l4YP5[PPPPPPPP5`5|5`PP6^6e6e6z6z7a7avjOn!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%aR!b^{`O^n!W!e!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%axPO^n!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%a|pPUVbfgot!S!V!X!Y!Z![!]!^#Q#V#c#d#p$wR#c!exVO^n!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%a|WPUVbfgot!S!V!X!Y!Z![!]!^#Q#V#c#d#p$wQ!tuQ#b!dR#d!ev[On!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%aQ!`^Q!kfQ#X!YR#[!Z!vWOPUV^bfgnot!S!V!W!X!Y!Z![!]!^!i!o!|#Q#V#c#d#g#i#j#m#p#v$O$T$`$q$r$w%Q%`%aR!z}TwQy!wWOPUV^bfgnot!S!V!W!X!Y!Z![!]!^!i!o!|#Q#V#c#d#g#i#j#m#p#v$O$T$`$q$r$w%Q%`%aYrPVt#c#dQ!TUQ#O!SX#R!T#O#S#nvjOn!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%aYqPVt#c#dQ!b^R!roR!QRX!OR|!P!yQ#{#hQ$W#lQ$g$QR$o$XQ$Q#iQ%S$rR%]%QQ#z#hQ$V#lQ$b#{Q$f$QQ$l$WQ$n$XQ$v$gR%P$o!OWPUV^bfgot!S!V!X!Y!Z![!]!^#Q#V#c#d#p$wwXOn!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%av]On!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%aQ!a^Q!hbQ!lfQ!ngQ#]!^Q#_!]R%V$wZrPVt#c#dwjOn!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%aR#u#gR$^#vR$S#jQ$j$TQ%b%`R%c%aT$x$j$yQ$|$jR%Y$yQnOR!qnQyQR!vyQ!SUR!}!SQ|RR!x|Q!PRQ!y|T!{!P!y`$O#i#m#v$T$r%Q%`%aR$d$OQ#S!TQ#n#OT#r#S#nQ#V!VQ#p#QT#s#V#pWtPV#c#dR!stS!fa!cR#f!fQ$y$jR%W$yTmOnSkOnQ#W!WQ#h!iQ#k!oQ#l!|Q#t#gb#}#i#m#v$O$T$r%Q%`%aQ$R#jQ$s$`R%R$qvaOn!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%aQ!c^R#e!exZO^n!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%aYqPVt#c#dQ!VUQ!gbQ!jfQ!mgQ!roQ#Q!SW#U!V#Q#V#pQ#X!XQ#Y!YQ#Z!ZQ#]![Q#^!]Q#`!^R%U$wvYOn!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%a|pPUVbfgot!S!V!X!Y!Z![!]!^#Q#V#c#d#p$wR!_^TxQy!VSOPV^not!W!i!o!|#c#d#g#i#j#m#v$O$T$`$q$r%Q%`%aU$P#i$r%QQ$X#mQ$]#vV$i$T%`%aZsPVt#c#dwcOn!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%aweOn!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%awhOn!W!i!o!|#g#i#j#m#v$O$T$`$q$r%Q%`%a",
nodeNames: "⚠ Star Slash Plus Minus And Or Eq EqEq Neq Lt Lte Gt Gte Modulo PlusEq MinusEq StarEq SlashEq ModuloEq Identifier AssignableIdentifier Word IdentifierBeforeDot Do Program PipeExpr FunctionCall DotGet Number ParenExpr FunctionCallOrIdentifier BinOp String StringFragment Interpolation EscapeSeq Boolean Regex Dict NamedArg NamedArgPrefix FunctionDef Params NamedParam Null colon CatchExpr keyword TryBlock FinallyExpr keyword keyword Underscore Array ConditionalOp PositionalArg operator WhileExpr keyword SingleLineBlock MultiLineBlock TryExpr keyword Throw keyword IfExpr keyword SingleLineThenBlock ThenBlock ElseIfExpr keyword ElseExpr keyword CompoundAssign Assign",
maxTerm: 120,
context: trackScope,
nodeProps: [
["closedBy", 46,"end"]
],
propSources: [highlighting],
skippedNodes: [0],
repeatNodeCount: 11,
tokenData: "C_~R|OX#{XY$jYZ%TZp#{pq$jqs#{st%ntu'Vuw#{wx'[xy'ayz'zz{#{{|(e|}#{}!O+X!O!P#{!P!Q-n!Q![)S![!]6Z!]!^%T!^!}#{!}#O6t#O#P8j#P#Q8o#Q#R#{#R#S9Y#S#T#{#T#Y,Y#Y#Z9s#Z#b,Y#b#c>q#c#f,Y#f#g?n#g#h,Y#h#i@k#i#o,Y#o#p#{#p#qBo#q;'S#{;'S;=`$d<%l~#{~O#{~~CYS$QUrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{S$gP;=`<%l#{^$qUrS!{YOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U%[UrS#_QOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{^%uZrS!|YOY%nYZ#{Zt%ntu&huw%nwx&hx#O%n#O#P&h#P;'S%n;'S;=`'P<%lO%nY&mS!|YOY&hZ;'S&h;'S;=`&y<%lO&hY&|P;=`<%l&h^'SP;=`<%l%n~'[O#W~~'aO#U~U'hUrS#RQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U(RUrS#dQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U(jWrSOt#{uw#{x!Q#{!Q![)S![#O#{#P;'S#{;'S;=`$d<%lO#{U)ZYrSmQOt#{uw#{x!O#{!O!P)y!P!Q#{!Q![)S![#O#{#P;'S#{;'S;=`$d<%lO#{U*OWrSOt#{uw#{x!Q#{!Q![*h![#O#{#P;'S#{;'S;=`$d<%lO#{U*oWrSmQOt#{uw#{x!Q#{!Q![*h![#O#{#P;'S#{;'S;=`$d<%lO#{U+^^rSOt#{uw#{x}#{}!O,Y!O!Q#{!Q![)S![!_#{!_!`-T!`#O#{#P#T#{#T#o,Y#o;'S#{;'S;=`$d<%lO#{U,_[rSOt#{uw#{x}#{}!O,Y!O!_#{!_!`-T!`#O#{#P#T#{#T#o,Y#o;'S#{;'S;=`$d<%lO#{U-[UyQrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U-sWrSOt#{uw#{x!P#{!P!Q.]!Q#O#{#P;'S#{;'S;=`$d<%lO#{U.b^rSOY/^YZ#{Zt/^tu0auw/^wx0ax!P/^!P!Q#{!Q!}/^!}#O5S#O#P2o#P;'S/^;'S;=`6T<%lO/^U/e^rSvQOY/^YZ#{Zt/^tu0auw/^wx0ax!P/^!P!Q3U!Q!}/^!}#O5S#O#P2o#P;'S/^;'S;=`6T<%lO/^Q0fXvQOY0aZ!P0a!P!Q1R!Q!}0a!}#O1p#O#P2o#P;'S0a;'S;=`3O<%lO0aQ1UP!P!Q1XQ1^UvQ#Z#[1X#]#^1X#a#b1X#g#h1X#i#j1X#m#n1XQ1sVOY1pZ#O1p#O#P2Y#P#Q0a#Q;'S1p;'S;=`2i<%lO1pQ2]SOY1pZ;'S1p;'S;=`2i<%lO1pQ2lP;=`<%l1pQ2rSOY0aZ;'S0a;'S;=`3O<%lO0aQ3RP;=`<%l0aU3ZWrSOt#{uw#{x!P#{!P!Q3s!Q#O#{#P;'S#{;'S;=`$d<%lO#{U3zbrSvQOt#{uw#{x#O#{#P#Z#{#Z#[3s#[#]#{#]#^3s#^#a#{#a#b3s#b#g#{#g#h3s#h#i#{#i#j3s#j#m#{#m#n3s#n;'S#{;'S;=`$d<%lO#{U5X[rSOY5SYZ#{Zt5Stu1puw5Swx1px#O5S#O#P2Y#P#Q/^#Q;'S5S;'S;=`5}<%lO5SU6QP;=`<%l5SU6WP;=`<%l/^U6bUrS!OQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U6{W#^QrSOt#{uw#{x!_#{!_!`7e!`#O#{#P;'S#{;'S;=`$d<%lO#{U7jVrSOt#{uw#{x#O#{#P#Q8P#Q;'S#{;'S;=`$d<%lO#{U8WU#]QrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{~8oO#X~U8vU#cQrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U9aUrS!VQOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{U9x]rSOt#{uw#{x}#{}!O,Y!O!_#{!_!`-T!`#O#{#P#T#{#T#U:q#U#o,Y#o;'S#{;'S;=`$d<%lO#{U:v^rSOt#{uw#{x}#{}!O,Y!O!_#{!_!`-T!`#O#{#P#T#{#T#`,Y#`#a;r#a#o,Y#o;'S#{;'S;=`$d<%lO#{U;w^rSOt#{uw#{x}#{}!O,Y!O!_#{!_!`-T!`#O#{#P#T#{#T#g,Y#g#h<s#h#o,Y#o;'S#{;'S;=`$d<%lO#{U<x^rSOt#{uw#{x}#{}!O,Y!O!_#{!_!`-T!`#O#{#P#T#{#T#X,Y#X#Y=t#Y#o,Y#o;'S#{;'S;=`$d<%lO#{U={[uQrSOt#{uw#{x}#{}!O,Y!O!_#{!_!`-T!`#O#{#P#T#{#T#o,Y#o;'S#{;'S;=`$d<%lO#{^>x[#YWrSOt#{uw#{x}#{}!O,Y!O!_#{!_!`-T!`#O#{#P#T#{#T#o,Y#o;'S#{;'S;=`$d<%lO#{^?u[#[WrSOt#{uw#{x}#{}!O,Y!O!_#{!_!`-T!`#O#{#P#T#{#T#o,Y#o;'S#{;'S;=`$d<%lO#{^@r^#ZWrSOt#{uw#{x}#{}!O,Y!O!_#{!_!`-T!`#O#{#P#T#{#T#f,Y#f#gAn#g#o,Y#o;'S#{;'S;=`$d<%lO#{UAs^rSOt#{uw#{x}#{}!O,Y!O!_#{!_!`-T!`#O#{#P#T#{#T#i,Y#i#j<s#j#o,Y#o;'S#{;'S;=`$d<%lO#{UBvU!ZQrSOt#{uw#{x#O#{#P;'S#{;'S;=`$d<%lO#{~C_O#l~",
tokenizers: [operatorTokenizer, 1, 2, 3, tokenizer, new LocalTokenGroup("[~RP!O!PU~ZO#Q~~", 11)],
topRules: {"Program":[0,25]},
specialized: [{term: 20, get: (value: any, stack: any) => (specializeKeyword(value, stack) << 1), external: specializeKeyword},{term: 20, get: (value: keyof typeof spec_Identifier) => spec_Identifier[value] || -1}],
tokenPrec: 1705
})