diff --git a/ludus.grammar b/ludus.grammar index 4860de7..4f28f52 100644 --- a/ludus.grammar +++ b/ludus.grammar @@ -192,7 +192,7 @@ If { If_Let { skw<"if"> skw<"let"> - Pattern "=" simple + Pattern "=" simple newline* skw<"then"> expression newline* skw<"else"> expression } @@ -287,6 +287,6 @@ Nil { skw<"nil"> } float { ("0" | int ) "." $[0-9]+} Number { "-"? (int | float) } separator { $[,\n] } - terminator { $[;\n] } + terminator { $[;\n] | @eof } newline { "\n" } } diff --git a/parser.js b/parser.js index 411b929..633ca05 100644 --- a/parser.js +++ b/parser.js @@ -3,14 +3,14 @@ import {LRParser} from "@lezer/lr" const spec_Word = {__proto__:null,true:8, false:10, nil:148, fn:188, recur:192, if:198, then:202, else:204, let:206, match:210, with:212, when:216, loop:218, repeat:222, each:224, ref:230, import:234, as:236, use:238, ns:240} export const parser = LRParser.deserialize({ version: 14, - states: "!8nOYQPOOOOQO'#D^'#D^OYQPOOO#PQPO'#CeOOQO'#Dw'#DwO#UQPO'#DwO%TQQO'#CfO%[QQO'#CgO%fQQO'#CiO%pQQO'#CjO&RQQO'#CkOOQO'#Dz'#DzO&aQPO'#ClOOQO'#Dv'#DvO&iQPO'#CyOOQO'#Ea'#EaOOQO'#Du'#DuOOQO'#Er'#ErOOQO'#Dt'#DtOOQO'#Et'#EtO(VQPO'#DsOOQO'#D_'#D_Q)uQPOOOOQO'#C^'#C^OOQO'#Cb'#CbO*SQPO'#CoO&dQPO'#CxO+YQPO'#CzO+aQPO'#C|O,_QPO'#DPO,dQPO'#DRO-bQPO'#DTO,dQPO'#DUO-jQPO'#DVO.bQPO'#DWO.gQPO'#DZO.lQPO'#D[O.qQPO'#D]OOQO-E7[-E7[OOQO,59P,59PO.vQQO'#DwOOQO'#D`'#D`O/[QQO,59QO/cQQO,59QOOQO,59Q,59QO*VQPO'#CoO/kQQO,59ROOQO'#EP'#EPO/uQQO,59ROOQO,59R,59RO/}QPO'#ChO0SQQO,59TO0^QQO,59TOOQO,59T,59TO0fQQO,59UOOQO'#EW'#EWO0wQPO'#EWOOQO'#EV'#EVO2[QQO,59UOOQO,59U,59UO2dQQO,59VO2jQQO,59VOOQO,59V,59VO3vQQO'#CmOOQO'#EZ'#EZOOQO'#De'#DeO3}QPO,59WO&iQPO,59eO4fQPO,59eO4nQPO,5:_OOQO-E7]-E7]O6hQQO'#CqO6uQPO'#CpOOQO,59Z,59ZO6zQPO,59sOOQO,59d,59dO7SQSO'#DwO7eQSO,59fO-jQPO,59gO7mQPO,59hO7rQPO,59kO8PQWO'#DwO8_QWO,59mO8dQPO,59oO8iQWO,59pOOQO'#Cn'#CnO8nQQO'#CsO8{QQO'#CuO9^QQO'#CwOOQO'#Cr'#CrO9oQPO,59qO9tQPO,59rO9yQPO,59uOOQO,59v,59vO:OQPO,59wOOQO-E7^-E7^O:TQQO1G.lOOQO1G.l1G.lO:]QQO1G.lO:TQQO1G.lO:dQQO,59WO:xQQO1G.mOOQO1G.m1G.mO;QQQO1G.mO:xQQO1G.mOOQO,59S,59SO;[QQO1G.oOOQO1G.o1G.oO;dQQO1G.oO;[QQO1G.oO;nQQO1G.pOOQO1G.p1G.pOOQO,5:r,5:rO;vQQO1G.pO;nQQO1G.pOgQPO'#DSOOQO1G/_1G/_OOQO1G/`1G/`O>oQSO,59WOOQO'#Dj'#DjO?QQSO1G/QO?YQPO1G/QO@sQPO1G/RO@xQPO1G/SO7rQPO1G/VOASQPO'#DQOOQO'#DO'#DOOAXQPO1G/VOAaQWO,59WO6zQPO1G/XOOQO1G/Z1G/ZO6zQPO1G/[OAoQQO,59_OOQO,59_,59_OA|QQO,59_OA|QQO,59_O6nQPO,59_OBUQQO,59aOOQO'#Cv'#CvO-jQPO'#CvOBgQQO,59aOBoQPO,59aOOQO,59a,59aOBgQQO,59aOBzQQO,59cOC]QQO,59cOBoQPO,59cOOQO,59c,59cOC]QQO,59cO=|QPO1G/]O([QPO1G/^OCeQPO1G/aOCjQQO1G/cOCuQQO7+$WOC|QQO7+$WOOQO7+$W7+$WOOQO,59{,59{OOQO-E7_-E7_ODUQQO7+$XOD`QQO7+$XOOQO7+$X7+$XOOQO,59|,59|OOQO-E7`-E7`ODhQQO7+$ZODrQQO7+$ZOOQO7+$Z7+$ZODzQQO7+$[OE]QQO7+$[OOQO7+$[7+$[OOQO,59},59}OOQO-E7a-E7aOEeQQO7+$]OEkQQO7+$]OOQO7+$]7+$]OOQO,5:O,5:OOOQO-E7b-E7bOOQO1G.s1G.sOEsQQO1G.sOE{QQO1G.sOEsQQO1G.sOFSQPO7+$kOFZQPO7+$kOOQO7+$k7+$kOOQO,5:T,5:TOOQO-E7g-E7gOFcQQO1G.wO6nQPO1G.wOOQO1G.w1G.wOFcQQO1G.wOGiQQO1G.wOOQO-E7e-E7eOFcQQO1G.wOOQO,59`,59`OOQO1G.v1G.vO>gQPO,59nOGpQPO,59nOOQO-E7h-E7hO?YQPO7+$lOGxQSO7+$lO+aQPO7+$mOHQQPO'#C}OOQO'#Ek'#EkOHVQPO'#EkOOQO7+$n7+$nOHaQPO7+$qOHiQSO,59lOHpQPO7+$qOHaQPO7+$qOOQO7+$q7+$qOOQO7+$s7+$sOOQO7+$v7+$vOOQO1G.y1G.yOIQQQO1G.yOIQQQO1G.yO6nQPO1G.yOIYQQO1G.yOIQQQO1G.yOIaQQO1G.{OBoQPO1G.{OOQO1G.{1G.{OIaQQO1G.{OOQO,59b,59bOIiQQO1G.{OOQO-E7f-E7fOIaQQO1G.{OIzQQO1G.}OBoQPO1G.}OOQO1G.}1G.}OIzQQO1G.}OJSQQO1G.}OIzQQO1G.}OOQO7+$w7+$wOOQO7+$x7+$xOOQO7+${7+${OCjQQO7+$}OJeQQO7+$}OOQO<TO!&VQQOAN>TOOQOAN>TAN>TOOQOAN=eAN=eOOQOAN=iAN=iOOQO<gQPO'#D^O([QPOG23^OOQOG23^G23^O!&jQSOG23_OOQO7+$o7+$oO!&rQPO7+&]O!'PQPO7+&]OOQO7+&]7+&]OOQO,5:V,5:VOOQO-E7i-E7iOOQOG23cG23cOOQOAN=kAN=kOOQOAN=mAN=mOOQOAN=oAN=oOOQOG23oG23oO!'XQQOG23oOOQOAN=zAN=zOOQOLD(xLD(xO!'gQSOLD(yO([QPOLD(yOOQO<aQPO'#DSOOQO1G/_1G/_OOQO1G/`1G/`O>iQSO,59WOOQO'#Dj'#DjO>zQSO1G/QO?SQPO1G/QO@mQPO1G/RO@rQPO1G/SO7lQPO1G/VO@|QPO'#DQOOQO'#DO'#DOOARQPO1G/VOAZQWO,59WO6tQPO1G/XOOQO1G/Z1G/ZO6tQPO1G/[OAiQQO,59_OOQO,59_,59_OAvQQO,59_OAvQQO,59_O6hQPO,59_OBOQQO,59aOOQO'#Cv'#CvO-gQPO'#CvOBaQQO,59aOBiQPO,59aOOQO,59a,59aOBaQQO,59aOBtQQO,59cOCVQQO,59cOBiQPO,59cOOQO,59c,59cOCVQQO,59cO=vQPO1G/]O(XQPO1G/^OC_QPO1G/aOCdQQO1G/cOCoQQO7+$WOCvQQO7+$WOOQO7+$W7+$WOOQO,59{,59{OOQO-E7_-E7_ODOQQO7+$XODYQQO7+$XOOQO7+$X7+$XOOQO,59|,59|OOQO-E7`-E7`ODbQQO7+$ZODlQQO7+$ZOOQO7+$Z7+$ZODtQQO7+$[OEVQQO7+$[OOQO7+$[7+$[OOQO,59},59}OOQO-E7a-E7aOE_QQO7+$]OEeQQO7+$]OOQO7+$]7+$]OOQO,5:O,5:OOOQO-E7b-E7bOOQO1G.s1G.sOEmQQO1G.sOEuQQO1G.sOEmQQO1G.sOE|QPO7+$kOFTQPO7+$kOOQO7+$k7+$kOOQO,5:T,5:TOOQO-E7g-E7gOF]QQO1G.wO6hQPO1G.wOOQO1G.w1G.wOF]QQO1G.wOGcQQO1G.wOOQO-E7e-E7eOF]QQO1G.wOOQO,59`,59`OOQO1G.v1G.vO>aQPO,59nOGjQPO,59nOOQO-E7h-E7hO?SQPO7+$lOGrQSO7+$lO*XQPO7+$mOGzQPO'#C}OOQO'#Ek'#EkOHPQPO'#EkOOQO7+$n7+$nOHZQPO7+$qOHcQSO,59lOHjQPO7+$qOHZQPO7+$qOOQO7+$q7+$qOOQO7+$s7+$sOOQO7+$v7+$vOOQO1G.y1G.yOHzQQO1G.yOHzQQO1G.yO6hQPO1G.yOISQQO1G.yOHzQQO1G.yOIZQQO1G.{OBiQPO1G.{OOQO1G.{1G.{OIZQQO1G.{OOQO,59b,59bOIcQQO1G.{OOQO-E7f-E7fOIZQQO1G.{OItQQO1G.}OBiQPO1G.}OOQO1G.}1G.}OItQQO1G.}OI|QQO1G.}OItQQO1G.}OOQO7+$w7+$wOOQO7+$x7+$xOOQO7+${7+${OCdQQO7+$}OJ_QQO7+$}OOQO<TO!&[QQOAN>TOOQOAN>TAN>TOOQOAN=eAN=eOOQOAN=iAN=iOOQO<aQPO'#D^O(XQPOG23^OOQOG23^G23^O?SQPOG23_O!&oQSOG23_OOQO7+$o7+$oO!&wQPO7+&]O!'UQPO7+&]OOQO7+&]7+&]OOQO,5:V,5:VOOQO-E7i-E7iOOQOG23cG23cOOQOAN=kAN=kOOQOAN=mAN=mOOQOAN=oAN=oOOQOG23oG23oO!'^QQOG23oOOQOAN=zAN=zOOQOLD(xLD(xO!'lQSOLD(yO!'lQSOLD(yO(XQPOLD(yOOQO<x>x>x>}@s@zF[FfFxGSGfGxHSHfHxISKnKxLSPPPPPL^Lc! U!#c!'QPP.ZPPPP!*`PPPPP!*u!+RP!+p!.g!.qPPPP!.}PPPPPPPPP!0|PPPPPP!1SP!2g'eSOQUVW^fklnpqz!O!T!Y!a!e!i!p!r!x#U#Z#`#k#q#t#v#z$R$T$U$^$b$e$o$p$s$x$}%^%`%f%q%s%v%y%z&S&k&l&n&o&q&x'O'P'^'`'a'c'f(U(V(c(f(g(j(n(p)T)V)Y)i)k)l)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+m+n+o+|+},O,P,Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,r,s,t,u,v,w,x,y,z-O-P-Q!WSq!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-Q!bTOQ^fl!e!r#q#z$U$o$p%`%y%z'O'P'^'`'c'f(c(g(n(p)T)i)o)r,u,v,w!hxUVWz!O!T!Y!a#U#Z#`#k$s$x$}%^&k&l&n&o&q&x(U(V)x)|*P*R*U*X*[*_*b*e*hr!YXY!W!^#e#i$r%Q%V&h&s&t&v&w'{({)d`!b[!d#W$O$Y)u)v)w!h!nk$R%q%s(f)V)y){*O*T*W*Z*^*a*d*g*j+|+},O,S,T,U,V,W,X,Y,Z,[,r,s,t,x,y,zv!snp)z)}*Q*S*V*Y*]*`*c*f*i,],^,_,`,a,ba$e!y!z$c$g$j$l&W&`&]ZOQUVW^fklnpz!O!T!Y!a!e!r#U#Z#`#k#q#z$R$U$o$p$s$x$}%^%`%q%s%y%z&k&l&n&o&q&x'O'P'^'`'c'f(U(V(c(f(g(n(p)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,r,s,t,u,v,w,x,y,zf!PVW!O!T#Z#`$x$}&n&o&q]!ZX!W#e%Q&s&t&]]OQUVW^fklnpz!O!T!Y!a!e!r#U#Z#`#k#q#z$R$U$o$p$s$x$}%^%`%q%s%y%z&k&l&n&o&q&x'O'P'^'`'c'f(U(V(c(f(g(n(p)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,r,s,t,u,v,w,x,y,z`!b[!d#W$O$Y)u)v)wR!mj!W!{q!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-Q[#l!a#k%^&x(U(V[$V!r$U%z'c(n(pR%l#y`!ki}+j+k+l+s+t+uW#|!l*n*o*pQ%o#{W%}$Z*w*x*yW&O$]*z*{*|Q'W%nX(`'X(])R)Sf!ji!l#{$Z$]%n'X(])R)S+t!W!{q!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-QY*k}*o*w*z+kY*l*n*y*|+j+sZ*m*p*x*{+l+uQ!|qQ#u!iQ$S!pQ$`!xS%e#t#v^%t$T%v'a(j)Y)k)lS&Q$^$bQ&Z$eQ'S%fQ'm&SQ*q+mQ*r+nQ*s+oQ+Q,PQ+R,QQ+S,RQ,{-OQ,|-PR,}-Q!X!{q!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-QQ#x!iQ$a!xQ$i!yQ$n!zS%h#t#vS&R$^$bS&Y$c$gS&b$j$lQ'T%fQ'n&SQ'r&WR'x&`Q$f!yQ$k!zS&V$c$gS&_$j$lQ'q&WR'w&`$x_OQUVW^fz!O!T!Y!e#U#Z#`#q#z$R$o$p$s$x$}%`%q%y&k&l&n&o&q'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[R$[!u$y_OQUVW^fz!O!T!Y!e#U#Z#`#q#z$R$o$p$s$x$}%`%q%y&k&l&n&o&q'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[W%u$T,P,Q,RQ'b%vQ(i'aX)](j)Y)k)l[$V!r$U%z'c(n(p^%t$T%v'a(j)Y)k)lQ+Q,PQ+R,QR+S,RQ$X!rQ%x$UX'h%z'c(n(pW#}!l*n*o*pW%}$Z*w*x*yX&O$]*z*{*|#saOQ^f!e#q$R$p%`%q%y'O'P'^'`'f(c(f(g)T)V)i)o)r*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[VcOQfQQO|vQ!e!g#q$U%`%n%z'O'P'X'a'c(](j(n(p)R)S)Y)k)lQ!e^Q!gdQ#q!fQ$U!rS%`#p#rQ%n#{Q%z$XQ'O%aQ'X%oQ'a%vS'c%x%{S(]'W'YQ(j'bQ(n'dQ)R(^S)Y(i(kR)k)ZSfOQR!hfQzUQ!OVQ!TWQ!WXQ!^Y#r#Rz!O!T!W!^#U#Z#`#e#i#k#t$^$c$j$s$x$}%Q%V%^%i%k&T&U&[&^&c&d&h&k&l&n&o&q&s&t&v&w&x'Q'U'j'l'o's'u'y'{(U(V(Y(Z([(r(s(u(v(w(y(z({)dQ#U{Q#Z!QQ#`!UQ#e![Q#i!_Q#k!aQ#t!iQ$^!xQ$c!yQ$j!zS$s#S#VS$x#X#[S$}#^#aS%Q#b#fS%V#g#jQ%^#nQ%i#uQ%k#xQ&T$`Q&U$aQ&[$fQ&^$iQ&c$kQ&d$nQ&h$rQ&k$tQ&n$yQ&q%OQ&s%RQ&v%WS&x%]%_Q'Q%eQ'U%hQ'j&QQ'l&RQ'o&VQ's&YQ'u&_Q'y&bQ'{&iQ(U&yQ(Y'SQ(Z'TQ(['VQ(r'mQ(s'nQ(u'qQ(v'rQ(w'tQ(y'wQ(z'xS({'z'|R)d(|Q#V{Q$t#ST$w#V$tQ#[!QQ#a!UQ$y#XW$|#[#a$y%OR%O#^Q#f![Q%R#bT%U#f%RQ#j!_Q%W#gW%Z#j%W'|(|Q'|&iR(|'zQ!d[Q#W)uW#o!d#W$O$YQ$O)vR$Y)wQ%_#nQ&y%]T&|%_&yQ#v!iQ$b!xQ%f#tW%j#v$b%f&SR&S$^Q$g!yQ$l!zQ&W$cW&]$g$l&W&`R&`$jQ#r!fQ%a#pT%d#r%aQ$Q!o![%p$Q']'f(b(e(g)h)n*[*]*^+W+X+Y+Z+[+]+d+e+f+g+h+i,i,j,k,o,p,qQ']%rQ'f%yQ(b'[Q(e'_Q(g'`Q)h)WQ)n)gQ*[*UQ*]*VQ*^*WQ+W*}Q+X+OQ+Y+PQ+Z+TQ+[+UQ+]+VQ+d+^Q+e+_Q+f+`Q+g+aQ+h+bQ+i+cQ,i,cQ,j,dQ,k,eQ,o,lQ,p,mR,q,nQ(k'bQ)Z(iT)^(k)ZQ%{$XQ'd%xT'i%{'dQ'Y%oQ(^'WT(a'Y(^VeOQfUdOQfQ!f^Q#p!eW%c#q%`'O'PQ%r$RW&f$p*O*P*QQ'[%qQ'g%yW(d'^*R*S*TW(h'`*U*V*WQ(o'fW)U(c*X*Y*ZQ)W(fW)X(g*[*]*^W)f)T*_*`*aQ)g)VW)p)i*b*c*dW)s)o*e*f*gW)t)r*h*i*jQ*}+|Q+O+}Q+P,OQ+T,SQ+U,TQ+V,UQ+^,VQ+_,WQ+`,XQ+a,YQ+b,ZR+c,[#rbOQ^f!e#q$R$p%`%q%y'O'P'^'`'f(c(f(g)T)V)i)o)r*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[Q{Uf!PVW!O!T#Z#`$x$}&n&o&qQ#SzQ#d!YW$v#U$s&k&lW%m#z)x)y)zX&e$o){)|)}$x`OQUVW^fz!O!T!Y!e#U#Z#`#q#z$R$o$p$s$x$}%`%q%y&k&l&n&o&q'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[Q!okQ!qlQ!tnQ!vp[#l!a#k%^&x(U(V[$V!r$U%z'c(n(pQ'_%sQ+v,]Q+w,^Q+x,_Q+y,`Q+z,aQ+{,bQ,c,rQ,d,sQ,e,tQ,f,uQ,g,vQ,h,wQ,l,xQ,m,yR,n,z&[]OQUVW^fklnpz!O!T!Y!a!e!r#U#Z#`#k#q#z$R$U$o$p$s$x$}%^%`%q%s%y%z&k&l&n&o&q&x'O'P'^'`'c'f(U(V(c(f(g(n(p)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,r,s,t,u,v,w,x,y,z!X!{q!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-QQ!QVQ!UWQ#X!OQ#^!T_${#Z#`$x$}&n&o&qQ![XQ#b!WX%T#e%Q&s&t[!ZX!W#e%Q&s&tQ!_YQ#g!^^%Y#i%V&v&w'{({)dQ&i$rR'z&h!b[OQ^fl!e!r#q#z$U$o$p%`%y%z'O'P'^'`'c'f(c(g(n(p)T)i)o)r,u,v,w!h)uUVWz!O!T!Y!a#U#Z#`#k$s$x$}%^&k&l&n&o&q&x(U(V)x)|*P*R*U*X*[*_*b*e*h!h)vk$R%q%s(f)V)y){*O*T*W*Z*^*a*d*g*j+|+},O,S,T,U,V,W,X,Y,Z,[,r,s,t,x,y,zw)wnp)z)}*Q*S*V*Y*]*`*c*f*i,],^,_,`,a,ba!c[!d#W$O$Y)u)v)wQ#n!aQ%]#kX&{%^&x(U(V$y`OQUVW^fz!O!T!Y!e#U#Z#`#q#z$R$o$p$s$x$}%`%q%y&k&l&n&o&q'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[X%w$T,P,Q,R#sbOQ^f!e#q$R$p%`%q%y'O'P'^'`'f(c(f(g)T)V)i)o)r*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[VdOQf", nodeNames: "⚠ Script Boolean Word true false Nil String Number Keyword Tuple List Splat Set Dict Struct Synthetic Args Placeholder Fn_Lambda Fn_Clause Tuple_Pattern Pattern List_Pattern Splattern Dict_Pattern Assoc_Pattern Struct_Pattern Recur Block If If_Let Match Match_Clause Else When When_Clause Loop Fn_Clauses Repeat Each Let Ref Fn_Named Fn_Compound Import Use Ns", maxTerm: 120, skippedNodes: [0], repeatNodeCount: 16, - tokenData: "-g~RmXY!|YZ#[]^!|pq!|rs#est%Rtu%^vw%ixy&Qyz&V|}&[}!O&a!O!P'e!Q!R&m!R!['T![!]'v!]!^'{!_!`(Q!b!c(V!}#O(b#P#Q(g#R#S(l#T#W(q#W#X)]#X#k(q#k#l*k#l#o(q#o#p-]#q#r-b~#RR!d~XY!|]^!|pq!|V#eO#WS!pQ!fP~#hVOr#ers#}s#O#e#O#P$S#P;'S#e;'S;=`${<%lO#e~$SOV~~$VRO;'S#e;'S;=`$`;=`O#e~$cWOr#ers#}s#O#e#O#P$S#P;'S#e;'S;=`${;=`<%l#e<%lO#e~%OP;=`<%l#e~%UP#o#p%X~%^O!x~~%aP#o#p%d~%iO!v~~%nS!e~OY%iZ;'S%i;'S;=`%z<%lO%i~%}P;=`<%l%i~&VO!o~~&[O!q~Q&aO!pQ~&dR!Q!R&m!R!['T!`!a'`~&rPW~!O!P&u~&xP!Q![&{~'QPW~!Q![&{~'YQW~!O!P&u!Q!['T~'eO#R~~'hP!O!P'k~'nP!O!P'q~'vO!t~~'{O!m~P(QO!fP~(VO#[~~(YP#o#p(]~(bO!{~~(gO!r~~(lO!u~~(qO#P~V(vVRVqr(q}!O(q!P!Q(q!a!b(q!c!}(q#R#S(q#T#o(q_)bXRVqr(q}!O(q!P!Q(q!a!b(q!c!}(q#R#S(q#T#c(q#c#d)}#d#o(q_*UV#eWRVqr(q}!O(q!P!Q(q!a!b(q!c!}(q#R#S(q#T#o(q_*pXRVqr(q}!O(q!P!Q(q!a!b(q!c!}(q#R#S(q#T#](q#]#^+]#^#o(q_+bXRVqr(q}!O(q!P!Q(q!a!b(q!c!}(q#R#S(q#T#h(q#h#i+}#i#o(q_,SXRVqr(q}!O(q!P!Q(q!a!b(q!c!}(q#R#S(q#T#[(q#[#],o#]#o(q_,vV#bWRVqr(q}!O(q!P!Q(q!a!b(q!c!}(q#R#S(q#T#o(q~-bO#U~~-gO!w~", + tokenData: "-j~RnXY#PYZ#_]^#Ppq#Prs#hst%Utu%avw%lxy&Tyz&Y|}&_}!O&d!O!P'h!Q!R&p!R!['W![!]'y!]!^(O!_!`(T!b!c(Y!}#O(e#P#Q(j#R#S(o#T#W(t#W#X)`#X#k(t#k#l*n#l#o(t#o#p-`#q#r-e~~(O~#UR!d~XY#P]^#Ppq#PV#hO#WS!pQ!fP~#kVOr#hrs$Qs#O#h#O#P$V#P;'S#h;'S;=`%O<%lO#h~$VOV~~$YRO;'S#h;'S;=`$c;=`O#h~$fWOr#hrs$Qs#O#h#O#P$V#P;'S#h;'S;=`%O;=`<%l#h<%lO#h~%RP;=`<%l#h~%XP#o#p%[~%aO!x~~%dP#o#p%g~%lO!v~~%qS!e~OY%lZ;'S%l;'S;=`%}<%lO%l~&QP;=`<%l%l~&YO!o~~&_O!q~Q&dO!pQ~&gR!Q!R&p!R!['W!`!a'c~&uPW~!O!P&x~&{P!Q!['O~'TPW~!Q!['O~']QW~!O!P&x!Q!['W~'hO#R~~'kP!O!P'n~'qP!O!P't~'yO!t~~(OO!m~P(TO!fP~(YO#[~~(]P#o#p(`~(eO!{~~(jO!r~~(oO!u~~(tO#P~V(yVRVqr(t}!O(t!P!Q(t!a!b(t!c!}(t#R#S(t#T#o(t_)eXRVqr(t}!O(t!P!Q(t!a!b(t!c!}(t#R#S(t#T#c(t#c#d*Q#d#o(t_*XV#eWRVqr(t}!O(t!P!Q(t!a!b(t!c!}(t#R#S(t#T#o(t_*sXRVqr(t}!O(t!P!Q(t!a!b(t!c!}(t#R#S(t#T#](t#]#^+`#^#o(t_+eXRVqr(t}!O(t!P!Q(t!a!b(t!c!}(t#R#S(t#T#h(t#h#i,Q#i#o(t_,VXRVqr(t}!O(t!P!Q(t!a!b(t!c!}(t#R#S(t#T#[(t#[#],r#]#o(t_,yV#bWRVqr(t}!O(t!P!Q(t!a!b(t!c!}(t#R#S(t#T#o(t~-eO#U~~-jO!w~", tokenizers: [0, 1, 2, 3], topRules: {"Script":[0,1]}, specialized: [{term: 3, get: (value) => spec_Word[value] || -1}],