From 7f263f34b2c3218e51e4fa3901ad8aa484c903cf Mon Sep 17 00:00:00 2001 From: Artur Z Date: Fri, 7 Jun 2024 01:18:36 +0200 Subject: [PATCH 1/3] Feat: Class scopes now allow inclusion via reference passing & Other small fixes --- dist/nophp-0.1.8-py3-none-any.whl | Bin 49549 -> 49580 bytes dist/nophp-0.1.8.tar.gz | Bin 125680 -> 125688 bytes dist/nophp-0.1.9rc1-py3-none-any.whl | Bin 0 -> 49878 bytes dist/nophp-0.1.9rc1.tar.gz | Bin 0 -> 132757 bytes index.php | 2 +- nophp/__pycache__/spindle.cpython-312.pyc | Bin 12949 -> 13775 bytes .../lang/__pycache__/compiler.cpython-312.pyc | Bin 12416 -> 12846 bytes nophp/lang/__pycache__/lexer.cpython-312.pyc | Bin 3662 -> 3773 bytes nophp/lang/__pycache__/module.cpython-312.pyc | Bin 7648 -> 7181 bytes .../lang/__pycache__/modules.cpython-312.pyc | Bin 68418 -> 77252 bytes .../lang/__pycache__/pparser.cpython-312.pyc | Bin 52469 -> 53645 bytes nophp/lang/__pycache__/types.cpython-312.pyc | Bin 12218 -> 12699 bytes nophp/lang/compiler.py | 7 +- nophp/lang/lexer.py | 2 + nophp/lang/modules.py | 57 +- nophp/lang/pparser.py | 7 +- nophp/lang/std/__pycache__/db.cpython-312.pyc | Bin 10796 -> 10998 bytes .../lang/std/__pycache__/echo.cpython-312.pyc | Bin 1610 -> 1610 bytes .../htmlspecialchars.cpython-312.pyc | Bin 2500 -> 4465 bytes .../std/__pycache__/internal.cpython-312.pyc | Bin 2571 -> 4458 bytes .../lang/std/__pycache__/json.cpython-312.pyc | Bin 3348 -> 3434 bytes .../__pycache__/primitives.cpython-312.pyc | Bin 4034 -> 5977 bytes .../std/__pycache__/session.cpython-312.pyc | Bin 5415 -> 5594 bytes .../std/__pycache__/string.cpython-312.pyc | Bin 5459 -> 6457 bytes .../std/__pycache__/stripe.cpython-312.pyc | Bin 0 -> 4795 bytes nophp/lang/std/memory.py | 2 +- parser.out | 28057 ++++++++-------- pyproject.toml | 2 +- test.php | 12 +- 29 files changed, 14533 insertions(+), 13615 deletions(-) create mode 100644 dist/nophp-0.1.9rc1-py3-none-any.whl create mode 100644 dist/nophp-0.1.9rc1.tar.gz create mode 100644 nophp/lang/std/__pycache__/stripe.cpython-312.pyc diff --git a/dist/nophp-0.1.8-py3-none-any.whl b/dist/nophp-0.1.8-py3-none-any.whl index ea4c62f35f6bdf0e43a236941ff4d3d4bbfe1751..38e663b0f3b36651baca8bf7e63e2861d56feadf 100644 GIT binary patch delta 10322 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 WvmQO18e$On*j5`Sw3jX$Ra5>drYQWbMm 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÷Hf(je98$u zH+C%RJD3!F>BcT`OQb1r)aTI^aWB@CkRFR87k1J~)_)T(38+5-`gh0v&v(_8P6oTQ z5|4y1rnw~?LF{?HK}2G>`6|SWcy4Z_W8y(|@oLmG@@#)4E^V@~cH?6Hf{)S1oV;Uf z)_%i2S^WKxA5DtT|Vh3~49SN`cLnkmcR%Sot#D(4qX42swYXfz#Qa))q~Q-Bt!mL)CdQD9;iGp5HmYTZG!(Akhv z9ME|dD;>u;Bfx?6gPBu03$YQC0oY0!%b(0Ad9;5>)1nitDX6wAXP-)7WkX?-lNNVD zUtzpP>FCR%T*icw9?x|C`iNE!aU14lT7O zFQO-39hHjT=ieNC@qDMv6&kcf&XPB#4A8pO?6Ya3tDXv(P$jC1#Nn|lvCqSch~@<` z;+uca=VLHZ7Br)18x!~h1L6Nj393&!gfqPBF- z0aA}N+n`eP5@1jgwI6!b*?(24QkAMyr7D-j>H#K~;OYSg4ay(1{12bI^ppU=2mt$o BeMbNQ diff --git a/dist/nophp-0.1.9rc1-py3-none-any.whl b/dist/nophp-0.1.9rc1-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..633d852bc7e678266ed724e53509002c2b6285db GIT binary patch literal 49878 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

tS%eMLS5)1JDa?aZ( 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 I^Bg?(VW`u>p5s{gaAi>~q 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 diff --git a/nophp/__pycache__/spindle.cpython-312.pyc b/nophp/__pycache__/spindle.cpython-312.pyc index 1862a712d1973c220256347f7814910eea050764..c5e65123651874f22d2563af20ed9e13b73fb064 100644 GIT binary patch delta 4214 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 delta 2303 zcmZuydrVtZ7{90OZ7K8tZ7HRcQd$ZWN`WzAP=Y)L>_OOzNe0PC*K;9Vpv7}x8)RGE zhH)7p)3dl~jJm&+X^e!#KW5@$G!eHLGyl-##y?H=hmY)`#!Qp>eW&BGWVh+>p7T9^ z=R4o`opV2-FU4&)t=3!#p6%X`l`}QVwmd=_xR-=8)R2_2KPr!!sBw-A8K`Ma8j_RJ zD4{tpH&QdqO*9uUhnCa4Im3_{-WGW0Qmc}uSc-v~+NgfiKg4$)4%n}V{#e$}2P97@UH1~j&drYEkAVlY4rHFcw z1gvvt30Qk*1@(bdF>+;pG`xwS6l}b(r~?@MU{``;oRq=DM*|R7>5M*7$q(o%iDTu2 z&Pl8@Qbga+jIg_&h?8H_f5tP0i{w0a$@7K<`vYlZ*m#SS)PO#s*W|=_Tvb^FW=x2T zEXaFv=8fej3G&-H-6X{Q=4!Hq_nI{l=D}R;8B}WIsHQ&}XR011fk1$T(4!7u*4>q! zm`si$mmYgjxp0%zgN1aI} zj`G3$W)fam$iG9Zf-RRdAW$AYSWLf6XltnfF7 z2m;;Lx5T6F3bM@iy7&38UJ2al+LH$Zq-NRTgjo5+ooue^H*kNDht(PwJJ;)#dq*PMxTP@>XF!zsh7_p6Y9I{HRBx(0Ua z?$_k0=}GA1L4KvwL;Co&(rLccUsok(ON^|VF`k%8rc;`pDN`CzR2hVDAh0U@HNV^V zIn31*zv{0fQGUz6jrdmFWiCQ0cx|BBc92BP!GHd2kUZu0B|A?A7F+M;OCH~)%o~~8 z{<6!aUp&6cd*3s?W%~DSnY|$JQ1t@em*MWb-WJ_AE#_Soc~#dX?J~(XP4X@apDe%R zO<`DaGBr6pwM0auDyAC)Di3D8DHe$_K`^s>zn2-TJ9qP2c0FsUBejTbNfAQZ# z6VOY;72jD0KnuMj@)hCD;aGINC4^AZLr1dHUEA{4S2ulco5WRqxy#JH+LRY6cNRxo2>c7KSvLm|~}J{xZTV2qM?>IJ$sv5kX`md>Myt11w2Q9FGtR#HR|u z27frnKiB(><#OQePQv8|Ro*HG?~n774L?Gj2O2w#c=%Y1ztb42z%I$UzmKDJ%7;0v X*^9i5eZc={Y_xBeiR-?ED2)CG!t?fK diff --git a/nophp/lang/__pycache__/lexer.cpython-312.pyc b/nophp/lang/__pycache__/lexer.cpython-312.pyc index 8103268b5b4222077d1136bf8a91de14e5711f77..a1f02da8fae6826f13a10f67e402586e36a46fb4 100644 GIT binary patch delta 1092 zcmX}rNla5g7{KwFK3e*quNzQAKxGq)D6(&*EiF5W3$i$hqE5>qi?$%*R!BIQcu?f% z(UalWc=T>!;@Oaxc=q(g<>EzWzAxItd;i~iGxOd{GoQ-dms=k#E03w)yUE#P!>+Z! zzwK`P2_zz~xQNa($=`6%D{Ues4H3^i<7+&bh$IZz7*ca&lL*UZQ72nOP_~MYY!mge zUHD{&@W@UPkX^!(-NG$HqC)nFN*NYaG9s#FRMgm5qEGhjbNy_!Qf!CqQ!>%N84vbl zr;WHR_rSiMURasSzP3+szQ6awQOgIirMXUg zOb_^UX28$P5-7mSg*uBc1I#RdV$4I#^g;>dVZCrEW*IXJp&avw&ZC&en3)e1n3Z~L z6=t>08qDMReQGgJFw+N_Aa=PAt7dR_zO8U3M+m`(b9nlW4S<61G>bhcx5 z=&_xcUHU`2F++N>9?Y=58o|s&xkfKX#Sn2qAEKWyfEXkUA%+Pf3SJl`oJE`?jN!2J zgbRp^gi8u87+1)sKk>4X8z$)1q(TWy5vCRL;R-=0c;G7G8e)cUUBL}E2(t=axJkH$ zxJ{4>E=UlP3Kq;|Nb{%#!Xl2lLs(Mq!7^b*!2_#=y9$1|M_5zv!aCtT4%;9+#5<1& zj};2w3E`=N%MJ7jTLa%?*+SO??(`RL#kMxKNB5pv$r;=idP|H2jRPaSw3*V|f;Pzu tUH>=EZ)a$ERjw~3!l_+#L+{OWKpnu~oPS|OKXVpsy!vI$FQ(5p?=NO#13&-( delta 957 zcmX}rNlz3(6bJCC85p`@x@Q4K5m13a1X0=7VHSqneML)L&>92b+N6QvI&_LzVO1af*fcCceJTSX<7V{Is?9 zJFF73Ld!Q&CACMTv{w!0pUV|FrCU{8x2Y!Gt{QcRis??(th-c5cdLNzQ4!s%9Nni} z-LGnNOx5ZERj1=BsuQZ-BQj~7+>zK#2%Xv#JAWzE(Br|zbbiL0_T=9dPD;6*vx*wz zaK5F;^5hbBXLig~Zi}UH(=CmnDg4)X4VG66gxD11Nw~g`Rxx=^|HX2s(DdXJwx5b1 zOV|$CP%%^j`GxJ01G&NuQveDIJ3t{QEbIy@O}JSfm4W35Muc5TyP(~|4pIfQ2Mbn0 zRl+W#YG^OC585y65~_h}QC9~=p?c^5j?e%d6n2Ojp(ex*LCsM1Fn9!0jzTTCQ!CVl zBeX*u*rXHcg1Vs|)b&DrxKlqA!zu$%9I*tHlweB2gX}bWh&?Q`NR04cloMm@arT69 zkdCpBvrn*3a?L6BY4#cRSz|w)W1ly6=>q$raRp7XFBzB6Www$cYfg8C2U8{ypsVa_ zJo!5NhH;Rl**Dp@*xJ}n8TO2^L$}$p>^b%wuDQ#eHxAJP`<`)t7L8Lrx^D(ydccVl z;~=fFA9B$ed!6G?*iVg1=^4B+@-3NP_dk-kUrt7j=ce7t)C;`d|IhiS6N37Kl;zg5+QGxZ2u3_0Evm3=sge0{_`gN-0wZ-o^#K; zJ?}kg`mj;@RTRw}8|ejce^Gl>jPrA3z!(?ixB*k#z*rDB%H|PW+%(4z zSmI*5fcdR)GxLaX3!^k+jY_K_(xoHKFseV{oZ+H;k812sji=JnDV6Jp^6*&i1A%WX zDrF~L<#Hy@T|Cb(7Hqh^Y%*{70&Egtntz{!;cq@@#eFKTP+6v7hzJcN1g{GXaL?;m zT@g%#RKd3f1+E!sMG4!PAq*wd%Sg)^W^LW+_+(P9O;5>`CgSpQ;5WV7j7ez)Lq^9? zvL8@}0rvfX37Q@r#AA=-w_W3?hw0Te%OWxCWq{wTEu;}VVpey{0Gr+{+>w4DSKzAO z4cBcQdR?kV(@$(wOxJ3<+KyV%bkZ)tU$zkW16R&smR%d;RjjT^6pW>Jwc*s?{*0BRdP($fq_;a|xMcN~Qz3TJFic;u+zmq^N?CHS$h z0BQ=ake{?9)$qKtlB}Svtj#AGtIMmWvsRkpGCy_*?n*(ukebGr3y1SN6ud5ND2)fo zaG;JKsOAIpzvqn@!Qt#AEpWlvz_{$3ASIx4ov3eN@v3!HRtBeHG!eU$lqn`x4ZR9Y zq(*5yE`-jMa;RPvI+E#_0%NY0H=59_?~YBV#$Gv-Nu*P%`Ry1TpPb0VMr75{t!dRX znUXWZu?bn#CsGQn!6-hN$S5iwPYf%nFoGFXVS=5dM9oxdhZkVWRm+MDxu1<-Ewk?Z zUc%JLnL#RN(#a{gi@7qlbYKadh40)qpvm(y*#_brIB({p!lkMY-u!%eO{~~(g+A_C z?pbKxHRa8->*2a=xNc3XW6pI~dDd0_z*V`>z9~8|Y(>A)`%T$x;kNR9|GlpDw*G8e z|NZc}tauLI@eY!e)ra0)0{%cT>rF}TysU>WZ64^dT42ZTgC{mg^HsB+Y!A5KJITtV zFCjvRHbjsiD$#b-9SF_!GAev3ihl}y6>$pDjp#v~Mw~&MMf5R5jr+HThC##-B8Fgj z{2aZ+WX8x)vN!f#>tnDL@ER7;Hv{J2jf)kW-92y3m2-v8r6bG!`;N$_ulOeY%)BJz zB743t=MUVh`ozL4#hPWeD1WC@YhpRO&H46RV9(>vdnVV!GI$(Z>hFn?j;M`Vu`&@M zA+(+_pX~2E)i>C8{&YL_p*4bFuP>)Hp!N--7jcOn7ut%z)}Y5g4V98t;GdB1MWYbO z`8Z$Ejg2yWrU_YbAnvr%e|T+}f9j;@w0A`Wnm@ l9j_i^3&MVx07Fhs2zkgkHaXYtT-Be3w{*n4%^|hO{{Sw7cOw7* delta 2219 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 G;QpVhL=6rA delta 14252 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

riV5xAhG<=iLxUqn#Z| z>9~U^ohie9AwMKCnlHNoF`-L|BrnvSK=4%8LCfDvlEZN;tIfM(>9c!Mc&Si)W^i;F z69brFvCGY*q*u$;u@Ns_f`=CR&?P&uXI+Luk`b|KlP&!>AZ;_i;KoK_s3?gfbZ*pN z^L>WX92G%X^=mRdb}YMvwSc3{B4`5M-G{Wh5bj2J6=5R+bK=kNj;&j8YJfP+vc=AF zBv$~0Rd84);+bMt6x25bQadT9XSd5%w{@<0xu`F> z=xsbOnurml|iN$|9#9P zMZT1L2s|a1?+Yz(kUhdokWF%kP|_FBE!fz@OgXGr=<>oxIJ~5-FSyX-X(Wft3;i*T zJZxo2xe1yXu?j2+ZA>SLWWli=>EsAcibJ!qh@*r}h)k1gm{?UdRxE*^huXyiGLm+n z45Agg@kZ#;ERshSAA2i{Oe4ZWSke^IWs@v&>#_0K5Gse}v#G zIRrFBIEBwbZcG9!BW*1Y7h>xO=)Yth(WhR_FvMx0Z*!nSRiPLsNmP4r6j5>(p65A9 z!1Mn#;SNi{BxGV#VdIMtmH_yni;)l0V^Lm&>7le-GCKutos(dT+t=DI;ue6IhYGoZ zkVZmVp^S|pSqlIM#DkxQW9Sk$hCa_Fb31Rq`xOYg5cVM)MR*?J9fW=acF_L=-jyNu zDg?IC$u@Yp@o@?QF5KB-m@P!v0+B6*SklX~1Ch;2EG7#)q_3<)BFi3e%3ywTMK!gB z9ZHvp@E@Bv;K}(hkG&)#gnYo+&T_G5Io(-K9r{}ysmPl{NImHm1~_&zu#k@>nywoM zIQSWGcnB%#S~bAo??6rHma(L&a~UC)?lA)#{tg8BViF+uh`$4?NEJ_RBHeQa;0zmX z2A0VuK(f0N-sA5;Gg(ZCse94@hra{O{47E=-Ow8T4%F~Wul0gCFLn F{{vftq|X2V diff --git a/nophp/lang/__pycache__/pparser.cpython-312.pyc b/nophp/lang/__pycache__/pparser.cpython-312.pyc index fe1eb3e43af7af7a44c289d134cb2f31e85803c6..f81d8b6a2dd397c14905c20a92b0167672759eb9 100644 GIT binary patch delta 12852 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 delta 13074 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\s*([^<>\s]+)\s*' # HTMLSTRING = r'[\s\S]+?' diff --git a/nophp/lang/modules.py b/nophp/lang/modules.py index 58f4146..e7da8f4 100644 --- a/nophp/lang/modules.py +++ b/nophp/lang/modules.py @@ -822,8 +822,33 @@ def __init__(self, compiler_instance): def proc_tree(self, tree): # pprint(tree) + resolution_module: Module = self.compiler_instance.get_action('RESOLUT') extends = None source: list = [] + uses: list = [] + + # Create a new instance, it will track the functions and variables in its namespace + instance = self.compiler_instance.new_instance( + namespace=tree['ID'] + ) + + if "USES" in tree: + for use in tree["USES"]: + uses.append(resolution_module(use)) + + for use in uses: + print(f"Using {use}") + if use.value in self.compiler_instance.variables: + print(f"Loaded {use} as var") + instance.variables[use.value] = self.compiler_instance.variables[use.value] + elif use.value in self.compiler_instance.classes: + print(f"Loaded {use} as class") + instance.classes[use.value] = self.compiler_instance.classes[use.value] + elif use.value in self.compiler_instance.functions: + print(f"Loaded {use} as func") + instance.functions[use.value] = self.compiler_instance.functions[use.value] + else: + raise TranspilerExceptions.Generic(f"Unkown var {use} passed into new scope of {tree['ID']} {self.compiler_instance.classes}") if "EXTENDS" in tree: # Check if the class exists @@ -831,9 +856,6 @@ def proc_tree(self, tree): if extends in self.compiler_instance.classes: # Get tree of the class, then we copy its code - instance = self.compiler_instance.new_instance( - namespace=tree['ID'] - ) source = list(self.compiler_instance.classes[extends]["source"]) source.extend(tree['PROGRAM']) instance.run(source) @@ -842,14 +864,14 @@ def proc_tree(self, tree): raise TranspilerExceptions.ClassNotFound(extends) else: - # Create a new instance, it will track the functions and variables in its namespace - instance = self.compiler_instance.new_instance( - namespace=tree['ID'], - tree=tree['PROGRAM'] - ) + # instance = self.compiler_instance.new_instance( + # namespace=tree['ID'], + # tree=tree['PROGRAM'] + # ) source = tree['PROGRAM'] - instance.run() + # instance.run() + instance.run(tree['PROGRAM']) # Then Add this instance as a class template object, we can duplicate it later self.compiler_instance.create_class( @@ -859,9 +881,10 @@ def proc_tree(self, tree): parent=extends ) - # print( - # instance.variables.keys() - # ) + print( + instance.namespace, + instance.classes.keys() + ) # input('c') console.log("[ClassMod] New class & scope created for \"{}\" ({})".format(tree['ID'], instance)) @@ -888,14 +911,22 @@ def proc_tree(self, tree): namespace=name.value[1] + "_obj", sync="b" ) + # Inject classes that have been "used" + for _clas in clas['object'].classes: + obj.classes[_clas] = clas['object'].classes[_clas] obj.run(clas['source']) elif name.value in self.compiler_instance.classes: + clas = self.compiler_instance.classes[name.value] obj = self.compiler_instance.new_instance( namespace=name.value + "_obj", sync="b" ) - obj.run(self.compiler_instance.classes[name.value]["source"]) + # Inject classes that have been "used" + for _clas in clas['object'].classes: + obj.classes[_clas] = clas['object'].classes[_clas] + obj.run(clas["source"]) else: + print(self.compiler_instance.namespace, self.compiler_instance.classes.keys()) raise TranspilerExceptions.ClassNotFound(name) # Call it's constructor diff --git a/nophp/lang/pparser.py b/nophp/lang/pparser.py index e32b6ad..06d1464 100644 --- a/nophp/lang/pparser.py +++ b/nophp/lang/pparser.py @@ -744,6 +744,10 @@ def function_arguments(self, p): @_("kwargs") def function_arguments(self, p): return {"KWARGS": p.kwargs} + + @_("CLASS ID '[' positional_args ']' '{' program '}'") + def class_declaration(self, p): + return ("CLASS_DECLARATION", {"ID": p.ID, "USES": p.positional_args, "PROGRAM": p.program}, p.lineno) @_("CLASS ID '{' program '}'") def class_declaration(self, p): @@ -751,8 +755,7 @@ def class_declaration(self, p): @_("CLASS ID EXTENDS ID '{' program '}'") def class_declaration(self, p): - return ("CLASS_DECLARATION", {"ID": p.ID0, "EXTENDS": p.ID1, "PROGRAM": p.program}, p.lineno) - + return ("CLASS_DECLARATION", {"ID": p.ID0, "EXTENDS": p.ID1, "PROGRAM": p.program}, p.lineno) @_("NAMESPACE ID '{' program '}'") def class_declaration(self, p): diff --git a/nophp/lang/std/__pycache__/db.cpython-312.pyc b/nophp/lang/std/__pycache__/db.cpython-312.pyc index 3745d7c38eb1cfc44db50bd1c726f351a0a1862b..d376dfc8e1f809078205f1849cfaf0831a2ff05c 100644 GIT binary patch delta 1617 zcmZvcU2Icj7=X_=&*?e+|F7*@)~-vt9^!tAGBM7r`>7DnQL;|KIY-xaP}nFt?Zhri zM(~0q2zI^~GD1KTy+F7jjUhn1(hDP!IE*J~Jgv1hr-RMSnv8McAtN*}Si2`R$`-chP@{iH3=p%1QkKE=A^ z?{z{&Cht_f4D&7{@ze?;e+78K06+0Nte$oA@espE+veG0UPxH1&?f96KKPdJHTt)B zyoiUwcY>7!sNdg07~;I$7~JBeqh3S23jFF_#0I14ajmAmZ#X(0KNO1&!)Tp!)eWmuZuC+7j@O0jKx~)T5|nh_LrTFMXtI-(T8D1+bXmxLK}Rd6$iFc zVO3--j$-1Xuyp)Kv;VVWE9TC!({(Yltd)ar45a`b_|xomTNyl-jWVzla1tj|KHt|e$w1nau%YY+6H4Of$5H9|ob@m2*z z;?{k)Y+Hsqx^GBlX+duyBo0Nx_vCpPGY*l1aKqSrpj&RJ^a`Q}(Tl)amLiBgL<_=* zcpcG?7?6>}yN^gVl%wm2!KLPqhT}q#ovPr8D-XYzK2W7l+*6t{7aGV5@RxNz8H1N? ztxnu?&OA7AU^Xok+D}T^rAQ6qWr_gjc(5Tl5<5o3sV5TcBVFqzILk7iG#rGzYsf@DFH z8-XJ&O(2p8S|5#0%VJJom=4Cbwv-;xN^NVE?mv;m@4~Y0_xicd;(mydJg8wZOLLF-ud04SgEBmi z{rUz{03pz>-Bbbe1%{(F&Bc+a@VnFUd}NXvvr|z|C31Nwdn%KvsFK;~=}ex^kJO2W z?1e{xP~+3Or8!h?8Xs^6-F`YO4yCXGy2Hk}{2>SA9>Epgb~qD!SijDB+!XOMyw@6* z|M|XX{f`4#*1+}9NwOC_VxX74TKb&mbkTdI4WiK>;uaWkjZq#mzVydJ_jEQjJC*K{ Xmf^J6VHhODUJR}>_+5>`S7P>mEctzh delta 1434 zcmZvcYfKbZ6oBW#?(EFY?y@Yq?6Nq3yY6GQ3fVR_Mo?&Wt5^tvU~9#O$1-9~WyuUa zgTYrLNvnaL5N)beW14DWLdeAUOaJIUjVb=9NZQ2u!=(R6N{sOp@416OH+z%)_MCg> z+<8NUKyrWl|V*VM=IF-vGz#qofu@X}YSKbNfaeb89$H$=KTQvOkJLGlAfkbuMA zeV5hMRCZusDYDU1A3u{?M?sRW^4=uBOajaLW2$FN~MWV*l SK!|TFI?v(%d?TDrWZwf!z)3{_ diff --git a/nophp/lang/std/__pycache__/echo.cpython-312.pyc b/nophp/lang/std/__pycache__/echo.cpython-312.pyc index da5f4952e4b6f70bcf86217458e493ece2a06162..aa9dde4ba6280e62a907bcd82db25872a4ac1f00 100644 GIT binary patch delta 21 bcmX@bbBc%OG%qg~0}wO@GNx_hv10=OJdp(A delta 21 bcmX@bbBc%OG%qg~0}#ZYTb;U*$BqpELgNMI diff --git a/nophp/lang/std/__pycache__/htmlspecialchars.cpython-312.pyc b/nophp/lang/std/__pycache__/htmlspecialchars.cpython-312.pyc index 4c9fd44d85cb155ecd47eaa04851cfaa8972b093..cca7a1a93cd6e118fa794ddab76e39f638c684f2 100644 GIT binary patch delta 1118 zcmZ{j&rcIU6vt<}?RK}nAQjdI3iJmQDn&pL0|g|S2q+K@!huLOrCkeVOY3YQu@^Y> z00$$@UV1k1u%d~He}Rc7y)>x@(qQo9Rm7T@dU0O2G1$aCeER0i%=__u)Atv?`y3zb zb_=54yAKuVn>FWf;k8`%;7H7rMJr|lnnp1;i(+QUc*wvpgjTq!m!n?(oR@!M30iaH zXrN*WL=vfR1^X&&;PF;6P0jI&F(896NsV|qtl^TGNGUlIl{7VjMck~G@SWU?=R1U_ zDF_F!0-!cx2iO1&00*EE;G|G6g@-gzmM(5=Zc8LBuBQ{Sl9Hku5jnaZAqsKPU5KKL zQtYBHob8!y-*ynsD@D$K!Zqxh54gO)$a&iJ1)FDzocp|e%9~6q5mc{Xk5>EAFmKfG zf~Nj9baiV?$*4&3L*k*qOS~vX<%pt)q5_I}JiFD}NQXMjcuXzS^+T1JRxG^TV~!0W zp}y9h&V&*V1|51dOI%8ek!X4&xk-X*mR+(pLlQQioZEJ!WV0hpvH*=zMjC0Q0l4HG~0 zRz;rD8-W%GKu{a`5DS4w3)Lk(=$fs{KXZS6Zc$hNCRKkv87m3;VCs8SUmI=*i5nuc z0lXA-s!>nItH)L6m{#izIM)dP0rQ3(5`aZFpa)QG=Mq@GfDlEd?LY70AFWB>-|Lsb z0$IrbU=VNxFa#I|z--A?g!)nSagh;NU!$lS1GqugjIY+jl-bSRf^+&<77G&(iq6%7 zZMDpyM&Xmt_bU3P>+n%g7%eu86}T}{75F;DnTBid+-sAV1t$O!C@`mAS#-pE)pp+P z2I`8^qdI~Y{yr6MJduoT$y+)e>_HtbZ{oRk5iRmgbiLnKo4{YB?Z=9gvY;Vy($|i@hkdASW?7Rdez* z#&|~l$=?{gCvV{@nEZ`d1jyrN@nz9u^wXRi!=kFL$$X2YI5j7&NDOGvEzbD(v#XMuE-mxMwg;Ze({+;7U!-$k$NGEl$_e zpO{>dnV(lAJNYAfC@(+AaOUEYB2A7W@yWp)CSuAU5yrA&4j`=n1x0+5 z=W^(e?5lA>d+%E)D3L^L?*Kz6afD8h2{WLiy-xSae1i23^u#%w&ED7@U zFAkgB{FKt1RJ$TuAQxm@u{@CYz|6?Vc%Q-eE`#(P2GLJ!Y>aGQgwz;KW{7=d08(HB E0P^#6*Z=?k diff --git a/nophp/lang/std/__pycache__/internal.cpython-312.pyc b/nophp/lang/std/__pycache__/internal.cpython-312.pyc index 24436cacd5f566f5fec4076d9509acb5a86ceda8..59698cbee61412f4c60eba8d25e2c1137d53549e 100644 GIT binary patch delta 1318 zcma)5OHUI~6uvXtTzSs)86wfU_|CcKb***US?0uBzQ7PG-aJ=c3s-BU;rTr#k4xW>TIyuO{)r4SA*4|%etc5 zb%*BOwkDjKXPqR}MQ_x%yFDgyMfP3%%H`NQ+gWaa@zPZGbAbI2?x|8N9lsGDPU!`U zmeQGO3$P_|YSmLU_a>96`IM1N_CrJT96|tKh6kt~)UoAaH^3IrxMgy`>T8fmu6kJ{ zQ9d>q<*5fO1#8AgFTlkI7upJt;nRTOF!iHl0AR^m>t}(cXOafh^-CD(23RBe-KRIK zAEmapQricq(`=Al#M~Z?!Dp|QYheyWzz@lE0{mJhd0Azd8sr{Blnq=aQFEYd5f-yFuW~yTT2}aFUgLt`S+N+E z4Iso2z+fH&v(2+?spcG&6C}sSC6N z!pq7rQwc#WI#dNz>SOU##v%%pY;;!^*Q=EKOW&L~3W9;6y1cEGk)f?Nl}UU8r_N;C z32_*d|Kq>T^#q|fT3A#hwje3dER;}%_8%c{CN;T3j4z{5e!v_(rAdIqU>4h*3>Kv2g>zs?lhtA$kW~xV@PN?3H|Gq!d!Po;_E%L_n58DyQsuJ4*y)sS7Wj fh$)m};@rgeh zWAS7Y_NR=RlchNH*-U`CinJyNa*0e%=CEff(wkhzzns+?C~7=eOTd+pXL5mnpO!gD z6-aO;Ly;JWEea%laoFVMrH JF^Yn<0RW|oCprKC diff --git a/nophp/lang/std/__pycache__/json.cpython-312.pyc b/nophp/lang/std/__pycache__/json.cpython-312.pyc index a274c1414068bba9527dfa9be6c836afa7437690..b3581e8f0c18b7e939111d2196327ec5dabec4e4 100644 GIT binary patch delta 140 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 diff --git a/nophp/lang/std/__pycache__/session.cpython-312.pyc b/nophp/lang/std/__pycache__/session.cpython-312.pyc index dbaf6470fbf9bf5ea74bdcf1e42b5e7040d52867..32bf2c14ce6a29dead8ecbd148445e10341738e5 100644 GIT binary patch delta 459 zcmZ3kbxWJ?G%qg~0}#w!{4bSFU?X26HE=*gQAVyJ zaiIEJ%sKh#lMDHTCwKDIF!3=?X6Lt-y1^rGok!^+kJ5D>wTnDz7u3zK@>qOeW9Chs z9Kdg+@_~(kR}e*krtO~e1L+s-{4Ut~Ur-OY!V@@o7QdByGSdwKk?R6#7X{R=3us*w z(E7l@pp(S(oq<6xndu{#{QZHMkvEy?SFr@pF$bjuoi!K^YjC=VF&{RRb`fMgBFO3@ zwwYhx3?rk$oBUwiUiVL?$0zdK*yaoK!bIDioViMwkU delta 341 zcmcbmy4LGf;jyuPkHh=B>Pw!#DPMSpYzo)zM5<)qCL5vUy$z(kKhF%rK>#3AJ~|A{U-0? zHyu K{^l-`07d{Z$yrYT diff --git a/nophp/lang/std/__pycache__/string.cpython-312.pyc b/nophp/lang/std/__pycache__/string.cpython-312.pyc index cd512d0d3d07327b90f67f70c1ed1b7c49249fc3..00a58c7a12194d3810d154bdf787d8359f33d35f 100644 GIT binary patch delta 639 zcmcbtwbO|2G%qg~0}y1Vv!?k7PUMqdJTg&zy%ZCJJ3|V83qy)PD$iBI61K(HMpe6H$UYTS1OnnUtCf&xti5^vXy|WxG1s; zz4-Xdyv&mL_{Pb0TvA+YKx09sf0mfsFJL!$0hiHaX+a5DW=WvfYDORd1hvd1+z=K6 zLk)8Y&*V3Pvh{p05d@vWlERw840CJ~V~HS4u7){F7{*4>DQqe1tC=8tm|ejPnjC&b z`ar=d9)wpkG>Z&?LPcR9!VpOO;$T#&Vv14H7AQu#S#R-$Y aiv)>%VUS`}`eGx@XgSS delta 80 zcmdmKbXkkZz7)rsc!KH3c?)m@LRxwYWuyiP=w6aI%|3 g>f{X);#_e+)r>$~95VT$L=e|k1}R3RA~B!<0La4?nE(I) diff --git a/nophp/lang/std/__pycache__/stripe.cpython-312.pyc b/nophp/lang/std/__pycache__/stripe.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..deb2e69cf1ff3ba7f7afc94640601b96ef49fc03 GIT binary patch literal 4795 zcmc&&U2GHC6~5z{vB&XWex2VX2_yxFgz%HFKzFkXB(QWh3E)75#qO+kW(>~yZ|{tO zM0S-2q?(pWMpc!pma1u=LfKa88xMV0_GzoW*a8%HnyOUY7v5YFwTQm-oEh6OZdj>R zcYCEd_xjv>?wmRI`_8@BzjwLn2$a5MK4ftd@>l#(E_|u6ej6H#L?$v5Aps&=WH!P? zEdfiE4X_OU<|15_5Aa5tk63?YVTgsCB(n87k!=cpmo;Y!*bJ=zTDxMaXaz%C2UpmkMg>l8t;D|NE_HXCrrp6evwoMU|TPw)j(Pb?sP7QK0f24iX>98u`RHAzWm z;do5dx$g#P%*W`~$+(=1D9~aCB-1fdqBWNF^B}$tU#yS-Ba?tdW&*6j%^Hz1MpVSC zv(l_I0=5hZF|y^l5D;WeX0I~=dxl(N0(E}k<8{yRcr+T1`866&DBz0jJU%@+IX&f{ zIeY5#gj99{r^B$}v%VL^PnbobL2Z^BmK6CBEYRK3Z-%6p6cH=dbL0*)b%)h?HJMPT zE{I|{7S=>jZ;;|qBQl^+wO~wAU=*h+kr1tixpccIN|B(dilU0I?&(>0eqi`=JgN)_ zsg|U}r)hjvku-HU7EfGGlw>3ryELq7GCcTIdlGZh1IF`hHQ&0Y>;{HX^@4b|K-L7; z4O?Dldnj}idiQ6zN5Zys=phomzg#$I7@_E45Q~>cnw6OpbA_Q}DQ29!`zj%6E@hz& zDKZNqYDcC>1qEd)E#{XwSFI~JE#&8siMXs zR}|f?2180@uJYR&OeB<;?6cBF_#U0psG{gBSm@R(!AMe3b@ob->b&{G3S)YVLYs}@ z9|TopzPT0xsD(^J)L(;GAccmejP_4y^F3}t|jGBeP59Wi=vm*do!-0ht&5jkLP@^=ljO; zp0Pq_cdln7-#MB)crxGl)>FbY__D|UGJ0rfe6?#Z-!-`6f7rF}p1eACCO>v2clO+a zvGdu9$ITs!leZ?9`yVy$D%!!M=rm@hE#R_`IpK34p<=yl2Xml8L?rgV&L+RhcN)KJZZ3T~0c(I4trI$)@;ye6xmY#MA$6YDT;$78{rK5 zxV`J9^``qvPg8dMhx0k1-3ZJb2i*=v6ro7_Q1qifcv6fl-HBos3Ipb&*uvLPOjBY8x?Lr7hYiivi21s}-B#mF1>c7- zs>3KSdA;BiB7}u!{kI_g6Bq-WjU6t{rK{jPi}Tf#*$S{XJ5p?l`;@&~qCuM1Fr66% zd&+u-XpV}W-|C!IMHJ2?$`eErod2xBXgnFybU{i|s>Gx@pUof;-3R@;>vV7~3QJ}# zoNk5W6x0-*Pf%Dm-HL&XUD91rBn*QfRblcfZGoE{qp!nMbPVUSn(M71RQUE9bgS=ysO4K{?{e?QhnGVuXMP^e3K{EKL+ffof4-rAwP7&dFj#16FSNW; z(n>g+~?UO~cz? z!aQV!;n;RS?0>^NU?7Vd3e+6dA?_luFUZFrL(OTM2peP4wg# zI$;URy1jDE^x11SV^`TT!zDUtI9~Dsl8@nmZc|M}>x`n}LKtbJCY8Lh71%22#1B^L zFF@3$lhJSAJNlaopIJZq=)V1ngSoT*-yP1KznFXXz5IDGH!9|Z{TWwwe)-jv6Gg7s zzIV;rwHUt@U-b^|5E9>)7+4Y50+I_@6}<^v_j1r2O)z<>(N( zKV(1VX73+#9ka8avkbI9xAP$BmI>zk@7wihWlvBf)Ksg3b#WB4sez! zU7*RB7)r(@_`iV{;TnLqE=JPrs5AeVU_zzSYU!-z_#hdM$cB+h--r2<@TeFOSljx> zg;Q&;#;1hk-5KU_eaGzy*e>2$KJ&@jMb^^h&e*fPKX4XV=q?Jx*^=X$jR^Q$=I&Rg zRQ?g6kTM9x@7As66~?@*@Fr3bhsJq~8XJWX{EMi2AH*H=JYgIzp9`;<=3`WWE)0-* z0R*fz!~BuB{!9-1iFB@!mJP0r@n%CC1gecg9;PGv#s-0Eqpyh>%*HneR2zGGnY~NH g8w9H2cNo&TqtMb<@cRB{ class SetSessionMod(CommonMod): name="set_session" diff --git a/parser.out b/parser.out index d06f80f..2bae733 100644 --- a/parser.out +++ b/parser.out @@ -109,200 +109,203 @@ Rule 105 class_declaration -> NAMESPACE ID ; Rule 106 class_declaration -> NAMESPACE ID { program } Rule 107 class_declaration -> CLASS ID EXTENDS ID { program } Rule 108 class_declaration -> CLASS ID { program } -Rule 109 for_loop -> FOREACH ( expression AS expression ) { program } -Rule 110 for_loop -> FOR ( expression ) { program } -Rule 111 while_loop -> WHILE ( expression ) { program } -Rule 112 positional_args -> expression -Rule 113 positional_args -> positional_args , expression [precedence=left, level=2] -Rule 114 kwargs -> ID = expression [precedence=right, level=3] -Rule 115 kwargs -> kwargs , id = expression [precedence=right, level=3] -Rule 116 variable_assignment -> $ get_index = expression ; -Rule 117 variable_assignment -> LET ID : ID = expression ; -Rule 118 variable_assignment -> $ ID TARROW ID = expression ; -Rule 119 variable_assignment -> $ ID = expression ; -Rule 120 variable_operation -> get_index EQ_DIV expression ; -Rule 121 variable_operation -> ID EQ_DIV expression ; -Rule 122 variable_operation -> get_index EQ_MOD expression ; -Rule 123 variable_operation -> ID EQ_MOD expression ; -Rule 124 variable_operation -> get_index EQ_MUL expression ; -Rule 125 variable_operation -> ID EQ_MUL expression ; -Rule 126 variable_operation -> get_index EQ_SUB expression ; -Rule 127 variable_operation -> ID EQ_SUB expression ; -Rule 128 variable_operation -> get_index EQ_ADD expression ; -Rule 129 variable_operation -> ID EQ_ADD expression ; -Rule 130 conditional -> if_statement else_statement -Rule 131 conditional -> if_statement else_if_loop else_statement -Rule 132 conditional -> if_statement else_if_loop -Rule 133 conditional -> if_statement -Rule 134 if_statement -> IF ( expression ) { program } -Rule 135 else_if_loop -> else_if_statement -Rule 136 else_if_loop -> else_if_loop else_if_statement -Rule 137 else_if_statement -> ELSE IF ( expression ) { program } -Rule 138 else_statement -> ELSE { program } -Rule 139 delete_statement -> DEL ID ; -Rule 140 import_statement -> . SELFISH ; -Rule 141 import_statement -> . GLOBAL ; -Rule 142 import_statement -> IMPORT expression ; -Rule 143 null -> NULL -Rule 144 assoc_array -> [ assoc_array_items ] -Rule 145 assoc_array -> { empty } -Rule 146 assoc_array -> [ empty ] -Rule 147 assoc_array_items -> expression SARROW expression -Rule 148 assoc_array_items -> assoc_array_items , expression SARROW expression -Rule 149 get_index -> expression ^ expression -Rule 150 get_index -> expression [ expression ] -Rule 151 _tuple -> { positional_args , } -Rule 152 _tuple -> { positional_args } -Rule 153 _list -> [ positional_args , ] -Rule 154 _list -> [ positional_args ] -Rule 155 items -> expression , expression [precedence=left, level=2] -Rule 156 items -> items , expression [precedence=left, level=2] -Rule 157 int -> INT -Rule 158 string -> FORMATTED_STRING -Rule 159 string -> MULTILINE_STRING -Rule 160 string -> STRING -Rule 161 string -> CHAR -Rule 162 float -> FLOAT -Rule 163 bool -> FALSE -Rule 164 bool -> TRUE -Rule 165 class_attribute -> expression COLON_COLON ID -Rule 166 id -> ID -Rule 167 python_code -> PYTHON_CODE_EXEC -Rule 168 python_code -> PYTHON_CODE -Rule 169 empty -> [precedence=left, level=1] +Rule 109 class_declaration -> CLASS ID [ positional_args ] { program } +Rule 110 for_loop -> FOREACH ( expression AS expression ) { program } +Rule 111 for_loop -> FOR ( expression ) { program } +Rule 112 while_loop -> WHILE ( expression ) { program } +Rule 113 positional_args -> expression +Rule 114 positional_args -> positional_args , expression [precedence=left, level=2] +Rule 115 kwargs -> ID = expression [precedence=right, level=3] +Rule 116 kwargs -> kwargs , id = expression [precedence=right, level=3] +Rule 117 variable_assignment -> $ get_index = expression ; +Rule 118 variable_assignment -> LET ID : ID = expression ; +Rule 119 variable_assignment -> $ ID TARROW ID = expression ; +Rule 120 variable_assignment -> $ ID = expression ; +Rule 121 variable_operation -> get_index EQ_DIV expression ; +Rule 122 variable_operation -> ID EQ_DIV expression ; +Rule 123 variable_operation -> get_index EQ_MOD expression ; +Rule 124 variable_operation -> ID EQ_MOD expression ; +Rule 125 variable_operation -> get_index EQ_MUL expression ; +Rule 126 variable_operation -> ID EQ_MUL expression ; +Rule 127 variable_operation -> get_index EQ_SUB expression ; +Rule 128 variable_operation -> ID EQ_SUB expression ; +Rule 129 variable_operation -> get_index EQ_ADD expression ; +Rule 130 variable_operation -> ID EQ_ADD expression ; +Rule 131 conditional -> if_statement else_statement +Rule 132 conditional -> if_statement else_if_loop else_statement +Rule 133 conditional -> if_statement else_if_loop +Rule 134 conditional -> if_statement +Rule 135 if_statement -> IF ( expression ) { program } +Rule 136 else_if_loop -> else_if_statement +Rule 137 else_if_loop -> else_if_loop else_if_statement +Rule 138 else_if_statement -> ELSE IF ( expression ) { program } +Rule 139 else_statement -> ELSE { program } +Rule 140 delete_statement -> DEL ID ; +Rule 141 import_statement -> . SELFISH ; +Rule 142 import_statement -> . GLOBAL ; +Rule 143 import_statement -> IMPORT expression ; +Rule 144 null -> NULL +Rule 145 assoc_array -> [ assoc_array_items ] +Rule 146 assoc_array -> { empty } +Rule 147 assoc_array -> [ empty ] +Rule 148 assoc_array_items -> expression SARROW expression +Rule 149 assoc_array_items -> assoc_array_items , expression SARROW expression +Rule 150 get_index -> expression ^ expression +Rule 151 get_index -> expression [ expression ] +Rule 152 _tuple -> { positional_args , } +Rule 153 _tuple -> { positional_args } +Rule 154 _list -> [ positional_args , ] +Rule 155 _list -> [ positional_args ] +Rule 156 items -> expression , expression [precedence=left, level=2] +Rule 157 items -> items , expression [precedence=left, level=2] +Rule 158 int -> INT +Rule 159 string -> FORMATTED_STRING +Rule 160 string -> MULTILINE_STRING +Rule 161 string -> STRING +Rule 162 string -> CHAR +Rule 163 float -> FLOAT +Rule 164 bool -> FALSE +Rule 165 bool -> TRUE +Rule 166 class_attribute -> expression COLON_COLON ID +Rule 167 id -> ID +Rule 168 python_code -> PYTHON_CODE_EXEC +Rule 169 python_code -> PYTHON_CODE +Rule 170 empty -> [precedence=left, level=1] Unused terminals: + USING + SANDBOX IN TELSE ATTR_LEVEL - SANDBOX Terminals, with rules where they appear: ! : 35 # : 78 79 -$ : 53 85 86 88 116 118 119 +$ : 53 85 86 88 117 119 120 % : 44 & : 38 51 -( : 32 73 74 80 81 82 83 84 85 86 87 89 91 92 93 94 95 96 97 98 99 100 101 109 110 111 134 137 -) : 32 73 74 80 81 82 83 84 85 86 87 89 91 92 93 94 95 96 97 98 99 100 101 109 110 111 134 137 +( : 32 73 74 80 81 82 83 84 85 86 87 89 91 92 93 94 95 96 97 98 99 100 101 110 111 112 135 138 +) : 32 73 74 80 81 82 83 84 85 86 87 89 91 92 93 94 95 96 97 98 99 100 101 110 111 112 135 138 * : 45 50 + : 36 48 -, : 103 113 115 148 151 153 155 156 +, : 103 114 116 149 152 154 156 157 - : 37 47 -. : 54 71 72 140 141 +. : 54 71 72 141 142 / : 46 76 -: : 96 97 99 101 117 -; : 4 59 65 66 67 68 69 70 88 93 105 116 117 118 119 120 121 122 123 124 125 126 127 128 129 139 140 141 142 +: : 96 97 99 101 118 +; : 4 59 65 66 67 68 69 70 88 93 105 117 118 119 120 121 122 123 124 125 126 127 128 129 130 140 141 142 143 < : 34 -= : 88 114 115 116 117 118 119 += : 88 115 116 117 118 119 120 > : 33 ? : 4 60 79 -AS : 109 +AS : 110 ATTR_LEVEL : BREAK : 69 -CHAR : 161 -CLASS : 107 108 -COLON_COLON : 83 84 91 92 165 +CHAR : 162 +CLASS : 107 108 109 +COLON_COLON : 83 84 91 92 166 DEBUG : 67 DEFINE : 79 -DEL : 139 +DEL : 140 DEPENDS : 78 -ELSE : 137 138 +ELSE : 138 139 ENV : 71 72 EQEQ : 43 -EQ_ADD : 128 129 -EQ_DIV : 120 121 +EQ_ADD : 129 130 +EQ_DIV : 121 122 EQ_GREATER : 40 EQ_LESS : 41 -EQ_MOD : 122 123 -EQ_MUL : 124 125 -EQ_SUB : 126 127 +EQ_MOD : 123 124 +EQ_MUL : 125 126 +EQ_SUB : 127 128 EXTENDS : 107 -FALSE : 163 +FALSE : 164 FARROW : 73 87 -FLOAT : 162 -FOR : 110 -FOREACH : 109 -FORMATTED_STRING : 158 +FLOAT : 163 +FOR : 111 +FOREACH : 110 +FORMATTED_STRING : 159 FROM : 71 FUNC : 91 92 94 95 96 97 98 99 100 101 -GLOBAL : 141 +GLOBAL : 142 HTMLEND : 60 62 63 HTMLSTART : 61 62 63 -ID : 50 51 52 52 71 74 74 75 75 76 76 77 77 79 83 83 84 84 85 85 86 86 88 91 91 92 92 94 94 95 95 96 96 97 97 98 99 100 101 105 106 107 107 108 114 117 117 118 118 119 121 123 125 127 129 139 165 166 -IF : 134 137 -IMPORT : 142 +ID : 50 51 52 52 71 74 74 75 75 76 76 77 77 79 83 83 84 84 85 85 86 86 88 91 91 92 92 94 94 95 95 96 96 97 97 98 99 100 101 105 106 107 107 108 109 115 118 118 119 119 120 122 124 126 128 130 140 166 167 +IF : 135 138 +IMPORT : 143 IN : INIT : 93 -INT : 157 -LET : 117 +INT : 158 +LET : 118 LIMPORT : 59 -MULTILINE_STRING : 159 +MULTILINE_STRING : 160 NAMESPACE : 105 106 NEW : 81 82 NOT_EQEQ : 42 -NULL : 143 +NULL : 144 OF : 52 PHPEND : 58 PHPSTART : 58 -PYTHON_CODE : 168 -PYTHON_CODE_EXEC : 167 +PYTHON_CODE : 169 +PYTHON_CODE_EXEC : 168 RETURN : 70 SANDBOX : -SARROW : 147 148 -SELFISH : 140 +SARROW : 148 149 +SELFISH : 141 SKIP : 68 -STRING : 160 -TARROW : 74 77 85 86 91 92 118 +STRING : 161 +TARROW : 74 77 85 86 91 92 119 TELSE : -TRUE : 164 -WHILE : 111 -[ : 144 146 150 153 154 +TRUE : 165 +USING : +WHILE : 112 +[ : 109 145 147 151 154 155 \ : 75 -] : 144 146 150 153 154 -^ : 149 +] : 109 145 147 151 154 155 +^ : 150 error : -{ : 71 72 73 87 91 92 93 94 95 96 97 98 99 100 101 106 107 108 109 110 111 134 137 138 145 151 152 +{ : 71 72 73 87 91 92 93 94 95 96 97 98 99 100 101 106 107 108 109 110 111 112 135 138 139 146 152 153 | : 39 -} : 71 72 73 87 91 92 93 94 95 96 97 98 99 100 101 106 107 108 109 110 111 134 137 138 145 151 152 +} : 71 72 73 87 91 92 93 94 95 96 97 98 99 100 101 106 107 108 109 110 111 112 135 138 139 146 152 153 Nonterminals, with rules where they appear: _list : 21 _tuple : 22 assoc_array : 20 -assoc_array_items : 144 148 +assoc_array_items : 145 149 bool : 26 break_statement : 12 class_attribute : 23 class_declaration : 18 conditional : 16 57 delete_statement : 10 -else_if_loop : 131 132 136 -else_if_statement : 135 136 -else_statement : 130 131 -empty : 1 62 73 80 81 83 85 91 94 96 98 99 145 146 -expression : 4 5 32 33 33 34 34 35 36 37 38 38 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 53 54 54 59 63 64 70 73 78 79 80 81 82 87 88 88 89 90 91 92 96 97 99 101 109 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 134 137 142 147 147 148 148 149 149 150 150 155 155 156 165 +else_if_loop : 132 133 137 +else_if_statement : 136 137 +else_statement : 131 132 +empty : 1 62 73 80 81 83 85 91 94 96 98 99 146 147 +expression : 4 5 32 33 33 34 34 35 36 37 38 38 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 53 54 54 59 63 64 70 73 78 79 80 81 82 87 88 88 89 90 91 92 96 97 99 101 110 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 135 138 143 148 148 149 149 150 150 151 151 156 156 157 166 float : 27 for_loop : 11 56 function_arguments : 74 82 84 86 87 89 90 92 93 95 97 100 101 function_call : 39 39 49 65 function_call_statement : 17 function_declaration : 19 -get_index : 30 116 120 122 124 126 128 +get_index : 30 117 121 123 125 127 129 html_full : 55 64 -id : 24 115 -if_statement : 130 131 132 133 +id : 24 116 +if_statement : 131 132 133 134 import_statement : 7 int : 28 irregular_html_args : -items : 156 -kwargs : 102 103 115 +items : 157 +kwargs : 102 103 116 null : 29 -positional_args : 103 104 113 151 152 153 154 -program : 3 58 71 72 73 87 91 92 93 94 95 96 97 98 99 100 101 106 107 108 109 110 111 134 137 138 0 +positional_args : 103 104 109 114 152 153 154 155 +program : 3 58 71 72 73 87 91 92 93 94 95 96 97 98 99 100 101 106 107 108 109 110 111 112 135 138 139 0 python_code : 31 66 python_code_statement : 14 return_statement : 9 @@ -320,7 +323,7 @@ state 0 (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -377,41 +380,42 @@ state 0 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -423,28 +427,28 @@ state 0 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -469,46 +473,46 @@ state 0 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) - $end reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) + $end reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 @@ -609,41 +613,42 @@ state 1 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -655,28 +660,28 @@ state 1 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -701,7 +706,7 @@ state 1 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } + (135) if_statement -> . IF ( expression ) { program } ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -726,9 +731,9 @@ state 1 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -922,28 +927,28 @@ state 4 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -968,13 +973,13 @@ state 4 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } HTMLEND shift and go to state 80 ( shift and go to state 32 ! shift and go to state 33 @@ -984,7 +989,7 @@ state 4 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -1041,9 +1046,9 @@ state 5 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -1053,10 +1058,10 @@ state 5 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -1095,28 +1100,28 @@ state 5 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -1141,13 +1146,13 @@ state 5 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! shift/reduce conflict for & resolved as shift ! shift/reduce conflict for * resolved as shift ! shift/reduce conflict for - resolved as shift @@ -2839,11 +2844,11 @@ state 29 state 30 (30) expression -> get_index . - (120) variable_operation -> get_index . EQ_DIV expression ; - (122) variable_operation -> get_index . EQ_MOD expression ; - (124) variable_operation -> get_index . EQ_MUL expression ; - (126) variable_operation -> get_index . EQ_SUB expression ; - (128) variable_operation -> get_index . EQ_ADD expression ; + (121) variable_operation -> get_index . EQ_DIV expression ; + (123) variable_operation -> get_index . EQ_MOD expression ; + (125) variable_operation -> get_index . EQ_MUL expression ; + (127) variable_operation -> get_index . EQ_SUB expression ; + (129) variable_operation -> get_index . EQ_ADD expression ; > reduce using rule 30 (expression -> get_index .) < reduce using rule 30 (expression -> get_index .) & reduce using rule 30 (expression -> get_index .) @@ -3013,28 +3018,28 @@ state 32 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -3059,13 +3064,13 @@ state 32 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -3074,7 +3079,7 @@ state 32 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -3156,28 +3161,28 @@ state 33 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -3202,13 +3207,13 @@ state 33 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -3217,7 +3222,7 @@ state 33 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -3299,28 +3304,28 @@ state 34 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -3345,13 +3350,13 @@ state 34 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -3360,7 +3365,7 @@ state 34 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -3442,28 +3447,28 @@ state 35 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -3488,13 +3493,13 @@ state 35 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -3503,7 +3508,7 @@ state 35 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -3625,16 +3630,16 @@ state 38 state 39 (52) expression -> ID . OF ID - (121) variable_operation -> ID . EQ_DIV expression ; - (123) variable_operation -> ID . EQ_MOD expression ; - (125) variable_operation -> ID . EQ_MUL expression ; - (127) variable_operation -> ID . EQ_SUB expression ; - (129) variable_operation -> ID . EQ_ADD expression ; + (122) variable_operation -> ID . EQ_DIV expression ; + (124) variable_operation -> ID . EQ_MOD expression ; + (126) variable_operation -> ID . EQ_MUL expression ; + (128) variable_operation -> ID . EQ_SUB expression ; + (130) variable_operation -> ID . EQ_ADD expression ; (94) function_declaration -> ID . FUNC ID ( empty ) { program } (95) function_declaration -> ID . FUNC ID ( function_arguments ) { program } (96) function_declaration -> ID . FUNC ID ( empty ) : expression { program } (97) function_declaration -> ID . FUNC ID ( function_arguments ) : expression { program } - (166) id -> ID . + (167) id -> ID . (74) function_call -> ID . TARROW ID ( function_arguments ) (75) function_call -> ID . \ ID (76) function_call -> ID . / ID @@ -3651,60 +3656,60 @@ state 39 EQ_SUB shift and go to state 130 EQ_ADD shift and go to state 131 FUNC shift and go to state 132 - > reduce using rule 166 (id -> ID .) - < reduce using rule 166 (id -> ID .) - & reduce using rule 166 (id -> ID .) - EQ_GREATER reduce using rule 166 (id -> ID .) - EQ_LESS reduce using rule 166 (id -> ID .) - NOT_EQEQ reduce using rule 166 (id -> ID .) - EQEQ reduce using rule 166 (id -> ID .) - % reduce using rule 166 (id -> ID .) - * reduce using rule 166 (id -> ID .) - - reduce using rule 166 (id -> ID .) - + reduce using rule 166 (id -> ID .) - . reduce using rule 166 (id -> ID .) - ^ reduce using rule 166 (id -> ID .) - [ reduce using rule 166 (id -> ID .) - ( reduce using rule 166 (id -> ID .) - $ reduce using rule 166 (id -> ID .) - ID reduce using rule 166 (id -> ID .) - ! reduce using rule 166 (id -> ID .) - { reduce using rule 166 (id -> ID .) - FORMATTED_STRING reduce using rule 166 (id -> ID .) - MULTILINE_STRING reduce using rule 166 (id -> ID .) - STRING reduce using rule 166 (id -> ID .) - CHAR reduce using rule 166 (id -> ID .) - FALSE reduce using rule 166 (id -> ID .) - TRUE reduce using rule 166 (id -> ID .) - FLOAT reduce using rule 166 (id -> ID .) - INT reduce using rule 166 (id -> ID .) - NULL reduce using rule 166 (id -> ID .) - PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .) - PYTHON_CODE reduce using rule 166 (id -> ID .) - # reduce using rule 166 (id -> ID .) - NEW reduce using rule 166 (id -> ID .) - ? reduce using rule 166 (id -> ID .) - HTMLSTART reduce using rule 166 (id -> ID .) - FOREACH reduce using rule 166 (id -> ID .) - FOR reduce using rule 166 (id -> ID .) - IF reduce using rule 166 (id -> ID .) - PHPSTART reduce using rule 166 (id -> ID .) - LIMPORT reduce using rule 166 (id -> ID .) - IMPORT reduce using rule 166 (id -> ID .) - RETURN reduce using rule 166 (id -> ID .) - DEL reduce using rule 166 (id -> ID .) - DEBUG reduce using rule 166 (id -> ID .) - SKIP reduce using rule 166 (id -> ID .) - BREAK reduce using rule 166 (id -> ID .) - LET reduce using rule 166 (id -> ID .) - WHILE reduce using rule 166 (id -> ID .) - NAMESPACE reduce using rule 166 (id -> ID .) - CLASS reduce using rule 166 (id -> ID .) - INIT reduce using rule 166 (id -> ID .) - $end reduce using rule 166 (id -> ID .) - PHPEND reduce using rule 166 (id -> ID .) - } reduce using rule 166 (id -> ID .) - , reduce using rule 166 (id -> ID .) + > reduce using rule 167 (id -> ID .) + < reduce using rule 167 (id -> ID .) + & reduce using rule 167 (id -> ID .) + EQ_GREATER reduce using rule 167 (id -> ID .) + EQ_LESS reduce using rule 167 (id -> ID .) + NOT_EQEQ reduce using rule 167 (id -> ID .) + EQEQ reduce using rule 167 (id -> ID .) + % reduce using rule 167 (id -> ID .) + * reduce using rule 167 (id -> ID .) + - reduce using rule 167 (id -> ID .) + + reduce using rule 167 (id -> ID .) + . reduce using rule 167 (id -> ID .) + ^ reduce using rule 167 (id -> ID .) + [ reduce using rule 167 (id -> ID .) + ( reduce using rule 167 (id -> ID .) + $ reduce using rule 167 (id -> ID .) + ID reduce using rule 167 (id -> ID .) + ! reduce using rule 167 (id -> ID .) + { reduce using rule 167 (id -> ID .) + FORMATTED_STRING reduce using rule 167 (id -> ID .) + MULTILINE_STRING reduce using rule 167 (id -> ID .) + STRING reduce using rule 167 (id -> ID .) + CHAR reduce using rule 167 (id -> ID .) + FALSE reduce using rule 167 (id -> ID .) + TRUE reduce using rule 167 (id -> ID .) + FLOAT reduce using rule 167 (id -> ID .) + INT reduce using rule 167 (id -> ID .) + NULL reduce using rule 167 (id -> ID .) + PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .) + PYTHON_CODE reduce using rule 167 (id -> ID .) + # reduce using rule 167 (id -> ID .) + NEW reduce using rule 167 (id -> ID .) + ? reduce using rule 167 (id -> ID .) + HTMLSTART reduce using rule 167 (id -> ID .) + FOREACH reduce using rule 167 (id -> ID .) + FOR reduce using rule 167 (id -> ID .) + IF reduce using rule 167 (id -> ID .) + PHPSTART reduce using rule 167 (id -> ID .) + LIMPORT reduce using rule 167 (id -> ID .) + IMPORT reduce using rule 167 (id -> ID .) + RETURN reduce using rule 167 (id -> ID .) + DEL reduce using rule 167 (id -> ID .) + DEBUG reduce using rule 167 (id -> ID .) + SKIP reduce using rule 167 (id -> ID .) + BREAK reduce using rule 167 (id -> ID .) + LET reduce using rule 167 (id -> ID .) + WHILE reduce using rule 167 (id -> ID .) + NAMESPACE reduce using rule 167 (id -> ID .) + CLASS reduce using rule 167 (id -> ID .) + INIT reduce using rule 167 (id -> ID .) + $end reduce using rule 167 (id -> ID .) + PHPEND reduce using rule 167 (id -> ID .) + } reduce using rule 167 (id -> ID .) + , reduce using rule 167 (id -> ID .) TARROW shift and go to state 133 \ shift and go to state 134 / shift and go to state 135 @@ -3714,9 +3719,9 @@ state 39 state 40 (53) expression -> $ . expression - (116) variable_assignment -> $ . get_index = expression ; - (118) variable_assignment -> $ . ID TARROW ID = expression ; - (119) variable_assignment -> $ . ID = expression ; + (117) variable_assignment -> $ . get_index = expression ; + (119) variable_assignment -> $ . ID TARROW ID = expression ; + (120) variable_assignment -> $ . ID = expression ; (85) function_call -> $ . ID TARROW ID ( empty ) (86) function_call -> $ . ID TARROW ID ( function_arguments ) (20) expression -> . assoc_array @@ -3757,28 +3762,28 @@ state 40 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -3803,13 +3808,13 @@ state 40 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ID shift and go to state 139 ( shift and go to state 32 ! shift and go to state 33 @@ -3818,7 +3823,7 @@ state 40 * shift and go to state 38 & shift and go to state 36 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -3861,8 +3866,8 @@ state 40 state 41 - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } SELFISH shift and go to state 140 @@ -3951,7 +3956,7 @@ state 43 (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -4008,41 +4013,42 @@ state 43 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -4054,28 +4060,28 @@ state 43 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -4100,46 +4106,46 @@ state 43 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - PHPEND reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + PHPEND reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 @@ -4221,28 +4227,28 @@ state 44 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -4267,13 +4273,13 @@ state 44 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -4282,7 +4288,7 @@ state 44 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -4325,7 +4331,7 @@ state 44 state 45 - (142) import_statement -> IMPORT . expression ; + (143) import_statement -> IMPORT . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -4364,28 +4370,28 @@ state 45 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -4410,13 +4416,13 @@ state 45 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -4425,7 +4431,7 @@ state 45 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -4507,28 +4513,28 @@ state 46 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -4553,13 +4559,13 @@ state 46 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -4568,7 +4574,7 @@ state 46 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -4611,24 +4617,24 @@ state 46 state 47 - (139) delete_statement -> DEL . ID ; + (140) delete_statement -> DEL . ID ; ID shift and go to state 147 state 48 - (109) for_loop -> FOREACH . ( expression AS expression ) { program } + (110) for_loop -> FOREACH . ( expression AS expression ) { program } ( shift and go to state 148 state 49 - (145) assoc_array -> { . empty } - (151) _tuple -> { . positional_args , } - (152) _tuple -> { . positional_args } - (169) empty -> . - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (146) assoc_array -> { . empty } + (152) _tuple -> { . positional_args , } + (153) _tuple -> { . positional_args } + (170) empty -> . + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -4667,28 +4673,28 @@ state 49 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -4713,14 +4719,14 @@ state 49 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -4729,7 +4735,7 @@ state 49 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -4774,7 +4780,7 @@ state 49 state 50 - (110) for_loop -> FOR . ( expression ) { program } + (111) for_loop -> FOR . ( expression ) { program } ( shift and go to state 151 @@ -4798,96 +4804,96 @@ state 53 state 54 - (117) variable_assignment -> LET . ID : ID = expression ; + (118) variable_assignment -> LET . ID : ID = expression ; ID shift and go to state 155 state 55 - (111) while_loop -> WHILE . ( expression ) { program } + (112) while_loop -> WHILE . ( expression ) { program } ( shift and go to state 156 state 56 - (130) conditional -> if_statement . else_statement - (131) conditional -> if_statement . else_if_loop else_statement - (132) conditional -> if_statement . else_if_loop - (133) conditional -> if_statement . - (138) else_statement -> . ELSE { program } - (135) else_if_loop -> . else_if_statement - (136) else_if_loop -> . else_if_loop else_if_statement - (137) else_if_statement -> . ELSE IF ( expression ) { program } - ? reduce using rule 133 (conditional -> if_statement .) - ( reduce using rule 133 (conditional -> if_statement .) - ! reduce using rule 133 (conditional -> if_statement .) - + reduce using rule 133 (conditional -> if_statement .) - - reduce using rule 133 (conditional -> if_statement .) - * reduce using rule 133 (conditional -> if_statement .) - & reduce using rule 133 (conditional -> if_statement .) - ID reduce using rule 133 (conditional -> if_statement .) - $ reduce using rule 133 (conditional -> if_statement .) - PHPSTART reduce using rule 133 (conditional -> if_statement .) - LIMPORT reduce using rule 133 (conditional -> if_statement .) - . reduce using rule 133 (conditional -> if_statement .) - IMPORT reduce using rule 133 (conditional -> if_statement .) - RETURN reduce using rule 133 (conditional -> if_statement .) - DEL reduce using rule 133 (conditional -> if_statement .) - FOREACH reduce using rule 133 (conditional -> if_statement .) - FOR reduce using rule 133 (conditional -> if_statement .) - DEBUG reduce using rule 133 (conditional -> if_statement .) - SKIP reduce using rule 133 (conditional -> if_statement .) - BREAK reduce using rule 133 (conditional -> if_statement .) - LET reduce using rule 133 (conditional -> if_statement .) - WHILE reduce using rule 133 (conditional -> if_statement .) - NAMESPACE reduce using rule 133 (conditional -> if_statement .) - CLASS reduce using rule 133 (conditional -> if_statement .) - FUNC reduce using rule 133 (conditional -> if_statement .) - INIT reduce using rule 133 (conditional -> if_statement .) - [ reduce using rule 133 (conditional -> if_statement .) - { reduce using rule 133 (conditional -> if_statement .) - FORMATTED_STRING reduce using rule 133 (conditional -> if_statement .) - MULTILINE_STRING reduce using rule 133 (conditional -> if_statement .) - STRING reduce using rule 133 (conditional -> if_statement .) - CHAR reduce using rule 133 (conditional -> if_statement .) - FALSE reduce using rule 133 (conditional -> if_statement .) - TRUE reduce using rule 133 (conditional -> if_statement .) - FLOAT reduce using rule 133 (conditional -> if_statement .) - INT reduce using rule 133 (conditional -> if_statement .) - NULL reduce using rule 133 (conditional -> if_statement .) - PYTHON_CODE_EXEC reduce using rule 133 (conditional -> if_statement .) - PYTHON_CODE reduce using rule 133 (conditional -> if_statement .) - # reduce using rule 133 (conditional -> if_statement .) - NEW reduce using rule 133 (conditional -> if_statement .) - HTMLSTART reduce using rule 133 (conditional -> if_statement .) - IF reduce using rule 133 (conditional -> if_statement .) - $end reduce using rule 133 (conditional -> if_statement .) - > reduce using rule 133 (conditional -> if_statement .) - < reduce using rule 133 (conditional -> if_statement .) - EQ_GREATER reduce using rule 133 (conditional -> if_statement .) - EQ_LESS reduce using rule 133 (conditional -> if_statement .) - NOT_EQEQ reduce using rule 133 (conditional -> if_statement .) - EQEQ reduce using rule 133 (conditional -> if_statement .) - % reduce using rule 133 (conditional -> if_statement .) - / reduce using rule 133 (conditional -> if_statement .) - COLON_COLON reduce using rule 133 (conditional -> if_statement .) - ^ reduce using rule 133 (conditional -> if_statement .) - ; reduce using rule 133 (conditional -> if_statement .) - | reduce using rule 133 (conditional -> if_statement .) - , reduce using rule 133 (conditional -> if_statement .) - PHPEND reduce using rule 133 (conditional -> if_statement .) - } reduce using rule 133 (conditional -> if_statement .) - ) reduce using rule 133 (conditional -> if_statement .) - SARROW reduce using rule 133 (conditional -> if_statement .) - ] reduce using rule 133 (conditional -> if_statement .) - HTMLEND reduce using rule 133 (conditional -> if_statement .) - EQ_DIV reduce using rule 133 (conditional -> if_statement .) - EQ_MOD reduce using rule 133 (conditional -> if_statement .) - EQ_MUL reduce using rule 133 (conditional -> if_statement .) - EQ_SUB reduce using rule 133 (conditional -> if_statement .) - EQ_ADD reduce using rule 133 (conditional -> if_statement .) - = reduce using rule 133 (conditional -> if_statement .) - AS reduce using rule 133 (conditional -> if_statement .) + (131) conditional -> if_statement . else_statement + (132) conditional -> if_statement . else_if_loop else_statement + (133) conditional -> if_statement . else_if_loop + (134) conditional -> if_statement . + (139) else_statement -> . ELSE { program } + (136) else_if_loop -> . else_if_statement + (137) else_if_loop -> . else_if_loop else_if_statement + (138) else_if_statement -> . ELSE IF ( expression ) { program } + ? reduce using rule 134 (conditional -> if_statement .) + ( reduce using rule 134 (conditional -> if_statement .) + ! reduce using rule 134 (conditional -> if_statement .) + + reduce using rule 134 (conditional -> if_statement .) + - reduce using rule 134 (conditional -> if_statement .) + * reduce using rule 134 (conditional -> if_statement .) + & reduce using rule 134 (conditional -> if_statement .) + ID reduce using rule 134 (conditional -> if_statement .) + $ reduce using rule 134 (conditional -> if_statement .) + PHPSTART reduce using rule 134 (conditional -> if_statement .) + LIMPORT reduce using rule 134 (conditional -> if_statement .) + . reduce using rule 134 (conditional -> if_statement .) + IMPORT reduce using rule 134 (conditional -> if_statement .) + RETURN reduce using rule 134 (conditional -> if_statement .) + DEL reduce using rule 134 (conditional -> if_statement .) + FOREACH reduce using rule 134 (conditional -> if_statement .) + FOR reduce using rule 134 (conditional -> if_statement .) + DEBUG reduce using rule 134 (conditional -> if_statement .) + SKIP reduce using rule 134 (conditional -> if_statement .) + BREAK reduce using rule 134 (conditional -> if_statement .) + LET reduce using rule 134 (conditional -> if_statement .) + WHILE reduce using rule 134 (conditional -> if_statement .) + NAMESPACE reduce using rule 134 (conditional -> if_statement .) + CLASS reduce using rule 134 (conditional -> if_statement .) + FUNC reduce using rule 134 (conditional -> if_statement .) + INIT reduce using rule 134 (conditional -> if_statement .) + [ reduce using rule 134 (conditional -> if_statement .) + { reduce using rule 134 (conditional -> if_statement .) + FORMATTED_STRING reduce using rule 134 (conditional -> if_statement .) + MULTILINE_STRING reduce using rule 134 (conditional -> if_statement .) + STRING reduce using rule 134 (conditional -> if_statement .) + CHAR reduce using rule 134 (conditional -> if_statement .) + FALSE reduce using rule 134 (conditional -> if_statement .) + TRUE reduce using rule 134 (conditional -> if_statement .) + FLOAT reduce using rule 134 (conditional -> if_statement .) + INT reduce using rule 134 (conditional -> if_statement .) + NULL reduce using rule 134 (conditional -> if_statement .) + PYTHON_CODE_EXEC reduce using rule 134 (conditional -> if_statement .) + PYTHON_CODE reduce using rule 134 (conditional -> if_statement .) + # reduce using rule 134 (conditional -> if_statement .) + NEW reduce using rule 134 (conditional -> if_statement .) + HTMLSTART reduce using rule 134 (conditional -> if_statement .) + IF reduce using rule 134 (conditional -> if_statement .) + $end reduce using rule 134 (conditional -> if_statement .) + > reduce using rule 134 (conditional -> if_statement .) + < reduce using rule 134 (conditional -> if_statement .) + EQ_GREATER reduce using rule 134 (conditional -> if_statement .) + EQ_LESS reduce using rule 134 (conditional -> if_statement .) + NOT_EQEQ reduce using rule 134 (conditional -> if_statement .) + EQEQ reduce using rule 134 (conditional -> if_statement .) + % reduce using rule 134 (conditional -> if_statement .) + / reduce using rule 134 (conditional -> if_statement .) + COLON_COLON reduce using rule 134 (conditional -> if_statement .) + ^ reduce using rule 134 (conditional -> if_statement .) + ; reduce using rule 134 (conditional -> if_statement .) + | reduce using rule 134 (conditional -> if_statement .) + , reduce using rule 134 (conditional -> if_statement .) + PHPEND reduce using rule 134 (conditional -> if_statement .) + } reduce using rule 134 (conditional -> if_statement .) + ) reduce using rule 134 (conditional -> if_statement .) + SARROW reduce using rule 134 (conditional -> if_statement .) + ] reduce using rule 134 (conditional -> if_statement .) + HTMLEND reduce using rule 134 (conditional -> if_statement .) + EQ_DIV reduce using rule 134 (conditional -> if_statement .) + EQ_MOD reduce using rule 134 (conditional -> if_statement .) + EQ_MUL reduce using rule 134 (conditional -> if_statement .) + EQ_SUB reduce using rule 134 (conditional -> if_statement .) + EQ_ADD reduce using rule 134 (conditional -> if_statement .) + = reduce using rule 134 (conditional -> if_statement .) + AS reduce using rule 134 (conditional -> if_statement .) ELSE shift and go to state 159 else_statement shift and go to state 157 @@ -4905,37 +4911,21 @@ state 58 (107) class_declaration -> CLASS . ID EXTENDS ID { program } (108) class_declaration -> CLASS . ID { program } + (109) class_declaration -> CLASS . ID [ positional_args ] { program } ID shift and go to state 162 state 59 - (91) function_declaration -> FUNC . ID COLON_COLON ID ( empty ) { program } TARROW expression - (92) function_declaration -> FUNC . ID COLON_COLON ID ( function_arguments ) { program } TARROW expression - (98) function_declaration -> FUNC . ID ( empty ) { program } - (99) function_declaration -> FUNC . ID ( empty ) : expression { program } - (100) function_declaration -> FUNC . ID ( function_arguments ) { program } - (101) function_declaration -> FUNC . ID ( function_arguments ) : expression { program } - ID shift and go to state 163 - - -state 60 - - (93) function_declaration -> INIT . ( function_arguments ) { program } ; - ( shift and go to state 164 - - -state 61 - - (144) assoc_array -> [ . assoc_array_items ] - (146) assoc_array -> [ . empty ] - (153) _list -> [ . positional_args , ] - (154) _list -> [ . positional_args ] - (147) assoc_array_items -> . expression SARROW expression - (148) assoc_array_items -> . assoc_array_items , expression SARROW expression - (169) empty -> . - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (145) assoc_array -> [ . assoc_array_items ] + (147) assoc_array -> [ . empty ] + (154) _list -> [ . positional_args , ] + (155) _list -> [ . positional_args ] + (148) assoc_array_items -> . expression SARROW expression + (149) assoc_array_items -> . assoc_array_items , expression SARROW expression + (170) empty -> . + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -4974,28 +4964,28 @@ state 61 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -5020,14 +5010,14 @@ state 61 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ] reduce using rule 169 (empty -> .) + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ] reduce using rule 170 (empty -> .) ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -5036,7 +5026,7 @@ state 61 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -5058,10 +5048,10 @@ state 61 FOR shift and go to state 50 IF shift and go to state 76 - assoc_array_items shift and go to state 165 - empty shift and go to state 166 - positional_args shift and go to state 167 - expression shift and go to state 168 + assoc_array_items shift and go to state 163 + empty shift and go to state 164 + positional_args shift and go to state 165 + expression shift and go to state 166 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -5080,829 +5070,846 @@ state 61 conditional shift and go to state 88 if_statement shift and go to state 56 +state 60 + + (91) function_declaration -> FUNC . ID COLON_COLON ID ( empty ) { program } TARROW expression + (92) function_declaration -> FUNC . ID COLON_COLON ID ( function_arguments ) { program } TARROW expression + (98) function_declaration -> FUNC . ID ( empty ) { program } + (99) function_declaration -> FUNC . ID ( empty ) : expression { program } + (100) function_declaration -> FUNC . ID ( function_arguments ) { program } + (101) function_declaration -> FUNC . ID ( function_arguments ) : expression { program } + ID shift and go to state 167 + + +state 61 + + (93) function_declaration -> INIT . ( function_arguments ) { program } ; + ( shift and go to state 168 + + state 62 - (158) string -> FORMATTED_STRING . - > reduce using rule 158 (string -> FORMATTED_STRING .) - < reduce using rule 158 (string -> FORMATTED_STRING .) - & reduce using rule 158 (string -> FORMATTED_STRING .) - EQ_GREATER reduce using rule 158 (string -> FORMATTED_STRING .) - EQ_LESS reduce using rule 158 (string -> FORMATTED_STRING .) - NOT_EQEQ reduce using rule 158 (string -> FORMATTED_STRING .) - EQEQ reduce using rule 158 (string -> FORMATTED_STRING .) - % reduce using rule 158 (string -> FORMATTED_STRING .) - * reduce using rule 158 (string -> FORMATTED_STRING .) - / reduce using rule 158 (string -> FORMATTED_STRING .) - - reduce using rule 158 (string -> FORMATTED_STRING .) - + reduce using rule 158 (string -> FORMATTED_STRING .) - . reduce using rule 158 (string -> FORMATTED_STRING .) - COLON_COLON reduce using rule 158 (string -> FORMATTED_STRING .) - ^ reduce using rule 158 (string -> FORMATTED_STRING .) - [ reduce using rule 158 (string -> FORMATTED_STRING .) - ( reduce using rule 158 (string -> FORMATTED_STRING .) - $ reduce using rule 158 (string -> FORMATTED_STRING .) - ID reduce using rule 158 (string -> FORMATTED_STRING .) - ! reduce using rule 158 (string -> FORMATTED_STRING .) - { reduce using rule 158 (string -> FORMATTED_STRING .) - FORMATTED_STRING reduce using rule 158 (string -> FORMATTED_STRING .) - MULTILINE_STRING reduce using rule 158 (string -> FORMATTED_STRING .) - STRING reduce using rule 158 (string -> FORMATTED_STRING .) - CHAR reduce using rule 158 (string -> FORMATTED_STRING .) - FALSE reduce using rule 158 (string -> FORMATTED_STRING .) - TRUE reduce using rule 158 (string -> FORMATTED_STRING .) - FLOAT reduce using rule 158 (string -> FORMATTED_STRING .) - INT reduce using rule 158 (string -> FORMATTED_STRING .) - NULL reduce using rule 158 (string -> FORMATTED_STRING .) - PYTHON_CODE_EXEC reduce using rule 158 (string -> FORMATTED_STRING .) - PYTHON_CODE reduce using rule 158 (string -> FORMATTED_STRING .) - # reduce using rule 158 (string -> FORMATTED_STRING .) - NEW reduce using rule 158 (string -> FORMATTED_STRING .) - ? reduce using rule 158 (string -> FORMATTED_STRING .) - HTMLSTART reduce using rule 158 (string -> FORMATTED_STRING .) - FOREACH reduce using rule 158 (string -> FORMATTED_STRING .) - FOR reduce using rule 158 (string -> FORMATTED_STRING .) - IF reduce using rule 158 (string -> FORMATTED_STRING .) - PHPSTART reduce using rule 158 (string -> FORMATTED_STRING .) - LIMPORT reduce using rule 158 (string -> FORMATTED_STRING .) - IMPORT reduce using rule 158 (string -> FORMATTED_STRING .) - RETURN reduce using rule 158 (string -> FORMATTED_STRING .) - DEL reduce using rule 158 (string -> FORMATTED_STRING .) - DEBUG reduce using rule 158 (string -> FORMATTED_STRING .) - SKIP reduce using rule 158 (string -> FORMATTED_STRING .) - BREAK reduce using rule 158 (string -> FORMATTED_STRING .) - LET reduce using rule 158 (string -> FORMATTED_STRING .) - WHILE reduce using rule 158 (string -> FORMATTED_STRING .) - NAMESPACE reduce using rule 158 (string -> FORMATTED_STRING .) - CLASS reduce using rule 158 (string -> FORMATTED_STRING .) - FUNC reduce using rule 158 (string -> FORMATTED_STRING .) - INIT reduce using rule 158 (string -> FORMATTED_STRING .) - $end reduce using rule 158 (string -> FORMATTED_STRING .) - ; reduce using rule 158 (string -> FORMATTED_STRING .) - | reduce using rule 158 (string -> FORMATTED_STRING .) - , reduce using rule 158 (string -> FORMATTED_STRING .) - PHPEND reduce using rule 158 (string -> FORMATTED_STRING .) - } reduce using rule 158 (string -> FORMATTED_STRING .) - ) reduce using rule 158 (string -> FORMATTED_STRING .) - SARROW reduce using rule 158 (string -> FORMATTED_STRING .) - ] reduce using rule 158 (string -> FORMATTED_STRING .) - HTMLEND reduce using rule 158 (string -> FORMATTED_STRING .) - EQ_DIV reduce using rule 158 (string -> FORMATTED_STRING .) - EQ_MOD reduce using rule 158 (string -> FORMATTED_STRING .) - EQ_MUL reduce using rule 158 (string -> FORMATTED_STRING .) - EQ_SUB reduce using rule 158 (string -> FORMATTED_STRING .) - EQ_ADD reduce using rule 158 (string -> FORMATTED_STRING .) - = reduce using rule 158 (string -> FORMATTED_STRING .) - AS reduce using rule 158 (string -> FORMATTED_STRING .) + (159) string -> FORMATTED_STRING . + > reduce using rule 159 (string -> FORMATTED_STRING .) + < reduce using rule 159 (string -> FORMATTED_STRING .) + & reduce using rule 159 (string -> FORMATTED_STRING .) + EQ_GREATER reduce using rule 159 (string -> FORMATTED_STRING .) + EQ_LESS reduce using rule 159 (string -> FORMATTED_STRING .) + NOT_EQEQ reduce using rule 159 (string -> FORMATTED_STRING .) + EQEQ reduce using rule 159 (string -> FORMATTED_STRING .) + % reduce using rule 159 (string -> FORMATTED_STRING .) + * reduce using rule 159 (string -> FORMATTED_STRING .) + / reduce using rule 159 (string -> FORMATTED_STRING .) + - reduce using rule 159 (string -> FORMATTED_STRING .) + + reduce using rule 159 (string -> FORMATTED_STRING .) + . reduce using rule 159 (string -> FORMATTED_STRING .) + COLON_COLON reduce using rule 159 (string -> FORMATTED_STRING .) + ^ reduce using rule 159 (string -> FORMATTED_STRING .) + [ reduce using rule 159 (string -> FORMATTED_STRING .) + ( reduce using rule 159 (string -> FORMATTED_STRING .) + $ reduce using rule 159 (string -> FORMATTED_STRING .) + ID reduce using rule 159 (string -> FORMATTED_STRING .) + ! reduce using rule 159 (string -> FORMATTED_STRING .) + { reduce using rule 159 (string -> FORMATTED_STRING .) + FORMATTED_STRING reduce using rule 159 (string -> FORMATTED_STRING .) + MULTILINE_STRING reduce using rule 159 (string -> FORMATTED_STRING .) + STRING reduce using rule 159 (string -> FORMATTED_STRING .) + CHAR reduce using rule 159 (string -> FORMATTED_STRING .) + FALSE reduce using rule 159 (string -> FORMATTED_STRING .) + TRUE reduce using rule 159 (string -> FORMATTED_STRING .) + FLOAT reduce using rule 159 (string -> FORMATTED_STRING .) + INT reduce using rule 159 (string -> FORMATTED_STRING .) + NULL reduce using rule 159 (string -> FORMATTED_STRING .) + PYTHON_CODE_EXEC reduce using rule 159 (string -> FORMATTED_STRING .) + PYTHON_CODE reduce using rule 159 (string -> FORMATTED_STRING .) + # reduce using rule 159 (string -> FORMATTED_STRING .) + NEW reduce using rule 159 (string -> FORMATTED_STRING .) + ? reduce using rule 159 (string -> FORMATTED_STRING .) + HTMLSTART reduce using rule 159 (string -> FORMATTED_STRING .) + FOREACH reduce using rule 159 (string -> FORMATTED_STRING .) + FOR reduce using rule 159 (string -> FORMATTED_STRING .) + IF reduce using rule 159 (string -> FORMATTED_STRING .) + PHPSTART reduce using rule 159 (string -> FORMATTED_STRING .) + LIMPORT reduce using rule 159 (string -> FORMATTED_STRING .) + IMPORT reduce using rule 159 (string -> FORMATTED_STRING .) + RETURN reduce using rule 159 (string -> FORMATTED_STRING .) + DEL reduce using rule 159 (string -> FORMATTED_STRING .) + DEBUG reduce using rule 159 (string -> FORMATTED_STRING .) + SKIP reduce using rule 159 (string -> FORMATTED_STRING .) + BREAK reduce using rule 159 (string -> FORMATTED_STRING .) + LET reduce using rule 159 (string -> FORMATTED_STRING .) + WHILE reduce using rule 159 (string -> FORMATTED_STRING .) + NAMESPACE reduce using rule 159 (string -> FORMATTED_STRING .) + CLASS reduce using rule 159 (string -> FORMATTED_STRING .) + FUNC reduce using rule 159 (string -> FORMATTED_STRING .) + INIT reduce using rule 159 (string -> FORMATTED_STRING .) + $end reduce using rule 159 (string -> FORMATTED_STRING .) + ; reduce using rule 159 (string -> FORMATTED_STRING .) + | reduce using rule 159 (string -> FORMATTED_STRING .) + , reduce using rule 159 (string -> FORMATTED_STRING .) + PHPEND reduce using rule 159 (string -> FORMATTED_STRING .) + } reduce using rule 159 (string -> FORMATTED_STRING .) + ) reduce using rule 159 (string -> FORMATTED_STRING .) + SARROW reduce using rule 159 (string -> FORMATTED_STRING .) + ] reduce using rule 159 (string -> FORMATTED_STRING .) + HTMLEND reduce using rule 159 (string -> FORMATTED_STRING .) + EQ_DIV reduce using rule 159 (string -> FORMATTED_STRING .) + EQ_MOD reduce using rule 159 (string -> FORMATTED_STRING .) + EQ_MUL reduce using rule 159 (string -> FORMATTED_STRING .) + EQ_SUB reduce using rule 159 (string -> FORMATTED_STRING .) + EQ_ADD reduce using rule 159 (string -> FORMATTED_STRING .) + = reduce using rule 159 (string -> FORMATTED_STRING .) + AS reduce using rule 159 (string -> FORMATTED_STRING .) state 63 - (159) string -> MULTILINE_STRING . - > reduce using rule 159 (string -> MULTILINE_STRING .) - < reduce using rule 159 (string -> MULTILINE_STRING .) - & reduce using rule 159 (string -> MULTILINE_STRING .) - EQ_GREATER reduce using rule 159 (string -> MULTILINE_STRING .) - EQ_LESS reduce using rule 159 (string -> MULTILINE_STRING .) - NOT_EQEQ reduce using rule 159 (string -> MULTILINE_STRING .) - EQEQ reduce using rule 159 (string -> MULTILINE_STRING .) - % reduce using rule 159 (string -> MULTILINE_STRING .) - * reduce using rule 159 (string -> MULTILINE_STRING .) - / reduce using rule 159 (string -> MULTILINE_STRING .) - - reduce using rule 159 (string -> MULTILINE_STRING .) - + reduce using rule 159 (string -> MULTILINE_STRING .) - . reduce using rule 159 (string -> MULTILINE_STRING .) - COLON_COLON reduce using rule 159 (string -> MULTILINE_STRING .) - ^ reduce using rule 159 (string -> MULTILINE_STRING .) - [ reduce using rule 159 (string -> MULTILINE_STRING .) - ( reduce using rule 159 (string -> MULTILINE_STRING .) - $ reduce using rule 159 (string -> MULTILINE_STRING .) - ID reduce using rule 159 (string -> MULTILINE_STRING .) - ! reduce using rule 159 (string -> MULTILINE_STRING .) - { reduce using rule 159 (string -> MULTILINE_STRING .) - FORMATTED_STRING reduce using rule 159 (string -> MULTILINE_STRING .) - MULTILINE_STRING reduce using rule 159 (string -> MULTILINE_STRING .) - STRING reduce using rule 159 (string -> MULTILINE_STRING .) - CHAR reduce using rule 159 (string -> MULTILINE_STRING .) - FALSE reduce using rule 159 (string -> MULTILINE_STRING .) - TRUE reduce using rule 159 (string -> MULTILINE_STRING .) - FLOAT reduce using rule 159 (string -> MULTILINE_STRING .) - INT reduce using rule 159 (string -> MULTILINE_STRING .) - NULL reduce using rule 159 (string -> MULTILINE_STRING .) - PYTHON_CODE_EXEC reduce using rule 159 (string -> MULTILINE_STRING .) - PYTHON_CODE reduce using rule 159 (string -> MULTILINE_STRING .) - # reduce using rule 159 (string -> MULTILINE_STRING .) - NEW reduce using rule 159 (string -> MULTILINE_STRING .) - ? reduce using rule 159 (string -> MULTILINE_STRING .) - HTMLSTART reduce using rule 159 (string -> MULTILINE_STRING .) - FOREACH reduce using rule 159 (string -> MULTILINE_STRING .) - FOR reduce using rule 159 (string -> MULTILINE_STRING .) - IF reduce using rule 159 (string -> MULTILINE_STRING .) - PHPSTART reduce using rule 159 (string -> MULTILINE_STRING .) - LIMPORT reduce using rule 159 (string -> MULTILINE_STRING .) - IMPORT reduce using rule 159 (string -> MULTILINE_STRING .) - RETURN reduce using rule 159 (string -> MULTILINE_STRING .) - DEL reduce using rule 159 (string -> MULTILINE_STRING .) - DEBUG reduce using rule 159 (string -> MULTILINE_STRING .) - SKIP reduce using rule 159 (string -> MULTILINE_STRING .) - BREAK reduce using rule 159 (string -> MULTILINE_STRING .) - LET reduce using rule 159 (string -> MULTILINE_STRING .) - WHILE reduce using rule 159 (string -> MULTILINE_STRING .) - NAMESPACE reduce using rule 159 (string -> MULTILINE_STRING .) - CLASS reduce using rule 159 (string -> MULTILINE_STRING .) - FUNC reduce using rule 159 (string -> MULTILINE_STRING .) - INIT reduce using rule 159 (string -> MULTILINE_STRING .) - $end reduce using rule 159 (string -> MULTILINE_STRING .) - ; reduce using rule 159 (string -> MULTILINE_STRING .) - | reduce using rule 159 (string -> MULTILINE_STRING .) - , reduce using rule 159 (string -> MULTILINE_STRING .) - PHPEND reduce using rule 159 (string -> MULTILINE_STRING .) - } reduce using rule 159 (string -> MULTILINE_STRING .) - ) reduce using rule 159 (string -> MULTILINE_STRING .) - SARROW reduce using rule 159 (string -> MULTILINE_STRING .) - ] reduce using rule 159 (string -> MULTILINE_STRING .) - HTMLEND reduce using rule 159 (string -> MULTILINE_STRING .) - EQ_DIV reduce using rule 159 (string -> MULTILINE_STRING .) - EQ_MOD reduce using rule 159 (string -> MULTILINE_STRING .) - EQ_MUL reduce using rule 159 (string -> MULTILINE_STRING .) - EQ_SUB reduce using rule 159 (string -> MULTILINE_STRING .) - EQ_ADD reduce using rule 159 (string -> MULTILINE_STRING .) - = reduce using rule 159 (string -> MULTILINE_STRING .) - AS reduce using rule 159 (string -> MULTILINE_STRING .) + (160) string -> MULTILINE_STRING . + > reduce using rule 160 (string -> MULTILINE_STRING .) + < reduce using rule 160 (string -> MULTILINE_STRING .) + & reduce using rule 160 (string -> MULTILINE_STRING .) + EQ_GREATER reduce using rule 160 (string -> MULTILINE_STRING .) + EQ_LESS reduce using rule 160 (string -> MULTILINE_STRING .) + NOT_EQEQ reduce using rule 160 (string -> MULTILINE_STRING .) + EQEQ reduce using rule 160 (string -> MULTILINE_STRING .) + % reduce using rule 160 (string -> MULTILINE_STRING .) + * reduce using rule 160 (string -> MULTILINE_STRING .) + / reduce using rule 160 (string -> MULTILINE_STRING .) + - reduce using rule 160 (string -> MULTILINE_STRING .) + + reduce using rule 160 (string -> MULTILINE_STRING .) + . reduce using rule 160 (string -> MULTILINE_STRING .) + COLON_COLON reduce using rule 160 (string -> MULTILINE_STRING .) + ^ reduce using rule 160 (string -> MULTILINE_STRING .) + [ reduce using rule 160 (string -> MULTILINE_STRING .) + ( reduce using rule 160 (string -> MULTILINE_STRING .) + $ reduce using rule 160 (string -> MULTILINE_STRING .) + ID reduce using rule 160 (string -> MULTILINE_STRING .) + ! reduce using rule 160 (string -> MULTILINE_STRING .) + { reduce using rule 160 (string -> MULTILINE_STRING .) + FORMATTED_STRING reduce using rule 160 (string -> MULTILINE_STRING .) + MULTILINE_STRING reduce using rule 160 (string -> MULTILINE_STRING .) + STRING reduce using rule 160 (string -> MULTILINE_STRING .) + CHAR reduce using rule 160 (string -> MULTILINE_STRING .) + FALSE reduce using rule 160 (string -> MULTILINE_STRING .) + TRUE reduce using rule 160 (string -> MULTILINE_STRING .) + FLOAT reduce using rule 160 (string -> MULTILINE_STRING .) + INT reduce using rule 160 (string -> MULTILINE_STRING .) + NULL reduce using rule 160 (string -> MULTILINE_STRING .) + PYTHON_CODE_EXEC reduce using rule 160 (string -> MULTILINE_STRING .) + PYTHON_CODE reduce using rule 160 (string -> MULTILINE_STRING .) + # reduce using rule 160 (string -> MULTILINE_STRING .) + NEW reduce using rule 160 (string -> MULTILINE_STRING .) + ? reduce using rule 160 (string -> MULTILINE_STRING .) + HTMLSTART reduce using rule 160 (string -> MULTILINE_STRING .) + FOREACH reduce using rule 160 (string -> MULTILINE_STRING .) + FOR reduce using rule 160 (string -> MULTILINE_STRING .) + IF reduce using rule 160 (string -> MULTILINE_STRING .) + PHPSTART reduce using rule 160 (string -> MULTILINE_STRING .) + LIMPORT reduce using rule 160 (string -> MULTILINE_STRING .) + IMPORT reduce using rule 160 (string -> MULTILINE_STRING .) + RETURN reduce using rule 160 (string -> MULTILINE_STRING .) + DEL reduce using rule 160 (string -> MULTILINE_STRING .) + DEBUG reduce using rule 160 (string -> MULTILINE_STRING .) + SKIP reduce using rule 160 (string -> MULTILINE_STRING .) + BREAK reduce using rule 160 (string -> MULTILINE_STRING .) + LET reduce using rule 160 (string -> MULTILINE_STRING .) + WHILE reduce using rule 160 (string -> MULTILINE_STRING .) + NAMESPACE reduce using rule 160 (string -> MULTILINE_STRING .) + CLASS reduce using rule 160 (string -> MULTILINE_STRING .) + FUNC reduce using rule 160 (string -> MULTILINE_STRING .) + INIT reduce using rule 160 (string -> MULTILINE_STRING .) + $end reduce using rule 160 (string -> MULTILINE_STRING .) + ; reduce using rule 160 (string -> MULTILINE_STRING .) + | reduce using rule 160 (string -> MULTILINE_STRING .) + , reduce using rule 160 (string -> MULTILINE_STRING .) + PHPEND reduce using rule 160 (string -> MULTILINE_STRING .) + } reduce using rule 160 (string -> MULTILINE_STRING .) + ) reduce using rule 160 (string -> MULTILINE_STRING .) + SARROW reduce using rule 160 (string -> MULTILINE_STRING .) + ] reduce using rule 160 (string -> MULTILINE_STRING .) + HTMLEND reduce using rule 160 (string -> MULTILINE_STRING .) + EQ_DIV reduce using rule 160 (string -> MULTILINE_STRING .) + EQ_MOD reduce using rule 160 (string -> MULTILINE_STRING .) + EQ_MUL reduce using rule 160 (string -> MULTILINE_STRING .) + EQ_SUB reduce using rule 160 (string -> MULTILINE_STRING .) + EQ_ADD reduce using rule 160 (string -> MULTILINE_STRING .) + = reduce using rule 160 (string -> MULTILINE_STRING .) + AS reduce using rule 160 (string -> MULTILINE_STRING .) state 64 - (160) string -> STRING . - > reduce using rule 160 (string -> STRING .) - < reduce using rule 160 (string -> STRING .) - & reduce using rule 160 (string -> STRING .) - EQ_GREATER reduce using rule 160 (string -> STRING .) - EQ_LESS reduce using rule 160 (string -> STRING .) - NOT_EQEQ reduce using rule 160 (string -> STRING .) - EQEQ reduce using rule 160 (string -> STRING .) - % reduce using rule 160 (string -> STRING .) - * reduce using rule 160 (string -> STRING .) - / reduce using rule 160 (string -> STRING .) - - reduce using rule 160 (string -> STRING .) - + reduce using rule 160 (string -> STRING .) - . reduce using rule 160 (string -> STRING .) - COLON_COLON reduce using rule 160 (string -> STRING .) - ^ reduce using rule 160 (string -> STRING .) - [ reduce using rule 160 (string -> STRING .) - ( reduce using rule 160 (string -> STRING .) - $ reduce using rule 160 (string -> STRING .) - ID reduce using rule 160 (string -> STRING .) - ! reduce using rule 160 (string -> STRING .) - { reduce using rule 160 (string -> STRING .) - FORMATTED_STRING reduce using rule 160 (string -> STRING .) - MULTILINE_STRING reduce using rule 160 (string -> STRING .) - STRING reduce using rule 160 (string -> STRING .) - CHAR reduce using rule 160 (string -> STRING .) - FALSE reduce using rule 160 (string -> STRING .) - TRUE reduce using rule 160 (string -> STRING .) - FLOAT reduce using rule 160 (string -> STRING .) - INT reduce using rule 160 (string -> STRING .) - NULL reduce using rule 160 (string -> STRING .) - PYTHON_CODE_EXEC reduce using rule 160 (string -> STRING .) - PYTHON_CODE reduce using rule 160 (string -> STRING .) - # reduce using rule 160 (string -> STRING .) - NEW reduce using rule 160 (string -> STRING .) - ? reduce using rule 160 (string -> STRING .) - HTMLSTART reduce using rule 160 (string -> STRING .) - FOREACH reduce using rule 160 (string -> STRING .) - FOR reduce using rule 160 (string -> STRING .) - IF reduce using rule 160 (string -> STRING .) - PHPSTART reduce using rule 160 (string -> STRING .) - LIMPORT reduce using rule 160 (string -> STRING .) - IMPORT reduce using rule 160 (string -> STRING .) - RETURN reduce using rule 160 (string -> STRING .) - DEL reduce using rule 160 (string -> STRING .) - DEBUG reduce using rule 160 (string -> STRING .) - SKIP reduce using rule 160 (string -> STRING .) - BREAK reduce using rule 160 (string -> STRING .) - LET reduce using rule 160 (string -> STRING .) - WHILE reduce using rule 160 (string -> STRING .) - NAMESPACE reduce using rule 160 (string -> STRING .) - CLASS reduce using rule 160 (string -> STRING .) - FUNC reduce using rule 160 (string -> STRING .) - INIT reduce using rule 160 (string -> STRING .) - $end reduce using rule 160 (string -> STRING .) - ; reduce using rule 160 (string -> STRING .) - | reduce using rule 160 (string -> STRING .) - , reduce using rule 160 (string -> STRING .) - PHPEND reduce using rule 160 (string -> STRING .) - } reduce using rule 160 (string -> STRING .) - ) reduce using rule 160 (string -> STRING .) - SARROW reduce using rule 160 (string -> STRING .) - ] reduce using rule 160 (string -> STRING .) - HTMLEND reduce using rule 160 (string -> STRING .) - EQ_DIV reduce using rule 160 (string -> STRING .) - EQ_MOD reduce using rule 160 (string -> STRING .) - EQ_MUL reduce using rule 160 (string -> STRING .) - EQ_SUB reduce using rule 160 (string -> STRING .) - EQ_ADD reduce using rule 160 (string -> STRING .) - = reduce using rule 160 (string -> STRING .) - AS reduce using rule 160 (string -> STRING .) + (161) string -> STRING . + > reduce using rule 161 (string -> STRING .) + < reduce using rule 161 (string -> STRING .) + & reduce using rule 161 (string -> STRING .) + EQ_GREATER reduce using rule 161 (string -> STRING .) + EQ_LESS reduce using rule 161 (string -> STRING .) + NOT_EQEQ reduce using rule 161 (string -> STRING .) + EQEQ reduce using rule 161 (string -> STRING .) + % reduce using rule 161 (string -> STRING .) + * reduce using rule 161 (string -> STRING .) + / reduce using rule 161 (string -> STRING .) + - reduce using rule 161 (string -> STRING .) + + reduce using rule 161 (string -> STRING .) + . reduce using rule 161 (string -> STRING .) + COLON_COLON reduce using rule 161 (string -> STRING .) + ^ reduce using rule 161 (string -> STRING .) + [ reduce using rule 161 (string -> STRING .) + ( reduce using rule 161 (string -> STRING .) + $ reduce using rule 161 (string -> STRING .) + ID reduce using rule 161 (string -> STRING .) + ! reduce using rule 161 (string -> STRING .) + { reduce using rule 161 (string -> STRING .) + FORMATTED_STRING reduce using rule 161 (string -> STRING .) + MULTILINE_STRING reduce using rule 161 (string -> STRING .) + STRING reduce using rule 161 (string -> STRING .) + CHAR reduce using rule 161 (string -> STRING .) + FALSE reduce using rule 161 (string -> STRING .) + TRUE reduce using rule 161 (string -> STRING .) + FLOAT reduce using rule 161 (string -> STRING .) + INT reduce using rule 161 (string -> STRING .) + NULL reduce using rule 161 (string -> STRING .) + PYTHON_CODE_EXEC reduce using rule 161 (string -> STRING .) + PYTHON_CODE reduce using rule 161 (string -> STRING .) + # reduce using rule 161 (string -> STRING .) + NEW reduce using rule 161 (string -> STRING .) + ? reduce using rule 161 (string -> STRING .) + HTMLSTART reduce using rule 161 (string -> STRING .) + FOREACH reduce using rule 161 (string -> STRING .) + FOR reduce using rule 161 (string -> STRING .) + IF reduce using rule 161 (string -> STRING .) + PHPSTART reduce using rule 161 (string -> STRING .) + LIMPORT reduce using rule 161 (string -> STRING .) + IMPORT reduce using rule 161 (string -> STRING .) + RETURN reduce using rule 161 (string -> STRING .) + DEL reduce using rule 161 (string -> STRING .) + DEBUG reduce using rule 161 (string -> STRING .) + SKIP reduce using rule 161 (string -> STRING .) + BREAK reduce using rule 161 (string -> STRING .) + LET reduce using rule 161 (string -> STRING .) + WHILE reduce using rule 161 (string -> STRING .) + NAMESPACE reduce using rule 161 (string -> STRING .) + CLASS reduce using rule 161 (string -> STRING .) + FUNC reduce using rule 161 (string -> STRING .) + INIT reduce using rule 161 (string -> STRING .) + $end reduce using rule 161 (string -> STRING .) + ; reduce using rule 161 (string -> STRING .) + | reduce using rule 161 (string -> STRING .) + , reduce using rule 161 (string -> STRING .) + PHPEND reduce using rule 161 (string -> STRING .) + } reduce using rule 161 (string -> STRING .) + ) reduce using rule 161 (string -> STRING .) + SARROW reduce using rule 161 (string -> STRING .) + ] reduce using rule 161 (string -> STRING .) + HTMLEND reduce using rule 161 (string -> STRING .) + EQ_DIV reduce using rule 161 (string -> STRING .) + EQ_MOD reduce using rule 161 (string -> STRING .) + EQ_MUL reduce using rule 161 (string -> STRING .) + EQ_SUB reduce using rule 161 (string -> STRING .) + EQ_ADD reduce using rule 161 (string -> STRING .) + = reduce using rule 161 (string -> STRING .) + AS reduce using rule 161 (string -> STRING .) state 65 - (161) string -> CHAR . - > reduce using rule 161 (string -> CHAR .) - < reduce using rule 161 (string -> CHAR .) - & reduce using rule 161 (string -> CHAR .) - EQ_GREATER reduce using rule 161 (string -> CHAR .) - EQ_LESS reduce using rule 161 (string -> CHAR .) - NOT_EQEQ reduce using rule 161 (string -> CHAR .) - EQEQ reduce using rule 161 (string -> CHAR .) - % reduce using rule 161 (string -> CHAR .) - * reduce using rule 161 (string -> CHAR .) - / reduce using rule 161 (string -> CHAR .) - - reduce using rule 161 (string -> CHAR .) - + reduce using rule 161 (string -> CHAR .) - . reduce using rule 161 (string -> CHAR .) - COLON_COLON reduce using rule 161 (string -> CHAR .) - ^ reduce using rule 161 (string -> CHAR .) - [ reduce using rule 161 (string -> CHAR .) - ( reduce using rule 161 (string -> CHAR .) - $ reduce using rule 161 (string -> CHAR .) - ID reduce using rule 161 (string -> CHAR .) - ! reduce using rule 161 (string -> CHAR .) - { reduce using rule 161 (string -> CHAR .) - FORMATTED_STRING reduce using rule 161 (string -> CHAR .) - MULTILINE_STRING reduce using rule 161 (string -> CHAR .) - STRING reduce using rule 161 (string -> CHAR .) - CHAR reduce using rule 161 (string -> CHAR .) - FALSE reduce using rule 161 (string -> CHAR .) - TRUE reduce using rule 161 (string -> CHAR .) - FLOAT reduce using rule 161 (string -> CHAR .) - INT reduce using rule 161 (string -> CHAR .) - NULL reduce using rule 161 (string -> CHAR .) - PYTHON_CODE_EXEC reduce using rule 161 (string -> CHAR .) - PYTHON_CODE reduce using rule 161 (string -> CHAR .) - # reduce using rule 161 (string -> CHAR .) - NEW reduce using rule 161 (string -> CHAR .) - ? reduce using rule 161 (string -> CHAR .) - HTMLSTART reduce using rule 161 (string -> CHAR .) - FOREACH reduce using rule 161 (string -> CHAR .) - FOR reduce using rule 161 (string -> CHAR .) - IF reduce using rule 161 (string -> CHAR .) - PHPSTART reduce using rule 161 (string -> CHAR .) - LIMPORT reduce using rule 161 (string -> CHAR .) - IMPORT reduce using rule 161 (string -> CHAR .) - RETURN reduce using rule 161 (string -> CHAR .) - DEL reduce using rule 161 (string -> CHAR .) - DEBUG reduce using rule 161 (string -> CHAR .) - SKIP reduce using rule 161 (string -> CHAR .) - BREAK reduce using rule 161 (string -> CHAR .) - LET reduce using rule 161 (string -> CHAR .) - WHILE reduce using rule 161 (string -> CHAR .) - NAMESPACE reduce using rule 161 (string -> CHAR .) - CLASS reduce using rule 161 (string -> CHAR .) - FUNC reduce using rule 161 (string -> CHAR .) - INIT reduce using rule 161 (string -> CHAR .) - $end reduce using rule 161 (string -> CHAR .) - ; reduce using rule 161 (string -> CHAR .) - | reduce using rule 161 (string -> CHAR .) - , reduce using rule 161 (string -> CHAR .) - PHPEND reduce using rule 161 (string -> CHAR .) - } reduce using rule 161 (string -> CHAR .) - ) reduce using rule 161 (string -> CHAR .) - SARROW reduce using rule 161 (string -> CHAR .) - ] reduce using rule 161 (string -> CHAR .) - HTMLEND reduce using rule 161 (string -> CHAR .) - EQ_DIV reduce using rule 161 (string -> CHAR .) - EQ_MOD reduce using rule 161 (string -> CHAR .) - EQ_MUL reduce using rule 161 (string -> CHAR .) - EQ_SUB reduce using rule 161 (string -> CHAR .) - EQ_ADD reduce using rule 161 (string -> CHAR .) - = reduce using rule 161 (string -> CHAR .) - AS reduce using rule 161 (string -> CHAR .) + (162) string -> CHAR . + > reduce using rule 162 (string -> CHAR .) + < reduce using rule 162 (string -> CHAR .) + & reduce using rule 162 (string -> CHAR .) + EQ_GREATER reduce using rule 162 (string -> CHAR .) + EQ_LESS reduce using rule 162 (string -> CHAR .) + NOT_EQEQ reduce using rule 162 (string -> CHAR .) + EQEQ reduce using rule 162 (string -> CHAR .) + % reduce using rule 162 (string -> CHAR .) + * reduce using rule 162 (string -> CHAR .) + / reduce using rule 162 (string -> CHAR .) + - reduce using rule 162 (string -> CHAR .) + + reduce using rule 162 (string -> CHAR .) + . reduce using rule 162 (string -> CHAR .) + COLON_COLON reduce using rule 162 (string -> CHAR .) + ^ reduce using rule 162 (string -> CHAR .) + [ reduce using rule 162 (string -> CHAR .) + ( reduce using rule 162 (string -> CHAR .) + $ reduce using rule 162 (string -> CHAR .) + ID reduce using rule 162 (string -> CHAR .) + ! reduce using rule 162 (string -> CHAR .) + { reduce using rule 162 (string -> CHAR .) + FORMATTED_STRING reduce using rule 162 (string -> CHAR .) + MULTILINE_STRING reduce using rule 162 (string -> CHAR .) + STRING reduce using rule 162 (string -> CHAR .) + CHAR reduce using rule 162 (string -> CHAR .) + FALSE reduce using rule 162 (string -> CHAR .) + TRUE reduce using rule 162 (string -> CHAR .) + FLOAT reduce using rule 162 (string -> CHAR .) + INT reduce using rule 162 (string -> CHAR .) + NULL reduce using rule 162 (string -> CHAR .) + PYTHON_CODE_EXEC reduce using rule 162 (string -> CHAR .) + PYTHON_CODE reduce using rule 162 (string -> CHAR .) + # reduce using rule 162 (string -> CHAR .) + NEW reduce using rule 162 (string -> CHAR .) + ? reduce using rule 162 (string -> CHAR .) + HTMLSTART reduce using rule 162 (string -> CHAR .) + FOREACH reduce using rule 162 (string -> CHAR .) + FOR reduce using rule 162 (string -> CHAR .) + IF reduce using rule 162 (string -> CHAR .) + PHPSTART reduce using rule 162 (string -> CHAR .) + LIMPORT reduce using rule 162 (string -> CHAR .) + IMPORT reduce using rule 162 (string -> CHAR .) + RETURN reduce using rule 162 (string -> CHAR .) + DEL reduce using rule 162 (string -> CHAR .) + DEBUG reduce using rule 162 (string -> CHAR .) + SKIP reduce using rule 162 (string -> CHAR .) + BREAK reduce using rule 162 (string -> CHAR .) + LET reduce using rule 162 (string -> CHAR .) + WHILE reduce using rule 162 (string -> CHAR .) + NAMESPACE reduce using rule 162 (string -> CHAR .) + CLASS reduce using rule 162 (string -> CHAR .) + FUNC reduce using rule 162 (string -> CHAR .) + INIT reduce using rule 162 (string -> CHAR .) + $end reduce using rule 162 (string -> CHAR .) + ; reduce using rule 162 (string -> CHAR .) + | reduce using rule 162 (string -> CHAR .) + , reduce using rule 162 (string -> CHAR .) + PHPEND reduce using rule 162 (string -> CHAR .) + } reduce using rule 162 (string -> CHAR .) + ) reduce using rule 162 (string -> CHAR .) + SARROW reduce using rule 162 (string -> CHAR .) + ] reduce using rule 162 (string -> CHAR .) + HTMLEND reduce using rule 162 (string -> CHAR .) + EQ_DIV reduce using rule 162 (string -> CHAR .) + EQ_MOD reduce using rule 162 (string -> CHAR .) + EQ_MUL reduce using rule 162 (string -> CHAR .) + EQ_SUB reduce using rule 162 (string -> CHAR .) + EQ_ADD reduce using rule 162 (string -> CHAR .) + = reduce using rule 162 (string -> CHAR .) + AS reduce using rule 162 (string -> CHAR .) state 66 - (163) bool -> FALSE . - > reduce using rule 163 (bool -> FALSE .) - < reduce using rule 163 (bool -> FALSE .) - & reduce using rule 163 (bool -> FALSE .) - EQ_GREATER reduce using rule 163 (bool -> FALSE .) - EQ_LESS reduce using rule 163 (bool -> FALSE .) - NOT_EQEQ reduce using rule 163 (bool -> FALSE .) - EQEQ reduce using rule 163 (bool -> FALSE .) - % reduce using rule 163 (bool -> FALSE .) - * reduce using rule 163 (bool -> FALSE .) - / reduce using rule 163 (bool -> FALSE .) - - reduce using rule 163 (bool -> FALSE .) - + reduce using rule 163 (bool -> FALSE .) - . reduce using rule 163 (bool -> FALSE .) - COLON_COLON reduce using rule 163 (bool -> FALSE .) - ^ reduce using rule 163 (bool -> FALSE .) - [ reduce using rule 163 (bool -> FALSE .) - ( reduce using rule 163 (bool -> FALSE .) - $ reduce using rule 163 (bool -> FALSE .) - ID reduce using rule 163 (bool -> FALSE .) - ! reduce using rule 163 (bool -> FALSE .) - { reduce using rule 163 (bool -> FALSE .) - FORMATTED_STRING reduce using rule 163 (bool -> FALSE .) - MULTILINE_STRING reduce using rule 163 (bool -> FALSE .) - STRING reduce using rule 163 (bool -> FALSE .) - CHAR reduce using rule 163 (bool -> FALSE .) - FALSE reduce using rule 163 (bool -> FALSE .) - TRUE reduce using rule 163 (bool -> FALSE .) - FLOAT reduce using rule 163 (bool -> FALSE .) - INT reduce using rule 163 (bool -> FALSE .) - NULL reduce using rule 163 (bool -> FALSE .) - PYTHON_CODE_EXEC reduce using rule 163 (bool -> FALSE .) - PYTHON_CODE reduce using rule 163 (bool -> FALSE .) - # reduce using rule 163 (bool -> FALSE .) - NEW reduce using rule 163 (bool -> FALSE .) - ? reduce using rule 163 (bool -> FALSE .) - HTMLSTART reduce using rule 163 (bool -> FALSE .) - FOREACH reduce using rule 163 (bool -> FALSE .) - FOR reduce using rule 163 (bool -> FALSE .) - IF reduce using rule 163 (bool -> FALSE .) - PHPSTART reduce using rule 163 (bool -> FALSE .) - LIMPORT reduce using rule 163 (bool -> FALSE .) - IMPORT reduce using rule 163 (bool -> FALSE .) - RETURN reduce using rule 163 (bool -> FALSE .) - DEL reduce using rule 163 (bool -> FALSE .) - DEBUG reduce using rule 163 (bool -> FALSE .) - SKIP reduce using rule 163 (bool -> FALSE .) - BREAK reduce using rule 163 (bool -> FALSE .) - LET reduce using rule 163 (bool -> FALSE .) - WHILE reduce using rule 163 (bool -> FALSE .) - NAMESPACE reduce using rule 163 (bool -> FALSE .) - CLASS reduce using rule 163 (bool -> FALSE .) - FUNC reduce using rule 163 (bool -> FALSE .) - INIT reduce using rule 163 (bool -> FALSE .) - $end reduce using rule 163 (bool -> FALSE .) - ; reduce using rule 163 (bool -> FALSE .) - | reduce using rule 163 (bool -> FALSE .) - , reduce using rule 163 (bool -> FALSE .) - PHPEND reduce using rule 163 (bool -> FALSE .) - } reduce using rule 163 (bool -> FALSE .) - ) reduce using rule 163 (bool -> FALSE .) - SARROW reduce using rule 163 (bool -> FALSE .) - ] reduce using rule 163 (bool -> FALSE .) - HTMLEND reduce using rule 163 (bool -> FALSE .) - EQ_DIV reduce using rule 163 (bool -> FALSE .) - EQ_MOD reduce using rule 163 (bool -> FALSE .) - EQ_MUL reduce using rule 163 (bool -> FALSE .) - EQ_SUB reduce using rule 163 (bool -> FALSE .) - EQ_ADD reduce using rule 163 (bool -> FALSE .) - = reduce using rule 163 (bool -> FALSE .) - AS reduce using rule 163 (bool -> FALSE .) + (164) bool -> FALSE . + > reduce using rule 164 (bool -> FALSE .) + < reduce using rule 164 (bool -> FALSE .) + & reduce using rule 164 (bool -> FALSE .) + EQ_GREATER reduce using rule 164 (bool -> FALSE .) + EQ_LESS reduce using rule 164 (bool -> FALSE .) + NOT_EQEQ reduce using rule 164 (bool -> FALSE .) + EQEQ reduce using rule 164 (bool -> FALSE .) + % reduce using rule 164 (bool -> FALSE .) + * reduce using rule 164 (bool -> FALSE .) + / reduce using rule 164 (bool -> FALSE .) + - reduce using rule 164 (bool -> FALSE .) + + reduce using rule 164 (bool -> FALSE .) + . reduce using rule 164 (bool -> FALSE .) + COLON_COLON reduce using rule 164 (bool -> FALSE .) + ^ reduce using rule 164 (bool -> FALSE .) + [ reduce using rule 164 (bool -> FALSE .) + ( reduce using rule 164 (bool -> FALSE .) + $ reduce using rule 164 (bool -> FALSE .) + ID reduce using rule 164 (bool -> FALSE .) + ! reduce using rule 164 (bool -> FALSE .) + { reduce using rule 164 (bool -> FALSE .) + FORMATTED_STRING reduce using rule 164 (bool -> FALSE .) + MULTILINE_STRING reduce using rule 164 (bool -> FALSE .) + STRING reduce using rule 164 (bool -> FALSE .) + CHAR reduce using rule 164 (bool -> FALSE .) + FALSE reduce using rule 164 (bool -> FALSE .) + TRUE reduce using rule 164 (bool -> FALSE .) + FLOAT reduce using rule 164 (bool -> FALSE .) + INT reduce using rule 164 (bool -> FALSE .) + NULL reduce using rule 164 (bool -> FALSE .) + PYTHON_CODE_EXEC reduce using rule 164 (bool -> FALSE .) + PYTHON_CODE reduce using rule 164 (bool -> FALSE .) + # reduce using rule 164 (bool -> FALSE .) + NEW reduce using rule 164 (bool -> FALSE .) + ? reduce using rule 164 (bool -> FALSE .) + HTMLSTART reduce using rule 164 (bool -> FALSE .) + FOREACH reduce using rule 164 (bool -> FALSE .) + FOR reduce using rule 164 (bool -> FALSE .) + IF reduce using rule 164 (bool -> FALSE .) + PHPSTART reduce using rule 164 (bool -> FALSE .) + LIMPORT reduce using rule 164 (bool -> FALSE .) + IMPORT reduce using rule 164 (bool -> FALSE .) + RETURN reduce using rule 164 (bool -> FALSE .) + DEL reduce using rule 164 (bool -> FALSE .) + DEBUG reduce using rule 164 (bool -> FALSE .) + SKIP reduce using rule 164 (bool -> FALSE .) + BREAK reduce using rule 164 (bool -> FALSE .) + LET reduce using rule 164 (bool -> FALSE .) + WHILE reduce using rule 164 (bool -> FALSE .) + NAMESPACE reduce using rule 164 (bool -> FALSE .) + CLASS reduce using rule 164 (bool -> FALSE .) + FUNC reduce using rule 164 (bool -> FALSE .) + INIT reduce using rule 164 (bool -> FALSE .) + $end reduce using rule 164 (bool -> FALSE .) + ; reduce using rule 164 (bool -> FALSE .) + | reduce using rule 164 (bool -> FALSE .) + , reduce using rule 164 (bool -> FALSE .) + PHPEND reduce using rule 164 (bool -> FALSE .) + } reduce using rule 164 (bool -> FALSE .) + ) reduce using rule 164 (bool -> FALSE .) + SARROW reduce using rule 164 (bool -> FALSE .) + ] reduce using rule 164 (bool -> FALSE .) + HTMLEND reduce using rule 164 (bool -> FALSE .) + EQ_DIV reduce using rule 164 (bool -> FALSE .) + EQ_MOD reduce using rule 164 (bool -> FALSE .) + EQ_MUL reduce using rule 164 (bool -> FALSE .) + EQ_SUB reduce using rule 164 (bool -> FALSE .) + EQ_ADD reduce using rule 164 (bool -> FALSE .) + = reduce using rule 164 (bool -> FALSE .) + AS reduce using rule 164 (bool -> FALSE .) state 67 - (164) bool -> TRUE . - > reduce using rule 164 (bool -> TRUE .) - < reduce using rule 164 (bool -> TRUE .) - & reduce using rule 164 (bool -> TRUE .) - EQ_GREATER reduce using rule 164 (bool -> TRUE .) - EQ_LESS reduce using rule 164 (bool -> TRUE .) - NOT_EQEQ reduce using rule 164 (bool -> TRUE .) - EQEQ reduce using rule 164 (bool -> TRUE .) - % reduce using rule 164 (bool -> TRUE .) - * reduce using rule 164 (bool -> TRUE .) - / reduce using rule 164 (bool -> TRUE .) - - reduce using rule 164 (bool -> TRUE .) - + reduce using rule 164 (bool -> TRUE .) - . reduce using rule 164 (bool -> TRUE .) - COLON_COLON reduce using rule 164 (bool -> TRUE .) - ^ reduce using rule 164 (bool -> TRUE .) - [ reduce using rule 164 (bool -> TRUE .) - ( reduce using rule 164 (bool -> TRUE .) - $ reduce using rule 164 (bool -> TRUE .) - ID reduce using rule 164 (bool -> TRUE .) - ! reduce using rule 164 (bool -> TRUE .) - { reduce using rule 164 (bool -> TRUE .) - FORMATTED_STRING reduce using rule 164 (bool -> TRUE .) - MULTILINE_STRING reduce using rule 164 (bool -> TRUE .) - STRING reduce using rule 164 (bool -> TRUE .) - CHAR reduce using rule 164 (bool -> TRUE .) - FALSE reduce using rule 164 (bool -> TRUE .) - TRUE reduce using rule 164 (bool -> TRUE .) - FLOAT reduce using rule 164 (bool -> TRUE .) - INT reduce using rule 164 (bool -> TRUE .) - NULL reduce using rule 164 (bool -> TRUE .) - PYTHON_CODE_EXEC reduce using rule 164 (bool -> TRUE .) - PYTHON_CODE reduce using rule 164 (bool -> TRUE .) - # reduce using rule 164 (bool -> TRUE .) - NEW reduce using rule 164 (bool -> TRUE .) - ? reduce using rule 164 (bool -> TRUE .) - HTMLSTART reduce using rule 164 (bool -> TRUE .) - FOREACH reduce using rule 164 (bool -> TRUE .) - FOR reduce using rule 164 (bool -> TRUE .) - IF reduce using rule 164 (bool -> TRUE .) - PHPSTART reduce using rule 164 (bool -> TRUE .) - LIMPORT reduce using rule 164 (bool -> TRUE .) - IMPORT reduce using rule 164 (bool -> TRUE .) - RETURN reduce using rule 164 (bool -> TRUE .) - DEL reduce using rule 164 (bool -> TRUE .) - DEBUG reduce using rule 164 (bool -> TRUE .) - SKIP reduce using rule 164 (bool -> TRUE .) - BREAK reduce using rule 164 (bool -> TRUE .) - LET reduce using rule 164 (bool -> TRUE .) - WHILE reduce using rule 164 (bool -> TRUE .) - NAMESPACE reduce using rule 164 (bool -> TRUE .) - CLASS reduce using rule 164 (bool -> TRUE .) - FUNC reduce using rule 164 (bool -> TRUE .) - INIT reduce using rule 164 (bool -> TRUE .) - $end reduce using rule 164 (bool -> TRUE .) - ; reduce using rule 164 (bool -> TRUE .) - | reduce using rule 164 (bool -> TRUE .) - , reduce using rule 164 (bool -> TRUE .) - PHPEND reduce using rule 164 (bool -> TRUE .) - } reduce using rule 164 (bool -> TRUE .) - ) reduce using rule 164 (bool -> TRUE .) - SARROW reduce using rule 164 (bool -> TRUE .) - ] reduce using rule 164 (bool -> TRUE .) - HTMLEND reduce using rule 164 (bool -> TRUE .) - EQ_DIV reduce using rule 164 (bool -> TRUE .) - EQ_MOD reduce using rule 164 (bool -> TRUE .) - EQ_MUL reduce using rule 164 (bool -> TRUE .) - EQ_SUB reduce using rule 164 (bool -> TRUE .) - EQ_ADD reduce using rule 164 (bool -> TRUE .) - = reduce using rule 164 (bool -> TRUE .) - AS reduce using rule 164 (bool -> TRUE .) + (165) bool -> TRUE . + > reduce using rule 165 (bool -> TRUE .) + < reduce using rule 165 (bool -> TRUE .) + & reduce using rule 165 (bool -> TRUE .) + EQ_GREATER reduce using rule 165 (bool -> TRUE .) + EQ_LESS reduce using rule 165 (bool -> TRUE .) + NOT_EQEQ reduce using rule 165 (bool -> TRUE .) + EQEQ reduce using rule 165 (bool -> TRUE .) + % reduce using rule 165 (bool -> TRUE .) + * reduce using rule 165 (bool -> TRUE .) + / reduce using rule 165 (bool -> TRUE .) + - reduce using rule 165 (bool -> TRUE .) + + reduce using rule 165 (bool -> TRUE .) + . reduce using rule 165 (bool -> TRUE .) + COLON_COLON reduce using rule 165 (bool -> TRUE .) + ^ reduce using rule 165 (bool -> TRUE .) + [ reduce using rule 165 (bool -> TRUE .) + ( reduce using rule 165 (bool -> TRUE .) + $ reduce using rule 165 (bool -> TRUE .) + ID reduce using rule 165 (bool -> TRUE .) + ! reduce using rule 165 (bool -> TRUE .) + { reduce using rule 165 (bool -> TRUE .) + FORMATTED_STRING reduce using rule 165 (bool -> TRUE .) + MULTILINE_STRING reduce using rule 165 (bool -> TRUE .) + STRING reduce using rule 165 (bool -> TRUE .) + CHAR reduce using rule 165 (bool -> TRUE .) + FALSE reduce using rule 165 (bool -> TRUE .) + TRUE reduce using rule 165 (bool -> TRUE .) + FLOAT reduce using rule 165 (bool -> TRUE .) + INT reduce using rule 165 (bool -> TRUE .) + NULL reduce using rule 165 (bool -> TRUE .) + PYTHON_CODE_EXEC reduce using rule 165 (bool -> TRUE .) + PYTHON_CODE reduce using rule 165 (bool -> TRUE .) + # reduce using rule 165 (bool -> TRUE .) + NEW reduce using rule 165 (bool -> TRUE .) + ? reduce using rule 165 (bool -> TRUE .) + HTMLSTART reduce using rule 165 (bool -> TRUE .) + FOREACH reduce using rule 165 (bool -> TRUE .) + FOR reduce using rule 165 (bool -> TRUE .) + IF reduce using rule 165 (bool -> TRUE .) + PHPSTART reduce using rule 165 (bool -> TRUE .) + LIMPORT reduce using rule 165 (bool -> TRUE .) + IMPORT reduce using rule 165 (bool -> TRUE .) + RETURN reduce using rule 165 (bool -> TRUE .) + DEL reduce using rule 165 (bool -> TRUE .) + DEBUG reduce using rule 165 (bool -> TRUE .) + SKIP reduce using rule 165 (bool -> TRUE .) + BREAK reduce using rule 165 (bool -> TRUE .) + LET reduce using rule 165 (bool -> TRUE .) + WHILE reduce using rule 165 (bool -> TRUE .) + NAMESPACE reduce using rule 165 (bool -> TRUE .) + CLASS reduce using rule 165 (bool -> TRUE .) + FUNC reduce using rule 165 (bool -> TRUE .) + INIT reduce using rule 165 (bool -> TRUE .) + $end reduce using rule 165 (bool -> TRUE .) + ; reduce using rule 165 (bool -> TRUE .) + | reduce using rule 165 (bool -> TRUE .) + , reduce using rule 165 (bool -> TRUE .) + PHPEND reduce using rule 165 (bool -> TRUE .) + } reduce using rule 165 (bool -> TRUE .) + ) reduce using rule 165 (bool -> TRUE .) + SARROW reduce using rule 165 (bool -> TRUE .) + ] reduce using rule 165 (bool -> TRUE .) + HTMLEND reduce using rule 165 (bool -> TRUE .) + EQ_DIV reduce using rule 165 (bool -> TRUE .) + EQ_MOD reduce using rule 165 (bool -> TRUE .) + EQ_MUL reduce using rule 165 (bool -> TRUE .) + EQ_SUB reduce using rule 165 (bool -> TRUE .) + EQ_ADD reduce using rule 165 (bool -> TRUE .) + = reduce using rule 165 (bool -> TRUE .) + AS reduce using rule 165 (bool -> TRUE .) state 68 - (162) float -> FLOAT . - > reduce using rule 162 (float -> FLOAT .) - < reduce using rule 162 (float -> FLOAT .) - & reduce using rule 162 (float -> FLOAT .) - EQ_GREATER reduce using rule 162 (float -> FLOAT .) - EQ_LESS reduce using rule 162 (float -> FLOAT .) - NOT_EQEQ reduce using rule 162 (float -> FLOAT .) - EQEQ reduce using rule 162 (float -> FLOAT .) - % reduce using rule 162 (float -> FLOAT .) - * reduce using rule 162 (float -> FLOAT .) - / reduce using rule 162 (float -> FLOAT .) - - reduce using rule 162 (float -> FLOAT .) - + reduce using rule 162 (float -> FLOAT .) - . reduce using rule 162 (float -> FLOAT .) - COLON_COLON reduce using rule 162 (float -> FLOAT .) - ^ reduce using rule 162 (float -> FLOAT .) - [ reduce using rule 162 (float -> FLOAT .) - ( reduce using rule 162 (float -> FLOAT .) - $ reduce using rule 162 (float -> FLOAT .) - ID reduce using rule 162 (float -> FLOAT .) - ! reduce using rule 162 (float -> FLOAT .) - { reduce using rule 162 (float -> FLOAT .) - FORMATTED_STRING reduce using rule 162 (float -> FLOAT .) - MULTILINE_STRING reduce using rule 162 (float -> FLOAT .) - STRING reduce using rule 162 (float -> FLOAT .) - CHAR reduce using rule 162 (float -> FLOAT .) - FALSE reduce using rule 162 (float -> FLOAT .) - TRUE reduce using rule 162 (float -> FLOAT .) - FLOAT reduce using rule 162 (float -> FLOAT .) - INT reduce using rule 162 (float -> FLOAT .) - NULL reduce using rule 162 (float -> FLOAT .) - PYTHON_CODE_EXEC reduce using rule 162 (float -> FLOAT .) - PYTHON_CODE reduce using rule 162 (float -> FLOAT .) - # reduce using rule 162 (float -> FLOAT .) - NEW reduce using rule 162 (float -> FLOAT .) - ? reduce using rule 162 (float -> FLOAT .) - HTMLSTART reduce using rule 162 (float -> FLOAT .) - FOREACH reduce using rule 162 (float -> FLOAT .) - FOR reduce using rule 162 (float -> FLOAT .) - IF reduce using rule 162 (float -> FLOAT .) - PHPSTART reduce using rule 162 (float -> FLOAT .) - LIMPORT reduce using rule 162 (float -> FLOAT .) - IMPORT reduce using rule 162 (float -> FLOAT .) - RETURN reduce using rule 162 (float -> FLOAT .) - DEL reduce using rule 162 (float -> FLOAT .) - DEBUG reduce using rule 162 (float -> FLOAT .) - SKIP reduce using rule 162 (float -> FLOAT .) - BREAK reduce using rule 162 (float -> FLOAT .) - LET reduce using rule 162 (float -> FLOAT .) - WHILE reduce using rule 162 (float -> FLOAT .) - NAMESPACE reduce using rule 162 (float -> FLOAT .) - CLASS reduce using rule 162 (float -> FLOAT .) - FUNC reduce using rule 162 (float -> FLOAT .) - INIT reduce using rule 162 (float -> FLOAT .) - $end reduce using rule 162 (float -> FLOAT .) - ; reduce using rule 162 (float -> FLOAT .) - | reduce using rule 162 (float -> FLOAT .) - , reduce using rule 162 (float -> FLOAT .) - PHPEND reduce using rule 162 (float -> FLOAT .) - } reduce using rule 162 (float -> FLOAT .) - ) reduce using rule 162 (float -> FLOAT .) - SARROW reduce using rule 162 (float -> FLOAT .) - ] reduce using rule 162 (float -> FLOAT .) - HTMLEND reduce using rule 162 (float -> FLOAT .) - EQ_DIV reduce using rule 162 (float -> FLOAT .) - EQ_MOD reduce using rule 162 (float -> FLOAT .) - EQ_MUL reduce using rule 162 (float -> FLOAT .) - EQ_SUB reduce using rule 162 (float -> FLOAT .) - EQ_ADD reduce using rule 162 (float -> FLOAT .) - = reduce using rule 162 (float -> FLOAT .) - AS reduce using rule 162 (float -> FLOAT .) + (163) float -> FLOAT . + > reduce using rule 163 (float -> FLOAT .) + < reduce using rule 163 (float -> FLOAT .) + & reduce using rule 163 (float -> FLOAT .) + EQ_GREATER reduce using rule 163 (float -> FLOAT .) + EQ_LESS reduce using rule 163 (float -> FLOAT .) + NOT_EQEQ reduce using rule 163 (float -> FLOAT .) + EQEQ reduce using rule 163 (float -> FLOAT .) + % reduce using rule 163 (float -> FLOAT .) + * reduce using rule 163 (float -> FLOAT .) + / reduce using rule 163 (float -> FLOAT .) + - reduce using rule 163 (float -> FLOAT .) + + reduce using rule 163 (float -> FLOAT .) + . reduce using rule 163 (float -> FLOAT .) + COLON_COLON reduce using rule 163 (float -> FLOAT .) + ^ reduce using rule 163 (float -> FLOAT .) + [ reduce using rule 163 (float -> FLOAT .) + ( reduce using rule 163 (float -> FLOAT .) + $ reduce using rule 163 (float -> FLOAT .) + ID reduce using rule 163 (float -> FLOAT .) + ! reduce using rule 163 (float -> FLOAT .) + { reduce using rule 163 (float -> FLOAT .) + FORMATTED_STRING reduce using rule 163 (float -> FLOAT .) + MULTILINE_STRING reduce using rule 163 (float -> FLOAT .) + STRING reduce using rule 163 (float -> FLOAT .) + CHAR reduce using rule 163 (float -> FLOAT .) + FALSE reduce using rule 163 (float -> FLOAT .) + TRUE reduce using rule 163 (float -> FLOAT .) + FLOAT reduce using rule 163 (float -> FLOAT .) + INT reduce using rule 163 (float -> FLOAT .) + NULL reduce using rule 163 (float -> FLOAT .) + PYTHON_CODE_EXEC reduce using rule 163 (float -> FLOAT .) + PYTHON_CODE reduce using rule 163 (float -> FLOAT .) + # reduce using rule 163 (float -> FLOAT .) + NEW reduce using rule 163 (float -> FLOAT .) + ? reduce using rule 163 (float -> FLOAT .) + HTMLSTART reduce using rule 163 (float -> FLOAT .) + FOREACH reduce using rule 163 (float -> FLOAT .) + FOR reduce using rule 163 (float -> FLOAT .) + IF reduce using rule 163 (float -> FLOAT .) + PHPSTART reduce using rule 163 (float -> FLOAT .) + LIMPORT reduce using rule 163 (float -> FLOAT .) + IMPORT reduce using rule 163 (float -> FLOAT .) + RETURN reduce using rule 163 (float -> FLOAT .) + DEL reduce using rule 163 (float -> FLOAT .) + DEBUG reduce using rule 163 (float -> FLOAT .) + SKIP reduce using rule 163 (float -> FLOAT .) + BREAK reduce using rule 163 (float -> FLOAT .) + LET reduce using rule 163 (float -> FLOAT .) + WHILE reduce using rule 163 (float -> FLOAT .) + NAMESPACE reduce using rule 163 (float -> FLOAT .) + CLASS reduce using rule 163 (float -> FLOAT .) + FUNC reduce using rule 163 (float -> FLOAT .) + INIT reduce using rule 163 (float -> FLOAT .) + $end reduce using rule 163 (float -> FLOAT .) + ; reduce using rule 163 (float -> FLOAT .) + | reduce using rule 163 (float -> FLOAT .) + , reduce using rule 163 (float -> FLOAT .) + PHPEND reduce using rule 163 (float -> FLOAT .) + } reduce using rule 163 (float -> FLOAT .) + ) reduce using rule 163 (float -> FLOAT .) + SARROW reduce using rule 163 (float -> FLOAT .) + ] reduce using rule 163 (float -> FLOAT .) + HTMLEND reduce using rule 163 (float -> FLOAT .) + EQ_DIV reduce using rule 163 (float -> FLOAT .) + EQ_MOD reduce using rule 163 (float -> FLOAT .) + EQ_MUL reduce using rule 163 (float -> FLOAT .) + EQ_SUB reduce using rule 163 (float -> FLOAT .) + EQ_ADD reduce using rule 163 (float -> FLOAT .) + = reduce using rule 163 (float -> FLOAT .) + AS reduce using rule 163 (float -> FLOAT .) state 69 - (157) int -> INT . - > reduce using rule 157 (int -> INT .) - < reduce using rule 157 (int -> INT .) - & reduce using rule 157 (int -> INT .) - EQ_GREATER reduce using rule 157 (int -> INT .) - EQ_LESS reduce using rule 157 (int -> INT .) - NOT_EQEQ reduce using rule 157 (int -> INT .) - EQEQ reduce using rule 157 (int -> INT .) - % reduce using rule 157 (int -> INT .) - * reduce using rule 157 (int -> INT .) - / reduce using rule 157 (int -> INT .) - - reduce using rule 157 (int -> INT .) - + reduce using rule 157 (int -> INT .) - . reduce using rule 157 (int -> INT .) - COLON_COLON reduce using rule 157 (int -> INT .) - ^ reduce using rule 157 (int -> INT .) - [ reduce using rule 157 (int -> INT .) - ( reduce using rule 157 (int -> INT .) - $ reduce using rule 157 (int -> INT .) - ID reduce using rule 157 (int -> INT .) - ! reduce using rule 157 (int -> INT .) - { reduce using rule 157 (int -> INT .) - FORMATTED_STRING reduce using rule 157 (int -> INT .) - MULTILINE_STRING reduce using rule 157 (int -> INT .) - STRING reduce using rule 157 (int -> INT .) - CHAR reduce using rule 157 (int -> INT .) - FALSE reduce using rule 157 (int -> INT .) - TRUE reduce using rule 157 (int -> INT .) - FLOAT reduce using rule 157 (int -> INT .) - INT reduce using rule 157 (int -> INT .) - NULL reduce using rule 157 (int -> INT .) - PYTHON_CODE_EXEC reduce using rule 157 (int -> INT .) - PYTHON_CODE reduce using rule 157 (int -> INT .) - # reduce using rule 157 (int -> INT .) - NEW reduce using rule 157 (int -> INT .) - ? reduce using rule 157 (int -> INT .) - HTMLSTART reduce using rule 157 (int -> INT .) - FOREACH reduce using rule 157 (int -> INT .) - FOR reduce using rule 157 (int -> INT .) - IF reduce using rule 157 (int -> INT .) - PHPSTART reduce using rule 157 (int -> INT .) - LIMPORT reduce using rule 157 (int -> INT .) - IMPORT reduce using rule 157 (int -> INT .) - RETURN reduce using rule 157 (int -> INT .) - DEL reduce using rule 157 (int -> INT .) - DEBUG reduce using rule 157 (int -> INT .) - SKIP reduce using rule 157 (int -> INT .) - BREAK reduce using rule 157 (int -> INT .) - LET reduce using rule 157 (int -> INT .) - WHILE reduce using rule 157 (int -> INT .) - NAMESPACE reduce using rule 157 (int -> INT .) - CLASS reduce using rule 157 (int -> INT .) - FUNC reduce using rule 157 (int -> INT .) - INIT reduce using rule 157 (int -> INT .) - $end reduce using rule 157 (int -> INT .) - ; reduce using rule 157 (int -> INT .) - | reduce using rule 157 (int -> INT .) - , reduce using rule 157 (int -> INT .) - PHPEND reduce using rule 157 (int -> INT .) - } reduce using rule 157 (int -> INT .) - ) reduce using rule 157 (int -> INT .) - SARROW reduce using rule 157 (int -> INT .) - ] reduce using rule 157 (int -> INT .) - HTMLEND reduce using rule 157 (int -> INT .) - EQ_DIV reduce using rule 157 (int -> INT .) - EQ_MOD reduce using rule 157 (int -> INT .) - EQ_MUL reduce using rule 157 (int -> INT .) - EQ_SUB reduce using rule 157 (int -> INT .) - EQ_ADD reduce using rule 157 (int -> INT .) - = reduce using rule 157 (int -> INT .) - AS reduce using rule 157 (int -> INT .) + (158) int -> INT . + > reduce using rule 158 (int -> INT .) + < reduce using rule 158 (int -> INT .) + & reduce using rule 158 (int -> INT .) + EQ_GREATER reduce using rule 158 (int -> INT .) + EQ_LESS reduce using rule 158 (int -> INT .) + NOT_EQEQ reduce using rule 158 (int -> INT .) + EQEQ reduce using rule 158 (int -> INT .) + % reduce using rule 158 (int -> INT .) + * reduce using rule 158 (int -> INT .) + / reduce using rule 158 (int -> INT .) + - reduce using rule 158 (int -> INT .) + + reduce using rule 158 (int -> INT .) + . reduce using rule 158 (int -> INT .) + COLON_COLON reduce using rule 158 (int -> INT .) + ^ reduce using rule 158 (int -> INT .) + [ reduce using rule 158 (int -> INT .) + ( reduce using rule 158 (int -> INT .) + $ reduce using rule 158 (int -> INT .) + ID reduce using rule 158 (int -> INT .) + ! reduce using rule 158 (int -> INT .) + { reduce using rule 158 (int -> INT .) + FORMATTED_STRING reduce using rule 158 (int -> INT .) + MULTILINE_STRING reduce using rule 158 (int -> INT .) + STRING reduce using rule 158 (int -> INT .) + CHAR reduce using rule 158 (int -> INT .) + FALSE reduce using rule 158 (int -> INT .) + TRUE reduce using rule 158 (int -> INT .) + FLOAT reduce using rule 158 (int -> INT .) + INT reduce using rule 158 (int -> INT .) + NULL reduce using rule 158 (int -> INT .) + PYTHON_CODE_EXEC reduce using rule 158 (int -> INT .) + PYTHON_CODE reduce using rule 158 (int -> INT .) + # reduce using rule 158 (int -> INT .) + NEW reduce using rule 158 (int -> INT .) + ? reduce using rule 158 (int -> INT .) + HTMLSTART reduce using rule 158 (int -> INT .) + FOREACH reduce using rule 158 (int -> INT .) + FOR reduce using rule 158 (int -> INT .) + IF reduce using rule 158 (int -> INT .) + PHPSTART reduce using rule 158 (int -> INT .) + LIMPORT reduce using rule 158 (int -> INT .) + IMPORT reduce using rule 158 (int -> INT .) + RETURN reduce using rule 158 (int -> INT .) + DEL reduce using rule 158 (int -> INT .) + DEBUG reduce using rule 158 (int -> INT .) + SKIP reduce using rule 158 (int -> INT .) + BREAK reduce using rule 158 (int -> INT .) + LET reduce using rule 158 (int -> INT .) + WHILE reduce using rule 158 (int -> INT .) + NAMESPACE reduce using rule 158 (int -> INT .) + CLASS reduce using rule 158 (int -> INT .) + FUNC reduce using rule 158 (int -> INT .) + INIT reduce using rule 158 (int -> INT .) + $end reduce using rule 158 (int -> INT .) + ; reduce using rule 158 (int -> INT .) + | reduce using rule 158 (int -> INT .) + , reduce using rule 158 (int -> INT .) + PHPEND reduce using rule 158 (int -> INT .) + } reduce using rule 158 (int -> INT .) + ) reduce using rule 158 (int -> INT .) + SARROW reduce using rule 158 (int -> INT .) + ] reduce using rule 158 (int -> INT .) + HTMLEND reduce using rule 158 (int -> INT .) + EQ_DIV reduce using rule 158 (int -> INT .) + EQ_MOD reduce using rule 158 (int -> INT .) + EQ_MUL reduce using rule 158 (int -> INT .) + EQ_SUB reduce using rule 158 (int -> INT .) + EQ_ADD reduce using rule 158 (int -> INT .) + = reduce using rule 158 (int -> INT .) + AS reduce using rule 158 (int -> INT .) state 70 - (143) null -> NULL . - > reduce using rule 143 (null -> NULL .) - < reduce using rule 143 (null -> NULL .) - & reduce using rule 143 (null -> NULL .) - EQ_GREATER reduce using rule 143 (null -> NULL .) - EQ_LESS reduce using rule 143 (null -> NULL .) - NOT_EQEQ reduce using rule 143 (null -> NULL .) - EQEQ reduce using rule 143 (null -> NULL .) - % reduce using rule 143 (null -> NULL .) - * reduce using rule 143 (null -> NULL .) - / reduce using rule 143 (null -> NULL .) - - reduce using rule 143 (null -> NULL .) - + reduce using rule 143 (null -> NULL .) - . reduce using rule 143 (null -> NULL .) - COLON_COLON reduce using rule 143 (null -> NULL .) - ^ reduce using rule 143 (null -> NULL .) - [ reduce using rule 143 (null -> NULL .) - ( reduce using rule 143 (null -> NULL .) - $ reduce using rule 143 (null -> NULL .) - ID reduce using rule 143 (null -> NULL .) - ! reduce using rule 143 (null -> NULL .) - { reduce using rule 143 (null -> NULL .) - FORMATTED_STRING reduce using rule 143 (null -> NULL .) - MULTILINE_STRING reduce using rule 143 (null -> NULL .) - STRING reduce using rule 143 (null -> NULL .) - CHAR reduce using rule 143 (null -> NULL .) - FALSE reduce using rule 143 (null -> NULL .) - TRUE reduce using rule 143 (null -> NULL .) - FLOAT reduce using rule 143 (null -> NULL .) - INT reduce using rule 143 (null -> NULL .) - NULL reduce using rule 143 (null -> NULL .) - PYTHON_CODE_EXEC reduce using rule 143 (null -> NULL .) - PYTHON_CODE reduce using rule 143 (null -> NULL .) - # reduce using rule 143 (null -> NULL .) - NEW reduce using rule 143 (null -> NULL .) - ? reduce using rule 143 (null -> NULL .) - HTMLSTART reduce using rule 143 (null -> NULL .) - FOREACH reduce using rule 143 (null -> NULL .) - FOR reduce using rule 143 (null -> NULL .) - IF reduce using rule 143 (null -> NULL .) - PHPSTART reduce using rule 143 (null -> NULL .) - LIMPORT reduce using rule 143 (null -> NULL .) - IMPORT reduce using rule 143 (null -> NULL .) - RETURN reduce using rule 143 (null -> NULL .) - DEL reduce using rule 143 (null -> NULL .) - DEBUG reduce using rule 143 (null -> NULL .) - SKIP reduce using rule 143 (null -> NULL .) - BREAK reduce using rule 143 (null -> NULL .) - LET reduce using rule 143 (null -> NULL .) - WHILE reduce using rule 143 (null -> NULL .) - NAMESPACE reduce using rule 143 (null -> NULL .) - CLASS reduce using rule 143 (null -> NULL .) - FUNC reduce using rule 143 (null -> NULL .) - INIT reduce using rule 143 (null -> NULL .) - $end reduce using rule 143 (null -> NULL .) - ; reduce using rule 143 (null -> NULL .) - | reduce using rule 143 (null -> NULL .) - , reduce using rule 143 (null -> NULL .) - PHPEND reduce using rule 143 (null -> NULL .) - } reduce using rule 143 (null -> NULL .) - ) reduce using rule 143 (null -> NULL .) - SARROW reduce using rule 143 (null -> NULL .) - ] reduce using rule 143 (null -> NULL .) - HTMLEND reduce using rule 143 (null -> NULL .) - EQ_DIV reduce using rule 143 (null -> NULL .) - EQ_MOD reduce using rule 143 (null -> NULL .) - EQ_MUL reduce using rule 143 (null -> NULL .) - EQ_SUB reduce using rule 143 (null -> NULL .) - EQ_ADD reduce using rule 143 (null -> NULL .) - = reduce using rule 143 (null -> NULL .) - AS reduce using rule 143 (null -> NULL .) + (144) null -> NULL . + > reduce using rule 144 (null -> NULL .) + < reduce using rule 144 (null -> NULL .) + & reduce using rule 144 (null -> NULL .) + EQ_GREATER reduce using rule 144 (null -> NULL .) + EQ_LESS reduce using rule 144 (null -> NULL .) + NOT_EQEQ reduce using rule 144 (null -> NULL .) + EQEQ reduce using rule 144 (null -> NULL .) + % reduce using rule 144 (null -> NULL .) + * reduce using rule 144 (null -> NULL .) + / reduce using rule 144 (null -> NULL .) + - reduce using rule 144 (null -> NULL .) + + reduce using rule 144 (null -> NULL .) + . reduce using rule 144 (null -> NULL .) + COLON_COLON reduce using rule 144 (null -> NULL .) + ^ reduce using rule 144 (null -> NULL .) + [ reduce using rule 144 (null -> NULL .) + ( reduce using rule 144 (null -> NULL .) + $ reduce using rule 144 (null -> NULL .) + ID reduce using rule 144 (null -> NULL .) + ! reduce using rule 144 (null -> NULL .) + { reduce using rule 144 (null -> NULL .) + FORMATTED_STRING reduce using rule 144 (null -> NULL .) + MULTILINE_STRING reduce using rule 144 (null -> NULL .) + STRING reduce using rule 144 (null -> NULL .) + CHAR reduce using rule 144 (null -> NULL .) + FALSE reduce using rule 144 (null -> NULL .) + TRUE reduce using rule 144 (null -> NULL .) + FLOAT reduce using rule 144 (null -> NULL .) + INT reduce using rule 144 (null -> NULL .) + NULL reduce using rule 144 (null -> NULL .) + PYTHON_CODE_EXEC reduce using rule 144 (null -> NULL .) + PYTHON_CODE reduce using rule 144 (null -> NULL .) + # reduce using rule 144 (null -> NULL .) + NEW reduce using rule 144 (null -> NULL .) + ? reduce using rule 144 (null -> NULL .) + HTMLSTART reduce using rule 144 (null -> NULL .) + FOREACH reduce using rule 144 (null -> NULL .) + FOR reduce using rule 144 (null -> NULL .) + IF reduce using rule 144 (null -> NULL .) + PHPSTART reduce using rule 144 (null -> NULL .) + LIMPORT reduce using rule 144 (null -> NULL .) + IMPORT reduce using rule 144 (null -> NULL .) + RETURN reduce using rule 144 (null -> NULL .) + DEL reduce using rule 144 (null -> NULL .) + DEBUG reduce using rule 144 (null -> NULL .) + SKIP reduce using rule 144 (null -> NULL .) + BREAK reduce using rule 144 (null -> NULL .) + LET reduce using rule 144 (null -> NULL .) + WHILE reduce using rule 144 (null -> NULL .) + NAMESPACE reduce using rule 144 (null -> NULL .) + CLASS reduce using rule 144 (null -> NULL .) + FUNC reduce using rule 144 (null -> NULL .) + INIT reduce using rule 144 (null -> NULL .) + $end reduce using rule 144 (null -> NULL .) + ; reduce using rule 144 (null -> NULL .) + | reduce using rule 144 (null -> NULL .) + , reduce using rule 144 (null -> NULL .) + PHPEND reduce using rule 144 (null -> NULL .) + } reduce using rule 144 (null -> NULL .) + ) reduce using rule 144 (null -> NULL .) + SARROW reduce using rule 144 (null -> NULL .) + ] reduce using rule 144 (null -> NULL .) + HTMLEND reduce using rule 144 (null -> NULL .) + EQ_DIV reduce using rule 144 (null -> NULL .) + EQ_MOD reduce using rule 144 (null -> NULL .) + EQ_MUL reduce using rule 144 (null -> NULL .) + EQ_SUB reduce using rule 144 (null -> NULL .) + EQ_ADD reduce using rule 144 (null -> NULL .) + = reduce using rule 144 (null -> NULL .) + AS reduce using rule 144 (null -> NULL .) state 71 - (167) python_code -> PYTHON_CODE_EXEC . - ; reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - > reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - < reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - & reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - EQ_GREATER reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - EQ_LESS reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - NOT_EQEQ reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - EQEQ reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - % reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - * reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - / reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - - reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - + reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - . reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - COLON_COLON reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - ^ reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - [ reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - ( reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - $ reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - ID reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - ! reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - { reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - FORMATTED_STRING reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - MULTILINE_STRING reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - STRING reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - CHAR reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - FALSE reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - TRUE reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - FLOAT reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - INT reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - NULL reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - PYTHON_CODE_EXEC reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - PYTHON_CODE reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - # reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - NEW reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - ? reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - HTMLSTART reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - FOREACH reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - FOR reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - IF reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - PHPSTART reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - LIMPORT reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - IMPORT reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - RETURN reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - DEL reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - DEBUG reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - SKIP reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - BREAK reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - LET reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - WHILE reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - NAMESPACE reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - CLASS reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - FUNC reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - INIT reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - $end reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - | reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - , reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - PHPEND reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - } reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - ) reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - SARROW reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - ] reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - HTMLEND reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - EQ_DIV reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - EQ_MOD reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - EQ_MUL reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - EQ_SUB reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - EQ_ADD reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - = reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) - AS reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .) + (168) python_code -> PYTHON_CODE_EXEC . + ; reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + > reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + < reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + & reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + EQ_GREATER reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + EQ_LESS reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + NOT_EQEQ reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + EQEQ reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + % reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + * reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + / reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + - reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + + reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + . reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + COLON_COLON reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + ^ reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + [ reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + ( reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + $ reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + ID reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + ! reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + { reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + FORMATTED_STRING reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + MULTILINE_STRING reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + STRING reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + CHAR reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + FALSE reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + TRUE reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + FLOAT reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + INT reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + NULL reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + PYTHON_CODE_EXEC reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + PYTHON_CODE reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + # reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + NEW reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + ? reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + HTMLSTART reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + FOREACH reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + FOR reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + IF reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + PHPSTART reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + LIMPORT reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + IMPORT reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + RETURN reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + DEL reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + DEBUG reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + SKIP reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + BREAK reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + LET reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + WHILE reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + NAMESPACE reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + CLASS reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + FUNC reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + INIT reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + $end reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + | reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + , reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + PHPEND reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + } reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + ) reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + SARROW reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + ] reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + HTMLEND reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + EQ_DIV reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + EQ_MOD reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + EQ_MUL reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + EQ_SUB reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + EQ_ADD reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + = reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) + AS reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .) state 72 - (168) python_code -> PYTHON_CODE . - ; reduce using rule 168 (python_code -> PYTHON_CODE .) - > reduce using rule 168 (python_code -> PYTHON_CODE .) - < reduce using rule 168 (python_code -> PYTHON_CODE .) - & reduce using rule 168 (python_code -> PYTHON_CODE .) - EQ_GREATER reduce using rule 168 (python_code -> PYTHON_CODE .) - EQ_LESS reduce using rule 168 (python_code -> PYTHON_CODE .) - NOT_EQEQ reduce using rule 168 (python_code -> PYTHON_CODE .) - EQEQ reduce using rule 168 (python_code -> PYTHON_CODE .) - % reduce using rule 168 (python_code -> PYTHON_CODE .) - * reduce using rule 168 (python_code -> PYTHON_CODE .) - / reduce using rule 168 (python_code -> PYTHON_CODE .) - - reduce using rule 168 (python_code -> PYTHON_CODE .) - + reduce using rule 168 (python_code -> PYTHON_CODE .) - . reduce using rule 168 (python_code -> PYTHON_CODE .) - COLON_COLON reduce using rule 168 (python_code -> PYTHON_CODE .) - ^ reduce using rule 168 (python_code -> PYTHON_CODE .) - [ reduce using rule 168 (python_code -> PYTHON_CODE .) - ( reduce using rule 168 (python_code -> PYTHON_CODE .) - $ reduce using rule 168 (python_code -> PYTHON_CODE .) - ID reduce using rule 168 (python_code -> PYTHON_CODE .) - ! reduce using rule 168 (python_code -> PYTHON_CODE .) - { reduce using rule 168 (python_code -> PYTHON_CODE .) - FORMATTED_STRING reduce using rule 168 (python_code -> PYTHON_CODE .) - MULTILINE_STRING reduce using rule 168 (python_code -> PYTHON_CODE .) - STRING reduce using rule 168 (python_code -> PYTHON_CODE .) - CHAR reduce using rule 168 (python_code -> PYTHON_CODE .) - FALSE reduce using rule 168 (python_code -> PYTHON_CODE .) - TRUE reduce using rule 168 (python_code -> PYTHON_CODE .) - FLOAT reduce using rule 168 (python_code -> PYTHON_CODE .) - INT reduce using rule 168 (python_code -> PYTHON_CODE .) - NULL reduce using rule 168 (python_code -> PYTHON_CODE .) - PYTHON_CODE_EXEC reduce using rule 168 (python_code -> PYTHON_CODE .) - PYTHON_CODE reduce using rule 168 (python_code -> PYTHON_CODE .) - # reduce using rule 168 (python_code -> PYTHON_CODE .) - NEW reduce using rule 168 (python_code -> PYTHON_CODE .) - ? reduce using rule 168 (python_code -> PYTHON_CODE .) - HTMLSTART reduce using rule 168 (python_code -> PYTHON_CODE .) - FOREACH reduce using rule 168 (python_code -> PYTHON_CODE .) - FOR reduce using rule 168 (python_code -> PYTHON_CODE .) - IF reduce using rule 168 (python_code -> PYTHON_CODE .) - PHPSTART reduce using rule 168 (python_code -> PYTHON_CODE .) - LIMPORT reduce using rule 168 (python_code -> PYTHON_CODE .) - IMPORT reduce using rule 168 (python_code -> PYTHON_CODE .) - RETURN reduce using rule 168 (python_code -> PYTHON_CODE .) - DEL reduce using rule 168 (python_code -> PYTHON_CODE .) - DEBUG reduce using rule 168 (python_code -> PYTHON_CODE .) - SKIP reduce using rule 168 (python_code -> PYTHON_CODE .) - BREAK reduce using rule 168 (python_code -> PYTHON_CODE .) - LET reduce using rule 168 (python_code -> PYTHON_CODE .) - WHILE reduce using rule 168 (python_code -> PYTHON_CODE .) - NAMESPACE reduce using rule 168 (python_code -> PYTHON_CODE .) - CLASS reduce using rule 168 (python_code -> PYTHON_CODE .) - FUNC reduce using rule 168 (python_code -> PYTHON_CODE .) - INIT reduce using rule 168 (python_code -> PYTHON_CODE .) - $end reduce using rule 168 (python_code -> PYTHON_CODE .) - | reduce using rule 168 (python_code -> PYTHON_CODE .) - , reduce using rule 168 (python_code -> PYTHON_CODE .) - PHPEND reduce using rule 168 (python_code -> PYTHON_CODE .) - } reduce using rule 168 (python_code -> PYTHON_CODE .) - ) reduce using rule 168 (python_code -> PYTHON_CODE .) - SARROW reduce using rule 168 (python_code -> PYTHON_CODE .) - ] reduce using rule 168 (python_code -> PYTHON_CODE .) - HTMLEND reduce using rule 168 (python_code -> PYTHON_CODE .) - EQ_DIV reduce using rule 168 (python_code -> PYTHON_CODE .) - EQ_MOD reduce using rule 168 (python_code -> PYTHON_CODE .) - EQ_MUL reduce using rule 168 (python_code -> PYTHON_CODE .) - EQ_SUB reduce using rule 168 (python_code -> PYTHON_CODE .) - EQ_ADD reduce using rule 168 (python_code -> PYTHON_CODE .) - = reduce using rule 168 (python_code -> PYTHON_CODE .) - AS reduce using rule 168 (python_code -> PYTHON_CODE .) + (169) python_code -> PYTHON_CODE . + ; reduce using rule 169 (python_code -> PYTHON_CODE .) + > reduce using rule 169 (python_code -> PYTHON_CODE .) + < reduce using rule 169 (python_code -> PYTHON_CODE .) + & reduce using rule 169 (python_code -> PYTHON_CODE .) + EQ_GREATER reduce using rule 169 (python_code -> PYTHON_CODE .) + EQ_LESS reduce using rule 169 (python_code -> PYTHON_CODE .) + NOT_EQEQ reduce using rule 169 (python_code -> PYTHON_CODE .) + EQEQ reduce using rule 169 (python_code -> PYTHON_CODE .) + % reduce using rule 169 (python_code -> PYTHON_CODE .) + * reduce using rule 169 (python_code -> PYTHON_CODE .) + / reduce using rule 169 (python_code -> PYTHON_CODE .) + - reduce using rule 169 (python_code -> PYTHON_CODE .) + + reduce using rule 169 (python_code -> PYTHON_CODE .) + . reduce using rule 169 (python_code -> PYTHON_CODE .) + COLON_COLON reduce using rule 169 (python_code -> PYTHON_CODE .) + ^ reduce using rule 169 (python_code -> PYTHON_CODE .) + [ reduce using rule 169 (python_code -> PYTHON_CODE .) + ( reduce using rule 169 (python_code -> PYTHON_CODE .) + $ reduce using rule 169 (python_code -> PYTHON_CODE .) + ID reduce using rule 169 (python_code -> PYTHON_CODE .) + ! reduce using rule 169 (python_code -> PYTHON_CODE .) + { reduce using rule 169 (python_code -> PYTHON_CODE .) + FORMATTED_STRING reduce using rule 169 (python_code -> PYTHON_CODE .) + MULTILINE_STRING reduce using rule 169 (python_code -> PYTHON_CODE .) + STRING reduce using rule 169 (python_code -> PYTHON_CODE .) + CHAR reduce using rule 169 (python_code -> PYTHON_CODE .) + FALSE reduce using rule 169 (python_code -> PYTHON_CODE .) + TRUE reduce using rule 169 (python_code -> PYTHON_CODE .) + FLOAT reduce using rule 169 (python_code -> PYTHON_CODE .) + INT reduce using rule 169 (python_code -> PYTHON_CODE .) + NULL reduce using rule 169 (python_code -> PYTHON_CODE .) + PYTHON_CODE_EXEC reduce using rule 169 (python_code -> PYTHON_CODE .) + PYTHON_CODE reduce using rule 169 (python_code -> PYTHON_CODE .) + # reduce using rule 169 (python_code -> PYTHON_CODE .) + NEW reduce using rule 169 (python_code -> PYTHON_CODE .) + ? reduce using rule 169 (python_code -> PYTHON_CODE .) + HTMLSTART reduce using rule 169 (python_code -> PYTHON_CODE .) + FOREACH reduce using rule 169 (python_code -> PYTHON_CODE .) + FOR reduce using rule 169 (python_code -> PYTHON_CODE .) + IF reduce using rule 169 (python_code -> PYTHON_CODE .) + PHPSTART reduce using rule 169 (python_code -> PYTHON_CODE .) + LIMPORT reduce using rule 169 (python_code -> PYTHON_CODE .) + IMPORT reduce using rule 169 (python_code -> PYTHON_CODE .) + RETURN reduce using rule 169 (python_code -> PYTHON_CODE .) + DEL reduce using rule 169 (python_code -> PYTHON_CODE .) + DEBUG reduce using rule 169 (python_code -> PYTHON_CODE .) + SKIP reduce using rule 169 (python_code -> PYTHON_CODE .) + BREAK reduce using rule 169 (python_code -> PYTHON_CODE .) + LET reduce using rule 169 (python_code -> PYTHON_CODE .) + WHILE reduce using rule 169 (python_code -> PYTHON_CODE .) + NAMESPACE reduce using rule 169 (python_code -> PYTHON_CODE .) + CLASS reduce using rule 169 (python_code -> PYTHON_CODE .) + FUNC reduce using rule 169 (python_code -> PYTHON_CODE .) + INIT reduce using rule 169 (python_code -> PYTHON_CODE .) + $end reduce using rule 169 (python_code -> PYTHON_CODE .) + | reduce using rule 169 (python_code -> PYTHON_CODE .) + , reduce using rule 169 (python_code -> PYTHON_CODE .) + PHPEND reduce using rule 169 (python_code -> PYTHON_CODE .) + } reduce using rule 169 (python_code -> PYTHON_CODE .) + ) reduce using rule 169 (python_code -> PYTHON_CODE .) + SARROW reduce using rule 169 (python_code -> PYTHON_CODE .) + ] reduce using rule 169 (python_code -> PYTHON_CODE .) + HTMLEND reduce using rule 169 (python_code -> PYTHON_CODE .) + EQ_DIV reduce using rule 169 (python_code -> PYTHON_CODE .) + EQ_MOD reduce using rule 169 (python_code -> PYTHON_CODE .) + EQ_MUL reduce using rule 169 (python_code -> PYTHON_CODE .) + EQ_SUB reduce using rule 169 (python_code -> PYTHON_CODE .) + EQ_ADD reduce using rule 169 (python_code -> PYTHON_CODE .) + = reduce using rule 169 (python_code -> PYTHON_CODE .) + AS reduce using rule 169 (python_code -> PYTHON_CODE .) state 73 @@ -5955,28 +5962,28 @@ state 74 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -6001,13 +6008,13 @@ state 74 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -6016,7 +6023,7 @@ state 74 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -6062,7 +6069,7 @@ state 75 (61) html_full -> HTMLSTART . (62) html_full -> HTMLSTART . empty HTMLEND (63) html_full -> HTMLSTART . expression HTMLEND - (169) empty -> . + (170) empty -> . (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -6101,28 +6108,28 @@ state 75 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -6147,13 +6154,13 @@ state 75 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! reduce/reduce conflict for HTMLEND resolved using rule 61 (html_full -> HTMLSTART .) ! shift/reduce conflict for ( resolved as shift ! shift/reduce conflict for ! resolved as shift @@ -6233,7 +6240,7 @@ state 75 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -6277,7 +6284,7 @@ state 75 state 76 - (134) if_statement -> IF . ( expression ) { program } + (135) if_statement -> IF . ( expression ) { program } ( shift and go to state 174 @@ -6354,9 +6361,9 @@ state 79 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -6366,10 +6373,10 @@ state 79 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -6408,28 +6415,28 @@ state 79 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -6454,13 +6461,13 @@ state 79 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ; shift and go to state 175 > shift and go to state 90 < shift and go to state 91 @@ -6829,7 +6836,7 @@ state 83 state 84 (52) expression -> ID . OF ID - (166) id -> ID . + (167) id -> ID . (74) function_call -> ID . TARROW ID ( function_arguments ) (75) function_call -> ID . \ ID (76) function_call -> ID . / ID @@ -6839,74 +6846,74 @@ state 84 ! shift/reduce conflict for / resolved as shift ! shift/reduce conflict for COLON_COLON resolved as shift OF shift and go to state 126 - ; reduce using rule 166 (id -> ID .) - > reduce using rule 166 (id -> ID .) - < reduce using rule 166 (id -> ID .) - & reduce using rule 166 (id -> ID .) - EQ_GREATER reduce using rule 166 (id -> ID .) - EQ_LESS reduce using rule 166 (id -> ID .) - NOT_EQEQ reduce using rule 166 (id -> ID .) - EQEQ reduce using rule 166 (id -> ID .) - % reduce using rule 166 (id -> ID .) - * reduce using rule 166 (id -> ID .) - - reduce using rule 166 (id -> ID .) - + reduce using rule 166 (id -> ID .) - . reduce using rule 166 (id -> ID .) - ^ reduce using rule 166 (id -> ID .) - [ reduce using rule 166 (id -> ID .) - ( reduce using rule 166 (id -> ID .) - $ reduce using rule 166 (id -> ID .) - ID reduce using rule 166 (id -> ID .) - ! reduce using rule 166 (id -> ID .) - { reduce using rule 166 (id -> ID .) - FORMATTED_STRING reduce using rule 166 (id -> ID .) - MULTILINE_STRING reduce using rule 166 (id -> ID .) - STRING reduce using rule 166 (id -> ID .) - CHAR reduce using rule 166 (id -> ID .) - FALSE reduce using rule 166 (id -> ID .) - TRUE reduce using rule 166 (id -> ID .) - FLOAT reduce using rule 166 (id -> ID .) - INT reduce using rule 166 (id -> ID .) - NULL reduce using rule 166 (id -> ID .) - PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .) - PYTHON_CODE reduce using rule 166 (id -> ID .) - # reduce using rule 166 (id -> ID .) - NEW reduce using rule 166 (id -> ID .) - ? reduce using rule 166 (id -> ID .) - HTMLSTART reduce using rule 166 (id -> ID .) - FOREACH reduce using rule 166 (id -> ID .) - FOR reduce using rule 166 (id -> ID .) - IF reduce using rule 166 (id -> ID .) - ) reduce using rule 166 (id -> ID .) - PHPSTART reduce using rule 166 (id -> ID .) - LIMPORT reduce using rule 166 (id -> ID .) - IMPORT reduce using rule 166 (id -> ID .) - RETURN reduce using rule 166 (id -> ID .) - DEL reduce using rule 166 (id -> ID .) - DEBUG reduce using rule 166 (id -> ID .) - SKIP reduce using rule 166 (id -> ID .) - BREAK reduce using rule 166 (id -> ID .) - LET reduce using rule 166 (id -> ID .) - WHILE reduce using rule 166 (id -> ID .) - NAMESPACE reduce using rule 166 (id -> ID .) - CLASS reduce using rule 166 (id -> ID .) - FUNC reduce using rule 166 (id -> ID .) - INIT reduce using rule 166 (id -> ID .) - $end reduce using rule 166 (id -> ID .) - | reduce using rule 166 (id -> ID .) - , reduce using rule 166 (id -> ID .) - PHPEND reduce using rule 166 (id -> ID .) - } reduce using rule 166 (id -> ID .) - SARROW reduce using rule 166 (id -> ID .) - ] reduce using rule 166 (id -> ID .) - HTMLEND reduce using rule 166 (id -> ID .) - EQ_DIV reduce using rule 166 (id -> ID .) - EQ_MOD reduce using rule 166 (id -> ID .) - EQ_MUL reduce using rule 166 (id -> ID .) - EQ_SUB reduce using rule 166 (id -> ID .) - EQ_ADD reduce using rule 166 (id -> ID .) - = reduce using rule 166 (id -> ID .) - AS reduce using rule 166 (id -> ID .) + ; reduce using rule 167 (id -> ID .) + > reduce using rule 167 (id -> ID .) + < reduce using rule 167 (id -> ID .) + & reduce using rule 167 (id -> ID .) + EQ_GREATER reduce using rule 167 (id -> ID .) + EQ_LESS reduce using rule 167 (id -> ID .) + NOT_EQEQ reduce using rule 167 (id -> ID .) + EQEQ reduce using rule 167 (id -> ID .) + % reduce using rule 167 (id -> ID .) + * reduce using rule 167 (id -> ID .) + - reduce using rule 167 (id -> ID .) + + reduce using rule 167 (id -> ID .) + . reduce using rule 167 (id -> ID .) + ^ reduce using rule 167 (id -> ID .) + [ reduce using rule 167 (id -> ID .) + ( reduce using rule 167 (id -> ID .) + $ reduce using rule 167 (id -> ID .) + ID reduce using rule 167 (id -> ID .) + ! reduce using rule 167 (id -> ID .) + { reduce using rule 167 (id -> ID .) + FORMATTED_STRING reduce using rule 167 (id -> ID .) + MULTILINE_STRING reduce using rule 167 (id -> ID .) + STRING reduce using rule 167 (id -> ID .) + CHAR reduce using rule 167 (id -> ID .) + FALSE reduce using rule 167 (id -> ID .) + TRUE reduce using rule 167 (id -> ID .) + FLOAT reduce using rule 167 (id -> ID .) + INT reduce using rule 167 (id -> ID .) + NULL reduce using rule 167 (id -> ID .) + PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .) + PYTHON_CODE reduce using rule 167 (id -> ID .) + # reduce using rule 167 (id -> ID .) + NEW reduce using rule 167 (id -> ID .) + ? reduce using rule 167 (id -> ID .) + HTMLSTART reduce using rule 167 (id -> ID .) + FOREACH reduce using rule 167 (id -> ID .) + FOR reduce using rule 167 (id -> ID .) + IF reduce using rule 167 (id -> ID .) + ) reduce using rule 167 (id -> ID .) + PHPSTART reduce using rule 167 (id -> ID .) + LIMPORT reduce using rule 167 (id -> ID .) + IMPORT reduce using rule 167 (id -> ID .) + RETURN reduce using rule 167 (id -> ID .) + DEL reduce using rule 167 (id -> ID .) + DEBUG reduce using rule 167 (id -> ID .) + SKIP reduce using rule 167 (id -> ID .) + BREAK reduce using rule 167 (id -> ID .) + LET reduce using rule 167 (id -> ID .) + WHILE reduce using rule 167 (id -> ID .) + NAMESPACE reduce using rule 167 (id -> ID .) + CLASS reduce using rule 167 (id -> ID .) + FUNC reduce using rule 167 (id -> ID .) + INIT reduce using rule 167 (id -> ID .) + $end reduce using rule 167 (id -> ID .) + | reduce using rule 167 (id -> ID .) + , reduce using rule 167 (id -> ID .) + PHPEND reduce using rule 167 (id -> ID .) + } reduce using rule 167 (id -> ID .) + SARROW reduce using rule 167 (id -> ID .) + ] reduce using rule 167 (id -> ID .) + HTMLEND reduce using rule 167 (id -> ID .) + EQ_DIV reduce using rule 167 (id -> ID .) + EQ_MOD reduce using rule 167 (id -> ID .) + EQ_MUL reduce using rule 167 (id -> ID .) + EQ_SUB reduce using rule 167 (id -> ID .) + EQ_ADD reduce using rule 167 (id -> ID .) + = reduce using rule 167 (id -> ID .) + AS reduce using rule 167 (id -> ID .) TARROW shift and go to state 133 \ shift and go to state 134 / shift and go to state 135 @@ -6956,28 +6963,28 @@ state 85 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -7002,13 +7009,13 @@ state 85 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ID shift and go to state 177 ( shift and go to state 32 ! shift and go to state 33 @@ -7017,7 +7024,7 @@ state 85 * shift and go to state 38 & shift and go to state 36 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -7217,7 +7224,7 @@ state 88 state 89 - (112) positional_args -> expression . + (113) positional_args -> expression . (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -7231,9 +7238,9 @@ state 89 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -7243,10 +7250,10 @@ state 89 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -7285,28 +7292,28 @@ state 89 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -7331,13 +7338,13 @@ state 89 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! shift/reduce conflict for > resolved as shift ! shift/reduce conflict for < resolved as shift ! shift/reduce conflict for & resolved as shift @@ -7377,37 +7384,37 @@ state 89 ! shift/reduce conflict for FOREACH resolved as shift ! shift/reduce conflict for FOR resolved as shift ! shift/reduce conflict for IF resolved as shift - | reduce using rule 112 (positional_args -> expression .) - ; reduce using rule 112 (positional_args -> expression .) - PHPSTART reduce using rule 112 (positional_args -> expression .) - LIMPORT reduce using rule 112 (positional_args -> expression .) - IMPORT reduce using rule 112 (positional_args -> expression .) - RETURN reduce using rule 112 (positional_args -> expression .) - DEL reduce using rule 112 (positional_args -> expression .) - DEBUG reduce using rule 112 (positional_args -> expression .) - SKIP reduce using rule 112 (positional_args -> expression .) - BREAK reduce using rule 112 (positional_args -> expression .) - LET reduce using rule 112 (positional_args -> expression .) - WHILE reduce using rule 112 (positional_args -> expression .) - NAMESPACE reduce using rule 112 (positional_args -> expression .) - CLASS reduce using rule 112 (positional_args -> expression .) - FUNC reduce using rule 112 (positional_args -> expression .) - INIT reduce using rule 112 (positional_args -> expression .) - $end reduce using rule 112 (positional_args -> expression .) - , reduce using rule 112 (positional_args -> expression .) - PHPEND reduce using rule 112 (positional_args -> expression .) - } reduce using rule 112 (positional_args -> expression .) - ) reduce using rule 112 (positional_args -> expression .) - SARROW reduce using rule 112 (positional_args -> expression .) - ] reduce using rule 112 (positional_args -> expression .) - HTMLEND reduce using rule 112 (positional_args -> expression .) - EQ_DIV reduce using rule 112 (positional_args -> expression .) - EQ_MOD reduce using rule 112 (positional_args -> expression .) - EQ_MUL reduce using rule 112 (positional_args -> expression .) - EQ_SUB reduce using rule 112 (positional_args -> expression .) - EQ_ADD reduce using rule 112 (positional_args -> expression .) - = reduce using rule 112 (positional_args -> expression .) - AS reduce using rule 112 (positional_args -> expression .) + | reduce using rule 113 (positional_args -> expression .) + ; reduce using rule 113 (positional_args -> expression .) + PHPSTART reduce using rule 113 (positional_args -> expression .) + LIMPORT reduce using rule 113 (positional_args -> expression .) + IMPORT reduce using rule 113 (positional_args -> expression .) + RETURN reduce using rule 113 (positional_args -> expression .) + DEL reduce using rule 113 (positional_args -> expression .) + DEBUG reduce using rule 113 (positional_args -> expression .) + SKIP reduce using rule 113 (positional_args -> expression .) + BREAK reduce using rule 113 (positional_args -> expression .) + LET reduce using rule 113 (positional_args -> expression .) + WHILE reduce using rule 113 (positional_args -> expression .) + NAMESPACE reduce using rule 113 (positional_args -> expression .) + CLASS reduce using rule 113 (positional_args -> expression .) + FUNC reduce using rule 113 (positional_args -> expression .) + INIT reduce using rule 113 (positional_args -> expression .) + $end reduce using rule 113 (positional_args -> expression .) + , reduce using rule 113 (positional_args -> expression .) + PHPEND reduce using rule 113 (positional_args -> expression .) + } reduce using rule 113 (positional_args -> expression .) + ) reduce using rule 113 (positional_args -> expression .) + SARROW reduce using rule 113 (positional_args -> expression .) + ] reduce using rule 113 (positional_args -> expression .) + HTMLEND reduce using rule 113 (positional_args -> expression .) + EQ_DIV reduce using rule 113 (positional_args -> expression .) + EQ_MOD reduce using rule 113 (positional_args -> expression .) + EQ_MUL reduce using rule 113 (positional_args -> expression .) + EQ_SUB reduce using rule 113 (positional_args -> expression .) + EQ_ADD reduce using rule 113 (positional_args -> expression .) + = reduce using rule 113 (positional_args -> expression .) + AS reduce using rule 113 (positional_args -> expression .) > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -7511,28 +7518,28 @@ state 90 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -7557,13 +7564,13 @@ state 90 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -7572,7 +7579,7 @@ state 90 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -7654,28 +7661,28 @@ state 91 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -7700,13 +7707,13 @@ state 91 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -7715,7 +7722,7 @@ state 91 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -7798,28 +7805,28 @@ state 92 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -7844,13 +7851,13 @@ state 92 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ID shift and go to state 181 ( shift and go to state 32 ! shift and go to state 33 @@ -7859,7 +7866,7 @@ state 92 * shift and go to state 38 & shift and go to state 36 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -7941,28 +7948,28 @@ state 93 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -7987,13 +7994,13 @@ state 93 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -8002,7 +8009,7 @@ state 93 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -8084,28 +8091,28 @@ state 94 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -8130,13 +8137,13 @@ state 94 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -8145,7 +8152,7 @@ state 94 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -8227,28 +8234,28 @@ state 95 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -8273,13 +8280,13 @@ state 95 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -8288,7 +8295,7 @@ state 95 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -8370,28 +8377,28 @@ state 96 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -8416,13 +8423,13 @@ state 96 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -8431,7 +8438,7 @@ state 96 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -8513,28 +8520,28 @@ state 97 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -8559,13 +8566,13 @@ state 97 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -8574,7 +8581,7 @@ state 97 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -8657,28 +8664,28 @@ state 98 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -8703,13 +8710,13 @@ state 98 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ID shift and go to state 188 ( shift and go to state 32 ! shift and go to state 33 @@ -8718,7 +8725,7 @@ state 98 * shift and go to state 38 & shift and go to state 36 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -8800,28 +8807,28 @@ state 99 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -8846,13 +8853,13 @@ state 99 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -8861,7 +8868,7 @@ state 99 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -8944,28 +8951,28 @@ state 100 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -8990,13 +8997,13 @@ state 100 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -9005,7 +9012,7 @@ state 100 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -9088,28 +9095,28 @@ state 101 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -9134,13 +9141,13 @@ state 101 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -9149,7 +9156,7 @@ state 101 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -9233,28 +9240,28 @@ state 102 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -9279,13 +9286,13 @@ state 102 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ENV shift and go to state 142 ( shift and go to state 32 ! shift and go to state 33 @@ -9295,7 +9302,7 @@ state 102 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -9338,15 +9345,15 @@ state 102 state 103 - (165) class_attribute -> expression COLON_COLON . ID + (166) class_attribute -> expression COLON_COLON . ID ID shift and go to state 193 state 104 - (114) kwargs -> ID . = expression + (115) kwargs -> ID . = expression (52) expression -> ID . OF ID - (166) id -> ID . + (167) id -> ID . (74) function_call -> ID . TARROW ID ( function_arguments ) (75) function_call -> ID . \ ID (76) function_call -> ID . / ID @@ -9358,73 +9365,73 @@ state 104 ! shift/reduce conflict for COLON_COLON resolved as shift = shift and go to state 194 OF shift and go to state 126 - | reduce using rule 166 (id -> ID .) - ; reduce using rule 166 (id -> ID .) - > reduce using rule 166 (id -> ID .) - < reduce using rule 166 (id -> ID .) - & reduce using rule 166 (id -> ID .) - EQ_GREATER reduce using rule 166 (id -> ID .) - EQ_LESS reduce using rule 166 (id -> ID .) - NOT_EQEQ reduce using rule 166 (id -> ID .) - EQEQ reduce using rule 166 (id -> ID .) - % reduce using rule 166 (id -> ID .) - * reduce using rule 166 (id -> ID .) - - reduce using rule 166 (id -> ID .) - + reduce using rule 166 (id -> ID .) - . reduce using rule 166 (id -> ID .) - ^ reduce using rule 166 (id -> ID .) - [ reduce using rule 166 (id -> ID .) - ( reduce using rule 166 (id -> ID .) - $ reduce using rule 166 (id -> ID .) - ID reduce using rule 166 (id -> ID .) - ! reduce using rule 166 (id -> ID .) - { reduce using rule 166 (id -> ID .) - FORMATTED_STRING reduce using rule 166 (id -> ID .) - MULTILINE_STRING reduce using rule 166 (id -> ID .) - STRING reduce using rule 166 (id -> ID .) - CHAR reduce using rule 166 (id -> ID .) - FALSE reduce using rule 166 (id -> ID .) - TRUE reduce using rule 166 (id -> ID .) - FLOAT reduce using rule 166 (id -> ID .) - INT reduce using rule 166 (id -> ID .) - NULL reduce using rule 166 (id -> ID .) - PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .) - PYTHON_CODE reduce using rule 166 (id -> ID .) - # reduce using rule 166 (id -> ID .) - NEW reduce using rule 166 (id -> ID .) - ? reduce using rule 166 (id -> ID .) - HTMLSTART reduce using rule 166 (id -> ID .) - FOREACH reduce using rule 166 (id -> ID .) - FOR reduce using rule 166 (id -> ID .) - IF reduce using rule 166 (id -> ID .) - PHPSTART reduce using rule 166 (id -> ID .) - LIMPORT reduce using rule 166 (id -> ID .) - IMPORT reduce using rule 166 (id -> ID .) - RETURN reduce using rule 166 (id -> ID .) - DEL reduce using rule 166 (id -> ID .) - DEBUG reduce using rule 166 (id -> ID .) - SKIP reduce using rule 166 (id -> ID .) - BREAK reduce using rule 166 (id -> ID .) - LET reduce using rule 166 (id -> ID .) - WHILE reduce using rule 166 (id -> ID .) - NAMESPACE reduce using rule 166 (id -> ID .) - CLASS reduce using rule 166 (id -> ID .) - FUNC reduce using rule 166 (id -> ID .) - INIT reduce using rule 166 (id -> ID .) - $end reduce using rule 166 (id -> ID .) - , reduce using rule 166 (id -> ID .) - PHPEND reduce using rule 166 (id -> ID .) - } reduce using rule 166 (id -> ID .) - ) reduce using rule 166 (id -> ID .) - SARROW reduce using rule 166 (id -> ID .) - ] reduce using rule 166 (id -> ID .) - HTMLEND reduce using rule 166 (id -> ID .) - EQ_DIV reduce using rule 166 (id -> ID .) - EQ_MOD reduce using rule 166 (id -> ID .) - EQ_MUL reduce using rule 166 (id -> ID .) - EQ_SUB reduce using rule 166 (id -> ID .) - EQ_ADD reduce using rule 166 (id -> ID .) - AS reduce using rule 166 (id -> ID .) + | reduce using rule 167 (id -> ID .) + ; reduce using rule 167 (id -> ID .) + > reduce using rule 167 (id -> ID .) + < reduce using rule 167 (id -> ID .) + & reduce using rule 167 (id -> ID .) + EQ_GREATER reduce using rule 167 (id -> ID .) + EQ_LESS reduce using rule 167 (id -> ID .) + NOT_EQEQ reduce using rule 167 (id -> ID .) + EQEQ reduce using rule 167 (id -> ID .) + % reduce using rule 167 (id -> ID .) + * reduce using rule 167 (id -> ID .) + - reduce using rule 167 (id -> ID .) + + reduce using rule 167 (id -> ID .) + . reduce using rule 167 (id -> ID .) + ^ reduce using rule 167 (id -> ID .) + [ reduce using rule 167 (id -> ID .) + ( reduce using rule 167 (id -> ID .) + $ reduce using rule 167 (id -> ID .) + ID reduce using rule 167 (id -> ID .) + ! reduce using rule 167 (id -> ID .) + { reduce using rule 167 (id -> ID .) + FORMATTED_STRING reduce using rule 167 (id -> ID .) + MULTILINE_STRING reduce using rule 167 (id -> ID .) + STRING reduce using rule 167 (id -> ID .) + CHAR reduce using rule 167 (id -> ID .) + FALSE reduce using rule 167 (id -> ID .) + TRUE reduce using rule 167 (id -> ID .) + FLOAT reduce using rule 167 (id -> ID .) + INT reduce using rule 167 (id -> ID .) + NULL reduce using rule 167 (id -> ID .) + PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .) + PYTHON_CODE reduce using rule 167 (id -> ID .) + # reduce using rule 167 (id -> ID .) + NEW reduce using rule 167 (id -> ID .) + ? reduce using rule 167 (id -> ID .) + HTMLSTART reduce using rule 167 (id -> ID .) + FOREACH reduce using rule 167 (id -> ID .) + FOR reduce using rule 167 (id -> ID .) + IF reduce using rule 167 (id -> ID .) + PHPSTART reduce using rule 167 (id -> ID .) + LIMPORT reduce using rule 167 (id -> ID .) + IMPORT reduce using rule 167 (id -> ID .) + RETURN reduce using rule 167 (id -> ID .) + DEL reduce using rule 167 (id -> ID .) + DEBUG reduce using rule 167 (id -> ID .) + SKIP reduce using rule 167 (id -> ID .) + BREAK reduce using rule 167 (id -> ID .) + LET reduce using rule 167 (id -> ID .) + WHILE reduce using rule 167 (id -> ID .) + NAMESPACE reduce using rule 167 (id -> ID .) + CLASS reduce using rule 167 (id -> ID .) + FUNC reduce using rule 167 (id -> ID .) + INIT reduce using rule 167 (id -> ID .) + $end reduce using rule 167 (id -> ID .) + , reduce using rule 167 (id -> ID .) + PHPEND reduce using rule 167 (id -> ID .) + } reduce using rule 167 (id -> ID .) + ) reduce using rule 167 (id -> ID .) + SARROW reduce using rule 167 (id -> ID .) + ] reduce using rule 167 (id -> ID .) + HTMLEND reduce using rule 167 (id -> ID .) + EQ_DIV reduce using rule 167 (id -> ID .) + EQ_MOD reduce using rule 167 (id -> ID .) + EQ_MUL reduce using rule 167 (id -> ID .) + EQ_SUB reduce using rule 167 (id -> ID .) + EQ_ADD reduce using rule 167 (id -> ID .) + AS reduce using rule 167 (id -> ID .) TARROW shift and go to state 133 \ shift and go to state 134 / shift and go to state 135 @@ -9433,7 +9440,7 @@ state 104 state 105 - (149) get_index -> expression ^ . expression + (150) get_index -> expression ^ . expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -9472,28 +9479,28 @@ state 105 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -9518,13 +9525,13 @@ state 105 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -9533,7 +9540,7 @@ state 105 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -9576,11 +9583,11 @@ state 105 state 106 - (150) get_index -> expression [ . expression ] - (144) assoc_array -> [ . assoc_array_items ] - (146) assoc_array -> [ . empty ] - (153) _list -> [ . positional_args , ] - (154) _list -> [ . positional_args ] + (151) get_index -> expression [ . expression ] + (145) assoc_array -> [ . assoc_array_items ] + (147) assoc_array -> [ . empty ] + (154) _list -> [ . positional_args , ] + (155) _list -> [ . positional_args ] (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -9619,33 +9626,33 @@ state 106 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (147) assoc_array_items -> . expression SARROW expression - (148) assoc_array_items -> . assoc_array_items , expression SARROW expression - (169) empty -> . - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (148) assoc_array_items -> . expression SARROW expression + (149) assoc_array_items -> . assoc_array_items , expression SARROW expression + (170) empty -> . + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -9670,13 +9677,13 @@ state 106 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -9685,8 +9692,8 @@ state 106 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - ] reduce using rule 169 (empty -> .) - [ shift and go to state 61 + ] reduce using rule 170 (empty -> .) + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -9709,9 +9716,9 @@ state 106 IF shift and go to state 76 expression shift and go to state 196 - assoc_array_items shift and go to state 165 - empty shift and go to state 166 - positional_args shift and go to state 167 + assoc_array_items shift and go to state 163 + empty shift and go to state 164 + positional_args shift and go to state 165 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -9737,7 +9744,7 @@ state 107 (87) function_call -> expression ( . function_arguments ) FARROW { program } (89) function_call -> expression ( . function_arguments ) (32) expression -> ( . expression ) - (169) empty -> . + (170) empty -> . (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args @@ -9779,32 +9786,32 @@ state 107 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -9829,14 +9836,14 @@ state 107 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ) reduce using rule 169 (empty -> .) + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ) reduce using rule 170 (empty -> .) ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -9845,7 +9852,7 @@ state 107 & shift and go to state 36 ID shift and go to state 200 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -10009,28 +10016,28 @@ state 109 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -10055,13 +10062,13 @@ state 109 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ID shift and go to state 201 ( shift and go to state 32 ! shift and go to state 33 @@ -10070,7 +10077,7 @@ state 109 * shift and go to state 38 & shift and go to state 36 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -10114,7 +10121,7 @@ state 109 state 110 (102) function_arguments -> kwargs . - (115) kwargs -> kwargs . , id = expression + (116) kwargs -> kwargs . , id = expression ! shift/reduce conflict for , resolved as shift | reduce using rule 102 (function_arguments -> kwargs .) ; reduce using rule 102 (function_arguments -> kwargs .) @@ -10192,7 +10199,7 @@ state 111 (103) function_arguments -> positional_args . , kwargs (104) function_arguments -> positional_args . - (113) positional_args -> positional_args . , expression + (114) positional_args -> positional_args . , expression ! shift/reduce conflict for , resolved as shift , shift and go to state 203 | reduce using rule 104 (function_arguments -> positional_args .) @@ -10268,7 +10275,7 @@ state 111 state 112 - (120) variable_operation -> get_index EQ_DIV . expression ; + (121) variable_operation -> get_index EQ_DIV . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -10307,28 +10314,28 @@ state 112 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -10353,13 +10360,13 @@ state 112 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -10368,7 +10375,7 @@ state 112 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -10411,7 +10418,7 @@ state 112 state 113 - (122) variable_operation -> get_index EQ_MOD . expression ; + (123) variable_operation -> get_index EQ_MOD . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -10450,28 +10457,28 @@ state 113 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -10496,13 +10503,13 @@ state 113 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -10511,7 +10518,7 @@ state 113 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -10554,7 +10561,7 @@ state 113 state 114 - (124) variable_operation -> get_index EQ_MUL . expression ; + (125) variable_operation -> get_index EQ_MUL . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -10593,28 +10600,28 @@ state 114 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -10639,13 +10646,13 @@ state 114 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -10654,7 +10661,7 @@ state 114 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -10697,7 +10704,7 @@ state 114 state 115 - (126) variable_operation -> get_index EQ_SUB . expression ; + (127) variable_operation -> get_index EQ_SUB . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -10736,28 +10743,28 @@ state 115 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -10782,13 +10789,13 @@ state 115 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -10797,7 +10804,7 @@ state 115 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -10840,7 +10847,7 @@ state 115 state 116 - (128) variable_operation -> get_index EQ_ADD . expression ; + (129) variable_operation -> get_index EQ_ADD . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -10879,28 +10886,28 @@ state 116 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -10925,13 +10932,13 @@ state 116 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -10940,7 +10947,7 @@ state 116 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -11048,9 +11055,9 @@ state 118 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -11060,10 +11067,10 @@ state 118 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -11102,28 +11109,28 @@ state 118 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -11148,13 +11155,13 @@ state 118 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ) shift and go to state 209 > shift and go to state 90 < shift and go to state 91 @@ -11234,9 +11241,9 @@ state 119 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -11246,10 +11253,10 @@ state 119 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -11288,28 +11295,28 @@ state 119 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -11334,13 +11341,13 @@ state 119 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } > reduce using rule 35 (expression -> ! expression .) < reduce using rule 35 (expression -> ! expression .) & reduce using rule 35 (expression -> ! expression .) @@ -11450,9 +11457,9 @@ state 120 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -11462,10 +11469,10 @@ state 120 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -11504,28 +11511,28 @@ state 120 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -11550,13 +11557,13 @@ state 120 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } > reduce using rule 36 (expression -> + expression .) < reduce using rule 36 (expression -> + expression .) & reduce using rule 36 (expression -> + expression .) @@ -11666,9 +11673,9 @@ state 121 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -11678,10 +11685,10 @@ state 121 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -11720,28 +11727,28 @@ state 121 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -11766,13 +11773,13 @@ state 121 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } > reduce using rule 37 (expression -> - expression .) < reduce using rule 37 (expression -> - expression .) & reduce using rule 37 (expression -> - expression .) @@ -12002,39 +12009,39 @@ state 123 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (60) html_full -> . ? HTMLEND (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } . shift and go to state 86 ID shift and go to state 211 # shift and go to state 73 @@ -12046,7 +12053,7 @@ state 123 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -12218,7 +12225,7 @@ state 126 state 127 - (121) variable_operation -> ID EQ_DIV . expression ; + (122) variable_operation -> ID EQ_DIV . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -12257,28 +12264,28 @@ state 127 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -12303,13 +12310,13 @@ state 127 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -12318,7 +12325,7 @@ state 127 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -12361,7 +12368,7 @@ state 127 state 128 - (123) variable_operation -> ID EQ_MOD . expression ; + (124) variable_operation -> ID EQ_MOD . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -12400,28 +12407,28 @@ state 128 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -12446,13 +12453,13 @@ state 128 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -12461,7 +12468,7 @@ state 128 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -12504,7 +12511,7 @@ state 128 state 129 - (125) variable_operation -> ID EQ_MUL . expression ; + (126) variable_operation -> ID EQ_MUL . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -12543,28 +12550,28 @@ state 129 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -12589,13 +12596,13 @@ state 129 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -12604,7 +12611,7 @@ state 129 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -12647,7 +12654,7 @@ state 129 state 130 - (127) variable_operation -> ID EQ_SUB . expression ; + (128) variable_operation -> ID EQ_SUB . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -12686,28 +12693,28 @@ state 130 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -12732,13 +12739,13 @@ state 130 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -12747,7 +12754,7 @@ state 130 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -12790,7 +12797,7 @@ state 130 state 131 - (129) variable_operation -> ID EQ_ADD . expression ; + (130) variable_operation -> ID EQ_ADD . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -12829,28 +12836,28 @@ state 131 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -12875,13 +12882,13 @@ state 131 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -12890,7 +12897,7 @@ state 131 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -12982,9 +12989,9 @@ state 137 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] - (165) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -12994,10 +13001,10 @@ state 137 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -13036,28 +13043,28 @@ state 137 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -13082,13 +13089,13 @@ state 137 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! shift/reduce conflict for > resolved as shift ! shift/reduce conflict for < resolved as shift ! shift/reduce conflict for & resolved as shift @@ -13210,7 +13217,7 @@ state 137 state 138 - (116) variable_assignment -> $ get_index . = expression ; + (117) variable_assignment -> $ get_index . = expression ; (30) expression -> get_index . = shift and go to state 225 > reduce using rule 30 (expression -> get_index .) @@ -13274,12 +13281,12 @@ state 138 state 139 - (118) variable_assignment -> $ ID . TARROW ID = expression ; - (119) variable_assignment -> $ ID . = expression ; + (119) variable_assignment -> $ ID . TARROW ID = expression ; + (120) variable_assignment -> $ ID . = expression ; (85) function_call -> $ ID . TARROW ID ( empty ) (86) function_call -> $ ID . TARROW ID ( function_arguments ) (52) expression -> ID . OF ID - (166) id -> ID . + (167) id -> ID . (74) function_call -> ID . TARROW ID ( function_arguments ) (75) function_call -> ID . \ ID (76) function_call -> ID . / ID @@ -13291,61 +13298,61 @@ state 139 TARROW shift and go to state 226 = shift and go to state 227 OF shift and go to state 126 - > reduce using rule 166 (id -> ID .) - < reduce using rule 166 (id -> ID .) - & reduce using rule 166 (id -> ID .) - EQ_GREATER reduce using rule 166 (id -> ID .) - EQ_LESS reduce using rule 166 (id -> ID .) - NOT_EQEQ reduce using rule 166 (id -> ID .) - EQEQ reduce using rule 166 (id -> ID .) - % reduce using rule 166 (id -> ID .) - * reduce using rule 166 (id -> ID .) - - reduce using rule 166 (id -> ID .) - + reduce using rule 166 (id -> ID .) - . reduce using rule 166 (id -> ID .) - ^ reduce using rule 166 (id -> ID .) - [ reduce using rule 166 (id -> ID .) - ( reduce using rule 166 (id -> ID .) - $ reduce using rule 166 (id -> ID .) - ID reduce using rule 166 (id -> ID .) - ! reduce using rule 166 (id -> ID .) - { reduce using rule 166 (id -> ID .) - FORMATTED_STRING reduce using rule 166 (id -> ID .) - MULTILINE_STRING reduce using rule 166 (id -> ID .) - STRING reduce using rule 166 (id -> ID .) - CHAR reduce using rule 166 (id -> ID .) - FALSE reduce using rule 166 (id -> ID .) - TRUE reduce using rule 166 (id -> ID .) - FLOAT reduce using rule 166 (id -> ID .) - INT reduce using rule 166 (id -> ID .) - NULL reduce using rule 166 (id -> ID .) - PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .) - PYTHON_CODE reduce using rule 166 (id -> ID .) - # reduce using rule 166 (id -> ID .) - NEW reduce using rule 166 (id -> ID .) - ? reduce using rule 166 (id -> ID .) - HTMLSTART reduce using rule 166 (id -> ID .) - FOREACH reduce using rule 166 (id -> ID .) - FOR reduce using rule 166 (id -> ID .) - IF reduce using rule 166 (id -> ID .) - PHPSTART reduce using rule 166 (id -> ID .) - LIMPORT reduce using rule 166 (id -> ID .) - IMPORT reduce using rule 166 (id -> ID .) - RETURN reduce using rule 166 (id -> ID .) - DEL reduce using rule 166 (id -> ID .) - DEBUG reduce using rule 166 (id -> ID .) - SKIP reduce using rule 166 (id -> ID .) - BREAK reduce using rule 166 (id -> ID .) - LET reduce using rule 166 (id -> ID .) - WHILE reduce using rule 166 (id -> ID .) - NAMESPACE reduce using rule 166 (id -> ID .) - CLASS reduce using rule 166 (id -> ID .) - FUNC reduce using rule 166 (id -> ID .) - INIT reduce using rule 166 (id -> ID .) - $end reduce using rule 166 (id -> ID .) - PHPEND reduce using rule 166 (id -> ID .) - } reduce using rule 166 (id -> ID .) - , reduce using rule 166 (id -> ID .) + > reduce using rule 167 (id -> ID .) + < reduce using rule 167 (id -> ID .) + & reduce using rule 167 (id -> ID .) + EQ_GREATER reduce using rule 167 (id -> ID .) + EQ_LESS reduce using rule 167 (id -> ID .) + NOT_EQEQ reduce using rule 167 (id -> ID .) + EQEQ reduce using rule 167 (id -> ID .) + % reduce using rule 167 (id -> ID .) + * reduce using rule 167 (id -> ID .) + - reduce using rule 167 (id -> ID .) + + reduce using rule 167 (id -> ID .) + . reduce using rule 167 (id -> ID .) + ^ reduce using rule 167 (id -> ID .) + [ reduce using rule 167 (id -> ID .) + ( reduce using rule 167 (id -> ID .) + $ reduce using rule 167 (id -> ID .) + ID reduce using rule 167 (id -> ID .) + ! reduce using rule 167 (id -> ID .) + { reduce using rule 167 (id -> ID .) + FORMATTED_STRING reduce using rule 167 (id -> ID .) + MULTILINE_STRING reduce using rule 167 (id -> ID .) + STRING reduce using rule 167 (id -> ID .) + CHAR reduce using rule 167 (id -> ID .) + FALSE reduce using rule 167 (id -> ID .) + TRUE reduce using rule 167 (id -> ID .) + FLOAT reduce using rule 167 (id -> ID .) + INT reduce using rule 167 (id -> ID .) + NULL reduce using rule 167 (id -> ID .) + PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .) + PYTHON_CODE reduce using rule 167 (id -> ID .) + # reduce using rule 167 (id -> ID .) + NEW reduce using rule 167 (id -> ID .) + ? reduce using rule 167 (id -> ID .) + HTMLSTART reduce using rule 167 (id -> ID .) + FOREACH reduce using rule 167 (id -> ID .) + FOR reduce using rule 167 (id -> ID .) + IF reduce using rule 167 (id -> ID .) + PHPSTART reduce using rule 167 (id -> ID .) + LIMPORT reduce using rule 167 (id -> ID .) + IMPORT reduce using rule 167 (id -> ID .) + RETURN reduce using rule 167 (id -> ID .) + DEL reduce using rule 167 (id -> ID .) + DEBUG reduce using rule 167 (id -> ID .) + SKIP reduce using rule 167 (id -> ID .) + BREAK reduce using rule 167 (id -> ID .) + LET reduce using rule 167 (id -> ID .) + WHILE reduce using rule 167 (id -> ID .) + NAMESPACE reduce using rule 167 (id -> ID .) + CLASS reduce using rule 167 (id -> ID .) + FUNC reduce using rule 167 (id -> ID .) + INIT reduce using rule 167 (id -> ID .) + $end reduce using rule 167 (id -> ID .) + PHPEND reduce using rule 167 (id -> ID .) + } reduce using rule 167 (id -> ID .) + , reduce using rule 167 (id -> ID .) \ shift and go to state 134 / shift and go to state 135 COLON_COLON shift and go to state 136 @@ -13353,13 +13360,13 @@ state 139 state 140 - (140) import_statement -> . SELFISH . ; + (141) import_statement -> . SELFISH . ; ; shift and go to state 228 state 141 - (141) import_statement -> . GLOBAL . ; + (142) import_statement -> . GLOBAL . ; ; shift and go to state 229 @@ -13431,41 +13438,42 @@ state 143 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -13477,28 +13485,28 @@ state 143 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -13523,7 +13531,7 @@ state 143 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } + (135) if_statement -> . IF ( expression ) { program } PHPEND shift and go to state 232 ? shift and go to state 4 ( shift and go to state 32 @@ -13549,9 +13557,9 @@ state 143 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -13617,9 +13625,9 @@ state 144 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -13629,10 +13637,10 @@ state 144 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -13671,28 +13679,28 @@ state 144 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -13717,13 +13725,13 @@ state 144 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ; shift and go to state 233 > shift and go to state 90 < shift and go to state 91 @@ -13789,7 +13797,7 @@ state 144 state 145 - (142) import_statement -> IMPORT expression . ; + (143) import_statement -> IMPORT expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -13803,9 +13811,9 @@ state 145 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -13815,10 +13823,10 @@ state 145 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -13857,28 +13865,28 @@ state 145 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -13903,13 +13911,13 @@ state 145 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ; shift and go to state 234 > shift and go to state 90 < shift and go to state 91 @@ -13989,9 +13997,9 @@ state 146 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -14001,10 +14009,10 @@ state 146 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -14043,28 +14051,28 @@ state 146 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -14089,13 +14097,13 @@ state 146 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ; shift and go to state 235 > shift and go to state 90 < shift and go to state 91 @@ -14161,13 +14169,13 @@ state 146 state 147 - (139) delete_statement -> DEL ID . ; + (140) delete_statement -> DEL ID . ; ; shift and go to state 236 state 148 - (109) for_loop -> FOREACH ( . expression AS expression ) { program } + (110) for_loop -> FOREACH ( . expression AS expression ) { program } (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -14206,28 +14214,28 @@ state 148 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -14252,13 +14260,13 @@ state 148 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -14267,7 +14275,7 @@ state 148 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -14310,22 +14318,22 @@ state 148 state 149 - (145) assoc_array -> { empty . } + (146) assoc_array -> { empty . } } shift and go to state 238 state 150 - (151) _tuple -> { positional_args . , } - (152) _tuple -> { positional_args . } - (113) positional_args -> positional_args . , expression + (152) _tuple -> { positional_args . , } + (153) _tuple -> { positional_args . } + (114) positional_args -> positional_args . , expression , shift and go to state 239 } shift and go to state 240 state 151 - (110) for_loop -> FOR ( . expression ) { program } + (111) for_loop -> FOR ( . expression ) { program } (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -14364,28 +14372,28 @@ state 151 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -14410,13 +14418,13 @@ state 151 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -14425,7 +14433,7 @@ state 151 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -14621,13 +14629,13 @@ state 154 state 155 - (117) variable_assignment -> LET ID . : ID = expression ; + (118) variable_assignment -> LET ID . : ID = expression ; : shift and go to state 242 state 156 - (111) while_loop -> WHILE ( . expression ) { program } + (112) while_loop -> WHILE ( . expression ) { program } (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -14666,28 +14674,28 @@ state 156 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -14712,13 +14720,13 @@ state 156 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -14727,7 +14735,7 @@ state 156 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -14770,156 +14778,156 @@ state 156 state 157 - (130) conditional -> if_statement else_statement . - ? reduce using rule 130 (conditional -> if_statement else_statement .) - ( reduce using rule 130 (conditional -> if_statement else_statement .) - ! reduce using rule 130 (conditional -> if_statement else_statement .) - + reduce using rule 130 (conditional -> if_statement else_statement .) - - reduce using rule 130 (conditional -> if_statement else_statement .) - * reduce using rule 130 (conditional -> if_statement else_statement .) - & reduce using rule 130 (conditional -> if_statement else_statement .) - ID reduce using rule 130 (conditional -> if_statement else_statement .) - $ reduce using rule 130 (conditional -> if_statement else_statement .) - PHPSTART reduce using rule 130 (conditional -> if_statement else_statement .) - LIMPORT reduce using rule 130 (conditional -> if_statement else_statement .) - . reduce using rule 130 (conditional -> if_statement else_statement .) - IMPORT reduce using rule 130 (conditional -> if_statement else_statement .) - RETURN reduce using rule 130 (conditional -> if_statement else_statement .) - DEL reduce using rule 130 (conditional -> if_statement else_statement .) - FOREACH reduce using rule 130 (conditional -> if_statement else_statement .) - FOR reduce using rule 130 (conditional -> if_statement else_statement .) - DEBUG reduce using rule 130 (conditional -> if_statement else_statement .) - SKIP reduce using rule 130 (conditional -> if_statement else_statement .) - BREAK reduce using rule 130 (conditional -> if_statement else_statement .) - LET reduce using rule 130 (conditional -> if_statement else_statement .) - WHILE reduce using rule 130 (conditional -> if_statement else_statement .) - NAMESPACE reduce using rule 130 (conditional -> if_statement else_statement .) - CLASS reduce using rule 130 (conditional -> if_statement else_statement .) - FUNC reduce using rule 130 (conditional -> if_statement else_statement .) - INIT reduce using rule 130 (conditional -> if_statement else_statement .) - [ reduce using rule 130 (conditional -> if_statement else_statement .) - { reduce using rule 130 (conditional -> if_statement else_statement .) - FORMATTED_STRING reduce using rule 130 (conditional -> if_statement else_statement .) - MULTILINE_STRING reduce using rule 130 (conditional -> if_statement else_statement .) - STRING reduce using rule 130 (conditional -> if_statement else_statement .) - CHAR reduce using rule 130 (conditional -> if_statement else_statement .) - FALSE reduce using rule 130 (conditional -> if_statement else_statement .) - TRUE reduce using rule 130 (conditional -> if_statement else_statement .) - FLOAT reduce using rule 130 (conditional -> if_statement else_statement .) - INT reduce using rule 130 (conditional -> if_statement else_statement .) - NULL reduce using rule 130 (conditional -> if_statement else_statement .) - PYTHON_CODE_EXEC reduce using rule 130 (conditional -> if_statement else_statement .) - PYTHON_CODE reduce using rule 130 (conditional -> if_statement else_statement .) - # reduce using rule 130 (conditional -> if_statement else_statement .) - NEW reduce using rule 130 (conditional -> if_statement else_statement .) - HTMLSTART reduce using rule 130 (conditional -> if_statement else_statement .) - IF reduce using rule 130 (conditional -> if_statement else_statement .) - $end reduce using rule 130 (conditional -> if_statement else_statement .) - > reduce using rule 130 (conditional -> if_statement else_statement .) - < reduce using rule 130 (conditional -> if_statement else_statement .) - EQ_GREATER reduce using rule 130 (conditional -> if_statement else_statement .) - EQ_LESS reduce using rule 130 (conditional -> if_statement else_statement .) - NOT_EQEQ reduce using rule 130 (conditional -> if_statement else_statement .) - EQEQ reduce using rule 130 (conditional -> if_statement else_statement .) - % reduce using rule 130 (conditional -> if_statement else_statement .) - / reduce using rule 130 (conditional -> if_statement else_statement .) - COLON_COLON reduce using rule 130 (conditional -> if_statement else_statement .) - ^ reduce using rule 130 (conditional -> if_statement else_statement .) - ; reduce using rule 130 (conditional -> if_statement else_statement .) - | reduce using rule 130 (conditional -> if_statement else_statement .) - , reduce using rule 130 (conditional -> if_statement else_statement .) - PHPEND reduce using rule 130 (conditional -> if_statement else_statement .) - } reduce using rule 130 (conditional -> if_statement else_statement .) - ) reduce using rule 130 (conditional -> if_statement else_statement .) - SARROW reduce using rule 130 (conditional -> if_statement else_statement .) - ] reduce using rule 130 (conditional -> if_statement else_statement .) - HTMLEND reduce using rule 130 (conditional -> if_statement else_statement .) - EQ_DIV reduce using rule 130 (conditional -> if_statement else_statement .) - EQ_MOD reduce using rule 130 (conditional -> if_statement else_statement .) - EQ_MUL reduce using rule 130 (conditional -> if_statement else_statement .) - EQ_SUB reduce using rule 130 (conditional -> if_statement else_statement .) - EQ_ADD reduce using rule 130 (conditional -> if_statement else_statement .) - = reduce using rule 130 (conditional -> if_statement else_statement .) - AS reduce using rule 130 (conditional -> if_statement else_statement .) + (131) conditional -> if_statement else_statement . + ? reduce using rule 131 (conditional -> if_statement else_statement .) + ( reduce using rule 131 (conditional -> if_statement else_statement .) + ! reduce using rule 131 (conditional -> if_statement else_statement .) + + reduce using rule 131 (conditional -> if_statement else_statement .) + - reduce using rule 131 (conditional -> if_statement else_statement .) + * reduce using rule 131 (conditional -> if_statement else_statement .) + & reduce using rule 131 (conditional -> if_statement else_statement .) + ID reduce using rule 131 (conditional -> if_statement else_statement .) + $ reduce using rule 131 (conditional -> if_statement else_statement .) + PHPSTART reduce using rule 131 (conditional -> if_statement else_statement .) + LIMPORT reduce using rule 131 (conditional -> if_statement else_statement .) + . reduce using rule 131 (conditional -> if_statement else_statement .) + IMPORT reduce using rule 131 (conditional -> if_statement else_statement .) + RETURN reduce using rule 131 (conditional -> if_statement else_statement .) + DEL reduce using rule 131 (conditional -> if_statement else_statement .) + FOREACH reduce using rule 131 (conditional -> if_statement else_statement .) + FOR reduce using rule 131 (conditional -> if_statement else_statement .) + DEBUG reduce using rule 131 (conditional -> if_statement else_statement .) + SKIP reduce using rule 131 (conditional -> if_statement else_statement .) + BREAK reduce using rule 131 (conditional -> if_statement else_statement .) + LET reduce using rule 131 (conditional -> if_statement else_statement .) + WHILE reduce using rule 131 (conditional -> if_statement else_statement .) + NAMESPACE reduce using rule 131 (conditional -> if_statement else_statement .) + CLASS reduce using rule 131 (conditional -> if_statement else_statement .) + FUNC reduce using rule 131 (conditional -> if_statement else_statement .) + INIT reduce using rule 131 (conditional -> if_statement else_statement .) + [ reduce using rule 131 (conditional -> if_statement else_statement .) + { reduce using rule 131 (conditional -> if_statement else_statement .) + FORMATTED_STRING reduce using rule 131 (conditional -> if_statement else_statement .) + MULTILINE_STRING reduce using rule 131 (conditional -> if_statement else_statement .) + STRING reduce using rule 131 (conditional -> if_statement else_statement .) + CHAR reduce using rule 131 (conditional -> if_statement else_statement .) + FALSE reduce using rule 131 (conditional -> if_statement else_statement .) + TRUE reduce using rule 131 (conditional -> if_statement else_statement .) + FLOAT reduce using rule 131 (conditional -> if_statement else_statement .) + INT reduce using rule 131 (conditional -> if_statement else_statement .) + NULL reduce using rule 131 (conditional -> if_statement else_statement .) + PYTHON_CODE_EXEC reduce using rule 131 (conditional -> if_statement else_statement .) + PYTHON_CODE reduce using rule 131 (conditional -> if_statement else_statement .) + # reduce using rule 131 (conditional -> if_statement else_statement .) + NEW reduce using rule 131 (conditional -> if_statement else_statement .) + HTMLSTART reduce using rule 131 (conditional -> if_statement else_statement .) + IF reduce using rule 131 (conditional -> if_statement else_statement .) + $end reduce using rule 131 (conditional -> if_statement else_statement .) + > reduce using rule 131 (conditional -> if_statement else_statement .) + < reduce using rule 131 (conditional -> if_statement else_statement .) + EQ_GREATER reduce using rule 131 (conditional -> if_statement else_statement .) + EQ_LESS reduce using rule 131 (conditional -> if_statement else_statement .) + NOT_EQEQ reduce using rule 131 (conditional -> if_statement else_statement .) + EQEQ reduce using rule 131 (conditional -> if_statement else_statement .) + % reduce using rule 131 (conditional -> if_statement else_statement .) + / reduce using rule 131 (conditional -> if_statement else_statement .) + COLON_COLON reduce using rule 131 (conditional -> if_statement else_statement .) + ^ reduce using rule 131 (conditional -> if_statement else_statement .) + ; reduce using rule 131 (conditional -> if_statement else_statement .) + | reduce using rule 131 (conditional -> if_statement else_statement .) + , reduce using rule 131 (conditional -> if_statement else_statement .) + PHPEND reduce using rule 131 (conditional -> if_statement else_statement .) + } reduce using rule 131 (conditional -> if_statement else_statement .) + ) reduce using rule 131 (conditional -> if_statement else_statement .) + SARROW reduce using rule 131 (conditional -> if_statement else_statement .) + ] reduce using rule 131 (conditional -> if_statement else_statement .) + HTMLEND reduce using rule 131 (conditional -> if_statement else_statement .) + EQ_DIV reduce using rule 131 (conditional -> if_statement else_statement .) + EQ_MOD reduce using rule 131 (conditional -> if_statement else_statement .) + EQ_MUL reduce using rule 131 (conditional -> if_statement else_statement .) + EQ_SUB reduce using rule 131 (conditional -> if_statement else_statement .) + EQ_ADD reduce using rule 131 (conditional -> if_statement else_statement .) + = reduce using rule 131 (conditional -> if_statement else_statement .) + AS reduce using rule 131 (conditional -> if_statement else_statement .) state 158 - (131) conditional -> if_statement else_if_loop . else_statement - (132) conditional -> if_statement else_if_loop . - (136) else_if_loop -> else_if_loop . else_if_statement - (138) else_statement -> . ELSE { program } - (137) else_if_statement -> . ELSE IF ( expression ) { program } - ? reduce using rule 132 (conditional -> if_statement else_if_loop .) - ( reduce using rule 132 (conditional -> if_statement else_if_loop .) - ! reduce using rule 132 (conditional -> if_statement else_if_loop .) - + reduce using rule 132 (conditional -> if_statement else_if_loop .) - - reduce using rule 132 (conditional -> if_statement else_if_loop .) - * reduce using rule 132 (conditional -> if_statement else_if_loop .) - & reduce using rule 132 (conditional -> if_statement else_if_loop .) - ID reduce using rule 132 (conditional -> if_statement else_if_loop .) - $ reduce using rule 132 (conditional -> if_statement else_if_loop .) - PHPSTART reduce using rule 132 (conditional -> if_statement else_if_loop .) - LIMPORT reduce using rule 132 (conditional -> if_statement else_if_loop .) - . reduce using rule 132 (conditional -> if_statement else_if_loop .) - IMPORT reduce using rule 132 (conditional -> if_statement else_if_loop .) - RETURN reduce using rule 132 (conditional -> if_statement else_if_loop .) - DEL reduce using rule 132 (conditional -> if_statement else_if_loop .) - FOREACH reduce using rule 132 (conditional -> if_statement else_if_loop .) - FOR reduce using rule 132 (conditional -> if_statement else_if_loop .) - DEBUG reduce using rule 132 (conditional -> if_statement else_if_loop .) - SKIP reduce using rule 132 (conditional -> if_statement else_if_loop .) - BREAK reduce using rule 132 (conditional -> if_statement else_if_loop .) - LET reduce using rule 132 (conditional -> if_statement else_if_loop .) - WHILE reduce using rule 132 (conditional -> if_statement else_if_loop .) - NAMESPACE reduce using rule 132 (conditional -> if_statement else_if_loop .) - CLASS reduce using rule 132 (conditional -> if_statement else_if_loop .) - FUNC reduce using rule 132 (conditional -> if_statement else_if_loop .) - INIT reduce using rule 132 (conditional -> if_statement else_if_loop .) - [ reduce using rule 132 (conditional -> if_statement else_if_loop .) - { reduce using rule 132 (conditional -> if_statement else_if_loop .) - FORMATTED_STRING reduce using rule 132 (conditional -> if_statement else_if_loop .) - MULTILINE_STRING reduce using rule 132 (conditional -> if_statement else_if_loop .) - STRING reduce using rule 132 (conditional -> if_statement else_if_loop .) - CHAR reduce using rule 132 (conditional -> if_statement else_if_loop .) - FALSE reduce using rule 132 (conditional -> if_statement else_if_loop .) - TRUE reduce using rule 132 (conditional -> if_statement else_if_loop .) - FLOAT reduce using rule 132 (conditional -> if_statement else_if_loop .) - INT reduce using rule 132 (conditional -> if_statement else_if_loop .) - NULL reduce using rule 132 (conditional -> if_statement else_if_loop .) - PYTHON_CODE_EXEC reduce using rule 132 (conditional -> if_statement else_if_loop .) - PYTHON_CODE reduce using rule 132 (conditional -> if_statement else_if_loop .) - # reduce using rule 132 (conditional -> if_statement else_if_loop .) - NEW reduce using rule 132 (conditional -> if_statement else_if_loop .) - HTMLSTART reduce using rule 132 (conditional -> if_statement else_if_loop .) - IF reduce using rule 132 (conditional -> if_statement else_if_loop .) - $end reduce using rule 132 (conditional -> if_statement else_if_loop .) - > reduce using rule 132 (conditional -> if_statement else_if_loop .) - < reduce using rule 132 (conditional -> if_statement else_if_loop .) - EQ_GREATER reduce using rule 132 (conditional -> if_statement else_if_loop .) - EQ_LESS reduce using rule 132 (conditional -> if_statement else_if_loop .) - NOT_EQEQ reduce using rule 132 (conditional -> if_statement else_if_loop .) - EQEQ reduce using rule 132 (conditional -> if_statement else_if_loop .) - % reduce using rule 132 (conditional -> if_statement else_if_loop .) - / reduce using rule 132 (conditional -> if_statement else_if_loop .) - COLON_COLON reduce using rule 132 (conditional -> if_statement else_if_loop .) - ^ reduce using rule 132 (conditional -> if_statement else_if_loop .) - ; reduce using rule 132 (conditional -> if_statement else_if_loop .) - | reduce using rule 132 (conditional -> if_statement else_if_loop .) - , reduce using rule 132 (conditional -> if_statement else_if_loop .) - PHPEND reduce using rule 132 (conditional -> if_statement else_if_loop .) - } reduce using rule 132 (conditional -> if_statement else_if_loop .) - ) reduce using rule 132 (conditional -> if_statement else_if_loop .) - SARROW reduce using rule 132 (conditional -> if_statement else_if_loop .) - ] reduce using rule 132 (conditional -> if_statement else_if_loop .) - HTMLEND reduce using rule 132 (conditional -> if_statement else_if_loop .) - EQ_DIV reduce using rule 132 (conditional -> if_statement else_if_loop .) - EQ_MOD reduce using rule 132 (conditional -> if_statement else_if_loop .) - EQ_MUL reduce using rule 132 (conditional -> if_statement else_if_loop .) - EQ_SUB reduce using rule 132 (conditional -> if_statement else_if_loop .) - EQ_ADD reduce using rule 132 (conditional -> if_statement else_if_loop .) - = reduce using rule 132 (conditional -> if_statement else_if_loop .) - AS reduce using rule 132 (conditional -> if_statement else_if_loop .) + (132) conditional -> if_statement else_if_loop . else_statement + (133) conditional -> if_statement else_if_loop . + (137) else_if_loop -> else_if_loop . else_if_statement + (139) else_statement -> . ELSE { program } + (138) else_if_statement -> . ELSE IF ( expression ) { program } + ? reduce using rule 133 (conditional -> if_statement else_if_loop .) + ( reduce using rule 133 (conditional -> if_statement else_if_loop .) + ! reduce using rule 133 (conditional -> if_statement else_if_loop .) + + reduce using rule 133 (conditional -> if_statement else_if_loop .) + - reduce using rule 133 (conditional -> if_statement else_if_loop .) + * reduce using rule 133 (conditional -> if_statement else_if_loop .) + & reduce using rule 133 (conditional -> if_statement else_if_loop .) + ID reduce using rule 133 (conditional -> if_statement else_if_loop .) + $ reduce using rule 133 (conditional -> if_statement else_if_loop .) + PHPSTART reduce using rule 133 (conditional -> if_statement else_if_loop .) + LIMPORT reduce using rule 133 (conditional -> if_statement else_if_loop .) + . reduce using rule 133 (conditional -> if_statement else_if_loop .) + IMPORT reduce using rule 133 (conditional -> if_statement else_if_loop .) + RETURN reduce using rule 133 (conditional -> if_statement else_if_loop .) + DEL reduce using rule 133 (conditional -> if_statement else_if_loop .) + FOREACH reduce using rule 133 (conditional -> if_statement else_if_loop .) + FOR reduce using rule 133 (conditional -> if_statement else_if_loop .) + DEBUG reduce using rule 133 (conditional -> if_statement else_if_loop .) + SKIP reduce using rule 133 (conditional -> if_statement else_if_loop .) + BREAK reduce using rule 133 (conditional -> if_statement else_if_loop .) + LET reduce using rule 133 (conditional -> if_statement else_if_loop .) + WHILE reduce using rule 133 (conditional -> if_statement else_if_loop .) + NAMESPACE reduce using rule 133 (conditional -> if_statement else_if_loop .) + CLASS reduce using rule 133 (conditional -> if_statement else_if_loop .) + FUNC reduce using rule 133 (conditional -> if_statement else_if_loop .) + INIT reduce using rule 133 (conditional -> if_statement else_if_loop .) + [ reduce using rule 133 (conditional -> if_statement else_if_loop .) + { reduce using rule 133 (conditional -> if_statement else_if_loop .) + FORMATTED_STRING reduce using rule 133 (conditional -> if_statement else_if_loop .) + MULTILINE_STRING reduce using rule 133 (conditional -> if_statement else_if_loop .) + STRING reduce using rule 133 (conditional -> if_statement else_if_loop .) + CHAR reduce using rule 133 (conditional -> if_statement else_if_loop .) + FALSE reduce using rule 133 (conditional -> if_statement else_if_loop .) + TRUE reduce using rule 133 (conditional -> if_statement else_if_loop .) + FLOAT reduce using rule 133 (conditional -> if_statement else_if_loop .) + INT reduce using rule 133 (conditional -> if_statement else_if_loop .) + NULL reduce using rule 133 (conditional -> if_statement else_if_loop .) + PYTHON_CODE_EXEC reduce using rule 133 (conditional -> if_statement else_if_loop .) + PYTHON_CODE reduce using rule 133 (conditional -> if_statement else_if_loop .) + # reduce using rule 133 (conditional -> if_statement else_if_loop .) + NEW reduce using rule 133 (conditional -> if_statement else_if_loop .) + HTMLSTART reduce using rule 133 (conditional -> if_statement else_if_loop .) + IF reduce using rule 133 (conditional -> if_statement else_if_loop .) + $end reduce using rule 133 (conditional -> if_statement else_if_loop .) + > reduce using rule 133 (conditional -> if_statement else_if_loop .) + < reduce using rule 133 (conditional -> if_statement else_if_loop .) + EQ_GREATER reduce using rule 133 (conditional -> if_statement else_if_loop .) + EQ_LESS reduce using rule 133 (conditional -> if_statement else_if_loop .) + NOT_EQEQ reduce using rule 133 (conditional -> if_statement else_if_loop .) + EQEQ reduce using rule 133 (conditional -> if_statement else_if_loop .) + % reduce using rule 133 (conditional -> if_statement else_if_loop .) + / reduce using rule 133 (conditional -> if_statement else_if_loop .) + COLON_COLON reduce using rule 133 (conditional -> if_statement else_if_loop .) + ^ reduce using rule 133 (conditional -> if_statement else_if_loop .) + ; reduce using rule 133 (conditional -> if_statement else_if_loop .) + | reduce using rule 133 (conditional -> if_statement else_if_loop .) + , reduce using rule 133 (conditional -> if_statement else_if_loop .) + PHPEND reduce using rule 133 (conditional -> if_statement else_if_loop .) + } reduce using rule 133 (conditional -> if_statement else_if_loop .) + ) reduce using rule 133 (conditional -> if_statement else_if_loop .) + SARROW reduce using rule 133 (conditional -> if_statement else_if_loop .) + ] reduce using rule 133 (conditional -> if_statement else_if_loop .) + HTMLEND reduce using rule 133 (conditional -> if_statement else_if_loop .) + EQ_DIV reduce using rule 133 (conditional -> if_statement else_if_loop .) + EQ_MOD reduce using rule 133 (conditional -> if_statement else_if_loop .) + EQ_MUL reduce using rule 133 (conditional -> if_statement else_if_loop .) + EQ_SUB reduce using rule 133 (conditional -> if_statement else_if_loop .) + EQ_ADD reduce using rule 133 (conditional -> if_statement else_if_loop .) + = reduce using rule 133 (conditional -> if_statement else_if_loop .) + AS reduce using rule 133 (conditional -> if_statement else_if_loop .) ELSE shift and go to state 159 else_statement shift and go to state 244 @@ -14927,86 +14935,86 @@ state 158 state 159 - (138) else_statement -> ELSE . { program } - (137) else_if_statement -> ELSE . IF ( expression ) { program } + (139) else_statement -> ELSE . { program } + (138) else_if_statement -> ELSE . IF ( expression ) { program } { shift and go to state 246 IF shift and go to state 247 state 160 - (135) else_if_loop -> else_if_statement . - ELSE reduce using rule 135 (else_if_loop -> else_if_statement .) - ? reduce using rule 135 (else_if_loop -> else_if_statement .) - ( reduce using rule 135 (else_if_loop -> else_if_statement .) - ! reduce using rule 135 (else_if_loop -> else_if_statement .) - + reduce using rule 135 (else_if_loop -> else_if_statement .) - - reduce using rule 135 (else_if_loop -> else_if_statement .) - * reduce using rule 135 (else_if_loop -> else_if_statement .) - & reduce using rule 135 (else_if_loop -> else_if_statement .) - ID reduce using rule 135 (else_if_loop -> else_if_statement .) - $ reduce using rule 135 (else_if_loop -> else_if_statement .) - PHPSTART reduce using rule 135 (else_if_loop -> else_if_statement .) - LIMPORT reduce using rule 135 (else_if_loop -> else_if_statement .) - . reduce using rule 135 (else_if_loop -> else_if_statement .) - IMPORT reduce using rule 135 (else_if_loop -> else_if_statement .) - RETURN reduce using rule 135 (else_if_loop -> else_if_statement .) - DEL reduce using rule 135 (else_if_loop -> else_if_statement .) - FOREACH reduce using rule 135 (else_if_loop -> else_if_statement .) - FOR reduce using rule 135 (else_if_loop -> else_if_statement .) - DEBUG reduce using rule 135 (else_if_loop -> else_if_statement .) - SKIP reduce using rule 135 (else_if_loop -> else_if_statement .) - BREAK reduce using rule 135 (else_if_loop -> else_if_statement .) - LET reduce using rule 135 (else_if_loop -> else_if_statement .) - WHILE reduce using rule 135 (else_if_loop -> else_if_statement .) - NAMESPACE reduce using rule 135 (else_if_loop -> else_if_statement .) - CLASS reduce using rule 135 (else_if_loop -> else_if_statement .) - FUNC reduce using rule 135 (else_if_loop -> else_if_statement .) - INIT reduce using rule 135 (else_if_loop -> else_if_statement .) - [ reduce using rule 135 (else_if_loop -> else_if_statement .) - { reduce using rule 135 (else_if_loop -> else_if_statement .) - FORMATTED_STRING reduce using rule 135 (else_if_loop -> else_if_statement .) - MULTILINE_STRING reduce using rule 135 (else_if_loop -> else_if_statement .) - STRING reduce using rule 135 (else_if_loop -> else_if_statement .) - CHAR reduce using rule 135 (else_if_loop -> else_if_statement .) - FALSE reduce using rule 135 (else_if_loop -> else_if_statement .) - TRUE reduce using rule 135 (else_if_loop -> else_if_statement .) - FLOAT reduce using rule 135 (else_if_loop -> else_if_statement .) - INT reduce using rule 135 (else_if_loop -> else_if_statement .) - NULL reduce using rule 135 (else_if_loop -> else_if_statement .) - PYTHON_CODE_EXEC reduce using rule 135 (else_if_loop -> else_if_statement .) - PYTHON_CODE reduce using rule 135 (else_if_loop -> else_if_statement .) - # reduce using rule 135 (else_if_loop -> else_if_statement .) - NEW reduce using rule 135 (else_if_loop -> else_if_statement .) - HTMLSTART reduce using rule 135 (else_if_loop -> else_if_statement .) - IF reduce using rule 135 (else_if_loop -> else_if_statement .) - $end reduce using rule 135 (else_if_loop -> else_if_statement .) - > reduce using rule 135 (else_if_loop -> else_if_statement .) - < reduce using rule 135 (else_if_loop -> else_if_statement .) - EQ_GREATER reduce using rule 135 (else_if_loop -> else_if_statement .) - EQ_LESS reduce using rule 135 (else_if_loop -> else_if_statement .) - NOT_EQEQ reduce using rule 135 (else_if_loop -> else_if_statement .) - EQEQ reduce using rule 135 (else_if_loop -> else_if_statement .) - % reduce using rule 135 (else_if_loop -> else_if_statement .) - / reduce using rule 135 (else_if_loop -> else_if_statement .) - COLON_COLON reduce using rule 135 (else_if_loop -> else_if_statement .) - ^ reduce using rule 135 (else_if_loop -> else_if_statement .) - ; reduce using rule 135 (else_if_loop -> else_if_statement .) - | reduce using rule 135 (else_if_loop -> else_if_statement .) - , reduce using rule 135 (else_if_loop -> else_if_statement .) - PHPEND reduce using rule 135 (else_if_loop -> else_if_statement .) - } reduce using rule 135 (else_if_loop -> else_if_statement .) - ) reduce using rule 135 (else_if_loop -> else_if_statement .) - SARROW reduce using rule 135 (else_if_loop -> else_if_statement .) - ] reduce using rule 135 (else_if_loop -> else_if_statement .) - HTMLEND reduce using rule 135 (else_if_loop -> else_if_statement .) - EQ_DIV reduce using rule 135 (else_if_loop -> else_if_statement .) - EQ_MOD reduce using rule 135 (else_if_loop -> else_if_statement .) - EQ_MUL reduce using rule 135 (else_if_loop -> else_if_statement .) - EQ_SUB reduce using rule 135 (else_if_loop -> else_if_statement .) - EQ_ADD reduce using rule 135 (else_if_loop -> else_if_statement .) - = reduce using rule 135 (else_if_loop -> else_if_statement .) - AS reduce using rule 135 (else_if_loop -> else_if_statement .) + (136) else_if_loop -> else_if_statement . + ELSE reduce using rule 136 (else_if_loop -> else_if_statement .) + ? reduce using rule 136 (else_if_loop -> else_if_statement .) + ( reduce using rule 136 (else_if_loop -> else_if_statement .) + ! reduce using rule 136 (else_if_loop -> else_if_statement .) + + reduce using rule 136 (else_if_loop -> else_if_statement .) + - reduce using rule 136 (else_if_loop -> else_if_statement .) + * reduce using rule 136 (else_if_loop -> else_if_statement .) + & reduce using rule 136 (else_if_loop -> else_if_statement .) + ID reduce using rule 136 (else_if_loop -> else_if_statement .) + $ reduce using rule 136 (else_if_loop -> else_if_statement .) + PHPSTART reduce using rule 136 (else_if_loop -> else_if_statement .) + LIMPORT reduce using rule 136 (else_if_loop -> else_if_statement .) + . reduce using rule 136 (else_if_loop -> else_if_statement .) + IMPORT reduce using rule 136 (else_if_loop -> else_if_statement .) + RETURN reduce using rule 136 (else_if_loop -> else_if_statement .) + DEL reduce using rule 136 (else_if_loop -> else_if_statement .) + FOREACH reduce using rule 136 (else_if_loop -> else_if_statement .) + FOR reduce using rule 136 (else_if_loop -> else_if_statement .) + DEBUG reduce using rule 136 (else_if_loop -> else_if_statement .) + SKIP reduce using rule 136 (else_if_loop -> else_if_statement .) + BREAK reduce using rule 136 (else_if_loop -> else_if_statement .) + LET reduce using rule 136 (else_if_loop -> else_if_statement .) + WHILE reduce using rule 136 (else_if_loop -> else_if_statement .) + NAMESPACE reduce using rule 136 (else_if_loop -> else_if_statement .) + CLASS reduce using rule 136 (else_if_loop -> else_if_statement .) + FUNC reduce using rule 136 (else_if_loop -> else_if_statement .) + INIT reduce using rule 136 (else_if_loop -> else_if_statement .) + [ reduce using rule 136 (else_if_loop -> else_if_statement .) + { reduce using rule 136 (else_if_loop -> else_if_statement .) + FORMATTED_STRING reduce using rule 136 (else_if_loop -> else_if_statement .) + MULTILINE_STRING reduce using rule 136 (else_if_loop -> else_if_statement .) + STRING reduce using rule 136 (else_if_loop -> else_if_statement .) + CHAR reduce using rule 136 (else_if_loop -> else_if_statement .) + FALSE reduce using rule 136 (else_if_loop -> else_if_statement .) + TRUE reduce using rule 136 (else_if_loop -> else_if_statement .) + FLOAT reduce using rule 136 (else_if_loop -> else_if_statement .) + INT reduce using rule 136 (else_if_loop -> else_if_statement .) + NULL reduce using rule 136 (else_if_loop -> else_if_statement .) + PYTHON_CODE_EXEC reduce using rule 136 (else_if_loop -> else_if_statement .) + PYTHON_CODE reduce using rule 136 (else_if_loop -> else_if_statement .) + # reduce using rule 136 (else_if_loop -> else_if_statement .) + NEW reduce using rule 136 (else_if_loop -> else_if_statement .) + HTMLSTART reduce using rule 136 (else_if_loop -> else_if_statement .) + IF reduce using rule 136 (else_if_loop -> else_if_statement .) + $end reduce using rule 136 (else_if_loop -> else_if_statement .) + > reduce using rule 136 (else_if_loop -> else_if_statement .) + < reduce using rule 136 (else_if_loop -> else_if_statement .) + EQ_GREATER reduce using rule 136 (else_if_loop -> else_if_statement .) + EQ_LESS reduce using rule 136 (else_if_loop -> else_if_statement .) + NOT_EQEQ reduce using rule 136 (else_if_loop -> else_if_statement .) + EQEQ reduce using rule 136 (else_if_loop -> else_if_statement .) + % reduce using rule 136 (else_if_loop -> else_if_statement .) + / reduce using rule 136 (else_if_loop -> else_if_statement .) + COLON_COLON reduce using rule 136 (else_if_loop -> else_if_statement .) + ^ reduce using rule 136 (else_if_loop -> else_if_statement .) + ; reduce using rule 136 (else_if_loop -> else_if_statement .) + | reduce using rule 136 (else_if_loop -> else_if_statement .) + , reduce using rule 136 (else_if_loop -> else_if_statement .) + PHPEND reduce using rule 136 (else_if_loop -> else_if_statement .) + } reduce using rule 136 (else_if_loop -> else_if_statement .) + ) reduce using rule 136 (else_if_loop -> else_if_statement .) + SARROW reduce using rule 136 (else_if_loop -> else_if_statement .) + ] reduce using rule 136 (else_if_loop -> else_if_statement .) + HTMLEND reduce using rule 136 (else_if_loop -> else_if_statement .) + EQ_DIV reduce using rule 136 (else_if_loop -> else_if_statement .) + EQ_MOD reduce using rule 136 (else_if_loop -> else_if_statement .) + EQ_MUL reduce using rule 136 (else_if_loop -> else_if_statement .) + EQ_SUB reduce using rule 136 (else_if_loop -> else_if_statement .) + EQ_ADD reduce using rule 136 (else_if_loop -> else_if_statement .) + = reduce using rule 136 (else_if_loop -> else_if_statement .) + AS reduce using rule 136 (else_if_loop -> else_if_statement .) state 161 @@ -15021,32 +15029,68 @@ state 162 (107) class_declaration -> CLASS ID . EXTENDS ID { program } (108) class_declaration -> CLASS ID . { program } + (109) class_declaration -> CLASS ID . [ positional_args ] { program } EXTENDS shift and go to state 250 { shift and go to state 251 + [ shift and go to state 252 state 163 - (91) function_declaration -> FUNC ID . COLON_COLON ID ( empty ) { program } TARROW expression - (92) function_declaration -> FUNC ID . COLON_COLON ID ( function_arguments ) { program } TARROW expression - (98) function_declaration -> FUNC ID . ( empty ) { program } - (99) function_declaration -> FUNC ID . ( empty ) : expression { program } - (100) function_declaration -> FUNC ID . ( function_arguments ) { program } - (101) function_declaration -> FUNC ID . ( function_arguments ) : expression { program } - COLON_COLON shift and go to state 252 - ( shift and go to state 253 + (145) assoc_array -> [ assoc_array_items . ] + (149) assoc_array_items -> assoc_array_items . , expression SARROW expression + ] shift and go to state 253 + , shift and go to state 254 state 164 - (93) function_declaration -> INIT ( . function_arguments ) { program } ; + (147) assoc_array -> [ empty . ] + ] shift and go to state 255 + + +state 165 + + (154) _list -> [ positional_args . , ] + (155) _list -> [ positional_args . ] + (114) positional_args -> positional_args . , expression + , shift and go to state 256 + ] shift and go to state 257 + + +state 166 + + (148) assoc_array_items -> expression . SARROW expression + (113) positional_args -> expression . + (33) expression -> expression . > expression + (34) expression -> expression . < expression + (38) expression -> expression . & expression + (40) expression -> expression . EQ_GREATER expression + (41) expression -> expression . EQ_LESS expression + (42) expression -> expression . NOT_EQEQ expression + (43) expression -> expression . EQEQ expression + (44) expression -> expression . % expression + (45) expression -> expression . * expression + (46) expression -> expression . / expression + (47) expression -> expression . - expression + (48) expression -> expression . + expression + (54) expression -> expression . . expression + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] + (73) function_call -> expression . ( empty ) FARROW { program } + (80) function_call -> expression . ( empty ) + (87) function_call -> expression . ( function_arguments ) FARROW { program } + (88) function_call -> expression . $ ID = expression ; + (89) function_call -> expression . ( function_arguments ) + (90) function_call -> expression . function_arguments (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -15085,28 +15129,28 @@ state 164 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -15131,22 +15175,36 @@ state 164 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + SARROW shift and go to state 258 + , reduce using rule 113 (positional_args -> expression .) + ] reduce using rule 113 (positional_args -> expression .) + > shift and go to state 90 + < shift and go to state 91 + & shift and go to state 92 + EQ_GREATER shift and go to state 93 + EQ_LESS shift and go to state 94 + NOT_EQEQ shift and go to state 95 + EQEQ shift and go to state 96 + % shift and go to state 97 + * shift and go to state 98 + / shift and go to state 99 + - shift and go to state 100 + + shift and go to state 101 + . shift and go to state 102 + COLON_COLON shift and go to state 103 + ^ shift and go to state 105 + [ shift and go to state 106 + ( shift and go to state 107 + $ shift and go to state 109 ID shift and go to state 104 - ( shift and go to state 32 ! shift and go to state 33 - + shift and go to state 34 - - shift and go to state 35 - * shift and go to state 38 - & shift and go to state 36 - $ shift and go to state 85 - [ shift and go to state 61 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -15159,7 +15217,6 @@ state 164 NULL shift and go to state 70 PYTHON_CODE_EXEC shift and go to state 71 PYTHON_CODE shift and go to state 72 - . shift and go to state 86 # shift and go to state 73 NEW shift and go to state 74 ? shift and go to state 78 @@ -15168,10 +15225,10 @@ state 164 FOR shift and go to state 50 IF shift and go to state 76 - function_arguments shift and go to state 254 + expression shift and go to state 89 + function_arguments shift and go to state 108 kwargs shift and go to state 110 positional_args shift and go to state 111 - expression shift and go to state 89 id shift and go to state 24 assoc_array shift and go to state 20 _list shift and go to state 21 @@ -15190,62 +15247,28 @@ state 164 conditional shift and go to state 88 if_statement shift and go to state 56 -state 165 - - (144) assoc_array -> [ assoc_array_items . ] - (148) assoc_array_items -> assoc_array_items . , expression SARROW expression - ] shift and go to state 255 - , shift and go to state 256 - - -state 166 - - (146) assoc_array -> [ empty . ] - ] shift and go to state 257 - - state 167 - (153) _list -> [ positional_args . , ] - (154) _list -> [ positional_args . ] - (113) positional_args -> positional_args . , expression - , shift and go to state 258 - ] shift and go to state 259 + (91) function_declaration -> FUNC ID . COLON_COLON ID ( empty ) { program } TARROW expression + (92) function_declaration -> FUNC ID . COLON_COLON ID ( function_arguments ) { program } TARROW expression + (98) function_declaration -> FUNC ID . ( empty ) { program } + (99) function_declaration -> FUNC ID . ( empty ) : expression { program } + (100) function_declaration -> FUNC ID . ( function_arguments ) { program } + (101) function_declaration -> FUNC ID . ( function_arguments ) : expression { program } + COLON_COLON shift and go to state 259 + ( shift and go to state 260 state 168 - (147) assoc_array_items -> expression . SARROW expression - (112) positional_args -> expression . - (33) expression -> expression . > expression - (34) expression -> expression . < expression - (38) expression -> expression . & expression - (40) expression -> expression . EQ_GREATER expression - (41) expression -> expression . EQ_LESS expression - (42) expression -> expression . NOT_EQEQ expression - (43) expression -> expression . EQEQ expression - (44) expression -> expression . % expression - (45) expression -> expression . * expression - (46) expression -> expression . / expression - (47) expression -> expression . - expression - (48) expression -> expression . + expression - (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] - (73) function_call -> expression . ( empty ) FARROW { program } - (80) function_call -> expression . ( empty ) - (87) function_call -> expression . ( function_arguments ) FARROW { program } - (88) function_call -> expression . $ ID = expression ; - (89) function_call -> expression . ( function_arguments ) - (90) function_call -> expression . function_arguments + (93) function_declaration -> INIT ( . function_arguments ) { program } ; (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -15284,28 +15307,28 @@ state 168 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -15330,36 +15353,22 @@ state 168 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - SARROW shift and go to state 260 - , reduce using rule 112 (positional_args -> expression .) - ] reduce using rule 112 (positional_args -> expression .) - > shift and go to state 90 - < shift and go to state 91 - & shift and go to state 92 - EQ_GREATER shift and go to state 93 - EQ_LESS shift and go to state 94 - NOT_EQEQ shift and go to state 95 - EQEQ shift and go to state 96 - % shift and go to state 97 - * shift and go to state 98 - / shift and go to state 99 - - shift and go to state 100 - + shift and go to state 101 - . shift and go to state 102 - COLON_COLON shift and go to state 103 - ^ shift and go to state 105 - [ shift and go to state 106 - ( shift and go to state 107 - $ shift and go to state 109 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ID shift and go to state 104 + ( shift and go to state 32 ! shift and go to state 33 + + shift and go to state 34 + - shift and go to state 35 + * shift and go to state 38 + & shift and go to state 36 + $ shift and go to state 85 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -15372,6 +15381,7 @@ state 168 NULL shift and go to state 70 PYTHON_CODE_EXEC shift and go to state 71 PYTHON_CODE shift and go to state 72 + . shift and go to state 86 # shift and go to state 73 NEW shift and go to state 74 ? shift and go to state 78 @@ -15380,10 +15390,10 @@ state 168 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 89 - function_arguments shift and go to state 108 + function_arguments shift and go to state 261 kwargs shift and go to state 110 positional_args shift and go to state 111 + expression shift and go to state 89 id shift and go to state 24 assoc_array shift and go to state 20 _list shift and go to state 21 @@ -15443,28 +15453,28 @@ state 169 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -15489,13 +15499,13 @@ state 169 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -15504,7 +15514,7 @@ state 169 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -15526,7 +15536,7 @@ state 169 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 261 + expression shift and go to state 262 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -15586,28 +15596,28 @@ state 170 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -15632,13 +15642,13 @@ state 170 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -15647,7 +15657,7 @@ state 170 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -15669,7 +15679,7 @@ state 170 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 262 + expression shift and go to state 263 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -15705,9 +15715,9 @@ state 171 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -15717,10 +15727,10 @@ state 171 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -15759,28 +15769,28 @@ state 171 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -15805,14 +15815,14 @@ state 171 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ( shift and go to state 263 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ( shift and go to state 264 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -15877,7 +15887,7 @@ state 171 state 172 (62) html_full -> HTMLSTART empty . HTMLEND - HTMLEND shift and go to state 264 + HTMLEND shift and go to state 265 state 173 @@ -15896,9 +15906,9 @@ state 173 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -15908,10 +15918,10 @@ state 173 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -15950,28 +15960,28 @@ state 173 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -15996,14 +16006,14 @@ state 173 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - HTMLEND shift and go to state 265 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + HTMLEND shift and go to state 266 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -16068,7 +16078,7 @@ state 173 state 174 - (134) if_statement -> IF ( . expression ) { program } + (135) if_statement -> IF ( . expression ) { program } (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -16107,28 +16117,28 @@ state 174 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -16153,13 +16163,13 @@ state 174 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -16168,7 +16178,7 @@ state 174 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -16190,7 +16200,7 @@ state 174 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 266 + expression shift and go to state 267 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -16276,9 +16286,9 @@ state 176 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -16288,10 +16298,10 @@ state 176 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -16330,28 +16340,28 @@ state 176 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -16376,13 +16386,13 @@ state 176 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! shift/reduce conflict for > resolved as shift ! shift/reduce conflict for < resolved as shift ! shift/reduce conflict for & resolved as shift @@ -16520,7 +16530,7 @@ state 177 (85) function_call -> $ ID . TARROW ID ( empty ) (86) function_call -> $ ID . TARROW ID ( function_arguments ) (52) expression -> ID . OF ID - (166) id -> ID . + (167) id -> ID . (74) function_call -> ID . TARROW ID ( function_arguments ) (75) function_call -> ID . \ ID (76) function_call -> ID . / ID @@ -16529,76 +16539,76 @@ state 177 (84) function_call -> ID . COLON_COLON ID ( function_arguments ) ! shift/reduce conflict for / resolved as shift ! shift/reduce conflict for COLON_COLON resolved as shift - TARROW shift and go to state 267 + TARROW shift and go to state 268 OF shift and go to state 126 - > reduce using rule 166 (id -> ID .) - < reduce using rule 166 (id -> ID .) - & reduce using rule 166 (id -> ID .) - EQ_GREATER reduce using rule 166 (id -> ID .) - EQ_LESS reduce using rule 166 (id -> ID .) - NOT_EQEQ reduce using rule 166 (id -> ID .) - EQEQ reduce using rule 166 (id -> ID .) - % reduce using rule 166 (id -> ID .) - * reduce using rule 166 (id -> ID .) - - reduce using rule 166 (id -> ID .) - + reduce using rule 166 (id -> ID .) - . reduce using rule 166 (id -> ID .) - ^ reduce using rule 166 (id -> ID .) - [ reduce using rule 166 (id -> ID .) - ( reduce using rule 166 (id -> ID .) - $ reduce using rule 166 (id -> ID .) - ID reduce using rule 166 (id -> ID .) - ! reduce using rule 166 (id -> ID .) - { reduce using rule 166 (id -> ID .) - FORMATTED_STRING reduce using rule 166 (id -> ID .) - MULTILINE_STRING reduce using rule 166 (id -> ID .) - STRING reduce using rule 166 (id -> ID .) - CHAR reduce using rule 166 (id -> ID .) - FALSE reduce using rule 166 (id -> ID .) - TRUE reduce using rule 166 (id -> ID .) - FLOAT reduce using rule 166 (id -> ID .) - INT reduce using rule 166 (id -> ID .) - NULL reduce using rule 166 (id -> ID .) - PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .) - PYTHON_CODE reduce using rule 166 (id -> ID .) - # reduce using rule 166 (id -> ID .) - NEW reduce using rule 166 (id -> ID .) - ? reduce using rule 166 (id -> ID .) - HTMLSTART reduce using rule 166 (id -> ID .) - FOREACH reduce using rule 166 (id -> ID .) - FOR reduce using rule 166 (id -> ID .) - IF reduce using rule 166 (id -> ID .) - PHPSTART reduce using rule 166 (id -> ID .) - LIMPORT reduce using rule 166 (id -> ID .) - IMPORT reduce using rule 166 (id -> ID .) - RETURN reduce using rule 166 (id -> ID .) - DEL reduce using rule 166 (id -> ID .) - DEBUG reduce using rule 166 (id -> ID .) - SKIP reduce using rule 166 (id -> ID .) - BREAK reduce using rule 166 (id -> ID .) - LET reduce using rule 166 (id -> ID .) - WHILE reduce using rule 166 (id -> ID .) - NAMESPACE reduce using rule 166 (id -> ID .) - CLASS reduce using rule 166 (id -> ID .) - FUNC reduce using rule 166 (id -> ID .) - INIT reduce using rule 166 (id -> ID .) - $end reduce using rule 166 (id -> ID .) - ; reduce using rule 166 (id -> ID .) - | reduce using rule 166 (id -> ID .) - , reduce using rule 166 (id -> ID .) - PHPEND reduce using rule 166 (id -> ID .) - } reduce using rule 166 (id -> ID .) - ) reduce using rule 166 (id -> ID .) - SARROW reduce using rule 166 (id -> ID .) - ] reduce using rule 166 (id -> ID .) - HTMLEND reduce using rule 166 (id -> ID .) - EQ_DIV reduce using rule 166 (id -> ID .) - EQ_MOD reduce using rule 166 (id -> ID .) - EQ_MUL reduce using rule 166 (id -> ID .) - EQ_SUB reduce using rule 166 (id -> ID .) - EQ_ADD reduce using rule 166 (id -> ID .) - = reduce using rule 166 (id -> ID .) - AS reduce using rule 166 (id -> ID .) + > reduce using rule 167 (id -> ID .) + < reduce using rule 167 (id -> ID .) + & reduce using rule 167 (id -> ID .) + EQ_GREATER reduce using rule 167 (id -> ID .) + EQ_LESS reduce using rule 167 (id -> ID .) + NOT_EQEQ reduce using rule 167 (id -> ID .) + EQEQ reduce using rule 167 (id -> ID .) + % reduce using rule 167 (id -> ID .) + * reduce using rule 167 (id -> ID .) + - reduce using rule 167 (id -> ID .) + + reduce using rule 167 (id -> ID .) + . reduce using rule 167 (id -> ID .) + ^ reduce using rule 167 (id -> ID .) + [ reduce using rule 167 (id -> ID .) + ( reduce using rule 167 (id -> ID .) + $ reduce using rule 167 (id -> ID .) + ID reduce using rule 167 (id -> ID .) + ! reduce using rule 167 (id -> ID .) + { reduce using rule 167 (id -> ID .) + FORMATTED_STRING reduce using rule 167 (id -> ID .) + MULTILINE_STRING reduce using rule 167 (id -> ID .) + STRING reduce using rule 167 (id -> ID .) + CHAR reduce using rule 167 (id -> ID .) + FALSE reduce using rule 167 (id -> ID .) + TRUE reduce using rule 167 (id -> ID .) + FLOAT reduce using rule 167 (id -> ID .) + INT reduce using rule 167 (id -> ID .) + NULL reduce using rule 167 (id -> ID .) + PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .) + PYTHON_CODE reduce using rule 167 (id -> ID .) + # reduce using rule 167 (id -> ID .) + NEW reduce using rule 167 (id -> ID .) + ? reduce using rule 167 (id -> ID .) + HTMLSTART reduce using rule 167 (id -> ID .) + FOREACH reduce using rule 167 (id -> ID .) + FOR reduce using rule 167 (id -> ID .) + IF reduce using rule 167 (id -> ID .) + PHPSTART reduce using rule 167 (id -> ID .) + LIMPORT reduce using rule 167 (id -> ID .) + IMPORT reduce using rule 167 (id -> ID .) + RETURN reduce using rule 167 (id -> ID .) + DEL reduce using rule 167 (id -> ID .) + DEBUG reduce using rule 167 (id -> ID .) + SKIP reduce using rule 167 (id -> ID .) + BREAK reduce using rule 167 (id -> ID .) + LET reduce using rule 167 (id -> ID .) + WHILE reduce using rule 167 (id -> ID .) + NAMESPACE reduce using rule 167 (id -> ID .) + CLASS reduce using rule 167 (id -> ID .) + FUNC reduce using rule 167 (id -> ID .) + INIT reduce using rule 167 (id -> ID .) + $end reduce using rule 167 (id -> ID .) + ; reduce using rule 167 (id -> ID .) + | reduce using rule 167 (id -> ID .) + , reduce using rule 167 (id -> ID .) + PHPEND reduce using rule 167 (id -> ID .) + } reduce using rule 167 (id -> ID .) + ) reduce using rule 167 (id -> ID .) + SARROW reduce using rule 167 (id -> ID .) + ] reduce using rule 167 (id -> ID .) + HTMLEND reduce using rule 167 (id -> ID .) + EQ_DIV reduce using rule 167 (id -> ID .) + EQ_MOD reduce using rule 167 (id -> ID .) + EQ_MUL reduce using rule 167 (id -> ID .) + EQ_SUB reduce using rule 167 (id -> ID .) + EQ_ADD reduce using rule 167 (id -> ID .) + = reduce using rule 167 (id -> ID .) + AS reduce using rule 167 (id -> ID .) \ shift and go to state 134 / shift and go to state 135 COLON_COLON shift and go to state 136 @@ -16620,9 +16630,9 @@ state 178 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -16632,10 +16642,10 @@ state 178 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -16674,28 +16684,28 @@ state 178 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -16720,13 +16730,13 @@ state 178 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } > reduce using rule 33 (expression -> expression > expression .) < reduce using rule 33 (expression -> expression > expression .) & reduce using rule 33 (expression -> expression > expression .) @@ -16836,9 +16846,9 @@ state 179 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -16848,10 +16858,10 @@ state 179 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -16890,28 +16900,28 @@ state 179 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -16936,13 +16946,13 @@ state 179 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } > reduce using rule 34 (expression -> expression < expression .) < reduce using rule 34 (expression -> expression < expression .) & reduce using rule 34 (expression -> expression < expression .) @@ -17052,9 +17062,9 @@ state 180 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -17064,10 +17074,10 @@ state 180 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -17106,28 +17116,28 @@ state 180 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -17152,13 +17162,13 @@ state 180 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } & reduce using rule 38 (expression -> expression & expression .) . reduce using rule 38 (expression -> expression & expression .) ^ reduce using rule 38 (expression -> expression & expression .) @@ -17256,7 +17266,7 @@ state 181 (51) expression -> & ID . (52) expression -> ID . OF ID - (166) id -> ID . + (167) id -> ID . (74) function_call -> ID . TARROW ID ( function_arguments ) (75) function_call -> ID . \ ID (76) function_call -> ID . / ID @@ -17426,9 +17436,9 @@ state 182 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -17438,10 +17448,10 @@ state 182 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -17480,28 +17490,28 @@ state 182 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -17526,13 +17536,13 @@ state 182 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } > reduce using rule 40 (expression -> expression EQ_GREATER expression .) < reduce using rule 40 (expression -> expression EQ_GREATER expression .) & reduce using rule 40 (expression -> expression EQ_GREATER expression .) @@ -17642,9 +17652,9 @@ state 183 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -17654,10 +17664,10 @@ state 183 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -17696,28 +17706,28 @@ state 183 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -17742,13 +17752,13 @@ state 183 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } > reduce using rule 41 (expression -> expression EQ_LESS expression .) < reduce using rule 41 (expression -> expression EQ_LESS expression .) & reduce using rule 41 (expression -> expression EQ_LESS expression .) @@ -17858,9 +17868,9 @@ state 184 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -17870,10 +17880,10 @@ state 184 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -17912,28 +17922,28 @@ state 184 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -17958,13 +17968,13 @@ state 184 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } & reduce using rule 42 (expression -> expression NOT_EQEQ expression .) NOT_EQEQ reduce using rule 42 (expression -> expression NOT_EQEQ expression .) EQEQ reduce using rule 42 (expression -> expression NOT_EQEQ expression .) @@ -18074,9 +18084,9 @@ state 185 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -18086,10 +18096,10 @@ state 185 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -18128,28 +18138,28 @@ state 185 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -18174,13 +18184,13 @@ state 185 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } & reduce using rule 43 (expression -> expression EQEQ expression .) NOT_EQEQ reduce using rule 43 (expression -> expression EQEQ expression .) EQEQ reduce using rule 43 (expression -> expression EQEQ expression .) @@ -18290,9 +18300,9 @@ state 186 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -18302,10 +18312,10 @@ state 186 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -18344,28 +18354,28 @@ state 186 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -18390,13 +18400,13 @@ state 186 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } > reduce using rule 44 (expression -> expression % expression .) < reduce using rule 44 (expression -> expression % expression .) & reduce using rule 44 (expression -> expression % expression .) @@ -18506,9 +18516,9 @@ state 187 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -18518,10 +18528,10 @@ state 187 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -18560,28 +18570,28 @@ state 187 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -18606,13 +18616,13 @@ state 187 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } > reduce using rule 45 (expression -> expression * expression .) < reduce using rule 45 (expression -> expression * expression .) & reduce using rule 45 (expression -> expression * expression .) @@ -18710,7 +18720,7 @@ state 188 (50) expression -> * ID . (52) expression -> ID . OF ID - (166) id -> ID . + (167) id -> ID . (74) function_call -> ID . TARROW ID ( function_arguments ) (75) function_call -> ID . \ ID (76) function_call -> ID . / ID @@ -18880,9 +18890,9 @@ state 189 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -18892,10 +18902,10 @@ state 189 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -18934,28 +18944,28 @@ state 189 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -18980,13 +18990,13 @@ state 189 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } > reduce using rule 46 (expression -> expression / expression .) < reduce using rule 46 (expression -> expression / expression .) & reduce using rule 46 (expression -> expression / expression .) @@ -19097,9 +19107,9 @@ state 190 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -19109,10 +19119,10 @@ state 190 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -19151,28 +19161,28 @@ state 190 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -19197,13 +19207,13 @@ state 190 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! reduce/reduce conflict for | resolved using rule 47 (expression -> expression - expression .) ! reduce/reduce conflict for ; resolved using rule 47 (expression -> expression - expression .) ! reduce/reduce conflict for > resolved using rule 47 (expression -> expression - expression .) @@ -19384,9 +19394,9 @@ state 191 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -19396,10 +19406,10 @@ state 191 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -19438,28 +19448,28 @@ state 191 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -19484,13 +19494,13 @@ state 191 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! reduce/reduce conflict for | resolved using rule 48 (expression -> expression + expression .) ! reduce/reduce conflict for ; resolved using rule 48 (expression -> expression + expression .) ! reduce/reduce conflict for > resolved using rule 48 (expression -> expression + expression .) @@ -19670,9 +19680,9 @@ state 192 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -19682,10 +19692,10 @@ state 192 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -19724,28 +19734,28 @@ state 192 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -19770,13 +19780,13 @@ state 192 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! shift/reduce conflict for > resolved as shift ! shift/reduce conflict for < resolved as shift ! shift/reduce conflict for & resolved as shift @@ -19911,82 +19921,82 @@ state 192 state 193 - (165) class_attribute -> expression COLON_COLON ID . - > reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - < reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - & reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - EQ_GREATER reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - EQ_LESS reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - NOT_EQEQ reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - EQEQ reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - % reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - * reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - / reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - - reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - + reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - . reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - COLON_COLON reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - ^ reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - [ reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - ( reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - $ reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - ID reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - ! reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - { reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - FORMATTED_STRING reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - MULTILINE_STRING reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - STRING reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - CHAR reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - FALSE reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - TRUE reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - FLOAT reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - INT reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - NULL reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - PYTHON_CODE_EXEC reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - PYTHON_CODE reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - # reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - NEW reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - ? reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - HTMLSTART reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - FOREACH reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - FOR reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - IF reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - PHPSTART reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - LIMPORT reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - IMPORT reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - RETURN reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - DEL reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - DEBUG reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - SKIP reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - BREAK reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - LET reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - WHILE reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - NAMESPACE reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - CLASS reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - FUNC reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - INIT reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - $end reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - ; reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - | reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - , reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - PHPEND reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - } reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - ) reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - SARROW reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - ] reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - HTMLEND reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - EQ_DIV reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - EQ_MOD reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - EQ_MUL reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - EQ_SUB reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - EQ_ADD reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - = reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) - AS reduce using rule 165 (class_attribute -> expression COLON_COLON ID .) + (166) class_attribute -> expression COLON_COLON ID . + > reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + < reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + & reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + EQ_GREATER reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + EQ_LESS reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + NOT_EQEQ reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + EQEQ reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + % reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + * reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + / reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + - reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + + reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + . reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + COLON_COLON reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + ^ reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + [ reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + ( reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + $ reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + ID reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + ! reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + { reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + FORMATTED_STRING reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + MULTILINE_STRING reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + STRING reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + CHAR reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + FALSE reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + TRUE reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + FLOAT reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + INT reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + NULL reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + PYTHON_CODE_EXEC reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + PYTHON_CODE reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + # reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + NEW reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + ? reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + HTMLSTART reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + FOREACH reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + FOR reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + IF reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + PHPSTART reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + LIMPORT reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + IMPORT reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + RETURN reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + DEL reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + DEBUG reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + SKIP reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + BREAK reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + LET reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + WHILE reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + NAMESPACE reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + CLASS reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + FUNC reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + INIT reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + $end reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + ; reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + | reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + , reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + PHPEND reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + } reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + ) reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + SARROW reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + ] reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + HTMLEND reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + EQ_DIV reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + EQ_MOD reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + EQ_MUL reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + EQ_SUB reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + EQ_ADD reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + = reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) + AS reduce using rule 166 (class_attribute -> expression COLON_COLON ID .) state 194 - (114) kwargs -> ID = . expression + (115) kwargs -> ID = . expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -20025,28 +20035,28 @@ state 194 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -20071,13 +20081,13 @@ state 194 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -20086,7 +20096,7 @@ state 194 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -20108,7 +20118,7 @@ state 194 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 268 + expression shift and go to state 269 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -20129,7 +20139,7 @@ state 194 state 195 - (149) get_index -> expression ^ expression . + (150) get_index -> expression ^ expression . (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -20143,9 +20153,9 @@ state 195 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -20155,10 +20165,10 @@ state 195 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -20197,28 +20207,28 @@ state 195 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -20243,13 +20253,13 @@ state 195 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! shift/reduce conflict for > resolved as shift ! shift/reduce conflict for < resolved as shift ! shift/reduce conflict for & resolved as shift @@ -20289,37 +20299,37 @@ state 195 ! shift/reduce conflict for FOREACH resolved as shift ! shift/reduce conflict for FOR resolved as shift ! shift/reduce conflict for IF resolved as shift - EQ_DIV reduce using rule 149 (get_index -> expression ^ expression .) - EQ_MOD reduce using rule 149 (get_index -> expression ^ expression .) - EQ_MUL reduce using rule 149 (get_index -> expression ^ expression .) - EQ_SUB reduce using rule 149 (get_index -> expression ^ expression .) - EQ_ADD reduce using rule 149 (get_index -> expression ^ expression .) - PHPSTART reduce using rule 149 (get_index -> expression ^ expression .) - LIMPORT reduce using rule 149 (get_index -> expression ^ expression .) - IMPORT reduce using rule 149 (get_index -> expression ^ expression .) - RETURN reduce using rule 149 (get_index -> expression ^ expression .) - DEL reduce using rule 149 (get_index -> expression ^ expression .) - DEBUG reduce using rule 149 (get_index -> expression ^ expression .) - SKIP reduce using rule 149 (get_index -> expression ^ expression .) - BREAK reduce using rule 149 (get_index -> expression ^ expression .) - LET reduce using rule 149 (get_index -> expression ^ expression .) - WHILE reduce using rule 149 (get_index -> expression ^ expression .) - NAMESPACE reduce using rule 149 (get_index -> expression ^ expression .) - CLASS reduce using rule 149 (get_index -> expression ^ expression .) - FUNC reduce using rule 149 (get_index -> expression ^ expression .) - INIT reduce using rule 149 (get_index -> expression ^ expression .) - $end reduce using rule 149 (get_index -> expression ^ expression .) - ; reduce using rule 149 (get_index -> expression ^ expression .) - | reduce using rule 149 (get_index -> expression ^ expression .) - , reduce using rule 149 (get_index -> expression ^ expression .) - PHPEND reduce using rule 149 (get_index -> expression ^ expression .) - } reduce using rule 149 (get_index -> expression ^ expression .) - ) reduce using rule 149 (get_index -> expression ^ expression .) - SARROW reduce using rule 149 (get_index -> expression ^ expression .) - ] reduce using rule 149 (get_index -> expression ^ expression .) - HTMLEND reduce using rule 149 (get_index -> expression ^ expression .) - = reduce using rule 149 (get_index -> expression ^ expression .) - AS reduce using rule 149 (get_index -> expression ^ expression .) + EQ_DIV reduce using rule 150 (get_index -> expression ^ expression .) + EQ_MOD reduce using rule 150 (get_index -> expression ^ expression .) + EQ_MUL reduce using rule 150 (get_index -> expression ^ expression .) + EQ_SUB reduce using rule 150 (get_index -> expression ^ expression .) + EQ_ADD reduce using rule 150 (get_index -> expression ^ expression .) + PHPSTART reduce using rule 150 (get_index -> expression ^ expression .) + LIMPORT reduce using rule 150 (get_index -> expression ^ expression .) + IMPORT reduce using rule 150 (get_index -> expression ^ expression .) + RETURN reduce using rule 150 (get_index -> expression ^ expression .) + DEL reduce using rule 150 (get_index -> expression ^ expression .) + DEBUG reduce using rule 150 (get_index -> expression ^ expression .) + SKIP reduce using rule 150 (get_index -> expression ^ expression .) + BREAK reduce using rule 150 (get_index -> expression ^ expression .) + LET reduce using rule 150 (get_index -> expression ^ expression .) + WHILE reduce using rule 150 (get_index -> expression ^ expression .) + NAMESPACE reduce using rule 150 (get_index -> expression ^ expression .) + CLASS reduce using rule 150 (get_index -> expression ^ expression .) + FUNC reduce using rule 150 (get_index -> expression ^ expression .) + INIT reduce using rule 150 (get_index -> expression ^ expression .) + $end reduce using rule 150 (get_index -> expression ^ expression .) + ; reduce using rule 150 (get_index -> expression ^ expression .) + | reduce using rule 150 (get_index -> expression ^ expression .) + , reduce using rule 150 (get_index -> expression ^ expression .) + PHPEND reduce using rule 150 (get_index -> expression ^ expression .) + } reduce using rule 150 (get_index -> expression ^ expression .) + ) reduce using rule 150 (get_index -> expression ^ expression .) + SARROW reduce using rule 150 (get_index -> expression ^ expression .) + ] reduce using rule 150 (get_index -> expression ^ expression .) + HTMLEND reduce using rule 150 (get_index -> expression ^ expression .) + = reduce using rule 150 (get_index -> expression ^ expression .) + AS reduce using rule 150 (get_index -> expression ^ expression .) > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -20384,7 +20394,7 @@ state 195 state 196 - (150) get_index -> expression [ expression . ] + (151) get_index -> expression [ expression . ] (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -20398,11 +20408,11 @@ state 196 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (147) assoc_array_items -> expression . SARROW expression - (112) positional_args -> expression . - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (148) assoc_array_items -> expression . SARROW expression + (113) positional_args -> expression . + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -20412,10 +20422,10 @@ state 196 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -20454,28 +20464,28 @@ state 196 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -20500,15 +20510,15 @@ state 196 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! shift/reduce conflict for ] resolved as shift - ] shift and go to state 269 + ] shift and go to state 270 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -20522,8 +20532,8 @@ state 196 - shift and go to state 100 + shift and go to state 101 . shift and go to state 102 - SARROW shift and go to state 260 - , reduce using rule 112 (positional_args -> expression .) + SARROW shift and go to state 258 + , reduce using rule 113 (positional_args -> expression .) COLON_COLON shift and go to state 103 ^ shift and go to state 105 [ shift and go to state 106 @@ -20589,10 +20599,10 @@ state 197 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (112) positional_args -> expression . - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (113) positional_args -> expression . + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -20602,10 +20612,10 @@ state 197 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -20644,28 +20654,28 @@ state 197 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -20690,13 +20700,13 @@ state 197 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! shift/reduce conflict for ) resolved as shift ) shift and go to state 209 > shift and go to state 90 @@ -20712,7 +20722,7 @@ state 197 - shift and go to state 100 + shift and go to state 101 . shift and go to state 102 - , reduce using rule 112 (positional_args -> expression .) + , reduce using rule 113 (positional_args -> expression .) COLON_COLON shift and go to state 103 ^ shift and go to state 105 [ shift and go to state 106 @@ -20766,21 +20776,21 @@ state 198 (73) function_call -> expression ( empty . ) FARROW { program } (80) function_call -> expression ( empty . ) - ) shift and go to state 270 + ) shift and go to state 271 state 199 (87) function_call -> expression ( function_arguments . ) FARROW { program } (89) function_call -> expression ( function_arguments . ) - ) shift and go to state 271 + ) shift and go to state 272 state 200 (52) expression -> ID . OF ID - (114) kwargs -> ID . = expression - (166) id -> ID . + (115) kwargs -> ID . = expression + (167) id -> ID . (74) function_call -> ID . TARROW ID ( function_arguments ) (75) function_call -> ID . \ ID (76) function_call -> ID . / ID @@ -20791,45 +20801,45 @@ state 200 ! shift/reduce conflict for COLON_COLON resolved as shift OF shift and go to state 126 = shift and go to state 194 - ) reduce using rule 166 (id -> ID .) - > reduce using rule 166 (id -> ID .) - < reduce using rule 166 (id -> ID .) - & reduce using rule 166 (id -> ID .) - EQ_GREATER reduce using rule 166 (id -> ID .) - EQ_LESS reduce using rule 166 (id -> ID .) - NOT_EQEQ reduce using rule 166 (id -> ID .) - EQEQ reduce using rule 166 (id -> ID .) - % reduce using rule 166 (id -> ID .) - * reduce using rule 166 (id -> ID .) - - reduce using rule 166 (id -> ID .) - + reduce using rule 166 (id -> ID .) - . reduce using rule 166 (id -> ID .) - ^ reduce using rule 166 (id -> ID .) - [ reduce using rule 166 (id -> ID .) - ( reduce using rule 166 (id -> ID .) - $ reduce using rule 166 (id -> ID .) - ID reduce using rule 166 (id -> ID .) - ! reduce using rule 166 (id -> ID .) - { reduce using rule 166 (id -> ID .) - FORMATTED_STRING reduce using rule 166 (id -> ID .) - MULTILINE_STRING reduce using rule 166 (id -> ID .) - STRING reduce using rule 166 (id -> ID .) - CHAR reduce using rule 166 (id -> ID .) - FALSE reduce using rule 166 (id -> ID .) - TRUE reduce using rule 166 (id -> ID .) - FLOAT reduce using rule 166 (id -> ID .) - INT reduce using rule 166 (id -> ID .) - NULL reduce using rule 166 (id -> ID .) - PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .) - PYTHON_CODE reduce using rule 166 (id -> ID .) - # reduce using rule 166 (id -> ID .) - NEW reduce using rule 166 (id -> ID .) - ? reduce using rule 166 (id -> ID .) - HTMLSTART reduce using rule 166 (id -> ID .) - FOREACH reduce using rule 166 (id -> ID .) - FOR reduce using rule 166 (id -> ID .) - IF reduce using rule 166 (id -> ID .) - , reduce using rule 166 (id -> ID .) + ) reduce using rule 167 (id -> ID .) + > reduce using rule 167 (id -> ID .) + < reduce using rule 167 (id -> ID .) + & reduce using rule 167 (id -> ID .) + EQ_GREATER reduce using rule 167 (id -> ID .) + EQ_LESS reduce using rule 167 (id -> ID .) + NOT_EQEQ reduce using rule 167 (id -> ID .) + EQEQ reduce using rule 167 (id -> ID .) + % reduce using rule 167 (id -> ID .) + * reduce using rule 167 (id -> ID .) + - reduce using rule 167 (id -> ID .) + + reduce using rule 167 (id -> ID .) + . reduce using rule 167 (id -> ID .) + ^ reduce using rule 167 (id -> ID .) + [ reduce using rule 167 (id -> ID .) + ( reduce using rule 167 (id -> ID .) + $ reduce using rule 167 (id -> ID .) + ID reduce using rule 167 (id -> ID .) + ! reduce using rule 167 (id -> ID .) + { reduce using rule 167 (id -> ID .) + FORMATTED_STRING reduce using rule 167 (id -> ID .) + MULTILINE_STRING reduce using rule 167 (id -> ID .) + STRING reduce using rule 167 (id -> ID .) + CHAR reduce using rule 167 (id -> ID .) + FALSE reduce using rule 167 (id -> ID .) + TRUE reduce using rule 167 (id -> ID .) + FLOAT reduce using rule 167 (id -> ID .) + INT reduce using rule 167 (id -> ID .) + NULL reduce using rule 167 (id -> ID .) + PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .) + PYTHON_CODE reduce using rule 167 (id -> ID .) + # reduce using rule 167 (id -> ID .) + NEW reduce using rule 167 (id -> ID .) + ? reduce using rule 167 (id -> ID .) + HTMLSTART reduce using rule 167 (id -> ID .) + FOREACH reduce using rule 167 (id -> ID .) + FOR reduce using rule 167 (id -> ID .) + IF reduce using rule 167 (id -> ID .) + , reduce using rule 167 (id -> ID .) TARROW shift and go to state 133 \ shift and go to state 134 / shift and go to state 135 @@ -20842,7 +20852,7 @@ state 201 (85) function_call -> $ ID . TARROW ID ( empty ) (86) function_call -> $ ID . TARROW ID ( function_arguments ) (52) expression -> ID . OF ID - (166) id -> ID . + (167) id -> ID . (74) function_call -> ID . TARROW ID ( function_arguments ) (75) function_call -> ID . \ ID (76) function_call -> ID . / ID @@ -20852,76 +20862,76 @@ state 201 ! shift/reduce conflict for = resolved as shift ! shift/reduce conflict for / resolved as shift ! shift/reduce conflict for COLON_COLON resolved as shift - = shift and go to state 272 - TARROW shift and go to state 267 + = shift and go to state 273 + TARROW shift and go to state 268 OF shift and go to state 126 - > reduce using rule 166 (id -> ID .) - < reduce using rule 166 (id -> ID .) - & reduce using rule 166 (id -> ID .) - EQ_GREATER reduce using rule 166 (id -> ID .) - EQ_LESS reduce using rule 166 (id -> ID .) - NOT_EQEQ reduce using rule 166 (id -> ID .) - EQEQ reduce using rule 166 (id -> ID .) - % reduce using rule 166 (id -> ID .) - * reduce using rule 166 (id -> ID .) - - reduce using rule 166 (id -> ID .) - + reduce using rule 166 (id -> ID .) - . reduce using rule 166 (id -> ID .) - ^ reduce using rule 166 (id -> ID .) - [ reduce using rule 166 (id -> ID .) - ( reduce using rule 166 (id -> ID .) - $ reduce using rule 166 (id -> ID .) - ID reduce using rule 166 (id -> ID .) - ! reduce using rule 166 (id -> ID .) - { reduce using rule 166 (id -> ID .) - FORMATTED_STRING reduce using rule 166 (id -> ID .) - MULTILINE_STRING reduce using rule 166 (id -> ID .) - STRING reduce using rule 166 (id -> ID .) - CHAR reduce using rule 166 (id -> ID .) - FALSE reduce using rule 166 (id -> ID .) - TRUE reduce using rule 166 (id -> ID .) - FLOAT reduce using rule 166 (id -> ID .) - INT reduce using rule 166 (id -> ID .) - NULL reduce using rule 166 (id -> ID .) - PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .) - PYTHON_CODE reduce using rule 166 (id -> ID .) - # reduce using rule 166 (id -> ID .) - NEW reduce using rule 166 (id -> ID .) - ? reduce using rule 166 (id -> ID .) - HTMLSTART reduce using rule 166 (id -> ID .) - FOREACH reduce using rule 166 (id -> ID .) - FOR reduce using rule 166 (id -> ID .) - IF reduce using rule 166 (id -> ID .) - PHPSTART reduce using rule 166 (id -> ID .) - LIMPORT reduce using rule 166 (id -> ID .) - IMPORT reduce using rule 166 (id -> ID .) - RETURN reduce using rule 166 (id -> ID .) - DEL reduce using rule 166 (id -> ID .) - DEBUG reduce using rule 166 (id -> ID .) - SKIP reduce using rule 166 (id -> ID .) - BREAK reduce using rule 166 (id -> ID .) - LET reduce using rule 166 (id -> ID .) - WHILE reduce using rule 166 (id -> ID .) - NAMESPACE reduce using rule 166 (id -> ID .) - CLASS reduce using rule 166 (id -> ID .) - FUNC reduce using rule 166 (id -> ID .) - INIT reduce using rule 166 (id -> ID .) - $end reduce using rule 166 (id -> ID .) - ; reduce using rule 166 (id -> ID .) - | reduce using rule 166 (id -> ID .) - , reduce using rule 166 (id -> ID .) - PHPEND reduce using rule 166 (id -> ID .) - } reduce using rule 166 (id -> ID .) - ) reduce using rule 166 (id -> ID .) - SARROW reduce using rule 166 (id -> ID .) - ] reduce using rule 166 (id -> ID .) - HTMLEND reduce using rule 166 (id -> ID .) - EQ_DIV reduce using rule 166 (id -> ID .) - EQ_MOD reduce using rule 166 (id -> ID .) - EQ_MUL reduce using rule 166 (id -> ID .) - EQ_SUB reduce using rule 166 (id -> ID .) - EQ_ADD reduce using rule 166 (id -> ID .) - AS reduce using rule 166 (id -> ID .) + > reduce using rule 167 (id -> ID .) + < reduce using rule 167 (id -> ID .) + & reduce using rule 167 (id -> ID .) + EQ_GREATER reduce using rule 167 (id -> ID .) + EQ_LESS reduce using rule 167 (id -> ID .) + NOT_EQEQ reduce using rule 167 (id -> ID .) + EQEQ reduce using rule 167 (id -> ID .) + % reduce using rule 167 (id -> ID .) + * reduce using rule 167 (id -> ID .) + - reduce using rule 167 (id -> ID .) + + reduce using rule 167 (id -> ID .) + . reduce using rule 167 (id -> ID .) + ^ reduce using rule 167 (id -> ID .) + [ reduce using rule 167 (id -> ID .) + ( reduce using rule 167 (id -> ID .) + $ reduce using rule 167 (id -> ID .) + ID reduce using rule 167 (id -> ID .) + ! reduce using rule 167 (id -> ID .) + { reduce using rule 167 (id -> ID .) + FORMATTED_STRING reduce using rule 167 (id -> ID .) + MULTILINE_STRING reduce using rule 167 (id -> ID .) + STRING reduce using rule 167 (id -> ID .) + CHAR reduce using rule 167 (id -> ID .) + FALSE reduce using rule 167 (id -> ID .) + TRUE reduce using rule 167 (id -> ID .) + FLOAT reduce using rule 167 (id -> ID .) + INT reduce using rule 167 (id -> ID .) + NULL reduce using rule 167 (id -> ID .) + PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .) + PYTHON_CODE reduce using rule 167 (id -> ID .) + # reduce using rule 167 (id -> ID .) + NEW reduce using rule 167 (id -> ID .) + ? reduce using rule 167 (id -> ID .) + HTMLSTART reduce using rule 167 (id -> ID .) + FOREACH reduce using rule 167 (id -> ID .) + FOR reduce using rule 167 (id -> ID .) + IF reduce using rule 167 (id -> ID .) + PHPSTART reduce using rule 167 (id -> ID .) + LIMPORT reduce using rule 167 (id -> ID .) + IMPORT reduce using rule 167 (id -> ID .) + RETURN reduce using rule 167 (id -> ID .) + DEL reduce using rule 167 (id -> ID .) + DEBUG reduce using rule 167 (id -> ID .) + SKIP reduce using rule 167 (id -> ID .) + BREAK reduce using rule 167 (id -> ID .) + LET reduce using rule 167 (id -> ID .) + WHILE reduce using rule 167 (id -> ID .) + NAMESPACE reduce using rule 167 (id -> ID .) + CLASS reduce using rule 167 (id -> ID .) + FUNC reduce using rule 167 (id -> ID .) + INIT reduce using rule 167 (id -> ID .) + $end reduce using rule 167 (id -> ID .) + ; reduce using rule 167 (id -> ID .) + | reduce using rule 167 (id -> ID .) + , reduce using rule 167 (id -> ID .) + PHPEND reduce using rule 167 (id -> ID .) + } reduce using rule 167 (id -> ID .) + ) reduce using rule 167 (id -> ID .) + SARROW reduce using rule 167 (id -> ID .) + ] reduce using rule 167 (id -> ID .) + HTMLEND reduce using rule 167 (id -> ID .) + EQ_DIV reduce using rule 167 (id -> ID .) + EQ_MOD reduce using rule 167 (id -> ID .) + EQ_MUL reduce using rule 167 (id -> ID .) + EQ_SUB reduce using rule 167 (id -> ID .) + EQ_ADD reduce using rule 167 (id -> ID .) + AS reduce using rule 167 (id -> ID .) \ shift and go to state 134 / shift and go to state 135 COLON_COLON shift and go to state 136 @@ -20929,18 +20939,18 @@ state 201 state 202 - (115) kwargs -> kwargs , . id = expression - (166) id -> . ID - ID shift and go to state 274 + (116) kwargs -> kwargs , . id = expression + (167) id -> . ID + ID shift and go to state 275 - id shift and go to state 273 + id shift and go to state 274 state 203 (103) function_arguments -> positional_args , . kwargs - (113) positional_args -> positional_args , . expression - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression + (114) positional_args -> positional_args , . expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -20979,28 +20989,28 @@ state 203 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -21025,13 +21035,13 @@ state 203 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ID shift and go to state 104 ( shift and go to state 32 ! shift and go to state 33 @@ -21040,7 +21050,7 @@ state 203 * shift and go to state 38 & shift and go to state 36 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -21062,8 +21072,8 @@ state 203 FOR shift and go to state 50 IF shift and go to state 76 - kwargs shift and go to state 275 - expression shift and go to state 276 + kwargs shift and go to state 276 + expression shift and go to state 277 id shift and go to state 24 assoc_array shift and go to state 20 _list shift and go to state 21 @@ -21084,7 +21094,7 @@ state 203 state 204 - (120) variable_operation -> get_index EQ_DIV expression . ; + (121) variable_operation -> get_index EQ_DIV expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -21098,9 +21108,9 @@ state 204 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -21110,10 +21120,10 @@ state 204 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -21152,28 +21162,28 @@ state 204 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -21198,14 +21208,14 @@ state 204 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 277 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 278 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -21270,7 +21280,7 @@ state 204 state 205 - (122) variable_operation -> get_index EQ_MOD expression . ; + (123) variable_operation -> get_index EQ_MOD expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -21284,9 +21294,9 @@ state 205 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -21296,10 +21306,10 @@ state 205 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -21338,28 +21348,28 @@ state 205 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -21384,14 +21394,14 @@ state 205 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 278 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 279 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -21456,7 +21466,7 @@ state 205 state 206 - (124) variable_operation -> get_index EQ_MUL expression . ; + (125) variable_operation -> get_index EQ_MUL expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -21470,9 +21480,9 @@ state 206 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -21482,10 +21492,10 @@ state 206 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -21524,28 +21534,28 @@ state 206 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -21570,14 +21580,14 @@ state 206 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 279 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 280 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -21642,7 +21652,7 @@ state 206 state 207 - (126) variable_operation -> get_index EQ_SUB expression . ; + (127) variable_operation -> get_index EQ_SUB expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -21656,9 +21666,9 @@ state 207 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -21668,10 +21678,10 @@ state 207 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -21710,28 +21720,28 @@ state 207 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -21756,14 +21766,14 @@ state 207 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 280 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 281 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -21828,7 +21838,7 @@ state 207 state 208 - (128) variable_operation -> get_index EQ_ADD expression . ; + (129) variable_operation -> get_index EQ_ADD expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -21842,9 +21852,9 @@ state 208 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -21854,10 +21864,10 @@ state 208 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -21896,28 +21906,28 @@ state 208 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -21942,14 +21952,14 @@ state 208 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 281 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 282 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -22212,7 +22222,7 @@ state 211 (83) function_call -> ID . COLON_COLON ID ( empty ) (84) function_call -> ID . COLON_COLON ID ( function_arguments ) (52) expression -> ID . OF ID - (166) id -> ID . + (167) id -> ID . ! shift/reduce conflict for / resolved as shift ! shift/reduce conflict for COLON_COLON resolved as shift TARROW shift and go to state 133 @@ -22220,43 +22230,43 @@ state 211 / shift and go to state 135 COLON_COLON shift and go to state 136 OF shift and go to state 126 - ( reduce using rule 166 (id -> ID .) - $ reduce using rule 166 (id -> ID .) - > reduce using rule 166 (id -> ID .) - < reduce using rule 166 (id -> ID .) - & reduce using rule 166 (id -> ID .) - EQ_GREATER reduce using rule 166 (id -> ID .) - EQ_LESS reduce using rule 166 (id -> ID .) - NOT_EQEQ reduce using rule 166 (id -> ID .) - EQEQ reduce using rule 166 (id -> ID .) - % reduce using rule 166 (id -> ID .) - * reduce using rule 166 (id -> ID .) - - reduce using rule 166 (id -> ID .) - + reduce using rule 166 (id -> ID .) - . reduce using rule 166 (id -> ID .) - ^ reduce using rule 166 (id -> ID .) - [ reduce using rule 166 (id -> ID .) - ID reduce using rule 166 (id -> ID .) - ! reduce using rule 166 (id -> ID .) - { reduce using rule 166 (id -> ID .) - FORMATTED_STRING reduce using rule 166 (id -> ID .) - MULTILINE_STRING reduce using rule 166 (id -> ID .) - STRING reduce using rule 166 (id -> ID .) - CHAR reduce using rule 166 (id -> ID .) - FALSE reduce using rule 166 (id -> ID .) - TRUE reduce using rule 166 (id -> ID .) - FLOAT reduce using rule 166 (id -> ID .) - INT reduce using rule 166 (id -> ID .) - NULL reduce using rule 166 (id -> ID .) - PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .) - PYTHON_CODE reduce using rule 166 (id -> ID .) - # reduce using rule 166 (id -> ID .) - NEW reduce using rule 166 (id -> ID .) - ? reduce using rule 166 (id -> ID .) - HTMLSTART reduce using rule 166 (id -> ID .) - FOREACH reduce using rule 166 (id -> ID .) - FOR reduce using rule 166 (id -> ID .) - IF reduce using rule 166 (id -> ID .) + ( reduce using rule 167 (id -> ID .) + $ reduce using rule 167 (id -> ID .) + > reduce using rule 167 (id -> ID .) + < reduce using rule 167 (id -> ID .) + & reduce using rule 167 (id -> ID .) + EQ_GREATER reduce using rule 167 (id -> ID .) + EQ_LESS reduce using rule 167 (id -> ID .) + NOT_EQEQ reduce using rule 167 (id -> ID .) + EQEQ reduce using rule 167 (id -> ID .) + % reduce using rule 167 (id -> ID .) + * reduce using rule 167 (id -> ID .) + - reduce using rule 167 (id -> ID .) + + reduce using rule 167 (id -> ID .) + . reduce using rule 167 (id -> ID .) + ^ reduce using rule 167 (id -> ID .) + [ reduce using rule 167 (id -> ID .) + ID reduce using rule 167 (id -> ID .) + ! reduce using rule 167 (id -> ID .) + { reduce using rule 167 (id -> ID .) + FORMATTED_STRING reduce using rule 167 (id -> ID .) + MULTILINE_STRING reduce using rule 167 (id -> ID .) + STRING reduce using rule 167 (id -> ID .) + CHAR reduce using rule 167 (id -> ID .) + FALSE reduce using rule 167 (id -> ID .) + TRUE reduce using rule 167 (id -> ID .) + FLOAT reduce using rule 167 (id -> ID .) + INT reduce using rule 167 (id -> ID .) + NULL reduce using rule 167 (id -> ID .) + PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .) + PYTHON_CODE reduce using rule 167 (id -> ID .) + # reduce using rule 167 (id -> ID .) + NEW reduce using rule 167 (id -> ID .) + ? reduce using rule 167 (id -> ID .) + HTMLSTART reduce using rule 167 (id -> ID .) + FOREACH reduce using rule 167 (id -> ID .) + FOR reduce using rule 167 (id -> ID .) + IF reduce using rule 167 (id -> ID .) state 212 @@ -22280,16 +22290,16 @@ state 212 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -22328,28 +22338,28 @@ state 212 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -22374,13 +22384,13 @@ state 212 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 107 $ shift and go to state 109 > shift and go to state 90 @@ -22486,28 +22496,28 @@ state 213 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -22532,13 +22542,13 @@ state 213 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ID shift and go to state 177 ( shift and go to state 32 ! shift and go to state 33 @@ -22547,7 +22557,7 @@ state 213 * shift and go to state 38 & shift and go to state 36 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -22665,7 +22675,7 @@ state 214 state 215 - (121) variable_operation -> ID EQ_DIV expression . ; + (122) variable_operation -> ID EQ_DIV expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -22679,9 +22689,9 @@ state 215 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -22691,10 +22701,10 @@ state 215 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -22733,28 +22743,28 @@ state 215 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -22779,14 +22789,14 @@ state 215 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 282 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 283 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -22851,7 +22861,7 @@ state 215 state 216 - (123) variable_operation -> ID EQ_MOD expression . ; + (124) variable_operation -> ID EQ_MOD expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -22865,9 +22875,9 @@ state 216 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -22877,10 +22887,10 @@ state 216 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -22919,28 +22929,28 @@ state 216 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -22965,14 +22975,14 @@ state 216 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 283 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 284 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -23037,7 +23047,7 @@ state 216 state 217 - (125) variable_operation -> ID EQ_MUL expression . ; + (126) variable_operation -> ID EQ_MUL expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -23051,9 +23061,9 @@ state 217 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -23063,10 +23073,10 @@ state 217 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -23105,28 +23115,28 @@ state 217 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -23151,14 +23161,14 @@ state 217 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 284 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 285 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -23223,7 +23233,7 @@ state 217 state 218 - (127) variable_operation -> ID EQ_SUB expression . ; + (128) variable_operation -> ID EQ_SUB expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -23237,9 +23247,9 @@ state 218 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -23249,10 +23259,10 @@ state 218 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -23291,28 +23301,28 @@ state 218 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -23337,14 +23347,14 @@ state 218 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 285 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 286 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -23409,7 +23419,7 @@ state 218 state 219 - (129) variable_operation -> ID EQ_ADD expression . ; + (130) variable_operation -> ID EQ_ADD expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -23423,9 +23433,9 @@ state 219 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -23435,10 +23445,10 @@ state 219 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -23477,28 +23487,28 @@ state 219 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -23523,14 +23533,14 @@ state 219 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 286 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 287 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -23599,7 +23609,7 @@ state 220 (95) function_declaration -> ID FUNC ID . ( function_arguments ) { program } (96) function_declaration -> ID FUNC ID . ( empty ) : expression { program } (97) function_declaration -> ID FUNC ID . ( function_arguments ) : expression { program } - ( shift and go to state 287 + ( shift and go to state 288 state 221 @@ -23607,7 +23617,7 @@ state 221 (74) function_call -> ID TARROW ID . ( function_arguments ) (77) function_call -> ID TARROW ID . ! shift/reduce conflict for ( resolved as shift - ( shift and go to state 288 + ( shift and go to state 289 | reduce using rule 77 (function_call -> ID TARROW ID .) ; reduce using rule 77 (function_call -> ID TARROW ID .) > reduce using rule 77 (function_call -> ID TARROW ID .) @@ -23833,12 +23843,12 @@ state 224 (83) function_call -> ID COLON_COLON ID . ( empty ) (84) function_call -> ID COLON_COLON ID . ( function_arguments ) - ( shift and go to state 289 + ( shift and go to state 290 state 225 - (116) variable_assignment -> $ get_index = . expression ; + (117) variable_assignment -> $ get_index = . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -23877,28 +23887,28 @@ state 225 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -23923,13 +23933,13 @@ state 225 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -23938,7 +23948,7 @@ state 225 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -23961,7 +23971,7 @@ state 225 IF shift and go to state 76 get_index shift and go to state 81 - expression shift and go to state 290 + expression shift and go to state 291 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -23981,17 +23991,17 @@ state 225 state 226 - (118) variable_assignment -> $ ID TARROW . ID = expression ; + (119) variable_assignment -> $ ID TARROW . ID = expression ; (85) function_call -> $ ID TARROW . ID ( empty ) (86) function_call -> $ ID TARROW . ID ( function_arguments ) (74) function_call -> ID TARROW . ID ( function_arguments ) (77) function_call -> ID TARROW . ID - ID shift and go to state 291 + ID shift and go to state 292 state 227 - (119) variable_assignment -> $ ID = . expression ; + (120) variable_assignment -> $ ID = . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -24030,28 +24040,28 @@ state 227 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -24076,13 +24086,13 @@ state 227 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -24091,7 +24101,7 @@ state 227 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -24113,7 +24123,7 @@ state 227 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 292 + expression shift and go to state 293 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -24134,110 +24144,110 @@ state 227 state 228 - (140) import_statement -> . SELFISH ; . - ? reduce using rule 140 (import_statement -> . SELFISH ; .) - ( reduce using rule 140 (import_statement -> . SELFISH ; .) - ! reduce using rule 140 (import_statement -> . SELFISH ; .) - + reduce using rule 140 (import_statement -> . SELFISH ; .) - - reduce using rule 140 (import_statement -> . SELFISH ; .) - * reduce using rule 140 (import_statement -> . SELFISH ; .) - & reduce using rule 140 (import_statement -> . SELFISH ; .) - ID reduce using rule 140 (import_statement -> . SELFISH ; .) - $ reduce using rule 140 (import_statement -> . SELFISH ; .) - PHPSTART reduce using rule 140 (import_statement -> . SELFISH ; .) - LIMPORT reduce using rule 140 (import_statement -> . SELFISH ; .) - . reduce using rule 140 (import_statement -> . SELFISH ; .) - IMPORT reduce using rule 140 (import_statement -> . SELFISH ; .) - RETURN reduce using rule 140 (import_statement -> . SELFISH ; .) - DEL reduce using rule 140 (import_statement -> . SELFISH ; .) - FOREACH reduce using rule 140 (import_statement -> . SELFISH ; .) - FOR reduce using rule 140 (import_statement -> . SELFISH ; .) - DEBUG reduce using rule 140 (import_statement -> . SELFISH ; .) - SKIP reduce using rule 140 (import_statement -> . SELFISH ; .) - BREAK reduce using rule 140 (import_statement -> . SELFISH ; .) - LET reduce using rule 140 (import_statement -> . SELFISH ; .) - WHILE reduce using rule 140 (import_statement -> . SELFISH ; .) - NAMESPACE reduce using rule 140 (import_statement -> . SELFISH ; .) - CLASS reduce using rule 140 (import_statement -> . SELFISH ; .) - FUNC reduce using rule 140 (import_statement -> . SELFISH ; .) - INIT reduce using rule 140 (import_statement -> . SELFISH ; .) - [ reduce using rule 140 (import_statement -> . SELFISH ; .) - { reduce using rule 140 (import_statement -> . SELFISH ; .) - FORMATTED_STRING reduce using rule 140 (import_statement -> . SELFISH ; .) - MULTILINE_STRING reduce using rule 140 (import_statement -> . SELFISH ; .) - STRING reduce using rule 140 (import_statement -> . SELFISH ; .) - CHAR reduce using rule 140 (import_statement -> . SELFISH ; .) - FALSE reduce using rule 140 (import_statement -> . SELFISH ; .) - TRUE reduce using rule 140 (import_statement -> . SELFISH ; .) - FLOAT reduce using rule 140 (import_statement -> . SELFISH ; .) - INT reduce using rule 140 (import_statement -> . SELFISH ; .) - NULL reduce using rule 140 (import_statement -> . SELFISH ; .) - PYTHON_CODE_EXEC reduce using rule 140 (import_statement -> . SELFISH ; .) - PYTHON_CODE reduce using rule 140 (import_statement -> . SELFISH ; .) - # reduce using rule 140 (import_statement -> . SELFISH ; .) - NEW reduce using rule 140 (import_statement -> . SELFISH ; .) - HTMLSTART reduce using rule 140 (import_statement -> . SELFISH ; .) - IF reduce using rule 140 (import_statement -> . SELFISH ; .) - $end reduce using rule 140 (import_statement -> . SELFISH ; .) - PHPEND reduce using rule 140 (import_statement -> . SELFISH ; .) - } reduce using rule 140 (import_statement -> . SELFISH ; .) + (141) import_statement -> . SELFISH ; . + ? reduce using rule 141 (import_statement -> . SELFISH ; .) + ( reduce using rule 141 (import_statement -> . SELFISH ; .) + ! reduce using rule 141 (import_statement -> . SELFISH ; .) + + reduce using rule 141 (import_statement -> . SELFISH ; .) + - reduce using rule 141 (import_statement -> . SELFISH ; .) + * reduce using rule 141 (import_statement -> . SELFISH ; .) + & reduce using rule 141 (import_statement -> . SELFISH ; .) + ID reduce using rule 141 (import_statement -> . SELFISH ; .) + $ reduce using rule 141 (import_statement -> . SELFISH ; .) + PHPSTART reduce using rule 141 (import_statement -> . SELFISH ; .) + LIMPORT reduce using rule 141 (import_statement -> . SELFISH ; .) + . reduce using rule 141 (import_statement -> . SELFISH ; .) + IMPORT reduce using rule 141 (import_statement -> . SELFISH ; .) + RETURN reduce using rule 141 (import_statement -> . SELFISH ; .) + DEL reduce using rule 141 (import_statement -> . SELFISH ; .) + FOREACH reduce using rule 141 (import_statement -> . SELFISH ; .) + FOR reduce using rule 141 (import_statement -> . SELFISH ; .) + DEBUG reduce using rule 141 (import_statement -> . SELFISH ; .) + SKIP reduce using rule 141 (import_statement -> . SELFISH ; .) + BREAK reduce using rule 141 (import_statement -> . SELFISH ; .) + LET reduce using rule 141 (import_statement -> . SELFISH ; .) + WHILE reduce using rule 141 (import_statement -> . SELFISH ; .) + NAMESPACE reduce using rule 141 (import_statement -> . SELFISH ; .) + CLASS reduce using rule 141 (import_statement -> . SELFISH ; .) + FUNC reduce using rule 141 (import_statement -> . SELFISH ; .) + INIT reduce using rule 141 (import_statement -> . SELFISH ; .) + [ reduce using rule 141 (import_statement -> . SELFISH ; .) + { reduce using rule 141 (import_statement -> . SELFISH ; .) + FORMATTED_STRING reduce using rule 141 (import_statement -> . SELFISH ; .) + MULTILINE_STRING reduce using rule 141 (import_statement -> . SELFISH ; .) + STRING reduce using rule 141 (import_statement -> . SELFISH ; .) + CHAR reduce using rule 141 (import_statement -> . SELFISH ; .) + FALSE reduce using rule 141 (import_statement -> . SELFISH ; .) + TRUE reduce using rule 141 (import_statement -> . SELFISH ; .) + FLOAT reduce using rule 141 (import_statement -> . SELFISH ; .) + INT reduce using rule 141 (import_statement -> . SELFISH ; .) + NULL reduce using rule 141 (import_statement -> . SELFISH ; .) + PYTHON_CODE_EXEC reduce using rule 141 (import_statement -> . SELFISH ; .) + PYTHON_CODE reduce using rule 141 (import_statement -> . SELFISH ; .) + # reduce using rule 141 (import_statement -> . SELFISH ; .) + NEW reduce using rule 141 (import_statement -> . SELFISH ; .) + HTMLSTART reduce using rule 141 (import_statement -> . SELFISH ; .) + IF reduce using rule 141 (import_statement -> . SELFISH ; .) + $end reduce using rule 141 (import_statement -> . SELFISH ; .) + PHPEND reduce using rule 141 (import_statement -> . SELFISH ; .) + } reduce using rule 141 (import_statement -> . SELFISH ; .) state 229 - (141) import_statement -> . GLOBAL ; . - ? reduce using rule 141 (import_statement -> . GLOBAL ; .) - ( reduce using rule 141 (import_statement -> . GLOBAL ; .) - ! reduce using rule 141 (import_statement -> . GLOBAL ; .) - + reduce using rule 141 (import_statement -> . GLOBAL ; .) - - reduce using rule 141 (import_statement -> . GLOBAL ; .) - * reduce using rule 141 (import_statement -> . GLOBAL ; .) - & reduce using rule 141 (import_statement -> . GLOBAL ; .) - ID reduce using rule 141 (import_statement -> . GLOBAL ; .) - $ reduce using rule 141 (import_statement -> . GLOBAL ; .) - PHPSTART reduce using rule 141 (import_statement -> . GLOBAL ; .) - LIMPORT reduce using rule 141 (import_statement -> . GLOBAL ; .) - . reduce using rule 141 (import_statement -> . GLOBAL ; .) - IMPORT reduce using rule 141 (import_statement -> . GLOBAL ; .) - RETURN reduce using rule 141 (import_statement -> . GLOBAL ; .) - DEL reduce using rule 141 (import_statement -> . GLOBAL ; .) - FOREACH reduce using rule 141 (import_statement -> . GLOBAL ; .) - FOR reduce using rule 141 (import_statement -> . GLOBAL ; .) - DEBUG reduce using rule 141 (import_statement -> . GLOBAL ; .) - SKIP reduce using rule 141 (import_statement -> . GLOBAL ; .) - BREAK reduce using rule 141 (import_statement -> . GLOBAL ; .) - LET reduce using rule 141 (import_statement -> . GLOBAL ; .) - WHILE reduce using rule 141 (import_statement -> . GLOBAL ; .) - NAMESPACE reduce using rule 141 (import_statement -> . GLOBAL ; .) - CLASS reduce using rule 141 (import_statement -> . GLOBAL ; .) - FUNC reduce using rule 141 (import_statement -> . GLOBAL ; .) - INIT reduce using rule 141 (import_statement -> . GLOBAL ; .) - [ reduce using rule 141 (import_statement -> . GLOBAL ; .) - { reduce using rule 141 (import_statement -> . GLOBAL ; .) - FORMATTED_STRING reduce using rule 141 (import_statement -> . GLOBAL ; .) - MULTILINE_STRING reduce using rule 141 (import_statement -> . GLOBAL ; .) - STRING reduce using rule 141 (import_statement -> . GLOBAL ; .) - CHAR reduce using rule 141 (import_statement -> . GLOBAL ; .) - FALSE reduce using rule 141 (import_statement -> . GLOBAL ; .) - TRUE reduce using rule 141 (import_statement -> . GLOBAL ; .) - FLOAT reduce using rule 141 (import_statement -> . GLOBAL ; .) - INT reduce using rule 141 (import_statement -> . GLOBAL ; .) - NULL reduce using rule 141 (import_statement -> . GLOBAL ; .) - PYTHON_CODE_EXEC reduce using rule 141 (import_statement -> . GLOBAL ; .) - PYTHON_CODE reduce using rule 141 (import_statement -> . GLOBAL ; .) - # reduce using rule 141 (import_statement -> . GLOBAL ; .) - NEW reduce using rule 141 (import_statement -> . GLOBAL ; .) - HTMLSTART reduce using rule 141 (import_statement -> . GLOBAL ; .) - IF reduce using rule 141 (import_statement -> . GLOBAL ; .) - $end reduce using rule 141 (import_statement -> . GLOBAL ; .) - PHPEND reduce using rule 141 (import_statement -> . GLOBAL ; .) - } reduce using rule 141 (import_statement -> . GLOBAL ; .) + (142) import_statement -> . GLOBAL ; . + ? reduce using rule 142 (import_statement -> . GLOBAL ; .) + ( reduce using rule 142 (import_statement -> . GLOBAL ; .) + ! reduce using rule 142 (import_statement -> . GLOBAL ; .) + + reduce using rule 142 (import_statement -> . GLOBAL ; .) + - reduce using rule 142 (import_statement -> . GLOBAL ; .) + * reduce using rule 142 (import_statement -> . GLOBAL ; .) + & reduce using rule 142 (import_statement -> . GLOBAL ; .) + ID reduce using rule 142 (import_statement -> . GLOBAL ; .) + $ reduce using rule 142 (import_statement -> . GLOBAL ; .) + PHPSTART reduce using rule 142 (import_statement -> . GLOBAL ; .) + LIMPORT reduce using rule 142 (import_statement -> . GLOBAL ; .) + . reduce using rule 142 (import_statement -> . GLOBAL ; .) + IMPORT reduce using rule 142 (import_statement -> . GLOBAL ; .) + RETURN reduce using rule 142 (import_statement -> . GLOBAL ; .) + DEL reduce using rule 142 (import_statement -> . GLOBAL ; .) + FOREACH reduce using rule 142 (import_statement -> . GLOBAL ; .) + FOR reduce using rule 142 (import_statement -> . GLOBAL ; .) + DEBUG reduce using rule 142 (import_statement -> . GLOBAL ; .) + SKIP reduce using rule 142 (import_statement -> . GLOBAL ; .) + BREAK reduce using rule 142 (import_statement -> . GLOBAL ; .) + LET reduce using rule 142 (import_statement -> . GLOBAL ; .) + WHILE reduce using rule 142 (import_statement -> . GLOBAL ; .) + NAMESPACE reduce using rule 142 (import_statement -> . GLOBAL ; .) + CLASS reduce using rule 142 (import_statement -> . GLOBAL ; .) + FUNC reduce using rule 142 (import_statement -> . GLOBAL ; .) + INIT reduce using rule 142 (import_statement -> . GLOBAL ; .) + [ reduce using rule 142 (import_statement -> . GLOBAL ; .) + { reduce using rule 142 (import_statement -> . GLOBAL ; .) + FORMATTED_STRING reduce using rule 142 (import_statement -> . GLOBAL ; .) + MULTILINE_STRING reduce using rule 142 (import_statement -> . GLOBAL ; .) + STRING reduce using rule 142 (import_statement -> . GLOBAL ; .) + CHAR reduce using rule 142 (import_statement -> . GLOBAL ; .) + FALSE reduce using rule 142 (import_statement -> . GLOBAL ; .) + TRUE reduce using rule 142 (import_statement -> . GLOBAL ; .) + FLOAT reduce using rule 142 (import_statement -> . GLOBAL ; .) + INT reduce using rule 142 (import_statement -> . GLOBAL ; .) + NULL reduce using rule 142 (import_statement -> . GLOBAL ; .) + PYTHON_CODE_EXEC reduce using rule 142 (import_statement -> . GLOBAL ; .) + PYTHON_CODE reduce using rule 142 (import_statement -> . GLOBAL ; .) + # reduce using rule 142 (import_statement -> . GLOBAL ; .) + NEW reduce using rule 142 (import_statement -> . GLOBAL ; .) + HTMLSTART reduce using rule 142 (import_statement -> . GLOBAL ; .) + IF reduce using rule 142 (import_statement -> . GLOBAL ; .) + $end reduce using rule 142 (import_statement -> . GLOBAL ; .) + PHPEND reduce using rule 142 (import_statement -> . GLOBAL ; .) + } reduce using rule 142 (import_statement -> . GLOBAL ; .) state 230 (71) function_call -> . ENV FROM . ID { program } - ID shift and go to state 293 + ID shift and go to state 294 state 231 @@ -24246,7 +24256,7 @@ state 231 (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -24303,41 +24313,42 @@ state 231 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -24349,28 +24360,28 @@ state 231 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -24395,53 +24406,53 @@ state 231 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - program shift and go to state 294 + program shift and go to state 295 empty shift and go to state 2 statement shift and go to state 3 expression shift and go to state 5 @@ -24579,53 +24590,53 @@ state 233 state 234 - (142) import_statement -> IMPORT expression ; . - ? reduce using rule 142 (import_statement -> IMPORT expression ; .) - ( reduce using rule 142 (import_statement -> IMPORT expression ; .) - ! reduce using rule 142 (import_statement -> IMPORT expression ; .) - + reduce using rule 142 (import_statement -> IMPORT expression ; .) - - reduce using rule 142 (import_statement -> IMPORT expression ; .) - * reduce using rule 142 (import_statement -> IMPORT expression ; .) - & reduce using rule 142 (import_statement -> IMPORT expression ; .) - ID reduce using rule 142 (import_statement -> IMPORT expression ; .) - $ reduce using rule 142 (import_statement -> IMPORT expression ; .) - PHPSTART reduce using rule 142 (import_statement -> IMPORT expression ; .) - LIMPORT reduce using rule 142 (import_statement -> IMPORT expression ; .) - . reduce using rule 142 (import_statement -> IMPORT expression ; .) - IMPORT reduce using rule 142 (import_statement -> IMPORT expression ; .) - RETURN reduce using rule 142 (import_statement -> IMPORT expression ; .) - DEL reduce using rule 142 (import_statement -> IMPORT expression ; .) - FOREACH reduce using rule 142 (import_statement -> IMPORT expression ; .) - FOR reduce using rule 142 (import_statement -> IMPORT expression ; .) - DEBUG reduce using rule 142 (import_statement -> IMPORT expression ; .) - SKIP reduce using rule 142 (import_statement -> IMPORT expression ; .) - BREAK reduce using rule 142 (import_statement -> IMPORT expression ; .) - LET reduce using rule 142 (import_statement -> IMPORT expression ; .) - WHILE reduce using rule 142 (import_statement -> IMPORT expression ; .) - NAMESPACE reduce using rule 142 (import_statement -> IMPORT expression ; .) - CLASS reduce using rule 142 (import_statement -> IMPORT expression ; .) - FUNC reduce using rule 142 (import_statement -> IMPORT expression ; .) - INIT reduce using rule 142 (import_statement -> IMPORT expression ; .) - [ reduce using rule 142 (import_statement -> IMPORT expression ; .) - { reduce using rule 142 (import_statement -> IMPORT expression ; .) - FORMATTED_STRING reduce using rule 142 (import_statement -> IMPORT expression ; .) - MULTILINE_STRING reduce using rule 142 (import_statement -> IMPORT expression ; .) - STRING reduce using rule 142 (import_statement -> IMPORT expression ; .) - CHAR reduce using rule 142 (import_statement -> IMPORT expression ; .) - FALSE reduce using rule 142 (import_statement -> IMPORT expression ; .) - TRUE reduce using rule 142 (import_statement -> IMPORT expression ; .) - FLOAT reduce using rule 142 (import_statement -> IMPORT expression ; .) - INT reduce using rule 142 (import_statement -> IMPORT expression ; .) - NULL reduce using rule 142 (import_statement -> IMPORT expression ; .) - PYTHON_CODE_EXEC reduce using rule 142 (import_statement -> IMPORT expression ; .) - PYTHON_CODE reduce using rule 142 (import_statement -> IMPORT expression ; .) - # reduce using rule 142 (import_statement -> IMPORT expression ; .) - NEW reduce using rule 142 (import_statement -> IMPORT expression ; .) - HTMLSTART reduce using rule 142 (import_statement -> IMPORT expression ; .) - IF reduce using rule 142 (import_statement -> IMPORT expression ; .) - $end reduce using rule 142 (import_statement -> IMPORT expression ; .) - PHPEND reduce using rule 142 (import_statement -> IMPORT expression ; .) - } reduce using rule 142 (import_statement -> IMPORT expression ; .) + (143) import_statement -> IMPORT expression ; . + ? reduce using rule 143 (import_statement -> IMPORT expression ; .) + ( reduce using rule 143 (import_statement -> IMPORT expression ; .) + ! reduce using rule 143 (import_statement -> IMPORT expression ; .) + + reduce using rule 143 (import_statement -> IMPORT expression ; .) + - reduce using rule 143 (import_statement -> IMPORT expression ; .) + * reduce using rule 143 (import_statement -> IMPORT expression ; .) + & reduce using rule 143 (import_statement -> IMPORT expression ; .) + ID reduce using rule 143 (import_statement -> IMPORT expression ; .) + $ reduce using rule 143 (import_statement -> IMPORT expression ; .) + PHPSTART reduce using rule 143 (import_statement -> IMPORT expression ; .) + LIMPORT reduce using rule 143 (import_statement -> IMPORT expression ; .) + . reduce using rule 143 (import_statement -> IMPORT expression ; .) + IMPORT reduce using rule 143 (import_statement -> IMPORT expression ; .) + RETURN reduce using rule 143 (import_statement -> IMPORT expression ; .) + DEL reduce using rule 143 (import_statement -> IMPORT expression ; .) + FOREACH reduce using rule 143 (import_statement -> IMPORT expression ; .) + FOR reduce using rule 143 (import_statement -> IMPORT expression ; .) + DEBUG reduce using rule 143 (import_statement -> IMPORT expression ; .) + SKIP reduce using rule 143 (import_statement -> IMPORT expression ; .) + BREAK reduce using rule 143 (import_statement -> IMPORT expression ; .) + LET reduce using rule 143 (import_statement -> IMPORT expression ; .) + WHILE reduce using rule 143 (import_statement -> IMPORT expression ; .) + NAMESPACE reduce using rule 143 (import_statement -> IMPORT expression ; .) + CLASS reduce using rule 143 (import_statement -> IMPORT expression ; .) + FUNC reduce using rule 143 (import_statement -> IMPORT expression ; .) + INIT reduce using rule 143 (import_statement -> IMPORT expression ; .) + [ reduce using rule 143 (import_statement -> IMPORT expression ; .) + { reduce using rule 143 (import_statement -> IMPORT expression ; .) + FORMATTED_STRING reduce using rule 143 (import_statement -> IMPORT expression ; .) + MULTILINE_STRING reduce using rule 143 (import_statement -> IMPORT expression ; .) + STRING reduce using rule 143 (import_statement -> IMPORT expression ; .) + CHAR reduce using rule 143 (import_statement -> IMPORT expression ; .) + FALSE reduce using rule 143 (import_statement -> IMPORT expression ; .) + TRUE reduce using rule 143 (import_statement -> IMPORT expression ; .) + FLOAT reduce using rule 143 (import_statement -> IMPORT expression ; .) + INT reduce using rule 143 (import_statement -> IMPORT expression ; .) + NULL reduce using rule 143 (import_statement -> IMPORT expression ; .) + PYTHON_CODE_EXEC reduce using rule 143 (import_statement -> IMPORT expression ; .) + PYTHON_CODE reduce using rule 143 (import_statement -> IMPORT expression ; .) + # reduce using rule 143 (import_statement -> IMPORT expression ; .) + NEW reduce using rule 143 (import_statement -> IMPORT expression ; .) + HTMLSTART reduce using rule 143 (import_statement -> IMPORT expression ; .) + IF reduce using rule 143 (import_statement -> IMPORT expression ; .) + $end reduce using rule 143 (import_statement -> IMPORT expression ; .) + PHPEND reduce using rule 143 (import_statement -> IMPORT expression ; .) + } reduce using rule 143 (import_statement -> IMPORT expression ; .) state 235 @@ -24681,58 +24692,58 @@ state 235 state 236 - (139) delete_statement -> DEL ID ; . - ? reduce using rule 139 (delete_statement -> DEL ID ; .) - ( reduce using rule 139 (delete_statement -> DEL ID ; .) - ! reduce using rule 139 (delete_statement -> DEL ID ; .) - + reduce using rule 139 (delete_statement -> DEL ID ; .) - - reduce using rule 139 (delete_statement -> DEL ID ; .) - * reduce using rule 139 (delete_statement -> DEL ID ; .) - & reduce using rule 139 (delete_statement -> DEL ID ; .) - ID reduce using rule 139 (delete_statement -> DEL ID ; .) - $ reduce using rule 139 (delete_statement -> DEL ID ; .) - PHPSTART reduce using rule 139 (delete_statement -> DEL ID ; .) - LIMPORT reduce using rule 139 (delete_statement -> DEL ID ; .) - . reduce using rule 139 (delete_statement -> DEL ID ; .) - IMPORT reduce using rule 139 (delete_statement -> DEL ID ; .) - RETURN reduce using rule 139 (delete_statement -> DEL ID ; .) - DEL reduce using rule 139 (delete_statement -> DEL ID ; .) - FOREACH reduce using rule 139 (delete_statement -> DEL ID ; .) - FOR reduce using rule 139 (delete_statement -> DEL ID ; .) - DEBUG reduce using rule 139 (delete_statement -> DEL ID ; .) - SKIP reduce using rule 139 (delete_statement -> DEL ID ; .) - BREAK reduce using rule 139 (delete_statement -> DEL ID ; .) - LET reduce using rule 139 (delete_statement -> DEL ID ; .) - WHILE reduce using rule 139 (delete_statement -> DEL ID ; .) - NAMESPACE reduce using rule 139 (delete_statement -> DEL ID ; .) - CLASS reduce using rule 139 (delete_statement -> DEL ID ; .) - FUNC reduce using rule 139 (delete_statement -> DEL ID ; .) - INIT reduce using rule 139 (delete_statement -> DEL ID ; .) - [ reduce using rule 139 (delete_statement -> DEL ID ; .) - { reduce using rule 139 (delete_statement -> DEL ID ; .) - FORMATTED_STRING reduce using rule 139 (delete_statement -> DEL ID ; .) - MULTILINE_STRING reduce using rule 139 (delete_statement -> DEL ID ; .) - STRING reduce using rule 139 (delete_statement -> DEL ID ; .) - CHAR reduce using rule 139 (delete_statement -> DEL ID ; .) - FALSE reduce using rule 139 (delete_statement -> DEL ID ; .) - TRUE reduce using rule 139 (delete_statement -> DEL ID ; .) - FLOAT reduce using rule 139 (delete_statement -> DEL ID ; .) - INT reduce using rule 139 (delete_statement -> DEL ID ; .) - NULL reduce using rule 139 (delete_statement -> DEL ID ; .) - PYTHON_CODE_EXEC reduce using rule 139 (delete_statement -> DEL ID ; .) - PYTHON_CODE reduce using rule 139 (delete_statement -> DEL ID ; .) - # reduce using rule 139 (delete_statement -> DEL ID ; .) - NEW reduce using rule 139 (delete_statement -> DEL ID ; .) - HTMLSTART reduce using rule 139 (delete_statement -> DEL ID ; .) - IF reduce using rule 139 (delete_statement -> DEL ID ; .) - $end reduce using rule 139 (delete_statement -> DEL ID ; .) - PHPEND reduce using rule 139 (delete_statement -> DEL ID ; .) - } reduce using rule 139 (delete_statement -> DEL ID ; .) + (140) delete_statement -> DEL ID ; . + ? reduce using rule 140 (delete_statement -> DEL ID ; .) + ( reduce using rule 140 (delete_statement -> DEL ID ; .) + ! reduce using rule 140 (delete_statement -> DEL ID ; .) + + reduce using rule 140 (delete_statement -> DEL ID ; .) + - reduce using rule 140 (delete_statement -> DEL ID ; .) + * reduce using rule 140 (delete_statement -> DEL ID ; .) + & reduce using rule 140 (delete_statement -> DEL ID ; .) + ID reduce using rule 140 (delete_statement -> DEL ID ; .) + $ reduce using rule 140 (delete_statement -> DEL ID ; .) + PHPSTART reduce using rule 140 (delete_statement -> DEL ID ; .) + LIMPORT reduce using rule 140 (delete_statement -> DEL ID ; .) + . reduce using rule 140 (delete_statement -> DEL ID ; .) + IMPORT reduce using rule 140 (delete_statement -> DEL ID ; .) + RETURN reduce using rule 140 (delete_statement -> DEL ID ; .) + DEL reduce using rule 140 (delete_statement -> DEL ID ; .) + FOREACH reduce using rule 140 (delete_statement -> DEL ID ; .) + FOR reduce using rule 140 (delete_statement -> DEL ID ; .) + DEBUG reduce using rule 140 (delete_statement -> DEL ID ; .) + SKIP reduce using rule 140 (delete_statement -> DEL ID ; .) + BREAK reduce using rule 140 (delete_statement -> DEL ID ; .) + LET reduce using rule 140 (delete_statement -> DEL ID ; .) + WHILE reduce using rule 140 (delete_statement -> DEL ID ; .) + NAMESPACE reduce using rule 140 (delete_statement -> DEL ID ; .) + CLASS reduce using rule 140 (delete_statement -> DEL ID ; .) + FUNC reduce using rule 140 (delete_statement -> DEL ID ; .) + INIT reduce using rule 140 (delete_statement -> DEL ID ; .) + [ reduce using rule 140 (delete_statement -> DEL ID ; .) + { reduce using rule 140 (delete_statement -> DEL ID ; .) + FORMATTED_STRING reduce using rule 140 (delete_statement -> DEL ID ; .) + MULTILINE_STRING reduce using rule 140 (delete_statement -> DEL ID ; .) + STRING reduce using rule 140 (delete_statement -> DEL ID ; .) + CHAR reduce using rule 140 (delete_statement -> DEL ID ; .) + FALSE reduce using rule 140 (delete_statement -> DEL ID ; .) + TRUE reduce using rule 140 (delete_statement -> DEL ID ; .) + FLOAT reduce using rule 140 (delete_statement -> DEL ID ; .) + INT reduce using rule 140 (delete_statement -> DEL ID ; .) + NULL reduce using rule 140 (delete_statement -> DEL ID ; .) + PYTHON_CODE_EXEC reduce using rule 140 (delete_statement -> DEL ID ; .) + PYTHON_CODE reduce using rule 140 (delete_statement -> DEL ID ; .) + # reduce using rule 140 (delete_statement -> DEL ID ; .) + NEW reduce using rule 140 (delete_statement -> DEL ID ; .) + HTMLSTART reduce using rule 140 (delete_statement -> DEL ID ; .) + IF reduce using rule 140 (delete_statement -> DEL ID ; .) + $end reduce using rule 140 (delete_statement -> DEL ID ; .) + PHPEND reduce using rule 140 (delete_statement -> DEL ID ; .) + } reduce using rule 140 (delete_statement -> DEL ID ; .) state 237 - (109) for_loop -> FOREACH ( expression . AS expression ) { program } + (110) for_loop -> FOREACH ( expression . AS expression ) { program } (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -24746,9 +24757,9 @@ state 237 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -24758,10 +24769,10 @@ state 237 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -24800,28 +24811,28 @@ state 237 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -24846,14 +24857,14 @@ state 237 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - AS shift and go to state 295 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + AS shift and go to state 296 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -24918,83 +24929,83 @@ state 237 state 238 - (145) assoc_array -> { empty } . - > reduce using rule 145 (assoc_array -> { empty } .) - < reduce using rule 145 (assoc_array -> { empty } .) - & reduce using rule 145 (assoc_array -> { empty } .) - EQ_GREATER reduce using rule 145 (assoc_array -> { empty } .) - EQ_LESS reduce using rule 145 (assoc_array -> { empty } .) - NOT_EQEQ reduce using rule 145 (assoc_array -> { empty } .) - EQEQ reduce using rule 145 (assoc_array -> { empty } .) - % reduce using rule 145 (assoc_array -> { empty } .) - * reduce using rule 145 (assoc_array -> { empty } .) - / reduce using rule 145 (assoc_array -> { empty } .) - - reduce using rule 145 (assoc_array -> { empty } .) - + reduce using rule 145 (assoc_array -> { empty } .) - . reduce using rule 145 (assoc_array -> { empty } .) - COLON_COLON reduce using rule 145 (assoc_array -> { empty } .) - ^ reduce using rule 145 (assoc_array -> { empty } .) - [ reduce using rule 145 (assoc_array -> { empty } .) - ( reduce using rule 145 (assoc_array -> { empty } .) - $ reduce using rule 145 (assoc_array -> { empty } .) - ID reduce using rule 145 (assoc_array -> { empty } .) - ! reduce using rule 145 (assoc_array -> { empty } .) - { reduce using rule 145 (assoc_array -> { empty } .) - FORMATTED_STRING reduce using rule 145 (assoc_array -> { empty } .) - MULTILINE_STRING reduce using rule 145 (assoc_array -> { empty } .) - STRING reduce using rule 145 (assoc_array -> { empty } .) - CHAR reduce using rule 145 (assoc_array -> { empty } .) - FALSE reduce using rule 145 (assoc_array -> { empty } .) - TRUE reduce using rule 145 (assoc_array -> { empty } .) - FLOAT reduce using rule 145 (assoc_array -> { empty } .) - INT reduce using rule 145 (assoc_array -> { empty } .) - NULL reduce using rule 145 (assoc_array -> { empty } .) - PYTHON_CODE_EXEC reduce using rule 145 (assoc_array -> { empty } .) - PYTHON_CODE reduce using rule 145 (assoc_array -> { empty } .) - # reduce using rule 145 (assoc_array -> { empty } .) - NEW reduce using rule 145 (assoc_array -> { empty } .) - ? reduce using rule 145 (assoc_array -> { empty } .) - HTMLSTART reduce using rule 145 (assoc_array -> { empty } .) - FOREACH reduce using rule 145 (assoc_array -> { empty } .) - FOR reduce using rule 145 (assoc_array -> { empty } .) - IF reduce using rule 145 (assoc_array -> { empty } .) - PHPSTART reduce using rule 145 (assoc_array -> { empty } .) - LIMPORT reduce using rule 145 (assoc_array -> { empty } .) - IMPORT reduce using rule 145 (assoc_array -> { empty } .) - RETURN reduce using rule 145 (assoc_array -> { empty } .) - DEL reduce using rule 145 (assoc_array -> { empty } .) - DEBUG reduce using rule 145 (assoc_array -> { empty } .) - SKIP reduce using rule 145 (assoc_array -> { empty } .) - BREAK reduce using rule 145 (assoc_array -> { empty } .) - LET reduce using rule 145 (assoc_array -> { empty } .) - WHILE reduce using rule 145 (assoc_array -> { empty } .) - NAMESPACE reduce using rule 145 (assoc_array -> { empty } .) - CLASS reduce using rule 145 (assoc_array -> { empty } .) - FUNC reduce using rule 145 (assoc_array -> { empty } .) - INIT reduce using rule 145 (assoc_array -> { empty } .) - $end reduce using rule 145 (assoc_array -> { empty } .) - ; reduce using rule 145 (assoc_array -> { empty } .) - | reduce using rule 145 (assoc_array -> { empty } .) - , reduce using rule 145 (assoc_array -> { empty } .) - PHPEND reduce using rule 145 (assoc_array -> { empty } .) - } reduce using rule 145 (assoc_array -> { empty } .) - ) reduce using rule 145 (assoc_array -> { empty } .) - SARROW reduce using rule 145 (assoc_array -> { empty } .) - ] reduce using rule 145 (assoc_array -> { empty } .) - HTMLEND reduce using rule 145 (assoc_array -> { empty } .) - EQ_DIV reduce using rule 145 (assoc_array -> { empty } .) - EQ_MOD reduce using rule 145 (assoc_array -> { empty } .) - EQ_MUL reduce using rule 145 (assoc_array -> { empty } .) - EQ_SUB reduce using rule 145 (assoc_array -> { empty } .) - EQ_ADD reduce using rule 145 (assoc_array -> { empty } .) - = reduce using rule 145 (assoc_array -> { empty } .) - AS reduce using rule 145 (assoc_array -> { empty } .) + (146) assoc_array -> { empty } . + > reduce using rule 146 (assoc_array -> { empty } .) + < reduce using rule 146 (assoc_array -> { empty } .) + & reduce using rule 146 (assoc_array -> { empty } .) + EQ_GREATER reduce using rule 146 (assoc_array -> { empty } .) + EQ_LESS reduce using rule 146 (assoc_array -> { empty } .) + NOT_EQEQ reduce using rule 146 (assoc_array -> { empty } .) + EQEQ reduce using rule 146 (assoc_array -> { empty } .) + % reduce using rule 146 (assoc_array -> { empty } .) + * reduce using rule 146 (assoc_array -> { empty } .) + / reduce using rule 146 (assoc_array -> { empty } .) + - reduce using rule 146 (assoc_array -> { empty } .) + + reduce using rule 146 (assoc_array -> { empty } .) + . reduce using rule 146 (assoc_array -> { empty } .) + COLON_COLON reduce using rule 146 (assoc_array -> { empty } .) + ^ reduce using rule 146 (assoc_array -> { empty } .) + [ reduce using rule 146 (assoc_array -> { empty } .) + ( reduce using rule 146 (assoc_array -> { empty } .) + $ reduce using rule 146 (assoc_array -> { empty } .) + ID reduce using rule 146 (assoc_array -> { empty } .) + ! reduce using rule 146 (assoc_array -> { empty } .) + { reduce using rule 146 (assoc_array -> { empty } .) + FORMATTED_STRING reduce using rule 146 (assoc_array -> { empty } .) + MULTILINE_STRING reduce using rule 146 (assoc_array -> { empty } .) + STRING reduce using rule 146 (assoc_array -> { empty } .) + CHAR reduce using rule 146 (assoc_array -> { empty } .) + FALSE reduce using rule 146 (assoc_array -> { empty } .) + TRUE reduce using rule 146 (assoc_array -> { empty } .) + FLOAT reduce using rule 146 (assoc_array -> { empty } .) + INT reduce using rule 146 (assoc_array -> { empty } .) + NULL reduce using rule 146 (assoc_array -> { empty } .) + PYTHON_CODE_EXEC reduce using rule 146 (assoc_array -> { empty } .) + PYTHON_CODE reduce using rule 146 (assoc_array -> { empty } .) + # reduce using rule 146 (assoc_array -> { empty } .) + NEW reduce using rule 146 (assoc_array -> { empty } .) + ? reduce using rule 146 (assoc_array -> { empty } .) + HTMLSTART reduce using rule 146 (assoc_array -> { empty } .) + FOREACH reduce using rule 146 (assoc_array -> { empty } .) + FOR reduce using rule 146 (assoc_array -> { empty } .) + IF reduce using rule 146 (assoc_array -> { empty } .) + PHPSTART reduce using rule 146 (assoc_array -> { empty } .) + LIMPORT reduce using rule 146 (assoc_array -> { empty } .) + IMPORT reduce using rule 146 (assoc_array -> { empty } .) + RETURN reduce using rule 146 (assoc_array -> { empty } .) + DEL reduce using rule 146 (assoc_array -> { empty } .) + DEBUG reduce using rule 146 (assoc_array -> { empty } .) + SKIP reduce using rule 146 (assoc_array -> { empty } .) + BREAK reduce using rule 146 (assoc_array -> { empty } .) + LET reduce using rule 146 (assoc_array -> { empty } .) + WHILE reduce using rule 146 (assoc_array -> { empty } .) + NAMESPACE reduce using rule 146 (assoc_array -> { empty } .) + CLASS reduce using rule 146 (assoc_array -> { empty } .) + FUNC reduce using rule 146 (assoc_array -> { empty } .) + INIT reduce using rule 146 (assoc_array -> { empty } .) + $end reduce using rule 146 (assoc_array -> { empty } .) + ; reduce using rule 146 (assoc_array -> { empty } .) + | reduce using rule 146 (assoc_array -> { empty } .) + , reduce using rule 146 (assoc_array -> { empty } .) + PHPEND reduce using rule 146 (assoc_array -> { empty } .) + } reduce using rule 146 (assoc_array -> { empty } .) + ) reduce using rule 146 (assoc_array -> { empty } .) + SARROW reduce using rule 146 (assoc_array -> { empty } .) + ] reduce using rule 146 (assoc_array -> { empty } .) + HTMLEND reduce using rule 146 (assoc_array -> { empty } .) + EQ_DIV reduce using rule 146 (assoc_array -> { empty } .) + EQ_MOD reduce using rule 146 (assoc_array -> { empty } .) + EQ_MUL reduce using rule 146 (assoc_array -> { empty } .) + EQ_SUB reduce using rule 146 (assoc_array -> { empty } .) + EQ_ADD reduce using rule 146 (assoc_array -> { empty } .) + = reduce using rule 146 (assoc_array -> { empty } .) + AS reduce using rule 146 (assoc_array -> { empty } .) state 239 - (151) _tuple -> { positional_args , . } - (113) positional_args -> positional_args , . expression + (152) _tuple -> { positional_args , . } + (114) positional_args -> positional_args , . expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -25033,28 +25044,28 @@ state 239 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -25079,14 +25090,14 @@ state 239 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 296 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 297 ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -25095,7 +25106,7 @@ state 239 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -25117,7 +25128,7 @@ state 239 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 276 + expression shift and go to state 277 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -25138,82 +25149,82 @@ state 239 state 240 - (152) _tuple -> { positional_args } . - > reduce using rule 152 (_tuple -> { positional_args } .) - < reduce using rule 152 (_tuple -> { positional_args } .) - & reduce using rule 152 (_tuple -> { positional_args } .) - EQ_GREATER reduce using rule 152 (_tuple -> { positional_args } .) - EQ_LESS reduce using rule 152 (_tuple -> { positional_args } .) - NOT_EQEQ reduce using rule 152 (_tuple -> { positional_args } .) - EQEQ reduce using rule 152 (_tuple -> { positional_args } .) - % reduce using rule 152 (_tuple -> { positional_args } .) - * reduce using rule 152 (_tuple -> { positional_args } .) - / reduce using rule 152 (_tuple -> { positional_args } .) - - reduce using rule 152 (_tuple -> { positional_args } .) - + reduce using rule 152 (_tuple -> { positional_args } .) - . reduce using rule 152 (_tuple -> { positional_args } .) - COLON_COLON reduce using rule 152 (_tuple -> { positional_args } .) - ^ reduce using rule 152 (_tuple -> { positional_args } .) - [ reduce using rule 152 (_tuple -> { positional_args } .) - ( reduce using rule 152 (_tuple -> { positional_args } .) - $ reduce using rule 152 (_tuple -> { positional_args } .) - ID reduce using rule 152 (_tuple -> { positional_args } .) - ! reduce using rule 152 (_tuple -> { positional_args } .) - { reduce using rule 152 (_tuple -> { positional_args } .) - FORMATTED_STRING reduce using rule 152 (_tuple -> { positional_args } .) - MULTILINE_STRING reduce using rule 152 (_tuple -> { positional_args } .) - STRING reduce using rule 152 (_tuple -> { positional_args } .) - CHAR reduce using rule 152 (_tuple -> { positional_args } .) - FALSE reduce using rule 152 (_tuple -> { positional_args } .) - TRUE reduce using rule 152 (_tuple -> { positional_args } .) - FLOAT reduce using rule 152 (_tuple -> { positional_args } .) - INT reduce using rule 152 (_tuple -> { positional_args } .) - NULL reduce using rule 152 (_tuple -> { positional_args } .) - PYTHON_CODE_EXEC reduce using rule 152 (_tuple -> { positional_args } .) - PYTHON_CODE reduce using rule 152 (_tuple -> { positional_args } .) - # reduce using rule 152 (_tuple -> { positional_args } .) - NEW reduce using rule 152 (_tuple -> { positional_args } .) - ? reduce using rule 152 (_tuple -> { positional_args } .) - HTMLSTART reduce using rule 152 (_tuple -> { positional_args } .) - FOREACH reduce using rule 152 (_tuple -> { positional_args } .) - FOR reduce using rule 152 (_tuple -> { positional_args } .) - IF reduce using rule 152 (_tuple -> { positional_args } .) - PHPSTART reduce using rule 152 (_tuple -> { positional_args } .) - LIMPORT reduce using rule 152 (_tuple -> { positional_args } .) - IMPORT reduce using rule 152 (_tuple -> { positional_args } .) - RETURN reduce using rule 152 (_tuple -> { positional_args } .) - DEL reduce using rule 152 (_tuple -> { positional_args } .) - DEBUG reduce using rule 152 (_tuple -> { positional_args } .) - SKIP reduce using rule 152 (_tuple -> { positional_args } .) - BREAK reduce using rule 152 (_tuple -> { positional_args } .) - LET reduce using rule 152 (_tuple -> { positional_args } .) - WHILE reduce using rule 152 (_tuple -> { positional_args } .) - NAMESPACE reduce using rule 152 (_tuple -> { positional_args } .) - CLASS reduce using rule 152 (_tuple -> { positional_args } .) - FUNC reduce using rule 152 (_tuple -> { positional_args } .) - INIT reduce using rule 152 (_tuple -> { positional_args } .) - $end reduce using rule 152 (_tuple -> { positional_args } .) - ; reduce using rule 152 (_tuple -> { positional_args } .) - | reduce using rule 152 (_tuple -> { positional_args } .) - , reduce using rule 152 (_tuple -> { positional_args } .) - PHPEND reduce using rule 152 (_tuple -> { positional_args } .) - } reduce using rule 152 (_tuple -> { positional_args } .) - ) reduce using rule 152 (_tuple -> { positional_args } .) - SARROW reduce using rule 152 (_tuple -> { positional_args } .) - ] reduce using rule 152 (_tuple -> { positional_args } .) - HTMLEND reduce using rule 152 (_tuple -> { positional_args } .) - EQ_DIV reduce using rule 152 (_tuple -> { positional_args } .) - EQ_MOD reduce using rule 152 (_tuple -> { positional_args } .) - EQ_MUL reduce using rule 152 (_tuple -> { positional_args } .) - EQ_SUB reduce using rule 152 (_tuple -> { positional_args } .) - EQ_ADD reduce using rule 152 (_tuple -> { positional_args } .) - = reduce using rule 152 (_tuple -> { positional_args } .) - AS reduce using rule 152 (_tuple -> { positional_args } .) + (153) _tuple -> { positional_args } . + > reduce using rule 153 (_tuple -> { positional_args } .) + < reduce using rule 153 (_tuple -> { positional_args } .) + & reduce using rule 153 (_tuple -> { positional_args } .) + EQ_GREATER reduce using rule 153 (_tuple -> { positional_args } .) + EQ_LESS reduce using rule 153 (_tuple -> { positional_args } .) + NOT_EQEQ reduce using rule 153 (_tuple -> { positional_args } .) + EQEQ reduce using rule 153 (_tuple -> { positional_args } .) + % reduce using rule 153 (_tuple -> { positional_args } .) + * reduce using rule 153 (_tuple -> { positional_args } .) + / reduce using rule 153 (_tuple -> { positional_args } .) + - reduce using rule 153 (_tuple -> { positional_args } .) + + reduce using rule 153 (_tuple -> { positional_args } .) + . reduce using rule 153 (_tuple -> { positional_args } .) + COLON_COLON reduce using rule 153 (_tuple -> { positional_args } .) + ^ reduce using rule 153 (_tuple -> { positional_args } .) + [ reduce using rule 153 (_tuple -> { positional_args } .) + ( reduce using rule 153 (_tuple -> { positional_args } .) + $ reduce using rule 153 (_tuple -> { positional_args } .) + ID reduce using rule 153 (_tuple -> { positional_args } .) + ! reduce using rule 153 (_tuple -> { positional_args } .) + { reduce using rule 153 (_tuple -> { positional_args } .) + FORMATTED_STRING reduce using rule 153 (_tuple -> { positional_args } .) + MULTILINE_STRING reduce using rule 153 (_tuple -> { positional_args } .) + STRING reduce using rule 153 (_tuple -> { positional_args } .) + CHAR reduce using rule 153 (_tuple -> { positional_args } .) + FALSE reduce using rule 153 (_tuple -> { positional_args } .) + TRUE reduce using rule 153 (_tuple -> { positional_args } .) + FLOAT reduce using rule 153 (_tuple -> { positional_args } .) + INT reduce using rule 153 (_tuple -> { positional_args } .) + NULL reduce using rule 153 (_tuple -> { positional_args } .) + PYTHON_CODE_EXEC reduce using rule 153 (_tuple -> { positional_args } .) + PYTHON_CODE reduce using rule 153 (_tuple -> { positional_args } .) + # reduce using rule 153 (_tuple -> { positional_args } .) + NEW reduce using rule 153 (_tuple -> { positional_args } .) + ? reduce using rule 153 (_tuple -> { positional_args } .) + HTMLSTART reduce using rule 153 (_tuple -> { positional_args } .) + FOREACH reduce using rule 153 (_tuple -> { positional_args } .) + FOR reduce using rule 153 (_tuple -> { positional_args } .) + IF reduce using rule 153 (_tuple -> { positional_args } .) + PHPSTART reduce using rule 153 (_tuple -> { positional_args } .) + LIMPORT reduce using rule 153 (_tuple -> { positional_args } .) + IMPORT reduce using rule 153 (_tuple -> { positional_args } .) + RETURN reduce using rule 153 (_tuple -> { positional_args } .) + DEL reduce using rule 153 (_tuple -> { positional_args } .) + DEBUG reduce using rule 153 (_tuple -> { positional_args } .) + SKIP reduce using rule 153 (_tuple -> { positional_args } .) + BREAK reduce using rule 153 (_tuple -> { positional_args } .) + LET reduce using rule 153 (_tuple -> { positional_args } .) + WHILE reduce using rule 153 (_tuple -> { positional_args } .) + NAMESPACE reduce using rule 153 (_tuple -> { positional_args } .) + CLASS reduce using rule 153 (_tuple -> { positional_args } .) + FUNC reduce using rule 153 (_tuple -> { positional_args } .) + INIT reduce using rule 153 (_tuple -> { positional_args } .) + $end reduce using rule 153 (_tuple -> { positional_args } .) + ; reduce using rule 153 (_tuple -> { positional_args } .) + | reduce using rule 153 (_tuple -> { positional_args } .) + , reduce using rule 153 (_tuple -> { positional_args } .) + PHPEND reduce using rule 153 (_tuple -> { positional_args } .) + } reduce using rule 153 (_tuple -> { positional_args } .) + ) reduce using rule 153 (_tuple -> { positional_args } .) + SARROW reduce using rule 153 (_tuple -> { positional_args } .) + ] reduce using rule 153 (_tuple -> { positional_args } .) + HTMLEND reduce using rule 153 (_tuple -> { positional_args } .) + EQ_DIV reduce using rule 153 (_tuple -> { positional_args } .) + EQ_MOD reduce using rule 153 (_tuple -> { positional_args } .) + EQ_MUL reduce using rule 153 (_tuple -> { positional_args } .) + EQ_SUB reduce using rule 153 (_tuple -> { positional_args } .) + EQ_ADD reduce using rule 153 (_tuple -> { positional_args } .) + = reduce using rule 153 (_tuple -> { positional_args } .) + AS reduce using rule 153 (_tuple -> { positional_args } .) state 241 - (110) for_loop -> FOR ( expression . ) { program } + (111) for_loop -> FOR ( expression . ) { program } (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -25227,9 +25238,9 @@ state 241 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -25239,10 +25250,10 @@ state 241 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -25281,28 +25292,28 @@ state 241 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -25327,14 +25338,14 @@ state 241 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ) shift and go to state 297 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ) shift and go to state 298 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -25399,13 +25410,13 @@ state 241 state 242 - (117) variable_assignment -> LET ID : . ID = expression ; - ID shift and go to state 298 + (118) variable_assignment -> LET ID : . ID = expression ; + ID shift and go to state 299 state 243 - (111) while_loop -> WHILE ( expression . ) { program } + (112) while_loop -> WHILE ( expression . ) { program } (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -25419,9 +25430,9 @@ state 243 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -25431,10 +25442,10 @@ state 243 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -25473,28 +25484,28 @@ state 243 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -25519,14 +25530,14 @@ state 243 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ) shift and go to state 299 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ) shift and go to state 300 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -25591,162 +25602,162 @@ state 243 state 244 - (131) conditional -> if_statement else_if_loop else_statement . - ? reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - ( reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - ! reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - + reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - - reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - * reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - & reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - ID reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - $ reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - PHPSTART reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - LIMPORT reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - . reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - IMPORT reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - RETURN reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - DEL reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - FOREACH reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - FOR reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - DEBUG reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - SKIP reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - BREAK reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - LET reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - WHILE reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - NAMESPACE reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - CLASS reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - FUNC reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - INIT reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - [ reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - { reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - FORMATTED_STRING reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - MULTILINE_STRING reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - STRING reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - CHAR reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - FALSE reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - TRUE reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - FLOAT reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - INT reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - NULL reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - PYTHON_CODE_EXEC reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - PYTHON_CODE reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - # reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - NEW reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - HTMLSTART reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - IF reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - $end reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - > reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - < reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - EQ_GREATER reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - EQ_LESS reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - NOT_EQEQ reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - EQEQ reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - % reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - / reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - COLON_COLON reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - ^ reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - ; reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - | reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - , reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - PHPEND reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - } reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - ) reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - SARROW reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - ] reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - HTMLEND reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - EQ_DIV reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - EQ_MOD reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - EQ_MUL reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - EQ_SUB reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - EQ_ADD reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - = reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) - AS reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .) + (132) conditional -> if_statement else_if_loop else_statement . + ? reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + ( reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + ! reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + + reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + - reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + * reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + & reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + ID reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + $ reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + PHPSTART reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + LIMPORT reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + . reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + IMPORT reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + RETURN reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + DEL reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + FOREACH reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + FOR reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + DEBUG reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + SKIP reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + BREAK reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + LET reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + WHILE reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + NAMESPACE reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + CLASS reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + FUNC reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + INIT reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + [ reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + { reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + FORMATTED_STRING reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + MULTILINE_STRING reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + STRING reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + CHAR reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + FALSE reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + TRUE reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + FLOAT reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + INT reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + NULL reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + PYTHON_CODE_EXEC reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + PYTHON_CODE reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + # reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + NEW reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + HTMLSTART reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + IF reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + $end reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + > reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + < reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + EQ_GREATER reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + EQ_LESS reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + NOT_EQEQ reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + EQEQ reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + % reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + / reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + COLON_COLON reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + ^ reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + ; reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + | reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + , reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + PHPEND reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + } reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + ) reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + SARROW reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + ] reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + HTMLEND reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + EQ_DIV reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + EQ_MOD reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + EQ_MUL reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + EQ_SUB reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + EQ_ADD reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + = reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) + AS reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .) state 245 - (136) else_if_loop -> else_if_loop else_if_statement . - ELSE reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - ? reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - ( reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - ! reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - + reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - - reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - * reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - & reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - ID reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - $ reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - PHPSTART reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - LIMPORT reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - . reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - IMPORT reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - RETURN reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - DEL reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - FOREACH reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - FOR reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - DEBUG reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - SKIP reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - BREAK reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - LET reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - WHILE reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - NAMESPACE reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - CLASS reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - FUNC reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - INIT reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - [ reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - { reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - FORMATTED_STRING reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - MULTILINE_STRING reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - STRING reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - CHAR reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - FALSE reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - TRUE reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - FLOAT reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - INT reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - NULL reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - PYTHON_CODE_EXEC reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - PYTHON_CODE reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - # reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - NEW reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - HTMLSTART reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - IF reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - $end reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - > reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - < reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - EQ_GREATER reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - EQ_LESS reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - NOT_EQEQ reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - EQEQ reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - % reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - / reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - COLON_COLON reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - ^ reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - ; reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - | reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - , reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - PHPEND reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - } reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - ) reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - SARROW reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - ] reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - HTMLEND reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - EQ_DIV reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - EQ_MOD reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - EQ_MUL reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - EQ_SUB reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - EQ_ADD reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - = reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) - AS reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .) + (137) else_if_loop -> else_if_loop else_if_statement . + ELSE reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + ? reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + ( reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + ! reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + + reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + - reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + * reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + & reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + ID reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + $ reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + PHPSTART reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + LIMPORT reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + . reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + IMPORT reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + RETURN reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + DEL reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + FOREACH reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + FOR reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + DEBUG reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + SKIP reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + BREAK reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + LET reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + WHILE reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + NAMESPACE reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + CLASS reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + FUNC reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + INIT reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + [ reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + { reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + FORMATTED_STRING reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + MULTILINE_STRING reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + STRING reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + CHAR reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + FALSE reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + TRUE reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + FLOAT reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + INT reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + NULL reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + PYTHON_CODE_EXEC reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + PYTHON_CODE reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + # reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + NEW reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + HTMLSTART reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + IF reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + $end reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + > reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + < reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + EQ_GREATER reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + EQ_LESS reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + NOT_EQEQ reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + EQEQ reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + % reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + / reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + COLON_COLON reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + ^ reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + ; reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + | reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + , reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + PHPEND reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + } reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + ) reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + SARROW reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + ] reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + HTMLEND reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + EQ_DIV reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + EQ_MOD reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + EQ_MUL reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + EQ_SUB reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + EQ_ADD reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + = reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) + AS reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .) state 246 - (138) else_statement -> ELSE { . program } + (139) else_statement -> ELSE { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -25803,41 +25814,42 @@ state 246 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -25849,28 +25861,28 @@ state 246 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -25895,53 +25907,53 @@ state 246 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - program shift and go to state 300 + program shift and go to state 301 empty shift and go to state 2 statement shift and go to state 3 expression shift and go to state 5 @@ -25977,8 +25989,8 @@ state 246 state 247 - (137) else_if_statement -> ELSE IF . ( expression ) { program } - ( shift and go to state 301 + (138) else_if_statement -> ELSE IF . ( expression ) { program } + ( shift and go to state 302 state 248 @@ -26038,7 +26050,7 @@ state 249 (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -26095,41 +26107,42 @@ state 249 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -26141,28 +26154,28 @@ state 249 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -26187,53 +26200,53 @@ state 249 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - program shift and go to state 302 + program shift and go to state 303 empty shift and go to state 2 statement shift and go to state 3 expression shift and go to state 5 @@ -26270,7 +26283,7 @@ state 249 state 250 (107) class_declaration -> CLASS ID EXTENDS . ID { program } - ID shift and go to state 303 + ID shift and go to state 304 state 251 @@ -26279,7 +26292,7 @@ state 251 (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -26336,41 +26349,42 @@ state 251 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -26382,28 +26396,28 @@ state 251 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -26428,53 +26442,53 @@ state 251 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - program shift and go to state 304 + program shift and go to state 305 empty shift and go to state 2 statement shift and go to state 3 expression shift and go to state 5 @@ -26510,25 +26524,9 @@ state 251 state 252 - (91) function_declaration -> FUNC ID COLON_COLON . ID ( empty ) { program } TARROW expression - (92) function_declaration -> FUNC ID COLON_COLON . ID ( function_arguments ) { program } TARROW expression - ID shift and go to state 305 - - -state 253 - - (98) function_declaration -> FUNC ID ( . empty ) { program } - (99) function_declaration -> FUNC ID ( . empty ) : expression { program } - (100) function_declaration -> FUNC ID ( . function_arguments ) { program } - (101) function_declaration -> FUNC ID ( . function_arguments ) : expression { program } - (169) empty -> . - (102) function_arguments -> . kwargs - (103) function_arguments -> . positional_args , kwargs - (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (109) class_declaration -> CLASS ID [ . positional_args ] { program } + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -26567,28 +26565,28 @@ state 253 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -26613,23 +26611,22 @@ state 253 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ) reduce using rule 169 (empty -> .) - ID shift and go to state 104 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 + ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -26651,16 +26648,13 @@ state 253 FOR shift and go to state 50 IF shift and go to state 76 - empty shift and go to state 306 + positional_args shift and go to state 306 expression shift and go to state 89 - function_arguments shift and go to state 307 - kwargs shift and go to state 110 - positional_args shift and go to state 111 - id shift and go to state 24 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 class_attribute shift and go to state 23 + id shift and go to state 24 string shift and go to state 25 bool shift and go to state 26 float shift and go to state 27 @@ -26674,90 +26668,84 @@ state 253 conditional shift and go to state 88 if_statement shift and go to state 56 -state 254 - - (93) function_declaration -> INIT ( function_arguments . ) { program } ; - ) shift and go to state 308 - - -state 255 +state 253 - (144) assoc_array -> [ assoc_array_items ] . - > reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - < reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - & reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - EQ_GREATER reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - EQ_LESS reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - NOT_EQEQ reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - EQEQ reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - % reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - * reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - / reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - - reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - + reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - . reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - COLON_COLON reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - ^ reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - [ reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - ( reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - $ reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - ID reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - ! reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - { reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - FORMATTED_STRING reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - MULTILINE_STRING reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - STRING reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - CHAR reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - FALSE reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - TRUE reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - FLOAT reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - INT reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - NULL reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - PYTHON_CODE_EXEC reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - PYTHON_CODE reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - # reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - NEW reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - ? reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - HTMLSTART reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - FOREACH reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - FOR reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - IF reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - PHPSTART reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - LIMPORT reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - IMPORT reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - RETURN reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - DEL reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - DEBUG reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - SKIP reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - BREAK reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - LET reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - WHILE reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - NAMESPACE reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - CLASS reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - FUNC reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - INIT reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - $end reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - ; reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - | reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - , reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - PHPEND reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - } reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - ) reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - SARROW reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - ] reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - HTMLEND reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - EQ_DIV reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - EQ_MOD reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - EQ_MUL reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - EQ_SUB reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - EQ_ADD reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - = reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) - AS reduce using rule 144 (assoc_array -> [ assoc_array_items ] .) + (145) assoc_array -> [ assoc_array_items ] . + > reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + < reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + & reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + EQ_GREATER reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + EQ_LESS reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + NOT_EQEQ reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + EQEQ reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + % reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + * reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + / reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + - reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + + reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + . reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + COLON_COLON reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + ^ reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + [ reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + ( reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + $ reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + ID reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + ! reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + { reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + FORMATTED_STRING reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + MULTILINE_STRING reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + STRING reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + CHAR reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + FALSE reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + TRUE reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + FLOAT reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + INT reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + NULL reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + PYTHON_CODE_EXEC reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + PYTHON_CODE reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + # reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + NEW reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + ? reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + HTMLSTART reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + FOREACH reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + FOR reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + IF reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + PHPSTART reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + LIMPORT reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + IMPORT reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + RETURN reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + DEL reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + DEBUG reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + SKIP reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + BREAK reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + LET reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + WHILE reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + NAMESPACE reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + CLASS reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + FUNC reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + INIT reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + $end reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + ; reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + | reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + , reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + PHPEND reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + } reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + ) reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + SARROW reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + ] reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + HTMLEND reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + EQ_DIV reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + EQ_MOD reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + EQ_MUL reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + EQ_SUB reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + EQ_ADD reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + = reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) + AS reduce using rule 145 (assoc_array -> [ assoc_array_items ] .) -state 256 +state 254 - (148) assoc_array_items -> assoc_array_items , . expression SARROW expression + (149) assoc_array_items -> assoc_array_items , . expression SARROW expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -26796,28 +26784,28 @@ state 256 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -26842,13 +26830,13 @@ state 256 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -26857,7 +26845,7 @@ state 256 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -26879,7 +26867,7 @@ state 256 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 309 + expression shift and go to state 307 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -26898,85 +26886,85 @@ state 256 conditional shift and go to state 88 if_statement shift and go to state 56 -state 257 +state 255 - (146) assoc_array -> [ empty ] . - > reduce using rule 146 (assoc_array -> [ empty ] .) - < reduce using rule 146 (assoc_array -> [ empty ] .) - & reduce using rule 146 (assoc_array -> [ empty ] .) - EQ_GREATER reduce using rule 146 (assoc_array -> [ empty ] .) - EQ_LESS reduce using rule 146 (assoc_array -> [ empty ] .) - NOT_EQEQ reduce using rule 146 (assoc_array -> [ empty ] .) - EQEQ reduce using rule 146 (assoc_array -> [ empty ] .) - % reduce using rule 146 (assoc_array -> [ empty ] .) - * reduce using rule 146 (assoc_array -> [ empty ] .) - / reduce using rule 146 (assoc_array -> [ empty ] .) - - reduce using rule 146 (assoc_array -> [ empty ] .) - + reduce using rule 146 (assoc_array -> [ empty ] .) - . reduce using rule 146 (assoc_array -> [ empty ] .) - COLON_COLON reduce using rule 146 (assoc_array -> [ empty ] .) - ^ reduce using rule 146 (assoc_array -> [ empty ] .) - [ reduce using rule 146 (assoc_array -> [ empty ] .) - ( reduce using rule 146 (assoc_array -> [ empty ] .) - $ reduce using rule 146 (assoc_array -> [ empty ] .) - ID reduce using rule 146 (assoc_array -> [ empty ] .) - ! reduce using rule 146 (assoc_array -> [ empty ] .) - { reduce using rule 146 (assoc_array -> [ empty ] .) - FORMATTED_STRING reduce using rule 146 (assoc_array -> [ empty ] .) - MULTILINE_STRING reduce using rule 146 (assoc_array -> [ empty ] .) - STRING reduce using rule 146 (assoc_array -> [ empty ] .) - CHAR reduce using rule 146 (assoc_array -> [ empty ] .) - FALSE reduce using rule 146 (assoc_array -> [ empty ] .) - TRUE reduce using rule 146 (assoc_array -> [ empty ] .) - FLOAT reduce using rule 146 (assoc_array -> [ empty ] .) - INT reduce using rule 146 (assoc_array -> [ empty ] .) - NULL reduce using rule 146 (assoc_array -> [ empty ] .) - PYTHON_CODE_EXEC reduce using rule 146 (assoc_array -> [ empty ] .) - PYTHON_CODE reduce using rule 146 (assoc_array -> [ empty ] .) - # reduce using rule 146 (assoc_array -> [ empty ] .) - NEW reduce using rule 146 (assoc_array -> [ empty ] .) - ? reduce using rule 146 (assoc_array -> [ empty ] .) - HTMLSTART reduce using rule 146 (assoc_array -> [ empty ] .) - FOREACH reduce using rule 146 (assoc_array -> [ empty ] .) - FOR reduce using rule 146 (assoc_array -> [ empty ] .) - IF reduce using rule 146 (assoc_array -> [ empty ] .) - PHPSTART reduce using rule 146 (assoc_array -> [ empty ] .) - LIMPORT reduce using rule 146 (assoc_array -> [ empty ] .) - IMPORT reduce using rule 146 (assoc_array -> [ empty ] .) - RETURN reduce using rule 146 (assoc_array -> [ empty ] .) - DEL reduce using rule 146 (assoc_array -> [ empty ] .) - DEBUG reduce using rule 146 (assoc_array -> [ empty ] .) - SKIP reduce using rule 146 (assoc_array -> [ empty ] .) - BREAK reduce using rule 146 (assoc_array -> [ empty ] .) - LET reduce using rule 146 (assoc_array -> [ empty ] .) - WHILE reduce using rule 146 (assoc_array -> [ empty ] .) - NAMESPACE reduce using rule 146 (assoc_array -> [ empty ] .) - CLASS reduce using rule 146 (assoc_array -> [ empty ] .) - FUNC reduce using rule 146 (assoc_array -> [ empty ] .) - INIT reduce using rule 146 (assoc_array -> [ empty ] .) - $end reduce using rule 146 (assoc_array -> [ empty ] .) - ; reduce using rule 146 (assoc_array -> [ empty ] .) - | reduce using rule 146 (assoc_array -> [ empty ] .) - , reduce using rule 146 (assoc_array -> [ empty ] .) - PHPEND reduce using rule 146 (assoc_array -> [ empty ] .) - } reduce using rule 146 (assoc_array -> [ empty ] .) - ) reduce using rule 146 (assoc_array -> [ empty ] .) - SARROW reduce using rule 146 (assoc_array -> [ empty ] .) - ] reduce using rule 146 (assoc_array -> [ empty ] .) - HTMLEND reduce using rule 146 (assoc_array -> [ empty ] .) - EQ_DIV reduce using rule 146 (assoc_array -> [ empty ] .) - EQ_MOD reduce using rule 146 (assoc_array -> [ empty ] .) - EQ_MUL reduce using rule 146 (assoc_array -> [ empty ] .) - EQ_SUB reduce using rule 146 (assoc_array -> [ empty ] .) - EQ_ADD reduce using rule 146 (assoc_array -> [ empty ] .) - = reduce using rule 146 (assoc_array -> [ empty ] .) - AS reduce using rule 146 (assoc_array -> [ empty ] .) + (147) assoc_array -> [ empty ] . + > reduce using rule 147 (assoc_array -> [ empty ] .) + < reduce using rule 147 (assoc_array -> [ empty ] .) + & reduce using rule 147 (assoc_array -> [ empty ] .) + EQ_GREATER reduce using rule 147 (assoc_array -> [ empty ] .) + EQ_LESS reduce using rule 147 (assoc_array -> [ empty ] .) + NOT_EQEQ reduce using rule 147 (assoc_array -> [ empty ] .) + EQEQ reduce using rule 147 (assoc_array -> [ empty ] .) + % reduce using rule 147 (assoc_array -> [ empty ] .) + * reduce using rule 147 (assoc_array -> [ empty ] .) + / reduce using rule 147 (assoc_array -> [ empty ] .) + - reduce using rule 147 (assoc_array -> [ empty ] .) + + reduce using rule 147 (assoc_array -> [ empty ] .) + . reduce using rule 147 (assoc_array -> [ empty ] .) + COLON_COLON reduce using rule 147 (assoc_array -> [ empty ] .) + ^ reduce using rule 147 (assoc_array -> [ empty ] .) + [ reduce using rule 147 (assoc_array -> [ empty ] .) + ( reduce using rule 147 (assoc_array -> [ empty ] .) + $ reduce using rule 147 (assoc_array -> [ empty ] .) + ID reduce using rule 147 (assoc_array -> [ empty ] .) + ! reduce using rule 147 (assoc_array -> [ empty ] .) + { reduce using rule 147 (assoc_array -> [ empty ] .) + FORMATTED_STRING reduce using rule 147 (assoc_array -> [ empty ] .) + MULTILINE_STRING reduce using rule 147 (assoc_array -> [ empty ] .) + STRING reduce using rule 147 (assoc_array -> [ empty ] .) + CHAR reduce using rule 147 (assoc_array -> [ empty ] .) + FALSE reduce using rule 147 (assoc_array -> [ empty ] .) + TRUE reduce using rule 147 (assoc_array -> [ empty ] .) + FLOAT reduce using rule 147 (assoc_array -> [ empty ] .) + INT reduce using rule 147 (assoc_array -> [ empty ] .) + NULL reduce using rule 147 (assoc_array -> [ empty ] .) + PYTHON_CODE_EXEC reduce using rule 147 (assoc_array -> [ empty ] .) + PYTHON_CODE reduce using rule 147 (assoc_array -> [ empty ] .) + # reduce using rule 147 (assoc_array -> [ empty ] .) + NEW reduce using rule 147 (assoc_array -> [ empty ] .) + ? reduce using rule 147 (assoc_array -> [ empty ] .) + HTMLSTART reduce using rule 147 (assoc_array -> [ empty ] .) + FOREACH reduce using rule 147 (assoc_array -> [ empty ] .) + FOR reduce using rule 147 (assoc_array -> [ empty ] .) + IF reduce using rule 147 (assoc_array -> [ empty ] .) + PHPSTART reduce using rule 147 (assoc_array -> [ empty ] .) + LIMPORT reduce using rule 147 (assoc_array -> [ empty ] .) + IMPORT reduce using rule 147 (assoc_array -> [ empty ] .) + RETURN reduce using rule 147 (assoc_array -> [ empty ] .) + DEL reduce using rule 147 (assoc_array -> [ empty ] .) + DEBUG reduce using rule 147 (assoc_array -> [ empty ] .) + SKIP reduce using rule 147 (assoc_array -> [ empty ] .) + BREAK reduce using rule 147 (assoc_array -> [ empty ] .) + LET reduce using rule 147 (assoc_array -> [ empty ] .) + WHILE reduce using rule 147 (assoc_array -> [ empty ] .) + NAMESPACE reduce using rule 147 (assoc_array -> [ empty ] .) + CLASS reduce using rule 147 (assoc_array -> [ empty ] .) + FUNC reduce using rule 147 (assoc_array -> [ empty ] .) + INIT reduce using rule 147 (assoc_array -> [ empty ] .) + $end reduce using rule 147 (assoc_array -> [ empty ] .) + ; reduce using rule 147 (assoc_array -> [ empty ] .) + | reduce using rule 147 (assoc_array -> [ empty ] .) + , reduce using rule 147 (assoc_array -> [ empty ] .) + PHPEND reduce using rule 147 (assoc_array -> [ empty ] .) + } reduce using rule 147 (assoc_array -> [ empty ] .) + ) reduce using rule 147 (assoc_array -> [ empty ] .) + SARROW reduce using rule 147 (assoc_array -> [ empty ] .) + ] reduce using rule 147 (assoc_array -> [ empty ] .) + HTMLEND reduce using rule 147 (assoc_array -> [ empty ] .) + EQ_DIV reduce using rule 147 (assoc_array -> [ empty ] .) + EQ_MOD reduce using rule 147 (assoc_array -> [ empty ] .) + EQ_MUL reduce using rule 147 (assoc_array -> [ empty ] .) + EQ_SUB reduce using rule 147 (assoc_array -> [ empty ] .) + EQ_ADD reduce using rule 147 (assoc_array -> [ empty ] .) + = reduce using rule 147 (assoc_array -> [ empty ] .) + AS reduce using rule 147 (assoc_array -> [ empty ] .) -state 258 +state 256 - (153) _list -> [ positional_args , . ] - (113) positional_args -> positional_args , . expression + (154) _list -> [ positional_args , . ] + (114) positional_args -> positional_args , . expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -27015,28 +27003,28 @@ state 258 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -27061,14 +27049,14 @@ state 258 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ] shift and go to state 310 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ] shift and go to state 308 ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -27077,7 +27065,7 @@ state 258 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -27099,7 +27087,7 @@ state 258 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 276 + expression shift and go to state 277 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -27118,84 +27106,84 @@ state 258 conditional shift and go to state 88 if_statement shift and go to state 56 -state 259 +state 257 - (154) _list -> [ positional_args ] . - > reduce using rule 154 (_list -> [ positional_args ] .) - < reduce using rule 154 (_list -> [ positional_args ] .) - & reduce using rule 154 (_list -> [ positional_args ] .) - EQ_GREATER reduce using rule 154 (_list -> [ positional_args ] .) - EQ_LESS reduce using rule 154 (_list -> [ positional_args ] .) - NOT_EQEQ reduce using rule 154 (_list -> [ positional_args ] .) - EQEQ reduce using rule 154 (_list -> [ positional_args ] .) - % reduce using rule 154 (_list -> [ positional_args ] .) - * reduce using rule 154 (_list -> [ positional_args ] .) - / reduce using rule 154 (_list -> [ positional_args ] .) - - reduce using rule 154 (_list -> [ positional_args ] .) - + reduce using rule 154 (_list -> [ positional_args ] .) - . reduce using rule 154 (_list -> [ positional_args ] .) - COLON_COLON reduce using rule 154 (_list -> [ positional_args ] .) - ^ reduce using rule 154 (_list -> [ positional_args ] .) - [ reduce using rule 154 (_list -> [ positional_args ] .) - ( reduce using rule 154 (_list -> [ positional_args ] .) - $ reduce using rule 154 (_list -> [ positional_args ] .) - ID reduce using rule 154 (_list -> [ positional_args ] .) - ! reduce using rule 154 (_list -> [ positional_args ] .) - { reduce using rule 154 (_list -> [ positional_args ] .) - FORMATTED_STRING reduce using rule 154 (_list -> [ positional_args ] .) - MULTILINE_STRING reduce using rule 154 (_list -> [ positional_args ] .) - STRING reduce using rule 154 (_list -> [ positional_args ] .) - CHAR reduce using rule 154 (_list -> [ positional_args ] .) - FALSE reduce using rule 154 (_list -> [ positional_args ] .) - TRUE reduce using rule 154 (_list -> [ positional_args ] .) - FLOAT reduce using rule 154 (_list -> [ positional_args ] .) - INT reduce using rule 154 (_list -> [ positional_args ] .) - NULL reduce using rule 154 (_list -> [ positional_args ] .) - PYTHON_CODE_EXEC reduce using rule 154 (_list -> [ positional_args ] .) - PYTHON_CODE reduce using rule 154 (_list -> [ positional_args ] .) - # reduce using rule 154 (_list -> [ positional_args ] .) - NEW reduce using rule 154 (_list -> [ positional_args ] .) - ? reduce using rule 154 (_list -> [ positional_args ] .) - HTMLSTART reduce using rule 154 (_list -> [ positional_args ] .) - FOREACH reduce using rule 154 (_list -> [ positional_args ] .) - FOR reduce using rule 154 (_list -> [ positional_args ] .) - IF reduce using rule 154 (_list -> [ positional_args ] .) - PHPSTART reduce using rule 154 (_list -> [ positional_args ] .) - LIMPORT reduce using rule 154 (_list -> [ positional_args ] .) - IMPORT reduce using rule 154 (_list -> [ positional_args ] .) - RETURN reduce using rule 154 (_list -> [ positional_args ] .) - DEL reduce using rule 154 (_list -> [ positional_args ] .) - DEBUG reduce using rule 154 (_list -> [ positional_args ] .) - SKIP reduce using rule 154 (_list -> [ positional_args ] .) - BREAK reduce using rule 154 (_list -> [ positional_args ] .) - LET reduce using rule 154 (_list -> [ positional_args ] .) - WHILE reduce using rule 154 (_list -> [ positional_args ] .) - NAMESPACE reduce using rule 154 (_list -> [ positional_args ] .) - CLASS reduce using rule 154 (_list -> [ positional_args ] .) - FUNC reduce using rule 154 (_list -> [ positional_args ] .) - INIT reduce using rule 154 (_list -> [ positional_args ] .) - $end reduce using rule 154 (_list -> [ positional_args ] .) - ; reduce using rule 154 (_list -> [ positional_args ] .) - | reduce using rule 154 (_list -> [ positional_args ] .) - , reduce using rule 154 (_list -> [ positional_args ] .) - PHPEND reduce using rule 154 (_list -> [ positional_args ] .) - } reduce using rule 154 (_list -> [ positional_args ] .) - ) reduce using rule 154 (_list -> [ positional_args ] .) - SARROW reduce using rule 154 (_list -> [ positional_args ] .) - ] reduce using rule 154 (_list -> [ positional_args ] .) - HTMLEND reduce using rule 154 (_list -> [ positional_args ] .) - EQ_DIV reduce using rule 154 (_list -> [ positional_args ] .) - EQ_MOD reduce using rule 154 (_list -> [ positional_args ] .) - EQ_MUL reduce using rule 154 (_list -> [ positional_args ] .) - EQ_SUB reduce using rule 154 (_list -> [ positional_args ] .) - EQ_ADD reduce using rule 154 (_list -> [ positional_args ] .) - = reduce using rule 154 (_list -> [ positional_args ] .) - AS reduce using rule 154 (_list -> [ positional_args ] .) + (155) _list -> [ positional_args ] . + > reduce using rule 155 (_list -> [ positional_args ] .) + < reduce using rule 155 (_list -> [ positional_args ] .) + & reduce using rule 155 (_list -> [ positional_args ] .) + EQ_GREATER reduce using rule 155 (_list -> [ positional_args ] .) + EQ_LESS reduce using rule 155 (_list -> [ positional_args ] .) + NOT_EQEQ reduce using rule 155 (_list -> [ positional_args ] .) + EQEQ reduce using rule 155 (_list -> [ positional_args ] .) + % reduce using rule 155 (_list -> [ positional_args ] .) + * reduce using rule 155 (_list -> [ positional_args ] .) + / reduce using rule 155 (_list -> [ positional_args ] .) + - reduce using rule 155 (_list -> [ positional_args ] .) + + reduce using rule 155 (_list -> [ positional_args ] .) + . reduce using rule 155 (_list -> [ positional_args ] .) + COLON_COLON reduce using rule 155 (_list -> [ positional_args ] .) + ^ reduce using rule 155 (_list -> [ positional_args ] .) + [ reduce using rule 155 (_list -> [ positional_args ] .) + ( reduce using rule 155 (_list -> [ positional_args ] .) + $ reduce using rule 155 (_list -> [ positional_args ] .) + ID reduce using rule 155 (_list -> [ positional_args ] .) + ! reduce using rule 155 (_list -> [ positional_args ] .) + { reduce using rule 155 (_list -> [ positional_args ] .) + FORMATTED_STRING reduce using rule 155 (_list -> [ positional_args ] .) + MULTILINE_STRING reduce using rule 155 (_list -> [ positional_args ] .) + STRING reduce using rule 155 (_list -> [ positional_args ] .) + CHAR reduce using rule 155 (_list -> [ positional_args ] .) + FALSE reduce using rule 155 (_list -> [ positional_args ] .) + TRUE reduce using rule 155 (_list -> [ positional_args ] .) + FLOAT reduce using rule 155 (_list -> [ positional_args ] .) + INT reduce using rule 155 (_list -> [ positional_args ] .) + NULL reduce using rule 155 (_list -> [ positional_args ] .) + PYTHON_CODE_EXEC reduce using rule 155 (_list -> [ positional_args ] .) + PYTHON_CODE reduce using rule 155 (_list -> [ positional_args ] .) + # reduce using rule 155 (_list -> [ positional_args ] .) + NEW reduce using rule 155 (_list -> [ positional_args ] .) + ? reduce using rule 155 (_list -> [ positional_args ] .) + HTMLSTART reduce using rule 155 (_list -> [ positional_args ] .) + FOREACH reduce using rule 155 (_list -> [ positional_args ] .) + FOR reduce using rule 155 (_list -> [ positional_args ] .) + IF reduce using rule 155 (_list -> [ positional_args ] .) + PHPSTART reduce using rule 155 (_list -> [ positional_args ] .) + LIMPORT reduce using rule 155 (_list -> [ positional_args ] .) + IMPORT reduce using rule 155 (_list -> [ positional_args ] .) + RETURN reduce using rule 155 (_list -> [ positional_args ] .) + DEL reduce using rule 155 (_list -> [ positional_args ] .) + DEBUG reduce using rule 155 (_list -> [ positional_args ] .) + SKIP reduce using rule 155 (_list -> [ positional_args ] .) + BREAK reduce using rule 155 (_list -> [ positional_args ] .) + LET reduce using rule 155 (_list -> [ positional_args ] .) + WHILE reduce using rule 155 (_list -> [ positional_args ] .) + NAMESPACE reduce using rule 155 (_list -> [ positional_args ] .) + CLASS reduce using rule 155 (_list -> [ positional_args ] .) + FUNC reduce using rule 155 (_list -> [ positional_args ] .) + INIT reduce using rule 155 (_list -> [ positional_args ] .) + $end reduce using rule 155 (_list -> [ positional_args ] .) + ; reduce using rule 155 (_list -> [ positional_args ] .) + | reduce using rule 155 (_list -> [ positional_args ] .) + , reduce using rule 155 (_list -> [ positional_args ] .) + PHPEND reduce using rule 155 (_list -> [ positional_args ] .) + } reduce using rule 155 (_list -> [ positional_args ] .) + ) reduce using rule 155 (_list -> [ positional_args ] .) + SARROW reduce using rule 155 (_list -> [ positional_args ] .) + ] reduce using rule 155 (_list -> [ positional_args ] .) + HTMLEND reduce using rule 155 (_list -> [ positional_args ] .) + EQ_DIV reduce using rule 155 (_list -> [ positional_args ] .) + EQ_MOD reduce using rule 155 (_list -> [ positional_args ] .) + EQ_MUL reduce using rule 155 (_list -> [ positional_args ] .) + EQ_SUB reduce using rule 155 (_list -> [ positional_args ] .) + EQ_ADD reduce using rule 155 (_list -> [ positional_args ] .) + = reduce using rule 155 (_list -> [ positional_args ] .) + AS reduce using rule 155 (_list -> [ positional_args ] .) -state 260 +state 258 - (147) assoc_array_items -> expression SARROW . expression + (148) assoc_array_items -> expression SARROW . expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -27234,28 +27222,28 @@ state 260 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -27280,13 +27268,13 @@ state 260 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -27295,7 +27283,7 @@ state 260 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -27317,7 +27305,7 @@ state 260 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 311 + expression shift and go to state 309 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -27336,38 +27324,27 @@ state 260 conditional shift and go to state 88 if_statement shift and go to state 56 -state 261 +state 259 - (78) function_call -> # DEPENDS expression . - (33) expression -> expression . > expression - (34) expression -> expression . < expression - (38) expression -> expression . & expression - (40) expression -> expression . EQ_GREATER expression - (41) expression -> expression . EQ_LESS expression - (42) expression -> expression . NOT_EQEQ expression - (43) expression -> expression . EQEQ expression - (44) expression -> expression . % expression - (45) expression -> expression . * expression - (46) expression -> expression . / expression - (47) expression -> expression . - expression - (48) expression -> expression . + expression - (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] - (73) function_call -> expression . ( empty ) FARROW { program } - (80) function_call -> expression . ( empty ) - (87) function_call -> expression . ( function_arguments ) FARROW { program } - (88) function_call -> expression . $ ID = expression ; - (89) function_call -> expression . ( function_arguments ) - (90) function_call -> expression . function_arguments + (91) function_declaration -> FUNC ID COLON_COLON . ID ( empty ) { program } TARROW expression + (92) function_declaration -> FUNC ID COLON_COLON . ID ( function_arguments ) { program } TARROW expression + ID shift and go to state 310 + + +state 260 + + (98) function_declaration -> FUNC ID ( . empty ) { program } + (99) function_declaration -> FUNC ID ( . empty ) : expression { program } + (100) function_declaration -> FUNC ID ( . function_arguments ) { program } + (101) function_declaration -> FUNC ID ( . function_arguments ) : expression { program } + (170) empty -> . (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -27406,28 +27383,28 @@ state 261 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -27452,13 +27429,196 @@ state 261 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ) reduce using rule 170 (empty -> .) + ID shift and go to state 104 + ( shift and go to state 32 + ! shift and go to state 33 + + shift and go to state 34 + - shift and go to state 35 + * shift and go to state 38 + & shift and go to state 36 + $ shift and go to state 85 + [ shift and go to state 59 + { shift and go to state 49 + FORMATTED_STRING shift and go to state 62 + MULTILINE_STRING shift and go to state 63 + STRING shift and go to state 64 + CHAR shift and go to state 65 + FALSE shift and go to state 66 + TRUE shift and go to state 67 + FLOAT shift and go to state 68 + INT shift and go to state 69 + NULL shift and go to state 70 + PYTHON_CODE_EXEC shift and go to state 71 + PYTHON_CODE shift and go to state 72 + . shift and go to state 86 + # shift and go to state 73 + NEW shift and go to state 74 + ? shift and go to state 78 + HTMLSTART shift and go to state 75 + FOREACH shift and go to state 48 + FOR shift and go to state 50 + IF shift and go to state 76 + + empty shift and go to state 311 + expression shift and go to state 89 + function_arguments shift and go to state 312 + kwargs shift and go to state 110 + positional_args shift and go to state 111 + id shift and go to state 24 + assoc_array shift and go to state 20 + _list shift and go to state 21 + _tuple shift and go to state 22 + class_attribute shift and go to state 23 + string shift and go to state 25 + bool shift and go to state 26 + float shift and go to state 27 + int shift and go to state 28 + null shift and go to state 29 + get_index shift and go to state 81 + python_code shift and go to state 82 + function_call shift and go to state 83 + html_full shift and go to state 42 + for_loop shift and go to state 87 + conditional shift and go to state 88 + if_statement shift and go to state 56 + +state 261 + + (93) function_declaration -> INIT ( function_arguments . ) { program } ; + ) shift and go to state 313 + + +state 262 + + (78) function_call -> # DEPENDS expression . + (33) expression -> expression . > expression + (34) expression -> expression . < expression + (38) expression -> expression . & expression + (40) expression -> expression . EQ_GREATER expression + (41) expression -> expression . EQ_LESS expression + (42) expression -> expression . NOT_EQEQ expression + (43) expression -> expression . EQEQ expression + (44) expression -> expression . % expression + (45) expression -> expression . * expression + (46) expression -> expression . / expression + (47) expression -> expression . - expression + (48) expression -> expression . + expression + (54) expression -> expression . . expression + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] + (73) function_call -> expression . ( empty ) FARROW { program } + (80) function_call -> expression . ( empty ) + (87) function_call -> expression . ( function_arguments ) FARROW { program } + (88) function_call -> expression . $ ID = expression ; + (89) function_call -> expression . ( function_arguments ) + (90) function_call -> expression . function_arguments + (102) function_arguments -> . kwargs + (103) function_arguments -> . positional_args , kwargs + (104) function_arguments -> . positional_args + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression + (20) expression -> . assoc_array + (21) expression -> . _list + (22) expression -> . _tuple + (23) expression -> . class_attribute + (24) expression -> . id + (25) expression -> . string + (26) expression -> . bool + (27) expression -> . float + (28) expression -> . int + (29) expression -> . null + (30) expression -> . get_index + (31) expression -> . python_code + (32) expression -> . ( expression ) + (33) expression -> . expression > expression + (34) expression -> . expression < expression + (35) expression -> . ! expression + (36) expression -> . + expression + (37) expression -> . - expression + (38) expression -> . expression & expression + (39) expression -> . function_call | function_call + (40) expression -> . expression EQ_GREATER expression + (41) expression -> . expression EQ_LESS expression + (42) expression -> . expression NOT_EQEQ expression + (43) expression -> . expression EQEQ expression + (44) expression -> . expression % expression + (45) expression -> . expression * expression + (46) expression -> . expression / expression + (47) expression -> . expression - expression + (48) expression -> . expression + expression + (49) expression -> . function_call + (50) expression -> . * ID + (51) expression -> . & ID + (52) expression -> . ID OF ID + (53) expression -> . $ expression + (54) expression -> . expression . expression + (55) expression -> . html_full + (56) expression -> . for_loop + (57) expression -> . conditional + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE + (71) function_call -> . . ENV FROM ID { program } + (72) function_call -> . . ENV { program } + (73) function_call -> . expression ( empty ) FARROW { program } + (74) function_call -> . ID TARROW ID ( function_arguments ) + (75) function_call -> . ID \ ID + (76) function_call -> . ID / ID + (77) function_call -> . ID TARROW ID + (78) function_call -> . # DEPENDS expression + (79) function_call -> . # DEFINE expression ? ID + (80) function_call -> . expression ( empty ) + (81) function_call -> . NEW expression ( empty ) + (82) function_call -> . NEW expression ( function_arguments ) + (83) function_call -> . ID COLON_COLON ID ( empty ) + (84) function_call -> . ID COLON_COLON ID ( function_arguments ) + (85) function_call -> . $ ID TARROW ID ( empty ) + (86) function_call -> . $ ID TARROW ID ( function_arguments ) + (87) function_call -> . expression ( function_arguments ) FARROW { program } + (88) function_call -> . expression $ ID = expression ; + (89) function_call -> . expression ( function_arguments ) + (90) function_call -> . expression function_arguments + (60) html_full -> . ? HTMLEND + (61) html_full -> . HTMLSTART + (62) html_full -> . HTMLSTART empty HTMLEND + (63) html_full -> . HTMLSTART expression HTMLEND + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! shift/reduce conflict for > resolved as shift ! shift/reduce conflict for < resolved as shift ! shift/reduce conflict for & resolved as shift @@ -27591,7 +27751,7 @@ state 261 conditional shift and go to state 88 if_statement shift and go to state 56 -state 262 +state 263 (79) function_call -> # DEFINE expression . ? ID (33) expression -> expression . > expression @@ -27607,9 +27767,9 @@ state 262 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -27619,10 +27779,10 @@ state 262 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -27661,28 +27821,28 @@ state 262 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -27707,14 +27867,14 @@ state 262 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ? shift and go to state 312 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ? shift and go to state 314 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -27776,7 +27936,7 @@ state 262 conditional shift and go to state 88 if_statement shift and go to state 56 -state 263 +state 264 (81) function_call -> NEW expression ( . empty ) (82) function_call -> NEW expression ( . function_arguments ) @@ -27785,7 +27945,7 @@ state 263 (87) function_call -> expression ( . function_arguments ) FARROW { program } (89) function_call -> expression ( . function_arguments ) (32) expression -> ( . expression ) - (169) empty -> . + (170) empty -> . (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args @@ -27827,32 +27987,32 @@ state 263 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -27877,14 +28037,14 @@ state 263 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ) reduce using rule 169 (empty -> .) + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ) reduce using rule 170 (empty -> .) ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -27893,7 +28053,7 @@ state 263 & shift and go to state 36 ID shift and go to state 200 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -27916,8 +28076,8 @@ state 263 IF shift and go to state 76 expression shift and go to state 197 - empty shift and go to state 313 - function_arguments shift and go to state 314 + empty shift and go to state 315 + function_arguments shift and go to state 316 kwargs shift and go to state 110 positional_args shift and go to state 111 assoc_array shift and go to state 20 @@ -27938,7 +28098,7 @@ state 263 conditional shift and go to state 88 if_statement shift and go to state 56 -state 264 +state 265 (62) html_full -> HTMLSTART empty HTMLEND . > reduce using rule 62 (html_full -> HTMLSTART empty HTMLEND .) @@ -28013,7 +28173,7 @@ state 264 AS reduce using rule 62 (html_full -> HTMLSTART empty HTMLEND .) -state 265 +state 266 (63) html_full -> HTMLSTART expression HTMLEND . > reduce using rule 63 (html_full -> HTMLSTART expression HTMLEND .) @@ -28088,9 +28248,9 @@ state 265 AS reduce using rule 63 (html_full -> HTMLSTART expression HTMLEND .) -state 266 +state 267 - (134) if_statement -> IF ( expression . ) { program } + (135) if_statement -> IF ( expression . ) { program } (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -28104,9 +28264,9 @@ state 266 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -28116,10 +28276,10 @@ state 266 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -28158,28 +28318,28 @@ state 266 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -28204,14 +28364,14 @@ state 266 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ) shift and go to state 315 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ) shift and go to state 317 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -28274,18 +28434,18 @@ state 266 conditional shift and go to state 88 if_statement shift and go to state 56 -state 267 +state 268 (85) function_call -> $ ID TARROW . ID ( empty ) (86) function_call -> $ ID TARROW . ID ( function_arguments ) (74) function_call -> ID TARROW . ID ( function_arguments ) (77) function_call -> ID TARROW . ID - ID shift and go to state 316 + ID shift and go to state 318 -state 268 +state 269 - (114) kwargs -> ID = expression . + (115) kwargs -> ID = expression . (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -28299,9 +28459,9 @@ state 268 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -28311,10 +28471,10 @@ state 268 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -28353,28 +28513,28 @@ state 268 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -28399,69 +28559,69 @@ state 268 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - , reduce using rule 114 (kwargs -> ID = expression .) - | reduce using rule 114 (kwargs -> ID = expression .) - ; reduce using rule 114 (kwargs -> ID = expression .) - . reduce using rule 114 (kwargs -> ID = expression .) - ^ reduce using rule 114 (kwargs -> ID = expression .) - [ reduce using rule 114 (kwargs -> ID = expression .) - ( reduce using rule 114 (kwargs -> ID = expression .) - $ reduce using rule 114 (kwargs -> ID = expression .) - ID reduce using rule 114 (kwargs -> ID = expression .) - { reduce using rule 114 (kwargs -> ID = expression .) - FORMATTED_STRING reduce using rule 114 (kwargs -> ID = expression .) - MULTILINE_STRING reduce using rule 114 (kwargs -> ID = expression .) - STRING reduce using rule 114 (kwargs -> ID = expression .) - CHAR reduce using rule 114 (kwargs -> ID = expression .) - FALSE reduce using rule 114 (kwargs -> ID = expression .) - TRUE reduce using rule 114 (kwargs -> ID = expression .) - FLOAT reduce using rule 114 (kwargs -> ID = expression .) - INT reduce using rule 114 (kwargs -> ID = expression .) - NULL reduce using rule 114 (kwargs -> ID = expression .) - PYTHON_CODE_EXEC reduce using rule 114 (kwargs -> ID = expression .) - PYTHON_CODE reduce using rule 114 (kwargs -> ID = expression .) - # reduce using rule 114 (kwargs -> ID = expression .) - NEW reduce using rule 114 (kwargs -> ID = expression .) - ? reduce using rule 114 (kwargs -> ID = expression .) - HTMLSTART reduce using rule 114 (kwargs -> ID = expression .) - FOREACH reduce using rule 114 (kwargs -> ID = expression .) - FOR reduce using rule 114 (kwargs -> ID = expression .) - IF reduce using rule 114 (kwargs -> ID = expression .) - PHPSTART reduce using rule 114 (kwargs -> ID = expression .) - LIMPORT reduce using rule 114 (kwargs -> ID = expression .) - IMPORT reduce using rule 114 (kwargs -> ID = expression .) - RETURN reduce using rule 114 (kwargs -> ID = expression .) - DEL reduce using rule 114 (kwargs -> ID = expression .) - DEBUG reduce using rule 114 (kwargs -> ID = expression .) - SKIP reduce using rule 114 (kwargs -> ID = expression .) - BREAK reduce using rule 114 (kwargs -> ID = expression .) - LET reduce using rule 114 (kwargs -> ID = expression .) - WHILE reduce using rule 114 (kwargs -> ID = expression .) - NAMESPACE reduce using rule 114 (kwargs -> ID = expression .) - CLASS reduce using rule 114 (kwargs -> ID = expression .) - FUNC reduce using rule 114 (kwargs -> ID = expression .) - INIT reduce using rule 114 (kwargs -> ID = expression .) - $end reduce using rule 114 (kwargs -> ID = expression .) - PHPEND reduce using rule 114 (kwargs -> ID = expression .) - } reduce using rule 114 (kwargs -> ID = expression .) - ) reduce using rule 114 (kwargs -> ID = expression .) - SARROW reduce using rule 114 (kwargs -> ID = expression .) - ] reduce using rule 114 (kwargs -> ID = expression .) - HTMLEND reduce using rule 114 (kwargs -> ID = expression .) - EQ_DIV reduce using rule 114 (kwargs -> ID = expression .) - EQ_MOD reduce using rule 114 (kwargs -> ID = expression .) - EQ_MUL reduce using rule 114 (kwargs -> ID = expression .) - EQ_SUB reduce using rule 114 (kwargs -> ID = expression .) - EQ_ADD reduce using rule 114 (kwargs -> ID = expression .) - = reduce using rule 114 (kwargs -> ID = expression .) - AS reduce using rule 114 (kwargs -> ID = expression .) + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + , reduce using rule 115 (kwargs -> ID = expression .) + | reduce using rule 115 (kwargs -> ID = expression .) + ; reduce using rule 115 (kwargs -> ID = expression .) + . reduce using rule 115 (kwargs -> ID = expression .) + ^ reduce using rule 115 (kwargs -> ID = expression .) + [ reduce using rule 115 (kwargs -> ID = expression .) + ( reduce using rule 115 (kwargs -> ID = expression .) + $ reduce using rule 115 (kwargs -> ID = expression .) + ID reduce using rule 115 (kwargs -> ID = expression .) + { reduce using rule 115 (kwargs -> ID = expression .) + FORMATTED_STRING reduce using rule 115 (kwargs -> ID = expression .) + MULTILINE_STRING reduce using rule 115 (kwargs -> ID = expression .) + STRING reduce using rule 115 (kwargs -> ID = expression .) + CHAR reduce using rule 115 (kwargs -> ID = expression .) + FALSE reduce using rule 115 (kwargs -> ID = expression .) + TRUE reduce using rule 115 (kwargs -> ID = expression .) + FLOAT reduce using rule 115 (kwargs -> ID = expression .) + INT reduce using rule 115 (kwargs -> ID = expression .) + NULL reduce using rule 115 (kwargs -> ID = expression .) + PYTHON_CODE_EXEC reduce using rule 115 (kwargs -> ID = expression .) + PYTHON_CODE reduce using rule 115 (kwargs -> ID = expression .) + # reduce using rule 115 (kwargs -> ID = expression .) + NEW reduce using rule 115 (kwargs -> ID = expression .) + ? reduce using rule 115 (kwargs -> ID = expression .) + HTMLSTART reduce using rule 115 (kwargs -> ID = expression .) + FOREACH reduce using rule 115 (kwargs -> ID = expression .) + FOR reduce using rule 115 (kwargs -> ID = expression .) + IF reduce using rule 115 (kwargs -> ID = expression .) + PHPSTART reduce using rule 115 (kwargs -> ID = expression .) + LIMPORT reduce using rule 115 (kwargs -> ID = expression .) + IMPORT reduce using rule 115 (kwargs -> ID = expression .) + RETURN reduce using rule 115 (kwargs -> ID = expression .) + DEL reduce using rule 115 (kwargs -> ID = expression .) + DEBUG reduce using rule 115 (kwargs -> ID = expression .) + SKIP reduce using rule 115 (kwargs -> ID = expression .) + BREAK reduce using rule 115 (kwargs -> ID = expression .) + LET reduce using rule 115 (kwargs -> ID = expression .) + WHILE reduce using rule 115 (kwargs -> ID = expression .) + NAMESPACE reduce using rule 115 (kwargs -> ID = expression .) + CLASS reduce using rule 115 (kwargs -> ID = expression .) + FUNC reduce using rule 115 (kwargs -> ID = expression .) + INIT reduce using rule 115 (kwargs -> ID = expression .) + $end reduce using rule 115 (kwargs -> ID = expression .) + PHPEND reduce using rule 115 (kwargs -> ID = expression .) + } reduce using rule 115 (kwargs -> ID = expression .) + ) reduce using rule 115 (kwargs -> ID = expression .) + SARROW reduce using rule 115 (kwargs -> ID = expression .) + ] reduce using rule 115 (kwargs -> ID = expression .) + HTMLEND reduce using rule 115 (kwargs -> ID = expression .) + EQ_DIV reduce using rule 115 (kwargs -> ID = expression .) + EQ_MOD reduce using rule 115 (kwargs -> ID = expression .) + EQ_MUL reduce using rule 115 (kwargs -> ID = expression .) + EQ_SUB reduce using rule 115 (kwargs -> ID = expression .) + EQ_ADD reduce using rule 115 (kwargs -> ID = expression .) + = reduce using rule 115 (kwargs -> ID = expression .) + AS reduce using rule 115 (kwargs -> ID = expression .) > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -28499,86 +28659,86 @@ state 268 conditional shift and go to state 88 if_statement shift and go to state 56 -state 269 +state 270 - (150) get_index -> expression [ expression ] . - EQ_DIV reduce using rule 150 (get_index -> expression [ expression ] .) - EQ_MOD reduce using rule 150 (get_index -> expression [ expression ] .) - EQ_MUL reduce using rule 150 (get_index -> expression [ expression ] .) - EQ_SUB reduce using rule 150 (get_index -> expression [ expression ] .) - EQ_ADD reduce using rule 150 (get_index -> expression [ expression ] .) - > reduce using rule 150 (get_index -> expression [ expression ] .) - < reduce using rule 150 (get_index -> expression [ expression ] .) - & reduce using rule 150 (get_index -> expression [ expression ] .) - EQ_GREATER reduce using rule 150 (get_index -> expression [ expression ] .) - EQ_LESS reduce using rule 150 (get_index -> expression [ expression ] .) - NOT_EQEQ reduce using rule 150 (get_index -> expression [ expression ] .) - EQEQ reduce using rule 150 (get_index -> expression [ expression ] .) - % reduce using rule 150 (get_index -> expression [ expression ] .) - * reduce using rule 150 (get_index -> expression [ expression ] .) - / reduce using rule 150 (get_index -> expression [ expression ] .) - - reduce using rule 150 (get_index -> expression [ expression ] .) - + reduce using rule 150 (get_index -> expression [ expression ] .) - . reduce using rule 150 (get_index -> expression [ expression ] .) - COLON_COLON reduce using rule 150 (get_index -> expression [ expression ] .) - ^ reduce using rule 150 (get_index -> expression [ expression ] .) - [ reduce using rule 150 (get_index -> expression [ expression ] .) - ( reduce using rule 150 (get_index -> expression [ expression ] .) - $ reduce using rule 150 (get_index -> expression [ expression ] .) - ID reduce using rule 150 (get_index -> expression [ expression ] .) - ! reduce using rule 150 (get_index -> expression [ expression ] .) - { reduce using rule 150 (get_index -> expression [ expression ] .) - FORMATTED_STRING reduce using rule 150 (get_index -> expression [ expression ] .) - MULTILINE_STRING reduce using rule 150 (get_index -> expression [ expression ] .) - STRING reduce using rule 150 (get_index -> expression [ expression ] .) - CHAR reduce using rule 150 (get_index -> expression [ expression ] .) - FALSE reduce using rule 150 (get_index -> expression [ expression ] .) - TRUE reduce using rule 150 (get_index -> expression [ expression ] .) - FLOAT reduce using rule 150 (get_index -> expression [ expression ] .) - INT reduce using rule 150 (get_index -> expression [ expression ] .) - NULL reduce using rule 150 (get_index -> expression [ expression ] .) - PYTHON_CODE_EXEC reduce using rule 150 (get_index -> expression [ expression ] .) - PYTHON_CODE reduce using rule 150 (get_index -> expression [ expression ] .) - # reduce using rule 150 (get_index -> expression [ expression ] .) - NEW reduce using rule 150 (get_index -> expression [ expression ] .) - ? reduce using rule 150 (get_index -> expression [ expression ] .) - HTMLSTART reduce using rule 150 (get_index -> expression [ expression ] .) - FOREACH reduce using rule 150 (get_index -> expression [ expression ] .) - FOR reduce using rule 150 (get_index -> expression [ expression ] .) - IF reduce using rule 150 (get_index -> expression [ expression ] .) - PHPSTART reduce using rule 150 (get_index -> expression [ expression ] .) - LIMPORT reduce using rule 150 (get_index -> expression [ expression ] .) - IMPORT reduce using rule 150 (get_index -> expression [ expression ] .) - RETURN reduce using rule 150 (get_index -> expression [ expression ] .) - DEL reduce using rule 150 (get_index -> expression [ expression ] .) - DEBUG reduce using rule 150 (get_index -> expression [ expression ] .) - SKIP reduce using rule 150 (get_index -> expression [ expression ] .) - BREAK reduce using rule 150 (get_index -> expression [ expression ] .) - LET reduce using rule 150 (get_index -> expression [ expression ] .) - WHILE reduce using rule 150 (get_index -> expression [ expression ] .) - NAMESPACE reduce using rule 150 (get_index -> expression [ expression ] .) - CLASS reduce using rule 150 (get_index -> expression [ expression ] .) - FUNC reduce using rule 150 (get_index -> expression [ expression ] .) - INIT reduce using rule 150 (get_index -> expression [ expression ] .) - $end reduce using rule 150 (get_index -> expression [ expression ] .) - ; reduce using rule 150 (get_index -> expression [ expression ] .) - | reduce using rule 150 (get_index -> expression [ expression ] .) - , reduce using rule 150 (get_index -> expression [ expression ] .) - PHPEND reduce using rule 150 (get_index -> expression [ expression ] .) - } reduce using rule 150 (get_index -> expression [ expression ] .) - ) reduce using rule 150 (get_index -> expression [ expression ] .) - SARROW reduce using rule 150 (get_index -> expression [ expression ] .) - ] reduce using rule 150 (get_index -> expression [ expression ] .) - HTMLEND reduce using rule 150 (get_index -> expression [ expression ] .) - = reduce using rule 150 (get_index -> expression [ expression ] .) - AS reduce using rule 150 (get_index -> expression [ expression ] .) + (151) get_index -> expression [ expression ] . + EQ_DIV reduce using rule 151 (get_index -> expression [ expression ] .) + EQ_MOD reduce using rule 151 (get_index -> expression [ expression ] .) + EQ_MUL reduce using rule 151 (get_index -> expression [ expression ] .) + EQ_SUB reduce using rule 151 (get_index -> expression [ expression ] .) + EQ_ADD reduce using rule 151 (get_index -> expression [ expression ] .) + > reduce using rule 151 (get_index -> expression [ expression ] .) + < reduce using rule 151 (get_index -> expression [ expression ] .) + & reduce using rule 151 (get_index -> expression [ expression ] .) + EQ_GREATER reduce using rule 151 (get_index -> expression [ expression ] .) + EQ_LESS reduce using rule 151 (get_index -> expression [ expression ] .) + NOT_EQEQ reduce using rule 151 (get_index -> expression [ expression ] .) + EQEQ reduce using rule 151 (get_index -> expression [ expression ] .) + % reduce using rule 151 (get_index -> expression [ expression ] .) + * reduce using rule 151 (get_index -> expression [ expression ] .) + / reduce using rule 151 (get_index -> expression [ expression ] .) + - reduce using rule 151 (get_index -> expression [ expression ] .) + + reduce using rule 151 (get_index -> expression [ expression ] .) + . reduce using rule 151 (get_index -> expression [ expression ] .) + COLON_COLON reduce using rule 151 (get_index -> expression [ expression ] .) + ^ reduce using rule 151 (get_index -> expression [ expression ] .) + [ reduce using rule 151 (get_index -> expression [ expression ] .) + ( reduce using rule 151 (get_index -> expression [ expression ] .) + $ reduce using rule 151 (get_index -> expression [ expression ] .) + ID reduce using rule 151 (get_index -> expression [ expression ] .) + ! reduce using rule 151 (get_index -> expression [ expression ] .) + { reduce using rule 151 (get_index -> expression [ expression ] .) + FORMATTED_STRING reduce using rule 151 (get_index -> expression [ expression ] .) + MULTILINE_STRING reduce using rule 151 (get_index -> expression [ expression ] .) + STRING reduce using rule 151 (get_index -> expression [ expression ] .) + CHAR reduce using rule 151 (get_index -> expression [ expression ] .) + FALSE reduce using rule 151 (get_index -> expression [ expression ] .) + TRUE reduce using rule 151 (get_index -> expression [ expression ] .) + FLOAT reduce using rule 151 (get_index -> expression [ expression ] .) + INT reduce using rule 151 (get_index -> expression [ expression ] .) + NULL reduce using rule 151 (get_index -> expression [ expression ] .) + PYTHON_CODE_EXEC reduce using rule 151 (get_index -> expression [ expression ] .) + PYTHON_CODE reduce using rule 151 (get_index -> expression [ expression ] .) + # reduce using rule 151 (get_index -> expression [ expression ] .) + NEW reduce using rule 151 (get_index -> expression [ expression ] .) + ? reduce using rule 151 (get_index -> expression [ expression ] .) + HTMLSTART reduce using rule 151 (get_index -> expression [ expression ] .) + FOREACH reduce using rule 151 (get_index -> expression [ expression ] .) + FOR reduce using rule 151 (get_index -> expression [ expression ] .) + IF reduce using rule 151 (get_index -> expression [ expression ] .) + PHPSTART reduce using rule 151 (get_index -> expression [ expression ] .) + LIMPORT reduce using rule 151 (get_index -> expression [ expression ] .) + IMPORT reduce using rule 151 (get_index -> expression [ expression ] .) + RETURN reduce using rule 151 (get_index -> expression [ expression ] .) + DEL reduce using rule 151 (get_index -> expression [ expression ] .) + DEBUG reduce using rule 151 (get_index -> expression [ expression ] .) + SKIP reduce using rule 151 (get_index -> expression [ expression ] .) + BREAK reduce using rule 151 (get_index -> expression [ expression ] .) + LET reduce using rule 151 (get_index -> expression [ expression ] .) + WHILE reduce using rule 151 (get_index -> expression [ expression ] .) + NAMESPACE reduce using rule 151 (get_index -> expression [ expression ] .) + CLASS reduce using rule 151 (get_index -> expression [ expression ] .) + FUNC reduce using rule 151 (get_index -> expression [ expression ] .) + INIT reduce using rule 151 (get_index -> expression [ expression ] .) + $end reduce using rule 151 (get_index -> expression [ expression ] .) + ; reduce using rule 151 (get_index -> expression [ expression ] .) + | reduce using rule 151 (get_index -> expression [ expression ] .) + , reduce using rule 151 (get_index -> expression [ expression ] .) + PHPEND reduce using rule 151 (get_index -> expression [ expression ] .) + } reduce using rule 151 (get_index -> expression [ expression ] .) + ) reduce using rule 151 (get_index -> expression [ expression ] .) + SARROW reduce using rule 151 (get_index -> expression [ expression ] .) + ] reduce using rule 151 (get_index -> expression [ expression ] .) + HTMLEND reduce using rule 151 (get_index -> expression [ expression ] .) + = reduce using rule 151 (get_index -> expression [ expression ] .) + AS reduce using rule 151 (get_index -> expression [ expression ] .) -state 270 +state 271 (73) function_call -> expression ( empty ) . FARROW { program } (80) function_call -> expression ( empty ) . - FARROW shift and go to state 317 + FARROW shift and go to state 319 | reduce using rule 80 (function_call -> expression ( empty ) .) ; reduce using rule 80 (function_call -> expression ( empty ) .) > reduce using rule 80 (function_call -> expression ( empty ) .) @@ -28651,11 +28811,11 @@ state 270 AS reduce using rule 80 (function_call -> expression ( empty ) .) -state 271 +state 272 (87) function_call -> expression ( function_arguments ) . FARROW { program } (89) function_call -> expression ( function_arguments ) . - FARROW shift and go to state 318 + FARROW shift and go to state 320 | reduce using rule 89 (function_call -> expression ( function_arguments ) .) ; reduce using rule 89 (function_call -> expression ( function_arguments ) .) > reduce using rule 89 (function_call -> expression ( function_arguments ) .) @@ -28728,7 +28888,7 @@ state 271 AS reduce using rule 89 (function_call -> expression ( function_arguments ) .) -state 272 +state 273 (88) function_call -> expression $ ID = . expression ; (20) expression -> . assoc_array @@ -28769,28 +28929,28 @@ state 272 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -28815,13 +28975,13 @@ state 272 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -28830,7 +28990,7 @@ state 272 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -28852,7 +29012,7 @@ state 272 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 319 + expression shift and go to state 321 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -28871,22 +29031,22 @@ state 272 conditional shift and go to state 88 if_statement shift and go to state 56 -state 273 +state 274 - (115) kwargs -> kwargs , id . = expression - = shift and go to state 320 + (116) kwargs -> kwargs , id . = expression + = shift and go to state 322 -state 274 +state 275 - (166) id -> ID . - = reduce using rule 166 (id -> ID .) + (167) id -> ID . + = reduce using rule 167 (id -> ID .) -state 275 +state 276 (103) function_arguments -> positional_args , kwargs . - (115) kwargs -> kwargs . , id = expression + (116) kwargs -> kwargs . , id = expression | reduce using rule 103 (function_arguments -> positional_args , kwargs .) ; reduce using rule 103 (function_arguments -> positional_args , kwargs .) > reduce using rule 103 (function_arguments -> positional_args , kwargs .) @@ -28959,9 +29119,9 @@ state 275 AS reduce using rule 103 (function_arguments -> positional_args , kwargs .) -state 276 +state 277 - (113) positional_args -> positional_args , expression . + (114) positional_args -> positional_args , expression . (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -28975,9 +29135,9 @@ state 276 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -28987,10 +29147,10 @@ state 276 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -29029,28 +29189,28 @@ state 276 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -29075,69 +29235,69 @@ state 276 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - | reduce using rule 113 (positional_args -> positional_args , expression .) - ; reduce using rule 113 (positional_args -> positional_args , expression .) - . reduce using rule 113 (positional_args -> positional_args , expression .) - ^ reduce using rule 113 (positional_args -> positional_args , expression .) - [ reduce using rule 113 (positional_args -> positional_args , expression .) - ( reduce using rule 113 (positional_args -> positional_args , expression .) - $ reduce using rule 113 (positional_args -> positional_args , expression .) - ID reduce using rule 113 (positional_args -> positional_args , expression .) - { reduce using rule 113 (positional_args -> positional_args , expression .) - FORMATTED_STRING reduce using rule 113 (positional_args -> positional_args , expression .) - MULTILINE_STRING reduce using rule 113 (positional_args -> positional_args , expression .) - STRING reduce using rule 113 (positional_args -> positional_args , expression .) - CHAR reduce using rule 113 (positional_args -> positional_args , expression .) - FALSE reduce using rule 113 (positional_args -> positional_args , expression .) - TRUE reduce using rule 113 (positional_args -> positional_args , expression .) - FLOAT reduce using rule 113 (positional_args -> positional_args , expression .) - INT reduce using rule 113 (positional_args -> positional_args , expression .) - NULL reduce using rule 113 (positional_args -> positional_args , expression .) - PYTHON_CODE_EXEC reduce using rule 113 (positional_args -> positional_args , expression .) - PYTHON_CODE reduce using rule 113 (positional_args -> positional_args , expression .) - # reduce using rule 113 (positional_args -> positional_args , expression .) - NEW reduce using rule 113 (positional_args -> positional_args , expression .) - ? reduce using rule 113 (positional_args -> positional_args , expression .) - HTMLSTART reduce using rule 113 (positional_args -> positional_args , expression .) - FOREACH reduce using rule 113 (positional_args -> positional_args , expression .) - FOR reduce using rule 113 (positional_args -> positional_args , expression .) - IF reduce using rule 113 (positional_args -> positional_args , expression .) - PHPSTART reduce using rule 113 (positional_args -> positional_args , expression .) - LIMPORT reduce using rule 113 (positional_args -> positional_args , expression .) - IMPORT reduce using rule 113 (positional_args -> positional_args , expression .) - RETURN reduce using rule 113 (positional_args -> positional_args , expression .) - DEL reduce using rule 113 (positional_args -> positional_args , expression .) - DEBUG reduce using rule 113 (positional_args -> positional_args , expression .) - SKIP reduce using rule 113 (positional_args -> positional_args , expression .) - BREAK reduce using rule 113 (positional_args -> positional_args , expression .) - LET reduce using rule 113 (positional_args -> positional_args , expression .) - WHILE reduce using rule 113 (positional_args -> positional_args , expression .) - NAMESPACE reduce using rule 113 (positional_args -> positional_args , expression .) - CLASS reduce using rule 113 (positional_args -> positional_args , expression .) - FUNC reduce using rule 113 (positional_args -> positional_args , expression .) - INIT reduce using rule 113 (positional_args -> positional_args , expression .) - $end reduce using rule 113 (positional_args -> positional_args , expression .) - , reduce using rule 113 (positional_args -> positional_args , expression .) - PHPEND reduce using rule 113 (positional_args -> positional_args , expression .) - } reduce using rule 113 (positional_args -> positional_args , expression .) - ] reduce using rule 113 (positional_args -> positional_args , expression .) - ) reduce using rule 113 (positional_args -> positional_args , expression .) - SARROW reduce using rule 113 (positional_args -> positional_args , expression .) - HTMLEND reduce using rule 113 (positional_args -> positional_args , expression .) - EQ_DIV reduce using rule 113 (positional_args -> positional_args , expression .) - EQ_MOD reduce using rule 113 (positional_args -> positional_args , expression .) - EQ_MUL reduce using rule 113 (positional_args -> positional_args , expression .) - EQ_SUB reduce using rule 113 (positional_args -> positional_args , expression .) - EQ_ADD reduce using rule 113 (positional_args -> positional_args , expression .) - = reduce using rule 113 (positional_args -> positional_args , expression .) - AS reduce using rule 113 (positional_args -> positional_args , expression .) + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + | reduce using rule 114 (positional_args -> positional_args , expression .) + ; reduce using rule 114 (positional_args -> positional_args , expression .) + . reduce using rule 114 (positional_args -> positional_args , expression .) + ^ reduce using rule 114 (positional_args -> positional_args , expression .) + [ reduce using rule 114 (positional_args -> positional_args , expression .) + ( reduce using rule 114 (positional_args -> positional_args , expression .) + $ reduce using rule 114 (positional_args -> positional_args , expression .) + ID reduce using rule 114 (positional_args -> positional_args , expression .) + { reduce using rule 114 (positional_args -> positional_args , expression .) + FORMATTED_STRING reduce using rule 114 (positional_args -> positional_args , expression .) + MULTILINE_STRING reduce using rule 114 (positional_args -> positional_args , expression .) + STRING reduce using rule 114 (positional_args -> positional_args , expression .) + CHAR reduce using rule 114 (positional_args -> positional_args , expression .) + FALSE reduce using rule 114 (positional_args -> positional_args , expression .) + TRUE reduce using rule 114 (positional_args -> positional_args , expression .) + FLOAT reduce using rule 114 (positional_args -> positional_args , expression .) + INT reduce using rule 114 (positional_args -> positional_args , expression .) + NULL reduce using rule 114 (positional_args -> positional_args , expression .) + PYTHON_CODE_EXEC reduce using rule 114 (positional_args -> positional_args , expression .) + PYTHON_CODE reduce using rule 114 (positional_args -> positional_args , expression .) + # reduce using rule 114 (positional_args -> positional_args , expression .) + NEW reduce using rule 114 (positional_args -> positional_args , expression .) + ? reduce using rule 114 (positional_args -> positional_args , expression .) + HTMLSTART reduce using rule 114 (positional_args -> positional_args , expression .) + FOREACH reduce using rule 114 (positional_args -> positional_args , expression .) + FOR reduce using rule 114 (positional_args -> positional_args , expression .) + IF reduce using rule 114 (positional_args -> positional_args , expression .) + PHPSTART reduce using rule 114 (positional_args -> positional_args , expression .) + LIMPORT reduce using rule 114 (positional_args -> positional_args , expression .) + IMPORT reduce using rule 114 (positional_args -> positional_args , expression .) + RETURN reduce using rule 114 (positional_args -> positional_args , expression .) + DEL reduce using rule 114 (positional_args -> positional_args , expression .) + DEBUG reduce using rule 114 (positional_args -> positional_args , expression .) + SKIP reduce using rule 114 (positional_args -> positional_args , expression .) + BREAK reduce using rule 114 (positional_args -> positional_args , expression .) + LET reduce using rule 114 (positional_args -> positional_args , expression .) + WHILE reduce using rule 114 (positional_args -> positional_args , expression .) + NAMESPACE reduce using rule 114 (positional_args -> positional_args , expression .) + CLASS reduce using rule 114 (positional_args -> positional_args , expression .) + FUNC reduce using rule 114 (positional_args -> positional_args , expression .) + INIT reduce using rule 114 (positional_args -> positional_args , expression .) + $end reduce using rule 114 (positional_args -> positional_args , expression .) + , reduce using rule 114 (positional_args -> positional_args , expression .) + PHPEND reduce using rule 114 (positional_args -> positional_args , expression .) + } reduce using rule 114 (positional_args -> positional_args , expression .) + ] reduce using rule 114 (positional_args -> positional_args , expression .) + ) reduce using rule 114 (positional_args -> positional_args , expression .) + SARROW reduce using rule 114 (positional_args -> positional_args , expression .) + HTMLEND reduce using rule 114 (positional_args -> positional_args , expression .) + EQ_DIV reduce using rule 114 (positional_args -> positional_args , expression .) + EQ_MOD reduce using rule 114 (positional_args -> positional_args , expression .) + EQ_MUL reduce using rule 114 (positional_args -> positional_args , expression .) + EQ_SUB reduce using rule 114 (positional_args -> positional_args , expression .) + EQ_ADD reduce using rule 114 (positional_args -> positional_args , expression .) + = reduce using rule 114 (positional_args -> positional_args , expression .) + AS reduce using rule 114 (positional_args -> positional_args , expression .) > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -29175,530 +29335,530 @@ state 276 conditional shift and go to state 88 if_statement shift and go to state 56 -state 277 - - (120) variable_operation -> get_index EQ_DIV expression ; . - ? reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - ( reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - ! reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - + reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - - reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - * reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - & reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - ID reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - $ reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - PHPSTART reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - LIMPORT reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - . reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - IMPORT reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - RETURN reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - DEL reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - FOREACH reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - FOR reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - DEBUG reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - SKIP reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - BREAK reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - LET reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - WHILE reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - NAMESPACE reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - CLASS reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - FUNC reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - INIT reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - [ reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - { reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - FORMATTED_STRING reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - MULTILINE_STRING reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - STRING reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - CHAR reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - FALSE reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - TRUE reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - FLOAT reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - INT reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - NULL reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - PYTHON_CODE_EXEC reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - PYTHON_CODE reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - # reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - NEW reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - HTMLSTART reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - IF reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - $end reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - PHPEND reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - } reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .) - - state 278 - (122) variable_operation -> get_index EQ_MOD expression ; . - ? reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - ( reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - ! reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - + reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - - reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - * reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - & reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - ID reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - $ reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - PHPSTART reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - LIMPORT reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - . reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - IMPORT reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - RETURN reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - DEL reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - FOREACH reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - FOR reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - DEBUG reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - SKIP reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - BREAK reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - LET reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - WHILE reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - NAMESPACE reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - CLASS reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - FUNC reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - INIT reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - [ reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - { reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - FORMATTED_STRING reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - MULTILINE_STRING reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - STRING reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - CHAR reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - FALSE reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - TRUE reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - FLOAT reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - INT reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - NULL reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - PYTHON_CODE_EXEC reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - PYTHON_CODE reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - # reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - NEW reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - HTMLSTART reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - IF reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - $end reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - PHPEND reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) - } reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .) + (121) variable_operation -> get_index EQ_DIV expression ; . + ? reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + ( reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + ! reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + + reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + - reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + * reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + & reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + ID reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + $ reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + PHPSTART reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + LIMPORT reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + . reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + IMPORT reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + RETURN reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + DEL reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + FOREACH reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + FOR reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + DEBUG reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + SKIP reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + BREAK reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + LET reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + WHILE reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + NAMESPACE reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + CLASS reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + FUNC reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + INIT reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + [ reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + { reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + FORMATTED_STRING reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + MULTILINE_STRING reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + STRING reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + CHAR reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + FALSE reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + TRUE reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + FLOAT reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + INT reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + NULL reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + PYTHON_CODE_EXEC reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + PYTHON_CODE reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + # reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + NEW reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + HTMLSTART reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + IF reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + $end reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + PHPEND reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) + } reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .) state 279 - (124) variable_operation -> get_index EQ_MUL expression ; . - ? reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - ( reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - ! reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - + reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - - reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - * reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - & reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - ID reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - $ reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - PHPSTART reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - LIMPORT reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - . reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - IMPORT reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - RETURN reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - DEL reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - FOREACH reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - FOR reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - DEBUG reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - SKIP reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - BREAK reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - LET reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - WHILE reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - NAMESPACE reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - CLASS reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - FUNC reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - INIT reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - [ reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - { reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - FORMATTED_STRING reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - MULTILINE_STRING reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - STRING reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - CHAR reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - FALSE reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - TRUE reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - FLOAT reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - INT reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - NULL reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - PYTHON_CODE_EXEC reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - PYTHON_CODE reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - # reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - NEW reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - HTMLSTART reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - IF reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - $end reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - PHPEND reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) - } reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .) + (123) variable_operation -> get_index EQ_MOD expression ; . + ? reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + ( reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + ! reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + + reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + - reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + * reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + & reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + ID reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + $ reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + PHPSTART reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + LIMPORT reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + . reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + IMPORT reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + RETURN reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + DEL reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + FOREACH reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + FOR reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + DEBUG reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + SKIP reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + BREAK reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + LET reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + WHILE reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + NAMESPACE reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + CLASS reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + FUNC reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + INIT reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + [ reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + { reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + FORMATTED_STRING reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + MULTILINE_STRING reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + STRING reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + CHAR reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + FALSE reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + TRUE reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + FLOAT reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + INT reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + NULL reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + PYTHON_CODE_EXEC reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + PYTHON_CODE reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + # reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + NEW reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + HTMLSTART reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + IF reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + $end reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + PHPEND reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) + } reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .) state 280 - (126) variable_operation -> get_index EQ_SUB expression ; . - ? reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - ( reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - ! reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - + reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - - reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - * reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - & reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - ID reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - $ reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - PHPSTART reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - LIMPORT reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - . reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - IMPORT reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - RETURN reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - DEL reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - FOREACH reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - FOR reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - DEBUG reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - SKIP reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - BREAK reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - LET reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - WHILE reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - NAMESPACE reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - CLASS reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - FUNC reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - INIT reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - [ reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - { reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - FORMATTED_STRING reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - MULTILINE_STRING reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - STRING reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - CHAR reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - FALSE reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - TRUE reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - FLOAT reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - INT reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - NULL reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - PYTHON_CODE_EXEC reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - PYTHON_CODE reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - # reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - NEW reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - HTMLSTART reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - IF reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - $end reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - PHPEND reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) - } reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .) + (125) variable_operation -> get_index EQ_MUL expression ; . + ? reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + ( reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + ! reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + + reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + - reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + * reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + & reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + ID reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + $ reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + PHPSTART reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + LIMPORT reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + . reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + IMPORT reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + RETURN reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + DEL reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + FOREACH reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + FOR reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + DEBUG reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + SKIP reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + BREAK reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + LET reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + WHILE reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + NAMESPACE reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + CLASS reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + FUNC reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + INIT reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + [ reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + { reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + FORMATTED_STRING reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + MULTILINE_STRING reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + STRING reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + CHAR reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + FALSE reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + TRUE reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + FLOAT reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + INT reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + NULL reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + PYTHON_CODE_EXEC reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + PYTHON_CODE reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + # reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + NEW reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + HTMLSTART reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + IF reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + $end reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + PHPEND reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) + } reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .) state 281 - (128) variable_operation -> get_index EQ_ADD expression ; . - ? reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - ( reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - ! reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - + reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - - reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - * reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - & reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - ID reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - $ reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - PHPSTART reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - LIMPORT reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - . reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - IMPORT reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - RETURN reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - DEL reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - FOREACH reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - FOR reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - DEBUG reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - SKIP reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - BREAK reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - LET reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - WHILE reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - NAMESPACE reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - CLASS reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - FUNC reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - INIT reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - [ reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - { reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - FORMATTED_STRING reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - MULTILINE_STRING reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - STRING reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - CHAR reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - FALSE reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - TRUE reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - FLOAT reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - INT reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - NULL reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - PYTHON_CODE_EXEC reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - PYTHON_CODE reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - # reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - NEW reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - HTMLSTART reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - IF reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - $end reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - PHPEND reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) - } reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .) + (127) variable_operation -> get_index EQ_SUB expression ; . + ? reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + ( reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + ! reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + + reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + - reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + * reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + & reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + ID reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + $ reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + PHPSTART reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + LIMPORT reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + . reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + IMPORT reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + RETURN reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + DEL reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + FOREACH reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + FOR reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + DEBUG reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + SKIP reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + BREAK reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + LET reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + WHILE reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + NAMESPACE reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + CLASS reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + FUNC reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + INIT reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + [ reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + { reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + FORMATTED_STRING reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + MULTILINE_STRING reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + STRING reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + CHAR reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + FALSE reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + TRUE reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + FLOAT reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + INT reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + NULL reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + PYTHON_CODE_EXEC reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + PYTHON_CODE reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + # reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + NEW reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + HTMLSTART reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + IF reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + $end reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + PHPEND reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) + } reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .) state 282 - (121) variable_operation -> ID EQ_DIV expression ; . - ? reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - ( reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - ! reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - + reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - - reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - * reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - & reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - ID reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - $ reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - PHPSTART reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - LIMPORT reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - . reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - IMPORT reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - RETURN reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - DEL reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - FOREACH reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - FOR reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - DEBUG reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - SKIP reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - BREAK reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - LET reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - WHILE reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - NAMESPACE reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - CLASS reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - FUNC reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - INIT reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - [ reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - { reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - FORMATTED_STRING reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - MULTILINE_STRING reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - STRING reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - CHAR reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - FALSE reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - TRUE reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - FLOAT reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - INT reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - NULL reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - PYTHON_CODE_EXEC reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - PYTHON_CODE reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - # reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - NEW reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - HTMLSTART reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - IF reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - $end reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - PHPEND reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) - } reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .) + (129) variable_operation -> get_index EQ_ADD expression ; . + ? reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + ( reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + ! reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + + reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + - reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + * reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + & reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + ID reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + $ reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + PHPSTART reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + LIMPORT reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + . reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + IMPORT reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + RETURN reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + DEL reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + FOREACH reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + FOR reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + DEBUG reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + SKIP reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + BREAK reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + LET reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + WHILE reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + NAMESPACE reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + CLASS reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + FUNC reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + INIT reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + [ reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + { reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + FORMATTED_STRING reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + MULTILINE_STRING reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + STRING reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + CHAR reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + FALSE reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + TRUE reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + FLOAT reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + INT reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + NULL reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + PYTHON_CODE_EXEC reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + PYTHON_CODE reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + # reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + NEW reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + HTMLSTART reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + IF reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + $end reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + PHPEND reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) + } reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .) state 283 - (123) variable_operation -> ID EQ_MOD expression ; . - ? reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - ( reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - ! reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - + reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - - reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - * reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - & reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - ID reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - $ reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - PHPSTART reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - LIMPORT reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - . reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - IMPORT reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - RETURN reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - DEL reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - FOREACH reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - FOR reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - DEBUG reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - SKIP reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - BREAK reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - LET reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - WHILE reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - NAMESPACE reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - CLASS reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - FUNC reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - INIT reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - [ reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - { reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - FORMATTED_STRING reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - MULTILINE_STRING reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - STRING reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - CHAR reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - FALSE reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - TRUE reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - FLOAT reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - INT reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - NULL reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - PYTHON_CODE_EXEC reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - PYTHON_CODE reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - # reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - NEW reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - HTMLSTART reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - IF reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - $end reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - PHPEND reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) - } reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .) + (122) variable_operation -> ID EQ_DIV expression ; . + ? reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + ( reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + ! reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + + reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + - reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + * reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + & reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + ID reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + $ reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + PHPSTART reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + LIMPORT reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + . reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + IMPORT reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + RETURN reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + DEL reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + FOREACH reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + FOR reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + DEBUG reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + SKIP reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + BREAK reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + LET reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + WHILE reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + NAMESPACE reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + CLASS reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + FUNC reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + INIT reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + [ reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + { reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + FORMATTED_STRING reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + MULTILINE_STRING reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + STRING reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + CHAR reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + FALSE reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + TRUE reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + FLOAT reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + INT reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + NULL reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + PYTHON_CODE_EXEC reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + PYTHON_CODE reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + # reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + NEW reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + HTMLSTART reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + IF reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + $end reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + PHPEND reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) + } reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .) state 284 - (125) variable_operation -> ID EQ_MUL expression ; . - ? reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - ( reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - ! reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - + reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - - reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - * reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - & reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - ID reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - $ reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - PHPSTART reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - LIMPORT reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - . reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - IMPORT reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - RETURN reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - DEL reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - FOREACH reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - FOR reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - DEBUG reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - SKIP reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - BREAK reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - LET reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - WHILE reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - NAMESPACE reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - CLASS reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - FUNC reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - INIT reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - [ reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - { reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - FORMATTED_STRING reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - MULTILINE_STRING reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - STRING reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - CHAR reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - FALSE reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - TRUE reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - FLOAT reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - INT reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - NULL reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - PYTHON_CODE_EXEC reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - PYTHON_CODE reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - # reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - NEW reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - HTMLSTART reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - IF reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - $end reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - PHPEND reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) - } reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .) + (124) variable_operation -> ID EQ_MOD expression ; . + ? reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + ( reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + ! reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + + reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + - reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + * reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + & reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + ID reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + $ reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + PHPSTART reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + LIMPORT reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + . reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + IMPORT reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + RETURN reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + DEL reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + FOREACH reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + FOR reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + DEBUG reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + SKIP reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + BREAK reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + LET reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + WHILE reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + NAMESPACE reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + CLASS reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + FUNC reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + INIT reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + [ reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + { reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + FORMATTED_STRING reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + MULTILINE_STRING reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + STRING reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + CHAR reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + FALSE reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + TRUE reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + FLOAT reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + INT reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + NULL reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + PYTHON_CODE_EXEC reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + PYTHON_CODE reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + # reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + NEW reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + HTMLSTART reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + IF reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + $end reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + PHPEND reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) + } reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .) state 285 - (127) variable_operation -> ID EQ_SUB expression ; . - ? reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - ( reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - ! reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - + reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - - reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - * reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - & reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - ID reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - $ reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - PHPSTART reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - LIMPORT reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - . reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - IMPORT reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - RETURN reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - DEL reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - FOREACH reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - FOR reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - DEBUG reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - SKIP reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - BREAK reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - LET reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - WHILE reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - NAMESPACE reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - CLASS reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - FUNC reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - INIT reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - [ reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - { reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - FORMATTED_STRING reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - MULTILINE_STRING reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - STRING reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - CHAR reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - FALSE reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - TRUE reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - FLOAT reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - INT reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - NULL reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - PYTHON_CODE_EXEC reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - PYTHON_CODE reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - # reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - NEW reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - HTMLSTART reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - IF reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - $end reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - PHPEND reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) - } reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .) + (126) variable_operation -> ID EQ_MUL expression ; . + ? reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + ( reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + ! reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + + reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + - reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + * reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + & reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + ID reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + $ reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + PHPSTART reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + LIMPORT reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + . reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + IMPORT reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + RETURN reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + DEL reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + FOREACH reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + FOR reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + DEBUG reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + SKIP reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + BREAK reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + LET reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + WHILE reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + NAMESPACE reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + CLASS reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + FUNC reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + INIT reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + [ reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + { reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + FORMATTED_STRING reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + MULTILINE_STRING reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + STRING reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + CHAR reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + FALSE reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + TRUE reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + FLOAT reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + INT reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + NULL reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + PYTHON_CODE_EXEC reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + PYTHON_CODE reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + # reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + NEW reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + HTMLSTART reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + IF reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + $end reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + PHPEND reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) + } reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .) state 286 - (129) variable_operation -> ID EQ_ADD expression ; . - ? reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - ( reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - ! reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - + reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - - reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - * reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - & reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - ID reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - $ reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - PHPSTART reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - LIMPORT reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - . reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - IMPORT reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - RETURN reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - DEL reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - FOREACH reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - FOR reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - DEBUG reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - SKIP reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - BREAK reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - LET reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - WHILE reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - NAMESPACE reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - CLASS reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - FUNC reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - INIT reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - [ reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - { reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - FORMATTED_STRING reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - MULTILINE_STRING reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - STRING reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - CHAR reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - FALSE reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - TRUE reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - FLOAT reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - INT reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - NULL reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - PYTHON_CODE_EXEC reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - PYTHON_CODE reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - # reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - NEW reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - HTMLSTART reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - IF reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - $end reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - PHPEND reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) - } reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .) + (128) variable_operation -> ID EQ_SUB expression ; . + ? reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + ( reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + ! reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + + reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + - reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + * reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + & reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + ID reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + $ reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + PHPSTART reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + LIMPORT reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + . reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + IMPORT reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + RETURN reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + DEL reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + FOREACH reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + FOR reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + DEBUG reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + SKIP reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + BREAK reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + LET reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + WHILE reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + NAMESPACE reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + CLASS reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + FUNC reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + INIT reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + [ reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + { reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + FORMATTED_STRING reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + MULTILINE_STRING reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + STRING reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + CHAR reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + FALSE reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + TRUE reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + FLOAT reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + INT reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + NULL reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + PYTHON_CODE_EXEC reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + PYTHON_CODE reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + # reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + NEW reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + HTMLSTART reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + IF reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + $end reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + PHPEND reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) + } reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .) state 287 + (130) variable_operation -> ID EQ_ADD expression ; . + ? reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + ( reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + ! reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + + reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + - reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + * reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + & reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + ID reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + $ reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + PHPSTART reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + LIMPORT reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + . reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + IMPORT reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + RETURN reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + DEL reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + FOREACH reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + FOR reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + DEBUG reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + SKIP reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + BREAK reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + LET reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + WHILE reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + NAMESPACE reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + CLASS reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + FUNC reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + INIT reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + [ reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + { reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + FORMATTED_STRING reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + MULTILINE_STRING reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + STRING reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + CHAR reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + FALSE reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + TRUE reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + FLOAT reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + INT reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + NULL reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + PYTHON_CODE_EXEC reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + PYTHON_CODE reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + # reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + NEW reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + HTMLSTART reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + IF reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + $end reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + PHPEND reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + } reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .) + + +state 288 + (94) function_declaration -> ID FUNC ID ( . empty ) { program } (95) function_declaration -> ID FUNC ID ( . function_arguments ) { program } (96) function_declaration -> ID FUNC ID ( . empty ) : expression { program } (97) function_declaration -> ID FUNC ID ( . function_arguments ) : expression { program } - (169) empty -> . + (170) empty -> . (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -29737,28 +29897,28 @@ state 287 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -29783,14 +29943,14 @@ state 287 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ) reduce using rule 169 (empty -> .) + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ) reduce using rule 170 (empty -> .) ID shift and go to state 104 ( shift and go to state 32 ! shift and go to state 33 @@ -29799,7 +29959,7 @@ state 287 * shift and go to state 38 & shift and go to state 36 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -29821,8 +29981,8 @@ state 287 FOR shift and go to state 50 IF shift and go to state 76 - empty shift and go to state 321 - function_arguments shift and go to state 322 + empty shift and go to state 323 + function_arguments shift and go to state 324 expression shift and go to state 89 kwargs shift and go to state 110 positional_args shift and go to state 111 @@ -29844,16 +30004,16 @@ state 287 conditional shift and go to state 88 if_statement shift and go to state 56 -state 288 +state 289 (74) function_call -> ID TARROW ID ( . function_arguments ) (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -29892,28 +30052,28 @@ state 288 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -29938,13 +30098,13 @@ state 288 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ID shift and go to state 104 ( shift and go to state 32 ! shift and go to state 33 @@ -29953,7 +30113,7 @@ state 288 * shift and go to state 38 & shift and go to state 36 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -29975,7 +30135,7 @@ state 288 FOR shift and go to state 50 IF shift and go to state 76 - function_arguments shift and go to state 323 + function_arguments shift and go to state 325 kwargs shift and go to state 110 positional_args shift and go to state 111 expression shift and go to state 89 @@ -29997,18 +30157,18 @@ state 288 conditional shift and go to state 88 if_statement shift and go to state 56 -state 289 +state 290 (83) function_call -> ID COLON_COLON ID ( . empty ) (84) function_call -> ID COLON_COLON ID ( . function_arguments ) - (169) empty -> . + (170) empty -> . (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -30047,28 +30207,28 @@ state 289 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -30093,14 +30253,14 @@ state 289 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ) reduce using rule 169 (empty -> .) + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ) reduce using rule 170 (empty -> .) ID shift and go to state 104 ( shift and go to state 32 ! shift and go to state 33 @@ -30109,7 +30269,7 @@ state 289 * shift and go to state 38 & shift and go to state 36 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -30131,8 +30291,8 @@ state 289 FOR shift and go to state 50 IF shift and go to state 76 - empty shift and go to state 324 - function_arguments shift and go to state 325 + empty shift and go to state 326 + function_arguments shift and go to state 327 kwargs shift and go to state 110 positional_args shift and go to state 111 expression shift and go to state 89 @@ -30154,9 +30314,9 @@ state 289 conditional shift and go to state 88 if_statement shift and go to state 56 -state 290 +state 291 - (116) variable_assignment -> $ get_index = expression . ; + (117) variable_assignment -> $ get_index = expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -30170,9 +30330,9 @@ state 290 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -30182,10 +30342,10 @@ state 290 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -30224,28 +30384,28 @@ state 290 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -30270,14 +30430,14 @@ state 290 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 326 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 328 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -30340,16 +30500,16 @@ state 290 conditional shift and go to state 88 if_statement shift and go to state 56 -state 291 +state 292 - (118) variable_assignment -> $ ID TARROW ID . = expression ; + (119) variable_assignment -> $ ID TARROW ID . = expression ; (85) function_call -> $ ID TARROW ID . ( empty ) (86) function_call -> $ ID TARROW ID . ( function_arguments ) (74) function_call -> ID TARROW ID . ( function_arguments ) (77) function_call -> ID TARROW ID . ! shift/reduce conflict for ( resolved as shift - = shift and go to state 327 - ( shift and go to state 328 + = shift and go to state 329 + ( shift and go to state 330 | reduce using rule 77 (function_call -> ID TARROW ID .) > reduce using rule 77 (function_call -> ID TARROW ID .) < reduce using rule 77 (function_call -> ID TARROW ID .) @@ -30409,9 +30569,9 @@ state 291 , reduce using rule 77 (function_call -> ID TARROW ID .) -state 292 +state 293 - (119) variable_assignment -> $ ID = expression . ; + (120) variable_assignment -> $ ID = expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -30425,9 +30585,9 @@ state 292 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -30437,10 +30597,10 @@ state 292 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -30479,28 +30639,28 @@ state 292 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -30525,14 +30685,14 @@ state 292 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 329 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 331 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -30595,13 +30755,13 @@ state 292 conditional shift and go to state 88 if_statement shift and go to state 56 -state 293 +state 294 (71) function_call -> . ENV FROM ID . { program } - { shift and go to state 330 + { shift and go to state 332 -state 294 +state 295 (72) function_call -> . ENV { program . } (3) program -> program . statement @@ -30661,41 +30821,42 @@ state 294 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -30707,28 +30868,28 @@ state 294 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -30753,8 +30914,8 @@ state 294 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 331 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 333 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -30779,9 +30940,9 @@ state 294 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -30831,9 +30992,9 @@ state 294 html_full shift and go to state 42 if_statement shift and go to state 56 -state 295 +state 296 - (109) for_loop -> FOREACH ( expression AS . expression ) { program } + (110) for_loop -> FOREACH ( expression AS . expression ) { program } (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -30872,28 +31033,28 @@ state 295 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -30918,13 +31079,13 @@ state 295 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -30933,7 +31094,7 @@ state 295 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -30955,7 +31116,7 @@ state 295 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 332 + expression shift and go to state 334 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -30974,102 +31135,102 @@ state 295 conditional shift and go to state 88 if_statement shift and go to state 56 -state 296 - - (151) _tuple -> { positional_args , } . - > reduce using rule 151 (_tuple -> { positional_args , } .) - < reduce using rule 151 (_tuple -> { positional_args , } .) - & reduce using rule 151 (_tuple -> { positional_args , } .) - EQ_GREATER reduce using rule 151 (_tuple -> { positional_args , } .) - EQ_LESS reduce using rule 151 (_tuple -> { positional_args , } .) - NOT_EQEQ reduce using rule 151 (_tuple -> { positional_args , } .) - EQEQ reduce using rule 151 (_tuple -> { positional_args , } .) - % reduce using rule 151 (_tuple -> { positional_args , } .) - * reduce using rule 151 (_tuple -> { positional_args , } .) - / reduce using rule 151 (_tuple -> { positional_args , } .) - - reduce using rule 151 (_tuple -> { positional_args , } .) - + reduce using rule 151 (_tuple -> { positional_args , } .) - . reduce using rule 151 (_tuple -> { positional_args , } .) - COLON_COLON reduce using rule 151 (_tuple -> { positional_args , } .) - ^ reduce using rule 151 (_tuple -> { positional_args , } .) - [ reduce using rule 151 (_tuple -> { positional_args , } .) - ( reduce using rule 151 (_tuple -> { positional_args , } .) - $ reduce using rule 151 (_tuple -> { positional_args , } .) - ID reduce using rule 151 (_tuple -> { positional_args , } .) - ! reduce using rule 151 (_tuple -> { positional_args , } .) - { reduce using rule 151 (_tuple -> { positional_args , } .) - FORMATTED_STRING reduce using rule 151 (_tuple -> { positional_args , } .) - MULTILINE_STRING reduce using rule 151 (_tuple -> { positional_args , } .) - STRING reduce using rule 151 (_tuple -> { positional_args , } .) - CHAR reduce using rule 151 (_tuple -> { positional_args , } .) - FALSE reduce using rule 151 (_tuple -> { positional_args , } .) - TRUE reduce using rule 151 (_tuple -> { positional_args , } .) - FLOAT reduce using rule 151 (_tuple -> { positional_args , } .) - INT reduce using rule 151 (_tuple -> { positional_args , } .) - NULL reduce using rule 151 (_tuple -> { positional_args , } .) - PYTHON_CODE_EXEC reduce using rule 151 (_tuple -> { positional_args , } .) - PYTHON_CODE reduce using rule 151 (_tuple -> { positional_args , } .) - # reduce using rule 151 (_tuple -> { positional_args , } .) - NEW reduce using rule 151 (_tuple -> { positional_args , } .) - ? reduce using rule 151 (_tuple -> { positional_args , } .) - HTMLSTART reduce using rule 151 (_tuple -> { positional_args , } .) - FOREACH reduce using rule 151 (_tuple -> { positional_args , } .) - FOR reduce using rule 151 (_tuple -> { positional_args , } .) - IF reduce using rule 151 (_tuple -> { positional_args , } .) - PHPSTART reduce using rule 151 (_tuple -> { positional_args , } .) - LIMPORT reduce using rule 151 (_tuple -> { positional_args , } .) - IMPORT reduce using rule 151 (_tuple -> { positional_args , } .) - RETURN reduce using rule 151 (_tuple -> { positional_args , } .) - DEL reduce using rule 151 (_tuple -> { positional_args , } .) - DEBUG reduce using rule 151 (_tuple -> { positional_args , } .) - SKIP reduce using rule 151 (_tuple -> { positional_args , } .) - BREAK reduce using rule 151 (_tuple -> { positional_args , } .) - LET reduce using rule 151 (_tuple -> { positional_args , } .) - WHILE reduce using rule 151 (_tuple -> { positional_args , } .) - NAMESPACE reduce using rule 151 (_tuple -> { positional_args , } .) - CLASS reduce using rule 151 (_tuple -> { positional_args , } .) - FUNC reduce using rule 151 (_tuple -> { positional_args , } .) - INIT reduce using rule 151 (_tuple -> { positional_args , } .) - $end reduce using rule 151 (_tuple -> { positional_args , } .) - ; reduce using rule 151 (_tuple -> { positional_args , } .) - | reduce using rule 151 (_tuple -> { positional_args , } .) - , reduce using rule 151 (_tuple -> { positional_args , } .) - PHPEND reduce using rule 151 (_tuple -> { positional_args , } .) - } reduce using rule 151 (_tuple -> { positional_args , } .) - ) reduce using rule 151 (_tuple -> { positional_args , } .) - SARROW reduce using rule 151 (_tuple -> { positional_args , } .) - ] reduce using rule 151 (_tuple -> { positional_args , } .) - HTMLEND reduce using rule 151 (_tuple -> { positional_args , } .) - EQ_DIV reduce using rule 151 (_tuple -> { positional_args , } .) - EQ_MOD reduce using rule 151 (_tuple -> { positional_args , } .) - EQ_MUL reduce using rule 151 (_tuple -> { positional_args , } .) - EQ_SUB reduce using rule 151 (_tuple -> { positional_args , } .) - EQ_ADD reduce using rule 151 (_tuple -> { positional_args , } .) - = reduce using rule 151 (_tuple -> { positional_args , } .) - AS reduce using rule 151 (_tuple -> { positional_args , } .) - - state 297 - (110) for_loop -> FOR ( expression ) . { program } - { shift and go to state 333 + (152) _tuple -> { positional_args , } . + > reduce using rule 152 (_tuple -> { positional_args , } .) + < reduce using rule 152 (_tuple -> { positional_args , } .) + & reduce using rule 152 (_tuple -> { positional_args , } .) + EQ_GREATER reduce using rule 152 (_tuple -> { positional_args , } .) + EQ_LESS reduce using rule 152 (_tuple -> { positional_args , } .) + NOT_EQEQ reduce using rule 152 (_tuple -> { positional_args , } .) + EQEQ reduce using rule 152 (_tuple -> { positional_args , } .) + % reduce using rule 152 (_tuple -> { positional_args , } .) + * reduce using rule 152 (_tuple -> { positional_args , } .) + / reduce using rule 152 (_tuple -> { positional_args , } .) + - reduce using rule 152 (_tuple -> { positional_args , } .) + + reduce using rule 152 (_tuple -> { positional_args , } .) + . reduce using rule 152 (_tuple -> { positional_args , } .) + COLON_COLON reduce using rule 152 (_tuple -> { positional_args , } .) + ^ reduce using rule 152 (_tuple -> { positional_args , } .) + [ reduce using rule 152 (_tuple -> { positional_args , } .) + ( reduce using rule 152 (_tuple -> { positional_args , } .) + $ reduce using rule 152 (_tuple -> { positional_args , } .) + ID reduce using rule 152 (_tuple -> { positional_args , } .) + ! reduce using rule 152 (_tuple -> { positional_args , } .) + { reduce using rule 152 (_tuple -> { positional_args , } .) + FORMATTED_STRING reduce using rule 152 (_tuple -> { positional_args , } .) + MULTILINE_STRING reduce using rule 152 (_tuple -> { positional_args , } .) + STRING reduce using rule 152 (_tuple -> { positional_args , } .) + CHAR reduce using rule 152 (_tuple -> { positional_args , } .) + FALSE reduce using rule 152 (_tuple -> { positional_args , } .) + TRUE reduce using rule 152 (_tuple -> { positional_args , } .) + FLOAT reduce using rule 152 (_tuple -> { positional_args , } .) + INT reduce using rule 152 (_tuple -> { positional_args , } .) + NULL reduce using rule 152 (_tuple -> { positional_args , } .) + PYTHON_CODE_EXEC reduce using rule 152 (_tuple -> { positional_args , } .) + PYTHON_CODE reduce using rule 152 (_tuple -> { positional_args , } .) + # reduce using rule 152 (_tuple -> { positional_args , } .) + NEW reduce using rule 152 (_tuple -> { positional_args , } .) + ? reduce using rule 152 (_tuple -> { positional_args , } .) + HTMLSTART reduce using rule 152 (_tuple -> { positional_args , } .) + FOREACH reduce using rule 152 (_tuple -> { positional_args , } .) + FOR reduce using rule 152 (_tuple -> { positional_args , } .) + IF reduce using rule 152 (_tuple -> { positional_args , } .) + PHPSTART reduce using rule 152 (_tuple -> { positional_args , } .) + LIMPORT reduce using rule 152 (_tuple -> { positional_args , } .) + IMPORT reduce using rule 152 (_tuple -> { positional_args , } .) + RETURN reduce using rule 152 (_tuple -> { positional_args , } .) + DEL reduce using rule 152 (_tuple -> { positional_args , } .) + DEBUG reduce using rule 152 (_tuple -> { positional_args , } .) + SKIP reduce using rule 152 (_tuple -> { positional_args , } .) + BREAK reduce using rule 152 (_tuple -> { positional_args , } .) + LET reduce using rule 152 (_tuple -> { positional_args , } .) + WHILE reduce using rule 152 (_tuple -> { positional_args , } .) + NAMESPACE reduce using rule 152 (_tuple -> { positional_args , } .) + CLASS reduce using rule 152 (_tuple -> { positional_args , } .) + FUNC reduce using rule 152 (_tuple -> { positional_args , } .) + INIT reduce using rule 152 (_tuple -> { positional_args , } .) + $end reduce using rule 152 (_tuple -> { positional_args , } .) + ; reduce using rule 152 (_tuple -> { positional_args , } .) + | reduce using rule 152 (_tuple -> { positional_args , } .) + , reduce using rule 152 (_tuple -> { positional_args , } .) + PHPEND reduce using rule 152 (_tuple -> { positional_args , } .) + } reduce using rule 152 (_tuple -> { positional_args , } .) + ) reduce using rule 152 (_tuple -> { positional_args , } .) + SARROW reduce using rule 152 (_tuple -> { positional_args , } .) + ] reduce using rule 152 (_tuple -> { positional_args , } .) + HTMLEND reduce using rule 152 (_tuple -> { positional_args , } .) + EQ_DIV reduce using rule 152 (_tuple -> { positional_args , } .) + EQ_MOD reduce using rule 152 (_tuple -> { positional_args , } .) + EQ_MUL reduce using rule 152 (_tuple -> { positional_args , } .) + EQ_SUB reduce using rule 152 (_tuple -> { positional_args , } .) + EQ_ADD reduce using rule 152 (_tuple -> { positional_args , } .) + = reduce using rule 152 (_tuple -> { positional_args , } .) + AS reduce using rule 152 (_tuple -> { positional_args , } .) state 298 - (117) variable_assignment -> LET ID : ID . = expression ; - = shift and go to state 334 + (111) for_loop -> FOR ( expression ) . { program } + { shift and go to state 335 state 299 - (111) while_loop -> WHILE ( expression ) . { program } - { shift and go to state 335 + (118) variable_assignment -> LET ID : ID . = expression ; + = shift and go to state 336 state 300 - (138) else_statement -> ELSE { program . } + (112) while_loop -> WHILE ( expression ) . { program } + { shift and go to state 337 + + +state 301 + + (139) else_statement -> ELSE { program . } (3) program -> program . statement (4) statement -> . ? expression ; (5) statement -> . expression @@ -31127,41 +31288,42 @@ state 300 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -31173,28 +31335,28 @@ state 300 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -31219,8 +31381,8 @@ state 300 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 336 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 338 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -31245,9 +31407,9 @@ state 300 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -31297,9 +31459,9 @@ state 300 html_full shift and go to state 42 if_statement shift and go to state 56 -state 301 +state 302 - (137) else_if_statement -> ELSE IF ( . expression ) { program } + (138) else_if_statement -> ELSE IF ( . expression ) { program } (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -31338,28 +31500,28 @@ state 301 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -31384,13 +31546,13 @@ state 301 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -31399,7 +31561,7 @@ state 301 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -31421,7 +31583,7 @@ state 301 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 337 + expression shift and go to state 339 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -31440,7 +31602,7 @@ state 301 conditional shift and go to state 88 if_statement shift and go to state 56 -state 302 +state 303 (106) class_declaration -> NAMESPACE ID { program . } (3) program -> program . statement @@ -31500,41 +31662,42 @@ state 302 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -31546,28 +31709,28 @@ state 302 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -31592,8 +31755,8 @@ state 302 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 338 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 340 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -31618,9 +31781,9 @@ state 302 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -31670,13 +31833,13 @@ state 302 html_full shift and go to state 42 if_statement shift and go to state 56 -state 303 +state 304 (107) class_declaration -> CLASS ID EXTENDS ID . { program } - { shift and go to state 339 + { shift and go to state 341 -state 304 +state 305 (108) class_declaration -> CLASS ID { program . } (3) program -> program . statement @@ -31736,41 +31899,42 @@ state 304 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -31782,28 +31946,28 @@ state 304 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -31828,8 +31992,8 @@ state 304 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 340 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 342 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -31854,9 +32018,9 @@ state 304 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -31906,36 +32070,17 @@ state 304 html_full shift and go to state 42 if_statement shift and go to state 56 -state 305 - - (91) function_declaration -> FUNC ID COLON_COLON ID . ( empty ) { program } TARROW expression - (92) function_declaration -> FUNC ID COLON_COLON ID . ( function_arguments ) { program } TARROW expression - ( shift and go to state 341 - - state 306 - (98) function_declaration -> FUNC ID ( empty . ) { program } - (99) function_declaration -> FUNC ID ( empty . ) : expression { program } - ) shift and go to state 342 + (109) class_declaration -> CLASS ID [ positional_args . ] { program } + (114) positional_args -> positional_args . , expression + ] shift and go to state 343 + , shift and go to state 344 state 307 - (100) function_declaration -> FUNC ID ( function_arguments . ) { program } - (101) function_declaration -> FUNC ID ( function_arguments . ) : expression { program } - ) shift and go to state 343 - - -state 308 - - (93) function_declaration -> INIT ( function_arguments ) . { program } ; - { shift and go to state 344 - - -state 309 - - (148) assoc_array_items -> assoc_array_items , expression . SARROW expression + (149) assoc_array_items -> assoc_array_items , expression . SARROW expression (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -31949,9 +32094,9 @@ state 309 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -31961,10 +32106,10 @@ state 309 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -32003,28 +32148,28 @@ state 309 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -32049,13 +32194,13 @@ state 309 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } SARROW shift and go to state 345 > shift and go to state 90 < shift and go to state 91 @@ -32119,84 +32264,84 @@ state 309 conditional shift and go to state 88 if_statement shift and go to state 56 -state 310 +state 308 - (153) _list -> [ positional_args , ] . - > reduce using rule 153 (_list -> [ positional_args , ] .) - < reduce using rule 153 (_list -> [ positional_args , ] .) - & reduce using rule 153 (_list -> [ positional_args , ] .) - EQ_GREATER reduce using rule 153 (_list -> [ positional_args , ] .) - EQ_LESS reduce using rule 153 (_list -> [ positional_args , ] .) - NOT_EQEQ reduce using rule 153 (_list -> [ positional_args , ] .) - EQEQ reduce using rule 153 (_list -> [ positional_args , ] .) - % reduce using rule 153 (_list -> [ positional_args , ] .) - * reduce using rule 153 (_list -> [ positional_args , ] .) - / reduce using rule 153 (_list -> [ positional_args , ] .) - - reduce using rule 153 (_list -> [ positional_args , ] .) - + reduce using rule 153 (_list -> [ positional_args , ] .) - . reduce using rule 153 (_list -> [ positional_args , ] .) - COLON_COLON reduce using rule 153 (_list -> [ positional_args , ] .) - ^ reduce using rule 153 (_list -> [ positional_args , ] .) - [ reduce using rule 153 (_list -> [ positional_args , ] .) - ( reduce using rule 153 (_list -> [ positional_args , ] .) - $ reduce using rule 153 (_list -> [ positional_args , ] .) - ID reduce using rule 153 (_list -> [ positional_args , ] .) - ! reduce using rule 153 (_list -> [ positional_args , ] .) - { reduce using rule 153 (_list -> [ positional_args , ] .) - FORMATTED_STRING reduce using rule 153 (_list -> [ positional_args , ] .) - MULTILINE_STRING reduce using rule 153 (_list -> [ positional_args , ] .) - STRING reduce using rule 153 (_list -> [ positional_args , ] .) - CHAR reduce using rule 153 (_list -> [ positional_args , ] .) - FALSE reduce using rule 153 (_list -> [ positional_args , ] .) - TRUE reduce using rule 153 (_list -> [ positional_args , ] .) - FLOAT reduce using rule 153 (_list -> [ positional_args , ] .) - INT reduce using rule 153 (_list -> [ positional_args , ] .) - NULL reduce using rule 153 (_list -> [ positional_args , ] .) - PYTHON_CODE_EXEC reduce using rule 153 (_list -> [ positional_args , ] .) - PYTHON_CODE reduce using rule 153 (_list -> [ positional_args , ] .) - # reduce using rule 153 (_list -> [ positional_args , ] .) - NEW reduce using rule 153 (_list -> [ positional_args , ] .) - ? reduce using rule 153 (_list -> [ positional_args , ] .) - HTMLSTART reduce using rule 153 (_list -> [ positional_args , ] .) - FOREACH reduce using rule 153 (_list -> [ positional_args , ] .) - FOR reduce using rule 153 (_list -> [ positional_args , ] .) - IF reduce using rule 153 (_list -> [ positional_args , ] .) - PHPSTART reduce using rule 153 (_list -> [ positional_args , ] .) - LIMPORT reduce using rule 153 (_list -> [ positional_args , ] .) - IMPORT reduce using rule 153 (_list -> [ positional_args , ] .) - RETURN reduce using rule 153 (_list -> [ positional_args , ] .) - DEL reduce using rule 153 (_list -> [ positional_args , ] .) - DEBUG reduce using rule 153 (_list -> [ positional_args , ] .) - SKIP reduce using rule 153 (_list -> [ positional_args , ] .) - BREAK reduce using rule 153 (_list -> [ positional_args , ] .) - LET reduce using rule 153 (_list -> [ positional_args , ] .) - WHILE reduce using rule 153 (_list -> [ positional_args , ] .) - NAMESPACE reduce using rule 153 (_list -> [ positional_args , ] .) - CLASS reduce using rule 153 (_list -> [ positional_args , ] .) - FUNC reduce using rule 153 (_list -> [ positional_args , ] .) - INIT reduce using rule 153 (_list -> [ positional_args , ] .) - $end reduce using rule 153 (_list -> [ positional_args , ] .) - ; reduce using rule 153 (_list -> [ positional_args , ] .) - | reduce using rule 153 (_list -> [ positional_args , ] .) - , reduce using rule 153 (_list -> [ positional_args , ] .) - PHPEND reduce using rule 153 (_list -> [ positional_args , ] .) - } reduce using rule 153 (_list -> [ positional_args , ] .) - ) reduce using rule 153 (_list -> [ positional_args , ] .) - SARROW reduce using rule 153 (_list -> [ positional_args , ] .) - ] reduce using rule 153 (_list -> [ positional_args , ] .) - HTMLEND reduce using rule 153 (_list -> [ positional_args , ] .) - EQ_DIV reduce using rule 153 (_list -> [ positional_args , ] .) - EQ_MOD reduce using rule 153 (_list -> [ positional_args , ] .) - EQ_MUL reduce using rule 153 (_list -> [ positional_args , ] .) - EQ_SUB reduce using rule 153 (_list -> [ positional_args , ] .) - EQ_ADD reduce using rule 153 (_list -> [ positional_args , ] .) - = reduce using rule 153 (_list -> [ positional_args , ] .) - AS reduce using rule 153 (_list -> [ positional_args , ] .) + (154) _list -> [ positional_args , ] . + > reduce using rule 154 (_list -> [ positional_args , ] .) + < reduce using rule 154 (_list -> [ positional_args , ] .) + & reduce using rule 154 (_list -> [ positional_args , ] .) + EQ_GREATER reduce using rule 154 (_list -> [ positional_args , ] .) + EQ_LESS reduce using rule 154 (_list -> [ positional_args , ] .) + NOT_EQEQ reduce using rule 154 (_list -> [ positional_args , ] .) + EQEQ reduce using rule 154 (_list -> [ positional_args , ] .) + % reduce using rule 154 (_list -> [ positional_args , ] .) + * reduce using rule 154 (_list -> [ positional_args , ] .) + / reduce using rule 154 (_list -> [ positional_args , ] .) + - reduce using rule 154 (_list -> [ positional_args , ] .) + + reduce using rule 154 (_list -> [ positional_args , ] .) + . reduce using rule 154 (_list -> [ positional_args , ] .) + COLON_COLON reduce using rule 154 (_list -> [ positional_args , ] .) + ^ reduce using rule 154 (_list -> [ positional_args , ] .) + [ reduce using rule 154 (_list -> [ positional_args , ] .) + ( reduce using rule 154 (_list -> [ positional_args , ] .) + $ reduce using rule 154 (_list -> [ positional_args , ] .) + ID reduce using rule 154 (_list -> [ positional_args , ] .) + ! reduce using rule 154 (_list -> [ positional_args , ] .) + { reduce using rule 154 (_list -> [ positional_args , ] .) + FORMATTED_STRING reduce using rule 154 (_list -> [ positional_args , ] .) + MULTILINE_STRING reduce using rule 154 (_list -> [ positional_args , ] .) + STRING reduce using rule 154 (_list -> [ positional_args , ] .) + CHAR reduce using rule 154 (_list -> [ positional_args , ] .) + FALSE reduce using rule 154 (_list -> [ positional_args , ] .) + TRUE reduce using rule 154 (_list -> [ positional_args , ] .) + FLOAT reduce using rule 154 (_list -> [ positional_args , ] .) + INT reduce using rule 154 (_list -> [ positional_args , ] .) + NULL reduce using rule 154 (_list -> [ positional_args , ] .) + PYTHON_CODE_EXEC reduce using rule 154 (_list -> [ positional_args , ] .) + PYTHON_CODE reduce using rule 154 (_list -> [ positional_args , ] .) + # reduce using rule 154 (_list -> [ positional_args , ] .) + NEW reduce using rule 154 (_list -> [ positional_args , ] .) + ? reduce using rule 154 (_list -> [ positional_args , ] .) + HTMLSTART reduce using rule 154 (_list -> [ positional_args , ] .) + FOREACH reduce using rule 154 (_list -> [ positional_args , ] .) + FOR reduce using rule 154 (_list -> [ positional_args , ] .) + IF reduce using rule 154 (_list -> [ positional_args , ] .) + PHPSTART reduce using rule 154 (_list -> [ positional_args , ] .) + LIMPORT reduce using rule 154 (_list -> [ positional_args , ] .) + IMPORT reduce using rule 154 (_list -> [ positional_args , ] .) + RETURN reduce using rule 154 (_list -> [ positional_args , ] .) + DEL reduce using rule 154 (_list -> [ positional_args , ] .) + DEBUG reduce using rule 154 (_list -> [ positional_args , ] .) + SKIP reduce using rule 154 (_list -> [ positional_args , ] .) + BREAK reduce using rule 154 (_list -> [ positional_args , ] .) + LET reduce using rule 154 (_list -> [ positional_args , ] .) + WHILE reduce using rule 154 (_list -> [ positional_args , ] .) + NAMESPACE reduce using rule 154 (_list -> [ positional_args , ] .) + CLASS reduce using rule 154 (_list -> [ positional_args , ] .) + FUNC reduce using rule 154 (_list -> [ positional_args , ] .) + INIT reduce using rule 154 (_list -> [ positional_args , ] .) + $end reduce using rule 154 (_list -> [ positional_args , ] .) + ; reduce using rule 154 (_list -> [ positional_args , ] .) + | reduce using rule 154 (_list -> [ positional_args , ] .) + , reduce using rule 154 (_list -> [ positional_args , ] .) + PHPEND reduce using rule 154 (_list -> [ positional_args , ] .) + } reduce using rule 154 (_list -> [ positional_args , ] .) + ) reduce using rule 154 (_list -> [ positional_args , ] .) + SARROW reduce using rule 154 (_list -> [ positional_args , ] .) + ] reduce using rule 154 (_list -> [ positional_args , ] .) + HTMLEND reduce using rule 154 (_list -> [ positional_args , ] .) + EQ_DIV reduce using rule 154 (_list -> [ positional_args , ] .) + EQ_MOD reduce using rule 154 (_list -> [ positional_args , ] .) + EQ_MUL reduce using rule 154 (_list -> [ positional_args , ] .) + EQ_SUB reduce using rule 154 (_list -> [ positional_args , ] .) + EQ_ADD reduce using rule 154 (_list -> [ positional_args , ] .) + = reduce using rule 154 (_list -> [ positional_args , ] .) + AS reduce using rule 154 (_list -> [ positional_args , ] .) -state 311 +state 309 - (147) assoc_array_items -> expression SARROW expression . + (148) assoc_array_items -> expression SARROW expression . (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -32210,9 +32355,9 @@ state 311 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -32222,10 +32367,10 @@ state 311 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -32264,28 +32409,28 @@ state 311 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -32310,15 +32455,15 @@ state 311 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ] reduce using rule 147 (assoc_array_items -> expression SARROW expression .) - , reduce using rule 147 (assoc_array_items -> expression SARROW expression .) + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ] reduce using rule 148 (assoc_array_items -> expression SARROW expression .) + , reduce using rule 148 (assoc_array_items -> expression SARROW expression .) > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -32381,44 +32526,71 @@ state 311 conditional shift and go to state 88 if_statement shift and go to state 56 +state 310 + + (91) function_declaration -> FUNC ID COLON_COLON ID . ( empty ) { program } TARROW expression + (92) function_declaration -> FUNC ID COLON_COLON ID . ( function_arguments ) { program } TARROW expression + ( shift and go to state 346 + + +state 311 + + (98) function_declaration -> FUNC ID ( empty . ) { program } + (99) function_declaration -> FUNC ID ( empty . ) : expression { program } + ) shift and go to state 347 + + state 312 + (100) function_declaration -> FUNC ID ( function_arguments . ) { program } + (101) function_declaration -> FUNC ID ( function_arguments . ) : expression { program } + ) shift and go to state 348 + + +state 313 + + (93) function_declaration -> INIT ( function_arguments ) . { program } ; + { shift and go to state 349 + + +state 314 + (79) function_call -> # DEFINE expression ? . ID (60) html_full -> ? . HTMLEND - ID shift and go to state 346 + ID shift and go to state 350 HTMLEND shift and go to state 80 -state 313 +state 315 (81) function_call -> NEW expression ( empty . ) (73) function_call -> expression ( empty . ) FARROW { program } (80) function_call -> expression ( empty . ) - ) shift and go to state 347 + ) shift and go to state 351 -state 314 +state 316 (82) function_call -> NEW expression ( function_arguments . ) (87) function_call -> expression ( function_arguments . ) FARROW { program } (89) function_call -> expression ( function_arguments . ) - ) shift and go to state 348 + ) shift and go to state 352 -state 315 +state 317 - (134) if_statement -> IF ( expression ) . { program } - { shift and go to state 349 + (135) if_statement -> IF ( expression ) . { program } + { shift and go to state 353 -state 316 +state 318 (85) function_call -> $ ID TARROW ID . ( empty ) (86) function_call -> $ ID TARROW ID . ( function_arguments ) (74) function_call -> ID TARROW ID . ( function_arguments ) (77) function_call -> ID TARROW ID . ! shift/reduce conflict for ( resolved as shift - ( shift and go to state 328 + ( shift and go to state 330 > reduce using rule 77 (function_call -> ID TARROW ID .) < reduce using rule 77 (function_call -> ID TARROW ID .) & reduce using rule 77 (function_call -> ID TARROW ID .) @@ -32490,19 +32662,19 @@ state 316 AS reduce using rule 77 (function_call -> ID TARROW ID .) -state 317 +state 319 (73) function_call -> expression ( empty ) FARROW . { program } - { shift and go to state 350 + { shift and go to state 354 -state 318 +state 320 (87) function_call -> expression ( function_arguments ) FARROW . { program } - { shift and go to state 351 + { shift and go to state 355 -state 319 +state 321 (88) function_call -> expression $ ID = expression . ; (33) expression -> expression . > expression @@ -32518,9 +32690,9 @@ state 319 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -32530,10 +32702,10 @@ state 319 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -32572,28 +32744,28 @@ state 319 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -32618,14 +32790,14 @@ state 319 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 352 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 356 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -32688,9 +32860,9 @@ state 319 conditional shift and go to state 88 if_statement shift and go to state 56 -state 320 +state 322 - (115) kwargs -> kwargs , id = . expression + (116) kwargs -> kwargs , id = . expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -32729,28 +32901,28 @@ state 320 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -32775,13 +32947,13 @@ state 320 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -32790,7 +32962,7 @@ state 320 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -32813,7 +32985,7 @@ state 320 IF shift and go to state 76 id shift and go to state 24 - expression shift and go to state 353 + expression shift and go to state 357 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -32831,92 +33003,92 @@ state 320 conditional shift and go to state 88 if_statement shift and go to state 56 -state 321 +state 323 (94) function_declaration -> ID FUNC ID ( empty . ) { program } (96) function_declaration -> ID FUNC ID ( empty . ) : expression { program } - ) shift and go to state 354 + ) shift and go to state 358 -state 322 +state 324 (95) function_declaration -> ID FUNC ID ( function_arguments . ) { program } (97) function_declaration -> ID FUNC ID ( function_arguments . ) : expression { program } - ) shift and go to state 355 + ) shift and go to state 359 -state 323 +state 325 (74) function_call -> ID TARROW ID ( function_arguments . ) - ) shift and go to state 356 + ) shift and go to state 360 -state 324 +state 326 (83) function_call -> ID COLON_COLON ID ( empty . ) - ) shift and go to state 357 + ) shift and go to state 361 -state 325 +state 327 (84) function_call -> ID COLON_COLON ID ( function_arguments . ) - ) shift and go to state 358 + ) shift and go to state 362 -state 326 +state 328 - (116) variable_assignment -> $ get_index = expression ; . - ? reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - ( reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - ! reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - + reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - - reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - * reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - & reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - ID reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - $ reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - PHPSTART reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - LIMPORT reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - . reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - IMPORT reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - RETURN reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - DEL reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - FOREACH reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - FOR reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - DEBUG reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - SKIP reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - BREAK reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - LET reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - WHILE reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - NAMESPACE reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - CLASS reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - FUNC reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - INIT reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - [ reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - { reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - FORMATTED_STRING reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - MULTILINE_STRING reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - STRING reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - CHAR reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - FALSE reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - TRUE reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - FLOAT reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - INT reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - NULL reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - PYTHON_CODE_EXEC reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - PYTHON_CODE reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - # reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - NEW reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - HTMLSTART reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - IF reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - $end reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - PHPEND reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) - } reduce using rule 116 (variable_assignment -> $ get_index = expression ; .) + (117) variable_assignment -> $ get_index = expression ; . + ? reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + ( reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + ! reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + + reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + - reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + * reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + & reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + ID reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + $ reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + PHPSTART reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + LIMPORT reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + . reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + IMPORT reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + RETURN reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + DEL reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + FOREACH reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + FOR reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + DEBUG reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + SKIP reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + BREAK reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + LET reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + WHILE reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + NAMESPACE reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + CLASS reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + FUNC reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + INIT reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + [ reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + { reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + FORMATTED_STRING reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + MULTILINE_STRING reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + STRING reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + CHAR reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + FALSE reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + TRUE reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + FLOAT reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + INT reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + NULL reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + PYTHON_CODE_EXEC reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + PYTHON_CODE reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + # reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + NEW reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + HTMLSTART reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + IF reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + $end reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + PHPEND reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) + } reduce using rule 117 (variable_assignment -> $ get_index = expression ; .) -state 327 +state 329 - (118) variable_assignment -> $ ID TARROW ID = . expression ; + (119) variable_assignment -> $ ID TARROW ID = . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -32955,28 +33127,28 @@ state 327 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -33001,13 +33173,13 @@ state 327 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -33016,7 +33188,7 @@ state 327 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -33038,7 +33210,7 @@ state 327 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 359 + expression shift and go to state 363 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -33057,19 +33229,19 @@ state 327 conditional shift and go to state 88 if_statement shift and go to state 56 -state 328 +state 330 (85) function_call -> $ ID TARROW ID ( . empty ) (86) function_call -> $ ID TARROW ID ( . function_arguments ) (74) function_call -> ID TARROW ID ( . function_arguments ) - (169) empty -> . + (170) empty -> . (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -33108,28 +33280,28 @@ state 328 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -33154,14 +33326,14 @@ state 328 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ) reduce using rule 169 (empty -> .) + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ) reduce using rule 170 (empty -> .) ID shift and go to state 104 ( shift and go to state 32 ! shift and go to state 33 @@ -33170,7 +33342,7 @@ state 328 * shift and go to state 38 & shift and go to state 36 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -33192,8 +33364,8 @@ state 328 FOR shift and go to state 50 IF shift and go to state 76 - empty shift and go to state 360 - function_arguments shift and go to state 361 + empty shift and go to state 364 + function_arguments shift and go to state 365 kwargs shift and go to state 110 positional_args shift and go to state 111 expression shift and go to state 89 @@ -33215,64 +33387,64 @@ state 328 conditional shift and go to state 88 if_statement shift and go to state 56 -state 329 +state 331 - (119) variable_assignment -> $ ID = expression ; . - ? reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - ( reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - ! reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - + reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - - reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - * reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - & reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - ID reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - $ reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - PHPSTART reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - LIMPORT reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - . reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - IMPORT reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - RETURN reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - DEL reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - FOREACH reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - FOR reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - DEBUG reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - SKIP reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - BREAK reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - LET reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - WHILE reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - NAMESPACE reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - CLASS reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - FUNC reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - INIT reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - [ reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - { reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - FORMATTED_STRING reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - MULTILINE_STRING reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - STRING reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - CHAR reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - FALSE reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - TRUE reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - FLOAT reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - INT reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - NULL reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - PYTHON_CODE_EXEC reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - PYTHON_CODE reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - # reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - NEW reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - HTMLSTART reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - IF reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - $end reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - PHPEND reduce using rule 119 (variable_assignment -> $ ID = expression ; .) - } reduce using rule 119 (variable_assignment -> $ ID = expression ; .) + (120) variable_assignment -> $ ID = expression ; . + ? reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + ( reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + ! reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + + reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + - reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + * reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + & reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + ID reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + $ reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + PHPSTART reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + LIMPORT reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + . reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + IMPORT reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + RETURN reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + DEL reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + FOREACH reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + FOR reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + DEBUG reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + SKIP reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + BREAK reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + LET reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + WHILE reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + NAMESPACE reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + CLASS reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + FUNC reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + INIT reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + [ reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + { reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + FORMATTED_STRING reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + MULTILINE_STRING reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + STRING reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + CHAR reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + FALSE reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + TRUE reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + FLOAT reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + INT reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + NULL reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + PYTHON_CODE_EXEC reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + PYTHON_CODE reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + # reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + NEW reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + HTMLSTART reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + IF reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + $end reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + PHPEND reduce using rule 120 (variable_assignment -> $ ID = expression ; .) + } reduce using rule 120 (variable_assignment -> $ ID = expression ; .) -state 330 +state 332 (71) function_call -> . ENV FROM ID { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -33329,41 +33501,42 @@ state 330 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -33375,28 +33548,28 @@ state 330 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -33421,53 +33594,53 @@ state 330 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - program shift and go to state 362 + program shift and go to state 366 empty shift and go to state 2 statement shift and go to state 3 expression shift and go to state 5 @@ -33501,7 +33674,7 @@ state 330 html_full shift and go to state 42 if_statement shift and go to state 56 -state 331 +state 333 (72) function_call -> . ENV { program } . | reduce using rule 72 (function_call -> . ENV { program } .) @@ -33576,9 +33749,9 @@ state 331 AS reduce using rule 72 (function_call -> . ENV { program } .) -state 332 +state 334 - (109) for_loop -> FOREACH ( expression AS expression . ) { program } + (110) for_loop -> FOREACH ( expression AS expression . ) { program } (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -33592,9 +33765,9 @@ state 332 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -33604,10 +33777,10 @@ state 332 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -33646,28 +33819,28 @@ state 332 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -33692,14 +33865,14 @@ state 332 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ) shift and go to state 363 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ) shift and go to state 367 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -33762,13 +33935,13 @@ state 332 conditional shift and go to state 88 if_statement shift and go to state 56 -state 333 +state 335 - (110) for_loop -> FOR ( expression ) { . program } + (111) for_loop -> FOR ( expression ) { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -33825,41 +33998,42 @@ state 333 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -33871,28 +34045,28 @@ state 333 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -33917,46 +34091,46 @@ state 333 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 @@ -33964,7 +34138,7 @@ state 333 & shift and go to state 36 expression shift and go to state 5 - program shift and go to state 364 + program shift and go to state 368 empty shift and go to state 2 statement shift and go to state 3 sandbox shift and go to state 6 @@ -33997,9 +34171,9 @@ state 333 html_full shift and go to state 42 if_statement shift and go to state 56 -state 334 +state 336 - (117) variable_assignment -> LET ID : ID = . expression ; + (118) variable_assignment -> LET ID : ID = . expression ; (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -34038,28 +34212,28 @@ state 334 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -34084,13 +34258,13 @@ state 334 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -34099,7 +34273,7 @@ state 334 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -34121,7 +34295,7 @@ state 334 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 365 + expression shift and go to state 369 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -34140,13 +34314,13 @@ state 334 conditional shift and go to state 88 if_statement shift and go to state 56 -state 335 +state 337 - (111) while_loop -> WHILE ( expression ) { . program } + (112) while_loop -> WHILE ( expression ) { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -34203,41 +34377,42 @@ state 335 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -34249,28 +34424,28 @@ state 335 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -34295,46 +34470,46 @@ state 335 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 @@ -34342,7 +34517,7 @@ state 335 & shift and go to state 36 expression shift and go to state 5 - program shift and go to state 366 + program shift and go to state 370 empty shift and go to state 2 statement shift and go to state 3 sandbox shift and go to state 6 @@ -34375,84 +34550,84 @@ state 335 html_full shift and go to state 42 if_statement shift and go to state 56 -state 336 +state 338 - (138) else_statement -> ELSE { program } . - ? reduce using rule 138 (else_statement -> ELSE { program } .) - ( reduce using rule 138 (else_statement -> ELSE { program } .) - ! reduce using rule 138 (else_statement -> ELSE { program } .) - + reduce using rule 138 (else_statement -> ELSE { program } .) - - reduce using rule 138 (else_statement -> ELSE { program } .) - * reduce using rule 138 (else_statement -> ELSE { program } .) - & reduce using rule 138 (else_statement -> ELSE { program } .) - ID reduce using rule 138 (else_statement -> ELSE { program } .) - $ reduce using rule 138 (else_statement -> ELSE { program } .) - PHPSTART reduce using rule 138 (else_statement -> ELSE { program } .) - LIMPORT reduce using rule 138 (else_statement -> ELSE { program } .) - . reduce using rule 138 (else_statement -> ELSE { program } .) - IMPORT reduce using rule 138 (else_statement -> ELSE { program } .) - RETURN reduce using rule 138 (else_statement -> ELSE { program } .) - DEL reduce using rule 138 (else_statement -> ELSE { program } .) - FOREACH reduce using rule 138 (else_statement -> ELSE { program } .) - FOR reduce using rule 138 (else_statement -> ELSE { program } .) - DEBUG reduce using rule 138 (else_statement -> ELSE { program } .) - SKIP reduce using rule 138 (else_statement -> ELSE { program } .) - BREAK reduce using rule 138 (else_statement -> ELSE { program } .) - LET reduce using rule 138 (else_statement -> ELSE { program } .) - WHILE reduce using rule 138 (else_statement -> ELSE { program } .) - NAMESPACE reduce using rule 138 (else_statement -> ELSE { program } .) - CLASS reduce using rule 138 (else_statement -> ELSE { program } .) - FUNC reduce using rule 138 (else_statement -> ELSE { program } .) - INIT reduce using rule 138 (else_statement -> ELSE { program } .) - [ reduce using rule 138 (else_statement -> ELSE { program } .) - { reduce using rule 138 (else_statement -> ELSE { program } .) - FORMATTED_STRING reduce using rule 138 (else_statement -> ELSE { program } .) - MULTILINE_STRING reduce using rule 138 (else_statement -> ELSE { program } .) - STRING reduce using rule 138 (else_statement -> ELSE { program } .) - CHAR reduce using rule 138 (else_statement -> ELSE { program } .) - FALSE reduce using rule 138 (else_statement -> ELSE { program } .) - TRUE reduce using rule 138 (else_statement -> ELSE { program } .) - FLOAT reduce using rule 138 (else_statement -> ELSE { program } .) - INT reduce using rule 138 (else_statement -> ELSE { program } .) - NULL reduce using rule 138 (else_statement -> ELSE { program } .) - PYTHON_CODE_EXEC reduce using rule 138 (else_statement -> ELSE { program } .) - PYTHON_CODE reduce using rule 138 (else_statement -> ELSE { program } .) - # reduce using rule 138 (else_statement -> ELSE { program } .) - NEW reduce using rule 138 (else_statement -> ELSE { program } .) - HTMLSTART reduce using rule 138 (else_statement -> ELSE { program } .) - IF reduce using rule 138 (else_statement -> ELSE { program } .) - $end reduce using rule 138 (else_statement -> ELSE { program } .) - > reduce using rule 138 (else_statement -> ELSE { program } .) - < reduce using rule 138 (else_statement -> ELSE { program } .) - EQ_GREATER reduce using rule 138 (else_statement -> ELSE { program } .) - EQ_LESS reduce using rule 138 (else_statement -> ELSE { program } .) - NOT_EQEQ reduce using rule 138 (else_statement -> ELSE { program } .) - EQEQ reduce using rule 138 (else_statement -> ELSE { program } .) - % reduce using rule 138 (else_statement -> ELSE { program } .) - / reduce using rule 138 (else_statement -> ELSE { program } .) - COLON_COLON reduce using rule 138 (else_statement -> ELSE { program } .) - ^ reduce using rule 138 (else_statement -> ELSE { program } .) - ; reduce using rule 138 (else_statement -> ELSE { program } .) - | reduce using rule 138 (else_statement -> ELSE { program } .) - , reduce using rule 138 (else_statement -> ELSE { program } .) - PHPEND reduce using rule 138 (else_statement -> ELSE { program } .) - } reduce using rule 138 (else_statement -> ELSE { program } .) - ) reduce using rule 138 (else_statement -> ELSE { program } .) - SARROW reduce using rule 138 (else_statement -> ELSE { program } .) - ] reduce using rule 138 (else_statement -> ELSE { program } .) - HTMLEND reduce using rule 138 (else_statement -> ELSE { program } .) - EQ_DIV reduce using rule 138 (else_statement -> ELSE { program } .) - EQ_MOD reduce using rule 138 (else_statement -> ELSE { program } .) - EQ_MUL reduce using rule 138 (else_statement -> ELSE { program } .) - EQ_SUB reduce using rule 138 (else_statement -> ELSE { program } .) - EQ_ADD reduce using rule 138 (else_statement -> ELSE { program } .) - = reduce using rule 138 (else_statement -> ELSE { program } .) - AS reduce using rule 138 (else_statement -> ELSE { program } .) + (139) else_statement -> ELSE { program } . + ? reduce using rule 139 (else_statement -> ELSE { program } .) + ( reduce using rule 139 (else_statement -> ELSE { program } .) + ! reduce using rule 139 (else_statement -> ELSE { program } .) + + reduce using rule 139 (else_statement -> ELSE { program } .) + - reduce using rule 139 (else_statement -> ELSE { program } .) + * reduce using rule 139 (else_statement -> ELSE { program } .) + & reduce using rule 139 (else_statement -> ELSE { program } .) + ID reduce using rule 139 (else_statement -> ELSE { program } .) + $ reduce using rule 139 (else_statement -> ELSE { program } .) + PHPSTART reduce using rule 139 (else_statement -> ELSE { program } .) + LIMPORT reduce using rule 139 (else_statement -> ELSE { program } .) + . reduce using rule 139 (else_statement -> ELSE { program } .) + IMPORT reduce using rule 139 (else_statement -> ELSE { program } .) + RETURN reduce using rule 139 (else_statement -> ELSE { program } .) + DEL reduce using rule 139 (else_statement -> ELSE { program } .) + FOREACH reduce using rule 139 (else_statement -> ELSE { program } .) + FOR reduce using rule 139 (else_statement -> ELSE { program } .) + DEBUG reduce using rule 139 (else_statement -> ELSE { program } .) + SKIP reduce using rule 139 (else_statement -> ELSE { program } .) + BREAK reduce using rule 139 (else_statement -> ELSE { program } .) + LET reduce using rule 139 (else_statement -> ELSE { program } .) + WHILE reduce using rule 139 (else_statement -> ELSE { program } .) + NAMESPACE reduce using rule 139 (else_statement -> ELSE { program } .) + CLASS reduce using rule 139 (else_statement -> ELSE { program } .) + FUNC reduce using rule 139 (else_statement -> ELSE { program } .) + INIT reduce using rule 139 (else_statement -> ELSE { program } .) + [ reduce using rule 139 (else_statement -> ELSE { program } .) + { reduce using rule 139 (else_statement -> ELSE { program } .) + FORMATTED_STRING reduce using rule 139 (else_statement -> ELSE { program } .) + MULTILINE_STRING reduce using rule 139 (else_statement -> ELSE { program } .) + STRING reduce using rule 139 (else_statement -> ELSE { program } .) + CHAR reduce using rule 139 (else_statement -> ELSE { program } .) + FALSE reduce using rule 139 (else_statement -> ELSE { program } .) + TRUE reduce using rule 139 (else_statement -> ELSE { program } .) + FLOAT reduce using rule 139 (else_statement -> ELSE { program } .) + INT reduce using rule 139 (else_statement -> ELSE { program } .) + NULL reduce using rule 139 (else_statement -> ELSE { program } .) + PYTHON_CODE_EXEC reduce using rule 139 (else_statement -> ELSE { program } .) + PYTHON_CODE reduce using rule 139 (else_statement -> ELSE { program } .) + # reduce using rule 139 (else_statement -> ELSE { program } .) + NEW reduce using rule 139 (else_statement -> ELSE { program } .) + HTMLSTART reduce using rule 139 (else_statement -> ELSE { program } .) + IF reduce using rule 139 (else_statement -> ELSE { program } .) + $end reduce using rule 139 (else_statement -> ELSE { program } .) + > reduce using rule 139 (else_statement -> ELSE { program } .) + < reduce using rule 139 (else_statement -> ELSE { program } .) + EQ_GREATER reduce using rule 139 (else_statement -> ELSE { program } .) + EQ_LESS reduce using rule 139 (else_statement -> ELSE { program } .) + NOT_EQEQ reduce using rule 139 (else_statement -> ELSE { program } .) + EQEQ reduce using rule 139 (else_statement -> ELSE { program } .) + % reduce using rule 139 (else_statement -> ELSE { program } .) + / reduce using rule 139 (else_statement -> ELSE { program } .) + COLON_COLON reduce using rule 139 (else_statement -> ELSE { program } .) + ^ reduce using rule 139 (else_statement -> ELSE { program } .) + ; reduce using rule 139 (else_statement -> ELSE { program } .) + | reduce using rule 139 (else_statement -> ELSE { program } .) + , reduce using rule 139 (else_statement -> ELSE { program } .) + PHPEND reduce using rule 139 (else_statement -> ELSE { program } .) + } reduce using rule 139 (else_statement -> ELSE { program } .) + ) reduce using rule 139 (else_statement -> ELSE { program } .) + SARROW reduce using rule 139 (else_statement -> ELSE { program } .) + ] reduce using rule 139 (else_statement -> ELSE { program } .) + HTMLEND reduce using rule 139 (else_statement -> ELSE { program } .) + EQ_DIV reduce using rule 139 (else_statement -> ELSE { program } .) + EQ_MOD reduce using rule 139 (else_statement -> ELSE { program } .) + EQ_MUL reduce using rule 139 (else_statement -> ELSE { program } .) + EQ_SUB reduce using rule 139 (else_statement -> ELSE { program } .) + EQ_ADD reduce using rule 139 (else_statement -> ELSE { program } .) + = reduce using rule 139 (else_statement -> ELSE { program } .) + AS reduce using rule 139 (else_statement -> ELSE { program } .) -state 337 +state 339 - (137) else_if_statement -> ELSE IF ( expression . ) { program } + (138) else_if_statement -> ELSE IF ( expression . ) { program } (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -34466,9 +34641,9 @@ state 337 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -34478,10 +34653,10 @@ state 337 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -34520,28 +34695,28 @@ state 337 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -34566,14 +34741,14 @@ state 337 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ) shift and go to state 367 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ) shift and go to state 371 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -34636,7 +34811,7 @@ state 337 conditional shift and go to state 88 if_statement shift and go to state 56 -state 338 +state 340 (106) class_declaration -> NAMESPACE ID { program } . ? reduce using rule 106 (class_declaration -> NAMESPACE ID { program } .) @@ -34687,13 +34862,13 @@ state 338 } reduce using rule 106 (class_declaration -> NAMESPACE ID { program } .) -state 339 +state 341 (107) class_declaration -> CLASS ID EXTENDS ID { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -34750,41 +34925,42 @@ state 339 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -34796,28 +34972,28 @@ state 339 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -34842,53 +35018,53 @@ state 339 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - program shift and go to state 368 + program shift and go to state 372 empty shift and go to state 2 statement shift and go to state 3 expression shift and go to state 5 @@ -34922,7 +35098,7 @@ state 339 html_full shift and go to state 42 if_statement shift and go to state 56 -state 340 +state 342 (108) class_declaration -> CLASS ID { program } . ? reduce using rule 108 (class_declaration -> CLASS ID { program } .) @@ -34973,18 +35149,15 @@ state 340 } reduce using rule 108 (class_declaration -> CLASS ID { program } .) -state 341 +state 343 - (91) function_declaration -> FUNC ID COLON_COLON ID ( . empty ) { program } TARROW expression - (92) function_declaration -> FUNC ID COLON_COLON ID ( . function_arguments ) { program } TARROW expression - (169) empty -> . - (102) function_arguments -> . kwargs - (103) function_arguments -> . positional_args , kwargs - (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (109) class_declaration -> CLASS ID [ positional_args ] . { program } + { shift and go to state 373 + + +state 344 + + (114) positional_args -> positional_args , . expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -35023,28 +35196,28 @@ state 341 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -35069,23 +35242,22 @@ state 341 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ) reduce using rule 169 (empty -> .) - ID shift and go to state 104 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 + ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -35107,16 +35279,12 @@ state 341 FOR shift and go to state 50 IF shift and go to state 76 - empty shift and go to state 369 - expression shift and go to state 89 - function_arguments shift and go to state 370 - kwargs shift and go to state 110 - positional_args shift and go to state 111 - id shift and go to state 24 + expression shift and go to state 277 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 class_attribute shift and go to state 23 + id shift and go to state 24 string shift and go to state 25 bool shift and go to state 26 float shift and go to state 27 @@ -35130,45 +35298,161 @@ state 341 conditional shift and go to state 88 if_statement shift and go to state 56 -state 342 - - (98) function_declaration -> FUNC ID ( empty ) . { program } - (99) function_declaration -> FUNC ID ( empty ) . : expression { program } - { shift and go to state 371 - : shift and go to state 372 - - -state 343 +state 345 - (100) function_declaration -> FUNC ID ( function_arguments ) . { program } - (101) function_declaration -> FUNC ID ( function_arguments ) . : expression { program } - { shift and go to state 373 - : shift and go to state 374 + (149) assoc_array_items -> assoc_array_items , expression SARROW . expression + (20) expression -> . assoc_array + (21) expression -> . _list + (22) expression -> . _tuple + (23) expression -> . class_attribute + (24) expression -> . id + (25) expression -> . string + (26) expression -> . bool + (27) expression -> . float + (28) expression -> . int + (29) expression -> . null + (30) expression -> . get_index + (31) expression -> . python_code + (32) expression -> . ( expression ) + (33) expression -> . expression > expression + (34) expression -> . expression < expression + (35) expression -> . ! expression + (36) expression -> . + expression + (37) expression -> . - expression + (38) expression -> . expression & expression + (39) expression -> . function_call | function_call + (40) expression -> . expression EQ_GREATER expression + (41) expression -> . expression EQ_LESS expression + (42) expression -> . expression NOT_EQEQ expression + (43) expression -> . expression EQEQ expression + (44) expression -> . expression % expression + (45) expression -> . expression * expression + (46) expression -> . expression / expression + (47) expression -> . expression - expression + (48) expression -> . expression + expression + (49) expression -> . function_call + (50) expression -> . * ID + (51) expression -> . & ID + (52) expression -> . ID OF ID + (53) expression -> . $ expression + (54) expression -> . expression . expression + (55) expression -> . html_full + (56) expression -> . for_loop + (57) expression -> . conditional + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE + (71) function_call -> . . ENV FROM ID { program } + (72) function_call -> . . ENV { program } + (73) function_call -> . expression ( empty ) FARROW { program } + (74) function_call -> . ID TARROW ID ( function_arguments ) + (75) function_call -> . ID \ ID + (76) function_call -> . ID / ID + (77) function_call -> . ID TARROW ID + (78) function_call -> . # DEPENDS expression + (79) function_call -> . # DEFINE expression ? ID + (80) function_call -> . expression ( empty ) + (81) function_call -> . NEW expression ( empty ) + (82) function_call -> . NEW expression ( function_arguments ) + (83) function_call -> . ID COLON_COLON ID ( empty ) + (84) function_call -> . ID COLON_COLON ID ( function_arguments ) + (85) function_call -> . $ ID TARROW ID ( empty ) + (86) function_call -> . $ ID TARROW ID ( function_arguments ) + (87) function_call -> . expression ( function_arguments ) FARROW { program } + (88) function_call -> . expression $ ID = expression ; + (89) function_call -> . expression ( function_arguments ) + (90) function_call -> . expression function_arguments + (60) html_full -> . ? HTMLEND + (61) html_full -> . HTMLSTART + (62) html_full -> . HTMLSTART empty HTMLEND + (63) html_full -> . HTMLSTART expression HTMLEND + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ( shift and go to state 32 + ! shift and go to state 33 + + shift and go to state 34 + - shift and go to state 35 + * shift and go to state 38 + & shift and go to state 36 + ID shift and go to state 84 + $ shift and go to state 85 + [ shift and go to state 59 + { shift and go to state 49 + FORMATTED_STRING shift and go to state 62 + MULTILINE_STRING shift and go to state 63 + STRING shift and go to state 64 + CHAR shift and go to state 65 + FALSE shift and go to state 66 + TRUE shift and go to state 67 + FLOAT shift and go to state 68 + INT shift and go to state 69 + NULL shift and go to state 70 + PYTHON_CODE_EXEC shift and go to state 71 + PYTHON_CODE shift and go to state 72 + . shift and go to state 86 + # shift and go to state 73 + NEW shift and go to state 74 + ? shift and go to state 78 + HTMLSTART shift and go to state 75 + FOREACH shift and go to state 48 + FOR shift and go to state 50 + IF shift and go to state 76 + expression shift and go to state 374 + assoc_array shift and go to state 20 + _list shift and go to state 21 + _tuple shift and go to state 22 + class_attribute shift and go to state 23 + id shift and go to state 24 + string shift and go to state 25 + bool shift and go to state 26 + float shift and go to state 27 + int shift and go to state 28 + null shift and go to state 29 + get_index shift and go to state 81 + python_code shift and go to state 82 + function_call shift and go to state 83 + html_full shift and go to state 42 + for_loop shift and go to state 87 + conditional shift and go to state 88 + if_statement shift and go to state 56 -state 344 +state 346 - (93) function_declaration -> INIT ( function_arguments ) { . program } ; - (1) program -> . empty - (2) program -> . statement - (3) program -> . program statement - (169) empty -> . - (4) statement -> . ? expression ; - (5) statement -> . expression - (6) statement -> . sandbox - (7) statement -> . import_statement - (8) statement -> . variable_operation - (9) statement -> . return_statement - (10) statement -> . delete_statement - (11) statement -> . for_loop - (12) statement -> . break_statement - (13) statement -> . variable_assignment - (14) statement -> . python_code_statement - (15) statement -> . while_loop - (16) statement -> . conditional - (17) statement -> . function_call_statement - (18) statement -> . class_declaration - (19) statement -> . function_declaration + (91) function_declaration -> FUNC ID COLON_COLON ID ( . empty ) { program } TARROW expression + (92) function_declaration -> FUNC ID COLON_COLON ID ( . function_arguments ) { program } TARROW expression + (170) empty -> . + (102) function_arguments -> . kwargs + (103) function_arguments -> . positional_args , kwargs + (104) function_arguments -> . positional_args + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -35207,76 +35491,28 @@ state 344 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (58) sandbox -> . PHPSTART program PHPEND - (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; - (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (67) break_statement -> . DEBUG ; - (68) break_statement -> . SKIP ; - (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; - (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (65) function_call_statement -> . function_call ; - (105) class_declaration -> . NAMESPACE ID ; - (106) class_declaration -> . NAMESPACE ID { program } - (107) class_declaration -> . CLASS ID EXTENDS ID { program } - (108) class_declaration -> . CLASS ID { program } - (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression - (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression - (93) function_declaration -> . INIT ( function_arguments ) { program } ; - (94) function_declaration -> . ID FUNC ID ( empty ) { program } - (95) function_declaration -> . ID FUNC ID ( function_arguments ) { program } - (96) function_declaration -> . ID FUNC ID ( empty ) : expression { program } - (97) function_declaration -> . ID FUNC ID ( function_arguments ) : expression { program } - (98) function_declaration -> . FUNC ID ( empty ) { program } - (99) function_declaration -> . FUNC ID ( empty ) : expression { program } - (100) function_declaration -> . FUNC ID ( function_arguments ) { program } - (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -35301,89 +35537,106 @@ state 344 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ) reduce using rule 170 (empty -> .) + ID shift and go to state 104 + ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 + $ shift and go to state 85 + [ shift and go to state 59 + { shift and go to state 49 + FORMATTED_STRING shift and go to state 62 + MULTILINE_STRING shift and go to state 63 + STRING shift and go to state 64 + CHAR shift and go to state 65 + FALSE shift and go to state 66 + TRUE shift and go to state 67 + FLOAT shift and go to state 68 + INT shift and go to state 69 + NULL shift and go to state 70 + PYTHON_CODE_EXEC shift and go to state 71 + PYTHON_CODE shift and go to state 72 + . shift and go to state 86 + # shift and go to state 73 + NEW shift and go to state 74 + ? shift and go to state 78 + HTMLSTART shift and go to state 75 + FOREACH shift and go to state 48 + FOR shift and go to state 50 + IF shift and go to state 76 - program shift and go to state 375 - empty shift and go to state 2 - statement shift and go to state 3 - expression shift and go to state 5 - sandbox shift and go to state 6 - import_statement shift and go to state 7 - variable_operation shift and go to state 8 - return_statement shift and go to state 9 - delete_statement shift and go to state 10 - for_loop shift and go to state 11 - break_statement shift and go to state 12 - variable_assignment shift and go to state 13 - python_code_statement shift and go to state 14 - while_loop shift and go to state 15 - conditional shift and go to state 16 - function_call_statement shift and go to state 17 - class_declaration shift and go to state 18 - function_declaration shift and go to state 19 + empty shift and go to state 375 + expression shift and go to state 89 + function_arguments shift and go to state 376 + kwargs shift and go to state 110 + positional_args shift and go to state 111 + id shift and go to state 24 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 class_attribute shift and go to state 23 - id shift and go to state 24 string shift and go to state 25 bool shift and go to state 26 float shift and go to state 27 int shift and go to state 28 null shift and go to state 29 - get_index shift and go to state 30 - python_code shift and go to state 31 - function_call shift and go to state 37 + get_index shift and go to state 81 + python_code shift and go to state 82 + function_call shift and go to state 83 html_full shift and go to state 42 + for_loop shift and go to state 87 + conditional shift and go to state 88 if_statement shift and go to state 56 -state 345 +state 347 + + (98) function_declaration -> FUNC ID ( empty ) . { program } + (99) function_declaration -> FUNC ID ( empty ) . : expression { program } + { shift and go to state 377 + : shift and go to state 378 + + +state 348 + + (100) function_declaration -> FUNC ID ( function_arguments ) . { program } + (101) function_declaration -> FUNC ID ( function_arguments ) . : expression { program } + { shift and go to state 379 + : shift and go to state 380 + + +state 349 - (148) assoc_array_items -> assoc_array_items , expression SARROW . expression + (93) function_declaration -> INIT ( function_arguments ) { . program } ; + (1) program -> . empty + (2) program -> . statement + (3) program -> . program statement + (170) empty -> . + (4) statement -> . ? expression ; + (5) statement -> . expression + (6) statement -> . sandbox + (7) statement -> . import_statement + (8) statement -> . variable_operation + (9) statement -> . return_statement + (10) statement -> . delete_statement + (11) statement -> . for_loop + (12) statement -> . break_statement + (13) statement -> . variable_assignment + (14) statement -> . python_code_statement + (15) statement -> . while_loop + (16) statement -> . conditional + (17) statement -> . function_call_statement + (18) statement -> . class_declaration + (19) statement -> . function_declaration (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -35422,28 +35675,77 @@ state 345 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (58) sandbox -> . PHPSTART program PHPEND + (59) sandbox -> . LIMPORT expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; + (70) return_statement -> . RETURN expression ; + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (67) break_statement -> . DEBUG ; + (68) break_statement -> . SKIP ; + (69) break_statement -> . BREAK ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; + (66) python_code_statement -> . python_code ; + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (65) function_call_statement -> . function_call ; + (105) class_declaration -> . NAMESPACE ID ; + (106) class_declaration -> . NAMESPACE ID { program } + (107) class_declaration -> . CLASS ID EXTENDS ID { program } + (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } + (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression + (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression + (93) function_declaration -> . INIT ( function_arguments ) { program } ; + (94) function_declaration -> . ID FUNC ID ( empty ) { program } + (95) function_declaration -> . ID FUNC ID ( function_arguments ) { program } + (96) function_declaration -> . ID FUNC ID ( empty ) : expression { program } + (97) function_declaration -> . ID FUNC ID ( function_arguments ) : expression { program } + (98) function_declaration -> . FUNC ID ( empty ) { program } + (99) function_declaration -> . FUNC ID ( empty ) : expression { program } + (100) function_declaration -> . FUNC ID ( function_arguments ) { program } + (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -35468,44 +35770,70 @@ state 345 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ( shift and go to state 32 + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - ID shift and go to state 84 - $ shift and go to state 85 - [ shift and go to state 61 - { shift and go to state 49 - FORMATTED_STRING shift and go to state 62 - MULTILINE_STRING shift and go to state 63 - STRING shift and go to state 64 - CHAR shift and go to state 65 - FALSE shift and go to state 66 - TRUE shift and go to state 67 - FLOAT shift and go to state 68 - INT shift and go to state 69 - NULL shift and go to state 70 - PYTHON_CODE_EXEC shift and go to state 71 - PYTHON_CODE shift and go to state 72 - . shift and go to state 86 - # shift and go to state 73 - NEW shift and go to state 74 - ? shift and go to state 78 - HTMLSTART shift and go to state 75 - FOREACH shift and go to state 48 - FOR shift and go to state 50 - IF shift and go to state 76 - expression shift and go to state 376 + program shift and go to state 381 + empty shift and go to state 2 + statement shift and go to state 3 + expression shift and go to state 5 + sandbox shift and go to state 6 + import_statement shift and go to state 7 + variable_operation shift and go to state 8 + return_statement shift and go to state 9 + delete_statement shift and go to state 10 + for_loop shift and go to state 11 + break_statement shift and go to state 12 + variable_assignment shift and go to state 13 + python_code_statement shift and go to state 14 + while_loop shift and go to state 15 + conditional shift and go to state 16 + function_call_statement shift and go to state 17 + class_declaration shift and go to state 18 + function_declaration shift and go to state 19 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -35516,15 +35844,13 @@ state 345 float shift and go to state 27 int shift and go to state 28 null shift and go to state 29 - get_index shift and go to state 81 - python_code shift and go to state 82 - function_call shift and go to state 83 + get_index shift and go to state 30 + python_code shift and go to state 31 + function_call shift and go to state 37 html_full shift and go to state 42 - for_loop shift and go to state 87 - conditional shift and go to state 88 if_statement shift and go to state 56 -state 346 +state 350 (79) function_call -> # DEFINE expression ? ID . | reduce using rule 79 (function_call -> # DEFINE expression ? ID .) @@ -35599,7 +35925,7 @@ state 346 AS reduce using rule 79 (function_call -> # DEFINE expression ? ID .) -state 347 +state 351 (81) function_call -> NEW expression ( empty ) . (73) function_call -> expression ( empty ) . FARROW { program } @@ -35714,10 +36040,10 @@ state 347 EQ_ADD reduce using rule 81 (function_call -> NEW expression ( empty ) .) = reduce using rule 81 (function_call -> NEW expression ( empty ) .) AS reduce using rule 81 (function_call -> NEW expression ( empty ) .) - FARROW shift and go to state 317 + FARROW shift and go to state 319 -state 348 +state 352 (82) function_call -> NEW expression ( function_arguments ) . (87) function_call -> expression ( function_arguments ) . FARROW { program } @@ -35792,7 +36118,7 @@ state 348 EQ_ADD reduce using rule 82 (function_call -> NEW expression ( function_arguments ) .) = reduce using rule 82 (function_call -> NEW expression ( function_arguments ) .) AS reduce using rule 82 (function_call -> NEW expression ( function_arguments ) .) - FARROW shift and go to state 318 + FARROW shift and go to state 320 | reduce using rule 89 (function_call -> expression ( function_arguments ) .) ( reduce using rule 89 (function_call -> expression ( function_arguments ) .) > reduce using rule 89 (function_call -> expression ( function_arguments ) .) @@ -35835,13 +36161,13 @@ state 348 IF reduce using rule 89 (function_call -> expression ( function_arguments ) .) -state 349 +state 353 - (134) if_statement -> IF ( expression ) { . program } + (135) if_statement -> IF ( expression ) { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -35898,41 +36224,42 @@ state 349 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -35944,28 +36271,28 @@ state 349 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -35990,46 +36317,46 @@ state 349 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 @@ -36037,7 +36364,7 @@ state 349 & shift and go to state 36 expression shift and go to state 5 - program shift and go to state 377 + program shift and go to state 382 empty shift and go to state 2 statement shift and go to state 3 sandbox shift and go to state 6 @@ -36070,13 +36397,13 @@ state 349 html_full shift and go to state 42 if_statement shift and go to state 56 -state 350 +state 354 (73) function_call -> expression ( empty ) FARROW { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -36133,41 +36460,42 @@ state 350 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -36179,28 +36507,28 @@ state 350 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -36225,46 +36553,46 @@ state 350 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 @@ -36273,7 +36601,7 @@ state 350 expression shift and go to state 5 empty shift and go to state 2 - program shift and go to state 378 + program shift and go to state 383 statement shift and go to state 3 sandbox shift and go to state 6 import_statement shift and go to state 7 @@ -36305,13 +36633,13 @@ state 350 html_full shift and go to state 42 if_statement shift and go to state 56 -state 351 +state 355 (87) function_call -> expression ( function_arguments ) FARROW { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -36368,41 +36696,42 @@ state 351 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -36414,28 +36743,28 @@ state 351 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -36460,46 +36789,46 @@ state 351 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 @@ -36507,7 +36836,7 @@ state 351 & shift and go to state 36 expression shift and go to state 5 - program shift and go to state 379 + program shift and go to state 384 empty shift and go to state 2 statement shift and go to state 3 sandbox shift and go to state 6 @@ -36540,7 +36869,7 @@ state 351 html_full shift and go to state 42 if_statement shift and go to state 56 -state 352 +state 356 (88) function_call -> expression $ ID = expression ; . | reduce using rule 88 (function_call -> expression $ ID = expression ; .) @@ -36615,9 +36944,9 @@ state 352 AS reduce using rule 88 (function_call -> expression $ ID = expression ; .) -state 353 +state 357 - (115) kwargs -> kwargs , id = expression . + (116) kwargs -> kwargs , id = expression . (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -36631,9 +36960,9 @@ state 353 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -36643,10 +36972,10 @@ state 353 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -36685,28 +37014,28 @@ state 353 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -36731,69 +37060,69 @@ state 353 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - , reduce using rule 115 (kwargs -> kwargs , id = expression .) - | reduce using rule 115 (kwargs -> kwargs , id = expression .) - ; reduce using rule 115 (kwargs -> kwargs , id = expression .) - . reduce using rule 115 (kwargs -> kwargs , id = expression .) - ^ reduce using rule 115 (kwargs -> kwargs , id = expression .) - [ reduce using rule 115 (kwargs -> kwargs , id = expression .) - ( reduce using rule 115 (kwargs -> kwargs , id = expression .) - $ reduce using rule 115 (kwargs -> kwargs , id = expression .) - ID reduce using rule 115 (kwargs -> kwargs , id = expression .) - { reduce using rule 115 (kwargs -> kwargs , id = expression .) - FORMATTED_STRING reduce using rule 115 (kwargs -> kwargs , id = expression .) - MULTILINE_STRING reduce using rule 115 (kwargs -> kwargs , id = expression .) - STRING reduce using rule 115 (kwargs -> kwargs , id = expression .) - CHAR reduce using rule 115 (kwargs -> kwargs , id = expression .) - FALSE reduce using rule 115 (kwargs -> kwargs , id = expression .) - TRUE reduce using rule 115 (kwargs -> kwargs , id = expression .) - FLOAT reduce using rule 115 (kwargs -> kwargs , id = expression .) - INT reduce using rule 115 (kwargs -> kwargs , id = expression .) - NULL reduce using rule 115 (kwargs -> kwargs , id = expression .) - PYTHON_CODE_EXEC reduce using rule 115 (kwargs -> kwargs , id = expression .) - PYTHON_CODE reduce using rule 115 (kwargs -> kwargs , id = expression .) - # reduce using rule 115 (kwargs -> kwargs , id = expression .) - NEW reduce using rule 115 (kwargs -> kwargs , id = expression .) - ? reduce using rule 115 (kwargs -> kwargs , id = expression .) - HTMLSTART reduce using rule 115 (kwargs -> kwargs , id = expression .) - FOREACH reduce using rule 115 (kwargs -> kwargs , id = expression .) - FOR reduce using rule 115 (kwargs -> kwargs , id = expression .) - IF reduce using rule 115 (kwargs -> kwargs , id = expression .) - PHPSTART reduce using rule 115 (kwargs -> kwargs , id = expression .) - LIMPORT reduce using rule 115 (kwargs -> kwargs , id = expression .) - IMPORT reduce using rule 115 (kwargs -> kwargs , id = expression .) - RETURN reduce using rule 115 (kwargs -> kwargs , id = expression .) - DEL reduce using rule 115 (kwargs -> kwargs , id = expression .) - DEBUG reduce using rule 115 (kwargs -> kwargs , id = expression .) - SKIP reduce using rule 115 (kwargs -> kwargs , id = expression .) - BREAK reduce using rule 115 (kwargs -> kwargs , id = expression .) - LET reduce using rule 115 (kwargs -> kwargs , id = expression .) - WHILE reduce using rule 115 (kwargs -> kwargs , id = expression .) - NAMESPACE reduce using rule 115 (kwargs -> kwargs , id = expression .) - CLASS reduce using rule 115 (kwargs -> kwargs , id = expression .) - FUNC reduce using rule 115 (kwargs -> kwargs , id = expression .) - INIT reduce using rule 115 (kwargs -> kwargs , id = expression .) - $end reduce using rule 115 (kwargs -> kwargs , id = expression .) - PHPEND reduce using rule 115 (kwargs -> kwargs , id = expression .) - } reduce using rule 115 (kwargs -> kwargs , id = expression .) - ) reduce using rule 115 (kwargs -> kwargs , id = expression .) - SARROW reduce using rule 115 (kwargs -> kwargs , id = expression .) - ] reduce using rule 115 (kwargs -> kwargs , id = expression .) - HTMLEND reduce using rule 115 (kwargs -> kwargs , id = expression .) - EQ_DIV reduce using rule 115 (kwargs -> kwargs , id = expression .) - EQ_MOD reduce using rule 115 (kwargs -> kwargs , id = expression .) - EQ_MUL reduce using rule 115 (kwargs -> kwargs , id = expression .) - EQ_SUB reduce using rule 115 (kwargs -> kwargs , id = expression .) - EQ_ADD reduce using rule 115 (kwargs -> kwargs , id = expression .) - = reduce using rule 115 (kwargs -> kwargs , id = expression .) - AS reduce using rule 115 (kwargs -> kwargs , id = expression .) + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + , reduce using rule 116 (kwargs -> kwargs , id = expression .) + | reduce using rule 116 (kwargs -> kwargs , id = expression .) + ; reduce using rule 116 (kwargs -> kwargs , id = expression .) + . reduce using rule 116 (kwargs -> kwargs , id = expression .) + ^ reduce using rule 116 (kwargs -> kwargs , id = expression .) + [ reduce using rule 116 (kwargs -> kwargs , id = expression .) + ( reduce using rule 116 (kwargs -> kwargs , id = expression .) + $ reduce using rule 116 (kwargs -> kwargs , id = expression .) + ID reduce using rule 116 (kwargs -> kwargs , id = expression .) + { reduce using rule 116 (kwargs -> kwargs , id = expression .) + FORMATTED_STRING reduce using rule 116 (kwargs -> kwargs , id = expression .) + MULTILINE_STRING reduce using rule 116 (kwargs -> kwargs , id = expression .) + STRING reduce using rule 116 (kwargs -> kwargs , id = expression .) + CHAR reduce using rule 116 (kwargs -> kwargs , id = expression .) + FALSE reduce using rule 116 (kwargs -> kwargs , id = expression .) + TRUE reduce using rule 116 (kwargs -> kwargs , id = expression .) + FLOAT reduce using rule 116 (kwargs -> kwargs , id = expression .) + INT reduce using rule 116 (kwargs -> kwargs , id = expression .) + NULL reduce using rule 116 (kwargs -> kwargs , id = expression .) + PYTHON_CODE_EXEC reduce using rule 116 (kwargs -> kwargs , id = expression .) + PYTHON_CODE reduce using rule 116 (kwargs -> kwargs , id = expression .) + # reduce using rule 116 (kwargs -> kwargs , id = expression .) + NEW reduce using rule 116 (kwargs -> kwargs , id = expression .) + ? reduce using rule 116 (kwargs -> kwargs , id = expression .) + HTMLSTART reduce using rule 116 (kwargs -> kwargs , id = expression .) + FOREACH reduce using rule 116 (kwargs -> kwargs , id = expression .) + FOR reduce using rule 116 (kwargs -> kwargs , id = expression .) + IF reduce using rule 116 (kwargs -> kwargs , id = expression .) + PHPSTART reduce using rule 116 (kwargs -> kwargs , id = expression .) + LIMPORT reduce using rule 116 (kwargs -> kwargs , id = expression .) + IMPORT reduce using rule 116 (kwargs -> kwargs , id = expression .) + RETURN reduce using rule 116 (kwargs -> kwargs , id = expression .) + DEL reduce using rule 116 (kwargs -> kwargs , id = expression .) + DEBUG reduce using rule 116 (kwargs -> kwargs , id = expression .) + SKIP reduce using rule 116 (kwargs -> kwargs , id = expression .) + BREAK reduce using rule 116 (kwargs -> kwargs , id = expression .) + LET reduce using rule 116 (kwargs -> kwargs , id = expression .) + WHILE reduce using rule 116 (kwargs -> kwargs , id = expression .) + NAMESPACE reduce using rule 116 (kwargs -> kwargs , id = expression .) + CLASS reduce using rule 116 (kwargs -> kwargs , id = expression .) + FUNC reduce using rule 116 (kwargs -> kwargs , id = expression .) + INIT reduce using rule 116 (kwargs -> kwargs , id = expression .) + $end reduce using rule 116 (kwargs -> kwargs , id = expression .) + PHPEND reduce using rule 116 (kwargs -> kwargs , id = expression .) + } reduce using rule 116 (kwargs -> kwargs , id = expression .) + ) reduce using rule 116 (kwargs -> kwargs , id = expression .) + SARROW reduce using rule 116 (kwargs -> kwargs , id = expression .) + ] reduce using rule 116 (kwargs -> kwargs , id = expression .) + HTMLEND reduce using rule 116 (kwargs -> kwargs , id = expression .) + EQ_DIV reduce using rule 116 (kwargs -> kwargs , id = expression .) + EQ_MOD reduce using rule 116 (kwargs -> kwargs , id = expression .) + EQ_MUL reduce using rule 116 (kwargs -> kwargs , id = expression .) + EQ_SUB reduce using rule 116 (kwargs -> kwargs , id = expression .) + EQ_ADD reduce using rule 116 (kwargs -> kwargs , id = expression .) + = reduce using rule 116 (kwargs -> kwargs , id = expression .) + AS reduce using rule 116 (kwargs -> kwargs , id = expression .) > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -36831,23 +37160,23 @@ state 353 conditional shift and go to state 88 if_statement shift and go to state 56 -state 354 +state 358 (94) function_declaration -> ID FUNC ID ( empty ) . { program } (96) function_declaration -> ID FUNC ID ( empty ) . : expression { program } - { shift and go to state 380 - : shift and go to state 381 + { shift and go to state 385 + : shift and go to state 386 -state 355 +state 359 (95) function_declaration -> ID FUNC ID ( function_arguments ) . { program } (97) function_declaration -> ID FUNC ID ( function_arguments ) . : expression { program } - { shift and go to state 382 - : shift and go to state 383 + { shift and go to state 387 + : shift and go to state 388 -state 356 +state 360 (74) function_call -> ID TARROW ID ( function_arguments ) . | reduce using rule 74 (function_call -> ID TARROW ID ( function_arguments ) .) @@ -36922,7 +37251,7 @@ state 356 AS reduce using rule 74 (function_call -> ID TARROW ID ( function_arguments ) .) -state 357 +state 361 (83) function_call -> ID COLON_COLON ID ( empty ) . | reduce using rule 83 (function_call -> ID COLON_COLON ID ( empty ) .) @@ -36997,7 +37326,7 @@ state 357 AS reduce using rule 83 (function_call -> ID COLON_COLON ID ( empty ) .) -state 358 +state 362 (84) function_call -> ID COLON_COLON ID ( function_arguments ) . | reduce using rule 84 (function_call -> ID COLON_COLON ID ( function_arguments ) .) @@ -37072,9 +37401,9 @@ state 358 AS reduce using rule 84 (function_call -> ID COLON_COLON ID ( function_arguments ) .) -state 359 +state 363 - (118) variable_assignment -> $ ID TARROW ID = expression . ; + (119) variable_assignment -> $ ID TARROW ID = expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -37088,9 +37417,9 @@ state 359 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -37100,10 +37429,10 @@ state 359 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -37142,28 +37471,28 @@ state 359 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -37188,14 +37517,14 @@ state 359 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 384 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 389 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -37258,20 +37587,20 @@ state 359 conditional shift and go to state 88 if_statement shift and go to state 56 -state 360 +state 364 (85) function_call -> $ ID TARROW ID ( empty . ) - ) shift and go to state 385 + ) shift and go to state 390 -state 361 +state 365 (86) function_call -> $ ID TARROW ID ( function_arguments . ) (74) function_call -> ID TARROW ID ( function_arguments . ) - ) shift and go to state 386 + ) shift and go to state 391 -state 362 +state 366 (71) function_call -> . ENV FROM ID { program . } (3) program -> program . statement @@ -37331,41 +37660,42 @@ state 362 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -37377,28 +37707,28 @@ state 362 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -37423,8 +37753,8 @@ state 362 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 387 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 392 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -37449,9 +37779,9 @@ state 362 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -37501,15 +37831,15 @@ state 362 html_full shift and go to state 42 if_statement shift and go to state 56 -state 363 +state 367 - (109) for_loop -> FOREACH ( expression AS expression ) . { program } - { shift and go to state 388 + (110) for_loop -> FOREACH ( expression AS expression ) . { program } + { shift and go to state 393 -state 364 +state 368 - (110) for_loop -> FOR ( expression ) { program . } + (111) for_loop -> FOR ( expression ) { program . } (3) program -> program . statement (4) statement -> . ? expression ; (5) statement -> . expression @@ -37567,41 +37897,42 @@ state 364 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -37613,28 +37944,28 @@ state 364 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -37659,8 +37990,8 @@ state 364 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 389 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 394 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -37685,9 +38016,9 @@ state 364 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -37737,9 +38068,9 @@ state 364 html_full shift and go to state 42 if_statement shift and go to state 56 -state 365 +state 369 - (117) variable_assignment -> LET ID : ID = expression . ; + (118) variable_assignment -> LET ID : ID = expression . ; (33) expression -> expression . > expression (34) expression -> expression . < expression (38) expression -> expression . & expression @@ -37753,9 +38084,9 @@ state 365 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -37765,10 +38096,10 @@ state 365 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -37807,28 +38138,28 @@ state 365 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -37853,14 +38184,14 @@ state 365 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ; shift and go to state 390 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ; shift and go to state 395 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -37923,9 +38254,9 @@ state 365 conditional shift and go to state 88 if_statement shift and go to state 56 -state 366 +state 370 - (111) while_loop -> WHILE ( expression ) { program . } + (112) while_loop -> WHILE ( expression ) { program . } (3) program -> program . statement (4) statement -> . ? expression ; (5) statement -> . expression @@ -37983,41 +38314,42 @@ state 366 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -38029,28 +38361,28 @@ state 366 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -38075,8 +38407,8 @@ state 366 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 391 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 396 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -38101,9 +38433,9 @@ state 366 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -38153,13 +38485,13 @@ state 366 html_full shift and go to state 42 if_statement shift and go to state 56 -state 367 +state 371 - (137) else_if_statement -> ELSE IF ( expression ) . { program } - { shift and go to state 392 + (138) else_if_statement -> ELSE IF ( expression ) . { program } + { shift and go to state 397 -state 368 +state 372 (107) class_declaration -> CLASS ID EXTENDS ID { program . } (3) program -> program . statement @@ -38219,41 +38551,42 @@ state 368 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -38265,28 +38598,28 @@ state 368 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -38311,8 +38644,8 @@ state 368 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 393 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 398 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -38337,9 +38670,9 @@ state 368 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -38389,256 +38722,29 @@ state 368 html_full shift and go to state 42 if_statement shift and go to state 56 -state 369 - - (91) function_declaration -> FUNC ID COLON_COLON ID ( empty . ) { program } TARROW expression - ) shift and go to state 394 - - -state 370 - - (92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments . ) { program } TARROW expression - ) shift and go to state 395 - - -state 371 - - (98) function_declaration -> FUNC ID ( empty ) { . program } - (1) program -> . empty - (2) program -> . statement - (3) program -> . program statement - (169) empty -> . - (4) statement -> . ? expression ; - (5) statement -> . expression - (6) statement -> . sandbox - (7) statement -> . import_statement - (8) statement -> . variable_operation - (9) statement -> . return_statement - (10) statement -> . delete_statement - (11) statement -> . for_loop - (12) statement -> . break_statement - (13) statement -> . variable_assignment - (14) statement -> . python_code_statement - (15) statement -> . while_loop - (16) statement -> . conditional - (17) statement -> . function_call_statement - (18) statement -> . class_declaration - (19) statement -> . function_declaration - (20) expression -> . assoc_array - (21) expression -> . _list - (22) expression -> . _tuple - (23) expression -> . class_attribute - (24) expression -> . id - (25) expression -> . string - (26) expression -> . bool - (27) expression -> . float - (28) expression -> . int - (29) expression -> . null - (30) expression -> . get_index - (31) expression -> . python_code - (32) expression -> . ( expression ) - (33) expression -> . expression > expression - (34) expression -> . expression < expression - (35) expression -> . ! expression - (36) expression -> . + expression - (37) expression -> . - expression - (38) expression -> . expression & expression - (39) expression -> . function_call | function_call - (40) expression -> . expression EQ_GREATER expression - (41) expression -> . expression EQ_LESS expression - (42) expression -> . expression NOT_EQEQ expression - (43) expression -> . expression EQEQ expression - (44) expression -> . expression % expression - (45) expression -> . expression * expression - (46) expression -> . expression / expression - (47) expression -> . expression - expression - (48) expression -> . expression + expression - (49) expression -> . function_call - (50) expression -> . * ID - (51) expression -> . & ID - (52) expression -> . ID OF ID - (53) expression -> . $ expression - (54) expression -> . expression . expression - (55) expression -> . html_full - (56) expression -> . for_loop - (57) expression -> . conditional - (58) sandbox -> . PHPSTART program PHPEND - (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; - (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (67) break_statement -> . DEBUG ; - (68) break_statement -> . SKIP ; - (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; - (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (65) function_call_statement -> . function_call ; - (105) class_declaration -> . NAMESPACE ID ; - (106) class_declaration -> . NAMESPACE ID { program } - (107) class_declaration -> . CLASS ID EXTENDS ID { program } - (108) class_declaration -> . CLASS ID { program } - (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression - (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression - (93) function_declaration -> . INIT ( function_arguments ) { program } ; - (94) function_declaration -> . ID FUNC ID ( empty ) { program } - (95) function_declaration -> . ID FUNC ID ( function_arguments ) { program } - (96) function_declaration -> . ID FUNC ID ( empty ) : expression { program } - (97) function_declaration -> . ID FUNC ID ( function_arguments ) : expression { program } - (98) function_declaration -> . FUNC ID ( empty ) { program } - (99) function_declaration -> . FUNC ID ( empty ) : expression { program } - (100) function_declaration -> . FUNC ID ( function_arguments ) { program } - (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE - (71) function_call -> . . ENV FROM ID { program } - (72) function_call -> . . ENV { program } - (73) function_call -> . expression ( empty ) FARROW { program } - (74) function_call -> . ID TARROW ID ( function_arguments ) - (75) function_call -> . ID \ ID - (76) function_call -> . ID / ID - (77) function_call -> . ID TARROW ID - (78) function_call -> . # DEPENDS expression - (79) function_call -> . # DEFINE expression ? ID - (80) function_call -> . expression ( empty ) - (81) function_call -> . NEW expression ( empty ) - (82) function_call -> . NEW expression ( function_arguments ) - (83) function_call -> . ID COLON_COLON ID ( empty ) - (84) function_call -> . ID COLON_COLON ID ( function_arguments ) - (85) function_call -> . $ ID TARROW ID ( empty ) - (86) function_call -> . $ ID TARROW ID ( function_arguments ) - (87) function_call -> . expression ( function_arguments ) FARROW { program } - (88) function_call -> . expression $ ID = expression ; - (89) function_call -> . expression ( function_arguments ) - (90) function_call -> . expression function_arguments - (60) html_full -> . ? HTMLEND - (61) html_full -> . HTMLSTART - (62) html_full -> . HTMLSTART empty HTMLEND - (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) - ! shift and go to state 33 - + shift and go to state 34 - - shift and go to state 35 - * shift and go to state 38 - & shift and go to state 36 - - empty shift and go to state 2 - program shift and go to state 396 - statement shift and go to state 3 - expression shift and go to state 5 - sandbox shift and go to state 6 - import_statement shift and go to state 7 - variable_operation shift and go to state 8 - return_statement shift and go to state 9 - delete_statement shift and go to state 10 - for_loop shift and go to state 11 - break_statement shift and go to state 12 - variable_assignment shift and go to state 13 - python_code_statement shift and go to state 14 - while_loop shift and go to state 15 - conditional shift and go to state 16 - function_call_statement shift and go to state 17 - class_declaration shift and go to state 18 - function_declaration shift and go to state 19 - assoc_array shift and go to state 20 - _list shift and go to state 21 - _tuple shift and go to state 22 - class_attribute shift and go to state 23 - id shift and go to state 24 - string shift and go to state 25 - bool shift and go to state 26 - float shift and go to state 27 - int shift and go to state 28 - null shift and go to state 29 - get_index shift and go to state 30 - python_code shift and go to state 31 - function_call shift and go to state 37 - html_full shift and go to state 42 - if_statement shift and go to state 56 - -state 372 +state 373 - (99) function_declaration -> FUNC ID ( empty ) : . expression { program } + (109) class_declaration -> CLASS ID [ positional_args ] { . program } + (1) program -> . empty + (2) program -> . statement + (3) program -> . program statement + (170) empty -> . + (4) statement -> . ? expression ; + (5) statement -> . expression + (6) statement -> . sandbox + (7) statement -> . import_statement + (8) statement -> . variable_operation + (9) statement -> . return_statement + (10) statement -> . delete_statement + (11) statement -> . for_loop + (12) statement -> . break_statement + (13) statement -> . variable_assignment + (14) statement -> . python_code_statement + (15) statement -> . while_loop + (16) statement -> . conditional + (17) statement -> . function_call_statement + (18) statement -> . class_declaration + (19) statement -> . function_declaration (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -38677,28 +38783,77 @@ state 372 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (58) sandbox -> . PHPSTART program PHPEND + (59) sandbox -> . LIMPORT expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; + (70) return_statement -> . RETURN expression ; + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (67) break_statement -> . DEBUG ; + (68) break_statement -> . SKIP ; + (69) break_statement -> . BREAK ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; + (66) python_code_statement -> . python_code ; + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (65) function_call_statement -> . function_call ; + (105) class_declaration -> . NAMESPACE ID ; + (106) class_declaration -> . NAMESPACE ID { program } + (107) class_declaration -> . CLASS ID EXTENDS ID { program } + (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } + (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression + (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression + (93) function_declaration -> . INIT ( function_arguments ) { program } ; + (94) function_declaration -> . ID FUNC ID ( empty ) { program } + (95) function_declaration -> . ID FUNC ID ( function_arguments ) { program } + (96) function_declaration -> . ID FUNC ID ( empty ) : expression { program } + (97) function_declaration -> . ID FUNC ID ( function_arguments ) : expression { program } + (98) function_declaration -> . FUNC ID ( empty ) { program } + (99) function_declaration -> . FUNC ID ( empty ) : expression { program } + (100) function_declaration -> . FUNC ID ( function_arguments ) { program } + (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -38723,22 +38878,231 @@ state 372 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ( shift and go to state 32 + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - ID shift and go to state 84 - $ shift and go to state 85 - [ shift and go to state 61 + + program shift and go to state 399 + empty shift and go to state 2 + statement shift and go to state 3 + expression shift and go to state 5 + sandbox shift and go to state 6 + import_statement shift and go to state 7 + variable_operation shift and go to state 8 + return_statement shift and go to state 9 + delete_statement shift and go to state 10 + for_loop shift and go to state 11 + break_statement shift and go to state 12 + variable_assignment shift and go to state 13 + python_code_statement shift and go to state 14 + while_loop shift and go to state 15 + conditional shift and go to state 16 + function_call_statement shift and go to state 17 + class_declaration shift and go to state 18 + function_declaration shift and go to state 19 + assoc_array shift and go to state 20 + _list shift and go to state 21 + _tuple shift and go to state 22 + class_attribute shift and go to state 23 + id shift and go to state 24 + string shift and go to state 25 + bool shift and go to state 26 + float shift and go to state 27 + int shift and go to state 28 + null shift and go to state 29 + get_index shift and go to state 30 + python_code shift and go to state 31 + function_call shift and go to state 37 + html_full shift and go to state 42 + if_statement shift and go to state 56 + +state 374 + + (149) assoc_array_items -> assoc_array_items , expression SARROW expression . + (33) expression -> expression . > expression + (34) expression -> expression . < expression + (38) expression -> expression . & expression + (40) expression -> expression . EQ_GREATER expression + (41) expression -> expression . EQ_LESS expression + (42) expression -> expression . NOT_EQEQ expression + (43) expression -> expression . EQEQ expression + (44) expression -> expression . % expression + (45) expression -> expression . * expression + (46) expression -> expression . / expression + (47) expression -> expression . - expression + (48) expression -> expression . + expression + (54) expression -> expression . . expression + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] + (73) function_call -> expression . ( empty ) FARROW { program } + (80) function_call -> expression . ( empty ) + (87) function_call -> expression . ( function_arguments ) FARROW { program } + (88) function_call -> expression . $ ID = expression ; + (89) function_call -> expression . ( function_arguments ) + (90) function_call -> expression . function_arguments + (102) function_arguments -> . kwargs + (103) function_arguments -> . positional_args , kwargs + (104) function_arguments -> . positional_args + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression + (20) expression -> . assoc_array + (21) expression -> . _list + (22) expression -> . _tuple + (23) expression -> . class_attribute + (24) expression -> . id + (25) expression -> . string + (26) expression -> . bool + (27) expression -> . float + (28) expression -> . int + (29) expression -> . null + (30) expression -> . get_index + (31) expression -> . python_code + (32) expression -> . ( expression ) + (33) expression -> . expression > expression + (34) expression -> . expression < expression + (35) expression -> . ! expression + (36) expression -> . + expression + (37) expression -> . - expression + (38) expression -> . expression & expression + (39) expression -> . function_call | function_call + (40) expression -> . expression EQ_GREATER expression + (41) expression -> . expression EQ_LESS expression + (42) expression -> . expression NOT_EQEQ expression + (43) expression -> . expression EQEQ expression + (44) expression -> . expression % expression + (45) expression -> . expression * expression + (46) expression -> . expression / expression + (47) expression -> . expression - expression + (48) expression -> . expression + expression + (49) expression -> . function_call + (50) expression -> . * ID + (51) expression -> . & ID + (52) expression -> . ID OF ID + (53) expression -> . $ expression + (54) expression -> . expression . expression + (55) expression -> . html_full + (56) expression -> . for_loop + (57) expression -> . conditional + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE + (71) function_call -> . . ENV FROM ID { program } + (72) function_call -> . . ENV { program } + (73) function_call -> . expression ( empty ) FARROW { program } + (74) function_call -> . ID TARROW ID ( function_arguments ) + (75) function_call -> . ID \ ID + (76) function_call -> . ID / ID + (77) function_call -> . ID TARROW ID + (78) function_call -> . # DEPENDS expression + (79) function_call -> . # DEFINE expression ? ID + (80) function_call -> . expression ( empty ) + (81) function_call -> . NEW expression ( empty ) + (82) function_call -> . NEW expression ( function_arguments ) + (83) function_call -> . ID COLON_COLON ID ( empty ) + (84) function_call -> . ID COLON_COLON ID ( function_arguments ) + (85) function_call -> . $ ID TARROW ID ( empty ) + (86) function_call -> . $ ID TARROW ID ( function_arguments ) + (87) function_call -> . expression ( function_arguments ) FARROW { program } + (88) function_call -> . expression $ ID = expression ; + (89) function_call -> . expression ( function_arguments ) + (90) function_call -> . expression function_arguments + (60) html_full -> . ? HTMLEND + (61) html_full -> . HTMLSTART + (62) html_full -> . HTMLSTART empty HTMLEND + (63) html_full -> . HTMLSTART expression HTMLEND + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ] reduce using rule 149 (assoc_array_items -> assoc_array_items , expression SARROW expression .) + , reduce using rule 149 (assoc_array_items -> assoc_array_items , expression SARROW expression .) + > shift and go to state 90 + < shift and go to state 91 + & shift and go to state 92 + EQ_GREATER shift and go to state 93 + EQ_LESS shift and go to state 94 + NOT_EQEQ shift and go to state 95 + EQEQ shift and go to state 96 + % shift and go to state 97 + * shift and go to state 98 + / shift and go to state 99 + - shift and go to state 100 + + shift and go to state 101 + . shift and go to state 102 + COLON_COLON shift and go to state 103 + ^ shift and go to state 105 + [ shift and go to state 106 + ( shift and go to state 107 + $ shift and go to state 109 + ID shift and go to state 104 + ! shift and go to state 33 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -38751,7 +39115,6 @@ state 372 NULL shift and go to state 70 PYTHON_CODE_EXEC shift and go to state 71 PYTHON_CODE shift and go to state 72 - . shift and go to state 86 # shift and go to state 73 NEW shift and go to state 74 ? shift and go to state 78 @@ -38760,12 +39123,15 @@ state 372 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 397 + expression shift and go to state 89 + function_arguments shift and go to state 108 + kwargs shift and go to state 110 + positional_args shift and go to state 111 + id shift and go to state 24 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 class_attribute shift and go to state 23 - id shift and go to state 24 string shift and go to state 25 bool shift and go to state 26 float shift and go to state 27 @@ -38779,13 +39145,25 @@ state 372 conditional shift and go to state 88 if_statement shift and go to state 56 -state 373 +state 375 - (100) function_declaration -> FUNC ID ( function_arguments ) { . program } + (91) function_declaration -> FUNC ID COLON_COLON ID ( empty . ) { program } TARROW expression + ) shift and go to state 400 + + +state 376 + + (92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments . ) { program } TARROW expression + ) shift and go to state 401 + + +state 377 + + (98) function_declaration -> FUNC ID ( empty ) { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -38842,41 +39220,42 @@ state 373 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -38888,28 +39267,28 @@ state 373 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -38934,54 +39313,54 @@ state 373 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - program shift and go to state 398 empty shift and go to state 2 + program shift and go to state 402 statement shift and go to state 3 expression shift and go to state 5 sandbox shift and go to state 6 @@ -39014,9 +39393,9 @@ state 373 html_full shift and go to state 42 if_statement shift and go to state 56 -state 374 +state 378 - (101) function_declaration -> FUNC ID ( function_arguments ) : . expression { program } + (99) function_declaration -> FUNC ID ( empty ) : . expression { program } (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -39055,28 +39434,28 @@ state 374 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -39101,13 +39480,13 @@ state 374 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -39116,7 +39495,7 @@ state 374 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -39138,7 +39517,7 @@ state 374 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 399 + expression shift and go to state 403 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -39157,10 +39536,13 @@ state 374 conditional shift and go to state 88 if_statement shift and go to state 56 -state 375 +state 379 - (93) function_declaration -> INIT ( function_arguments ) { program . } ; - (3) program -> program . statement + (100) function_declaration -> FUNC ID ( function_arguments ) { . program } + (1) program -> . empty + (2) program -> . statement + (3) program -> . program statement + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -39217,41 +39599,42 @@ state 375 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -39263,28 +39646,28 @@ state 375 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -39309,53 +39692,55 @@ state 375 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 400 - ? shift and go to state 4 - ( shift and go to state 32 + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - ID shift and go to state 39 - $ shift and go to state 40 - PHPSTART shift and go to state 43 - LIMPORT shift and go to state 44 - . shift and go to state 41 - IMPORT shift and go to state 45 - RETURN shift and go to state 46 - DEL shift and go to state 47 - FOREACH shift and go to state 48 - FOR shift and go to state 50 - DEBUG shift and go to state 51 - SKIP shift and go to state 52 - BREAK shift and go to state 53 - LET shift and go to state 54 - WHILE shift and go to state 55 - NAMESPACE shift and go to state 57 - CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 - { shift and go to state 49 - FORMATTED_STRING shift and go to state 62 - MULTILINE_STRING shift and go to state 63 - STRING shift and go to state 64 - CHAR shift and go to state 65 - FALSE shift and go to state 66 - TRUE shift and go to state 67 - FLOAT shift and go to state 68 - INT shift and go to state 69 - NULL shift and go to state 70 - PYTHON_CODE_EXEC shift and go to state 71 - PYTHON_CODE shift and go to state 72 - # shift and go to state 73 - NEW shift and go to state 74 - HTMLSTART shift and go to state 75 - IF shift and go to state 76 - statement shift and go to state 77 + program shift and go to state 404 + empty shift and go to state 2 + statement shift and go to state 3 expression shift and go to state 5 sandbox shift and go to state 6 import_statement shift and go to state 7 @@ -39387,38 +39772,9 @@ state 375 html_full shift and go to state 42 if_statement shift and go to state 56 -state 376 +state 380 - (148) assoc_array_items -> assoc_array_items , expression SARROW expression . - (33) expression -> expression . > expression - (34) expression -> expression . < expression - (38) expression -> expression . & expression - (40) expression -> expression . EQ_GREATER expression - (41) expression -> expression . EQ_LESS expression - (42) expression -> expression . NOT_EQEQ expression - (43) expression -> expression . EQEQ expression - (44) expression -> expression . % expression - (45) expression -> expression . * expression - (46) expression -> expression . / expression - (47) expression -> expression . - expression - (48) expression -> expression . + expression - (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] - (73) function_call -> expression . ( empty ) FARROW { program } - (80) function_call -> expression . ( empty ) - (87) function_call -> expression . ( function_arguments ) FARROW { program } - (88) function_call -> expression . $ ID = expression ; - (89) function_call -> expression . ( function_arguments ) - (90) function_call -> expression . function_arguments - (102) function_arguments -> . kwargs - (103) function_arguments -> . positional_args , kwargs - (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (101) function_declaration -> FUNC ID ( function_arguments ) : . expression { program } (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -39457,28 +39813,28 @@ state 376 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -39503,35 +39859,22 @@ state 376 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - ] reduce using rule 148 (assoc_array_items -> assoc_array_items , expression SARROW expression .) - , reduce using rule 148 (assoc_array_items -> assoc_array_items , expression SARROW expression .) - > shift and go to state 90 - < shift and go to state 91 - & shift and go to state 92 - EQ_GREATER shift and go to state 93 - EQ_LESS shift and go to state 94 - NOT_EQEQ shift and go to state 95 - EQEQ shift and go to state 96 - % shift and go to state 97 - * shift and go to state 98 - / shift and go to state 99 - - shift and go to state 100 - + shift and go to state 101 - . shift and go to state 102 - COLON_COLON shift and go to state 103 - ^ shift and go to state 105 - [ shift and go to state 106 - ( shift and go to state 107 - $ shift and go to state 109 - ID shift and go to state 104 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + ( shift and go to state 32 ! shift and go to state 33 + + shift and go to state 34 + - shift and go to state 35 + * shift and go to state 38 + & shift and go to state 36 + ID shift and go to state 84 + $ shift and go to state 85 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -39544,6 +39887,7 @@ state 376 NULL shift and go to state 70 PYTHON_CODE_EXEC shift and go to state 71 PYTHON_CODE shift and go to state 72 + . shift and go to state 86 # shift and go to state 73 NEW shift and go to state 74 ? shift and go to state 78 @@ -39552,15 +39896,12 @@ state 376 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 89 - function_arguments shift and go to state 108 - kwargs shift and go to state 110 - positional_args shift and go to state 111 - id shift and go to state 24 + expression shift and go to state 405 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 class_attribute shift and go to state 23 + id shift and go to state 24 string shift and go to state 25 bool shift and go to state 26 float shift and go to state 27 @@ -39574,9 +39915,9 @@ state 376 conditional shift and go to state 88 if_statement shift and go to state 56 -state 377 +state 381 - (134) if_statement -> IF ( expression ) { program . } + (93) function_declaration -> INIT ( function_arguments ) { program . } ; (3) program -> program . statement (4) statement -> . ? expression ; (5) statement -> . expression @@ -39634,41 +39975,42 @@ state 377 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -39680,28 +40022,28 @@ state 377 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -39726,8 +40068,8 @@ state 377 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 401 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 406 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -39752,9 +40094,240 @@ state 377 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 + { shift and go to state 49 + FORMATTED_STRING shift and go to state 62 + MULTILINE_STRING shift and go to state 63 + STRING shift and go to state 64 + CHAR shift and go to state 65 + FALSE shift and go to state 66 + TRUE shift and go to state 67 + FLOAT shift and go to state 68 + INT shift and go to state 69 + NULL shift and go to state 70 + PYTHON_CODE_EXEC shift and go to state 71 + PYTHON_CODE shift and go to state 72 + # shift and go to state 73 + NEW shift and go to state 74 + HTMLSTART shift and go to state 75 + IF shift and go to state 76 + + statement shift and go to state 77 + expression shift and go to state 5 + sandbox shift and go to state 6 + import_statement shift and go to state 7 + variable_operation shift and go to state 8 + return_statement shift and go to state 9 + delete_statement shift and go to state 10 + for_loop shift and go to state 11 + break_statement shift and go to state 12 + variable_assignment shift and go to state 13 + python_code_statement shift and go to state 14 + while_loop shift and go to state 15 + conditional shift and go to state 16 + function_call_statement shift and go to state 17 + class_declaration shift and go to state 18 + function_declaration shift and go to state 19 + assoc_array shift and go to state 20 + _list shift and go to state 21 + _tuple shift and go to state 22 + class_attribute shift and go to state 23 + id shift and go to state 24 + string shift and go to state 25 + bool shift and go to state 26 + float shift and go to state 27 + int shift and go to state 28 + null shift and go to state 29 + get_index shift and go to state 30 + python_code shift and go to state 31 + function_call shift and go to state 37 + html_full shift and go to state 42 + if_statement shift and go to state 56 + +state 382 + + (135) if_statement -> IF ( expression ) { program . } + (3) program -> program . statement + (4) statement -> . ? expression ; + (5) statement -> . expression + (6) statement -> . sandbox + (7) statement -> . import_statement + (8) statement -> . variable_operation + (9) statement -> . return_statement + (10) statement -> . delete_statement + (11) statement -> . for_loop + (12) statement -> . break_statement + (13) statement -> . variable_assignment + (14) statement -> . python_code_statement + (15) statement -> . while_loop + (16) statement -> . conditional + (17) statement -> . function_call_statement + (18) statement -> . class_declaration + (19) statement -> . function_declaration + (20) expression -> . assoc_array + (21) expression -> . _list + (22) expression -> . _tuple + (23) expression -> . class_attribute + (24) expression -> . id + (25) expression -> . string + (26) expression -> . bool + (27) expression -> . float + (28) expression -> . int + (29) expression -> . null + (30) expression -> . get_index + (31) expression -> . python_code + (32) expression -> . ( expression ) + (33) expression -> . expression > expression + (34) expression -> . expression < expression + (35) expression -> . ! expression + (36) expression -> . + expression + (37) expression -> . - expression + (38) expression -> . expression & expression + (39) expression -> . function_call | function_call + (40) expression -> . expression EQ_GREATER expression + (41) expression -> . expression EQ_LESS expression + (42) expression -> . expression NOT_EQEQ expression + (43) expression -> . expression EQEQ expression + (44) expression -> . expression % expression + (45) expression -> . expression * expression + (46) expression -> . expression / expression + (47) expression -> . expression - expression + (48) expression -> . expression + expression + (49) expression -> . function_call + (50) expression -> . * ID + (51) expression -> . & ID + (52) expression -> . ID OF ID + (53) expression -> . $ expression + (54) expression -> . expression . expression + (55) expression -> . html_full + (56) expression -> . for_loop + (57) expression -> . conditional + (58) sandbox -> . PHPSTART program PHPEND + (59) sandbox -> . LIMPORT expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; + (70) return_statement -> . RETURN expression ; + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (67) break_statement -> . DEBUG ; + (68) break_statement -> . SKIP ; + (69) break_statement -> . BREAK ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; + (66) python_code_statement -> . python_code ; + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (65) function_call_statement -> . function_call ; + (105) class_declaration -> . NAMESPACE ID ; + (106) class_declaration -> . NAMESPACE ID { program } + (107) class_declaration -> . CLASS ID EXTENDS ID { program } + (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } + (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression + (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression + (93) function_declaration -> . INIT ( function_arguments ) { program } ; + (94) function_declaration -> . ID FUNC ID ( empty ) { program } + (95) function_declaration -> . ID FUNC ID ( function_arguments ) { program } + (96) function_declaration -> . ID FUNC ID ( empty ) : expression { program } + (97) function_declaration -> . ID FUNC ID ( function_arguments ) : expression { program } + (98) function_declaration -> . FUNC ID ( empty ) { program } + (99) function_declaration -> . FUNC ID ( empty ) : expression { program } + (100) function_declaration -> . FUNC ID ( function_arguments ) { program } + (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE + (71) function_call -> . . ENV FROM ID { program } + (72) function_call -> . . ENV { program } + (73) function_call -> . expression ( empty ) FARROW { program } + (74) function_call -> . ID TARROW ID ( function_arguments ) + (75) function_call -> . ID \ ID + (76) function_call -> . ID / ID + (77) function_call -> . ID TARROW ID + (78) function_call -> . # DEPENDS expression + (79) function_call -> . # DEFINE expression ? ID + (80) function_call -> . expression ( empty ) + (81) function_call -> . NEW expression ( empty ) + (82) function_call -> . NEW expression ( function_arguments ) + (83) function_call -> . ID COLON_COLON ID ( empty ) + (84) function_call -> . ID COLON_COLON ID ( function_arguments ) + (85) function_call -> . $ ID TARROW ID ( empty ) + (86) function_call -> . $ ID TARROW ID ( function_arguments ) + (87) function_call -> . expression ( function_arguments ) FARROW { program } + (88) function_call -> . expression $ ID = expression ; + (89) function_call -> . expression ( function_arguments ) + (90) function_call -> . expression function_arguments + (60) html_full -> . ? HTMLEND + (61) html_full -> . HTMLSTART + (62) html_full -> . HTMLSTART empty HTMLEND + (63) html_full -> . HTMLSTART expression HTMLEND + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 407 + ? shift and go to state 4 + ( shift and go to state 32 + ! shift and go to state 33 + + shift and go to state 34 + - shift and go to state 35 + * shift and go to state 38 + & shift and go to state 36 + ID shift and go to state 39 + $ shift and go to state 40 + PHPSTART shift and go to state 43 + LIMPORT shift and go to state 44 + . shift and go to state 41 + IMPORT shift and go to state 45 + RETURN shift and go to state 46 + DEL shift and go to state 47 + FOREACH shift and go to state 48 + FOR shift and go to state 50 + DEBUG shift and go to state 51 + SKIP shift and go to state 52 + BREAK shift and go to state 53 + LET shift and go to state 54 + WHILE shift and go to state 55 + NAMESPACE shift and go to state 57 + CLASS shift and go to state 58 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -39804,7 +40377,7 @@ state 377 html_full shift and go to state 42 if_statement shift and go to state 56 -state 378 +state 383 (73) function_call -> expression ( empty ) FARROW { program . } (3) program -> program . statement @@ -39864,41 +40437,42 @@ state 378 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -39910,28 +40484,28 @@ state 378 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -39956,8 +40530,8 @@ state 378 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 402 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 408 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -39982,9 +40556,9 @@ state 378 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -40034,7 +40608,7 @@ state 378 html_full shift and go to state 42 if_statement shift and go to state 56 -state 379 +state 384 (87) function_call -> expression ( function_arguments ) FARROW { program . } (3) program -> program . statement @@ -40094,41 +40668,42 @@ state 379 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -40140,28 +40715,28 @@ state 379 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -40186,8 +40761,8 @@ state 379 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 403 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 409 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -40212,9 +40787,9 @@ state 379 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -40264,13 +40839,13 @@ state 379 html_full shift and go to state 42 if_statement shift and go to state 56 -state 380 +state 385 (94) function_declaration -> ID FUNC ID ( empty ) { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -40327,41 +40902,42 @@ state 380 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -40373,28 +40949,28 @@ state 380 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -40419,46 +40995,46 @@ state 380 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 @@ -40466,7 +41042,7 @@ state 380 & shift and go to state 36 empty shift and go to state 2 - program shift and go to state 404 + program shift and go to state 410 statement shift and go to state 3 expression shift and go to state 5 sandbox shift and go to state 6 @@ -40499,7 +41075,7 @@ state 380 html_full shift and go to state 42 if_statement shift and go to state 56 -state 381 +state 386 (96) function_declaration -> ID FUNC ID ( empty ) : . expression { program } (20) expression -> . assoc_array @@ -40540,28 +41116,28 @@ state 381 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -40586,13 +41162,13 @@ state 381 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -40601,7 +41177,7 @@ state 381 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -40623,7 +41199,7 @@ state 381 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 405 + expression shift and go to state 411 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -40642,13 +41218,13 @@ state 381 conditional shift and go to state 88 if_statement shift and go to state 56 -state 382 +state 387 (95) function_declaration -> ID FUNC ID ( function_arguments ) { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -40705,41 +41281,42 @@ state 382 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -40751,28 +41328,28 @@ state 382 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -40797,53 +41374,53 @@ state 382 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - program shift and go to state 406 + program shift and go to state 412 empty shift and go to state 2 statement shift and go to state 3 expression shift and go to state 5 @@ -40877,7 +41454,7 @@ state 382 html_full shift and go to state 42 if_statement shift and go to state 56 -state 383 +state 388 (97) function_declaration -> ID FUNC ID ( function_arguments ) : . expression { program } (20) expression -> . assoc_array @@ -40918,28 +41495,28 @@ state 383 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -40964,13 +41541,13 @@ state 383 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -40979,7 +41556,7 @@ state 383 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -41001,7 +41578,7 @@ state 383 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 407 + expression shift and go to state 413 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -41020,58 +41597,58 @@ state 383 conditional shift and go to state 88 if_statement shift and go to state 56 -state 384 +state 389 - (118) variable_assignment -> $ ID TARROW ID = expression ; . - ? reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - ( reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - ! reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - + reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - - reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - * reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - & reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - ID reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - $ reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - PHPSTART reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - LIMPORT reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - . reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - IMPORT reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - RETURN reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - DEL reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - FOREACH reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - FOR reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - DEBUG reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - SKIP reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - BREAK reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - LET reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - WHILE reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - NAMESPACE reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - CLASS reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - FUNC reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - INIT reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - [ reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - { reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - FORMATTED_STRING reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - MULTILINE_STRING reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - STRING reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - CHAR reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - FALSE reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - TRUE reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - FLOAT reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - INT reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - NULL reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - PYTHON_CODE_EXEC reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - PYTHON_CODE reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - # reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - NEW reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - HTMLSTART reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - IF reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - $end reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - PHPEND reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) - } reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .) + (119) variable_assignment -> $ ID TARROW ID = expression ; . + ? reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + ( reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + ! reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + + reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + - reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + * reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + & reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + ID reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + $ reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + PHPSTART reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + LIMPORT reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + . reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + IMPORT reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + RETURN reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + DEL reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + FOREACH reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + FOR reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + DEBUG reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + SKIP reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + BREAK reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + LET reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + WHILE reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + NAMESPACE reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + CLASS reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + FUNC reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + INIT reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + [ reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + { reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + FORMATTED_STRING reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + MULTILINE_STRING reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + STRING reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + CHAR reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + FALSE reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + TRUE reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + FLOAT reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + INT reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + NULL reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + PYTHON_CODE_EXEC reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + PYTHON_CODE reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + # reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + NEW reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + HTMLSTART reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + IF reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + $end reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + PHPEND reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) + } reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .) -state 385 +state 390 (85) function_call -> $ ID TARROW ID ( empty ) . | reduce using rule 85 (function_call -> $ ID TARROW ID ( empty ) .) @@ -41146,7 +41723,7 @@ state 385 AS reduce using rule 85 (function_call -> $ ID TARROW ID ( empty ) .) -state 386 +state 391 (86) function_call -> $ ID TARROW ID ( function_arguments ) . (74) function_call -> ID TARROW ID ( function_arguments ) . @@ -41292,7 +41869,7 @@ state 386 AS reduce using rule 86 (function_call -> $ ID TARROW ID ( function_arguments ) .) -state 387 +state 392 (71) function_call -> . ENV FROM ID { program } . | reduce using rule 71 (function_call -> . ENV FROM ID { program } .) @@ -41367,13 +41944,13 @@ state 387 AS reduce using rule 71 (function_call -> . ENV FROM ID { program } .) -state 388 +state 393 - (109) for_loop -> FOREACH ( expression AS expression ) { . program } + (110) for_loop -> FOREACH ( expression AS expression ) { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -41430,41 +42007,42 @@ state 388 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -41476,28 +42054,28 @@ state 388 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -41522,46 +42100,46 @@ state 388 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 @@ -41569,7 +42147,7 @@ state 388 & shift and go to state 36 expression shift and go to state 5 - program shift and go to state 408 + program shift and go to state 414 empty shift and go to state 2 statement shift and go to state 3 sandbox shift and go to state 6 @@ -41602,190 +42180,190 @@ state 388 html_full shift and go to state 42 if_statement shift and go to state 56 -state 389 +state 394 - (110) for_loop -> FOR ( expression ) { program } . - ? reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - ( reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - ! reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - + reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - - reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - * reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - & reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - ID reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - $ reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - PHPSTART reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - LIMPORT reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - . reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - IMPORT reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - RETURN reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - DEL reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - FOREACH reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - FOR reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - DEBUG reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - SKIP reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - BREAK reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - LET reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - WHILE reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - NAMESPACE reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - CLASS reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - FUNC reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - INIT reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - [ reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - { reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - FORMATTED_STRING reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - MULTILINE_STRING reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - STRING reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - CHAR reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - FALSE reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - TRUE reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - FLOAT reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - INT reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - NULL reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - PYTHON_CODE_EXEC reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - PYTHON_CODE reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - # reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - NEW reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - HTMLSTART reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - IF reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - $end reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - > reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - < reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - EQ_GREATER reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - EQ_LESS reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - NOT_EQEQ reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - EQEQ reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - % reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - / reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - COLON_COLON reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - ^ reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - ; reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - | reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - , reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - PHPEND reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - } reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - ) reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - SARROW reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - ] reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - HTMLEND reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - EQ_DIV reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - EQ_MOD reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - EQ_MUL reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - EQ_SUB reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - EQ_ADD reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - = reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) - AS reduce using rule 110 (for_loop -> FOR ( expression ) { program } .) + (111) for_loop -> FOR ( expression ) { program } . + ? reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + ( reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + ! reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + + reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + - reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + * reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + & reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + ID reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + $ reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + PHPSTART reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + LIMPORT reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + . reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + IMPORT reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + RETURN reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + DEL reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + FOREACH reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + FOR reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + DEBUG reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + SKIP reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + BREAK reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + LET reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + WHILE reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + NAMESPACE reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + CLASS reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + FUNC reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + INIT reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + [ reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + { reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + FORMATTED_STRING reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + MULTILINE_STRING reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + STRING reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + CHAR reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + FALSE reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + TRUE reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + FLOAT reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + INT reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + NULL reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + PYTHON_CODE_EXEC reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + PYTHON_CODE reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + # reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + NEW reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + HTMLSTART reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + IF reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + $end reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + > reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + < reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + EQ_GREATER reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + EQ_LESS reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + NOT_EQEQ reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + EQEQ reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + % reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + / reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + COLON_COLON reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + ^ reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + ; reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + | reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + , reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + PHPEND reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + } reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + ) reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + SARROW reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + ] reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + HTMLEND reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + EQ_DIV reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + EQ_MOD reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + EQ_MUL reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + EQ_SUB reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + EQ_ADD reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + = reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) + AS reduce using rule 111 (for_loop -> FOR ( expression ) { program } .) -state 390 +state 395 - (117) variable_assignment -> LET ID : ID = expression ; . - ? reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - ( reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - ! reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - + reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - - reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - * reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - & reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - ID reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - $ reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - PHPSTART reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - LIMPORT reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - . reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - IMPORT reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - RETURN reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - DEL reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - FOREACH reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - FOR reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - DEBUG reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - SKIP reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - BREAK reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - LET reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - WHILE reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - NAMESPACE reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - CLASS reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - FUNC reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - INIT reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - [ reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - { reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - FORMATTED_STRING reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - MULTILINE_STRING reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - STRING reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - CHAR reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - FALSE reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - TRUE reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - FLOAT reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - INT reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - NULL reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - PYTHON_CODE_EXEC reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - PYTHON_CODE reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - # reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - NEW reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - HTMLSTART reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - IF reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - $end reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - PHPEND reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) - } reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .) + (118) variable_assignment -> LET ID : ID = expression ; . + ? reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + ( reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + ! reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + + reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + - reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + * reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + & reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + ID reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + $ reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + PHPSTART reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + LIMPORT reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + . reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + IMPORT reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + RETURN reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + DEL reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + FOREACH reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + FOR reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + DEBUG reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + SKIP reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + BREAK reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + LET reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + WHILE reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + NAMESPACE reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + CLASS reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + FUNC reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + INIT reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + [ reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + { reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + FORMATTED_STRING reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + MULTILINE_STRING reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + STRING reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + CHAR reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + FALSE reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + TRUE reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + FLOAT reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + INT reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + NULL reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + PYTHON_CODE_EXEC reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + PYTHON_CODE reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + # reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + NEW reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + HTMLSTART reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + IF reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + $end reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + PHPEND reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) + } reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .) -state 391 +state 396 - (111) while_loop -> WHILE ( expression ) { program } . - ? reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - ( reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - ! reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - + reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - - reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - * reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - & reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - ID reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - $ reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - PHPSTART reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - LIMPORT reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - . reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - IMPORT reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - RETURN reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - DEL reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - FOREACH reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - FOR reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - DEBUG reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - SKIP reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - BREAK reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - LET reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - WHILE reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - NAMESPACE reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - CLASS reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - FUNC reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - INIT reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - [ reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - { reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - FORMATTED_STRING reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - MULTILINE_STRING reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - STRING reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - CHAR reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - FALSE reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - TRUE reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - FLOAT reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - INT reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - NULL reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - PYTHON_CODE_EXEC reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - PYTHON_CODE reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - # reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - NEW reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - HTMLSTART reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - IF reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - $end reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - PHPEND reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) - } reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .) + (112) while_loop -> WHILE ( expression ) { program } . + ? reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + ( reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + ! reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + + reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + - reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + * reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + & reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + ID reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + $ reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + PHPSTART reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + LIMPORT reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + . reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + IMPORT reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + RETURN reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + DEL reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + FOREACH reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + FOR reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + DEBUG reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + SKIP reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + BREAK reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + LET reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + WHILE reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + NAMESPACE reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + CLASS reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + FUNC reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + INIT reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + [ reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + { reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + FORMATTED_STRING reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + MULTILINE_STRING reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + STRING reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + CHAR reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + FALSE reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + TRUE reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + FLOAT reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + INT reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + NULL reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + PYTHON_CODE_EXEC reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + PYTHON_CODE reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + # reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + NEW reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + HTMLSTART reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + IF reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + $end reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + PHPEND reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) + } reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .) -state 392 +state 397 - (137) else_if_statement -> ELSE IF ( expression ) { . program } + (138) else_if_statement -> ELSE IF ( expression ) { . program } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -41842,41 +42420,42 @@ state 392 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -41888,28 +42467,28 @@ state 392 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -41934,46 +42513,46 @@ state 392 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 @@ -41981,7 +42560,7 @@ state 392 & shift and go to state 36 expression shift and go to state 5 - program shift and go to state 409 + program shift and go to state 415 empty shift and go to state 2 statement shift and go to state 3 sandbox shift and go to state 6 @@ -42014,7 +42593,7 @@ state 392 html_full shift and go to state 42 if_statement shift and go to state 56 -state 393 +state 398 (107) class_declaration -> CLASS ID EXTENDS ID { program } . ? reduce using rule 107 (class_declaration -> CLASS ID EXTENDS ID { program } .) @@ -42065,19 +42644,250 @@ state 393 } reduce using rule 107 (class_declaration -> CLASS ID EXTENDS ID { program } .) -state 394 +state 399 + + (109) class_declaration -> CLASS ID [ positional_args ] { program . } + (3) program -> program . statement + (4) statement -> . ? expression ; + (5) statement -> . expression + (6) statement -> . sandbox + (7) statement -> . import_statement + (8) statement -> . variable_operation + (9) statement -> . return_statement + (10) statement -> . delete_statement + (11) statement -> . for_loop + (12) statement -> . break_statement + (13) statement -> . variable_assignment + (14) statement -> . python_code_statement + (15) statement -> . while_loop + (16) statement -> . conditional + (17) statement -> . function_call_statement + (18) statement -> . class_declaration + (19) statement -> . function_declaration + (20) expression -> . assoc_array + (21) expression -> . _list + (22) expression -> . _tuple + (23) expression -> . class_attribute + (24) expression -> . id + (25) expression -> . string + (26) expression -> . bool + (27) expression -> . float + (28) expression -> . int + (29) expression -> . null + (30) expression -> . get_index + (31) expression -> . python_code + (32) expression -> . ( expression ) + (33) expression -> . expression > expression + (34) expression -> . expression < expression + (35) expression -> . ! expression + (36) expression -> . + expression + (37) expression -> . - expression + (38) expression -> . expression & expression + (39) expression -> . function_call | function_call + (40) expression -> . expression EQ_GREATER expression + (41) expression -> . expression EQ_LESS expression + (42) expression -> . expression NOT_EQEQ expression + (43) expression -> . expression EQEQ expression + (44) expression -> . expression % expression + (45) expression -> . expression * expression + (46) expression -> . expression / expression + (47) expression -> . expression - expression + (48) expression -> . expression + expression + (49) expression -> . function_call + (50) expression -> . * ID + (51) expression -> . & ID + (52) expression -> . ID OF ID + (53) expression -> . $ expression + (54) expression -> . expression . expression + (55) expression -> . html_full + (56) expression -> . for_loop + (57) expression -> . conditional + (58) sandbox -> . PHPSTART program PHPEND + (59) sandbox -> . LIMPORT expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; + (70) return_statement -> . RETURN expression ; + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (67) break_statement -> . DEBUG ; + (68) break_statement -> . SKIP ; + (69) break_statement -> . BREAK ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; + (66) python_code_statement -> . python_code ; + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (65) function_call_statement -> . function_call ; + (105) class_declaration -> . NAMESPACE ID ; + (106) class_declaration -> . NAMESPACE ID { program } + (107) class_declaration -> . CLASS ID EXTENDS ID { program } + (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } + (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression + (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression + (93) function_declaration -> . INIT ( function_arguments ) { program } ; + (94) function_declaration -> . ID FUNC ID ( empty ) { program } + (95) function_declaration -> . ID FUNC ID ( function_arguments ) { program } + (96) function_declaration -> . ID FUNC ID ( empty ) : expression { program } + (97) function_declaration -> . ID FUNC ID ( function_arguments ) : expression { program } + (98) function_declaration -> . FUNC ID ( empty ) { program } + (99) function_declaration -> . FUNC ID ( empty ) : expression { program } + (100) function_declaration -> . FUNC ID ( function_arguments ) { program } + (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE + (71) function_call -> . . ENV FROM ID { program } + (72) function_call -> . . ENV { program } + (73) function_call -> . expression ( empty ) FARROW { program } + (74) function_call -> . ID TARROW ID ( function_arguments ) + (75) function_call -> . ID \ ID + (76) function_call -> . ID / ID + (77) function_call -> . ID TARROW ID + (78) function_call -> . # DEPENDS expression + (79) function_call -> . # DEFINE expression ? ID + (80) function_call -> . expression ( empty ) + (81) function_call -> . NEW expression ( empty ) + (82) function_call -> . NEW expression ( function_arguments ) + (83) function_call -> . ID COLON_COLON ID ( empty ) + (84) function_call -> . ID COLON_COLON ID ( function_arguments ) + (85) function_call -> . $ ID TARROW ID ( empty ) + (86) function_call -> . $ ID TARROW ID ( function_arguments ) + (87) function_call -> . expression ( function_arguments ) FARROW { program } + (88) function_call -> . expression $ ID = expression ; + (89) function_call -> . expression ( function_arguments ) + (90) function_call -> . expression function_arguments + (60) html_full -> . ? HTMLEND + (61) html_full -> . HTMLSTART + (62) html_full -> . HTMLSTART empty HTMLEND + (63) html_full -> . HTMLSTART expression HTMLEND + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 416 + ? shift and go to state 4 + ( shift and go to state 32 + ! shift and go to state 33 + + shift and go to state 34 + - shift and go to state 35 + * shift and go to state 38 + & shift and go to state 36 + ID shift and go to state 39 + $ shift and go to state 40 + PHPSTART shift and go to state 43 + LIMPORT shift and go to state 44 + . shift and go to state 41 + IMPORT shift and go to state 45 + RETURN shift and go to state 46 + DEL shift and go to state 47 + FOREACH shift and go to state 48 + FOR shift and go to state 50 + DEBUG shift and go to state 51 + SKIP shift and go to state 52 + BREAK shift and go to state 53 + LET shift and go to state 54 + WHILE shift and go to state 55 + NAMESPACE shift and go to state 57 + CLASS shift and go to state 58 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 + { shift and go to state 49 + FORMATTED_STRING shift and go to state 62 + MULTILINE_STRING shift and go to state 63 + STRING shift and go to state 64 + CHAR shift and go to state 65 + FALSE shift and go to state 66 + TRUE shift and go to state 67 + FLOAT shift and go to state 68 + INT shift and go to state 69 + NULL shift and go to state 70 + PYTHON_CODE_EXEC shift and go to state 71 + PYTHON_CODE shift and go to state 72 + # shift and go to state 73 + NEW shift and go to state 74 + HTMLSTART shift and go to state 75 + IF shift and go to state 76 + + statement shift and go to state 77 + expression shift and go to state 5 + sandbox shift and go to state 6 + import_statement shift and go to state 7 + variable_operation shift and go to state 8 + return_statement shift and go to state 9 + delete_statement shift and go to state 10 + for_loop shift and go to state 11 + break_statement shift and go to state 12 + variable_assignment shift and go to state 13 + python_code_statement shift and go to state 14 + while_loop shift and go to state 15 + conditional shift and go to state 16 + function_call_statement shift and go to state 17 + class_declaration shift and go to state 18 + function_declaration shift and go to state 19 + assoc_array shift and go to state 20 + _list shift and go to state 21 + _tuple shift and go to state 22 + class_attribute shift and go to state 23 + id shift and go to state 24 + string shift and go to state 25 + bool shift and go to state 26 + float shift and go to state 27 + int shift and go to state 28 + null shift and go to state 29 + get_index shift and go to state 30 + python_code shift and go to state 31 + function_call shift and go to state 37 + html_full shift and go to state 42 + if_statement shift and go to state 56 + +state 400 (91) function_declaration -> FUNC ID COLON_COLON ID ( empty ) . { program } TARROW expression - { shift and go to state 410 + { shift and go to state 417 -state 395 +state 401 (92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments ) . { program } TARROW expression - { shift and go to state 411 + { shift and go to state 418 -state 396 +state 402 (98) function_declaration -> FUNC ID ( empty ) { program . } (3) program -> program . statement @@ -42137,41 +42947,42 @@ state 396 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -42183,28 +42994,28 @@ state 396 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -42229,8 +43040,8 @@ state 396 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 412 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 419 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -42255,9 +43066,9 @@ state 396 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -42307,7 +43118,7 @@ state 396 html_full shift and go to state 42 if_statement shift and go to state 56 -state 397 +state 403 (99) function_declaration -> FUNC ID ( empty ) : expression . { program } (33) expression -> expression . > expression @@ -42323,9 +43134,9 @@ state 397 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -42335,10 +43146,10 @@ state 397 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -42377,28 +43188,28 @@ state 397 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -42423,14 +43234,14 @@ state 397 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - { shift and go to state 413 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + { shift and go to state 420 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -42492,7 +43303,7 @@ state 397 conditional shift and go to state 88 if_statement shift and go to state 56 -state 398 +state 404 (100) function_declaration -> FUNC ID ( function_arguments ) { program . } (3) program -> program . statement @@ -42552,41 +43363,42 @@ state 398 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -42598,28 +43410,28 @@ state 398 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -42644,8 +43456,8 @@ state 398 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 414 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 421 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -42670,9 +43482,9 @@ state 398 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -42722,7 +43534,7 @@ state 398 html_full shift and go to state 42 if_statement shift and go to state 56 -state 399 +state 405 (101) function_declaration -> FUNC ID ( function_arguments ) : expression . { program } (33) expression -> expression . > expression @@ -42738,9 +43550,9 @@ state 399 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -42750,10 +43562,10 @@ state 399 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -42792,28 +43604,28 @@ state 399 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -42838,14 +43650,14 @@ state 399 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - { shift and go to state 415 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + { shift and go to state 422 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -42907,89 +43719,89 @@ state 399 conditional shift and go to state 88 if_statement shift and go to state 56 -state 400 +state 406 (93) function_declaration -> INIT ( function_arguments ) { program } . ; - ; shift and go to state 416 + ; shift and go to state 423 -state 401 +state 407 - (134) if_statement -> IF ( expression ) { program } . - ELSE reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - ? reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - ( reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - ! reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - + reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - - reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - * reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - & reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - ID reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - $ reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - PHPSTART reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - LIMPORT reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - . reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - IMPORT reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - RETURN reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - DEL reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - FOREACH reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - FOR reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - DEBUG reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - SKIP reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - BREAK reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - LET reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - WHILE reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - NAMESPACE reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - CLASS reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - FUNC reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - INIT reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - [ reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - { reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - FORMATTED_STRING reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - MULTILINE_STRING reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - STRING reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - CHAR reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - FALSE reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - TRUE reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - FLOAT reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - INT reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - NULL reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - PYTHON_CODE_EXEC reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - PYTHON_CODE reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - # reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - NEW reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - HTMLSTART reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - IF reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - $end reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - > reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - < reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - EQ_GREATER reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - EQ_LESS reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - NOT_EQEQ reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - EQEQ reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - % reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - / reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - COLON_COLON reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - ^ reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - ; reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - | reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - , reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - PHPEND reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - } reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - ) reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - SARROW reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - ] reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - HTMLEND reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - EQ_DIV reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - EQ_MOD reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - EQ_MUL reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - EQ_SUB reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - EQ_ADD reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - = reduce using rule 134 (if_statement -> IF ( expression ) { program } .) - AS reduce using rule 134 (if_statement -> IF ( expression ) { program } .) + (135) if_statement -> IF ( expression ) { program } . + ELSE reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + ? reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + ( reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + ! reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + + reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + - reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + * reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + & reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + ID reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + $ reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + PHPSTART reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + LIMPORT reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + . reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + IMPORT reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + RETURN reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + DEL reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + FOREACH reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + FOR reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + DEBUG reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + SKIP reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + BREAK reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + LET reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + WHILE reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + NAMESPACE reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + CLASS reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + FUNC reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + INIT reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + [ reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + { reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + FORMATTED_STRING reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + MULTILINE_STRING reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + STRING reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + CHAR reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + FALSE reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + TRUE reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + FLOAT reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + INT reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + NULL reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + PYTHON_CODE_EXEC reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + PYTHON_CODE reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + # reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + NEW reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + HTMLSTART reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + IF reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + $end reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + > reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + < reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + EQ_GREATER reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + EQ_LESS reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + NOT_EQEQ reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + EQEQ reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + % reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + / reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + COLON_COLON reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + ^ reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + ; reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + | reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + , reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + PHPEND reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + } reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + ) reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + SARROW reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + ] reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + HTMLEND reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + EQ_DIV reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + EQ_MOD reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + EQ_MUL reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + EQ_SUB reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + EQ_ADD reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + = reduce using rule 135 (if_statement -> IF ( expression ) { program } .) + AS reduce using rule 135 (if_statement -> IF ( expression ) { program } .) -state 402 +state 408 (73) function_call -> expression ( empty ) FARROW { program } . | reduce using rule 73 (function_call -> expression ( empty ) FARROW { program } .) @@ -43064,7 +43876,7 @@ state 402 AS reduce using rule 73 (function_call -> expression ( empty ) FARROW { program } .) -state 403 +state 409 (87) function_call -> expression ( function_arguments ) FARROW { program } . | reduce using rule 87 (function_call -> expression ( function_arguments ) FARROW { program } .) @@ -43139,7 +43951,7 @@ state 403 AS reduce using rule 87 (function_call -> expression ( function_arguments ) FARROW { program } .) -state 404 +state 410 (94) function_declaration -> ID FUNC ID ( empty ) { program . } (3) program -> program . statement @@ -43199,41 +44011,42 @@ state 404 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -43245,28 +44058,28 @@ state 404 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -43291,8 +44104,8 @@ state 404 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 417 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 424 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -43317,9 +44130,9 @@ state 404 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -43369,7 +44182,7 @@ state 404 html_full shift and go to state 42 if_statement shift and go to state 56 -state 405 +state 411 (96) function_declaration -> ID FUNC ID ( empty ) : expression . { program } (33) expression -> expression . > expression @@ -43385,9 +44198,9 @@ state 405 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -43397,10 +44210,10 @@ state 405 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -43439,28 +44252,28 @@ state 405 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -43485,14 +44298,14 @@ state 405 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - { shift and go to state 418 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + { shift and go to state 425 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -43554,7 +44367,7 @@ state 405 conditional shift and go to state 88 if_statement shift and go to state 56 -state 406 +state 412 (95) function_declaration -> ID FUNC ID ( function_arguments ) { program . } (3) program -> program . statement @@ -43614,41 +44427,42 @@ state 406 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -43660,28 +44474,28 @@ state 406 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -43706,8 +44520,8 @@ state 406 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 419 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 426 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -43732,9 +44546,9 @@ state 406 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -43784,7 +44598,7 @@ state 406 html_full shift and go to state 42 if_statement shift and go to state 56 -state 407 +state 413 (97) function_declaration -> ID FUNC ID ( function_arguments ) : expression . { program } (33) expression -> expression . > expression @@ -43800,9 +44614,9 @@ state 407 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -43812,10 +44626,10 @@ state 407 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -43854,28 +44668,28 @@ state 407 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -43900,14 +44714,14 @@ state 407 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } - { shift and go to state 420 + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } + { shift and go to state 427 > shift and go to state 90 < shift and go to state 91 & shift and go to state 92 @@ -43969,9 +44783,9 @@ state 407 conditional shift and go to state 88 if_statement shift and go to state 56 -state 408 +state 414 - (109) for_loop -> FOREACH ( expression AS expression ) { program . } + (110) for_loop -> FOREACH ( expression AS expression ) { program . } (3) program -> program . statement (4) statement -> . ? expression ; (5) statement -> . expression @@ -44029,41 +44843,42 @@ state 408 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -44075,28 +44890,28 @@ state 408 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -44121,8 +44936,8 @@ state 408 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 421 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 428 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -44147,9 +44962,9 @@ state 408 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -44199,9 +45014,9 @@ state 408 html_full shift and go to state 42 if_statement shift and go to state 56 -state 409 +state 415 - (137) else_if_statement -> ELSE IF ( expression ) { program . } + (138) else_if_statement -> ELSE IF ( expression ) { program . } (3) program -> program . statement (4) statement -> . ? expression ; (5) statement -> . expression @@ -44259,41 +45074,42 @@ state 409 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -44305,28 +45121,28 @@ state 409 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -44351,8 +45167,8 @@ state 409 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 422 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 429 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -44377,9 +45193,9 @@ state 409 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -44429,13 +45245,64 @@ state 409 html_full shift and go to state 42 if_statement shift and go to state 56 -state 410 +state 416 + + (109) class_declaration -> CLASS ID [ positional_args ] { program } . + ? reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + ( reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + ! reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + + reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + - reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + * reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + & reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + ID reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + $ reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + PHPSTART reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + LIMPORT reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + . reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + IMPORT reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + RETURN reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + DEL reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + FOREACH reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + FOR reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + DEBUG reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + SKIP reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + BREAK reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + LET reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + WHILE reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + NAMESPACE reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + CLASS reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + FUNC reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + INIT reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + [ reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + { reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + FORMATTED_STRING reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + MULTILINE_STRING reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + STRING reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + CHAR reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + FALSE reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + TRUE reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + FLOAT reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + INT reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + NULL reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + PYTHON_CODE_EXEC reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + PYTHON_CODE reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + # reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + NEW reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + HTMLSTART reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + IF reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + $end reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + PHPEND reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + } reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .) + + +state 417 (91) function_declaration -> FUNC ID COLON_COLON ID ( empty ) { . program } TARROW expression (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -44492,41 +45359,42 @@ state 410 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -44538,28 +45406,28 @@ state 410 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -44584,46 +45452,46 @@ state 410 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 @@ -44631,7 +45499,7 @@ state 410 & shift and go to state 36 empty shift and go to state 2 - program shift and go to state 423 + program shift and go to state 430 expression shift and go to state 5 statement shift and go to state 3 sandbox shift and go to state 6 @@ -44664,13 +45532,13 @@ state 410 html_full shift and go to state 42 if_statement shift and go to state 56 -state 411 +state 418 (92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments ) { . program } TARROW expression (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . + (170) empty -> . (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -44727,41 +45595,42 @@ state 411 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -44773,28 +45642,28 @@ state 411 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -44819,53 +45688,53 @@ state 411 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - program shift and go to state 424 + program shift and go to state 431 expression shift and go to state 5 empty shift and go to state 2 statement shift and go to state 3 @@ -44899,7 +45768,7 @@ state 411 html_full shift and go to state 42 if_statement shift and go to state 56 -state 412 +state 419 (98) function_declaration -> FUNC ID ( empty ) { program } . ? reduce using rule 98 (function_declaration -> FUNC ID ( empty ) { program } .) @@ -44950,18 +45819,18 @@ state 412 } reduce using rule 98 (function_declaration -> FUNC ID ( empty ) { program } .) -state 413 +state 420 (99) function_declaration -> FUNC ID ( empty ) : expression { . program } - (145) assoc_array -> { . empty } - (151) _tuple -> { . positional_args , } - (152) _tuple -> { . positional_args } + (146) assoc_array -> { . empty } + (152) _tuple -> { . positional_args , } + (153) _tuple -> { . positional_args } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (170) empty -> . + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -45018,41 +45887,42 @@ state 413 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -45064,28 +45934,28 @@ state 413 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -45110,55 +45980,55 @@ state 413 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - empty shift and go to state 425 - expression shift and go to state 426 - program shift and go to state 427 + empty shift and go to state 432 + expression shift and go to state 433 + program shift and go to state 434 positional_args shift and go to state 150 statement shift and go to state 3 sandbox shift and go to state 6 @@ -45191,7 +46061,7 @@ state 413 html_full shift and go to state 42 if_statement shift and go to state 56 -state 414 +state 421 (100) function_declaration -> FUNC ID ( function_arguments ) { program } . ? reduce using rule 100 (function_declaration -> FUNC ID ( function_arguments ) { program } .) @@ -45242,18 +46112,18 @@ state 414 } reduce using rule 100 (function_declaration -> FUNC ID ( function_arguments ) { program } .) -state 415 +state 422 (101) function_declaration -> FUNC ID ( function_arguments ) : expression { . program } - (145) assoc_array -> { . empty } - (151) _tuple -> { . positional_args , } - (152) _tuple -> { . positional_args } + (146) assoc_array -> { . empty } + (152) _tuple -> { . positional_args , } + (153) _tuple -> { . positional_args } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (170) empty -> . + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -45310,41 +46180,42 @@ state 415 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -45356,28 +46227,28 @@ state 415 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -45402,55 +46273,55 @@ state 415 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - expression shift and go to state 426 - program shift and go to state 428 - empty shift and go to state 425 + expression shift and go to state 433 + program shift and go to state 435 + empty shift and go to state 432 positional_args shift and go to state 150 statement shift and go to state 3 sandbox shift and go to state 6 @@ -45483,7 +46354,7 @@ state 415 html_full shift and go to state 42 if_statement shift and go to state 56 -state 416 +state 423 (93) function_declaration -> INIT ( function_arguments ) { program } ; . ? reduce using rule 93 (function_declaration -> INIT ( function_arguments ) { program } ; .) @@ -45534,7 +46405,7 @@ state 416 } reduce using rule 93 (function_declaration -> INIT ( function_arguments ) { program } ; .) -state 417 +state 424 (94) function_declaration -> ID FUNC ID ( empty ) { program } . ? reduce using rule 94 (function_declaration -> ID FUNC ID ( empty ) { program } .) @@ -45585,18 +46456,18 @@ state 417 } reduce using rule 94 (function_declaration -> ID FUNC ID ( empty ) { program } .) -state 418 +state 425 (96) function_declaration -> ID FUNC ID ( empty ) : expression { . program } - (145) assoc_array -> { . empty } - (151) _tuple -> { . positional_args , } - (152) _tuple -> { . positional_args } + (146) assoc_array -> { . empty } + (152) _tuple -> { . positional_args , } + (153) _tuple -> { . positional_args } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (170) empty -> . + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -45653,41 +46524,42 @@ state 418 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -45699,28 +46571,28 @@ state 418 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -45745,55 +46617,55 @@ state 418 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - empty shift and go to state 425 - expression shift and go to state 426 - program shift and go to state 429 + empty shift and go to state 432 + expression shift and go to state 433 + program shift and go to state 436 positional_args shift and go to state 150 statement shift and go to state 3 sandbox shift and go to state 6 @@ -45826,7 +46698,7 @@ state 418 html_full shift and go to state 42 if_statement shift and go to state 56 -state 419 +state 426 (95) function_declaration -> ID FUNC ID ( function_arguments ) { program } . ? reduce using rule 95 (function_declaration -> ID FUNC ID ( function_arguments ) { program } .) @@ -45877,18 +46749,18 @@ state 419 } reduce using rule 95 (function_declaration -> ID FUNC ID ( function_arguments ) { program } .) -state 420 +state 427 (97) function_declaration -> ID FUNC ID ( function_arguments ) : expression { . program } - (145) assoc_array -> { . empty } - (151) _tuple -> { . positional_args , } - (152) _tuple -> { . positional_args } + (146) assoc_array -> { . empty } + (152) _tuple -> { . positional_args , } + (153) _tuple -> { . positional_args } (1) program -> . empty (2) program -> . statement (3) program -> . program statement - (169) empty -> . - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (170) empty -> . + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (4) statement -> . ? expression ; (5) statement -> . expression (6) statement -> . sandbox @@ -45945,41 +46817,42 @@ state 420 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -45991,28 +46864,28 @@ state 420 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -46037,55 +46910,55 @@ state 420 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } reduce using rule 169 (empty -> .) - ? reduce using rule 169 (empty -> .) - ( reduce using rule 169 (empty -> .) - ID reduce using rule 169 (empty -> .) - $ reduce using rule 169 (empty -> .) - PHPSTART reduce using rule 169 (empty -> .) - LIMPORT reduce using rule 169 (empty -> .) - . reduce using rule 169 (empty -> .) - IMPORT reduce using rule 169 (empty -> .) - RETURN reduce using rule 169 (empty -> .) - DEL reduce using rule 169 (empty -> .) - FOREACH reduce using rule 169 (empty -> .) - FOR reduce using rule 169 (empty -> .) - DEBUG reduce using rule 169 (empty -> .) - SKIP reduce using rule 169 (empty -> .) - BREAK reduce using rule 169 (empty -> .) - LET reduce using rule 169 (empty -> .) - WHILE reduce using rule 169 (empty -> .) - NAMESPACE reduce using rule 169 (empty -> .) - CLASS reduce using rule 169 (empty -> .) - FUNC reduce using rule 169 (empty -> .) - INIT reduce using rule 169 (empty -> .) - [ reduce using rule 169 (empty -> .) - { reduce using rule 169 (empty -> .) - FORMATTED_STRING reduce using rule 169 (empty -> .) - MULTILINE_STRING reduce using rule 169 (empty -> .) - STRING reduce using rule 169 (empty -> .) - CHAR reduce using rule 169 (empty -> .) - FALSE reduce using rule 169 (empty -> .) - TRUE reduce using rule 169 (empty -> .) - FLOAT reduce using rule 169 (empty -> .) - INT reduce using rule 169 (empty -> .) - NULL reduce using rule 169 (empty -> .) - PYTHON_CODE_EXEC reduce using rule 169 (empty -> .) - PYTHON_CODE reduce using rule 169 (empty -> .) - # reduce using rule 169 (empty -> .) - NEW reduce using rule 169 (empty -> .) - HTMLSTART reduce using rule 169 (empty -> .) - IF reduce using rule 169 (empty -> .) + (135) if_statement -> . IF ( expression ) { program } + } reduce using rule 170 (empty -> .) + ? reduce using rule 170 (empty -> .) + ( reduce using rule 170 (empty -> .) + ID reduce using rule 170 (empty -> .) + $ reduce using rule 170 (empty -> .) + PHPSTART reduce using rule 170 (empty -> .) + LIMPORT reduce using rule 170 (empty -> .) + . reduce using rule 170 (empty -> .) + IMPORT reduce using rule 170 (empty -> .) + RETURN reduce using rule 170 (empty -> .) + DEL reduce using rule 170 (empty -> .) + FOREACH reduce using rule 170 (empty -> .) + FOR reduce using rule 170 (empty -> .) + DEBUG reduce using rule 170 (empty -> .) + SKIP reduce using rule 170 (empty -> .) + BREAK reduce using rule 170 (empty -> .) + LET reduce using rule 170 (empty -> .) + WHILE reduce using rule 170 (empty -> .) + NAMESPACE reduce using rule 170 (empty -> .) + CLASS reduce using rule 170 (empty -> .) + FUNC reduce using rule 170 (empty -> .) + INIT reduce using rule 170 (empty -> .) + [ reduce using rule 170 (empty -> .) + { reduce using rule 170 (empty -> .) + FORMATTED_STRING reduce using rule 170 (empty -> .) + MULTILINE_STRING reduce using rule 170 (empty -> .) + STRING reduce using rule 170 (empty -> .) + CHAR reduce using rule 170 (empty -> .) + FALSE reduce using rule 170 (empty -> .) + TRUE reduce using rule 170 (empty -> .) + FLOAT reduce using rule 170 (empty -> .) + INT reduce using rule 170 (empty -> .) + NULL reduce using rule 170 (empty -> .) + PYTHON_CODE_EXEC reduce using rule 170 (empty -> .) + PYTHON_CODE reduce using rule 170 (empty -> .) + # reduce using rule 170 (empty -> .) + NEW reduce using rule 170 (empty -> .) + HTMLSTART reduce using rule 170 (empty -> .) + IF reduce using rule 170 (empty -> .) ! shift and go to state 33 + shift and go to state 34 - shift and go to state 35 * shift and go to state 38 & shift and go to state 36 - expression shift and go to state 426 - program shift and go to state 430 - empty shift and go to state 425 + expression shift and go to state 433 + program shift and go to state 437 + empty shift and go to state 432 positional_args shift and go to state 150 statement shift and go to state 3 sandbox shift and go to state 6 @@ -46118,158 +46991,158 @@ state 420 html_full shift and go to state 42 if_statement shift and go to state 56 -state 421 +state 428 - (109) for_loop -> FOREACH ( expression AS expression ) { program } . - ? reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - ( reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - ! reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - + reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - - reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - * reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - & reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - ID reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - $ reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - PHPSTART reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - LIMPORT reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - . reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - IMPORT reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - RETURN reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - DEL reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - FOREACH reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - FOR reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - DEBUG reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - SKIP reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - BREAK reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - LET reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - WHILE reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - NAMESPACE reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - CLASS reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - FUNC reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - INIT reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - [ reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - { reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - FORMATTED_STRING reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - MULTILINE_STRING reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - STRING reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - CHAR reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - FALSE reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - TRUE reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - FLOAT reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - INT reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - NULL reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - PYTHON_CODE_EXEC reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - PYTHON_CODE reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - # reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - NEW reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - HTMLSTART reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - IF reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - $end reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - > reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - < reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - EQ_GREATER reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - EQ_LESS reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - NOT_EQEQ reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - EQEQ reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - % reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - / reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - COLON_COLON reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - ^ reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - ; reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - | reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - , reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - PHPEND reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - } reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - ) reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - SARROW reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - ] reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - HTMLEND reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - EQ_DIV reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - EQ_MOD reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - EQ_MUL reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - EQ_SUB reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - EQ_ADD reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - = reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) - AS reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .) + (110) for_loop -> FOREACH ( expression AS expression ) { program } . + ? reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + ( reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + ! reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + + reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + - reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + * reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + & reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + ID reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + $ reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + PHPSTART reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + LIMPORT reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + . reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + IMPORT reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + RETURN reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + DEL reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + FOREACH reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + FOR reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + DEBUG reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + SKIP reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + BREAK reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + LET reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + WHILE reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + NAMESPACE reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + CLASS reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + FUNC reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + INIT reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + [ reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + { reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + FORMATTED_STRING reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + MULTILINE_STRING reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + STRING reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + CHAR reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + FALSE reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + TRUE reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + FLOAT reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + INT reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + NULL reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + PYTHON_CODE_EXEC reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + PYTHON_CODE reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + # reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + NEW reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + HTMLSTART reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + IF reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + $end reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + > reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + < reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + EQ_GREATER reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + EQ_LESS reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + NOT_EQEQ reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + EQEQ reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + % reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + / reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + COLON_COLON reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + ^ reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + ; reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + | reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + , reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + PHPEND reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + } reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + ) reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + SARROW reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + ] reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + HTMLEND reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + EQ_DIV reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + EQ_MOD reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + EQ_MUL reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + EQ_SUB reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + EQ_ADD reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + = reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) + AS reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .) -state 422 +state 429 - (137) else_if_statement -> ELSE IF ( expression ) { program } . - ELSE reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - ? reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - ( reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - ! reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - + reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - - reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - * reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - & reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - ID reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - $ reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - PHPSTART reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - LIMPORT reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - . reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - IMPORT reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - RETURN reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - DEL reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - FOREACH reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - FOR reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - DEBUG reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - SKIP reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - BREAK reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - LET reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - WHILE reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - NAMESPACE reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - CLASS reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - FUNC reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - INIT reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - [ reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - { reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - FORMATTED_STRING reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - MULTILINE_STRING reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - STRING reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - CHAR reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - FALSE reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - TRUE reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - FLOAT reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - INT reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - NULL reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - PYTHON_CODE_EXEC reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - PYTHON_CODE reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - # reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - NEW reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - HTMLSTART reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - IF reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - $end reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - > reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - < reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - EQ_GREATER reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - EQ_LESS reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - NOT_EQEQ reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - EQEQ reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - % reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - / reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - COLON_COLON reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - ^ reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - ; reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - | reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - , reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - PHPEND reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - } reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - ) reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - SARROW reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - ] reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - HTMLEND reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - EQ_DIV reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - EQ_MOD reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - EQ_MUL reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - EQ_SUB reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - EQ_ADD reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - = reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) - AS reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .) + (138) else_if_statement -> ELSE IF ( expression ) { program } . + ELSE reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + ? reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + ( reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + ! reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + + reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + - reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + * reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + & reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + ID reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + $ reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + PHPSTART reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + LIMPORT reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + . reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + IMPORT reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + RETURN reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + DEL reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + FOREACH reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + FOR reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + DEBUG reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + SKIP reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + BREAK reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + LET reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + WHILE reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + NAMESPACE reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + CLASS reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + FUNC reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + INIT reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + [ reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + { reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + FORMATTED_STRING reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + MULTILINE_STRING reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + STRING reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + CHAR reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + FALSE reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + TRUE reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + FLOAT reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + INT reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + NULL reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + PYTHON_CODE_EXEC reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + PYTHON_CODE reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + # reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + NEW reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + HTMLSTART reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + IF reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + $end reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + > reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + < reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + EQ_GREATER reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + EQ_LESS reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + NOT_EQEQ reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + EQEQ reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + % reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + / reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + COLON_COLON reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + ^ reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + ; reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + | reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + , reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + PHPEND reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + } reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + ) reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + SARROW reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + ] reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + HTMLEND reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + EQ_DIV reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + EQ_MOD reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + EQ_MUL reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + EQ_SUB reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + EQ_ADD reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + = reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) + AS reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .) -state 423 +state 430 (91) function_declaration -> FUNC ID COLON_COLON ID ( empty ) { program . } TARROW expression (3) program -> program . statement @@ -46329,41 +47202,42 @@ state 423 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -46375,28 +47249,28 @@ state 423 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -46421,8 +47295,8 @@ state 423 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 431 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 438 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -46447,9 +47321,9 @@ state 423 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -46499,7 +47373,7 @@ state 423 html_full shift and go to state 42 if_statement shift and go to state 56 -state 424 +state 431 (92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments ) { program . } TARROW expression (3) program -> program . statement @@ -46559,41 +47433,42 @@ state 424 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -46605,28 +47480,28 @@ state 424 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -46651,8 +47526,8 @@ state 424 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 432 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 439 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -46677,9 +47552,9 @@ state 424 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -46729,9 +47604,9 @@ state 424 html_full shift and go to state 42 if_statement shift and go to state 56 -state 425 +state 432 - (145) assoc_array -> { empty . } + (146) assoc_array -> { empty . } (1) program -> empty . ! shift/reduce conflict for } resolved as shift } shift and go to state 238 @@ -46780,9 +47655,9 @@ state 425 IF reduce using rule 1 (program -> empty .) -state 426 +state 433 - (112) positional_args -> expression . + (113) positional_args -> expression . (5) statement -> expression . (33) expression -> expression . > expression (34) expression -> expression . < expression @@ -46797,9 +47672,9 @@ state 426 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -46809,10 +47684,10 @@ state 426 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -46851,28 +47726,28 @@ state 426 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -46897,13 +47772,13 @@ state 426 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! reduce/reduce conflict for } resolved using rule 5 (statement -> expression .) ! shift/reduce conflict for & resolved as shift ! shift/reduce conflict for * resolved as shift @@ -46934,7 +47809,7 @@ state 426 ! shift/reduce conflict for FOREACH resolved as shift ! shift/reduce conflict for FOR resolved as shift ! shift/reduce conflict for IF resolved as shift - , reduce using rule 112 (positional_args -> expression .) + , reduce using rule 113 (positional_args -> expression .) } reduce using rule 5 (statement -> expression .) PHPSTART reduce using rule 5 (statement -> expression .) LIMPORT reduce using rule 5 (statement -> expression .) @@ -47012,7 +47887,7 @@ state 426 conditional shift and go to state 88 if_statement shift and go to state 56 -state 427 +state 434 (99) function_declaration -> FUNC ID ( empty ) : expression { program . } (3) program -> program . statement @@ -47072,41 +47947,42 @@ state 427 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -47118,28 +47994,28 @@ state 427 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -47164,8 +48040,8 @@ state 427 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 433 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 440 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -47190,9 +48066,9 @@ state 427 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -47242,7 +48118,7 @@ state 427 html_full shift and go to state 42 if_statement shift and go to state 56 -state 428 +state 435 (101) function_declaration -> FUNC ID ( function_arguments ) : expression { program . } (3) program -> program . statement @@ -47302,41 +48178,42 @@ state 428 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -47348,28 +48225,28 @@ state 428 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -47394,8 +48271,8 @@ state 428 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 434 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 441 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -47420,9 +48297,9 @@ state 428 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -47472,7 +48349,7 @@ state 428 html_full shift and go to state 42 if_statement shift and go to state 56 -state 429 +state 436 (96) function_declaration -> ID FUNC ID ( empty ) : expression { program . } (3) program -> program . statement @@ -47532,41 +48409,42 @@ state 429 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -47578,28 +48456,28 @@ state 429 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -47624,8 +48502,8 @@ state 429 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 435 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 442 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -47650,9 +48528,9 @@ state 429 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -47702,7 +48580,7 @@ state 429 html_full shift and go to state 42 if_statement shift and go to state 56 -state 430 +state 437 (97) function_declaration -> ID FUNC ID ( function_arguments ) : expression { program . } (3) program -> program . statement @@ -47762,41 +48640,42 @@ state 430 (57) expression -> . conditional (58) sandbox -> . PHPSTART program PHPEND (59) sandbox -> . LIMPORT expression ; - (140) import_statement -> . . SELFISH ; - (141) import_statement -> . . GLOBAL ; - (142) import_statement -> . IMPORT expression ; - (120) variable_operation -> . get_index EQ_DIV expression ; - (121) variable_operation -> . ID EQ_DIV expression ; - (122) variable_operation -> . get_index EQ_MOD expression ; - (123) variable_operation -> . ID EQ_MOD expression ; - (124) variable_operation -> . get_index EQ_MUL expression ; - (125) variable_operation -> . ID EQ_MUL expression ; - (126) variable_operation -> . get_index EQ_SUB expression ; - (127) variable_operation -> . ID EQ_SUB expression ; - (128) variable_operation -> . get_index EQ_ADD expression ; - (129) variable_operation -> . ID EQ_ADD expression ; + (141) import_statement -> . . SELFISH ; + (142) import_statement -> . . GLOBAL ; + (143) import_statement -> . IMPORT expression ; + (121) variable_operation -> . get_index EQ_DIV expression ; + (122) variable_operation -> . ID EQ_DIV expression ; + (123) variable_operation -> . get_index EQ_MOD expression ; + (124) variable_operation -> . ID EQ_MOD expression ; + (125) variable_operation -> . get_index EQ_MUL expression ; + (126) variable_operation -> . ID EQ_MUL expression ; + (127) variable_operation -> . get_index EQ_SUB expression ; + (128) variable_operation -> . ID EQ_SUB expression ; + (129) variable_operation -> . get_index EQ_ADD expression ; + (130) variable_operation -> . ID EQ_ADD expression ; (70) return_statement -> . RETURN expression ; - (139) delete_statement -> . DEL ID ; - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } + (140) delete_statement -> . DEL ID ; + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } (67) break_statement -> . DEBUG ; (68) break_statement -> . SKIP ; (69) break_statement -> . BREAK ; - (116) variable_assignment -> . $ get_index = expression ; - (117) variable_assignment -> . LET ID : ID = expression ; - (118) variable_assignment -> . $ ID TARROW ID = expression ; - (119) variable_assignment -> . $ ID = expression ; + (117) variable_assignment -> . $ get_index = expression ; + (118) variable_assignment -> . LET ID : ID = expression ; + (119) variable_assignment -> . $ ID TARROW ID = expression ; + (120) variable_assignment -> . $ ID = expression ; (66) python_code_statement -> . python_code ; - (111) while_loop -> . WHILE ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement + (112) while_loop -> . WHILE ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement (65) function_call_statement -> . function_call ; (105) class_declaration -> . NAMESPACE ID ; (106) class_declaration -> . NAMESPACE ID { program } (107) class_declaration -> . CLASS ID EXTENDS ID { program } (108) class_declaration -> . CLASS ID { program } + (109) class_declaration -> . CLASS ID [ positional_args ] { program } (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression (93) function_declaration -> . INIT ( function_arguments ) { program } ; @@ -47808,28 +48687,28 @@ state 430 (99) function_declaration -> . FUNC ID ( empty ) : expression { program } (100) function_declaration -> . FUNC ID ( function_arguments ) { program } (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program } - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -47854,8 +48733,8 @@ state 430 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (134) if_statement -> . IF ( expression ) { program } - } shift and go to state 436 + (135) if_statement -> . IF ( expression ) { program } + } shift and go to state 443 ? shift and go to state 4 ( shift and go to state 32 ! shift and go to state 33 @@ -47880,9 +48759,9 @@ state 430 WHILE shift and go to state 55 NAMESPACE shift and go to state 57 CLASS shift and go to state 58 - FUNC shift and go to state 59 - INIT shift and go to state 60 - [ shift and go to state 61 + FUNC shift and go to state 60 + INIT shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -47932,19 +48811,19 @@ state 430 html_full shift and go to state 42 if_statement shift and go to state 56 -state 431 +state 438 (91) function_declaration -> FUNC ID COLON_COLON ID ( empty ) { program } . TARROW expression - TARROW shift and go to state 437 + TARROW shift and go to state 444 -state 432 +state 439 (92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments ) { program } . TARROW expression - TARROW shift and go to state 438 + TARROW shift and go to state 445 -state 433 +state 440 (99) function_declaration -> FUNC ID ( empty ) : expression { program } . ? reduce using rule 99 (function_declaration -> FUNC ID ( empty ) : expression { program } .) @@ -47995,7 +48874,7 @@ state 433 } reduce using rule 99 (function_declaration -> FUNC ID ( empty ) : expression { program } .) -state 434 +state 441 (101) function_declaration -> FUNC ID ( function_arguments ) : expression { program } . ? reduce using rule 101 (function_declaration -> FUNC ID ( function_arguments ) : expression { program } .) @@ -48046,7 +48925,7 @@ state 434 } reduce using rule 101 (function_declaration -> FUNC ID ( function_arguments ) : expression { program } .) -state 435 +state 442 (96) function_declaration -> ID FUNC ID ( empty ) : expression { program } . ? reduce using rule 96 (function_declaration -> ID FUNC ID ( empty ) : expression { program } .) @@ -48097,7 +48976,7 @@ state 435 } reduce using rule 96 (function_declaration -> ID FUNC ID ( empty ) : expression { program } .) -state 436 +state 443 (97) function_declaration -> ID FUNC ID ( function_arguments ) : expression { program } . ? reduce using rule 97 (function_declaration -> ID FUNC ID ( function_arguments ) : expression { program } .) @@ -48148,7 +49027,7 @@ state 436 } reduce using rule 97 (function_declaration -> ID FUNC ID ( function_arguments ) : expression { program } .) -state 437 +state 444 (91) function_declaration -> FUNC ID COLON_COLON ID ( empty ) { program } TARROW . expression (20) expression -> . assoc_array @@ -48189,28 +49068,28 @@ state 437 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -48235,13 +49114,13 @@ state 437 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -48250,7 +49129,7 @@ state 437 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -48272,7 +49151,7 @@ state 437 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 439 + expression shift and go to state 446 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -48291,7 +49170,7 @@ state 437 conditional shift and go to state 88 if_statement shift and go to state 56 -state 438 +state 445 (92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW . expression (20) expression -> . assoc_array @@ -48332,28 +49211,28 @@ state 438 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -48378,13 +49257,13 @@ state 438 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ( shift and go to state 32 ! shift and go to state 33 + shift and go to state 34 @@ -48393,7 +49272,7 @@ state 438 & shift and go to state 36 ID shift and go to state 84 $ shift and go to state 85 - [ shift and go to state 61 + [ shift and go to state 59 { shift and go to state 49 FORMATTED_STRING shift and go to state 62 MULTILINE_STRING shift and go to state 63 @@ -48415,7 +49294,7 @@ state 438 FOR shift and go to state 50 IF shift and go to state 76 - expression shift and go to state 440 + expression shift and go to state 447 assoc_array shift and go to state 20 _list shift and go to state 21 _tuple shift and go to state 22 @@ -48434,7 +49313,7 @@ state 438 conditional shift and go to state 88 if_statement shift and go to state 56 -state 439 +state 446 (91) function_declaration -> FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression . (33) expression -> expression . > expression @@ -48450,9 +49329,9 @@ state 439 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -48462,10 +49341,10 @@ state 439 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -48504,28 +49383,28 @@ state 439 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -48550,13 +49429,13 @@ state 439 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! shift/reduce conflict for & resolved as shift ! shift/reduce conflict for * resolved as shift ! shift/reduce conflict for - resolved as shift @@ -48665,7 +49544,7 @@ state 439 conditional shift and go to state 88 if_statement shift and go to state 56 -state 440 +state 447 (92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression . (33) expression -> expression . > expression @@ -48681,9 +49560,9 @@ state 440 (47) expression -> expression . - expression (48) expression -> expression . + expression (54) expression -> expression . . expression - (165) class_attribute -> expression . COLON_COLON ID - (149) get_index -> expression . ^ expression - (150) get_index -> expression . [ expression ] + (166) class_attribute -> expression . COLON_COLON ID + (150) get_index -> expression . ^ expression + (151) get_index -> expression . [ expression ] (73) function_call -> expression . ( empty ) FARROW { program } (80) function_call -> expression . ( empty ) (87) function_call -> expression . ( function_arguments ) FARROW { program } @@ -48693,10 +49572,10 @@ state 440 (102) function_arguments -> . kwargs (103) function_arguments -> . positional_args , kwargs (104) function_arguments -> . positional_args - (114) kwargs -> . ID = expression - (115) kwargs -> . kwargs , id = expression - (112) positional_args -> . expression - (113) positional_args -> . positional_args , expression + (115) kwargs -> . ID = expression + (116) kwargs -> . kwargs , id = expression + (113) positional_args -> . expression + (114) positional_args -> . positional_args , expression (20) expression -> . assoc_array (21) expression -> . _list (22) expression -> . _tuple @@ -48735,28 +49614,28 @@ state 440 (55) expression -> . html_full (56) expression -> . for_loop (57) expression -> . conditional - (144) assoc_array -> . [ assoc_array_items ] - (145) assoc_array -> . { empty } - (146) assoc_array -> . [ empty ] - (153) _list -> . [ positional_args , ] - (154) _list -> . [ positional_args ] - (151) _tuple -> . { positional_args , } - (152) _tuple -> . { positional_args } - (165) class_attribute -> . expression COLON_COLON ID - (166) id -> . ID - (158) string -> . FORMATTED_STRING - (159) string -> . MULTILINE_STRING - (160) string -> . STRING - (161) string -> . CHAR - (163) bool -> . FALSE - (164) bool -> . TRUE - (162) float -> . FLOAT - (157) int -> . INT - (143) null -> . NULL - (149) get_index -> . expression ^ expression - (150) get_index -> . expression [ expression ] - (167) python_code -> . PYTHON_CODE_EXEC - (168) python_code -> . PYTHON_CODE + (145) assoc_array -> . [ assoc_array_items ] + (146) assoc_array -> . { empty } + (147) assoc_array -> . [ empty ] + (154) _list -> . [ positional_args , ] + (155) _list -> . [ positional_args ] + (152) _tuple -> . { positional_args , } + (153) _tuple -> . { positional_args } + (166) class_attribute -> . expression COLON_COLON ID + (167) id -> . ID + (159) string -> . FORMATTED_STRING + (160) string -> . MULTILINE_STRING + (161) string -> . STRING + (162) string -> . CHAR + (164) bool -> . FALSE + (165) bool -> . TRUE + (163) float -> . FLOAT + (158) int -> . INT + (144) null -> . NULL + (150) get_index -> . expression ^ expression + (151) get_index -> . expression [ expression ] + (168) python_code -> . PYTHON_CODE_EXEC + (169) python_code -> . PYTHON_CODE (71) function_call -> . . ENV FROM ID { program } (72) function_call -> . . ENV { program } (73) function_call -> . expression ( empty ) FARROW { program } @@ -48781,13 +49660,13 @@ state 440 (61) html_full -> . HTMLSTART (62) html_full -> . HTMLSTART empty HTMLEND (63) html_full -> . HTMLSTART expression HTMLEND - (109) for_loop -> . FOREACH ( expression AS expression ) { program } - (110) for_loop -> . FOR ( expression ) { program } - (130) conditional -> . if_statement else_statement - (131) conditional -> . if_statement else_if_loop else_statement - (132) conditional -> . if_statement else_if_loop - (133) conditional -> . if_statement - (134) if_statement -> . IF ( expression ) { program } + (110) for_loop -> . FOREACH ( expression AS expression ) { program } + (111) for_loop -> . FOR ( expression ) { program } + (131) conditional -> . if_statement else_statement + (132) conditional -> . if_statement else_if_loop else_statement + (133) conditional -> . if_statement else_if_loop + (134) conditional -> . if_statement + (135) if_statement -> . IF ( expression ) { program } ! shift/reduce conflict for & resolved as shift ! shift/reduce conflict for * resolved as shift ! shift/reduce conflict for - resolved as shift @@ -49180,135 +50059,135 @@ shift/reduce conflict for COLON_COLON in state 201 resolved as shift shift/reduce conflict for / in state 211 resolved as shift shift/reduce conflict for COLON_COLON in state 211 resolved as shift shift/reduce conflict for ( in state 221 resolved as shift -shift/reduce conflict for > in state 261 resolved as shift -shift/reduce conflict for < in state 261 resolved as shift -shift/reduce conflict for & in state 261 resolved as shift -shift/reduce conflict for EQ_GREATER in state 261 resolved as shift -shift/reduce conflict for EQ_LESS in state 261 resolved as shift -shift/reduce conflict for NOT_EQEQ in state 261 resolved as shift -shift/reduce conflict for EQEQ in state 261 resolved as shift -shift/reduce conflict for % in state 261 resolved as shift -shift/reduce conflict for * in state 261 resolved as shift -shift/reduce conflict for / in state 261 resolved as shift -shift/reduce conflict for - in state 261 resolved as shift -shift/reduce conflict for + in state 261 resolved as shift -shift/reduce conflict for . in state 261 resolved as shift -shift/reduce conflict for COLON_COLON in state 261 resolved as shift -shift/reduce conflict for ^ in state 261 resolved as shift -shift/reduce conflict for [ in state 261 resolved as shift -shift/reduce conflict for ( in state 261 resolved as shift -shift/reduce conflict for $ in state 261 resolved as shift -shift/reduce conflict for ID in state 261 resolved as shift -shift/reduce conflict for ! in state 261 resolved as shift -shift/reduce conflict for { in state 261 resolved as shift -shift/reduce conflict for FORMATTED_STRING in state 261 resolved as shift -shift/reduce conflict for MULTILINE_STRING in state 261 resolved as shift -shift/reduce conflict for STRING in state 261 resolved as shift -shift/reduce conflict for CHAR in state 261 resolved as shift -shift/reduce conflict for FALSE in state 261 resolved as shift -shift/reduce conflict for TRUE in state 261 resolved as shift -shift/reduce conflict for FLOAT in state 261 resolved as shift -shift/reduce conflict for INT in state 261 resolved as shift -shift/reduce conflict for NULL in state 261 resolved as shift -shift/reduce conflict for PYTHON_CODE_EXEC in state 261 resolved as shift -shift/reduce conflict for PYTHON_CODE in state 261 resolved as shift -shift/reduce conflict for # in state 261 resolved as shift -shift/reduce conflict for NEW in state 261 resolved as shift -shift/reduce conflict for ? in state 261 resolved as shift -shift/reduce conflict for HTMLSTART in state 261 resolved as shift -shift/reduce conflict for FOREACH in state 261 resolved as shift -shift/reduce conflict for FOR in state 261 resolved as shift -shift/reduce conflict for IF in state 261 resolved as shift -shift/reduce conflict for ( in state 291 resolved as shift -shift/reduce conflict for ( in state 316 resolved as shift -shift/reduce conflict for } in state 425 resolved as shift -shift/reduce conflict for & in state 426 resolved as shift -shift/reduce conflict for * in state 426 resolved as shift -shift/reduce conflict for - in state 426 resolved as shift -shift/reduce conflict for + in state 426 resolved as shift -shift/reduce conflict for . in state 426 resolved as shift -shift/reduce conflict for [ in state 426 resolved as shift -shift/reduce conflict for ( in state 426 resolved as shift -shift/reduce conflict for $ in state 426 resolved as shift -shift/reduce conflict for ID in state 426 resolved as shift -shift/reduce conflict for ! in state 426 resolved as shift -shift/reduce conflict for { in state 426 resolved as shift -shift/reduce conflict for FORMATTED_STRING in state 426 resolved as shift -shift/reduce conflict for MULTILINE_STRING in state 426 resolved as shift -shift/reduce conflict for STRING in state 426 resolved as shift -shift/reduce conflict for CHAR in state 426 resolved as shift -shift/reduce conflict for FALSE in state 426 resolved as shift -shift/reduce conflict for TRUE in state 426 resolved as shift -shift/reduce conflict for FLOAT in state 426 resolved as shift -shift/reduce conflict for INT in state 426 resolved as shift -shift/reduce conflict for NULL in state 426 resolved as shift -shift/reduce conflict for PYTHON_CODE_EXEC in state 426 resolved as shift -shift/reduce conflict for PYTHON_CODE in state 426 resolved as shift -shift/reduce conflict for # in state 426 resolved as shift -shift/reduce conflict for NEW in state 426 resolved as shift -shift/reduce conflict for ? in state 426 resolved as shift -shift/reduce conflict for HTMLSTART in state 426 resolved as shift -shift/reduce conflict for FOREACH in state 426 resolved as shift -shift/reduce conflict for FOR in state 426 resolved as shift -shift/reduce conflict for IF in state 426 resolved as shift -shift/reduce conflict for & in state 439 resolved as shift -shift/reduce conflict for * in state 439 resolved as shift -shift/reduce conflict for - in state 439 resolved as shift -shift/reduce conflict for + in state 439 resolved as shift -shift/reduce conflict for . in state 439 resolved as shift -shift/reduce conflict for [ in state 439 resolved as shift -shift/reduce conflict for ( in state 439 resolved as shift -shift/reduce conflict for $ in state 439 resolved as shift -shift/reduce conflict for ID in state 439 resolved as shift -shift/reduce conflict for ! in state 439 resolved as shift -shift/reduce conflict for { in state 439 resolved as shift -shift/reduce conflict for FORMATTED_STRING in state 439 resolved as shift -shift/reduce conflict for MULTILINE_STRING in state 439 resolved as shift -shift/reduce conflict for STRING in state 439 resolved as shift -shift/reduce conflict for CHAR in state 439 resolved as shift -shift/reduce conflict for FALSE in state 439 resolved as shift -shift/reduce conflict for TRUE in state 439 resolved as shift -shift/reduce conflict for FLOAT in state 439 resolved as shift -shift/reduce conflict for INT in state 439 resolved as shift -shift/reduce conflict for NULL in state 439 resolved as shift -shift/reduce conflict for PYTHON_CODE_EXEC in state 439 resolved as shift -shift/reduce conflict for PYTHON_CODE in state 439 resolved as shift -shift/reduce conflict for # in state 439 resolved as shift -shift/reduce conflict for NEW in state 439 resolved as shift -shift/reduce conflict for ? in state 439 resolved as shift -shift/reduce conflict for HTMLSTART in state 439 resolved as shift -shift/reduce conflict for FOREACH in state 439 resolved as shift -shift/reduce conflict for FOR in state 439 resolved as shift -shift/reduce conflict for IF in state 439 resolved as shift -shift/reduce conflict for & in state 440 resolved as shift -shift/reduce conflict for * in state 440 resolved as shift -shift/reduce conflict for - in state 440 resolved as shift -shift/reduce conflict for + in state 440 resolved as shift -shift/reduce conflict for . in state 440 resolved as shift -shift/reduce conflict for [ in state 440 resolved as shift -shift/reduce conflict for ( in state 440 resolved as shift -shift/reduce conflict for $ in state 440 resolved as shift -shift/reduce conflict for ID in state 440 resolved as shift -shift/reduce conflict for ! in state 440 resolved as shift -shift/reduce conflict for { in state 440 resolved as shift -shift/reduce conflict for FORMATTED_STRING in state 440 resolved as shift -shift/reduce conflict for MULTILINE_STRING in state 440 resolved as shift -shift/reduce conflict for STRING in state 440 resolved as shift -shift/reduce conflict for CHAR in state 440 resolved as shift -shift/reduce conflict for FALSE in state 440 resolved as shift -shift/reduce conflict for TRUE in state 440 resolved as shift -shift/reduce conflict for FLOAT in state 440 resolved as shift -shift/reduce conflict for INT in state 440 resolved as shift -shift/reduce conflict for NULL in state 440 resolved as shift -shift/reduce conflict for PYTHON_CODE_EXEC in state 440 resolved as shift -shift/reduce conflict for PYTHON_CODE in state 440 resolved as shift -shift/reduce conflict for # in state 440 resolved as shift -shift/reduce conflict for NEW in state 440 resolved as shift -shift/reduce conflict for ? in state 440 resolved as shift -shift/reduce conflict for HTMLSTART in state 440 resolved as shift -shift/reduce conflict for FOREACH in state 440 resolved as shift -shift/reduce conflict for FOR in state 440 resolved as shift -shift/reduce conflict for IF in state 440 resolved as shift +shift/reduce conflict for > in state 262 resolved as shift +shift/reduce conflict for < in state 262 resolved as shift +shift/reduce conflict for & in state 262 resolved as shift +shift/reduce conflict for EQ_GREATER in state 262 resolved as shift +shift/reduce conflict for EQ_LESS in state 262 resolved as shift +shift/reduce conflict for NOT_EQEQ in state 262 resolved as shift +shift/reduce conflict for EQEQ in state 262 resolved as shift +shift/reduce conflict for % in state 262 resolved as shift +shift/reduce conflict for * in state 262 resolved as shift +shift/reduce conflict for / in state 262 resolved as shift +shift/reduce conflict for - in state 262 resolved as shift +shift/reduce conflict for + in state 262 resolved as shift +shift/reduce conflict for . in state 262 resolved as shift +shift/reduce conflict for COLON_COLON in state 262 resolved as shift +shift/reduce conflict for ^ in state 262 resolved as shift +shift/reduce conflict for [ in state 262 resolved as shift +shift/reduce conflict for ( in state 262 resolved as shift +shift/reduce conflict for $ in state 262 resolved as shift +shift/reduce conflict for ID in state 262 resolved as shift +shift/reduce conflict for ! in state 262 resolved as shift +shift/reduce conflict for { in state 262 resolved as shift +shift/reduce conflict for FORMATTED_STRING in state 262 resolved as shift +shift/reduce conflict for MULTILINE_STRING in state 262 resolved as shift +shift/reduce conflict for STRING in state 262 resolved as shift +shift/reduce conflict for CHAR in state 262 resolved as shift +shift/reduce conflict for FALSE in state 262 resolved as shift +shift/reduce conflict for TRUE in state 262 resolved as shift +shift/reduce conflict for FLOAT in state 262 resolved as shift +shift/reduce conflict for INT in state 262 resolved as shift +shift/reduce conflict for NULL in state 262 resolved as shift +shift/reduce conflict for PYTHON_CODE_EXEC in state 262 resolved as shift +shift/reduce conflict for PYTHON_CODE in state 262 resolved as shift +shift/reduce conflict for # in state 262 resolved as shift +shift/reduce conflict for NEW in state 262 resolved as shift +shift/reduce conflict for ? in state 262 resolved as shift +shift/reduce conflict for HTMLSTART in state 262 resolved as shift +shift/reduce conflict for FOREACH in state 262 resolved as shift +shift/reduce conflict for FOR in state 262 resolved as shift +shift/reduce conflict for IF in state 262 resolved as shift +shift/reduce conflict for ( in state 292 resolved as shift +shift/reduce conflict for ( in state 318 resolved as shift +shift/reduce conflict for } in state 432 resolved as shift +shift/reduce conflict for & in state 433 resolved as shift +shift/reduce conflict for * in state 433 resolved as shift +shift/reduce conflict for - in state 433 resolved as shift +shift/reduce conflict for + in state 433 resolved as shift +shift/reduce conflict for . in state 433 resolved as shift +shift/reduce conflict for [ in state 433 resolved as shift +shift/reduce conflict for ( in state 433 resolved as shift +shift/reduce conflict for $ in state 433 resolved as shift +shift/reduce conflict for ID in state 433 resolved as shift +shift/reduce conflict for ! in state 433 resolved as shift +shift/reduce conflict for { in state 433 resolved as shift +shift/reduce conflict for FORMATTED_STRING in state 433 resolved as shift +shift/reduce conflict for MULTILINE_STRING in state 433 resolved as shift +shift/reduce conflict for STRING in state 433 resolved as shift +shift/reduce conflict for CHAR in state 433 resolved as shift +shift/reduce conflict for FALSE in state 433 resolved as shift +shift/reduce conflict for TRUE in state 433 resolved as shift +shift/reduce conflict for FLOAT in state 433 resolved as shift +shift/reduce conflict for INT in state 433 resolved as shift +shift/reduce conflict for NULL in state 433 resolved as shift +shift/reduce conflict for PYTHON_CODE_EXEC in state 433 resolved as shift +shift/reduce conflict for PYTHON_CODE in state 433 resolved as shift +shift/reduce conflict for # in state 433 resolved as shift +shift/reduce conflict for NEW in state 433 resolved as shift +shift/reduce conflict for ? in state 433 resolved as shift +shift/reduce conflict for HTMLSTART in state 433 resolved as shift +shift/reduce conflict for FOREACH in state 433 resolved as shift +shift/reduce conflict for FOR in state 433 resolved as shift +shift/reduce conflict for IF in state 433 resolved as shift +shift/reduce conflict for & in state 446 resolved as shift +shift/reduce conflict for * in state 446 resolved as shift +shift/reduce conflict for - in state 446 resolved as shift +shift/reduce conflict for + in state 446 resolved as shift +shift/reduce conflict for . in state 446 resolved as shift +shift/reduce conflict for [ in state 446 resolved as shift +shift/reduce conflict for ( in state 446 resolved as shift +shift/reduce conflict for $ in state 446 resolved as shift +shift/reduce conflict for ID in state 446 resolved as shift +shift/reduce conflict for ! in state 446 resolved as shift +shift/reduce conflict for { in state 446 resolved as shift +shift/reduce conflict for FORMATTED_STRING in state 446 resolved as shift +shift/reduce conflict for MULTILINE_STRING in state 446 resolved as shift +shift/reduce conflict for STRING in state 446 resolved as shift +shift/reduce conflict for CHAR in state 446 resolved as shift +shift/reduce conflict for FALSE in state 446 resolved as shift +shift/reduce conflict for TRUE in state 446 resolved as shift +shift/reduce conflict for FLOAT in state 446 resolved as shift +shift/reduce conflict for INT in state 446 resolved as shift +shift/reduce conflict for NULL in state 446 resolved as shift +shift/reduce conflict for PYTHON_CODE_EXEC in state 446 resolved as shift +shift/reduce conflict for PYTHON_CODE in state 446 resolved as shift +shift/reduce conflict for # in state 446 resolved as shift +shift/reduce conflict for NEW in state 446 resolved as shift +shift/reduce conflict for ? in state 446 resolved as shift +shift/reduce conflict for HTMLSTART in state 446 resolved as shift +shift/reduce conflict for FOREACH in state 446 resolved as shift +shift/reduce conflict for FOR in state 446 resolved as shift +shift/reduce conflict for IF in state 446 resolved as shift +shift/reduce conflict for & in state 447 resolved as shift +shift/reduce conflict for * in state 447 resolved as shift +shift/reduce conflict for - in state 447 resolved as shift +shift/reduce conflict for + in state 447 resolved as shift +shift/reduce conflict for . in state 447 resolved as shift +shift/reduce conflict for [ in state 447 resolved as shift +shift/reduce conflict for ( in state 447 resolved as shift +shift/reduce conflict for $ in state 447 resolved as shift +shift/reduce conflict for ID in state 447 resolved as shift +shift/reduce conflict for ! in state 447 resolved as shift +shift/reduce conflict for { in state 447 resolved as shift +shift/reduce conflict for FORMATTED_STRING in state 447 resolved as shift +shift/reduce conflict for MULTILINE_STRING in state 447 resolved as shift +shift/reduce conflict for STRING in state 447 resolved as shift +shift/reduce conflict for CHAR in state 447 resolved as shift +shift/reduce conflict for FALSE in state 447 resolved as shift +shift/reduce conflict for TRUE in state 447 resolved as shift +shift/reduce conflict for FLOAT in state 447 resolved as shift +shift/reduce conflict for INT in state 447 resolved as shift +shift/reduce conflict for NULL in state 447 resolved as shift +shift/reduce conflict for PYTHON_CODE_EXEC in state 447 resolved as shift +shift/reduce conflict for PYTHON_CODE in state 447 resolved as shift +shift/reduce conflict for # in state 447 resolved as shift +shift/reduce conflict for NEW in state 447 resolved as shift +shift/reduce conflict for ? in state 447 resolved as shift +shift/reduce conflict for HTMLSTART in state 447 resolved as shift +shift/reduce conflict for FOREACH in state 447 resolved as shift +shift/reduce conflict for FOR in state 447 resolved as shift +shift/reduce conflict for IF in state 447 resolved as shift reduce/reduce conflict in state 11 resolved using rule statement -> for_loop rejected rule (expression -> for_loop) in state 11 reduce/reduce conflict in state 16 resolved using rule statement -> conditional @@ -49325,11 +50204,11 @@ reduce/reduce conflict in state 191 resolved using rule expression -> expression rejected rule (expression -> + expression [precedence=right, level=10]) in state 191 reduce/reduce conflict in state 210 resolved using rule expression -> function_call rejected rule (expression -> function_call | function_call [precedence=left, level=4]) in state 210 -reduce/reduce conflict in state 347 resolved using rule function_call -> NEW expression ( empty ) -rejected rule (function_call -> expression ( empty )) in state 347 -reduce/reduce conflict in state 348 resolved using rule function_call -> expression ( function_arguments ) -rejected rule (function_call -> NEW expression ( function_arguments )) in state 348 -reduce/reduce conflict in state 386 resolved using rule function_call -> $ ID TARROW ID ( function_arguments ) -rejected rule (function_call -> ID TARROW ID ( function_arguments )) in state 386 -reduce/reduce conflict in state 426 resolved using rule statement -> expression -rejected rule (positional_args -> expression) in state 426 \ No newline at end of file +reduce/reduce conflict in state 351 resolved using rule function_call -> NEW expression ( empty ) +rejected rule (function_call -> expression ( empty )) in state 351 +reduce/reduce conflict in state 352 resolved using rule function_call -> expression ( function_arguments ) +rejected rule (function_call -> NEW expression ( function_arguments )) in state 352 +reduce/reduce conflict in state 391 resolved using rule function_call -> $ ID TARROW ID ( function_arguments ) +rejected rule (function_call -> ID TARROW ID ( function_arguments )) in state 391 +reduce/reduce conflict in state 433 resolved using rule statement -> expression +rejected rule (positional_args -> expression) in state 433 \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 0ba8ddb..4476b4c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "nophp" -version = "0.1.8" +version = "0.1.9rc1" description = "Not Only PHP - A backwards compatible language focused on modern features and flexibility." authors = ["Artur Z "] readme = "README.md" diff --git a/test.php b/test.php index 8d3c341..d56c371 100644 --- a/test.php +++ b/test.php @@ -159,14 +159,22 @@ function test_scopes_for_session() echo "
" . Example\greet(1000); // Try to fix function scope issues +class TestClass { + public function test() : int { + return 2; + } +} +class HelloWorld [TestClass] { + $test = new TestClass(); -class HelloWorld { public function run() : string { return

"Hello, World!"

; } public function displayOutput() { - echo $this->run(); + if ($test->test() == 2) { + echo $this->run(); + } } } From 4413e13fff538949168995bcbc644b22e38bf31b Mon Sep 17 00:00:00 2001 From: Artur Z Date: Mon, 10 Jun 2024 01:07:24 +0200 Subject: [PATCH 2/3] Feat: Include stuff in class scopes via [], and some bug squashing --- dist/nophp-0.1.9rc1-py3-none-any.whl | Bin 49878 -> 50462 bytes dist/nophp-0.1.9rc1.tar.gz | Bin 132757 -> 133371 bytes nophp/lang/compiler.py | 7 +- nophp/lang/modules.py | 100 +++++++++++++++++++++++++-- nophp/lang/pparser.py | 4 ++ nophp/lang/std/json.py | 1 + nophp/lang/std/primitives.py | 20 +++++- 7 files changed, 122 insertions(+), 10 deletions(-) diff --git a/dist/nophp-0.1.9rc1-py3-none-any.whl b/dist/nophp-0.1.9rc1-py3-none-any.whl index 633d852bc7e678266ed724e53509002c2b6285db..3eb494d8a7fd000be20d67f3fe9bad4b64dab6c4 100644 GIT binary patch delta 24438 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 UDyRr%q#2sm&jFv_`5){50kGCwpa1{> delta 23864 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 JZ2#Ay{|ALoN*n+H diff --git a/dist/nophp-0.1.9rc1.tar.gz b/dist/nophp-0.1.9rc1.tar.gz index b9a53eda39aa48c8ce26117345775c20aa713b39..7c03b4e34fbc00cf2f86fd899563ee3a7f7f8e40 100644 GIT binary patch delta 65726 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

*{*Pnp z!;jjn$OpS9`3#8AgSo{qg5l@s5D|03&EpWG&QoYy*Bg3YU(WoDsr70|+^%L?U8ICIdt(a4c&&pQ_CQPKzHAoB~So z2eWKnkNZN(5l$%w-Hs65|=pUkiT&)+4zA@C7!SuMh*ukLWPM4{Wn+ zTmTUUAxlzZBXF*X1XBT8A|(S4DxLeO#$OK2 None: - if name in self.classes and not force: - print(f"At {self.line}") - raise TranspilerExceptions.ClassExists(name, clss=self.classes) + # TODO: I don't think this is necessary + # if name in self.classes and not force: + # print(f"At {self.line}") + # raise TranspilerExceptions.ClassExists(name, clss=self.classes) obj.parent = parent diff --git a/nophp/lang/modules.py b/nophp/lang/modules.py index e7da8f4..8b6fa78 100644 --- a/nophp/lang/modules.py +++ b/nophp/lang/modules.py @@ -98,10 +98,11 @@ def proc_tree(self, tree): elif type(second_resolved) == Auto: second_value = second_resolved.value - # TODO: Patch with exhaustive matching later - if second_value in NOPHP_TYPES: + # TODO: Patch with "sane" exhaustive matching later + while type(second_value) in NOPHP_TYPES: second_value = second_value.value - if first_value in NOPHP_TYPES: + + while type(first_value) in NOPHP_TYPES: first_value = first_value.value return String(self.remove_quotes(first_value) + self.remove_quotes(second_value)) @@ -292,6 +293,9 @@ def proc_tree(self, _): Warn("Use is obsolete in NoPHP, the namespace was autoloaded, skipping.") class RequireOnceMod(Module): + """ + This is legacy now and should get a rework. + """ name="REQUIRE_ONCE" type = Module.MODULE_TYPES.NON_WRITEABLE @@ -326,6 +330,9 @@ def proc_tree(self, tree): elif type(resolved) == String: value = self.remove_quotes(resolved.value) + # TODO: Legacy failsafe + if type(value) == String: + value = self.remove_quotes(value.value) values.append(value) @@ -341,6 +348,7 @@ def proc_tree(self, tree): tokens = parser.parse( lexer.tokenize(php) ) + self.compiler_instance.finished.append(html) old_nm = self.compiler_instance.namespace @@ -471,8 +479,20 @@ def proc_tree(self, tree): if type(index) == String: index_value = self.remove_quotes(index.value) + elif type(index) == ID: + index_value = self.compiler_instance.get_variable(index.value)['object'] + print("IndexOBJ:",index_value) + if type(index_value) == Auto: # Fucking auto istg + index_value = index_value.value + print("HandledAuto:",index_value) + if type(index_value) == String: + index_value = self.remove_quotes(index_value.value) + print("HandledString:",index_value) + else: + index_value = index_value.value else: index_value = index.value + if type(name) == ID: var = self.compiler_instance.get_variable(name.value) # print(var) @@ -590,8 +610,21 @@ def add_quotes_if_missing(match): raise TranspilerExceptions.TypeMissmatch(f"Get Index Actor: {name.value}", type(name.value), [ID, DynArray, Map], line) elif type(name) == Nil: return Nil() + elif type(name) == Map: + value = {} + for key, v in name.value.items(): + if type(key) not in BASE_TYPES: + value[self.remove_quotes(key.value) if type(key.value) == str else key.value] = v + else: + value[self.remove_quotes(key)] = v + if index_value in value: + print("Found mapping") + return Auto(value[index_value], "basic") + else: + print(f"Map does not contain {index_value}, it only contains: {list(value.keys())}") + return Nil() else: - raise TranspilerExceptions.TypeMissmatch(f"Get Index Actor: {name}", type(name), [ID, DynArray], line) + raise TranspilerExceptions.TypeMissmatch(f"Get Index Actor: {name}", type(name), [ID, DynArray, Map, Auto], line) return Nil() class SetIndexMod(Module): @@ -614,6 +647,8 @@ def proc_tree(self, tree): value = resolution_module(tree['EXPRESSION']) while type(index_value) not in BASE_TYPES: + if type(index_value) == ID: + index_value = self.compiler_instance.get_variable(index_value.value)["object"] index_value = index_value.value if type(index_value) == str: index_value = self.remove_quotes(index_value) @@ -641,7 +676,8 @@ def add_quotes_if_missing(match): else: return Nil() - + while type(value) == ID: # TODO: Why should we keep this while? + value = self.compiler_instance.get_variable(value.value)['object'] if type(name) == ID: var = self.compiler_instance.get_variable(name.value) @@ -650,6 +686,9 @@ def add_quotes_if_missing(match): var['object'].value[index_value] = value else: raise TranspilerExceptions.OutOfBounds(index_value, var['object'].length) + elif var['type'] == Map: + print(index_value, value, var) + var['object'].value[index_value] = value elif var['type'] == Session: print("Session contains:",var['object'].value.get(index_value), type(var['object'].value.get(index_value))) var['object'].value[index_value] = value # Auto(value, "basic").value @@ -1238,6 +1277,47 @@ def proc_tree(self, tree): done = ret else: raise TranspilerExceptions.UnkownMethodReference(funcname, list(self.compiler_instance.variables[cls]['object'].functions.keys()), ns=self.compiler_instance.variables[cls]['object'].namespace) + + elif cls in self.compiler_instance.classes: + if funcname in self.compiler_instance.classes[cls]['object'].functions: + funcobj = self.compiler_instance.classes[cls]['object'].functions[funcname] + + for i, arg in enumerate(self.compiler_instance.classes[cls]['object'].functions[funcname]["arguments"]): + try: + v = parsed_args[i] + except IndexError as e: + raise TranspilerExceptions.OutOfBounds(i, len(self.compiler_instance.classes[cls]['object'].functions[funcname]["arguments"])) + + self.compiler_instance.classes[cls]['object'].functions[funcname]["object"].create_variable( + arg.value, + type(v), + v, + force=True + ) + # TODO: REMOVE + # print(self.compiler_instance.classes[cls]['object'].functions[funcname]["object"].namespace ,self.compiler_instance.classes[cls]['object'].functions[funcname]["object"].classes) + func = self.compiler_instance.classes[cls]['object'].functions[funcname]["run_func"] + # TODO: Check permission level + func() + self.compiler_instance.write_back( + self.compiler_instance.classes[cls]['object'].functions[funcname]['object'] + ) + ret = self.compiler_instance.classes[cls]['object'].functions[funcname]['object'].returns + exp = self.compiler_instance.classes[cls]['object'].functions[funcname]['returns'] + # TODO: REMOVE + # print(funcname, ret) + if ret != Nil: + if type(ret) == ID: + # print(list(self.compiler_instance.classes[cls]['object'].functions[funcname]['object'].classes.keys())) + # input("vars.") + ret = self.compiler_instance.classes[cls]['object'].functions[funcname]['object'].get_variable(ret.value)['object'] + if type(ret) != exp and exp != Any: + raise TranspilerExceptions.TypeMissmatchNL(f"{funcname}(...) return value", ret, exp) + done = ret + else: + raise TranspilerExceptions.UnkownMethodReference(funcname, list(self.compiler_instance.classes[cls]['object'].functions.keys()), ns=self.compiler_instance.classes[cls]['object'].namespace) + + else: raise TranspilerExceptions.ClassNotFound(cls) @@ -1314,6 +1394,14 @@ def proc_tree(self, tree): raise TranspilerExceptions.Generic(f"Unable to find callable unit on a value of Nil. '{tree['FROM']}' was Nil\n::Information::\n'{self.compiler_instance.get_variable(tree['FROM'])}'") # print(tree["TO"], o.get_variable(tree["TO"]), self.compiler_instance.namespace) return Auto(o.get_variable(tree["TO"])['object'], 'basic').value + + # For classes that don't require initialization or construction + elif tree["FROM"] in self.compiler_instance.classes: + o = self.compiler_instance.classes[tree["FROM"]]['object'] + if type(o) == Nil: + raise TranspilerExceptions.Generic(f"Unable to find callable unit on a value of Nil. '{tree['FROM']}' was Nil\n::Information::\n'{self.compiler_instance.get_variable(tree['FROM'])}'") + + return Auto(o.get_variable(tree["TO"])['object'], 'basic').value else: raise TranspilerExceptions.NotImplemented @@ -1562,7 +1650,7 @@ def atomize(val): # Evaluate condition and run it's code c = condition(first, second) - # print(c, self.remove_quotes(first), self.remove_quotes(second), if_condition[0]) + print(c, first, second, if_condition[0]) else: c = condition(if_condition[1]) # print(c) diff --git a/nophp/lang/pparser.py b/nophp/lang/pparser.py index 06d1464..766e8df 100644 --- a/nophp/lang/pparser.py +++ b/nophp/lang/pparser.py @@ -756,6 +756,10 @@ def class_declaration(self, p): @_("CLASS ID EXTENDS ID '{' program '}'") def class_declaration(self, p): return ("CLASS_DECLARATION", {"ID": p.ID0, "EXTENDS": p.ID1, "PROGRAM": p.program}, p.lineno) + + @_("CLASS ID EXTENDS ID '[' positional_args ']' '{' program '}'") + def class_declaration(self, p): + return ("CLASS_DECLARATION", {"ID": p.ID0, "EXTENDS": p.ID1, "USES": p.positional_args, "PROGRAM": p.program}, p.lineno) @_("NAMESPACE ID '{' program '}'") def class_declaration(self, p): diff --git a/nophp/lang/std/json.py b/nophp/lang/std/json.py index 9a1fdc2..de88e7d 100644 --- a/nophp/lang/std/json.py +++ b/nophp/lang/std/json.py @@ -53,6 +53,7 @@ def proc_tree(self, tree): # i.e. getters. attrs = {} obj = values[0] + print(f"Encoding: {obj}") if type(obj) == Compiler: for func in obj.functions: if func[:3].lower() == 'get': diff --git a/nophp/lang/std/primitives.py b/nophp/lang/std/primitives.py index ceb938e..c3ac230 100644 --- a/nophp/lang/std/primitives.py +++ b/nophp/lang/std/primitives.py @@ -61,6 +61,23 @@ def proc_tree(self, tree): emptiness = value is None or value == "" or value == [] or value == {} or value == set() return Bool(emptiness) + + +class ExistsMod(CommonMod): + name="exists" + type = Module.MODULE_TYPES.FUNCTION + + def __init__(self, compiler_instance): + super().__init__(compiler_instance) + self.compiler_instance = compiler_instance + + def proc_tree(self, tree): + value = self.base(tree)[0] + + # print(value) + + return Bool(value in self.compiler_instance.variables) + # For arrays # array() @@ -133,7 +150,8 @@ def proc_tree(self, tree): "array": ArrayMod, "array_push": ArrayPushMod, "array_push_deep": ArrayPushDeepMod, - "empty": EmptyMod + "empty": EmptyMod, + "exists": ExistsMod, } def build_funcs(c): From 8b904bf52be0777261a97e617b5ead71b6d4ef85 Mon Sep 17 00:00:00 2001 From: Artur Z Date: Mon, 10 Jun 2024 20:12:40 +0200 Subject: [PATCH 3/3] Minor changes --- dist/nophp-0.1.9rc1-py3-none-any.whl | Bin 50462 -> 50519 bytes dist/nophp-0.1.9rc1.tar.gz | Bin 133371 -> 133424 bytes nophp/lang/std/internal.py | 15 ++++++++++++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/dist/nophp-0.1.9rc1-py3-none-any.whl b/dist/nophp-0.1.9rc1-py3-none-any.whl index 3eb494d8a7fd000be20d67f3fe9bad4b64dab6c4..6c8249aeea9a419b270e77128c8bb30c2b51e55d 100644 GIT binary patch delta 2321 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 diff --git a/dist/nophp-0.1.9rc1.tar.gz b/dist/nophp-0.1.9rc1.tar.gz index 7c03b4e34fbc00cf2f86fd899563ee3a7f7f8e40..c30c876885aeec5ba76d141905ff24c55f029e43 100644 GIT binary patch delta 13462 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 delta 13428 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 EKOWv

=(x=a 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 a~W zQ&D>06IL)#1WfvLb3W6%A|z0OJ^(Bv+g?<_NwJ2CqVofA%n*yB z6{hCal$kcuuM`of1VQIrM{>u)CXh`V98IFk`WO-{PW(;niV{xrHNu`sP7;<3a@Et0 z0(O2vV=5j|4iN!4?tq;NQ-CpCNX_2>bFH7a^K8Z$n?}bj7==@od)I60!v%4ae-Fcr z!%=U%^^fwTIm}0+cewoB{6B2av>z>CY9^Cl?oAyDyFvcNDM3!PdBt=U(Y%_z>(p94 zTy~(Rr>vzkP2Br(&XxIZXhzK7`i!3^*#tU}x=KO2a{VT9vELK#P=?8gVb zuIBe30c;^o;_|l3B^R7_lZhU4LADItp9$6j`)A!rJ+M?`JEn#?Ym_~qfZ!`lfizlHeCIjbX6jk#nx5)}XU^`%_h!Cg zwS5I+QLc!Sz#hYtjnr}XjRJ=Izy>v!xz!@>eO#(79fsP8yUoe#$4Q(H(#e&FBebjb zWJW38oNRXo2K^O6W-FvIBoePKzDK&rPQxDV>--t?1M&y&`1ksyqJ1|l@1w~coD#mo z3?ii;$xdHfm5Jz;SxpXE6RKoh3Hz*g`HwzPlOnQe0%bQhj)GlInG+WeB&?+`0bx{n zT6YgQp>mx7P=2Y?v*VZ!9x7{Q#q6_*oSg}FVD{r{7R-0sUY*54k2zxVN zcw_zz<%0e@hNf!^Wvu9A2~0fv;zV5DBP#thJiC zCo^yhwYylogRX15Zgf5Eig@r!e}z5}#^FLqmm!Xjjj4N0q+h_k^F@v5HpiFdAwezZ zr!DR&?eESGw9VGIYrK=GS%iu?$zkUhRt;La>hMKY&mMogN$nBm4~u`c+i`^Wa=hq8 zE_!oBeNvj*fg$V;Io!_}h=Av~u&=wKJ^+*|p&(wJBZ+nS)yECKtsC-n#~k}C|4F_% z+z$wUx#}3L3uo(z{o!=0>@B?!FJBrC70SmPEylW$+Qkc_pKsmGHz&z8uMR%diBn>A zt*P=0nk$}gqli;J26-JEeD!y|&y@9DZRYDkl4{ZT*yAZ0QKF>KE^1jVuG6S{ln-cJ ze%K$6`v|G}zFTTLKBJ~nCDR*R!!Rc0>lI4YLapXkX9$zMVoZ-`L*JzEZHCL}L6N>A zekn{)Jy)=ZT74#UI;J~EFFXd?>+VZQ=|Wn8T}jHBlO0Ic9pIEkz|_( zjP;7rchsHo>-IV`oU+c{)HfxMD+8`(0=r$FC@_*PSa#BXvgQWs!-hyTPOM0lx3T{E zWj^#Ex1hIS>$DJqY!F=nwK>vwiU|cRqB3_xr`E5Qsn(sqSPSb!JY}|!anw2?arB1g z3wB$Xd$#Z=rl|Xf`~7h#f{boM z>T=5@<4wcjEuL6)%u{fVh3IdC*aeNY2*ty&4wl%ZAXX&ws?cL39lAa|0s(J#*9UjS z%bfoxXQex+rQq^%11a>^fBdu9`Fbd-Avw6KvQo_l!g!0aJOKTJ2kr7!1Fak621B9o zLu1g8zI#T$8X?P0v+M@ldIjz3@APj#(f(FItxv}07VR|-?)iSWS72b9I}IiEmYry8 z2GaR{#5v&@KL1%gAYFG)Chkl*v2-&?MTSw3?=RE1qJc<(iCwnNJOu>dKUE(ps|cO8 z<`?N$jQ6S`bH7&{jtwClpv9f)G&8x97G>zalIGa&{tM}TgloB}1#w-mE=9xfSK3tf zQ6kHb(n}hF-0Hz@;ol*Pftcxg&`;h}vBleBRA#Z_KE`H%*{9R*WPz4DY|8MlOEu7d z;a>7JqZO2Q9BO-pe;K@$8+=N7KFK^;Qh^Ze$R!!n(HF?e(%WWiKV89fVXN|26GWcv zH{i&JHyy+>X%?E;@`z>`*0F7Bh4&~l7Q-mp2Wy{d;y^qomVnuaq)wC6`P$GJ zb!9VU2avGgTM<*PchN^8G<{{Q$K}B&Vnf;?3FNK?;4eu%zcP#c!NP!*49{E8kO?A- zji6#GRuQG=?o%D8DOK_Pdd1{i*e5@YQbL=iq-mrYLsg^Fy z?wGQGzA4HR<9ItSQT4If6YO*QPg;q?aw$N$`vF%2LPbEXtfxXaOixW_CKiT;WE zIlAk^DUqN<4UXH3HbdCGgqxfewpeT{+B~~M*O!ywymM>z_vf&PVp#x zEId_X;@CuzGb{HPr_o>D;Exeb!#@0NUG!1%6CsTbv6MW1w|gWi<7Vm-M(|f++2}Og ztqS5!`f_vL#qy*yWYN5De%84G(piG^3)GKrXg0mn?+vom+A$0O+8e#$43w9o)HBr8 zBy|>{a&&ef91{s}r2YmiKH}|LD{lFUosc?60>Yw>e*IbgINuw{w^J)f` zindUa9?zNDWsgJI2iHK)G>7V=Ynj2`r2k~9f;IaTUKNe_ar4u&*1%gDY5guGNa*yz z(SfoZPIMufC_ZaC`Yos2aTnb9r3vjShmPt)H(JV}Zz(48A+-3=JQpfG0>OU;W~(58 z&>gf<{`u$Es&oj{#JGF{kaGRHS(Wx_#0$c*S@q3%G4g!5dyQ;b56w1zykQ{arS?9Z z;P|onpP7s~WFZ^);AwjD1B+Z#DlkR#cDOxzYL_mO5bgjEU(7}%;9wF96CK0gxNUP? z_MjVFsj>;j#>pF?9$Q~n_kWF@(|2FZ+s0$tw(T@_(y+0e#x|N{$F`luYHS;gjmEaw z===8h{RQt@d+mKNdroG}!9Dj}*XL@v%A;zqUxw2AkrW{$U>iiypY`*r62#2CHO26+ z$N^2__c0rX#Eu@hxwHahwB;zc+u!jp^>r33Dx5{1uwFsnY4?)?K|nLoTp~FZB~n9& z{v@fO2@!`v=34Xjkk;b1e|$Xjzx>z{bGVDP5%}2ARRgXR<PBBmq~KDbOWA{D!*lr+h+#JTWQ#nxnC60a;htnQaMK#b!sksL zt4pI8?%N>Ps2yL^1gq8hds!0Hx*G>N(|Ly-mL-gN7PV(IwzCO#YhE+~i~x*SX;S_l zFt9&|7B6KyThiO)%~N+z-{8V4%97Z7OF!S3e&d;jM&uOG1Oqd-X-WlZvE!9b`M3P3 z-rcK7GRgzVrp!@>)=rX`QsJ}+9IfDQBEg;kLC?bZ@LQ_vbzwJZ6r6UsTK_fGUnlldn(0mN(z9kg5 zY-Pe*X8LCqHWB2%U2Q_$1NJB4f}KbECASJPPSNtnh~+S^;5@C9723F1_%!_>r?1D9 z6xzf$(jgxV$mi>!*LI_kosTOnqPZK5}*~!}1$`%y<`B84@haOc1Etbm<1s=kmf^`;G7=f5AG>fPwzP z-EB=^Dk250r1zs=a4+8J<`>Z zx!Dd2J0u_`)iMj7irGy06Ta`dvAwKYl;KXL#~KT4$r{5MX<-#g$U}gOcy};#uYPO!&t!RcIc0gv)Y8XlAA}xegCP3L1O!9 zWYJyl?8j_F5&M;uzDLtAu|4CPo+iT%%6h$HNrOd6p^ZDK%KRsCqES+(lSOqF9fQ%Y zx7&VHR2qcmQM)(Lt*qhc3KYBx1Ct(+*X;XG8qF&?ERxUEOEx4h8;4gOq_@M~vt>74 z3=zPQD}Q|Hvy1XLMdxir7sD51+eo6Hioa}q<-)Q+ES}i|&&gCgHfPFBIR7;8Gt#U$ zsk`60iQqNTTh$m>G>tLrepUuy)P8a|b8MlLbgamg;A`P^Di~i3l%PCk0#|>+#cU%O zOv@t}JD8lof4=S?gjBzsg`p__RO!f+eE{I3a#$8WrOgOI0lP3oy(7hF7KdiE99(0lH8 z|5ldEp|Wd9U~8%l=~Jgn2d$(g#htwTcW#e6NIaaw{mE16Tiudi7ZLWKQ{bo)pvcBS z{m;t%NS#Dip+jF|;QR$}T+HNlJngN=A2TiW!foGN0$uF&>Q#cQZT@jxmN(oMp?kSn zukt`GRUmv~GmFxl%-QTbko7d+=y)l5+}rBz(bUq~(h~f4dwH#e5ag`)`JSvsP7^dO zdT!Mi!&x9ZP90SzT0fKeKo1~eEtWZ1x7{z^ylD>(2uZBNU(Ja{4+oJcML~ykgVW)z zG|FYNAZ|R0?>tCySK*#sk=96ing}n#^SGwtskl1_R6=*36phj=AykD|#=KDg;) zyh|`7`OvbqEeV9mkkvC%GnY$_3l)4{&9tld7uF)m{_qmHuqCRkPXqiwxP`Yl2n+2! zB`rHsHF@J_z>DfrJ4w*#l_KIT2|Ih*3@mx8qpT9~QoAF{t9BZlprbvi0=EhLL$3`jjb5_VmiPxjhch)f zwipZ2MeesvG{2OPkvA}Nl_G!QXbu zOxYy*A&dH{d)miCMMXNp5$q`jmD`AkosuXs4!cI?iUs78 zBNA(jDTNF|uYp*&XP2`Z*=K;dJj1ES8$q=@NK`#JDu;<3*Rb@!WcN+%1 zl|PvMz%XL=nF4u3`8Ig9&(FSxyslse&nuJ|KV$M=yu7cQ-=^F5uG_DYE4P_0Ai0$p-b_P%H=8`tlDqyHL8$Q`~;`gzE|K zEKghuQD@n~p<=|?;&o~@+aju-(?27oK!cu+!?%&^Gj9hPxxWg+0=T&rX zDCoZ4k+1|^VhfKNWIE!4)>1)OH~B|Lam$p~uDop} zUq=Wh{@M8|B-vR`($rO0LlTi9%Q)Htcn%aEP{Z#W6s7PD`g?a@ZVecMoOL|bvP4Ag zi{Fj9T%`dP=~mnXN|&{41Jq5=7PL{Uy`JfTFxV=!H_7<&w&=95ehckNN&(i zhh=`mDNc_l98==LL-BMJq$&X7&z7PAy6=5{(n6`mN{LS%osEYcr5x?)q{G+E$T$=; zRr*628B3QdAZ>J%Nlt!(db?|{ZP&GNdVn`IJE^PsO|uXqHZ(9x_E4eD(b+iHN;0N1a>gp$R4-XFu55r20mb$@OyA?PhflHEJIf=|Z*IDaAH- zkE@##$#!v(rez-L1DoV1WCv}8K-}~;gLss{pc(on9+a>v8zR_Mg#AB)S^Sh?%JjWBI@dj7L z!!7g8`H;pbi&X|nfje@`Q;%rZW#cqru0B3%LU@!c#I6-~0p=XOHa<^-L^O*bvd0b~;oP#Em%93588xNd~ zXd>~rUl}Q%8q2{HaQx!?yBz8Qb#l^fZ>WLMeFGIEO(iN%;aoDSUiTr*i^NC9#qbU} zifB$R0YVMhsi6WYDI@ETT?FE;ty18kI2`vD=WpW`xzJ$^XY41V(2r5bRiL>gE4w=F zv#WW{L1df$qBpPWBON|zCS5Op`4(i`)Jpeh*1cu7(t4%{G=XfIqh8|UtwGeokk$?E zWLMWm=w7H3Y`6QK+wR5nE9hhfaRs=0`>H1A7Y`>pc$evI_DJJ~0L+hCCU(S-B;)1l z&b;J1R9~k3A|hyNPu-O62`#OwO)&%Ss}4tG%e<5eCsoE7noo_=3mk!qxVP`s^=gy; zBXtl+YZO$#m~w(C=m(9|6_Og6aiFZFikXCMfE*-OQl&+H6Q$4D;M(^y+F1VvRD}8C zKD;EuE{2!hAkdrI9pG;K-ja>nz4^75FWT{Q73Ipvh;R?$9mEp6)%z=K(``&9~9} zR={!ED;@Rc1fRaAi!ngY8%ZZ>!l@owO3e-q^3S@a*wYC?DING&(5QM&#&4P?gA!pbxSOp;U2|%umO2-X ze);*0RhUlYJWpE)o4V=yVWuyGeHO6WIyya8UA(MiXEMz2QOcYxU#U-1Fg9AN;o5eQ zJ?rXel?l;8dvzLL7M|7)Rd>_Ri#*N!v`jIfZ~bDusww*FFIz&dBn!P$_lvZHv`y^< z2?m@(K_;P{5-H?VL!-P1599zeLEXIXmz`R)1mQ~&^_zvjo68JaP*m0sjNriOgZ&s8 zn%$?q4>FIk))8dhAQG<5{;DW7kS3%wB5(#n#x$Nt;x4{NO%l~SuachbE48qsa@4B1 zng?2{6$h!E0L7n{gr7fp8mq7En)4m)v0wAWK@uMEM(dxQ29745>D7RypKD`x>>)vR z^<}j<=pJtcpa4zC@f=6^+#&01-HlQjv)5*tay!HxId`KIe6TFyn*@p*sh>pW<@La= z$bUOPS9X!>;x668VOxfSm`N`rV!_UPq8R5O|8L#su|@2?9b*01G7%q~O;?|CHVKph z^5BnTV(gGaMrkC#0KE@hSpF-cM`2MxaRf3qcYV-A9j(3`3Jd3G8Z*fd|iEfyr z>gDt$Gp zNW6|B`ZJbH+=@^(>!4x_WRUuclFd~nHc>hwmIvwrGv(t~3FHZeWap-ntz5YJ2)i;{ z?B})5mprAkQ<$FN0LYHZEeaH~ZgV^tzI7hcSo}e9h{3x(M*Q9LX~8f&cYB{q(orAR zz+M(s3jEgwRlqzmA04gYMXCzZ154^|5@C?7mI6UMtx9MfM@)78i3p?XBrF-fC8~47 zxE|W5=xzGUh_*EvJBT}`3DVO7HTPeEggiSQM2R#F#f}+tLZiXPpm8x|ZC$`eUn35} zJOi?DxP5Hd%v0*(r+iNU~BB7s_KpQ(dZ4EDI{4bz4<&k?1oLydC zN=M&;a6UotRv=ENvU}wf(=4?vQ2YUeVR9NL*Osff`ci5^DXIDUqi`Weo|^h<|G%K(}0ny~L02AaC1q zZ;9L=;hc`AQGvK3PcMqJ@KT2T3QJ8z9JG_R!cj78jS&=?^^%8 zVCUESa-At{>FW#b>)ViV(Xf8wPLzkyvLp;MRZ>3NPp;$mxMw6=vwaJAg3CV)P80t7 zB$gd!H>potV9aO5PWD|b(>LWd22&e63^roZP=CZh#4m0$Xh>J~+qV2lGoy*^Jn(8T zxhOM%`VOrob)EmN&m5^Ci-zNRa^QUuVnL}v$IpP#nu2JrvgrA)m2Z~%Anot1F9MTNmf4v|&_f&>xKRe1je z?Ir4Q#GHSgX^GgP(}F3rWmJ@y^aI=Z+g;@g3#;p8p(y3ehu*|9Egn^Cp-NQBYl)^B zV@>GNvXyd_i87J+t%9iR06B-F@^9(JxuHcuGswF5)+8GChxc%(nkVHaZ6K^JT-gG< zxMUn*(hqHt`GzO3Rp-@x+Qd^_THkBx_OcrDD(K8i$v}YJCdX$6y**hMypZfzSb#j4 zfz(y046|M`G^w`@;R7fDO)P;{c-QU8f@U5st2JG#B0vTwAYS7iB>wK8-esCo(0aDs zRQ1Ra&NIli74ZXPrZ0{T#A9A6k?0(QNC>9pUd(_f?J86(Tld)9sZyvny@k6lBoh%f zyY+bIOV7DXND-D~)2m*f7c{d~wa@Dqhtm8d9w=jwC^$edutRk3oZ9nRD;Zx;O z+1L%voe?=m_HQj<;CR8s+xk#_99!*S+nE4D_&YO0mw46zN%dtYY^?ZntA7F=lTWCl6~!dZD&wAeVX_64r={D_qEpQd~ku8(hd zR+uv2s6+Q7Jk!!sBvgFV(!RD!R5?gG`?q@)-d;im25RqkWh3U;fjUi$Fk6Ae)&uOp+K!zORGchb!HW_-_@ zn2`Xk{admUi`ClJ4_fQUq>k^dLdp8Lc;!bl;>-fF4)b^mljaMbt`q&V@j+yOR-` zPIm*nd_qjZImhn?r@Fpm@Y)7cVu@z_+l1P9xwMu}Z9yLu;C9Od0zdO8WpYildm$2} z$sv#=6~|(H<(}>vaiXo7P>r3(%7g#a-*!3_tcKoAndy6j*v9iV&O5hC--RV*+Nn^v z*?uob$wsCWr_!boyJBId5@*%rx8Ed-&WI&7q&{;ZWg^hg+RB0dtEKKu0 zDnETHjB#75KNA)5%j`kIVDm>BmH4(rv%%P}Ad1iXZ;O1E{D?ljRbxu#T{y#{r2$JY`z1@aiS|XT zfm$kz)h4%Re)}>ZgZmOvI*M(3<@P%Y6rT@1+?w&=dwq4VoY_s1)5;W7;QekjLG=oI zsd$NAYbD;%+$n@{NaLeLI^Zt7yk#xyY`6vdzgQXW?e~A2i`^Ow0Cv#D&#rY_usS|$ zBeGJuO3k-~fV3s07iLY^WJv&_oghvdtA}REL&d2IM-$xeciWfDe_G{6^K3a(H@?}N zD^1siKAA`O6s(HP%OiPKTzulrwP%EeP6`5yCWaZbp=X%^B>jn^uJ|a2L!(@m*i=v6 z*E}2btoZLq2UD;9KtjBUaQA1Jid{PQTo<2%$VWm`JXnUr(^ZIL8$F?+a{ZRWf^qTs-&H7}an04L-c;GOGj6N2#ZO5i{b4*n~LvzNPIJh5tFJUhTWZB0*H$ zkw3u2FuGNJZ+vs*a>0;@3uEZ|39u_`<^)DoTfbtZHwz5A0$;d7bX&?jPyE)04ose_;J%}Z z38&3P&l{xu15g$Z?M3eE9Z8q%3O}FM>bC1LKY&6%Kt_K)0b5ts&YmJ(g6vqIBApyC ztXF`{SM8n=I0iOqRCq`VZYpYFrPP?}3U2Er_Sf*~)5U2`4t8*I{K9o}Quwa>`n z*)7M7qel`{R4ubwINXlzfuVu7g#sIzTdWY_Bp_Pj0^^#+%_66dWQU0G*yep|UVI&n z5O?~9ZJEUTG(@W^t_z`?yQCX7CgT*VFI^}T~ zuNx(d%DlmjoZW7!M~sJZK5>w5XXisxmGPPy7kmThY3g(FQdf!BG(wq1E0e?6plhnY z0CZ>!b~TXmp?RB>5upkFsRegsZ}6Exn1tVYY3v6>c(TZg{Tl0P^)KRnd6_M4g7(Os z!Q=vCT>X38uw+fWw{n@-qdnZ=ht>>Xu7 zols$;(tL<*2agHU0gl&Nrnef&9`%9<0=K_2UWsQx+SK!3)(9AgD4rqUrDBnA69CCR z%*#~pXy>so&b#ZE?_vIk6*Knm5ahSD`p2&IktS?tlVP#g^%m&9!9Qq%)!n)Kv5+h`^@DO9{6GFvjXC<)Z*tD6O`SZjCSiBP5#X! zDl*f`DNu(}EoPON8!?%Xw5ooKG)#e>8#IcqEG)J!bPGM6>$EN#)kArSsWEr1ve0d4 z_2+N<9ew4ytA^Uy2;_g_mvA~-vYdjE=AyfI3e2CleP*{^3F+XKX#8}# z*U_YHLgHlTbMb9Mq8bf1LW%R5jrbuZP81r0?5Go7uh22k^T>K38|)C{zkLpmnSKX0 zzU`=8gL{ORu**7RpZ)*|=wEkR-QZtK$~a>^2z+|j`G3DjQ~IhIfJ<+b-iJ7`0d43< z2Z(qT;AHHLj|~l*lf_u@rA=gvqitZAb&a0155I7{kBGPLZ!5%;!YzM<)qcn5VdPP! zb)7YF_v&gepwxzmN5|UglpFTNJ-i!;l2@F_3tHL zgO+XD`^w7#0}pW}29JAa5CiutQ3&3$*)2S|?xx5tlwS1dCI+Wj|M-9`&kFupvY~cP zTT+BSer;f;M%RachI;+D+x(5LtI@+H*m%u9fPMHlBV$?awO}~I#@vPNi|a7s7<<}K zk%70+ISIAc_MPGi;DBZy8j{6Hi+pY7duCj+;mHyw#lTDh2k=w&*%Y8yFau<~dsPmt z!S~HJMB&}o#38{^+S!(P3uPc&-t4}>dTB$V&{ld#-4NfQR-C1xb?C9M@~cGd`txjH z*J&;#P@hDd#cyT`eIJ?4P}Te?OrX~I(b(t-D~QUX6Pk4dpe-=alMcrHu!SJH-LH2J zHfrx*eVDy-BYwLRr?*3vS;6>4t0^o}KSMMzQrRBK8MeSdp~eKd%RHb0Gro->Rtobf+!JMy6E(!6Snv5 zb1L1t{mx1seK5xmH+sX$?T2Hl+F0Fy177mbf%G74vK7)d{gp?ibG%O)SN+|1&VYLJ z)#$RmfR*VOQP>k3KDPZYpOlt6DB#RUmU#XlGpLH6MD-M+Tq+MJjK7e|$@8t`d``h0 z#|+lo013*oxuU3-Us-TFO4&-nQbhyxn|*K(E4S$q6AIw_TCx<`|+n{pB-WA|SpnfRqKQ}QBE>`>ca*=vYj34am1^R;&ms{|c-Ph>?>0)hG{i;0xUDylp9>CjFriH4a zp&aeyX77;Drtu*WW_R31&n6M(BmOqHEt1#kR}^PrOm`@FJ_4t3xP`0`V}>P^`Dky8 zwngy*&bh@WcYiH=1LruCMD~SOaHbpC5qK*42B5PaJqNyZxug)7^XI_L4m|zst4qZf zgWs8j5(^lWl1&Zs+-*cP1Nv0jAeU2%9*|I7X2%5Ta_|^l`q|=Oj*OY`to7C3adki8 z@G+-&LPEQ1ogR9|)g}b9-W|?#FhxrUPp#Q6?t4E1dGn($Fa0X1y?N;2C{cBWO|cm?m38_7TpMxl-)6c**l%Ld|T0%VvD5%V3z z5akwPV?VcH7Gs6c3%Or|FaMIgQgHF1{N?{-L638$#PW%F29_|8)zgZyG4`5#gOHtj zkrMO8i5?y#YZ>+&XIu^FOD0kX8;+5-=LlC;Xh*nfWJR7#VvpfZ+E)y&=m=_$KjuDn z*C_=D_ZWut5Q}7$6w4s6l>(E_dppyT%T@M`tTkS|t2CT>2P9!JlX(mtPlSETw<%h* zr2oJ!gl(n?0AuCN{+~+nPt|q`W#%}S>&5FCO3t)0koC|X!KxIvK?pdvmlzQ#j!gGB z-zEfCU~u}hd;)0EmzCXO@=Hf1EZmvxG~}_SPfVoUCwy#or;8zjl}lxjIx~nue|9S4 zwMUXXv92vlE;rYK&uzm=>@`cZp$WwoNxZlB!P!4U1A>2-)>e%{k`jU6cVKM=UprRCb=nNd8h@x$I4Z8Pw>ELFXphsvm~wv*6kfSKHm#ATR9skIS&^@!;g38tifSNoU+s^7 zqpgkK0!SXG<50FpbJGPqaWaILd*;M2>JmklV$o#feV@wdS}q(fOv43UW(;MFN5e`p zpx`oG@{bZd7~pKXJX3mQ59lbwL%}~I=I>Q~clg|h#3py)lkwHrT5!YpC!vGBwgw7R zpk>^8E8ZtGxTJ-86+$-szLjTYwA$DM8{*}p|SBqOO{aA;RvsHtp3Rj3b~))fyik>g4M3|Nc$ z5$DMK1z$_ct03K#H*NtLOU>(CR$WDB2 zL<6s7HdNarP$4!Mz~S>*7SybHxOzh82^Q0zGVmoj#?FZ1qg^|fF3!M z`x@G0AelYzkIz zRpDreYp~K+mu?TaVcd00YFpO@B%I@7IItE|q<)Ju#;rA`MGjRUeXgjp6MQBd@7J}A zWaPw|kKZBvC*XasjPul!0K9#yW3|5msGwh}W~wYkxeC&v}*Mu1ACjmNl1N`ItGmwCeAblhHJDvnV>Ek z&b)UXux(My>R6$rnP$%C|40#qsgtZ>>m{zCU$4ex1v;WgfEm_t_+U!o=G{d3QTVz$1~?>{ z`Y_<8-~J8p7#vekHB3&@Ej1`^dE4CWglzg%uzR`tr68%vpt(+$z(7Z@El19(2Up`5$q4*VNh3W2HkyBKnPUtwDZ<(kv9$SNsnX;14^ zmZa#;MM$Q%>MKN`rxBoZBig;;vIf2#=zj8lXX9k=2Kro0nw1O46B%Y}MW>b~a~@2% z8rO3L{d{{?qA4}2LDX+Na8&H z3*|2u5D<^`x&h_$-M}EFDBOH}yHE<1j<7>HMlAtC5%E0B+ru#^ubRx*_zrO$tmQYV z!JPb<`W%y_yMD^wiolo!g`#96^`Wx4MX4P9y#>VAes>j<7z2eYrFBZsAJnPqw^Fx< zO7;aYf6UD@8ZT|MJk8LL^N{){RbpK8RImk`W8iR$Xq#()UwM?mR&A65MYzuFE4Ai1 zPU_@27W#ok=aB9ADH@3f7=PJoiegMXCi%bK@&p45A3cln49n_i6#@%b={*i*);x6L z&v57;Lb2%wM%Xl2p&ygzsa`@Be0t6I%06!Y%R=s;lS_#+nrhKYaLHTF@nsEfYs4Z`- zv7q%ocJ{lUy-QZhysiI~x>Aul2%uV-_T|-z@a3TM;_1CD!aQ!c?tYAT_ZSu6NZNY~ z<;DKAhQz?1Z87&vp(8le)28Ceovq5VQ-6je*tT>Crq_? z$BqAoT}W^K;ZyNZ(KUZ{;rgTnxUnzHDJxCq)};rp8S0t6oyZ5{N8)Xya(uK)w}^f6 z9J?eR8EVnq2RTl~pPSwfutBr$@uu)6SpWuEvU8s%IoKk4^vY(dnWhr1R6*Nm3 zt4Nx&F`U3Iv3~Mw(fQB^KA|)K7Ef*I!S_{aZfpt#?ZV1~{<%u9m-qHGf@bSuFh0J_ z=Rg-~+%Y&M=&oE1@StrWJi*E(Ca;$x+j&zDc5j6t&IG#;2 z>^^OY<@&1+a=meJLM1Q^L|6PpjA*v*m%8PP)Ms->7NCSXiLwWn$cma7nxET08Cvlo zFA?E=x6OARm=SIx*=UOs8pT{4>kJKYdTpe)cLn$F{}4K4nH#iBoT-}^i+#<0 zO?sAlm(!m39pM8s#Ft>SXUG~hQy|3dSZrkP>6F3u5sa%8QUf~>q-)7j@~zsdT6{Zp z2&2TTl7^5_7|7$N9W_f{kt~b4sri}8Fq{6q2<=4o5PLs*tj<=&io{7*)faX8?n3Jg z&2n}>nT$^c!%a%p7NMVFlmZOG>~6V_;ZDj`Eo6>jDY^hWwS7U$W)_rlOvr4-@C-C` z;d1t1OXDLm48OxC@MwmA?4PN161E&c#3ub6Wh^a^Wlwa|NLF(e6FM5sA0s|wQK26` zk;Xe{zp$s8vJ^%6KqNQf=o4h2Gsti+rhs`SI%+*EirYf) zb(}aip*R7mgL90ZVWv5eJ(@}W=>$FVv)gyq8@sCTYMEk$-g%Bxv2v#A+*s)_H2ce? zh_he+$wm|-l;%55w2lj}2NwH1OI^L=f<;xZ1kI8dD;UBI;f!R5q*_=VmP}hWL{qR%Ax|eBbS-->dcj=c(#Pvtt_#o&! zs5Nft*bmN__ePOPw#ylw(;0lR`B0{1*In+kk5h4gxj73d{MQ8m=SJP44@Ga)#tdh7 zH3r~LccoF`BV2arDNcncEhvdBn{d_6iMAk{9pPbJOf|uSUV4*>ICXDM>8<(Nyy4SK z$P7AMB-0yoC>n8@P?k2e469nY9&w2-u1-88$%YV}Y&7WH33(A!wvE!Hgm;%L+VA{^ zpUk?iJh3J)`_*acP(Z9c>y;$?>$+)b2{WLn(>yHh|F(Sb9C)?kKlvux56iA|4Qf{9R`~_pT&iqMuwom44ufJ z3Agz~Kh61Y5rzy_k6-%&kC%`A*C_hEmgDo-ie=cguE)S*i(SL%)f5w1>D@UEqd&BxCR) zue9HFY!Cf(j7LP*Z}ly>y(TqAhYj!$N-<<<@TnMLOkW;WU&ipiw%s1GD1=W`Do)HNCtP6cHmJh$Rq2A70 zus3kDrRK*T?Ua_^UM>)f4<7HW-G{t-Q2fRNuCG`gkkfGbJFX|#d{1aEAq1F4>ysEe zrvP(=U1NC4(Vp<1!MGdVMWuV8th#`%xOc8HZT9O$EW|D;0h2 z6b>?)51NjK4mG-?#Rt=(I1K$R;ce(*6k?`DrlmeJJkAj z`)vt~r0K<`e&V4w{<-q7U@x>$j=*gG<3QQTQyij<0B2&~TH{!Q zpcGA+egx#dRIA}QaU^f{eczXOUZzj=2wz6#v^yU^wSmN3QX^33Z=I^)X?m})pA^u_ z<9-ix!#;QWv$T8YKl>!txgdn0=84SnG^wIR2;091Tal8yfIbNg=SSA@dUF^?gJRa9 zTZ=m8U440}o6MNN7!LHeRoO3}&o=Q!Fzn_-p84G65Z>4iX7v@n64Hj<#~)vV%D-72 zkNgFFZddINee9P$?&7}Xzb>}V8!ODBNNI*x@F1O>!?<~PZmbHBMx!;MN8P-e;gzJN zjlwqec7jtEc-dZ`GxJy#HN$pJcFv6za`BRW`Kf(4cx(OG&;X!iXlTCjc7Ab#^;c(O z^HY^vuW_wLwe#fJz!L{Ie6WjR`B7-|3CBLz_{w=#^sZOl+LzHAfTq%|MfP{*73zbK z=wxI{dfVeIK>7r>)%oV?;9u(8ME*?tH^advBWPtv&Hk~c)nQNC>*;uw-Ia=1*sr4N z%5#1Fj(_d!3}ONBri`P>Mz&wfqTv0D`3B%!g7~%RWn!G+9ltEd2G;nMBSkpT|I}9R zjOvi4qW4S;hK3)jEJsXj;zObg<&vKbc-~*jm2CUJ#VX9wMUYAFZR9J3_9#K&n9L}H z0(brfiqLRdl((CA8+uJbkj1L|&9G%|zUIB-;X_cvF^vLphWnOjI=9TM#8oK@v1oy6 zOPCE&uX6eFGi~9OW?SPb8kHim3y^}o4f&INKd7CTh;JRzme&$@ z_1I(rmdUcUK^%K0EW&J%bl##;8FhaKrKo2<@g`Z@5Bb5{kwi^M5D8KnC^E{0YQcT# z*x6EGyxDOZS4-G=v^9;b#ph6N zcLjRT=qM-GJ6R2QM#c}zlO^{qBpJ2(*Dt=of3|>(X}cdqfjXfBHO5S*jOjbnrY@!+ zdRpov(TU7VL1ePJc`z*hu+UF@uRVlKJbag8ehCiVTyM1yJnGJ-_c~35%hSD0+PL+K5OxQdNH-Y$pgqpm2w?xp z$Qwb(^;coYHEVs>Q#(jUV!UNvzwM$lt_|TYQBg~hDr6e?2`)R=M>eo^EFiXBj4}|j zHt58ca`4rf<3M+yt4LJMQGqZy#JNLS1G)y7o=%`sh~Xn%)sw&e zp>eO7l*m5K_-OyNf*e{((C>QxAfhLE9LJ`C4fA>lo3s;T0Pnm%vKM*Cp&~KAVpSkN z35LPV^`&HlDu3DP`(D%@PW=~8K~V@f{pSnKgW%kB zU(AHr;O1fSpxxtBG<4U&sXcD#;IbKN4+RA(gC@cyD&cfr$PA{9&RaWwg{%kk!)v_X z-9|z2j-Si3F0>iP9>|IeV_!0q6xF^1@YeF%DKJ9;^t@^PEK1dAR}W z1ieXSOrsT|%Y)u*omsTMR&d9efjIy$5;B~aboV4*z0@JtmyG{~xls7QzxMZmEA>*H=KAw&G;~0eg@Bj@d7&C?jTH}zg8yg7#8Dg$b~3m2aO5=2wt4P z(YSc1j3mBS+0FL!QfOcOL1kXsz&p6K2w;b?qEBa5AQ~@KI#&OV7Ed}RRK!$qh#)4r? zo!BE=Q3^E4ChlJrC?VMTkRu8wlSz>&w&(+LES}mx|7tY{8|!uH7h_~|7(4gfzOr7j zonhP@yT~R;Q4*78a#?h}fC~)Tw>X^>P;^yW)c^Cr_}_n@2rD31tCM>TurKgn{|D-j B{?`Bi delta 65106 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