From 7504211df2e3a363a69f9e113723f848fc732f98 Mon Sep 17 00:00:00 2001 From: Jakob Herrmann Date: Wed, 16 Nov 2016 14:09:33 +0100 Subject: [PATCH] * Add base antlr grammer and corresponding classes. * Add antlr4 runtime library. --- bin/parser/BoundedParameter.jav | 3 - bin/parser/FieldInitializationTest.jav | 3 - bin/parser/GenericFieldVarTest.jav | 3 - bin/parser/ImportTest.jav | 4 - lib/antlr-complete.jar | Bin 0 -> 1485121 bytes src/de/dhbwstuttgart/parser/.cvsignore | 3 - .../parser/BoundedClassIdentifierList.java | 26 - .../parser/ClassAndParameter.java | 97 - .../parser/GenericVarDeclarationList.java | 26 - .../parser/InterfaceAndParameter.java | 98 - src/de/dhbwstuttgart/parser/Java8.g4 | 1779 ++ src/de/dhbwstuttgart/parser/Java8.tokens | 205 + .../parser/Java8BaseListener.java | 2882 +++ src/de/dhbwstuttgart/parser/Java8Lexer.java | 583 + src/de/dhbwstuttgart/parser/Java8Lexer.tokens | 205 + .../dhbwstuttgart/parser/Java8Listener.java | 2379 ++ src/de/dhbwstuttgart/parser/Java8Parser.java | 18555 ++++++++++++++++ .../dhbwstuttgart/parser/JavaClassName.java | 132 - src/de/dhbwstuttgart/parser/JavaLexer.java | 3675 --- src/de/dhbwstuttgart/parser/JavaLexer.lex | 174 - src/de/dhbwstuttgart/parser/JavaParser.java | 3940 ---- src/de/dhbwstuttgart/parser/JavaParser.jay | 2381 -- .../dhbwstuttgart/parser/JavaParser_old.jay | 1567 -- src/de/dhbwstuttgart/parser/Scanner.java | 54 - src/de/dhbwstuttgart/parser/Token.java | 177 - 25 files changed, 26588 insertions(+), 12363 deletions(-) delete mode 100644 bin/parser/BoundedParameter.jav delete mode 100644 bin/parser/FieldInitializationTest.jav delete mode 100644 bin/parser/GenericFieldVarTest.jav delete mode 100644 bin/parser/ImportTest.jav create mode 100755 lib/antlr-complete.jar delete mode 100755 src/de/dhbwstuttgart/parser/.cvsignore delete mode 100644 src/de/dhbwstuttgart/parser/BoundedClassIdentifierList.java delete mode 100755 src/de/dhbwstuttgart/parser/ClassAndParameter.java delete mode 100644 src/de/dhbwstuttgart/parser/GenericVarDeclarationList.java delete mode 100755 src/de/dhbwstuttgart/parser/InterfaceAndParameter.java create mode 100644 src/de/dhbwstuttgart/parser/Java8.g4 create mode 100644 src/de/dhbwstuttgart/parser/Java8.tokens create mode 100644 src/de/dhbwstuttgart/parser/Java8BaseListener.java create mode 100644 src/de/dhbwstuttgart/parser/Java8Lexer.java create mode 100644 src/de/dhbwstuttgart/parser/Java8Lexer.tokens create mode 100644 src/de/dhbwstuttgart/parser/Java8Listener.java create mode 100644 src/de/dhbwstuttgart/parser/Java8Parser.java delete mode 100644 src/de/dhbwstuttgart/parser/JavaClassName.java delete mode 100644 src/de/dhbwstuttgart/parser/JavaLexer.java delete mode 100755 src/de/dhbwstuttgart/parser/JavaLexer.lex delete mode 100644 src/de/dhbwstuttgart/parser/JavaParser.java delete mode 100755 src/de/dhbwstuttgart/parser/JavaParser.jay delete mode 100755 src/de/dhbwstuttgart/parser/JavaParser_old.jay delete mode 100755 src/de/dhbwstuttgart/parser/Scanner.java delete mode 100755 src/de/dhbwstuttgart/parser/Token.java diff --git a/bin/parser/BoundedParameter.jav b/bin/parser/BoundedParameter.jav deleted file mode 100644 index 6d7518a9..00000000 --- a/bin/parser/BoundedParameter.jav +++ /dev/null @@ -1,3 +0,0 @@ -class Matrix{ - String op = "String"; -} diff --git a/bin/parser/FieldInitializationTest.jav b/bin/parser/FieldInitializationTest.jav deleted file mode 100644 index 302667b9..00000000 --- a/bin/parser/FieldInitializationTest.jav +++ /dev/null @@ -1,3 +0,0 @@ -class FieldInitializationTest{ - String var = "hallo"; -} \ No newline at end of file diff --git a/bin/parser/GenericFieldVarTest.jav b/bin/parser/GenericFieldVarTest.jav deleted file mode 100644 index a47b41eb..00000000 --- a/bin/parser/GenericFieldVarTest.jav +++ /dev/null @@ -1,3 +0,0 @@ -class Test{ - A var; -} diff --git a/bin/parser/ImportTest.jav b/bin/parser/ImportTest.jav deleted file mode 100644 index 2de55cee..00000000 --- a/bin/parser/ImportTest.jav +++ /dev/null @@ -1,4 +0,0 @@ -import java.util.*; - -class ImportTest{ -} \ No newline at end of file diff --git a/lib/antlr-complete.jar b/lib/antlr-complete.jar new file mode 100755 index 0000000000000000000000000000000000000000..8203e15e530c3acd891e2899588413b6b54d0515 GIT binary patch literal 1485121 zcmb5VQ;=@Wwk=w=?V4rVo@MhZ+qP}YvTfV;EZeqiyXySw>>W4my%B52UKyDqA2M5y z(IeVJ8@=_RAPowJ1_T8K1>_m*D*^QX8fZXZK(eCBf^?E{Vhpl^a*|@A0A+evvF~vp zAkpXvn0`hipqqeCVc%cU#r%w|EgVF z#mIVqhf%Q3apb7LskjL!^um8`jPgbjmKY?6hF}$>A)#Po8RtX(dFlLrmcqYH1^S=U z|0fmDe=b5o{VP$Be?9&g{~ieT fG8N+{qf%$KYfvvN(<9~#N|NkIeS^pz2#{VB| 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

}E;&Mq$OB9#_Jx1w?Fa-4i2MC_?e%wb07& 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

Lmbca>*5lcW&1yNAt^ztx> z8YZK26ncJiPF^f7gVd%0r0Quqq_(KZTlUmd>KyW*S60~LzsjRdz4pxSPm9OEmPGbP@aqLl>fuUC z+5Tk+(~RDBuzmiUXd4oh=2|Gpox9gAr>{&s4<7}WMah3mMn}8*2ZeunX<_t#>ZdXP zuL}KtR26?JK^06DtiPJ8TWZE3wR(Pz2=MWZrZ z>kO0`3*BFU*N&BonYle~=zP;e&57A%)=sO|~Axg!FjnOKcc>3^la>FLj?xlgLG zlhc7Y!0-S2vGO z@6NM0uTLM}a3^Le)Nt0(m=jzdEq*92GrC&j-JZ@+#}UZgNnJoa4}Ppg9MQfqB?ZK(-Ws$ z7%rBFWO2}7#il}VAAg%JT?<+av^rl4>R!Mc3G9wlYAb?lxlUo%N#mG5%WRFSS2lGx z4|`}&r^CdRxvAcC@sebs(${Ap3AWeQ0m?JdM>Qw0Wb*P-odUxq@{H(n51nl$A=E9K zI82=Qn{zJ?( z-!s%;9=q4?WzyVp#{fe(`DLWz_6xNIkN6>0*QS8FHFwPb0dfJRH@}a$2N&YF5{POd z_L0WUAlOKzP>Rb$XR$uLY#mr;<^m=R$S3sV@5)4>;-r_zkaSR!Vq>HJdGj!qQc^)h z;1mNR>xUx&6R#Tg)C!w}QUe8KjH|`T{li0g*;LyFd^gn|hojU26xCh_WVjWpIBT~D zIDig~v^mQq-Gb`!33yWN;-BILsMI2gW>*S<3$D?E0Yir;%k0W%l~L}L6$Xd?#+0(} zocV@!uXJY;S4WUbp{;$#SMoYnuuR%}WAy{X`HbzH&e_MRQMP4znbqcNSuB-vqN5D6OahcirWJ-Dup&*`p1S7cKl!K=wo0R`JzgS9(t zoDPA*(ouKKrgyW`zcun#=u9P|QqwgVqmWLhobcu34xGh+;S7YMQ(BS-t!)wjI5aa8 zLlr}5P_QGS!kR0*%@C|G@= zk`@5BY&*Wm!EBJcF!OTMM|%H~mF^WmD2dLhp#N4>&}ji9E+j^*53fQ7}ciN!uA#6x5R7}pPC`T`OJe_ZXfa0(bzVJlDi9b4fVoGG!LY^n0GA#o z+jJ5ch>api<99YdhB7HZ$jJNEO;1ZOCe2S!~N;>HS}MbOIut$SOS9{cjtvhc>1ZItjC zz7PN~Jb?2m^M#k$12;n})^ky&z?_af27=Iv=Ii*RHvrq#q&UNv+!w_3Ez*~Zm!I{r zV$s1)zCO#eQjH3t+`8W}f3z$9YMz>BJG$^DkeInU_hZCwZlrp41#twNpl$Jk@`rV z6KR*9t1eX2(VH`JQ(^Tls$;$gw^{u^u?bn2vP@ZEdY}VDv-(7AtoXm8+I@#jO_BuU zzOqdX0i1v^@$BC7duI>fWu;|^en%(M&C_=ufg%%8F){8WSfY5BUO-vnvoF*|cXj1S zEzS%IT!cP}+mT^w3J7Sb3mjlAJ_iqxVt-GNhgs&$&k6Cjmkv6*#d#y@nTv>hp(d5s ztuyg`6oZ~JUZv-wcHu*|Qa(Sq0zbMEKD&Nj-F{|<68;)hD>V|{4^R9 z0?t10nJ&BoPx3|4byH&$9pt3Ilo)mk+#>GIAy_bQ6h{igA|W?E(|0s?0PvshnH8k| zWQm7AR$br`;-1A=!;2I(^xwwa%C4&LpYtzC7TXH<-F?Ls1*Vjr8U5A$u(X80`q)cq-sE*zO(Ae4xS{h7IxA>lWEu~re%mCW3Y`5}@L zHvt`W(EXJab@y6xsePx*t`!rw(;Jz!lpWgU-0jI=7o$R3YVCbmYR`9ktDmV>H;+7` zs$NGW5(7@6V1Z!zqdrCr3=Keh)0KtN4?;$_-$TpyEL|(A2H;R2KOM9pxA9m2E zrZQ-?9R;dpcIGRBg)PyL?Yq`Ug8)qHDpe%t342Ef7iihyxcSf~Ua*R@{I$*dex({3 zjYt5Ok|WFDhFvIM!GiBybHD%>Z@if_BT_~a%wP1~U4)so&OBl|F{MTbzF&ns=;w+j zAFheeL1u8y+Imik&QLr25w+0HKVZs~!VYc&aZtB*b;F zmgylD66gZaZv55hMG=rptk`)cUW}ZSCpZc%InjQ8rJ$HSQ`51Fp5j>eiN_(fER{AQ zWgi=-ZjSNw91(87o-_f56Y8BABzT_a>09jM25XNls$Afq_Lnkgs;rs+$*G#Z$SJ*& zlRCy=)s^S(iY$Zcgd@#77ii4#%6`dJCPWhGk<=FGqIHwno6$~&or+ht z=u4GJoz}MCA#~Dut_xN43gYNu@;!Dp<62`TmRji@O6J-yq>2)sVS1GR$bb!G0$%+6 znTtpM5a|Ek@kIZh$njFpuvwr*<+7G&FhV0siJD*@F5<<2Ei1nBqD7>JSJ>HF zY|N(Du%A!t32Foz1mN+-33|1}zcM0}_k8o5zH@oF;oo5FdKEKeDzw<_M4Hmr%17B;cv%ARtU2d94+oujfFc9@n;Ur8j=d8l*X ziMPb)&EjbMr%6YYC?W+?#-qvpWd4I7csV;8G?+F{+%pv?CW!6uAd)f#A?x09Fskum ze3jgo-sG2nZEhm12ilASU-DJ^MhC~C+2{hl`IA^G%{pcTn4SA{MJi3WY9c?<9R= zxn}srDJ7Kc0ut~Wc+uagJU&FY#6SSZwAi#v3gZz(wP+!t(Ovk1cuMc_6p_;1GhFx) zYsv;1b>7sdH~5qly+Ky9Uul(Cb-*b zb%{xnq=?v>by~`Db~AsaA&4S+h7|XM>I>*!)0SrrDE!?Yz*zqO0u00d0!B;b-w7!B zy1BaX4>&le{!%k;ge-O>4jx(TqM{dRSr~eP8OIv5noGjg)w0iSLC=sN?Oh+vZVdf) zhZVo5ElXM&hs!jV!}B(W&-eE`lrG8#P-^RpLQ&`+Y{Wa*n0t^N=w2PT7g;7*23eL` zGTHDV4X}@SB`g&fMO@nkFLHyoA?T5Hhf5WN7Y09k0)whyNOh|ZKLZIGdjJmW)oIZU z5FzW%c$}?+ma}hr=f=9>U}ma`blq01aepgN=SBRpe@eWqz<`KP(8D zS_?fGD01F&AF#x_qg8ozkn@HsAMq{?V0`KW$5n*$u6Zu7aV`0%-xY_ zP`u%V%*K@2f*w>HgM80QODVSE#B~!n7!>6~Iugt^xhkFN1iZ9z*-_%iQrHB3RV5Oh zUqME}k2|^tRF*W()R%O-0n6>M3lx7NtlfawMjvyw8f@!jTSi!cYxm-}MkU*Nh(CZa zfKADNfefYV2cwC-jYWxB#Bc=qPMrruV|=$CX_ZuQaAWe_?5RfG+8 zfDNGQ`C)R+Ky8X+lNY=){QdVEFNGhJPWU5MxbgoBbd3K2U6P{Ozug(AAtlj@<&g^z z)dIn_NCVVa1U11)i*vz3XHuSvu`rF#CmV_AzEOSr!dvxQYP7mVcx2-m)+5N_i}0N#@<|<1 zY*I(S3y`a=o;Z1%xL9*Sx#RnE5Zaur*O%c}sClxkV z;3{r7n_J6OW-QxT>uo~JBjH&%&)IX{w~&2?E6CSX9{g5z)a><*M#V07Ej*yhriIJ~ zmlDCQ5G*i|A~*alkY-;l8WYS2(`fK|;QbVn8d2aZu)AD!4^EAotS!A8j_C3tCmGm8 zd!k9rrmbFauch61F($g7Ok*ofLa11j!EV1mflM!1lz}0Y@4JX8b8fw zJnGD=MKSCBZx{5H>Nw7=pJ@4K zW%&PABQpI@idM36Ku|*Tw#I1Bc;dGJF9ISDM_Rb8FCA*Z58wLJCtF@dCfj7)kaDF7pyr-2^uO}gt$|A%U$Ef|h!Yb1=6XCbtTq-Q0g1TrQi#gr1l%Hm#oSbY%2 z>!9FJ{w_<>S~z|SWF`7*BHoVOSDP~7^$=u3l2yyW`jy~&GxA!6pb(*ddngJTrO}1h z3JeCMNaLLs$Mtxw-i~c!Y9usyLF>_k;SvDj=jb)% zYE*OM3O=5>y40{iiXm>o1mwn09_^1b4t8)J+ld8aThVL*{xAhSEX7q86q#1em=3FaWCAdl16JHdyWPqY(dz!#q|06(RrXhmSEy{dITkV+dbqFl5gWjP1O zr(a_cU^HZ58VR3`YAgs<9ehoV&_tv#tgmGuJWMSj|0=CPHz_?n&u8kDItw1$dVBuTFR0( zHSL!Br*DI@v|Fs}+vB^W=s9XFiHtEek#R00$(PDm&l;tro!vF%rYb+u@SOKB_~g+RxWImr>OoZ38Lw*+aq zn4m851h{tgAMKSCG1;&h!xcM<(&aKiakW>P-X+=d-<*$?fy{xPHVUlbr-4>oi~;uS z?k}Uy&}Sew)JB9|3DF`r(bO%O%Q{K`d>pV5g~SGF)TVdU;g+uS)K<-*5r(07} zlBH=NrxFG=J&bSf5(6^G1dkj+DrQY5p$?~>zTG3@CeD50CN6aH>@5*<^ODvmZSy*; zw;|7NQKzVj5w`@=2s21BY1$%S=V`0~4QhiUqi2{riQj+}k#JaNeW!h%vjW-^m0W8O z9`xDc(9gD|A$C;hs|a1IC`h5v&$MeV?2?Qt196Hx{N-hfXQ$lf3!@0VIku@>ym4QV zLeCJ&t2K?AJ$Sk>b9yniTpwC0OiB1NK z$o^H6&G73AQayX)0B$@C%9-4m(A0gg0900 zRm@0C#MD=E)UK@(vvF(<@lEj!!+8op%zYX_Og!8(#_G`}I9Ql+IlXx~>B+D&IkS_~ z^Q$#x3ZGiHEYwJoWknp0rB=OHiogcRcEjHwZ#dS6P@oKl!7xib1+S&Z-CwVrNMH^d z8#~lA1_#iPtR-A2`*XWwptZjd+l8oAj{_ z6Sv~GQP;v*?O8!e{kAMf!(+}C$OQE!M53L2IyOYX)d(H&Et6D-?;Js^98t&8C@K)G2QU%PP+OU(m3lFOxh^=$!#q`A}DX6ZM66Yi;~gK5y-Gh zGW(-2g+m#860p=UW%}Gp49aILq-TOLcAjv_26U@v=z$`_aJ0~g(qi5Vv!u29r#;Q6 zp6SI@sRkoEqC53orFb^VeRSi5=CE?Ws#}nM0n%`6t(*7f1#0@odX4D6uoNu+%Tol& z|EEo8sOoTTn3o4q-o9tiHMmu zS2S7ta^OA;^qlodDwH3|5n>jd{?j?=>MiNQxah4m`^efdDRcY`KiNO4QEzOx)a0!rdmS$SlWQ?zhvG#zL)_$#ij^W z6}ME}AoRI>O{97OK3zj+lC7M=YTGPJ!coiIbYsBjceMmWDUGy^um&GAF;W-jW;B2KW|aDrlj z!b;}`VRl34r?HVlmn`fV7SdR3oK2j)zu%t$dO4FLNcWrJT_90Q&q^_7bum)=8|`

uSexE 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�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
-YH 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 z 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

p?gYI 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 IJ((Z>A0v3oYybcN literal 0 HcmV?d00001 diff --git a/src/de/dhbwstuttgart/parser/.cvsignore b/src/de/dhbwstuttgart/parser/.cvsignore deleted file mode 100755 index 4f70a70a..00000000 --- a/src/de/dhbwstuttgart/parser/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -JavaLexer.java -JavaParser.java - diff --git a/src/de/dhbwstuttgart/parser/BoundedClassIdentifierList.java b/src/de/dhbwstuttgart/parser/BoundedClassIdentifierList.java deleted file mode 100644 index 0531cbd0..00000000 --- a/src/de/dhbwstuttgart/parser/BoundedClassIdentifierList.java +++ /dev/null @@ -1,26 +0,0 @@ -package de.dhbwstuttgart.parser; - -import de.dhbwstuttgart.typeinference.Menge; - -import de.dhbwstuttgart.syntaxtree.type.ObjectType; -import de.dhbwstuttgart.syntaxtree.type.RefType; -import de.dhbwstuttgart.syntaxtree.type.Type; - -public class BoundedClassIdentifierList extends Menge{ - - private int endOffset; - private Menge list; - - public BoundedClassIdentifierList(Menge list, int endOffset){ - this.endOffset = endOffset; - this.addAll(list); - } - - public int getEndOffset() { - return endOffset; - } - - public void addOffsetOff(RefType refType) { - this.endOffset = refType.getOffset() + refType.getName().toString().length(); - } -} diff --git a/src/de/dhbwstuttgart/parser/ClassAndParameter.java b/src/de/dhbwstuttgart/parser/ClassAndParameter.java deleted file mode 100755 index 7936aeab..00000000 --- a/src/de/dhbwstuttgart/parser/ClassAndParameter.java +++ /dev/null @@ -1,97 +0,0 @@ -// ino.module.ClassAndParameter.8613.package -package de.dhbwstuttgart.parser; -// ino.end - -// ino.module.ClassAndParameter.8613.import -import de.dhbwstuttgart.typeinference.Menge; - -import de.dhbwstuttgart.syntaxtree.type.ParaList; -import de.dhbwstuttgart.syntaxtree.type.Type; - -// ino.class.ClassAndParameter.24323.description type=javadoc -/** - * Hilfskonstrukt, um die Grammatik fuer einen Klassenheader - * ueberschaubar zu halten. Klassenname und optionale Generics - * werden hiermit kombiniert und sofort nach dem Parsen in der - * Klasse Class zueruck aufgeloest. - * @author SCJU - * - */ -// ino.end -// ino.class.ClassAndParameter.24323.declaration -public class ClassAndParameter -// ino.end -// ino.class.ClassAndParameter.24323.body -{ - // ino.attribute.name.24326.declaration - private String name; - // ino.end - // ino.attribute.plist.24329.declaration - private ParaList plist; - // ino.end - - // ino.method.ClassAndParameter.24332.definition - public ClassAndParameter(String name) - // ino.end - // ino.method.ClassAndParameter.24332.body - { - this.name = name; - } - // ino.end - - // ino.method.ClassAndParameter.24335.definition - public ClassAndParameter(String name, ParaList plist) - // ino.end - // ino.method.ClassAndParameter.24335.body - { - this.name = name; - this.plist = plist; - } - // ino.end - - // ino.method.getParaMenge.24338.definition - public Menge getParaMenge() - // ino.end - // ino.method.getParaMenge.24338.body - { - if (plist == null) return null; - - return plist.get_ParaList(); - } - // ino.end - - // ino.method.getName.24341.definition - public String getName() - // ino.end - // ino.method.getName.24341.body - { - return name; - } - // ino.end - // ino.method.setName.24344.definition - public void setName(String name) - // ino.end - // ino.method.setName.24344.body - { - this.name = name; - } - // ino.end - // ino.method.getParalist.24347.definition - public ParaList getParalist() - // ino.end - // ino.method.getParalist.24347.body - { - return plist; - } - // ino.end - // ino.method.setParalist.24350.definition - public void setParalist(ParaList plist) - // ino.end - // ino.method.setParalist.24350.body - { - this.plist = plist; - } - // ino.end - -} -// ino.end diff --git a/src/de/dhbwstuttgart/parser/GenericVarDeclarationList.java b/src/de/dhbwstuttgart/parser/GenericVarDeclarationList.java deleted file mode 100644 index d53679b0..00000000 --- a/src/de/dhbwstuttgart/parser/GenericVarDeclarationList.java +++ /dev/null @@ -1,26 +0,0 @@ -package de.dhbwstuttgart.parser; - -import de.dhbwstuttgart.typeinference.Menge; - -import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar; -import de.dhbwstuttgart.typeinference.exceptions.DebugException; - -public class GenericVarDeclarationList { - - private Menge elements = new Menge<>(); - - public void addElement(GenericTypeVar e){ - elements.addElement(e); - } - - public int getEndOffset() { - int ret; - if(elements.isEmpty())throw new DebugException("Es wurde eine GenericVarDeclarationList ohne Elemente geparst"); - ret = elements.lastElement().getEndOffset(); - return ret; - } - - public Menge getElements(){ - return elements; - } -} diff --git a/src/de/dhbwstuttgart/parser/InterfaceAndParameter.java b/src/de/dhbwstuttgart/parser/InterfaceAndParameter.java deleted file mode 100755 index 732349ae..00000000 --- a/src/de/dhbwstuttgart/parser/InterfaceAndParameter.java +++ /dev/null @@ -1,98 +0,0 @@ -// ino.module.InterfaceAndParameter.8614.package -package de.dhbwstuttgart.parser; -// ino.end - -// ino.module.InterfaceAndParameter.8614.import -import de.dhbwstuttgart.typeinference.Menge; - -import de.dhbwstuttgart.syntaxtree.type.ParaList; -import de.dhbwstuttgart.syntaxtree.type.Type; - -// ino.class.InterfaceAndParameter.24353.description type=javadoc -/** - * Hilfskonstrukt, um die Grammatik fuer einen Interfaceheader - * ueberschaubar zu halten. Interface und optionale Generics - * werden hiermit kombiniert und sofort nach dem Parsen in der - * Klasse Interface zueruck aufgeloest. - * @author HOTI - * - */ -// ino.end -// ino.class.InterfaceAndParameter.24353.declaration -public class InterfaceAndParameter -// ino.end -// ino.class.InterfaceAndParameter.24353.body -{ - // ino.attribute.name.24356.declaration - private String name; - // ino.end - // ino.attribute.plist.24359.declaration - private ParaList plist=new ParaList(); - // ino.end - - // ino.method.InterfaceAndParameter.24362.definition - public InterfaceAndParameter(String name) - // ino.end - // ino.method.InterfaceAndParameter.24362.body - { - this.name = name; - - } - // ino.end - - // ino.method.InterfaceAndParameter.24365.definition - public InterfaceAndParameter(String name, ParaList plist) - // ino.end - // ino.method.InterfaceAndParameter.24365.body - { - this.name = name; - this.plist = plist; - } - // ino.end - - // ino.method.getParaMenge.24368.definition - public Menge getParaMenge() - // ino.end - // ino.method.getParaMenge.24368.body - { - if (plist == null) return null; - - return plist.get_ParaList(); - } - // ino.end - - // ino.method.getName.24371.definition - public String getName() - // ino.end - // ino.method.getName.24371.body - { - return name; - } - // ino.end - // ino.method.setName.24374.definition - public void setName(String name) - // ino.end - // ino.method.setName.24374.body - { - this.name = name; - } - // ino.end - // ino.method.getParalist.24377.definition - public ParaList getParalist() - // ino.end - // ino.method.getParalist.24377.body - { - return plist; - } - // ino.end - // ino.method.setParalist.24380.definition - public void setParalist(ParaList plist) - // ino.end - // ino.method.setParalist.24380.body - { - this.plist = plist; - } - // ino.end - -} -// ino.end diff --git a/src/de/dhbwstuttgart/parser/Java8.g4 b/src/de/dhbwstuttgart/parser/Java8.g4 new file mode 100644 index 00000000..f63f01a5 --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8.g4 @@ -0,0 +1,1779 @@ +/* + * [The "BSD license"] + * Copyright (c) 2014 Terence Parr + * Copyright (c) 2014 Sam Harwell + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * A Java 8 grammar for ANTLR 4 derived from the Java Language Specification + * chapter 19. + * + * NOTE: This grammar results in a generated parser that is much slower + * than the Java 7 grammar in the grammars-v4/java directory. This + * one is, however, extremely close to the spec. + * + * You can test with + * + * $ antlr4 Java8.g4 + * $ javac *.java + * $ grun Java8 compilationUnit *.java + * + * Or, +~/antlr/code/grammars-v4/java8 $ java Test . +/Users/parrt/antlr/code/grammars-v4/java8/./Java8BaseListener.java +/Users/parrt/antlr/code/grammars-v4/java8/./Java8Lexer.java +/Users/parrt/antlr/code/grammars-v4/java8/./Java8Listener.java +/Users/parrt/antlr/code/grammars-v4/java8/./Java8Parser.java +/Users/parrt/antlr/code/grammars-v4/java8/./Test.java +Total lexer+parser time 30844ms. + */ +grammar Java8; + +/* + * Productions from §3 (Lexical Structure) + */ + +literal + : IntegerLiteral + | FloatingPointLiteral + | BooleanLiteral + | CharacterLiteral + | StringLiteral + | NullLiteral + ; + +/* + * Productions from §4 (Types, Values, and Variables) + */ + +type + : primitiveType + | referenceType + ; + +primitiveType + : annotation* numericType + | annotation* 'boolean' + ; + +numericType + : integralType + | floatingPointType + ; + +integralType + : 'byte' + | 'short' + | 'int' + | 'long' + | 'char' + ; + +floatingPointType + : 'float' + | 'double' + ; + +referenceType + : classOrInterfaceType + | typeVariable + | arrayType + ; + +classOrInterfaceType + : ( classType_lfno_classOrInterfaceType + | interfaceType_lfno_classOrInterfaceType + ) + ( classType_lf_classOrInterfaceType + | interfaceType_lf_classOrInterfaceType + )* + ; + +classType + : annotation* Identifier typeArguments? + | classOrInterfaceType '.' annotation* Identifier typeArguments? + ; + +classType_lf_classOrInterfaceType + : '.' annotation* Identifier typeArguments? + ; + +classType_lfno_classOrInterfaceType + : annotation* Identifier typeArguments? + ; + +interfaceType + : classType + ; + +interfaceType_lf_classOrInterfaceType + : classType_lf_classOrInterfaceType + ; + +interfaceType_lfno_classOrInterfaceType + : classType_lfno_classOrInterfaceType + ; + +typeVariable + : annotation* Identifier + ; + +arrayType + : primitiveType dims + | classOrInterfaceType dims + | typeVariable dims + ; + +dims + : annotation* '[' ']' (annotation* '[' ']')* + ; + +typeParameter + : typeParameterModifier* Identifier typeBound? + ; + +typeParameterModifier + : annotation + ; + +typeBound + : 'extends' typeVariable + | 'extends' classOrInterfaceType additionalBound* + ; + +additionalBound + : '&' interfaceType + ; + +typeArguments + : '<' typeArgumentList '>' + ; + +typeArgumentList + : typeArgument (',' typeArgument)* + ; + +typeArgument + : referenceType + | wildcard + ; + +wildcard + : annotation* '?' wildcardBounds? + ; + +wildcardBounds + : 'extends' referenceType + | 'super' referenceType + ; + +/* + * Productions from §6 (Names) + */ + +packageName + : Identifier + | packageName '.' Identifier + ; + +typeName + : Identifier + | packageOrTypeName '.' Identifier + ; + +packageOrTypeName + : Identifier + | packageOrTypeName '.' Identifier + ; + +expressionName + : Identifier + | ambiguousName '.' Identifier + ; + +methodName + : Identifier + ; + +ambiguousName + : Identifier + | ambiguousName '.' Identifier + ; + +/* + * Productions from §7 (Packages) + */ + +compilationUnit + : packageDeclaration? importDeclaration* typeDeclaration* EOF + ; + +packageDeclaration + : packageModifier* 'package' Identifier ('.' Identifier)* ';' + ; + +packageModifier + : annotation + ; + +importDeclaration + : singleTypeImportDeclaration + | typeImportOnDemandDeclaration + | singleStaticImportDeclaration + | staticImportOnDemandDeclaration + ; + +singleTypeImportDeclaration + : 'import' typeName ';' + ; + +typeImportOnDemandDeclaration + : 'import' packageOrTypeName '.' '*' ';' + ; + +singleStaticImportDeclaration + : 'import' 'static' typeName '.' Identifier ';' + ; + +staticImportOnDemandDeclaration + : 'import' 'static' typeName '.' '*' ';' + ; + +typeDeclaration + : classDeclaration + | interfaceDeclaration + | ';' + ; + +/* + * Productions from §8 (Classes) + */ + +classDeclaration + : normalClassDeclaration + | enumDeclaration + ; + +normalClassDeclaration + : classModifier* 'class' Identifier typeParameters? superclass? superinterfaces? classBody + ; + +classModifier + : annotation + | 'public' + | 'protected' + | 'private' + | 'abstract' + | 'static' + | 'final' + | 'strictfp' + ; + +typeParameters + : '<' typeParameterList '>' + ; + +typeParameterList + : typeParameter (',' typeParameter)* + ; + +superclass + : 'extends' classType + ; + +superinterfaces + : 'implements' interfaceTypeList + ; + +interfaceTypeList + : interfaceType (',' interfaceType)* + ; + +classBody + : '{' classBodyDeclaration* '}' + ; + +classBodyDeclaration + : classMemberDeclaration + | instanceInitializer + | staticInitializer + | constructorDeclaration + ; + +classMemberDeclaration + : fieldDeclaration + | methodDeclaration + | classDeclaration + | interfaceDeclaration + | ';' + ; + +fieldDeclaration + : fieldModifier* unannType variableDeclaratorList ';' + ; + +fieldModifier + : annotation + | 'public' + | 'protected' + | 'private' + | 'static' + | 'final' + | 'transient' + | 'volatile' + ; + +variableDeclaratorList + : variableDeclarator (',' variableDeclarator)* + ; + +variableDeclarator + : variableDeclaratorId ('=' variableInitializer)? + ; + +variableDeclaratorId + : Identifier dims? + ; + +variableInitializer + : expression + | arrayInitializer + ; + +unannType + : unannPrimitiveType + | unannReferenceType + ; + +unannPrimitiveType + : numericType + | 'boolean' + ; + +unannReferenceType + : unannClassOrInterfaceType + | unannTypeVariable + | unannArrayType + ; + +unannClassOrInterfaceType + : ( unannClassType_lfno_unannClassOrInterfaceType + | unannInterfaceType_lfno_unannClassOrInterfaceType + ) + ( unannClassType_lf_unannClassOrInterfaceType + | unannInterfaceType_lf_unannClassOrInterfaceType + )* + ; + +unannClassType + : Identifier typeArguments? + | unannClassOrInterfaceType '.' annotation* Identifier typeArguments? + ; + +unannClassType_lf_unannClassOrInterfaceType + : '.' annotation* Identifier typeArguments? + ; + +unannClassType_lfno_unannClassOrInterfaceType + : Identifier typeArguments? + ; + +unannInterfaceType + : unannClassType + ; + +unannInterfaceType_lf_unannClassOrInterfaceType + : unannClassType_lf_unannClassOrInterfaceType + ; + +unannInterfaceType_lfno_unannClassOrInterfaceType + : unannClassType_lfno_unannClassOrInterfaceType + ; + +unannTypeVariable + : Identifier + ; + +unannArrayType + : unannPrimitiveType dims + | unannClassOrInterfaceType dims + | unannTypeVariable dims + ; + +methodDeclaration + : methodModifier* methodHeader methodBody + ; + +methodModifier + : annotation + | 'public' + | 'protected' + | 'private' + | 'abstract' + | 'static' + | 'final' + | 'synchronized' + | 'native' + | 'strictfp' + ; + +methodHeader + : result methodDeclarator throws_? + | typeParameters annotation* result methodDeclarator throws_? + ; + +result + : unannType + | 'void' + ; + +methodDeclarator + : Identifier '(' formalParameterList? ')' dims? + ; + +formalParameterList + : formalParameters ',' lastFormalParameter + | lastFormalParameter + ; + +formalParameters + : formalParameter (',' formalParameter)* + | receiverParameter (',' formalParameter)* + ; + +formalParameter + : variableModifier* unannType variableDeclaratorId + ; + +variableModifier + : annotation + | 'final' + ; + +lastFormalParameter + : variableModifier* unannType annotation* '...' variableDeclaratorId + | formalParameter + ; + +receiverParameter + : annotation* unannType (Identifier '.')? 'this' + ; + +throws_ + : 'throws' exceptionTypeList + ; + +exceptionTypeList + : exceptionType (',' exceptionType)* + ; + +exceptionType + : classType + | typeVariable + ; + +methodBody + : block + | ';' + ; + +instanceInitializer + : block + ; + +staticInitializer + : 'static' block + ; + +constructorDeclaration + : constructorModifier* constructorDeclarator throws_? constructorBody + ; + +constructorModifier + : annotation + | 'public' + | 'protected' + | 'private' + ; + +constructorDeclarator + : typeParameters? simpleTypeName '(' formalParameterList? ')' + ; + +simpleTypeName + : Identifier + ; + +constructorBody + : '{' explicitConstructorInvocation? blockStatements? '}' + ; + +explicitConstructorInvocation + : typeArguments? 'this' '(' argumentList? ')' ';' + | typeArguments? 'super' '(' argumentList? ')' ';' + | expressionName '.' typeArguments? 'super' '(' argumentList? ')' ';' + | primary '.' typeArguments? 'super' '(' argumentList? ')' ';' + ; + +enumDeclaration + : classModifier* 'enum' Identifier superinterfaces? enumBody + ; + +enumBody + : '{' enumConstantList? ','? enumBodyDeclarations? '}' + ; + +enumConstantList + : enumConstant (',' enumConstant)* + ; + +enumConstant + : enumConstantModifier* Identifier ('(' argumentList? ')')? classBody? + ; + +enumConstantModifier + : annotation + ; + +enumBodyDeclarations + : ';' classBodyDeclaration* + ; + +/* + * Productions from §9 (Interfaces) + */ + +interfaceDeclaration + : normalInterfaceDeclaration + | annotationTypeDeclaration + ; + +normalInterfaceDeclaration + : interfaceModifier* 'interface' Identifier typeParameters? extendsInterfaces? interfaceBody + ; + +interfaceModifier + : annotation + | 'public' + | 'protected' + | 'private' + | 'abstract' + | 'static' + | 'strictfp' + ; + +extendsInterfaces + : 'extends' interfaceTypeList + ; + +interfaceBody + : '{' interfaceMemberDeclaration* '}' + ; + +interfaceMemberDeclaration + : constantDeclaration + | interfaceMethodDeclaration + | classDeclaration + | interfaceDeclaration + | ';' + ; + +constantDeclaration + : constantModifier* unannType variableDeclaratorList ';' + ; + +constantModifier + : annotation + | 'public' + | 'static' + | 'final' + ; + +interfaceMethodDeclaration + : interfaceMethodModifier* methodHeader methodBody + ; + +interfaceMethodModifier + : annotation + | 'public' + | 'abstract' + | 'default' + | 'static' + | 'strictfp' + ; + +annotationTypeDeclaration + : interfaceModifier* '@' 'interface' Identifier annotationTypeBody + ; + +annotationTypeBody + : '{' annotationTypeMemberDeclaration* '}' + ; + +annotationTypeMemberDeclaration + : annotationTypeElementDeclaration + | constantDeclaration + | classDeclaration + | interfaceDeclaration + | ';' + ; + +annotationTypeElementDeclaration + : annotationTypeElementModifier* unannType Identifier '(' ')' dims? defaultValue? ';' + ; + +annotationTypeElementModifier + : annotation + | 'public' + | 'abstract' + ; + +defaultValue + : 'default' elementValue + ; + +annotation + : normalAnnotation + | markerAnnotation + | singleElementAnnotation + ; + +normalAnnotation + : '@' typeName '(' elementValuePairList? ')' + ; + +elementValuePairList + : elementValuePair (',' elementValuePair)* + ; + +elementValuePair + : Identifier '=' elementValue + ; + +elementValue + : conditionalExpression + | elementValueArrayInitializer + | annotation + ; + +elementValueArrayInitializer + : '{' elementValueList? ','? '}' + ; + +elementValueList + : elementValue (',' elementValue)* + ; + +markerAnnotation + : '@' typeName + ; + +singleElementAnnotation + : '@' typeName '(' elementValue ')' + ; + +/* + * Productions from §10 (Arrays) + */ + +arrayInitializer + : '{' variableInitializerList? ','? '}' + ; + +variableInitializerList + : variableInitializer (',' variableInitializer)* + ; + +/* + * Productions from §14 (Blocks and Statements) + */ + +block + : '{' blockStatements? '}' + ; + +blockStatements + : blockStatement blockStatement* + ; + +blockStatement + : localVariableDeclarationStatement + | classDeclaration + | statement + ; + +localVariableDeclarationStatement + : localVariableDeclaration ';' + ; + +localVariableDeclaration + : variableModifier* unannType variableDeclaratorList + ; + +statement + : statementWithoutTrailingSubstatement + | labeledStatement + | ifThenStatement + | ifThenElseStatement + | whileStatement + | forStatement + ; + +statementNoShortIf + : statementWithoutTrailingSubstatement + | labeledStatementNoShortIf + | ifThenElseStatementNoShortIf + | whileStatementNoShortIf + | forStatementNoShortIf + ; + +statementWithoutTrailingSubstatement + : block + | emptyStatement + | expressionStatement + | assertStatement + | switchStatement + | doStatement + | breakStatement + | continueStatement + | returnStatement + | synchronizedStatement + | throwStatement + | tryStatement + ; + +emptyStatement + : ';' + ; + +labeledStatement + : Identifier ':' statement + ; + +labeledStatementNoShortIf + : Identifier ':' statementNoShortIf + ; + +expressionStatement + : statementExpression ';' + ; + +statementExpression + : assignment + | preIncrementExpression + | preDecrementExpression + | postIncrementExpression + | postDecrementExpression + | methodInvocation + | classInstanceCreationExpression + ; + +ifThenStatement + : 'if' '(' expression ')' statement + ; + +ifThenElseStatement + : 'if' '(' expression ')' statementNoShortIf 'else' statement + ; + +ifThenElseStatementNoShortIf + : 'if' '(' expression ')' statementNoShortIf 'else' statementNoShortIf + ; + +assertStatement + : 'assert' expression ';' + | 'assert' expression ':' expression ';' + ; + +switchStatement + : 'switch' '(' expression ')' switchBlock + ; + +switchBlock + : '{' switchBlockStatementGroup* switchLabel* '}' + ; + +switchBlockStatementGroup + : switchLabels blockStatements + ; + +switchLabels + : switchLabel switchLabel* + ; + +switchLabel + : 'case' constantExpression ':' + | 'case' enumConstantName ':' + | 'default' ':' + ; + +enumConstantName + : Identifier + ; + +whileStatement + : 'while' '(' expression ')' statement + ; + +whileStatementNoShortIf + : 'while' '(' expression ')' statementNoShortIf + ; + +doStatement + : 'do' statement 'while' '(' expression ')' ';' + ; + +forStatement + : basicForStatement + | enhancedForStatement + ; + +forStatementNoShortIf + : basicForStatementNoShortIf + | enhancedForStatementNoShortIf + ; + +basicForStatement + : 'for' '(' forInit? ';' expression? ';' forUpdate? ')' statement + ; + +basicForStatementNoShortIf + : 'for' '(' forInit? ';' expression? ';' forUpdate? ')' statementNoShortIf + ; + +forInit + : statementExpressionList + | localVariableDeclaration + ; + +forUpdate + : statementExpressionList + ; + +statementExpressionList + : statementExpression (',' statementExpression)* + ; + +enhancedForStatement + : 'for' '(' variableModifier* unannType variableDeclaratorId ':' expression ')' statement + ; + +enhancedForStatementNoShortIf + : 'for' '(' variableModifier* unannType variableDeclaratorId ':' expression ')' statementNoShortIf + ; + +breakStatement + : 'break' Identifier? ';' + ; + +continueStatement + : 'continue' Identifier? ';' + ; + +returnStatement + : 'return' expression? ';' + ; + +throwStatement + : 'throw' expression ';' + ; + +synchronizedStatement + : 'synchronized' '(' expression ')' block + ; + +tryStatement + : 'try' block catches + | 'try' block catches? finally_ + | tryWithResourcesStatement + ; + +catches + : catchClause catchClause* + ; + +catchClause + : 'catch' '(' catchFormalParameter ')' block + ; + +catchFormalParameter + : variableModifier* catchType variableDeclaratorId + ; + +catchType + : unannClassType ('|' classType)* + ; + +finally_ + : 'finally' block + ; + +tryWithResourcesStatement + : 'try' resourceSpecification block catches? finally_? + ; + +resourceSpecification + : '(' resourceList ';'? ')' + ; + +resourceList + : resource (';' resource)* + ; + +resource + : variableModifier* unannType variableDeclaratorId '=' expression + ; + +/* + * Productions from §15 (Expressions) + */ + +primary + : ( primaryNoNewArray_lfno_primary + | arrayCreationExpression + ) + ( primaryNoNewArray_lf_primary + )* + ; + +primaryNoNewArray + : literal + | typeName ('[' ']')* '.' 'class' + | 'void' '.' 'class' + | 'this' + | typeName '.' 'this' + | '(' expression ')' + | classInstanceCreationExpression + | fieldAccess + | arrayAccess + | methodInvocation + | methodReference + ; + +primaryNoNewArray_lf_arrayAccess + : + ; + +primaryNoNewArray_lfno_arrayAccess + : literal + | typeName ('[' ']')* '.' 'class' + | 'void' '.' 'class' + | 'this' + | typeName '.' 'this' + | '(' expression ')' + | classInstanceCreationExpression + | fieldAccess + | methodInvocation + | methodReference + ; + +primaryNoNewArray_lf_primary + : classInstanceCreationExpression_lf_primary + | fieldAccess_lf_primary + | arrayAccess_lf_primary + | methodInvocation_lf_primary + | methodReference_lf_primary + ; + +primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary + : + ; + +primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary + : classInstanceCreationExpression_lf_primary + | fieldAccess_lf_primary + | methodInvocation_lf_primary + | methodReference_lf_primary + ; + +primaryNoNewArray_lfno_primary + : literal + | typeName ('[' ']')* '.' 'class' + | unannPrimitiveType ('[' ']')* '.' 'class' + | 'void' '.' 'class' + | 'this' + | typeName '.' 'this' + | '(' expression ')' + | classInstanceCreationExpression_lfno_primary + | fieldAccess_lfno_primary + | arrayAccess_lfno_primary + | methodInvocation_lfno_primary + | methodReference_lfno_primary + ; + +primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary + : + ; + +primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary + : literal + | typeName ('[' ']')* '.' 'class' + | unannPrimitiveType ('[' ']')* '.' 'class' + | 'void' '.' 'class' + | 'this' + | typeName '.' 'this' + | '(' expression ')' + | classInstanceCreationExpression_lfno_primary + | fieldAccess_lfno_primary + | methodInvocation_lfno_primary + | methodReference_lfno_primary + ; + +classInstanceCreationExpression + : 'new' typeArguments? annotation* Identifier ('.' annotation* Identifier)* typeArgumentsOrDiamond? '(' argumentList? ')' classBody? + | expressionName '.' 'new' typeArguments? annotation* Identifier typeArgumentsOrDiamond? '(' argumentList? ')' classBody? + | primary '.' 'new' typeArguments? annotation* Identifier typeArgumentsOrDiamond? '(' argumentList? ')' classBody? + ; + +classInstanceCreationExpression_lf_primary + : '.' 'new' typeArguments? annotation* Identifier typeArgumentsOrDiamond? '(' argumentList? ')' classBody? + ; + +classInstanceCreationExpression_lfno_primary + : 'new' typeArguments? annotation* Identifier ('.' annotation* Identifier)* typeArgumentsOrDiamond? '(' argumentList? ')' classBody? + | expressionName '.' 'new' typeArguments? annotation* Identifier typeArgumentsOrDiamond? '(' argumentList? ')' classBody? + ; + +typeArgumentsOrDiamond + : typeArguments + | '<' '>' + ; + +fieldAccess + : primary '.' Identifier + | 'super' '.' Identifier + | typeName '.' 'super' '.' Identifier + ; + +fieldAccess_lf_primary + : '.' Identifier + ; + +fieldAccess_lfno_primary + : 'super' '.' Identifier + | typeName '.' 'super' '.' Identifier + ; + +arrayAccess + : ( expressionName '[' expression ']' + | primaryNoNewArray_lfno_arrayAccess '[' expression ']' + ) + ( primaryNoNewArray_lf_arrayAccess '[' expression ']' + )* + ; + +arrayAccess_lf_primary + : ( primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary '[' expression ']' + ) + ( primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary '[' expression ']' + )* + ; + +arrayAccess_lfno_primary + : ( expressionName '[' expression ']' + | primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary '[' expression ']' + ) + ( primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary '[' expression ']' + )* + ; + +methodInvocation + : methodName '(' argumentList? ')' + | typeName '.' typeArguments? Identifier '(' argumentList? ')' + | expressionName '.' typeArguments? Identifier '(' argumentList? ')' + | primary '.' typeArguments? Identifier '(' argumentList? ')' + | 'super' '.' typeArguments? Identifier '(' argumentList? ')' + | typeName '.' 'super' '.' typeArguments? Identifier '(' argumentList? ')' + ; + +methodInvocation_lf_primary + : '.' typeArguments? Identifier '(' argumentList? ')' + ; + +methodInvocation_lfno_primary + : methodName '(' argumentList? ')' + | typeName '.' typeArguments? Identifier '(' argumentList? ')' + | expressionName '.' typeArguments? Identifier '(' argumentList? ')' + | 'super' '.' typeArguments? Identifier '(' argumentList? ')' + | typeName '.' 'super' '.' typeArguments? Identifier '(' argumentList? ')' + ; + +argumentList + : expression (',' expression)* + ; + +methodReference + : expressionName '::' typeArguments? Identifier + | referenceType '::' typeArguments? Identifier + | primary '::' typeArguments? Identifier + | 'super' '::' typeArguments? Identifier + | typeName '.' 'super' '::' typeArguments? Identifier + | classType '::' typeArguments? 'new' + | arrayType '::' 'new' + ; + +methodReference_lf_primary + : '::' typeArguments? Identifier + ; + +methodReference_lfno_primary + : expressionName '::' typeArguments? Identifier + | referenceType '::' typeArguments? Identifier + | 'super' '::' typeArguments? Identifier + | typeName '.' 'super' '::' typeArguments? Identifier + | classType '::' typeArguments? 'new' + | arrayType '::' 'new' + ; + +arrayCreationExpression + : 'new' primitiveType dimExprs dims? + | 'new' classOrInterfaceType dimExprs dims? + | 'new' primitiveType dims arrayInitializer + | 'new' classOrInterfaceType dims arrayInitializer + ; + +dimExprs + : dimExpr dimExpr* + ; + +dimExpr + : annotation* '[' expression ']' + ; + +constantExpression + : expression + ; + +expression + : lambdaExpression + | assignmentExpression + ; + +lambdaExpression + : lambdaParameters '->' lambdaBody + ; + +lambdaParameters + : Identifier + | '(' formalParameterList? ')' + | '(' inferredFormalParameterList ')' + ; + +inferredFormalParameterList + : Identifier (',' Identifier)* + ; + +lambdaBody + : expression + | block + ; + +assignmentExpression + : conditionalExpression + | assignment + ; + +assignment + : leftHandSide assignmentOperator expression + ; + +leftHandSide + : expressionName + | fieldAccess + | arrayAccess + ; + +assignmentOperator + : '=' + | '*=' + | '/=' + | '%=' + | '+=' + | '-=' + | '<<=' + | '>>=' + | '>>>=' + | '&=' + | '^=' + | '|=' + ; + +conditionalExpression + : conditionalOrExpression + | conditionalOrExpression '?' expression ':' conditionalExpression + ; + +conditionalOrExpression + : conditionalAndExpression + | conditionalOrExpression '||' conditionalAndExpression + ; + +conditionalAndExpression + : inclusiveOrExpression + | conditionalAndExpression '&&' inclusiveOrExpression + ; + +inclusiveOrExpression + : exclusiveOrExpression + | inclusiveOrExpression '|' exclusiveOrExpression + ; + +exclusiveOrExpression + : andExpression + | exclusiveOrExpression '^' andExpression + ; + +andExpression + : equalityExpression + | andExpression '&' equalityExpression + ; + +equalityExpression + : relationalExpression + | equalityExpression '==' relationalExpression + | equalityExpression '!=' relationalExpression + ; + +relationalExpression + : shiftExpression + | relationalExpression '<' shiftExpression + | relationalExpression '>' shiftExpression + | relationalExpression '<=' shiftExpression + | relationalExpression '>=' shiftExpression + | relationalExpression 'instanceof' referenceType + ; + +shiftExpression + : additiveExpression + | shiftExpression '<' '<' additiveExpression + | shiftExpression '>' '>' additiveExpression + | shiftExpression '>' '>' '>' additiveExpression + ; + +additiveExpression + : multiplicativeExpression + | additiveExpression '+' multiplicativeExpression + | additiveExpression '-' multiplicativeExpression + ; + +multiplicativeExpression + : unaryExpression + | multiplicativeExpression '*' unaryExpression + | multiplicativeExpression '/' unaryExpression + | multiplicativeExpression '%' unaryExpression + ; + +unaryExpression + : preIncrementExpression + | preDecrementExpression + | '+' unaryExpression + | '-' unaryExpression + | unaryExpressionNotPlusMinus + ; + +preIncrementExpression + : '++' unaryExpression + ; + +preDecrementExpression + : '--' unaryExpression + ; + +unaryExpressionNotPlusMinus + : postfixExpression + | '~' unaryExpression + | '!' unaryExpression + | castExpression + ; + +postfixExpression + : ( primary + | expressionName + ) + ( postIncrementExpression_lf_postfixExpression + | postDecrementExpression_lf_postfixExpression + )* + ; + +postIncrementExpression + : postfixExpression '++' + ; + +postIncrementExpression_lf_postfixExpression + : '++' + ; + +postDecrementExpression + : postfixExpression '--' + ; + +postDecrementExpression_lf_postfixExpression + : '--' + ; + +castExpression + : '(' primitiveType ')' unaryExpression + | '(' referenceType additionalBound* ')' unaryExpressionNotPlusMinus + | '(' referenceType additionalBound* ')' lambdaExpression + ; + +// LEXER + +// §3.9 Keywords + +ABSTRACT : 'abstract'; +ASSERT : 'assert'; +BOOLEAN : 'boolean'; +BREAK : 'break'; +BYTE : 'byte'; +CASE : 'case'; +CATCH : 'catch'; +CHAR : 'char'; +CLASS : 'class'; +CONST : 'const'; +CONTINUE : 'continue'; +DEFAULT : 'default'; +DO : 'do'; +DOUBLE : 'double'; +ELSE : 'else'; +ENUM : 'enum'; +EXTENDS : 'extends'; +FINAL : 'final'; +FINALLY : 'finally'; +FLOAT : 'float'; +FOR : 'for'; +IF : 'if'; +GOTO : 'goto'; +IMPLEMENTS : 'implements'; +IMPORT : 'import'; +INSTANCEOF : 'instanceof'; +INT : 'int'; +INTERFACE : 'interface'; +LONG : 'long'; +NATIVE : 'native'; +NEW : 'new'; +PACKAGE : 'package'; +PRIVATE : 'private'; +PROTECTED : 'protected'; +PUBLIC : 'public'; +RETURN : 'return'; +SHORT : 'short'; +STATIC : 'static'; +STRICTFP : 'strictfp'; +SUPER : 'super'; +SWITCH : 'switch'; +SYNCHRONIZED : 'synchronized'; +THIS : 'this'; +THROW : 'throw'; +THROWS : 'throws'; +TRANSIENT : 'transient'; +TRY : 'try'; +VOID : 'void'; +VOLATILE : 'volatile'; +WHILE : 'while'; + +// §3.10.1 Integer Literals + +IntegerLiteral + : DecimalIntegerLiteral + | HexIntegerLiteral + | OctalIntegerLiteral + | BinaryIntegerLiteral + ; + +fragment +DecimalIntegerLiteral + : DecimalNumeral IntegerTypeSuffix? + ; + +fragment +HexIntegerLiteral + : HexNumeral IntegerTypeSuffix? + ; + +fragment +OctalIntegerLiteral + : OctalNumeral IntegerTypeSuffix? + ; + +fragment +BinaryIntegerLiteral + : BinaryNumeral IntegerTypeSuffix? + ; + +fragment +IntegerTypeSuffix + : [lL] + ; + +fragment +DecimalNumeral + : '0' + | NonZeroDigit (Digits? | Underscores Digits) + ; + +fragment +Digits + : Digit (DigitsAndUnderscores? Digit)? + ; + +fragment +Digit + : '0' + | NonZeroDigit + ; + +fragment +NonZeroDigit + : [1-9] + ; + +fragment +DigitsAndUnderscores + : DigitOrUnderscore+ + ; + +fragment +DigitOrUnderscore + : Digit + | '_' + ; + +fragment +Underscores + : '_'+ + ; + +fragment +HexNumeral + : '0' [xX] HexDigits + ; + +fragment +HexDigits + : HexDigit (HexDigitsAndUnderscores? HexDigit)? + ; + +fragment +HexDigit + : [0-9a-fA-F] + ; + +fragment +HexDigitsAndUnderscores + : HexDigitOrUnderscore+ + ; + +fragment +HexDigitOrUnderscore + : HexDigit + | '_' + ; + +fragment +OctalNumeral + : '0' Underscores? OctalDigits + ; + +fragment +OctalDigits + : OctalDigit (OctalDigitsAndUnderscores? OctalDigit)? + ; + +fragment +OctalDigit + : [0-7] + ; + +fragment +OctalDigitsAndUnderscores + : OctalDigitOrUnderscore+ + ; + +fragment +OctalDigitOrUnderscore + : OctalDigit + | '_' + ; + +fragment +BinaryNumeral + : '0' [bB] BinaryDigits + ; + +fragment +BinaryDigits + : BinaryDigit (BinaryDigitsAndUnderscores? BinaryDigit)? + ; + +fragment +BinaryDigit + : [01] + ; + +fragment +BinaryDigitsAndUnderscores + : BinaryDigitOrUnderscore+ + ; + +fragment +BinaryDigitOrUnderscore + : BinaryDigit + | '_' + ; + +// §3.10.2 Floating-Point Literals + +FloatingPointLiteral + : DecimalFloatingPointLiteral + | HexadecimalFloatingPointLiteral + ; + +fragment +DecimalFloatingPointLiteral + : Digits '.' Digits? ExponentPart? FloatTypeSuffix? + | '.' Digits ExponentPart? FloatTypeSuffix? + | Digits ExponentPart FloatTypeSuffix? + | Digits FloatTypeSuffix + ; + +fragment +ExponentPart + : ExponentIndicator SignedInteger + ; + +fragment +ExponentIndicator + : [eE] + ; + +fragment +SignedInteger + : Sign? Digits + ; + +fragment +Sign + : [+-] + ; + +fragment +FloatTypeSuffix + : [fFdD] + ; + +fragment +HexadecimalFloatingPointLiteral + : HexSignificand BinaryExponent FloatTypeSuffix? + ; + +fragment +HexSignificand + : HexNumeral '.'? + | '0' [xX] HexDigits? '.' HexDigits + ; + +fragment +BinaryExponent + : BinaryExponentIndicator SignedInteger + ; + +fragment +BinaryExponentIndicator + : [pP] + ; + +// §3.10.3 Boolean Literals + +BooleanLiteral + : 'true' + | 'false' + ; + +// §3.10.4 Character Literals + +CharacterLiteral + : '\'' SingleCharacter '\'' + | '\'' EscapeSequence '\'' + ; + +fragment +SingleCharacter + : ~['\\] + ; + +// §3.10.5 String Literals + +StringLiteral + : '"' StringCharacters? '"' + ; + +fragment +StringCharacters + : StringCharacter+ + ; + +fragment +StringCharacter + : ~["\\] + | EscapeSequence + ; + +// §3.10.6 Escape Sequences for Character and String Literals + +fragment +EscapeSequence + : '\\' [btnfr"'\\] + | OctalEscape + | UnicodeEscape // This is not in the spec but prevents having to preprocess the input + ; + +fragment +OctalEscape + : '\\' OctalDigit + | '\\' OctalDigit OctalDigit + | '\\' ZeroToThree OctalDigit OctalDigit + ; + +fragment +ZeroToThree + : [0-3] + ; + +// This is not in the spec but prevents having to preprocess the input +fragment +UnicodeEscape + : '\\' 'u' HexDigit HexDigit HexDigit HexDigit + ; + +// §3.10.7 The Null Literal + +NullLiteral + : 'null' + ; + +// §3.11 Separators + +LPAREN : '('; +RPAREN : ')'; +LBRACE : '{'; +RBRACE : '}'; +LBRACK : '['; +RBRACK : ']'; +SEMI : ';'; +COMMA : ','; +DOT : '.'; + +// §3.12 Operators + +ASSIGN : '='; +GT : '>'; +LT : '<'; +BANG : '!'; +TILDE : '~'; +QUESTION : '?'; +COLON : ':'; +EQUAL : '=='; +LE : '<='; +GE : '>='; +NOTEQUAL : '!='; +AND : '&&'; +OR : '||'; +INC : '++'; +DEC : '--'; +ADD : '+'; +SUB : '-'; +MUL : '*'; +DIV : '/'; +BITAND : '&'; +BITOR : '|'; +CARET : '^'; +MOD : '%'; +ARROW : '->'; +COLONCOLON : '::'; + +ADD_ASSIGN : '+='; +SUB_ASSIGN : '-='; +MUL_ASSIGN : '*='; +DIV_ASSIGN : '/='; +AND_ASSIGN : '&='; +OR_ASSIGN : '|='; +XOR_ASSIGN : '^='; +MOD_ASSIGN : '%='; +LSHIFT_ASSIGN : '<<='; +RSHIFT_ASSIGN : '>>='; +URSHIFT_ASSIGN : '>>>='; + +// §3.8 Identifiers (must appear after all keywords in the grammar) + +Identifier + : JavaLetter JavaLetterOrDigit* + ; + +fragment +JavaLetter + : [a-zA-Z$_] // these are the "java letters" below 0x7F + | // covers all characters above 0x7F which are not a surrogate + ~[\u0000-\u007F\uD800-\uDBFF] + {Character.isJavaIdentifierStart(_input.LA(-1))}? + | // covers UTF-16 surrogate pairs encodings for U+10000 to U+10FFFF + [\uD800-\uDBFF] [\uDC00-\uDFFF] + {Character.isJavaIdentifierStart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1)))}? + ; + +fragment +JavaLetterOrDigit + : [a-zA-Z0-9$_] // these are the "java letters or digits" below 0x7F + | // covers all characters above 0x7F which are not a surrogate + ~[\u0000-\u007F\uD800-\uDBFF] + {Character.isJavaIdentifierPart(_input.LA(-1))}? + | // covers UTF-16 surrogate pairs encodings for U+10000 to U+10FFFF + [\uD800-\uDBFF] [\uDC00-\uDFFF] + {Character.isJavaIdentifierPart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1)))}? + ; + +// +// Additional symbols not defined in the lexical specification +// + +AT : '@'; +ELLIPSIS : '...'; + +// +// Whitespace and comments +// + +WS : [ \t\r\n\u000C]+ -> skip + ; + +COMMENT + : '/*' .*? '*/' -> skip + ; + +LINE_COMMENT + : '//' ~[\r\n]* -> skip + ; diff --git a/src/de/dhbwstuttgart/parser/Java8.tokens b/src/de/dhbwstuttgart/parser/Java8.tokens new file mode 100644 index 00000000..52ef1eee --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8.tokens @@ -0,0 +1,205 @@ +ABSTRACT=1 +ASSERT=2 +BOOLEAN=3 +BREAK=4 +BYTE=5 +CASE=6 +CATCH=7 +CHAR=8 +CLASS=9 +CONST=10 +CONTINUE=11 +DEFAULT=12 +DO=13 +DOUBLE=14 +ELSE=15 +ENUM=16 +EXTENDS=17 +FINAL=18 +FINALLY=19 +FLOAT=20 +FOR=21 +IF=22 +GOTO=23 +IMPLEMENTS=24 +IMPORT=25 +INSTANCEOF=26 +INT=27 +INTERFACE=28 +LONG=29 +NATIVE=30 +NEW=31 +PACKAGE=32 +PRIVATE=33 +PROTECTED=34 +PUBLIC=35 +RETURN=36 +SHORT=37 +STATIC=38 +STRICTFP=39 +SUPER=40 +SWITCH=41 +SYNCHRONIZED=42 +THIS=43 +THROW=44 +THROWS=45 +TRANSIENT=46 +TRY=47 +VOID=48 +VOLATILE=49 +WHILE=50 +IntegerLiteral=51 +FloatingPointLiteral=52 +BooleanLiteral=53 +CharacterLiteral=54 +StringLiteral=55 +NullLiteral=56 +LPAREN=57 +RPAREN=58 +LBRACE=59 +RBRACE=60 +LBRACK=61 +RBRACK=62 +SEMI=63 +COMMA=64 +DOT=65 +ASSIGN=66 +GT=67 +LT=68 +BANG=69 +TILDE=70 +QUESTION=71 +COLON=72 +EQUAL=73 +LE=74 +GE=75 +NOTEQUAL=76 +AND=77 +OR=78 +INC=79 +DEC=80 +ADD=81 +SUB=82 +MUL=83 +DIV=84 +BITAND=85 +BITOR=86 +CARET=87 +MOD=88 +ARROW=89 +COLONCOLON=90 +ADD_ASSIGN=91 +SUB_ASSIGN=92 +MUL_ASSIGN=93 +DIV_ASSIGN=94 +AND_ASSIGN=95 +OR_ASSIGN=96 +XOR_ASSIGN=97 +MOD_ASSIGN=98 +LSHIFT_ASSIGN=99 +RSHIFT_ASSIGN=100 +URSHIFT_ASSIGN=101 +Identifier=102 +AT=103 +ELLIPSIS=104 +WS=105 +COMMENT=106 +LINE_COMMENT=107 +'abstract'=1 +'assert'=2 +'boolean'=3 +'break'=4 +'byte'=5 +'case'=6 +'catch'=7 +'char'=8 +'class'=9 +'const'=10 +'continue'=11 +'default'=12 +'do'=13 +'double'=14 +'else'=15 +'enum'=16 +'extends'=17 +'final'=18 +'finally'=19 +'float'=20 +'for'=21 +'if'=22 +'goto'=23 +'implements'=24 +'import'=25 +'instanceof'=26 +'int'=27 +'interface'=28 +'long'=29 +'native'=30 +'new'=31 +'package'=32 +'private'=33 +'protected'=34 +'public'=35 +'return'=36 +'short'=37 +'static'=38 +'strictfp'=39 +'super'=40 +'switch'=41 +'synchronized'=42 +'this'=43 +'throw'=44 +'throws'=45 +'transient'=46 +'try'=47 +'void'=48 +'volatile'=49 +'while'=50 +'null'=56 +'('=57 +')'=58 +'{'=59 +'}'=60 +'['=61 +']'=62 +';'=63 +','=64 +'.'=65 +'='=66 +'>'=67 +'<'=68 +'!'=69 +'~'=70 +'?'=71 +':'=72 +'=='=73 +'<='=74 +'>='=75 +'!='=76 +'&&'=77 +'||'=78 +'++'=79 +'--'=80 +'+'=81 +'-'=82 +'*'=83 +'/'=84 +'&'=85 +'|'=86 +'^'=87 +'%'=88 +'->'=89 +'::'=90 +'+='=91 +'-='=92 +'*='=93 +'/='=94 +'&='=95 +'|='=96 +'^='=97 +'%='=98 +'<<='=99 +'>>='=100 +'>>>='=101 +'@'=103 +'...'=104 diff --git a/src/de/dhbwstuttgart/parser/Java8BaseListener.java b/src/de/dhbwstuttgart/parser/Java8BaseListener.java new file mode 100644 index 00000000..aec90bd9 --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8BaseListener.java @@ -0,0 +1,2882 @@ +// Generated from Java8.g4 by ANTLR 4.5.3 + +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.tree.ErrorNode; +import org.antlr.v4.runtime.tree.TerminalNode; + +/** + * This class provides an empty implementation of {@link Java8Listener}, + * which can be extended to create a listener which only needs to handle a subset + * of the available methods. + */ +public class Java8BaseListener implements Java8Listener { + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLiteral(Java8Parser.LiteralContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLiteral(Java8Parser.LiteralContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterType(Java8Parser.TypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitType(Java8Parser.TypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimitiveType(Java8Parser.PrimitiveTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimitiveType(Java8Parser.PrimitiveTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNumericType(Java8Parser.NumericTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNumericType(Java8Parser.NumericTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterIntegralType(Java8Parser.IntegralTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitIntegralType(Java8Parser.IntegralTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFloatingPointType(Java8Parser.FloatingPointTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFloatingPointType(Java8Parser.FloatingPointTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterReferenceType(Java8Parser.ReferenceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitReferenceType(Java8Parser.ReferenceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassType(Java8Parser.ClassTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassType(Java8Parser.ClassTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceType(Java8Parser.InterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceType(Java8Parser.InterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeVariable(Java8Parser.TypeVariableContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeVariable(Java8Parser.TypeVariableContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayType(Java8Parser.ArrayTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayType(Java8Parser.ArrayTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDims(Java8Parser.DimsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDims(Java8Parser.DimsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeParameter(Java8Parser.TypeParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeParameter(Java8Parser.TypeParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeBound(Java8Parser.TypeBoundContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeBound(Java8Parser.TypeBoundContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAdditionalBound(Java8Parser.AdditionalBoundContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAdditionalBound(Java8Parser.AdditionalBoundContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeArguments(Java8Parser.TypeArgumentsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeArguments(Java8Parser.TypeArgumentsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeArgumentList(Java8Parser.TypeArgumentListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeArgumentList(Java8Parser.TypeArgumentListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeArgument(Java8Parser.TypeArgumentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeArgument(Java8Parser.TypeArgumentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterWildcard(Java8Parser.WildcardContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitWildcard(Java8Parser.WildcardContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterWildcardBounds(Java8Parser.WildcardBoundsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitWildcardBounds(Java8Parser.WildcardBoundsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPackageName(Java8Parser.PackageNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPackageName(Java8Parser.PackageNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeName(Java8Parser.TypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeName(Java8Parser.TypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExpressionName(Java8Parser.ExpressionNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExpressionName(Java8Parser.ExpressionNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodName(Java8Parser.MethodNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodName(Java8Parser.MethodNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAmbiguousName(Java8Parser.AmbiguousNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAmbiguousName(Java8Parser.AmbiguousNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCompilationUnit(Java8Parser.CompilationUnitContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCompilationUnit(Java8Parser.CompilationUnitContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPackageDeclaration(Java8Parser.PackageDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPackageDeclaration(Java8Parser.PackageDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPackageModifier(Java8Parser.PackageModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPackageModifier(Java8Parser.PackageModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterImportDeclaration(Java8Parser.ImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitImportDeclaration(Java8Parser.ImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeDeclaration(Java8Parser.TypeDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeDeclaration(Java8Parser.TypeDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassDeclaration(Java8Parser.ClassDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassDeclaration(Java8Parser.ClassDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassModifier(Java8Parser.ClassModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassModifier(Java8Parser.ClassModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeParameters(Java8Parser.TypeParametersContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeParameters(Java8Parser.TypeParametersContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeParameterList(Java8Parser.TypeParameterListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeParameterList(Java8Parser.TypeParameterListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSuperclass(Java8Parser.SuperclassContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSuperclass(Java8Parser.SuperclassContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSuperinterfaces(Java8Parser.SuperinterfacesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSuperinterfaces(Java8Parser.SuperinterfacesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassBody(Java8Parser.ClassBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassBody(Java8Parser.ClassBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFieldDeclaration(Java8Parser.FieldDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFieldDeclaration(Java8Parser.FieldDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFieldModifier(Java8Parser.FieldModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFieldModifier(Java8Parser.FieldModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableInitializer(Java8Parser.VariableInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableInitializer(Java8Parser.VariableInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannType(Java8Parser.UnannTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannType(Java8Parser.UnannTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannClassType(Java8Parser.UnannClassTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannClassType(Java8Parser.UnannClassTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnannArrayType(Java8Parser.UnannArrayTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnannArrayType(Java8Parser.UnannArrayTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodDeclaration(Java8Parser.MethodDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodDeclaration(Java8Parser.MethodDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodModifier(Java8Parser.MethodModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodModifier(Java8Parser.MethodModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodHeader(Java8Parser.MethodHeaderContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodHeader(Java8Parser.MethodHeaderContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterResult(Java8Parser.ResultContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitResult(Java8Parser.ResultContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFormalParameterList(Java8Parser.FormalParameterListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFormalParameterList(Java8Parser.FormalParameterListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFormalParameters(Java8Parser.FormalParametersContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFormalParameters(Java8Parser.FormalParametersContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFormalParameter(Java8Parser.FormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFormalParameter(Java8Parser.FormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableModifier(Java8Parser.VariableModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableModifier(Java8Parser.VariableModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLastFormalParameter(Java8Parser.LastFormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLastFormalParameter(Java8Parser.LastFormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterReceiverParameter(Java8Parser.ReceiverParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitReceiverParameter(Java8Parser.ReceiverParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterThrows_(Java8Parser.Throws_Context ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitThrows_(Java8Parser.Throws_Context ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExceptionType(Java8Parser.ExceptionTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExceptionType(Java8Parser.ExceptionTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodBody(Java8Parser.MethodBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodBody(Java8Parser.MethodBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInstanceInitializer(Java8Parser.InstanceInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInstanceInitializer(Java8Parser.InstanceInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStaticInitializer(Java8Parser.StaticInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStaticInitializer(Java8Parser.StaticInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstructorModifier(Java8Parser.ConstructorModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstructorModifier(Java8Parser.ConstructorModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstructorBody(Java8Parser.ConstructorBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstructorBody(Java8Parser.ConstructorBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumDeclaration(Java8Parser.EnumDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumDeclaration(Java8Parser.EnumDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumBody(Java8Parser.EnumBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumBody(Java8Parser.EnumBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumConstantList(Java8Parser.EnumConstantListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumConstantList(Java8Parser.EnumConstantListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumConstant(Java8Parser.EnumConstantContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumConstant(Java8Parser.EnumConstantContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceModifier(Java8Parser.InterfaceModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceModifier(Java8Parser.InterfaceModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceBody(Java8Parser.InterfaceBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceBody(Java8Parser.InterfaceBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstantModifier(Java8Parser.ConstantModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstantModifier(Java8Parser.ConstantModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDefaultValue(Java8Parser.DefaultValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDefaultValue(Java8Parser.DefaultValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnnotation(Java8Parser.AnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnnotation(Java8Parser.AnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNormalAnnotation(Java8Parser.NormalAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNormalAnnotation(Java8Parser.NormalAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterElementValuePairList(Java8Parser.ElementValuePairListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitElementValuePairList(Java8Parser.ElementValuePairListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterElementValuePair(Java8Parser.ElementValuePairContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitElementValuePair(Java8Parser.ElementValuePairContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterElementValue(Java8Parser.ElementValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitElementValue(Java8Parser.ElementValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterElementValueList(Java8Parser.ElementValueListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitElementValueList(Java8Parser.ElementValueListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayInitializer(Java8Parser.ArrayInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayInitializer(Java8Parser.ArrayInitializerContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableInitializerList(Java8Parser.VariableInitializerListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableInitializerList(Java8Parser.VariableInitializerListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBlock(Java8Parser.BlockContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBlock(Java8Parser.BlockContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBlockStatements(Java8Parser.BlockStatementsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBlockStatements(Java8Parser.BlockStatementsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBlockStatement(Java8Parser.BlockStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBlockStatement(Java8Parser.BlockStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStatement(Java8Parser.StatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStatement(Java8Parser.StatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEmptyStatement(Java8Parser.EmptyStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEmptyStatement(Java8Parser.EmptyStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLabeledStatement(Java8Parser.LabeledStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLabeledStatement(Java8Parser.LabeledStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExpressionStatement(Java8Parser.ExpressionStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExpressionStatement(Java8Parser.ExpressionStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStatementExpression(Java8Parser.StatementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStatementExpression(Java8Parser.StatementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterIfThenStatement(Java8Parser.IfThenStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitIfThenStatement(Java8Parser.IfThenStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAssertStatement(Java8Parser.AssertStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAssertStatement(Java8Parser.AssertStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSwitchStatement(Java8Parser.SwitchStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSwitchStatement(Java8Parser.SwitchStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSwitchBlock(Java8Parser.SwitchBlockContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSwitchBlock(Java8Parser.SwitchBlockContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSwitchLabels(Java8Parser.SwitchLabelsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSwitchLabels(Java8Parser.SwitchLabelsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSwitchLabel(Java8Parser.SwitchLabelContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSwitchLabel(Java8Parser.SwitchLabelContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumConstantName(Java8Parser.EnumConstantNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumConstantName(Java8Parser.EnumConstantNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterWhileStatement(Java8Parser.WhileStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitWhileStatement(Java8Parser.WhileStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDoStatement(Java8Parser.DoStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDoStatement(Java8Parser.DoStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterForStatement(Java8Parser.ForStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitForStatement(Java8Parser.ForStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBasicForStatement(Java8Parser.BasicForStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBasicForStatement(Java8Parser.BasicForStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterForInit(Java8Parser.ForInitContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitForInit(Java8Parser.ForInitContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterForUpdate(Java8Parser.ForUpdateContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitForUpdate(Java8Parser.ForUpdateContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStatementExpressionList(Java8Parser.StatementExpressionListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStatementExpressionList(Java8Parser.StatementExpressionListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBreakStatement(Java8Parser.BreakStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBreakStatement(Java8Parser.BreakStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterContinueStatement(Java8Parser.ContinueStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitContinueStatement(Java8Parser.ContinueStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterReturnStatement(Java8Parser.ReturnStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitReturnStatement(Java8Parser.ReturnStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterThrowStatement(Java8Parser.ThrowStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitThrowStatement(Java8Parser.ThrowStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTryStatement(Java8Parser.TryStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTryStatement(Java8Parser.TryStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCatches(Java8Parser.CatchesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCatches(Java8Parser.CatchesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCatchClause(Java8Parser.CatchClauseContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCatchClause(Java8Parser.CatchClauseContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCatchType(Java8Parser.CatchTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCatchType(Java8Parser.CatchTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFinally_(Java8Parser.Finally_Context ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFinally_(Java8Parser.Finally_Context ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterResourceSpecification(Java8Parser.ResourceSpecificationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitResourceSpecification(Java8Parser.ResourceSpecificationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterResourceList(Java8Parser.ResourceListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitResourceList(Java8Parser.ResourceListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterResource(Java8Parser.ResourceContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitResource(Java8Parser.ResourceContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimary(Java8Parser.PrimaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimary(Java8Parser.PrimaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFieldAccess(Java8Parser.FieldAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFieldAccess(Java8Parser.FieldAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayAccess(Java8Parser.ArrayAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayAccess(Java8Parser.ArrayAccessContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodInvocation(Java8Parser.MethodInvocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodInvocation(Java8Parser.MethodInvocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArgumentList(Java8Parser.ArgumentListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArgumentList(Java8Parser.ArgumentListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodReference(Java8Parser.MethodReferenceContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodReference(Java8Parser.MethodReferenceContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDimExprs(Java8Parser.DimExprsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDimExprs(Java8Parser.DimExprsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDimExpr(Java8Parser.DimExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDimExpr(Java8Parser.DimExprContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstantExpression(Java8Parser.ConstantExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstantExpression(Java8Parser.ConstantExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExpression(Java8Parser.ExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExpression(Java8Parser.ExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLambdaExpression(Java8Parser.LambdaExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLambdaExpression(Java8Parser.LambdaExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLambdaParameters(Java8Parser.LambdaParametersContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLambdaParameters(Java8Parser.LambdaParametersContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLambdaBody(Java8Parser.LambdaBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLambdaBody(Java8Parser.LambdaBodyContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAssignment(Java8Parser.AssignmentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAssignment(Java8Parser.AssignmentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterLeftHandSide(Java8Parser.LeftHandSideContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitLeftHandSide(Java8Parser.LeftHandSideContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConditionalExpression(Java8Parser.ConditionalExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConditionalExpression(Java8Parser.ConditionalExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAndExpression(Java8Parser.AndExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAndExpression(Java8Parser.AndExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEqualityExpression(Java8Parser.EqualityExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEqualityExpression(Java8Parser.EqualityExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterRelationalExpression(Java8Parser.RelationalExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitRelationalExpression(Java8Parser.RelationalExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterShiftExpression(Java8Parser.ShiftExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitShiftExpression(Java8Parser.ShiftExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnaryExpression(Java8Parser.UnaryExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnaryExpression(Java8Parser.UnaryExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPostfixExpression(Java8Parser.PostfixExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPostfixExpression(Java8Parser.PostfixExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCastExpression(Java8Parser.CastExpressionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCastExpression(Java8Parser.CastExpressionContext ctx) { } + + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void visitTerminal(TerminalNode node) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void visitErrorNode(ErrorNode node) { } +} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/Java8Lexer.java b/src/de/dhbwstuttgart/parser/Java8Lexer.java new file mode 100644 index 00000000..7b640465 --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8Lexer.java @@ -0,0 +1,583 @@ +// Generated from Java8.g4 by ANTLR 4.5.3 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Java8Lexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + ABSTRACT=1, ASSERT=2, BOOLEAN=3, BREAK=4, BYTE=5, CASE=6, CATCH=7, CHAR=8, + CLASS=9, CONST=10, CONTINUE=11, DEFAULT=12, DO=13, DOUBLE=14, ELSE=15, + ENUM=16, EXTENDS=17, FINAL=18, FINALLY=19, FLOAT=20, FOR=21, IF=22, GOTO=23, + IMPLEMENTS=24, IMPORT=25, INSTANCEOF=26, INT=27, INTERFACE=28, LONG=29, + NATIVE=30, NEW=31, PACKAGE=32, PRIVATE=33, PROTECTED=34, PUBLIC=35, RETURN=36, + SHORT=37, STATIC=38, STRICTFP=39, SUPER=40, SWITCH=41, SYNCHRONIZED=42, + THIS=43, THROW=44, THROWS=45, TRANSIENT=46, TRY=47, VOID=48, VOLATILE=49, + WHILE=50, IntegerLiteral=51, FloatingPointLiteral=52, BooleanLiteral=53, + CharacterLiteral=54, StringLiteral=55, NullLiteral=56, LPAREN=57, RPAREN=58, + LBRACE=59, RBRACE=60, LBRACK=61, RBRACK=62, SEMI=63, COMMA=64, DOT=65, + ASSIGN=66, GT=67, LT=68, BANG=69, TILDE=70, QUESTION=71, COLON=72, EQUAL=73, + LE=74, GE=75, NOTEQUAL=76, AND=77, OR=78, INC=79, DEC=80, ADD=81, SUB=82, + MUL=83, DIV=84, BITAND=85, BITOR=86, CARET=87, MOD=88, ARROW=89, COLONCOLON=90, + ADD_ASSIGN=91, SUB_ASSIGN=92, MUL_ASSIGN=93, DIV_ASSIGN=94, AND_ASSIGN=95, + OR_ASSIGN=96, XOR_ASSIGN=97, MOD_ASSIGN=98, LSHIFT_ASSIGN=99, RSHIFT_ASSIGN=100, + URSHIFT_ASSIGN=101, Identifier=102, AT=103, ELLIPSIS=104, WS=105, COMMENT=106, + LINE_COMMENT=107; + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + public static final String[] ruleNames = { + "ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", "CATCH", "CHAR", + "CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", "ELSE", "ENUM", + "EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", "IMPLEMENTS", + "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", "NEW", "PACKAGE", + "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", "STATIC", "STRICTFP", + "SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", "THROWS", "TRANSIENT", + "TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", "DecimalIntegerLiteral", + "HexIntegerLiteral", "OctalIntegerLiteral", "BinaryIntegerLiteral", "IntegerTypeSuffix", + "DecimalNumeral", "Digits", "Digit", "NonZeroDigit", "DigitsAndUnderscores", + "DigitOrUnderscore", "Underscores", "HexNumeral", "HexDigits", "HexDigit", + "HexDigitsAndUnderscores", "HexDigitOrUnderscore", "OctalNumeral", "OctalDigits", + "OctalDigit", "OctalDigitsAndUnderscores", "OctalDigitOrUnderscore", "BinaryNumeral", + "BinaryDigits", "BinaryDigit", "BinaryDigitsAndUnderscores", "BinaryDigitOrUnderscore", + "FloatingPointLiteral", "DecimalFloatingPointLiteral", "ExponentPart", + "ExponentIndicator", "SignedInteger", "Sign", "FloatTypeSuffix", "HexadecimalFloatingPointLiteral", + "HexSignificand", "BinaryExponent", "BinaryExponentIndicator", "BooleanLiteral", + "CharacterLiteral", "SingleCharacter", "StringLiteral", "StringCharacters", + "StringCharacter", "EscapeSequence", "OctalEscape", "ZeroToThree", "UnicodeEscape", + "NullLiteral", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", + "SEMI", "COMMA", "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION", + "COLON", "EQUAL", "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD", + "SUB", "MUL", "DIV", "BITAND", "BITOR", "CARET", "MOD", "ARROW", "COLONCOLON", + "ADD_ASSIGN", "SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", + "OR_ASSIGN", "XOR_ASSIGN", "MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", + "URSHIFT_ASSIGN", "Identifier", "JavaLetter", "JavaLetterOrDigit", "AT", + "ELLIPSIS", "WS", "COMMENT", "LINE_COMMENT" + }; + + private static final String[] _LITERAL_NAMES = { + null, "'abstract'", "'assert'", "'boolean'", "'break'", "'byte'", "'case'", + "'catch'", "'char'", "'class'", "'const'", "'continue'", "'default'", + "'do'", "'double'", "'else'", "'enum'", "'extends'", "'final'", "'finally'", + "'float'", "'for'", "'if'", "'goto'", "'implements'", "'import'", "'instanceof'", + "'int'", "'interface'", "'long'", "'native'", "'new'", "'package'", "'private'", + "'protected'", "'public'", "'return'", "'short'", "'static'", "'strictfp'", + "'super'", "'switch'", "'synchronized'", "'this'", "'throw'", "'throws'", + "'transient'", "'try'", "'void'", "'volatile'", "'while'", null, null, + null, null, null, "'null'", "'('", "')'", "'{'", "'}'", "'['", "']'", + "';'", "','", "'.'", "'='", "'>'", "'<'", "'!'", "'~'", "'?'", "':'", + "'=='", "'<='", "'>='", "'!='", "'&&'", "'||'", "'++'", "'--'", "'+'", + "'-'", "'*'", "'/'", "'&'", "'|'", "'^'", "'%'", "'->'", "'::'", "'+='", + "'-='", "'*='", "'/='", "'&='", "'|='", "'^='", "'%='", "'<<='", "'>>='", + "'>>>='", null, "'@'", "'...'" + }; + private static final String[] _SYMBOLIC_NAMES = { + null, "ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", "CATCH", + "CHAR", "CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", "ELSE", + "ENUM", "EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", "IMPLEMENTS", + "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", "NEW", "PACKAGE", + "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", "STATIC", "STRICTFP", + "SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", "THROWS", "TRANSIENT", + "TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", "FloatingPointLiteral", + "BooleanLiteral", "CharacterLiteral", "StringLiteral", "NullLiteral", + "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", "SEMI", "COMMA", + "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION", "COLON", "EQUAL", + "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD", "SUB", "MUL", + "DIV", "BITAND", "BITOR", "CARET", "MOD", "ARROW", "COLONCOLON", "ADD_ASSIGN", + "SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", "OR_ASSIGN", "XOR_ASSIGN", + "MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", "URSHIFT_ASSIGN", "Identifier", + "AT", "ELLIPSIS", "WS", "COMMENT", "LINE_COMMENT" + }; + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Java8Lexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Java8.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + @Override + public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) { + switch (ruleIndex) { + case 146: + return JavaLetter_sempred((RuleContext)_localctx, predIndex); + case 147: + return JavaLetterOrDigit_sempred((RuleContext)_localctx, predIndex); + } + return true; + } + private boolean JavaLetter_sempred(RuleContext _localctx, int predIndex) { + switch (predIndex) { + case 0: + return Character.isJavaIdentifierStart(_input.LA(-1)); + case 1: + return Character.isJavaIdentifierStart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1))); + } + return true; + } + private boolean JavaLetterOrDigit_sempred(RuleContext _localctx, int predIndex) { + switch (predIndex) { + case 2: + return Character.isJavaIdentifierPart(_input.LA(-1)); + case 3: + return Character.isJavaIdentifierPart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1))); + } + return true; + } + + public static final String _serializedATN = + "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2m\u0448\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ + "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4"+ + "w\tw\4x\tx\4y\ty\4z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080\t\u0080"+ + "\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083\4\u0084\t\u0084\4\u0085"+ + "\t\u0085\4\u0086\t\u0086\4\u0087\t\u0087\4\u0088\t\u0088\4\u0089\t\u0089"+ + "\4\u008a\t\u008a\4\u008b\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e"+ + "\t\u008e\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091\4\u0092\t\u0092"+ + "\4\u0093\t\u0093\4\u0094\t\u0094\4\u0095\t\u0095\4\u0096\t\u0096\4\u0097"+ + "\t\u0097\4\u0098\t\u0098\4\u0099\t\u0099\4\u009a\t\u009a\3\2\3\2\3\2\3"+ + "\2\3\2\3\2\3\2\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4"+ + "\3\4\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3"+ + "\7\3\7\3\b\3\b\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n"+ + "\3\n\3\13\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f"+ + "\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3"+ + "\17\3\17\3\17\3\20\3\20\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\22\3"+ + "\22\3\22\3\22\3\22\3\22\3\22\3\22\3\23\3\23\3\23\3\23\3\23\3\23\3\24\3"+ + "\24\3\24\3\24\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\26\3"+ + "\26\3\26\3\26\3\27\3\27\3\27\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3\31\3"+ + "\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\32\3\32\3\32\3\32\3\32\3\32\3"+ + "\32\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3"+ + "\34\3\34\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\36\3\36\3"+ + "\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3 \3 \3 \3 \3!\3!\3!"+ + "\3!\3!\3!\3!\3!\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3#\3#\3"+ + "#\3#\3#\3$\3$\3$\3$\3$\3$\3$\3%\3%\3%\3%\3%\3%\3%\3&\3&\3&\3&\3&\3&\3"+ + "\'\3\'\3\'\3\'\3\'\3\'\3\'\3(\3(\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3"+ + ")\3*\3*\3*\3*\3*\3*\3*\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3,\3,\3"+ + ",\3,\3,\3-\3-\3-\3-\3-\3-\3.\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3"+ + "/\3/\3/\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3"+ + "\62\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\63\3\64\3\64\3"+ + "\64\3\64\5\64\u028d\n\64\3\65\3\65\5\65\u0291\n\65\3\66\3\66\5\66\u0295"+ + "\n\66\3\67\3\67\5\67\u0299\n\67\38\38\58\u029d\n8\39\39\3:\3:\3:\5:\u02a4"+ + "\n:\3:\3:\3:\5:\u02a9\n:\5:\u02ab\n:\3;\3;\5;\u02af\n;\3;\5;\u02b2\n;"+ + "\3<\3<\5<\u02b6\n<\3=\3=\3>\6>\u02bb\n>\r>\16>\u02bc\3?\3?\5?\u02c1\n"+ + "?\3@\6@\u02c4\n@\r@\16@\u02c5\3A\3A\3A\3A\3B\3B\5B\u02ce\nB\3B\5B\u02d1"+ + "\nB\3C\3C\3D\6D\u02d6\nD\rD\16D\u02d7\3E\3E\5E\u02dc\nE\3F\3F\5F\u02e0"+ + "\nF\3F\3F\3G\3G\5G\u02e6\nG\3G\5G\u02e9\nG\3H\3H\3I\6I\u02ee\nI\rI\16"+ + "I\u02ef\3J\3J\5J\u02f4\nJ\3K\3K\3K\3K\3L\3L\5L\u02fc\nL\3L\5L\u02ff\n"+ + "L\3M\3M\3N\6N\u0304\nN\rN\16N\u0305\3O\3O\5O\u030a\nO\3P\3P\5P\u030e\n"+ + "P\3Q\3Q\3Q\5Q\u0313\nQ\3Q\5Q\u0316\nQ\3Q\5Q\u0319\nQ\3Q\3Q\3Q\5Q\u031e"+ + "\nQ\3Q\5Q\u0321\nQ\3Q\3Q\3Q\5Q\u0326\nQ\3Q\3Q\3Q\5Q\u032b\nQ\3R\3R\3R"+ + "\3S\3S\3T\5T\u0333\nT\3T\3T\3U\3U\3V\3V\3W\3W\3W\5W\u033e\nW\3X\3X\5X"+ + "\u0342\nX\3X\3X\3X\5X\u0347\nX\3X\3X\5X\u034b\nX\3Y\3Y\3Y\3Z\3Z\3[\3["+ + "\3[\3[\3[\3[\3[\3[\3[\5[\u035b\n[\3\\\3\\\3\\\3\\\3\\\3\\\3\\\3\\\5\\"+ + "\u0365\n\\\3]\3]\3^\3^\5^\u036b\n^\3^\3^\3_\6_\u0370\n_\r_\16_\u0371\3"+ + "`\3`\5`\u0376\n`\3a\3a\3a\3a\5a\u037c\na\3b\3b\3b\3b\3b\3b\3b\3b\3b\3"+ + "b\3b\5b\u0389\nb\3c\3c\3d\3d\3d\3d\3d\3d\3d\3e\3e\3e\3e\3e\3f\3f\3g\3"+ + "g\3h\3h\3i\3i\3j\3j\3k\3k\3l\3l\3m\3m\3n\3n\3o\3o\3p\3p\3q\3q\3r\3r\3"+ + "s\3s\3t\3t\3u\3u\3v\3v\3v\3w\3w\3w\3x\3x\3x\3y\3y\3y\3z\3z\3z\3{\3{\3"+ + "{\3|\3|\3|\3}\3}\3}\3~\3~\3\177\3\177\3\u0080\3\u0080\3\u0081\3\u0081"+ + "\3\u0082\3\u0082\3\u0083\3\u0083\3\u0084\3\u0084\3\u0085\3\u0085\3\u0086"+ + "\3\u0086\3\u0086\3\u0087\3\u0087\3\u0087\3\u0088\3\u0088\3\u0088\3\u0089"+ + "\3\u0089\3\u0089\3\u008a\3\u008a\3\u008a\3\u008b\3\u008b\3\u008b\3\u008c"+ + "\3\u008c\3\u008c\3\u008d\3\u008d\3\u008d\3\u008e\3\u008e\3\u008e\3\u008f"+ + "\3\u008f\3\u008f\3\u0090\3\u0090\3\u0090\3\u0090\3\u0091\3\u0091\3\u0091"+ + "\3\u0091\3\u0092\3\u0092\3\u0092\3\u0092\3\u0092\3\u0093\3\u0093\7\u0093"+ + "\u040e\n\u0093\f\u0093\16\u0093\u0411\13\u0093\3\u0094\3\u0094\3\u0094"+ + "\3\u0094\3\u0094\3\u0094\5\u0094\u0419\n\u0094\3\u0095\3\u0095\3\u0095"+ + "\3\u0095\3\u0095\3\u0095\5\u0095\u0421\n\u0095\3\u0096\3\u0096\3\u0097"+ + "\3\u0097\3\u0097\3\u0097\3\u0098\6\u0098\u042a\n\u0098\r\u0098\16\u0098"+ + "\u042b\3\u0098\3\u0098\3\u0099\3\u0099\3\u0099\3\u0099\7\u0099\u0434\n"+ + "\u0099\f\u0099\16\u0099\u0437\13\u0099\3\u0099\3\u0099\3\u0099\3\u0099"+ + "\3\u0099\3\u009a\3\u009a\3\u009a\3\u009a\7\u009a\u0442\n\u009a\f\u009a"+ + "\16\u009a\u0445\13\u009a\3\u009a\3\u009a\3\u0435\2\u009b\3\3\5\4\7\5\t"+ + "\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23"+ + "%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G"+ + "%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\2k\2m\2o\2q\2s\2u\2w\2"+ + "y\2{\2}\2\177\2\u0081\2\u0083\2\u0085\2\u0087\2\u0089\2\u008b\2\u008d"+ + "\2\u008f\2\u0091\2\u0093\2\u0095\2\u0097\2\u0099\2\u009b\2\u009d\2\u009f"+ + "\66\u00a1\2\u00a3\2\u00a5\2\u00a7\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1"+ + "\2\u00b3\2\u00b5\67\u00b78\u00b9\2\u00bb9\u00bd\2\u00bf\2\u00c1\2\u00c3"+ + "\2\u00c5\2\u00c7\2\u00c9:\u00cb;\u00cd<\u00cf=\u00d1>\u00d3?\u00d5@\u00d7"+ + "A\u00d9B\u00dbC\u00ddD\u00dfE\u00e1F\u00e3G\u00e5H\u00e7I\u00e9J\u00eb"+ + "K\u00edL\u00efM\u00f1N\u00f3O\u00f5P\u00f7Q\u00f9R\u00fbS\u00fdT\u00ff"+ + "U\u0101V\u0103W\u0105X\u0107Y\u0109Z\u010b[\u010d\\\u010f]\u0111^\u0113"+ + "_\u0115`\u0117a\u0119b\u011bc\u011dd\u011fe\u0121f\u0123g\u0125h\u0127"+ + "\2\u0129\2\u012bi\u012dj\u012fk\u0131l\u0133m\3\2\30\4\2NNnn\3\2\63;\4"+ + "\2ZZzz\5\2\62;CHch\3\2\629\4\2DDdd\3\2\62\63\4\2GGgg\4\2--//\6\2FFHHf"+ + "fhh\4\2RRrr\4\2))^^\4\2$$^^\n\2$$))^^ddhhppttvv\3\2\62\65\6\2&&C\\aac"+ + "|\4\2\2\u0081\ud802\udc01\3\2\ud802\udc01\3\2\udc02\ue001\7\2&&\62;C\\"+ + "aac|\5\2\13\f\16\17\"\"\4\2\f\f\17\17\u0456\2\3\3\2\2\2\2\5\3\2\2\2\2"+ + "\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2"+ + "\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2"+ + "\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2"+ + "\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2"+ + "\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2"+ + "\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2"+ + "M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3"+ + "\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2"+ + "\2\2g\3\2\2\2\2\u009f\3\2\2\2\2\u00b5\3\2\2\2\2\u00b7\3\2\2\2\2\u00bb"+ + "\3\2\2\2\2\u00c9\3\2\2\2\2\u00cb\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2"+ + "\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2\2\2\u00d7\3\2\2\2\2\u00d9"+ + "\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2\2\2\u00df\3\2\2\2\2\u00e1\3\2\2"+ + "\2\2\u00e3\3\2\2\2\2\u00e5\3\2\2\2\2\u00e7\3\2\2\2\2\u00e9\3\2\2\2\2\u00eb"+ + "\3\2\2\2\2\u00ed\3\2\2\2\2\u00ef\3\2\2\2\2\u00f1\3\2\2\2\2\u00f3\3\2\2"+ + "\2\2\u00f5\3\2\2\2\2\u00f7\3\2\2\2\2\u00f9\3\2\2\2\2\u00fb\3\2\2\2\2\u00fd"+ + "\3\2\2\2\2\u00ff\3\2\2\2\2\u0101\3\2\2\2\2\u0103\3\2\2\2\2\u0105\3\2\2"+ + "\2\2\u0107\3\2\2\2\2\u0109\3\2\2\2\2\u010b\3\2\2\2\2\u010d\3\2\2\2\2\u010f"+ + "\3\2\2\2\2\u0111\3\2\2\2\2\u0113\3\2\2\2\2\u0115\3\2\2\2\2\u0117\3\2\2"+ + "\2\2\u0119\3\2\2\2\2\u011b\3\2\2\2\2\u011d\3\2\2\2\2\u011f\3\2\2\2\2\u0121"+ + "\3\2\2\2\2\u0123\3\2\2\2\2\u0125\3\2\2\2\2\u012b\3\2\2\2\2\u012d\3\2\2"+ + "\2\2\u012f\3\2\2\2\2\u0131\3\2\2\2\2\u0133\3\2\2\2\3\u0135\3\2\2\2\5\u013e"+ + "\3\2\2\2\7\u0145\3\2\2\2\t\u014d\3\2\2\2\13\u0153\3\2\2\2\r\u0158\3\2"+ + "\2\2\17\u015d\3\2\2\2\21\u0163\3\2\2\2\23\u0168\3\2\2\2\25\u016e\3\2\2"+ + "\2\27\u0174\3\2\2\2\31\u017d\3\2\2\2\33\u0185\3\2\2\2\35\u0188\3\2\2\2"+ + "\37\u018f\3\2\2\2!\u0194\3\2\2\2#\u0199\3\2\2\2%\u01a1\3\2\2\2\'\u01a7"+ + "\3\2\2\2)\u01af\3\2\2\2+\u01b5\3\2\2\2-\u01b9\3\2\2\2/\u01bc\3\2\2\2\61"+ + "\u01c1\3\2\2\2\63\u01cc\3\2\2\2\65\u01d3\3\2\2\2\67\u01de\3\2\2\29\u01e2"+ + "\3\2\2\2;\u01ec\3\2\2\2=\u01f1\3\2\2\2?\u01f8\3\2\2\2A\u01fc\3\2\2\2C"+ + "\u0204\3\2\2\2E\u020c\3\2\2\2G\u0216\3\2\2\2I\u021d\3\2\2\2K\u0224\3\2"+ + "\2\2M\u022a\3\2\2\2O\u0231\3\2\2\2Q\u023a\3\2\2\2S\u0240\3\2\2\2U\u0247"+ + "\3\2\2\2W\u0254\3\2\2\2Y\u0259\3\2\2\2[\u025f\3\2\2\2]\u0266\3\2\2\2_"+ + "\u0270\3\2\2\2a\u0274\3\2\2\2c\u0279\3\2\2\2e\u0282\3\2\2\2g\u028c\3\2"+ + "\2\2i\u028e\3\2\2\2k\u0292\3\2\2\2m\u0296\3\2\2\2o\u029a\3\2\2\2q\u029e"+ + "\3\2\2\2s\u02aa\3\2\2\2u\u02ac\3\2\2\2w\u02b5\3\2\2\2y\u02b7\3\2\2\2{"+ + "\u02ba\3\2\2\2}\u02c0\3\2\2\2\177\u02c3\3\2\2\2\u0081\u02c7\3\2\2\2\u0083"+ + "\u02cb\3\2\2\2\u0085\u02d2\3\2\2\2\u0087\u02d5\3\2\2\2\u0089\u02db\3\2"+ + "\2\2\u008b\u02dd\3\2\2\2\u008d\u02e3\3\2\2\2\u008f\u02ea\3\2\2\2\u0091"+ + "\u02ed\3\2\2\2\u0093\u02f3\3\2\2\2\u0095\u02f5\3\2\2\2\u0097\u02f9\3\2"+ + "\2\2\u0099\u0300\3\2\2\2\u009b\u0303\3\2\2\2\u009d\u0309\3\2\2\2\u009f"+ + "\u030d\3\2\2\2\u00a1\u032a\3\2\2\2\u00a3\u032c\3\2\2\2\u00a5\u032f\3\2"+ + "\2\2\u00a7\u0332\3\2\2\2\u00a9\u0336\3\2\2\2\u00ab\u0338\3\2\2\2\u00ad"+ + "\u033a\3\2\2\2\u00af\u034a\3\2\2\2\u00b1\u034c\3\2\2\2\u00b3\u034f\3\2"+ + "\2\2\u00b5\u035a\3\2\2\2\u00b7\u0364\3\2\2\2\u00b9\u0366\3\2\2\2\u00bb"+ + "\u0368\3\2\2\2\u00bd\u036f\3\2\2\2\u00bf\u0375\3\2\2\2\u00c1\u037b\3\2"+ + "\2\2\u00c3\u0388\3\2\2\2\u00c5\u038a\3\2\2\2\u00c7\u038c\3\2\2\2\u00c9"+ + "\u0393\3\2\2\2\u00cb\u0398\3\2\2\2\u00cd\u039a\3\2\2\2\u00cf\u039c\3\2"+ + "\2\2\u00d1\u039e\3\2\2\2\u00d3\u03a0\3\2\2\2\u00d5\u03a2\3\2\2\2\u00d7"+ + "\u03a4\3\2\2\2\u00d9\u03a6\3\2\2\2\u00db\u03a8\3\2\2\2\u00dd\u03aa\3\2"+ + "\2\2\u00df\u03ac\3\2\2\2\u00e1\u03ae\3\2\2\2\u00e3\u03b0\3\2\2\2\u00e5"+ + "\u03b2\3\2\2\2\u00e7\u03b4\3\2\2\2\u00e9\u03b6\3\2\2\2\u00eb\u03b8\3\2"+ + "\2\2\u00ed\u03bb\3\2\2\2\u00ef\u03be\3\2\2\2\u00f1\u03c1\3\2\2\2\u00f3"+ + "\u03c4\3\2\2\2\u00f5\u03c7\3\2\2\2\u00f7\u03ca\3\2\2\2\u00f9\u03cd\3\2"+ + "\2\2\u00fb\u03d0\3\2\2\2\u00fd\u03d2\3\2\2\2\u00ff\u03d4\3\2\2\2\u0101"+ + "\u03d6\3\2\2\2\u0103\u03d8\3\2\2\2\u0105\u03da\3\2\2\2\u0107\u03dc\3\2"+ + "\2\2\u0109\u03de\3\2\2\2\u010b\u03e0\3\2\2\2\u010d\u03e3\3\2\2\2\u010f"+ + "\u03e6\3\2\2\2\u0111\u03e9\3\2\2\2\u0113\u03ec\3\2\2\2\u0115\u03ef\3\2"+ + "\2\2\u0117\u03f2\3\2\2\2\u0119\u03f5\3\2\2\2\u011b\u03f8\3\2\2\2\u011d"+ + "\u03fb\3\2\2\2\u011f\u03fe\3\2\2\2\u0121\u0402\3\2\2\2\u0123\u0406\3\2"+ + "\2\2\u0125\u040b\3\2\2\2\u0127\u0418\3\2\2\2\u0129\u0420\3\2\2\2\u012b"+ + "\u0422\3\2\2\2\u012d\u0424\3\2\2\2\u012f\u0429\3\2\2\2\u0131\u042f\3\2"+ + "\2\2\u0133\u043d\3\2\2\2\u0135\u0136\7c\2\2\u0136\u0137\7d\2\2\u0137\u0138"+ + "\7u\2\2\u0138\u0139\7v\2\2\u0139\u013a\7t\2\2\u013a\u013b\7c\2\2\u013b"+ + "\u013c\7e\2\2\u013c\u013d\7v\2\2\u013d\4\3\2\2\2\u013e\u013f\7c\2\2\u013f"+ + "\u0140\7u\2\2\u0140\u0141\7u\2\2\u0141\u0142\7g\2\2\u0142\u0143\7t\2\2"+ + "\u0143\u0144\7v\2\2\u0144\6\3\2\2\2\u0145\u0146\7d\2\2\u0146\u0147\7q"+ + "\2\2\u0147\u0148\7q\2\2\u0148\u0149\7n\2\2\u0149\u014a\7g\2\2\u014a\u014b"+ + "\7c\2\2\u014b\u014c\7p\2\2\u014c\b\3\2\2\2\u014d\u014e\7d\2\2\u014e\u014f"+ + "\7t\2\2\u014f\u0150\7g\2\2\u0150\u0151\7c\2\2\u0151\u0152\7m\2\2\u0152"+ + "\n\3\2\2\2\u0153\u0154\7d\2\2\u0154\u0155\7{\2\2\u0155\u0156\7v\2\2\u0156"+ + "\u0157\7g\2\2\u0157\f\3\2\2\2\u0158\u0159\7e\2\2\u0159\u015a\7c\2\2\u015a"+ + "\u015b\7u\2\2\u015b\u015c\7g\2\2\u015c\16\3\2\2\2\u015d\u015e\7e\2\2\u015e"+ + "\u015f\7c\2\2\u015f\u0160\7v\2\2\u0160\u0161\7e\2\2\u0161\u0162\7j\2\2"+ + "\u0162\20\3\2\2\2\u0163\u0164\7e\2\2\u0164\u0165\7j\2\2\u0165\u0166\7"+ + "c\2\2\u0166\u0167\7t\2\2\u0167\22\3\2\2\2\u0168\u0169\7e\2\2\u0169\u016a"+ + "\7n\2\2\u016a\u016b\7c\2\2\u016b\u016c\7u\2\2\u016c\u016d\7u\2\2\u016d"+ + "\24\3\2\2\2\u016e\u016f\7e\2\2\u016f\u0170\7q\2\2\u0170\u0171\7p\2\2\u0171"+ + "\u0172\7u\2\2\u0172\u0173\7v\2\2\u0173\26\3\2\2\2\u0174\u0175\7e\2\2\u0175"+ + "\u0176\7q\2\2\u0176\u0177\7p\2\2\u0177\u0178\7v\2\2\u0178\u0179\7k\2\2"+ + "\u0179\u017a\7p\2\2\u017a\u017b\7w\2\2\u017b\u017c\7g\2\2\u017c\30\3\2"+ + "\2\2\u017d\u017e\7f\2\2\u017e\u017f\7g\2\2\u017f\u0180\7h\2\2\u0180\u0181"+ + "\7c\2\2\u0181\u0182\7w\2\2\u0182\u0183\7n\2\2\u0183\u0184\7v\2\2\u0184"+ + "\32\3\2\2\2\u0185\u0186\7f\2\2\u0186\u0187\7q\2\2\u0187\34\3\2\2\2\u0188"+ + "\u0189\7f\2\2\u0189\u018a\7q\2\2\u018a\u018b\7w\2\2\u018b\u018c\7d\2\2"+ + "\u018c\u018d\7n\2\2\u018d\u018e\7g\2\2\u018e\36\3\2\2\2\u018f\u0190\7"+ + "g\2\2\u0190\u0191\7n\2\2\u0191\u0192\7u\2\2\u0192\u0193\7g\2\2\u0193 "+ + "\3\2\2\2\u0194\u0195\7g\2\2\u0195\u0196\7p\2\2\u0196\u0197\7w\2\2\u0197"+ + "\u0198\7o\2\2\u0198\"\3\2\2\2\u0199\u019a\7g\2\2\u019a\u019b\7z\2\2\u019b"+ + "\u019c\7v\2\2\u019c\u019d\7g\2\2\u019d\u019e\7p\2\2\u019e\u019f\7f\2\2"+ + "\u019f\u01a0\7u\2\2\u01a0$\3\2\2\2\u01a1\u01a2\7h\2\2\u01a2\u01a3\7k\2"+ + "\2\u01a3\u01a4\7p\2\2\u01a4\u01a5\7c\2\2\u01a5\u01a6\7n\2\2\u01a6&\3\2"+ + "\2\2\u01a7\u01a8\7h\2\2\u01a8\u01a9\7k\2\2\u01a9\u01aa\7p\2\2\u01aa\u01ab"+ + "\7c\2\2\u01ab\u01ac\7n\2\2\u01ac\u01ad\7n\2\2\u01ad\u01ae\7{\2\2\u01ae"+ + "(\3\2\2\2\u01af\u01b0\7h\2\2\u01b0\u01b1\7n\2\2\u01b1\u01b2\7q\2\2\u01b2"+ + "\u01b3\7c\2\2\u01b3\u01b4\7v\2\2\u01b4*\3\2\2\2\u01b5\u01b6\7h\2\2\u01b6"+ + "\u01b7\7q\2\2\u01b7\u01b8\7t\2\2\u01b8,\3\2\2\2\u01b9\u01ba\7k\2\2\u01ba"+ + "\u01bb\7h\2\2\u01bb.\3\2\2\2\u01bc\u01bd\7i\2\2\u01bd\u01be\7q\2\2\u01be"+ + "\u01bf\7v\2\2\u01bf\u01c0\7q\2\2\u01c0\60\3\2\2\2\u01c1\u01c2\7k\2\2\u01c2"+ + "\u01c3\7o\2\2\u01c3\u01c4\7r\2\2\u01c4\u01c5\7n\2\2\u01c5\u01c6\7g\2\2"+ + "\u01c6\u01c7\7o\2\2\u01c7\u01c8\7g\2\2\u01c8\u01c9\7p\2\2\u01c9\u01ca"+ + "\7v\2\2\u01ca\u01cb\7u\2\2\u01cb\62\3\2\2\2\u01cc\u01cd\7k\2\2\u01cd\u01ce"+ + "\7o\2\2\u01ce\u01cf\7r\2\2\u01cf\u01d0\7q\2\2\u01d0\u01d1\7t\2\2\u01d1"+ + "\u01d2\7v\2\2\u01d2\64\3\2\2\2\u01d3\u01d4\7k\2\2\u01d4\u01d5\7p\2\2\u01d5"+ + "\u01d6\7u\2\2\u01d6\u01d7\7v\2\2\u01d7\u01d8\7c\2\2\u01d8\u01d9\7p\2\2"+ + "\u01d9\u01da\7e\2\2\u01da\u01db\7g\2\2\u01db\u01dc\7q\2\2\u01dc\u01dd"+ + "\7h\2\2\u01dd\66\3\2\2\2\u01de\u01df\7k\2\2\u01df\u01e0\7p\2\2\u01e0\u01e1"+ + "\7v\2\2\u01e18\3\2\2\2\u01e2\u01e3\7k\2\2\u01e3\u01e4\7p\2\2\u01e4\u01e5"+ + "\7v\2\2\u01e5\u01e6\7g\2\2\u01e6\u01e7\7t\2\2\u01e7\u01e8\7h\2\2\u01e8"+ + "\u01e9\7c\2\2\u01e9\u01ea\7e\2\2\u01ea\u01eb\7g\2\2\u01eb:\3\2\2\2\u01ec"+ + "\u01ed\7n\2\2\u01ed\u01ee\7q\2\2\u01ee\u01ef\7p\2\2\u01ef\u01f0\7i\2\2"+ + "\u01f0<\3\2\2\2\u01f1\u01f2\7p\2\2\u01f2\u01f3\7c\2\2\u01f3\u01f4\7v\2"+ + "\2\u01f4\u01f5\7k\2\2\u01f5\u01f6\7x\2\2\u01f6\u01f7\7g\2\2\u01f7>\3\2"+ + "\2\2\u01f8\u01f9\7p\2\2\u01f9\u01fa\7g\2\2\u01fa\u01fb\7y\2\2\u01fb@\3"+ + "\2\2\2\u01fc\u01fd\7r\2\2\u01fd\u01fe\7c\2\2\u01fe\u01ff\7e\2\2\u01ff"+ + "\u0200\7m\2\2\u0200\u0201\7c\2\2\u0201\u0202\7i\2\2\u0202\u0203\7g\2\2"+ + "\u0203B\3\2\2\2\u0204\u0205\7r\2\2\u0205\u0206\7t\2\2\u0206\u0207\7k\2"+ + "\2\u0207\u0208\7x\2\2\u0208\u0209\7c\2\2\u0209\u020a\7v\2\2\u020a\u020b"+ + "\7g\2\2\u020bD\3\2\2\2\u020c\u020d\7r\2\2\u020d\u020e\7t\2\2\u020e\u020f"+ + "\7q\2\2\u020f\u0210\7v\2\2\u0210\u0211\7g\2\2\u0211\u0212\7e\2\2\u0212"+ + "\u0213\7v\2\2\u0213\u0214\7g\2\2\u0214\u0215\7f\2\2\u0215F\3\2\2\2\u0216"+ + "\u0217\7r\2\2\u0217\u0218\7w\2\2\u0218\u0219\7d\2\2\u0219\u021a\7n\2\2"+ + "\u021a\u021b\7k\2\2\u021b\u021c\7e\2\2\u021cH\3\2\2\2\u021d\u021e\7t\2"+ + "\2\u021e\u021f\7g\2\2\u021f\u0220\7v\2\2\u0220\u0221\7w\2\2\u0221\u0222"+ + "\7t\2\2\u0222\u0223\7p\2\2\u0223J\3\2\2\2\u0224\u0225\7u\2\2\u0225\u0226"+ + "\7j\2\2\u0226\u0227\7q\2\2\u0227\u0228\7t\2\2\u0228\u0229\7v\2\2\u0229"+ + "L\3\2\2\2\u022a\u022b\7u\2\2\u022b\u022c\7v\2\2\u022c\u022d\7c\2\2\u022d"+ + "\u022e\7v\2\2\u022e\u022f\7k\2\2\u022f\u0230\7e\2\2\u0230N\3\2\2\2\u0231"+ + "\u0232\7u\2\2\u0232\u0233\7v\2\2\u0233\u0234\7t\2\2\u0234\u0235\7k\2\2"+ + "\u0235\u0236\7e\2\2\u0236\u0237\7v\2\2\u0237\u0238\7h\2\2\u0238\u0239"+ + "\7r\2\2\u0239P\3\2\2\2\u023a\u023b\7u\2\2\u023b\u023c\7w\2\2\u023c\u023d"+ + "\7r\2\2\u023d\u023e\7g\2\2\u023e\u023f\7t\2\2\u023fR\3\2\2\2\u0240\u0241"+ + "\7u\2\2\u0241\u0242\7y\2\2\u0242\u0243\7k\2\2\u0243\u0244\7v\2\2\u0244"+ + "\u0245\7e\2\2\u0245\u0246\7j\2\2\u0246T\3\2\2\2\u0247\u0248\7u\2\2\u0248"+ + "\u0249\7{\2\2\u0249\u024a\7p\2\2\u024a\u024b\7e\2\2\u024b\u024c\7j\2\2"+ + "\u024c\u024d\7t\2\2\u024d\u024e\7q\2\2\u024e\u024f\7p\2\2\u024f\u0250"+ + "\7k\2\2\u0250\u0251\7|\2\2\u0251\u0252\7g\2\2\u0252\u0253\7f\2\2\u0253"+ + "V\3\2\2\2\u0254\u0255\7v\2\2\u0255\u0256\7j\2\2\u0256\u0257\7k\2\2\u0257"+ + "\u0258\7u\2\2\u0258X\3\2\2\2\u0259\u025a\7v\2\2\u025a\u025b\7j\2\2\u025b"+ + "\u025c\7t\2\2\u025c\u025d\7q\2\2\u025d\u025e\7y\2\2\u025eZ\3\2\2\2\u025f"+ + "\u0260\7v\2\2\u0260\u0261\7j\2\2\u0261\u0262\7t\2\2\u0262\u0263\7q\2\2"+ + "\u0263\u0264\7y\2\2\u0264\u0265\7u\2\2\u0265\\\3\2\2\2\u0266\u0267\7v"+ + "\2\2\u0267\u0268\7t\2\2\u0268\u0269\7c\2\2\u0269\u026a\7p\2\2\u026a\u026b"+ + "\7u\2\2\u026b\u026c\7k\2\2\u026c\u026d\7g\2\2\u026d\u026e\7p\2\2\u026e"+ + "\u026f\7v\2\2\u026f^\3\2\2\2\u0270\u0271\7v\2\2\u0271\u0272\7t\2\2\u0272"+ + "\u0273\7{\2\2\u0273`\3\2\2\2\u0274\u0275\7x\2\2\u0275\u0276\7q\2\2\u0276"+ + "\u0277\7k\2\2\u0277\u0278\7f\2\2\u0278b\3\2\2\2\u0279\u027a\7x\2\2\u027a"+ + "\u027b\7q\2\2\u027b\u027c\7n\2\2\u027c\u027d\7c\2\2\u027d\u027e\7v\2\2"+ + "\u027e\u027f\7k\2\2\u027f\u0280\7n\2\2\u0280\u0281\7g\2\2\u0281d\3\2\2"+ + "\2\u0282\u0283\7y\2\2\u0283\u0284\7j\2\2\u0284\u0285\7k\2\2\u0285\u0286"+ + "\7n\2\2\u0286\u0287\7g\2\2\u0287f\3\2\2\2\u0288\u028d\5i\65\2\u0289\u028d"+ + "\5k\66\2\u028a\u028d\5m\67\2\u028b\u028d\5o8\2\u028c\u0288\3\2\2\2\u028c"+ + "\u0289\3\2\2\2\u028c\u028a\3\2\2\2\u028c\u028b\3\2\2\2\u028dh\3\2\2\2"+ + "\u028e\u0290\5s:\2\u028f\u0291\5q9\2\u0290\u028f\3\2\2\2\u0290\u0291\3"+ + "\2\2\2\u0291j\3\2\2\2\u0292\u0294\5\u0081A\2\u0293\u0295\5q9\2\u0294\u0293"+ + "\3\2\2\2\u0294\u0295\3\2\2\2\u0295l\3\2\2\2\u0296\u0298\5\u008bF\2\u0297"+ + "\u0299\5q9\2\u0298\u0297\3\2\2\2\u0298\u0299\3\2\2\2\u0299n\3\2\2\2\u029a"+ + "\u029c\5\u0095K\2\u029b\u029d\5q9\2\u029c\u029b\3\2\2\2\u029c\u029d\3"+ + "\2\2\2\u029dp\3\2\2\2\u029e\u029f\t\2\2\2\u029fr\3\2\2\2\u02a0\u02ab\7"+ + "\62\2\2\u02a1\u02a8\5y=\2\u02a2\u02a4\5u;\2\u02a3\u02a2\3\2\2\2\u02a3"+ + "\u02a4\3\2\2\2\u02a4\u02a9\3\2\2\2\u02a5\u02a6\5\177@\2\u02a6\u02a7\5"+ + "u;\2\u02a7\u02a9\3\2\2\2\u02a8\u02a3\3\2\2\2\u02a8\u02a5\3\2\2\2\u02a9"+ + "\u02ab\3\2\2\2\u02aa\u02a0\3\2\2\2\u02aa\u02a1\3\2\2\2\u02abt\3\2\2\2"+ + "\u02ac\u02b1\5w<\2\u02ad\u02af\5{>\2\u02ae\u02ad\3\2\2\2\u02ae\u02af\3"+ + "\2\2\2\u02af\u02b0\3\2\2\2\u02b0\u02b2\5w<\2\u02b1\u02ae\3\2\2\2\u02b1"+ + "\u02b2\3\2\2\2\u02b2v\3\2\2\2\u02b3\u02b6\7\62\2\2\u02b4\u02b6\5y=\2\u02b5"+ + "\u02b3\3\2\2\2\u02b5\u02b4\3\2\2\2\u02b6x\3\2\2\2\u02b7\u02b8\t\3\2\2"+ + "\u02b8z\3\2\2\2\u02b9\u02bb\5}?\2\u02ba\u02b9\3\2\2\2\u02bb\u02bc\3\2"+ + "\2\2\u02bc\u02ba\3\2\2\2\u02bc\u02bd\3\2\2\2\u02bd|\3\2\2\2\u02be\u02c1"+ + "\5w<\2\u02bf\u02c1\7a\2\2\u02c0\u02be\3\2\2\2\u02c0\u02bf\3\2\2\2\u02c1"+ + "~\3\2\2\2\u02c2\u02c4\7a\2\2\u02c3\u02c2\3\2\2\2\u02c4\u02c5\3\2\2\2\u02c5"+ + "\u02c3\3\2\2\2\u02c5\u02c6\3\2\2\2\u02c6\u0080\3\2\2\2\u02c7\u02c8\7\62"+ + "\2\2\u02c8\u02c9\t\4\2\2\u02c9\u02ca\5\u0083B\2\u02ca\u0082\3\2\2\2\u02cb"+ + "\u02d0\5\u0085C\2\u02cc\u02ce\5\u0087D\2\u02cd\u02cc\3\2\2\2\u02cd\u02ce"+ + "\3\2\2\2\u02ce\u02cf\3\2\2\2\u02cf\u02d1\5\u0085C\2\u02d0\u02cd\3\2\2"+ + "\2\u02d0\u02d1\3\2\2\2\u02d1\u0084\3\2\2\2\u02d2\u02d3\t\5\2\2\u02d3\u0086"+ + "\3\2\2\2\u02d4\u02d6\5\u0089E\2\u02d5\u02d4\3\2\2\2\u02d6\u02d7\3\2\2"+ + "\2\u02d7\u02d5\3\2\2\2\u02d7\u02d8\3\2\2\2\u02d8\u0088\3\2\2\2\u02d9\u02dc"+ + "\5\u0085C\2\u02da\u02dc\7a\2\2\u02db\u02d9\3\2\2\2\u02db\u02da\3\2\2\2"+ + "\u02dc\u008a\3\2\2\2\u02dd\u02df\7\62\2\2\u02de\u02e0\5\177@\2\u02df\u02de"+ + "\3\2\2\2\u02df\u02e0\3\2\2\2\u02e0\u02e1\3\2\2\2\u02e1\u02e2\5\u008dG"+ + "\2\u02e2\u008c\3\2\2\2\u02e3\u02e8\5\u008fH\2\u02e4\u02e6\5\u0091I\2\u02e5"+ + "\u02e4\3\2\2\2\u02e5\u02e6\3\2\2\2\u02e6\u02e7\3\2\2\2\u02e7\u02e9\5\u008f"+ + "H\2\u02e8\u02e5\3\2\2\2\u02e8\u02e9\3\2\2\2\u02e9\u008e\3\2\2\2\u02ea"+ + "\u02eb\t\6\2\2\u02eb\u0090\3\2\2\2\u02ec\u02ee\5\u0093J\2\u02ed\u02ec"+ + "\3\2\2\2\u02ee\u02ef\3\2\2\2\u02ef\u02ed\3\2\2\2\u02ef\u02f0\3\2\2\2\u02f0"+ + "\u0092\3\2\2\2\u02f1\u02f4\5\u008fH\2\u02f2\u02f4\7a\2\2\u02f3\u02f1\3"+ + "\2\2\2\u02f3\u02f2\3\2\2\2\u02f4\u0094\3\2\2\2\u02f5\u02f6\7\62\2\2\u02f6"+ + "\u02f7\t\7\2\2\u02f7\u02f8\5\u0097L\2\u02f8\u0096\3\2\2\2\u02f9\u02fe"+ + "\5\u0099M\2\u02fa\u02fc\5\u009bN\2\u02fb\u02fa\3\2\2\2\u02fb\u02fc\3\2"+ + "\2\2\u02fc\u02fd\3\2\2\2\u02fd\u02ff\5\u0099M\2\u02fe\u02fb\3\2\2\2\u02fe"+ + "\u02ff\3\2\2\2\u02ff\u0098\3\2\2\2\u0300\u0301\t\b\2\2\u0301\u009a\3\2"+ + "\2\2\u0302\u0304\5\u009dO\2\u0303\u0302\3\2\2\2\u0304\u0305\3\2\2\2\u0305"+ + "\u0303\3\2\2\2\u0305\u0306\3\2\2\2\u0306\u009c\3\2\2\2\u0307\u030a\5\u0099"+ + "M\2\u0308\u030a\7a\2\2\u0309\u0307\3\2\2\2\u0309\u0308\3\2\2\2\u030a\u009e"+ + "\3\2\2\2\u030b\u030e\5\u00a1Q\2\u030c\u030e\5\u00adW\2\u030d\u030b\3\2"+ + "\2\2\u030d\u030c\3\2\2\2\u030e\u00a0\3\2\2\2\u030f\u0310\5u;\2\u0310\u0312"+ + "\7\60\2\2\u0311\u0313\5u;\2\u0312\u0311\3\2\2\2\u0312\u0313\3\2\2\2\u0313"+ + "\u0315\3\2\2\2\u0314\u0316\5\u00a3R\2\u0315\u0314\3\2\2\2\u0315\u0316"+ + "\3\2\2\2\u0316\u0318\3\2\2\2\u0317\u0319\5\u00abV\2\u0318\u0317\3\2\2"+ + "\2\u0318\u0319\3\2\2\2\u0319\u032b\3\2\2\2\u031a\u031b\7\60\2\2\u031b"+ + "\u031d\5u;\2\u031c\u031e\5\u00a3R\2\u031d\u031c\3\2\2\2\u031d\u031e\3"+ + "\2\2\2\u031e\u0320\3\2\2\2\u031f\u0321\5\u00abV\2\u0320\u031f\3\2\2\2"+ + "\u0320\u0321\3\2\2\2\u0321\u032b\3\2\2\2\u0322\u0323\5u;\2\u0323\u0325"+ + "\5\u00a3R\2\u0324\u0326\5\u00abV\2\u0325\u0324\3\2\2\2\u0325\u0326\3\2"+ + "\2\2\u0326\u032b\3\2\2\2\u0327\u0328\5u;\2\u0328\u0329\5\u00abV\2\u0329"+ + "\u032b\3\2\2\2\u032a\u030f\3\2\2\2\u032a\u031a\3\2\2\2\u032a\u0322\3\2"+ + "\2\2\u032a\u0327\3\2\2\2\u032b\u00a2\3\2\2\2\u032c\u032d\5\u00a5S\2\u032d"+ + "\u032e\5\u00a7T\2\u032e\u00a4\3\2\2\2\u032f\u0330\t\t\2\2\u0330\u00a6"+ + "\3\2\2\2\u0331\u0333\5\u00a9U\2\u0332\u0331\3\2\2\2\u0332\u0333\3\2\2"+ + "\2\u0333\u0334\3\2\2\2\u0334\u0335\5u;\2\u0335\u00a8\3\2\2\2\u0336\u0337"+ + "\t\n\2\2\u0337\u00aa\3\2\2\2\u0338\u0339\t\13\2\2\u0339\u00ac\3\2\2\2"+ + "\u033a\u033b\5\u00afX\2\u033b\u033d\5\u00b1Y\2\u033c\u033e\5\u00abV\2"+ + "\u033d\u033c\3\2\2\2\u033d\u033e\3\2\2\2\u033e\u00ae\3\2\2\2\u033f\u0341"+ + "\5\u0081A\2\u0340\u0342\7\60\2\2\u0341\u0340\3\2\2\2\u0341\u0342\3\2\2"+ + "\2\u0342\u034b\3\2\2\2\u0343\u0344\7\62\2\2\u0344\u0346\t\4\2\2\u0345"+ + "\u0347\5\u0083B\2\u0346\u0345\3\2\2\2\u0346\u0347\3\2\2\2\u0347\u0348"+ + "\3\2\2\2\u0348\u0349\7\60\2\2\u0349\u034b\5\u0083B\2\u034a\u033f\3\2\2"+ + "\2\u034a\u0343\3\2\2\2\u034b\u00b0\3\2\2\2\u034c\u034d\5\u00b3Z\2\u034d"+ + "\u034e\5\u00a7T\2\u034e\u00b2\3\2\2\2\u034f\u0350\t\f\2\2\u0350\u00b4"+ + "\3\2\2\2\u0351\u0352\7v\2\2\u0352\u0353\7t\2\2\u0353\u0354\7w\2\2\u0354"+ + "\u035b\7g\2\2\u0355\u0356\7h\2\2\u0356\u0357\7c\2\2\u0357\u0358\7n\2\2"+ + "\u0358\u0359\7u\2\2\u0359\u035b\7g\2\2\u035a\u0351\3\2\2\2\u035a\u0355"+ + "\3\2\2\2\u035b\u00b6\3\2\2\2\u035c\u035d\7)\2\2\u035d\u035e\5\u00b9]\2"+ + "\u035e\u035f\7)\2\2\u035f\u0365\3\2\2\2\u0360\u0361\7)\2\2\u0361\u0362"+ + "\5\u00c1a\2\u0362\u0363\7)\2\2\u0363\u0365\3\2\2\2\u0364\u035c\3\2\2\2"+ + "\u0364\u0360\3\2\2\2\u0365\u00b8\3\2\2\2\u0366\u0367\n\r\2\2\u0367\u00ba"+ + "\3\2\2\2\u0368\u036a\7$\2\2\u0369\u036b\5\u00bd_\2\u036a\u0369\3\2\2\2"+ + "\u036a\u036b\3\2\2\2\u036b\u036c\3\2\2\2\u036c\u036d\7$\2\2\u036d\u00bc"+ + "\3\2\2\2\u036e\u0370\5\u00bf`\2\u036f\u036e\3\2\2\2\u0370\u0371\3\2\2"+ + "\2\u0371\u036f\3\2\2\2\u0371\u0372\3\2\2\2\u0372\u00be\3\2\2\2\u0373\u0376"+ + "\n\16\2\2\u0374\u0376\5\u00c1a\2\u0375\u0373\3\2\2\2\u0375\u0374\3\2\2"+ + "\2\u0376\u00c0\3\2\2\2\u0377\u0378\7^\2\2\u0378\u037c\t\17\2\2\u0379\u037c"+ + "\5\u00c3b\2\u037a\u037c\5\u00c7d\2\u037b\u0377\3\2\2\2\u037b\u0379\3\2"+ + "\2\2\u037b\u037a\3\2\2\2\u037c\u00c2\3\2\2\2\u037d\u037e\7^\2\2\u037e"+ + "\u0389\5\u008fH\2\u037f\u0380\7^\2\2\u0380\u0381\5\u008fH\2\u0381\u0382"+ + "\5\u008fH\2\u0382\u0389\3\2\2\2\u0383\u0384\7^\2\2\u0384\u0385\5\u00c5"+ + "c\2\u0385\u0386\5\u008fH\2\u0386\u0387\5\u008fH\2\u0387\u0389\3\2\2\2"+ + "\u0388\u037d\3\2\2\2\u0388\u037f\3\2\2\2\u0388\u0383\3\2\2\2\u0389\u00c4"+ + "\3\2\2\2\u038a\u038b\t\20\2\2\u038b\u00c6\3\2\2\2\u038c\u038d\7^\2\2\u038d"+ + "\u038e\7w\2\2\u038e\u038f\5\u0085C\2\u038f\u0390\5\u0085C\2\u0390\u0391"+ + "\5\u0085C\2\u0391\u0392\5\u0085C\2\u0392\u00c8\3\2\2\2\u0393\u0394\7p"+ + "\2\2\u0394\u0395\7w\2\2\u0395\u0396\7n\2\2\u0396\u0397\7n\2\2\u0397\u00ca"+ + "\3\2\2\2\u0398\u0399\7*\2\2\u0399\u00cc\3\2\2\2\u039a\u039b\7+\2\2\u039b"+ + "\u00ce\3\2\2\2\u039c\u039d\7}\2\2\u039d\u00d0\3\2\2\2\u039e\u039f\7\177"+ + "\2\2\u039f\u00d2\3\2\2\2\u03a0\u03a1\7]\2\2\u03a1\u00d4\3\2\2\2\u03a2"+ + "\u03a3\7_\2\2\u03a3\u00d6\3\2\2\2\u03a4\u03a5\7=\2\2\u03a5\u00d8\3\2\2"+ + "\2\u03a6\u03a7\7.\2\2\u03a7\u00da\3\2\2\2\u03a8\u03a9\7\60\2\2\u03a9\u00dc"+ + "\3\2\2\2\u03aa\u03ab\7?\2\2\u03ab\u00de\3\2\2\2\u03ac\u03ad\7@\2\2\u03ad"+ + "\u00e0\3\2\2\2\u03ae\u03af\7>\2\2\u03af\u00e2\3\2\2\2\u03b0\u03b1\7#\2"+ + "\2\u03b1\u00e4\3\2\2\2\u03b2\u03b3\7\u0080\2\2\u03b3\u00e6\3\2\2\2\u03b4"+ + "\u03b5\7A\2\2\u03b5\u00e8\3\2\2\2\u03b6\u03b7\7<\2\2\u03b7\u00ea\3\2\2"+ + "\2\u03b8\u03b9\7?\2\2\u03b9\u03ba\7?\2\2\u03ba\u00ec\3\2\2\2\u03bb\u03bc"+ + "\7>\2\2\u03bc\u03bd\7?\2\2\u03bd\u00ee\3\2\2\2\u03be\u03bf\7@\2\2\u03bf"+ + "\u03c0\7?\2\2\u03c0\u00f0\3\2\2\2\u03c1\u03c2\7#\2\2\u03c2\u03c3\7?\2"+ + "\2\u03c3\u00f2\3\2\2\2\u03c4\u03c5\7(\2\2\u03c5\u03c6\7(\2\2\u03c6\u00f4"+ + "\3\2\2\2\u03c7\u03c8\7~\2\2\u03c8\u03c9\7~\2\2\u03c9\u00f6\3\2\2\2\u03ca"+ + "\u03cb\7-\2\2\u03cb\u03cc\7-\2\2\u03cc\u00f8\3\2\2\2\u03cd\u03ce\7/\2"+ + "\2\u03ce\u03cf\7/\2\2\u03cf\u00fa\3\2\2\2\u03d0\u03d1\7-\2\2\u03d1\u00fc"+ + "\3\2\2\2\u03d2\u03d3\7/\2\2\u03d3\u00fe\3\2\2\2\u03d4\u03d5\7,\2\2\u03d5"+ + "\u0100\3\2\2\2\u03d6\u03d7\7\61\2\2\u03d7\u0102\3\2\2\2\u03d8\u03d9\7"+ + "(\2\2\u03d9\u0104\3\2\2\2\u03da\u03db\7~\2\2\u03db\u0106\3\2\2\2\u03dc"+ + "\u03dd\7`\2\2\u03dd\u0108\3\2\2\2\u03de\u03df\7\'\2\2\u03df\u010a\3\2"+ + "\2\2\u03e0\u03e1\7/\2\2\u03e1\u03e2\7@\2\2\u03e2\u010c\3\2\2\2\u03e3\u03e4"+ + "\7<\2\2\u03e4\u03e5\7<\2\2\u03e5\u010e\3\2\2\2\u03e6\u03e7\7-\2\2\u03e7"+ + "\u03e8\7?\2\2\u03e8\u0110\3\2\2\2\u03e9\u03ea\7/\2\2\u03ea\u03eb\7?\2"+ + "\2\u03eb\u0112\3\2\2\2\u03ec\u03ed\7,\2\2\u03ed\u03ee\7?\2\2\u03ee\u0114"+ + "\3\2\2\2\u03ef\u03f0\7\61\2\2\u03f0\u03f1\7?\2\2\u03f1\u0116\3\2\2\2\u03f2"+ + "\u03f3\7(\2\2\u03f3\u03f4\7?\2\2\u03f4\u0118\3\2\2\2\u03f5\u03f6\7~\2"+ + "\2\u03f6\u03f7\7?\2\2\u03f7\u011a\3\2\2\2\u03f8\u03f9\7`\2\2\u03f9\u03fa"+ + "\7?\2\2\u03fa\u011c\3\2\2\2\u03fb\u03fc\7\'\2\2\u03fc\u03fd\7?\2\2\u03fd"+ + "\u011e\3\2\2\2\u03fe\u03ff\7>\2\2\u03ff\u0400\7>\2\2\u0400\u0401\7?\2"+ + "\2\u0401\u0120\3\2\2\2\u0402\u0403\7@\2\2\u0403\u0404\7@\2\2\u0404\u0405"+ + "\7?\2\2\u0405\u0122\3\2\2\2\u0406\u0407\7@\2\2\u0407\u0408\7@\2\2\u0408"+ + "\u0409\7@\2\2\u0409\u040a\7?\2\2\u040a\u0124\3\2\2\2\u040b\u040f\5\u0127"+ + "\u0094\2\u040c\u040e\5\u0129\u0095\2\u040d\u040c\3\2\2\2\u040e\u0411\3"+ + "\2\2\2\u040f\u040d\3\2\2\2\u040f\u0410\3\2\2\2\u0410\u0126\3\2\2\2\u0411"+ + "\u040f\3\2\2\2\u0412\u0419\t\21\2\2\u0413\u0414\n\22\2\2\u0414\u0419\6"+ + "\u0094\2\2\u0415\u0416\t\23\2\2\u0416\u0417\t\24\2\2\u0417\u0419\6\u0094"+ + "\3\2\u0418\u0412\3\2\2\2\u0418\u0413\3\2\2\2\u0418\u0415\3\2\2\2\u0419"+ + "\u0128\3\2\2\2\u041a\u0421\t\25\2\2\u041b\u041c\n\22\2\2\u041c\u0421\6"+ + "\u0095\4\2\u041d\u041e\t\23\2\2\u041e\u041f\t\24\2\2\u041f\u0421\6\u0095"+ + "\5\2\u0420\u041a\3\2\2\2\u0420\u041b\3\2\2\2\u0420\u041d\3\2\2\2\u0421"+ + "\u012a\3\2\2\2\u0422\u0423\7B\2\2\u0423\u012c\3\2\2\2\u0424\u0425\7\60"+ + "\2\2\u0425\u0426\7\60\2\2\u0426\u0427\7\60\2\2\u0427\u012e\3\2\2\2\u0428"+ + "\u042a\t\26\2\2\u0429\u0428\3\2\2\2\u042a\u042b\3\2\2\2\u042b\u0429\3"+ + "\2\2\2\u042b\u042c\3\2\2\2\u042c\u042d\3\2\2\2\u042d\u042e\b\u0098\2\2"+ + "\u042e\u0130\3\2\2\2\u042f\u0430\7\61\2\2\u0430\u0431\7,\2\2\u0431\u0435"+ + "\3\2\2\2\u0432\u0434\13\2\2\2\u0433\u0432\3\2\2\2\u0434\u0437\3\2\2\2"+ + "\u0435\u0436\3\2\2\2\u0435\u0433\3\2\2\2\u0436\u0438\3\2\2\2\u0437\u0435"+ + "\3\2\2\2\u0438\u0439\7,\2\2\u0439\u043a\7\61\2\2\u043a\u043b\3\2\2\2\u043b"+ + "\u043c\b\u0099\2\2\u043c\u0132\3\2\2\2\u043d\u043e\7\61\2\2\u043e\u043f"+ + "\7\61\2\2\u043f\u0443\3\2\2\2\u0440\u0442\n\27\2\2\u0441\u0440\3\2\2\2"+ + "\u0442\u0445\3\2\2\2\u0443\u0441\3\2\2\2\u0443\u0444\3\2\2\2\u0444\u0446"+ + "\3\2\2\2\u0445\u0443\3\2\2\2\u0446\u0447\b\u009a\2\2\u0447\u0134\3\2\2"+ + "\28\2\u028c\u0290\u0294\u0298\u029c\u02a3\u02a8\u02aa\u02ae\u02b1\u02b5"+ + "\u02bc\u02c0\u02c5\u02cd\u02d0\u02d7\u02db\u02df\u02e5\u02e8\u02ef\u02f3"+ + "\u02fb\u02fe\u0305\u0309\u030d\u0312\u0315\u0318\u031d\u0320\u0325\u032a"+ + "\u0332\u033d\u0341\u0346\u034a\u035a\u0364\u036a\u0371\u0375\u037b\u0388"+ + "\u040f\u0418\u0420\u042b\u0435\u0443\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/Java8Lexer.tokens b/src/de/dhbwstuttgart/parser/Java8Lexer.tokens new file mode 100644 index 00000000..52ef1eee --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8Lexer.tokens @@ -0,0 +1,205 @@ +ABSTRACT=1 +ASSERT=2 +BOOLEAN=3 +BREAK=4 +BYTE=5 +CASE=6 +CATCH=7 +CHAR=8 +CLASS=9 +CONST=10 +CONTINUE=11 +DEFAULT=12 +DO=13 +DOUBLE=14 +ELSE=15 +ENUM=16 +EXTENDS=17 +FINAL=18 +FINALLY=19 +FLOAT=20 +FOR=21 +IF=22 +GOTO=23 +IMPLEMENTS=24 +IMPORT=25 +INSTANCEOF=26 +INT=27 +INTERFACE=28 +LONG=29 +NATIVE=30 +NEW=31 +PACKAGE=32 +PRIVATE=33 +PROTECTED=34 +PUBLIC=35 +RETURN=36 +SHORT=37 +STATIC=38 +STRICTFP=39 +SUPER=40 +SWITCH=41 +SYNCHRONIZED=42 +THIS=43 +THROW=44 +THROWS=45 +TRANSIENT=46 +TRY=47 +VOID=48 +VOLATILE=49 +WHILE=50 +IntegerLiteral=51 +FloatingPointLiteral=52 +BooleanLiteral=53 +CharacterLiteral=54 +StringLiteral=55 +NullLiteral=56 +LPAREN=57 +RPAREN=58 +LBRACE=59 +RBRACE=60 +LBRACK=61 +RBRACK=62 +SEMI=63 +COMMA=64 +DOT=65 +ASSIGN=66 +GT=67 +LT=68 +BANG=69 +TILDE=70 +QUESTION=71 +COLON=72 +EQUAL=73 +LE=74 +GE=75 +NOTEQUAL=76 +AND=77 +OR=78 +INC=79 +DEC=80 +ADD=81 +SUB=82 +MUL=83 +DIV=84 +BITAND=85 +BITOR=86 +CARET=87 +MOD=88 +ARROW=89 +COLONCOLON=90 +ADD_ASSIGN=91 +SUB_ASSIGN=92 +MUL_ASSIGN=93 +DIV_ASSIGN=94 +AND_ASSIGN=95 +OR_ASSIGN=96 +XOR_ASSIGN=97 +MOD_ASSIGN=98 +LSHIFT_ASSIGN=99 +RSHIFT_ASSIGN=100 +URSHIFT_ASSIGN=101 +Identifier=102 +AT=103 +ELLIPSIS=104 +WS=105 +COMMENT=106 +LINE_COMMENT=107 +'abstract'=1 +'assert'=2 +'boolean'=3 +'break'=4 +'byte'=5 +'case'=6 +'catch'=7 +'char'=8 +'class'=9 +'const'=10 +'continue'=11 +'default'=12 +'do'=13 +'double'=14 +'else'=15 +'enum'=16 +'extends'=17 +'final'=18 +'finally'=19 +'float'=20 +'for'=21 +'if'=22 +'goto'=23 +'implements'=24 +'import'=25 +'instanceof'=26 +'int'=27 +'interface'=28 +'long'=29 +'native'=30 +'new'=31 +'package'=32 +'private'=33 +'protected'=34 +'public'=35 +'return'=36 +'short'=37 +'static'=38 +'strictfp'=39 +'super'=40 +'switch'=41 +'synchronized'=42 +'this'=43 +'throw'=44 +'throws'=45 +'transient'=46 +'try'=47 +'void'=48 +'volatile'=49 +'while'=50 +'null'=56 +'('=57 +')'=58 +'{'=59 +'}'=60 +'['=61 +']'=62 +';'=63 +','=64 +'.'=65 +'='=66 +'>'=67 +'<'=68 +'!'=69 +'~'=70 +'?'=71 +':'=72 +'=='=73 +'<='=74 +'>='=75 +'!='=76 +'&&'=77 +'||'=78 +'++'=79 +'--'=80 +'+'=81 +'-'=82 +'*'=83 +'/'=84 +'&'=85 +'|'=86 +'^'=87 +'%'=88 +'->'=89 +'::'=90 +'+='=91 +'-='=92 +'*='=93 +'/='=94 +'&='=95 +'|='=96 +'^='=97 +'%='=98 +'<<='=99 +'>>='=100 +'>>>='=101 +'@'=103 +'...'=104 diff --git a/src/de/dhbwstuttgart/parser/Java8Listener.java b/src/de/dhbwstuttgart/parser/Java8Listener.java new file mode 100644 index 00000000..1735666c --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8Listener.java @@ -0,0 +1,2379 @@ +// Generated from Java8.g4 by ANTLR 4.5.3 +import org.antlr.v4.runtime.tree.ParseTreeListener; + +/** + * This interface defines a complete listener for a parse tree produced by + * {@link Java8Parser}. + */ +public interface Java8Listener extends ParseTreeListener { + /** + * Enter a parse tree produced by {@link Java8Parser#literal}. + * @param ctx the parse tree + */ + void enterLiteral(Java8Parser.LiteralContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#literal}. + * @param ctx the parse tree + */ + void exitLiteral(Java8Parser.LiteralContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#type}. + * @param ctx the parse tree + */ + void enterType(Java8Parser.TypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#type}. + * @param ctx the parse tree + */ + void exitType(Java8Parser.TypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primitiveType}. + * @param ctx the parse tree + */ + void enterPrimitiveType(Java8Parser.PrimitiveTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primitiveType}. + * @param ctx the parse tree + */ + void exitPrimitiveType(Java8Parser.PrimitiveTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#numericType}. + * @param ctx the parse tree + */ + void enterNumericType(Java8Parser.NumericTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#numericType}. + * @param ctx the parse tree + */ + void exitNumericType(Java8Parser.NumericTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#integralType}. + * @param ctx the parse tree + */ + void enterIntegralType(Java8Parser.IntegralTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#integralType}. + * @param ctx the parse tree + */ + void exitIntegralType(Java8Parser.IntegralTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#floatingPointType}. + * @param ctx the parse tree + */ + void enterFloatingPointType(Java8Parser.FloatingPointTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#floatingPointType}. + * @param ctx the parse tree + */ + void exitFloatingPointType(Java8Parser.FloatingPointTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#referenceType}. + * @param ctx the parse tree + */ + void enterReferenceType(Java8Parser.ReferenceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#referenceType}. + * @param ctx the parse tree + */ + void exitReferenceType(Java8Parser.ReferenceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classOrInterfaceType}. + * @param ctx the parse tree + */ + void enterClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classOrInterfaceType}. + * @param ctx the parse tree + */ + void exitClassOrInterfaceType(Java8Parser.ClassOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classType}. + * @param ctx the parse tree + */ + void enterClassType(Java8Parser.ClassTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classType}. + * @param ctx the parse tree + */ + void exitClassType(Java8Parser.ClassTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classType_lf_classOrInterfaceType}. + * @param ctx the parse tree + */ + void enterClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classType_lf_classOrInterfaceType}. + * @param ctx the parse tree + */ + void exitClassType_lf_classOrInterfaceType(Java8Parser.ClassType_lf_classOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classType_lfno_classOrInterfaceType}. + * @param ctx the parse tree + */ + void enterClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classType_lfno_classOrInterfaceType}. + * @param ctx the parse tree + */ + void exitClassType_lfno_classOrInterfaceType(Java8Parser.ClassType_lfno_classOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceType}. + * @param ctx the parse tree + */ + void enterInterfaceType(Java8Parser.InterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceType}. + * @param ctx the parse tree + */ + void exitInterfaceType(Java8Parser.InterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceType_lf_classOrInterfaceType}. + * @param ctx the parse tree + */ + void enterInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceType_lf_classOrInterfaceType}. + * @param ctx the parse tree + */ + void exitInterfaceType_lf_classOrInterfaceType(Java8Parser.InterfaceType_lf_classOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceType_lfno_classOrInterfaceType}. + * @param ctx the parse tree + */ + void enterInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceType_lfno_classOrInterfaceType}. + * @param ctx the parse tree + */ + void exitInterfaceType_lfno_classOrInterfaceType(Java8Parser.InterfaceType_lfno_classOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeVariable}. + * @param ctx the parse tree + */ + void enterTypeVariable(Java8Parser.TypeVariableContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeVariable}. + * @param ctx the parse tree + */ + void exitTypeVariable(Java8Parser.TypeVariableContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#arrayType}. + * @param ctx the parse tree + */ + void enterArrayType(Java8Parser.ArrayTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#arrayType}. + * @param ctx the parse tree + */ + void exitArrayType(Java8Parser.ArrayTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#dims}. + * @param ctx the parse tree + */ + void enterDims(Java8Parser.DimsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#dims}. + * @param ctx the parse tree + */ + void exitDims(Java8Parser.DimsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeParameter}. + * @param ctx the parse tree + */ + void enterTypeParameter(Java8Parser.TypeParameterContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeParameter}. + * @param ctx the parse tree + */ + void exitTypeParameter(Java8Parser.TypeParameterContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeParameterModifier}. + * @param ctx the parse tree + */ + void enterTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeParameterModifier}. + * @param ctx the parse tree + */ + void exitTypeParameterModifier(Java8Parser.TypeParameterModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeBound}. + * @param ctx the parse tree + */ + void enterTypeBound(Java8Parser.TypeBoundContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeBound}. + * @param ctx the parse tree + */ + void exitTypeBound(Java8Parser.TypeBoundContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#additionalBound}. + * @param ctx the parse tree + */ + void enterAdditionalBound(Java8Parser.AdditionalBoundContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#additionalBound}. + * @param ctx the parse tree + */ + void exitAdditionalBound(Java8Parser.AdditionalBoundContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeArguments}. + * @param ctx the parse tree + */ + void enterTypeArguments(Java8Parser.TypeArgumentsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeArguments}. + * @param ctx the parse tree + */ + void exitTypeArguments(Java8Parser.TypeArgumentsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeArgumentList}. + * @param ctx the parse tree + */ + void enterTypeArgumentList(Java8Parser.TypeArgumentListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeArgumentList}. + * @param ctx the parse tree + */ + void exitTypeArgumentList(Java8Parser.TypeArgumentListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeArgument}. + * @param ctx the parse tree + */ + void enterTypeArgument(Java8Parser.TypeArgumentContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeArgument}. + * @param ctx the parse tree + */ + void exitTypeArgument(Java8Parser.TypeArgumentContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#wildcard}. + * @param ctx the parse tree + */ + void enterWildcard(Java8Parser.WildcardContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#wildcard}. + * @param ctx the parse tree + */ + void exitWildcard(Java8Parser.WildcardContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#wildcardBounds}. + * @param ctx the parse tree + */ + void enterWildcardBounds(Java8Parser.WildcardBoundsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#wildcardBounds}. + * @param ctx the parse tree + */ + void exitWildcardBounds(Java8Parser.WildcardBoundsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#packageName}. + * @param ctx the parse tree + */ + void enterPackageName(Java8Parser.PackageNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#packageName}. + * @param ctx the parse tree + */ + void exitPackageName(Java8Parser.PackageNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeName}. + * @param ctx the parse tree + */ + void enterTypeName(Java8Parser.TypeNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeName}. + * @param ctx the parse tree + */ + void exitTypeName(Java8Parser.TypeNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#packageOrTypeName}. + * @param ctx the parse tree + */ + void enterPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#packageOrTypeName}. + * @param ctx the parse tree + */ + void exitPackageOrTypeName(Java8Parser.PackageOrTypeNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#expressionName}. + * @param ctx the parse tree + */ + void enterExpressionName(Java8Parser.ExpressionNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#expressionName}. + * @param ctx the parse tree + */ + void exitExpressionName(Java8Parser.ExpressionNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodName}. + * @param ctx the parse tree + */ + void enterMethodName(Java8Parser.MethodNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodName}. + * @param ctx the parse tree + */ + void exitMethodName(Java8Parser.MethodNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#ambiguousName}. + * @param ctx the parse tree + */ + void enterAmbiguousName(Java8Parser.AmbiguousNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#ambiguousName}. + * @param ctx the parse tree + */ + void exitAmbiguousName(Java8Parser.AmbiguousNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#compilationUnit}. + * @param ctx the parse tree + */ + void enterCompilationUnit(Java8Parser.CompilationUnitContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#compilationUnit}. + * @param ctx the parse tree + */ + void exitCompilationUnit(Java8Parser.CompilationUnitContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#packageDeclaration}. + * @param ctx the parse tree + */ + void enterPackageDeclaration(Java8Parser.PackageDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#packageDeclaration}. + * @param ctx the parse tree + */ + void exitPackageDeclaration(Java8Parser.PackageDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#packageModifier}. + * @param ctx the parse tree + */ + void enterPackageModifier(Java8Parser.PackageModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#packageModifier}. + * @param ctx the parse tree + */ + void exitPackageModifier(Java8Parser.PackageModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#importDeclaration}. + * @param ctx the parse tree + */ + void enterImportDeclaration(Java8Parser.ImportDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#importDeclaration}. + * @param ctx the parse tree + */ + void exitImportDeclaration(Java8Parser.ImportDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#singleTypeImportDeclaration}. + * @param ctx the parse tree + */ + void enterSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#singleTypeImportDeclaration}. + * @param ctx the parse tree + */ + void exitSingleTypeImportDeclaration(Java8Parser.SingleTypeImportDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeImportOnDemandDeclaration}. + * @param ctx the parse tree + */ + void enterTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeImportOnDemandDeclaration}. + * @param ctx the parse tree + */ + void exitTypeImportOnDemandDeclaration(Java8Parser.TypeImportOnDemandDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#singleStaticImportDeclaration}. + * @param ctx the parse tree + */ + void enterSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#singleStaticImportDeclaration}. + * @param ctx the parse tree + */ + void exitSingleStaticImportDeclaration(Java8Parser.SingleStaticImportDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#staticImportOnDemandDeclaration}. + * @param ctx the parse tree + */ + void enterStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#staticImportOnDemandDeclaration}. + * @param ctx the parse tree + */ + void exitStaticImportOnDemandDeclaration(Java8Parser.StaticImportOnDemandDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeDeclaration}. + * @param ctx the parse tree + */ + void enterTypeDeclaration(Java8Parser.TypeDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeDeclaration}. + * @param ctx the parse tree + */ + void exitTypeDeclaration(Java8Parser.TypeDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classDeclaration}. + * @param ctx the parse tree + */ + void enterClassDeclaration(Java8Parser.ClassDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classDeclaration}. + * @param ctx the parse tree + */ + void exitClassDeclaration(Java8Parser.ClassDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#normalClassDeclaration}. + * @param ctx the parse tree + */ + void enterNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#normalClassDeclaration}. + * @param ctx the parse tree + */ + void exitNormalClassDeclaration(Java8Parser.NormalClassDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classModifier}. + * @param ctx the parse tree + */ + void enterClassModifier(Java8Parser.ClassModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classModifier}. + * @param ctx the parse tree + */ + void exitClassModifier(Java8Parser.ClassModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeParameters}. + * @param ctx the parse tree + */ + void enterTypeParameters(Java8Parser.TypeParametersContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeParameters}. + * @param ctx the parse tree + */ + void exitTypeParameters(Java8Parser.TypeParametersContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeParameterList}. + * @param ctx the parse tree + */ + void enterTypeParameterList(Java8Parser.TypeParameterListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeParameterList}. + * @param ctx the parse tree + */ + void exitTypeParameterList(Java8Parser.TypeParameterListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#superclass}. + * @param ctx the parse tree + */ + void enterSuperclass(Java8Parser.SuperclassContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#superclass}. + * @param ctx the parse tree + */ + void exitSuperclass(Java8Parser.SuperclassContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#superinterfaces}. + * @param ctx the parse tree + */ + void enterSuperinterfaces(Java8Parser.SuperinterfacesContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#superinterfaces}. + * @param ctx the parse tree + */ + void exitSuperinterfaces(Java8Parser.SuperinterfacesContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceTypeList}. + * @param ctx the parse tree + */ + void enterInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceTypeList}. + * @param ctx the parse tree + */ + void exitInterfaceTypeList(Java8Parser.InterfaceTypeListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classBody}. + * @param ctx the parse tree + */ + void enterClassBody(Java8Parser.ClassBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classBody}. + * @param ctx the parse tree + */ + void exitClassBody(Java8Parser.ClassBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classBodyDeclaration}. + * @param ctx the parse tree + */ + void enterClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classBodyDeclaration}. + * @param ctx the parse tree + */ + void exitClassBodyDeclaration(Java8Parser.ClassBodyDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classMemberDeclaration}. + * @param ctx the parse tree + */ + void enterClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classMemberDeclaration}. + * @param ctx the parse tree + */ + void exitClassMemberDeclaration(Java8Parser.ClassMemberDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#fieldDeclaration}. + * @param ctx the parse tree + */ + void enterFieldDeclaration(Java8Parser.FieldDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#fieldDeclaration}. + * @param ctx the parse tree + */ + void exitFieldDeclaration(Java8Parser.FieldDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#fieldModifier}. + * @param ctx the parse tree + */ + void enterFieldModifier(Java8Parser.FieldModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#fieldModifier}. + * @param ctx the parse tree + */ + void exitFieldModifier(Java8Parser.FieldModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#variableDeclaratorList}. + * @param ctx the parse tree + */ + void enterVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#variableDeclaratorList}. + * @param ctx the parse tree + */ + void exitVariableDeclaratorList(Java8Parser.VariableDeclaratorListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#variableDeclarator}. + * @param ctx the parse tree + */ + void enterVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#variableDeclarator}. + * @param ctx the parse tree + */ + void exitVariableDeclarator(Java8Parser.VariableDeclaratorContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#variableDeclaratorId}. + * @param ctx the parse tree + */ + void enterVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#variableDeclaratorId}. + * @param ctx the parse tree + */ + void exitVariableDeclaratorId(Java8Parser.VariableDeclaratorIdContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#variableInitializer}. + * @param ctx the parse tree + */ + void enterVariableInitializer(Java8Parser.VariableInitializerContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#variableInitializer}. + * @param ctx the parse tree + */ + void exitVariableInitializer(Java8Parser.VariableInitializerContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannType}. + * @param ctx the parse tree + */ + void enterUnannType(Java8Parser.UnannTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannType}. + * @param ctx the parse tree + */ + void exitUnannType(Java8Parser.UnannTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannPrimitiveType}. + * @param ctx the parse tree + */ + void enterUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannPrimitiveType}. + * @param ctx the parse tree + */ + void exitUnannPrimitiveType(Java8Parser.UnannPrimitiveTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannReferenceType}. + * @param ctx the parse tree + */ + void enterUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannReferenceType}. + * @param ctx the parse tree + */ + void exitUnannReferenceType(Java8Parser.UnannReferenceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void enterUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void exitUnannClassOrInterfaceType(Java8Parser.UnannClassOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannClassType}. + * @param ctx the parse tree + */ + void enterUnannClassType(Java8Parser.UnannClassTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannClassType}. + * @param ctx the parse tree + */ + void exitUnannClassType(Java8Parser.UnannClassTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannClassType_lf_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void enterUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannClassType_lf_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void exitUnannClassType_lf_unannClassOrInterfaceType(Java8Parser.UnannClassType_lf_unannClassOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannClassType_lfno_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void enterUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannClassType_lfno_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void exitUnannClassType_lfno_unannClassOrInterfaceType(Java8Parser.UnannClassType_lfno_unannClassOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannInterfaceType}. + * @param ctx the parse tree + */ + void enterUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannInterfaceType}. + * @param ctx the parse tree + */ + void exitUnannInterfaceType(Java8Parser.UnannInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannInterfaceType_lf_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void enterUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannInterfaceType_lf_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void exitUnannInterfaceType_lf_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lf_unannClassOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannInterfaceType_lfno_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void enterUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannInterfaceType_lfno_unannClassOrInterfaceType}. + * @param ctx the parse tree + */ + void exitUnannInterfaceType_lfno_unannClassOrInterfaceType(Java8Parser.UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannTypeVariable}. + * @param ctx the parse tree + */ + void enterUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannTypeVariable}. + * @param ctx the parse tree + */ + void exitUnannTypeVariable(Java8Parser.UnannTypeVariableContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unannArrayType}. + * @param ctx the parse tree + */ + void enterUnannArrayType(Java8Parser.UnannArrayTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unannArrayType}. + * @param ctx the parse tree + */ + void exitUnannArrayType(Java8Parser.UnannArrayTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodDeclaration}. + * @param ctx the parse tree + */ + void enterMethodDeclaration(Java8Parser.MethodDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodDeclaration}. + * @param ctx the parse tree + */ + void exitMethodDeclaration(Java8Parser.MethodDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodModifier}. + * @param ctx the parse tree + */ + void enterMethodModifier(Java8Parser.MethodModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodModifier}. + * @param ctx the parse tree + */ + void exitMethodModifier(Java8Parser.MethodModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodHeader}. + * @param ctx the parse tree + */ + void enterMethodHeader(Java8Parser.MethodHeaderContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodHeader}. + * @param ctx the parse tree + */ + void exitMethodHeader(Java8Parser.MethodHeaderContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#result}. + * @param ctx the parse tree + */ + void enterResult(Java8Parser.ResultContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#result}. + * @param ctx the parse tree + */ + void exitResult(Java8Parser.ResultContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodDeclarator}. + * @param ctx the parse tree + */ + void enterMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodDeclarator}. + * @param ctx the parse tree + */ + void exitMethodDeclarator(Java8Parser.MethodDeclaratorContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#formalParameterList}. + * @param ctx the parse tree + */ + void enterFormalParameterList(Java8Parser.FormalParameterListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#formalParameterList}. + * @param ctx the parse tree + */ + void exitFormalParameterList(Java8Parser.FormalParameterListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#formalParameters}. + * @param ctx the parse tree + */ + void enterFormalParameters(Java8Parser.FormalParametersContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#formalParameters}. + * @param ctx the parse tree + */ + void exitFormalParameters(Java8Parser.FormalParametersContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#formalParameter}. + * @param ctx the parse tree + */ + void enterFormalParameter(Java8Parser.FormalParameterContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#formalParameter}. + * @param ctx the parse tree + */ + void exitFormalParameter(Java8Parser.FormalParameterContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#variableModifier}. + * @param ctx the parse tree + */ + void enterVariableModifier(Java8Parser.VariableModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#variableModifier}. + * @param ctx the parse tree + */ + void exitVariableModifier(Java8Parser.VariableModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#lastFormalParameter}. + * @param ctx the parse tree + */ + void enterLastFormalParameter(Java8Parser.LastFormalParameterContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#lastFormalParameter}. + * @param ctx the parse tree + */ + void exitLastFormalParameter(Java8Parser.LastFormalParameterContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#receiverParameter}. + * @param ctx the parse tree + */ + void enterReceiverParameter(Java8Parser.ReceiverParameterContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#receiverParameter}. + * @param ctx the parse tree + */ + void exitReceiverParameter(Java8Parser.ReceiverParameterContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#throws_}. + * @param ctx the parse tree + */ + void enterThrows_(Java8Parser.Throws_Context ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#throws_}. + * @param ctx the parse tree + */ + void exitThrows_(Java8Parser.Throws_Context ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#exceptionTypeList}. + * @param ctx the parse tree + */ + void enterExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#exceptionTypeList}. + * @param ctx the parse tree + */ + void exitExceptionTypeList(Java8Parser.ExceptionTypeListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#exceptionType}. + * @param ctx the parse tree + */ + void enterExceptionType(Java8Parser.ExceptionTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#exceptionType}. + * @param ctx the parse tree + */ + void exitExceptionType(Java8Parser.ExceptionTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodBody}. + * @param ctx the parse tree + */ + void enterMethodBody(Java8Parser.MethodBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodBody}. + * @param ctx the parse tree + */ + void exitMethodBody(Java8Parser.MethodBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#instanceInitializer}. + * @param ctx the parse tree + */ + void enterInstanceInitializer(Java8Parser.InstanceInitializerContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#instanceInitializer}. + * @param ctx the parse tree + */ + void exitInstanceInitializer(Java8Parser.InstanceInitializerContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#staticInitializer}. + * @param ctx the parse tree + */ + void enterStaticInitializer(Java8Parser.StaticInitializerContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#staticInitializer}. + * @param ctx the parse tree + */ + void exitStaticInitializer(Java8Parser.StaticInitializerContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constructorDeclaration}. + * @param ctx the parse tree + */ + void enterConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constructorDeclaration}. + * @param ctx the parse tree + */ + void exitConstructorDeclaration(Java8Parser.ConstructorDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constructorModifier}. + * @param ctx the parse tree + */ + void enterConstructorModifier(Java8Parser.ConstructorModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constructorModifier}. + * @param ctx the parse tree + */ + void exitConstructorModifier(Java8Parser.ConstructorModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constructorDeclarator}. + * @param ctx the parse tree + */ + void enterConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constructorDeclarator}. + * @param ctx the parse tree + */ + void exitConstructorDeclarator(Java8Parser.ConstructorDeclaratorContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#simpleTypeName}. + * @param ctx the parse tree + */ + void enterSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#simpleTypeName}. + * @param ctx the parse tree + */ + void exitSimpleTypeName(Java8Parser.SimpleTypeNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constructorBody}. + * @param ctx the parse tree + */ + void enterConstructorBody(Java8Parser.ConstructorBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constructorBody}. + * @param ctx the parse tree + */ + void exitConstructorBody(Java8Parser.ConstructorBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#explicitConstructorInvocation}. + * @param ctx the parse tree + */ + void enterExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#explicitConstructorInvocation}. + * @param ctx the parse tree + */ + void exitExplicitConstructorInvocation(Java8Parser.ExplicitConstructorInvocationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumDeclaration}. + * @param ctx the parse tree + */ + void enterEnumDeclaration(Java8Parser.EnumDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumDeclaration}. + * @param ctx the parse tree + */ + void exitEnumDeclaration(Java8Parser.EnumDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumBody}. + * @param ctx the parse tree + */ + void enterEnumBody(Java8Parser.EnumBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumBody}. + * @param ctx the parse tree + */ + void exitEnumBody(Java8Parser.EnumBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumConstantList}. + * @param ctx the parse tree + */ + void enterEnumConstantList(Java8Parser.EnumConstantListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumConstantList}. + * @param ctx the parse tree + */ + void exitEnumConstantList(Java8Parser.EnumConstantListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumConstant}. + * @param ctx the parse tree + */ + void enterEnumConstant(Java8Parser.EnumConstantContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumConstant}. + * @param ctx the parse tree + */ + void exitEnumConstant(Java8Parser.EnumConstantContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumConstantModifier}. + * @param ctx the parse tree + */ + void enterEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumConstantModifier}. + * @param ctx the parse tree + */ + void exitEnumConstantModifier(Java8Parser.EnumConstantModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumBodyDeclarations}. + * @param ctx the parse tree + */ + void enterEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumBodyDeclarations}. + * @param ctx the parse tree + */ + void exitEnumBodyDeclarations(Java8Parser.EnumBodyDeclarationsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceDeclaration}. + * @param ctx the parse tree + */ + void enterInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceDeclaration}. + * @param ctx the parse tree + */ + void exitInterfaceDeclaration(Java8Parser.InterfaceDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#normalInterfaceDeclaration}. + * @param ctx the parse tree + */ + void enterNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#normalInterfaceDeclaration}. + * @param ctx the parse tree + */ + void exitNormalInterfaceDeclaration(Java8Parser.NormalInterfaceDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceModifier}. + * @param ctx the parse tree + */ + void enterInterfaceModifier(Java8Parser.InterfaceModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceModifier}. + * @param ctx the parse tree + */ + void exitInterfaceModifier(Java8Parser.InterfaceModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#extendsInterfaces}. + * @param ctx the parse tree + */ + void enterExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#extendsInterfaces}. + * @param ctx the parse tree + */ + void exitExtendsInterfaces(Java8Parser.ExtendsInterfacesContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceBody}. + * @param ctx the parse tree + */ + void enterInterfaceBody(Java8Parser.InterfaceBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceBody}. + * @param ctx the parse tree + */ + void exitInterfaceBody(Java8Parser.InterfaceBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceMemberDeclaration}. + * @param ctx the parse tree + */ + void enterInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceMemberDeclaration}. + * @param ctx the parse tree + */ + void exitInterfaceMemberDeclaration(Java8Parser.InterfaceMemberDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constantDeclaration}. + * @param ctx the parse tree + */ + void enterConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constantDeclaration}. + * @param ctx the parse tree + */ + void exitConstantDeclaration(Java8Parser.ConstantDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constantModifier}. + * @param ctx the parse tree + */ + void enterConstantModifier(Java8Parser.ConstantModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constantModifier}. + * @param ctx the parse tree + */ + void exitConstantModifier(Java8Parser.ConstantModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceMethodDeclaration}. + * @param ctx the parse tree + */ + void enterInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceMethodDeclaration}. + * @param ctx the parse tree + */ + void exitInterfaceMethodDeclaration(Java8Parser.InterfaceMethodDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#interfaceMethodModifier}. + * @param ctx the parse tree + */ + void enterInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#interfaceMethodModifier}. + * @param ctx the parse tree + */ + void exitInterfaceMethodModifier(Java8Parser.InterfaceMethodModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#annotationTypeDeclaration}. + * @param ctx the parse tree + */ + void enterAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#annotationTypeDeclaration}. + * @param ctx the parse tree + */ + void exitAnnotationTypeDeclaration(Java8Parser.AnnotationTypeDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#annotationTypeBody}. + * @param ctx the parse tree + */ + void enterAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#annotationTypeBody}. + * @param ctx the parse tree + */ + void exitAnnotationTypeBody(Java8Parser.AnnotationTypeBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#annotationTypeMemberDeclaration}. + * @param ctx the parse tree + */ + void enterAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#annotationTypeMemberDeclaration}. + * @param ctx the parse tree + */ + void exitAnnotationTypeMemberDeclaration(Java8Parser.AnnotationTypeMemberDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#annotationTypeElementDeclaration}. + * @param ctx the parse tree + */ + void enterAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#annotationTypeElementDeclaration}. + * @param ctx the parse tree + */ + void exitAnnotationTypeElementDeclaration(Java8Parser.AnnotationTypeElementDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#annotationTypeElementModifier}. + * @param ctx the parse tree + */ + void enterAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#annotationTypeElementModifier}. + * @param ctx the parse tree + */ + void exitAnnotationTypeElementModifier(Java8Parser.AnnotationTypeElementModifierContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#defaultValue}. + * @param ctx the parse tree + */ + void enterDefaultValue(Java8Parser.DefaultValueContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#defaultValue}. + * @param ctx the parse tree + */ + void exitDefaultValue(Java8Parser.DefaultValueContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#annotation}. + * @param ctx the parse tree + */ + void enterAnnotation(Java8Parser.AnnotationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#annotation}. + * @param ctx the parse tree + */ + void exitAnnotation(Java8Parser.AnnotationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#normalAnnotation}. + * @param ctx the parse tree + */ + void enterNormalAnnotation(Java8Parser.NormalAnnotationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#normalAnnotation}. + * @param ctx the parse tree + */ + void exitNormalAnnotation(Java8Parser.NormalAnnotationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#elementValuePairList}. + * @param ctx the parse tree + */ + void enterElementValuePairList(Java8Parser.ElementValuePairListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#elementValuePairList}. + * @param ctx the parse tree + */ + void exitElementValuePairList(Java8Parser.ElementValuePairListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#elementValuePair}. + * @param ctx the parse tree + */ + void enterElementValuePair(Java8Parser.ElementValuePairContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#elementValuePair}. + * @param ctx the parse tree + */ + void exitElementValuePair(Java8Parser.ElementValuePairContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#elementValue}. + * @param ctx the parse tree + */ + void enterElementValue(Java8Parser.ElementValueContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#elementValue}. + * @param ctx the parse tree + */ + void exitElementValue(Java8Parser.ElementValueContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#elementValueArrayInitializer}. + * @param ctx the parse tree + */ + void enterElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#elementValueArrayInitializer}. + * @param ctx the parse tree + */ + void exitElementValueArrayInitializer(Java8Parser.ElementValueArrayInitializerContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#elementValueList}. + * @param ctx the parse tree + */ + void enterElementValueList(Java8Parser.ElementValueListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#elementValueList}. + * @param ctx the parse tree + */ + void exitElementValueList(Java8Parser.ElementValueListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#markerAnnotation}. + * @param ctx the parse tree + */ + void enterMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#markerAnnotation}. + * @param ctx the parse tree + */ + void exitMarkerAnnotation(Java8Parser.MarkerAnnotationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#singleElementAnnotation}. + * @param ctx the parse tree + */ + void enterSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#singleElementAnnotation}. + * @param ctx the parse tree + */ + void exitSingleElementAnnotation(Java8Parser.SingleElementAnnotationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#arrayInitializer}. + * @param ctx the parse tree + */ + void enterArrayInitializer(Java8Parser.ArrayInitializerContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#arrayInitializer}. + * @param ctx the parse tree + */ + void exitArrayInitializer(Java8Parser.ArrayInitializerContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#variableInitializerList}. + * @param ctx the parse tree + */ + void enterVariableInitializerList(Java8Parser.VariableInitializerListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#variableInitializerList}. + * @param ctx the parse tree + */ + void exitVariableInitializerList(Java8Parser.VariableInitializerListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#block}. + * @param ctx the parse tree + */ + void enterBlock(Java8Parser.BlockContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#block}. + * @param ctx the parse tree + */ + void exitBlock(Java8Parser.BlockContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#blockStatements}. + * @param ctx the parse tree + */ + void enterBlockStatements(Java8Parser.BlockStatementsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#blockStatements}. + * @param ctx the parse tree + */ + void exitBlockStatements(Java8Parser.BlockStatementsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#blockStatement}. + * @param ctx the parse tree + */ + void enterBlockStatement(Java8Parser.BlockStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#blockStatement}. + * @param ctx the parse tree + */ + void exitBlockStatement(Java8Parser.BlockStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#localVariableDeclarationStatement}. + * @param ctx the parse tree + */ + void enterLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#localVariableDeclarationStatement}. + * @param ctx the parse tree + */ + void exitLocalVariableDeclarationStatement(Java8Parser.LocalVariableDeclarationStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#localVariableDeclaration}. + * @param ctx the parse tree + */ + void enterLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#localVariableDeclaration}. + * @param ctx the parse tree + */ + void exitLocalVariableDeclaration(Java8Parser.LocalVariableDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#statement}. + * @param ctx the parse tree + */ + void enterStatement(Java8Parser.StatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#statement}. + * @param ctx the parse tree + */ + void exitStatement(Java8Parser.StatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#statementNoShortIf}. + * @param ctx the parse tree + */ + void enterStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#statementNoShortIf}. + * @param ctx the parse tree + */ + void exitStatementNoShortIf(Java8Parser.StatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#statementWithoutTrailingSubstatement}. + * @param ctx the parse tree + */ + void enterStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#statementWithoutTrailingSubstatement}. + * @param ctx the parse tree + */ + void exitStatementWithoutTrailingSubstatement(Java8Parser.StatementWithoutTrailingSubstatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#emptyStatement}. + * @param ctx the parse tree + */ + void enterEmptyStatement(Java8Parser.EmptyStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#emptyStatement}. + * @param ctx the parse tree + */ + void exitEmptyStatement(Java8Parser.EmptyStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#labeledStatement}. + * @param ctx the parse tree + */ + void enterLabeledStatement(Java8Parser.LabeledStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#labeledStatement}. + * @param ctx the parse tree + */ + void exitLabeledStatement(Java8Parser.LabeledStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#labeledStatementNoShortIf}. + * @param ctx the parse tree + */ + void enterLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#labeledStatementNoShortIf}. + * @param ctx the parse tree + */ + void exitLabeledStatementNoShortIf(Java8Parser.LabeledStatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#expressionStatement}. + * @param ctx the parse tree + */ + void enterExpressionStatement(Java8Parser.ExpressionStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#expressionStatement}. + * @param ctx the parse tree + */ + void exitExpressionStatement(Java8Parser.ExpressionStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#statementExpression}. + * @param ctx the parse tree + */ + void enterStatementExpression(Java8Parser.StatementExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#statementExpression}. + * @param ctx the parse tree + */ + void exitStatementExpression(Java8Parser.StatementExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#ifThenStatement}. + * @param ctx the parse tree + */ + void enterIfThenStatement(Java8Parser.IfThenStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#ifThenStatement}. + * @param ctx the parse tree + */ + void exitIfThenStatement(Java8Parser.IfThenStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#ifThenElseStatement}. + * @param ctx the parse tree + */ + void enterIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#ifThenElseStatement}. + * @param ctx the parse tree + */ + void exitIfThenElseStatement(Java8Parser.IfThenElseStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#ifThenElseStatementNoShortIf}. + * @param ctx the parse tree + */ + void enterIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#ifThenElseStatementNoShortIf}. + * @param ctx the parse tree + */ + void exitIfThenElseStatementNoShortIf(Java8Parser.IfThenElseStatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#assertStatement}. + * @param ctx the parse tree + */ + void enterAssertStatement(Java8Parser.AssertStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#assertStatement}. + * @param ctx the parse tree + */ + void exitAssertStatement(Java8Parser.AssertStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#switchStatement}. + * @param ctx the parse tree + */ + void enterSwitchStatement(Java8Parser.SwitchStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#switchStatement}. + * @param ctx the parse tree + */ + void exitSwitchStatement(Java8Parser.SwitchStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#switchBlock}. + * @param ctx the parse tree + */ + void enterSwitchBlock(Java8Parser.SwitchBlockContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#switchBlock}. + * @param ctx the parse tree + */ + void exitSwitchBlock(Java8Parser.SwitchBlockContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#switchBlockStatementGroup}. + * @param ctx the parse tree + */ + void enterSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#switchBlockStatementGroup}. + * @param ctx the parse tree + */ + void exitSwitchBlockStatementGroup(Java8Parser.SwitchBlockStatementGroupContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#switchLabels}. + * @param ctx the parse tree + */ + void enterSwitchLabels(Java8Parser.SwitchLabelsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#switchLabels}. + * @param ctx the parse tree + */ + void exitSwitchLabels(Java8Parser.SwitchLabelsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#switchLabel}. + * @param ctx the parse tree + */ + void enterSwitchLabel(Java8Parser.SwitchLabelContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#switchLabel}. + * @param ctx the parse tree + */ + void exitSwitchLabel(Java8Parser.SwitchLabelContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enumConstantName}. + * @param ctx the parse tree + */ + void enterEnumConstantName(Java8Parser.EnumConstantNameContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enumConstantName}. + * @param ctx the parse tree + */ + void exitEnumConstantName(Java8Parser.EnumConstantNameContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#whileStatement}. + * @param ctx the parse tree + */ + void enterWhileStatement(Java8Parser.WhileStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#whileStatement}. + * @param ctx the parse tree + */ + void exitWhileStatement(Java8Parser.WhileStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#whileStatementNoShortIf}. + * @param ctx the parse tree + */ + void enterWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#whileStatementNoShortIf}. + * @param ctx the parse tree + */ + void exitWhileStatementNoShortIf(Java8Parser.WhileStatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#doStatement}. + * @param ctx the parse tree + */ + void enterDoStatement(Java8Parser.DoStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#doStatement}. + * @param ctx the parse tree + */ + void exitDoStatement(Java8Parser.DoStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#forStatement}. + * @param ctx the parse tree + */ + void enterForStatement(Java8Parser.ForStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#forStatement}. + * @param ctx the parse tree + */ + void exitForStatement(Java8Parser.ForStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#forStatementNoShortIf}. + * @param ctx the parse tree + */ + void enterForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#forStatementNoShortIf}. + * @param ctx the parse tree + */ + void exitForStatementNoShortIf(Java8Parser.ForStatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#basicForStatement}. + * @param ctx the parse tree + */ + void enterBasicForStatement(Java8Parser.BasicForStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#basicForStatement}. + * @param ctx the parse tree + */ + void exitBasicForStatement(Java8Parser.BasicForStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#basicForStatementNoShortIf}. + * @param ctx the parse tree + */ + void enterBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#basicForStatementNoShortIf}. + * @param ctx the parse tree + */ + void exitBasicForStatementNoShortIf(Java8Parser.BasicForStatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#forInit}. + * @param ctx the parse tree + */ + void enterForInit(Java8Parser.ForInitContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#forInit}. + * @param ctx the parse tree + */ + void exitForInit(Java8Parser.ForInitContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#forUpdate}. + * @param ctx the parse tree + */ + void enterForUpdate(Java8Parser.ForUpdateContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#forUpdate}. + * @param ctx the parse tree + */ + void exitForUpdate(Java8Parser.ForUpdateContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#statementExpressionList}. + * @param ctx the parse tree + */ + void enterStatementExpressionList(Java8Parser.StatementExpressionListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#statementExpressionList}. + * @param ctx the parse tree + */ + void exitStatementExpressionList(Java8Parser.StatementExpressionListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enhancedForStatement}. + * @param ctx the parse tree + */ + void enterEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enhancedForStatement}. + * @param ctx the parse tree + */ + void exitEnhancedForStatement(Java8Parser.EnhancedForStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#enhancedForStatementNoShortIf}. + * @param ctx the parse tree + */ + void enterEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#enhancedForStatementNoShortIf}. + * @param ctx the parse tree + */ + void exitEnhancedForStatementNoShortIf(Java8Parser.EnhancedForStatementNoShortIfContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#breakStatement}. + * @param ctx the parse tree + */ + void enterBreakStatement(Java8Parser.BreakStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#breakStatement}. + * @param ctx the parse tree + */ + void exitBreakStatement(Java8Parser.BreakStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#continueStatement}. + * @param ctx the parse tree + */ + void enterContinueStatement(Java8Parser.ContinueStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#continueStatement}. + * @param ctx the parse tree + */ + void exitContinueStatement(Java8Parser.ContinueStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#returnStatement}. + * @param ctx the parse tree + */ + void enterReturnStatement(Java8Parser.ReturnStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#returnStatement}. + * @param ctx the parse tree + */ + void exitReturnStatement(Java8Parser.ReturnStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#throwStatement}. + * @param ctx the parse tree + */ + void enterThrowStatement(Java8Parser.ThrowStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#throwStatement}. + * @param ctx the parse tree + */ + void exitThrowStatement(Java8Parser.ThrowStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#synchronizedStatement}. + * @param ctx the parse tree + */ + void enterSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#synchronizedStatement}. + * @param ctx the parse tree + */ + void exitSynchronizedStatement(Java8Parser.SynchronizedStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#tryStatement}. + * @param ctx the parse tree + */ + void enterTryStatement(Java8Parser.TryStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#tryStatement}. + * @param ctx the parse tree + */ + void exitTryStatement(Java8Parser.TryStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#catches}. + * @param ctx the parse tree + */ + void enterCatches(Java8Parser.CatchesContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#catches}. + * @param ctx the parse tree + */ + void exitCatches(Java8Parser.CatchesContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#catchClause}. + * @param ctx the parse tree + */ + void enterCatchClause(Java8Parser.CatchClauseContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#catchClause}. + * @param ctx the parse tree + */ + void exitCatchClause(Java8Parser.CatchClauseContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#catchFormalParameter}. + * @param ctx the parse tree + */ + void enterCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#catchFormalParameter}. + * @param ctx the parse tree + */ + void exitCatchFormalParameter(Java8Parser.CatchFormalParameterContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#catchType}. + * @param ctx the parse tree + */ + void enterCatchType(Java8Parser.CatchTypeContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#catchType}. + * @param ctx the parse tree + */ + void exitCatchType(Java8Parser.CatchTypeContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#finally_}. + * @param ctx the parse tree + */ + void enterFinally_(Java8Parser.Finally_Context ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#finally_}. + * @param ctx the parse tree + */ + void exitFinally_(Java8Parser.Finally_Context ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#tryWithResourcesStatement}. + * @param ctx the parse tree + */ + void enterTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#tryWithResourcesStatement}. + * @param ctx the parse tree + */ + void exitTryWithResourcesStatement(Java8Parser.TryWithResourcesStatementContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#resourceSpecification}. + * @param ctx the parse tree + */ + void enterResourceSpecification(Java8Parser.ResourceSpecificationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#resourceSpecification}. + * @param ctx the parse tree + */ + void exitResourceSpecification(Java8Parser.ResourceSpecificationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#resourceList}. + * @param ctx the parse tree + */ + void enterResourceList(Java8Parser.ResourceListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#resourceList}. + * @param ctx the parse tree + */ + void exitResourceList(Java8Parser.ResourceListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#resource}. + * @param ctx the parse tree + */ + void enterResource(Java8Parser.ResourceContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#resource}. + * @param ctx the parse tree + */ + void exitResource(Java8Parser.ResourceContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primary}. + * @param ctx the parse tree + */ + void enterPrimary(Java8Parser.PrimaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primary}. + * @param ctx the parse tree + */ + void exitPrimary(Java8Parser.PrimaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray(Java8Parser.PrimaryNoNewArrayContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_arrayAccess}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_arrayAccess}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lf_arrayAccess(Java8Parser.PrimaryNoNewArray_lf_arrayAccessContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_arrayAccess}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_arrayAccess}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lfno_arrayAccess(Java8Parser.PrimaryNoNewArray_lfno_arrayAccessContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(Java8Parser.PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary}. + * @param ctx the parse tree + */ + void enterPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary}. + * @param ctx the parse tree + */ + void exitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(Java8Parser.PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classInstanceCreationExpression}. + * @param ctx the parse tree + */ + void enterClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classInstanceCreationExpression}. + * @param ctx the parse tree + */ + void exitClassInstanceCreationExpression(Java8Parser.ClassInstanceCreationExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lf_primary}. + * @param ctx the parse tree + */ + void enterClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lf_primary}. + * @param ctx the parse tree + */ + void exitClassInstanceCreationExpression_lf_primary(Java8Parser.ClassInstanceCreationExpression_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lfno_primary}. + * @param ctx the parse tree + */ + void enterClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#classInstanceCreationExpression_lfno_primary}. + * @param ctx the parse tree + */ + void exitClassInstanceCreationExpression_lfno_primary(Java8Parser.ClassInstanceCreationExpression_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#typeArgumentsOrDiamond}. + * @param ctx the parse tree + */ + void enterTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#typeArgumentsOrDiamond}. + * @param ctx the parse tree + */ + void exitTypeArgumentsOrDiamond(Java8Parser.TypeArgumentsOrDiamondContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#fieldAccess}. + * @param ctx the parse tree + */ + void enterFieldAccess(Java8Parser.FieldAccessContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#fieldAccess}. + * @param ctx the parse tree + */ + void exitFieldAccess(Java8Parser.FieldAccessContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#fieldAccess_lf_primary}. + * @param ctx the parse tree + */ + void enterFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#fieldAccess_lf_primary}. + * @param ctx the parse tree + */ + void exitFieldAccess_lf_primary(Java8Parser.FieldAccess_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#fieldAccess_lfno_primary}. + * @param ctx the parse tree + */ + void enterFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#fieldAccess_lfno_primary}. + * @param ctx the parse tree + */ + void exitFieldAccess_lfno_primary(Java8Parser.FieldAccess_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#arrayAccess}. + * @param ctx the parse tree + */ + void enterArrayAccess(Java8Parser.ArrayAccessContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#arrayAccess}. + * @param ctx the parse tree + */ + void exitArrayAccess(Java8Parser.ArrayAccessContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#arrayAccess_lf_primary}. + * @param ctx the parse tree + */ + void enterArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#arrayAccess_lf_primary}. + * @param ctx the parse tree + */ + void exitArrayAccess_lf_primary(Java8Parser.ArrayAccess_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#arrayAccess_lfno_primary}. + * @param ctx the parse tree + */ + void enterArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#arrayAccess_lfno_primary}. + * @param ctx the parse tree + */ + void exitArrayAccess_lfno_primary(Java8Parser.ArrayAccess_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodInvocation}. + * @param ctx the parse tree + */ + void enterMethodInvocation(Java8Parser.MethodInvocationContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodInvocation}. + * @param ctx the parse tree + */ + void exitMethodInvocation(Java8Parser.MethodInvocationContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodInvocation_lf_primary}. + * @param ctx the parse tree + */ + void enterMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodInvocation_lf_primary}. + * @param ctx the parse tree + */ + void exitMethodInvocation_lf_primary(Java8Parser.MethodInvocation_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodInvocation_lfno_primary}. + * @param ctx the parse tree + */ + void enterMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodInvocation_lfno_primary}. + * @param ctx the parse tree + */ + void exitMethodInvocation_lfno_primary(Java8Parser.MethodInvocation_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#argumentList}. + * @param ctx the parse tree + */ + void enterArgumentList(Java8Parser.ArgumentListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#argumentList}. + * @param ctx the parse tree + */ + void exitArgumentList(Java8Parser.ArgumentListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodReference}. + * @param ctx the parse tree + */ + void enterMethodReference(Java8Parser.MethodReferenceContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodReference}. + * @param ctx the parse tree + */ + void exitMethodReference(Java8Parser.MethodReferenceContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodReference_lf_primary}. + * @param ctx the parse tree + */ + void enterMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodReference_lf_primary}. + * @param ctx the parse tree + */ + void exitMethodReference_lf_primary(Java8Parser.MethodReference_lf_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#methodReference_lfno_primary}. + * @param ctx the parse tree + */ + void enterMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#methodReference_lfno_primary}. + * @param ctx the parse tree + */ + void exitMethodReference_lfno_primary(Java8Parser.MethodReference_lfno_primaryContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#arrayCreationExpression}. + * @param ctx the parse tree + */ + void enterArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#arrayCreationExpression}. + * @param ctx the parse tree + */ + void exitArrayCreationExpression(Java8Parser.ArrayCreationExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#dimExprs}. + * @param ctx the parse tree + */ + void enterDimExprs(Java8Parser.DimExprsContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#dimExprs}. + * @param ctx the parse tree + */ + void exitDimExprs(Java8Parser.DimExprsContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#dimExpr}. + * @param ctx the parse tree + */ + void enterDimExpr(Java8Parser.DimExprContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#dimExpr}. + * @param ctx the parse tree + */ + void exitDimExpr(Java8Parser.DimExprContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#constantExpression}. + * @param ctx the parse tree + */ + void enterConstantExpression(Java8Parser.ConstantExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#constantExpression}. + * @param ctx the parse tree + */ + void exitConstantExpression(Java8Parser.ConstantExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#expression}. + * @param ctx the parse tree + */ + void enterExpression(Java8Parser.ExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#expression}. + * @param ctx the parse tree + */ + void exitExpression(Java8Parser.ExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#lambdaExpression}. + * @param ctx the parse tree + */ + void enterLambdaExpression(Java8Parser.LambdaExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#lambdaExpression}. + * @param ctx the parse tree + */ + void exitLambdaExpression(Java8Parser.LambdaExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#lambdaParameters}. + * @param ctx the parse tree + */ + void enterLambdaParameters(Java8Parser.LambdaParametersContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#lambdaParameters}. + * @param ctx the parse tree + */ + void exitLambdaParameters(Java8Parser.LambdaParametersContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#inferredFormalParameterList}. + * @param ctx the parse tree + */ + void enterInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#inferredFormalParameterList}. + * @param ctx the parse tree + */ + void exitInferredFormalParameterList(Java8Parser.InferredFormalParameterListContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#lambdaBody}. + * @param ctx the parse tree + */ + void enterLambdaBody(Java8Parser.LambdaBodyContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#lambdaBody}. + * @param ctx the parse tree + */ + void exitLambdaBody(Java8Parser.LambdaBodyContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#assignmentExpression}. + * @param ctx the parse tree + */ + void enterAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#assignmentExpression}. + * @param ctx the parse tree + */ + void exitAssignmentExpression(Java8Parser.AssignmentExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#assignment}. + * @param ctx the parse tree + */ + void enterAssignment(Java8Parser.AssignmentContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#assignment}. + * @param ctx the parse tree + */ + void exitAssignment(Java8Parser.AssignmentContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#leftHandSide}. + * @param ctx the parse tree + */ + void enterLeftHandSide(Java8Parser.LeftHandSideContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#leftHandSide}. + * @param ctx the parse tree + */ + void exitLeftHandSide(Java8Parser.LeftHandSideContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#assignmentOperator}. + * @param ctx the parse tree + */ + void enterAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#assignmentOperator}. + * @param ctx the parse tree + */ + void exitAssignmentOperator(Java8Parser.AssignmentOperatorContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#conditionalExpression}. + * @param ctx the parse tree + */ + void enterConditionalExpression(Java8Parser.ConditionalExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#conditionalExpression}. + * @param ctx the parse tree + */ + void exitConditionalExpression(Java8Parser.ConditionalExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#conditionalOrExpression}. + * @param ctx the parse tree + */ + void enterConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#conditionalOrExpression}. + * @param ctx the parse tree + */ + void exitConditionalOrExpression(Java8Parser.ConditionalOrExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#conditionalAndExpression}. + * @param ctx the parse tree + */ + void enterConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#conditionalAndExpression}. + * @param ctx the parse tree + */ + void exitConditionalAndExpression(Java8Parser.ConditionalAndExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#inclusiveOrExpression}. + * @param ctx the parse tree + */ + void enterInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#inclusiveOrExpression}. + * @param ctx the parse tree + */ + void exitInclusiveOrExpression(Java8Parser.InclusiveOrExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#exclusiveOrExpression}. + * @param ctx the parse tree + */ + void enterExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#exclusiveOrExpression}. + * @param ctx the parse tree + */ + void exitExclusiveOrExpression(Java8Parser.ExclusiveOrExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#andExpression}. + * @param ctx the parse tree + */ + void enterAndExpression(Java8Parser.AndExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#andExpression}. + * @param ctx the parse tree + */ + void exitAndExpression(Java8Parser.AndExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#equalityExpression}. + * @param ctx the parse tree + */ + void enterEqualityExpression(Java8Parser.EqualityExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#equalityExpression}. + * @param ctx the parse tree + */ + void exitEqualityExpression(Java8Parser.EqualityExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#relationalExpression}. + * @param ctx the parse tree + */ + void enterRelationalExpression(Java8Parser.RelationalExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#relationalExpression}. + * @param ctx the parse tree + */ + void exitRelationalExpression(Java8Parser.RelationalExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#shiftExpression}. + * @param ctx the parse tree + */ + void enterShiftExpression(Java8Parser.ShiftExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#shiftExpression}. + * @param ctx the parse tree + */ + void exitShiftExpression(Java8Parser.ShiftExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#additiveExpression}. + * @param ctx the parse tree + */ + void enterAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#additiveExpression}. + * @param ctx the parse tree + */ + void exitAdditiveExpression(Java8Parser.AdditiveExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#multiplicativeExpression}. + * @param ctx the parse tree + */ + void enterMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#multiplicativeExpression}. + * @param ctx the parse tree + */ + void exitMultiplicativeExpression(Java8Parser.MultiplicativeExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unaryExpression}. + * @param ctx the parse tree + */ + void enterUnaryExpression(Java8Parser.UnaryExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unaryExpression}. + * @param ctx the parse tree + */ + void exitUnaryExpression(Java8Parser.UnaryExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#preIncrementExpression}. + * @param ctx the parse tree + */ + void enterPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#preIncrementExpression}. + * @param ctx the parse tree + */ + void exitPreIncrementExpression(Java8Parser.PreIncrementExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#preDecrementExpression}. + * @param ctx the parse tree + */ + void enterPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#preDecrementExpression}. + * @param ctx the parse tree + */ + void exitPreDecrementExpression(Java8Parser.PreDecrementExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#unaryExpressionNotPlusMinus}. + * @param ctx the parse tree + */ + void enterUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#unaryExpressionNotPlusMinus}. + * @param ctx the parse tree + */ + void exitUnaryExpressionNotPlusMinus(Java8Parser.UnaryExpressionNotPlusMinusContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#postfixExpression}. + * @param ctx the parse tree + */ + void enterPostfixExpression(Java8Parser.PostfixExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#postfixExpression}. + * @param ctx the parse tree + */ + void exitPostfixExpression(Java8Parser.PostfixExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#postIncrementExpression}. + * @param ctx the parse tree + */ + void enterPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#postIncrementExpression}. + * @param ctx the parse tree + */ + void exitPostIncrementExpression(Java8Parser.PostIncrementExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#postIncrementExpression_lf_postfixExpression}. + * @param ctx the parse tree + */ + void enterPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#postIncrementExpression_lf_postfixExpression}. + * @param ctx the parse tree + */ + void exitPostIncrementExpression_lf_postfixExpression(Java8Parser.PostIncrementExpression_lf_postfixExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#postDecrementExpression}. + * @param ctx the parse tree + */ + void enterPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#postDecrementExpression}. + * @param ctx the parse tree + */ + void exitPostDecrementExpression(Java8Parser.PostDecrementExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#postDecrementExpression_lf_postfixExpression}. + * @param ctx the parse tree + */ + void enterPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#postDecrementExpression_lf_postfixExpression}. + * @param ctx the parse tree + */ + void exitPostDecrementExpression_lf_postfixExpression(Java8Parser.PostDecrementExpression_lf_postfixExpressionContext ctx); + /** + * Enter a parse tree produced by {@link Java8Parser#castExpression}. + * @param ctx the parse tree + */ + void enterCastExpression(Java8Parser.CastExpressionContext ctx); + /** + * Exit a parse tree produced by {@link Java8Parser#castExpression}. + * @param ctx the parse tree + */ + void exitCastExpression(Java8Parser.CastExpressionContext ctx); +} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/Java8Parser.java b/src/de/dhbwstuttgart/parser/Java8Parser.java new file mode 100644 index 00000000..6419b96b --- /dev/null +++ b/src/de/dhbwstuttgart/parser/Java8Parser.java @@ -0,0 +1,18555 @@ +// Generated from Java8.g4 by ANTLR 4.5.3 +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Java8Parser extends Parser { + static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + ABSTRACT=1, ASSERT=2, BOOLEAN=3, BREAK=4, BYTE=5, CASE=6, CATCH=7, CHAR=8, + CLASS=9, CONST=10, CONTINUE=11, DEFAULT=12, DO=13, DOUBLE=14, ELSE=15, + ENUM=16, EXTENDS=17, FINAL=18, FINALLY=19, FLOAT=20, FOR=21, IF=22, GOTO=23, + IMPLEMENTS=24, IMPORT=25, INSTANCEOF=26, INT=27, INTERFACE=28, LONG=29, + NATIVE=30, NEW=31, PACKAGE=32, PRIVATE=33, PROTECTED=34, PUBLIC=35, RETURN=36, + SHORT=37, STATIC=38, STRICTFP=39, SUPER=40, SWITCH=41, SYNCHRONIZED=42, + THIS=43, THROW=44, THROWS=45, TRANSIENT=46, TRY=47, VOID=48, VOLATILE=49, + WHILE=50, IntegerLiteral=51, FloatingPointLiteral=52, BooleanLiteral=53, + CharacterLiteral=54, StringLiteral=55, NullLiteral=56, LPAREN=57, RPAREN=58, + LBRACE=59, RBRACE=60, LBRACK=61, RBRACK=62, SEMI=63, COMMA=64, DOT=65, + ASSIGN=66, GT=67, LT=68, BANG=69, TILDE=70, QUESTION=71, COLON=72, EQUAL=73, + LE=74, GE=75, NOTEQUAL=76, AND=77, OR=78, INC=79, DEC=80, ADD=81, SUB=82, + MUL=83, DIV=84, BITAND=85, BITOR=86, CARET=87, MOD=88, ARROW=89, COLONCOLON=90, + ADD_ASSIGN=91, SUB_ASSIGN=92, MUL_ASSIGN=93, DIV_ASSIGN=94, AND_ASSIGN=95, + OR_ASSIGN=96, XOR_ASSIGN=97, MOD_ASSIGN=98, LSHIFT_ASSIGN=99, RSHIFT_ASSIGN=100, + URSHIFT_ASSIGN=101, Identifier=102, AT=103, ELLIPSIS=104, WS=105, COMMENT=106, + LINE_COMMENT=107; + public static final int + RULE_literal = 0, RULE_type = 1, RULE_primitiveType = 2, RULE_numericType = 3, + RULE_integralType = 4, RULE_floatingPointType = 5, RULE_referenceType = 6, + RULE_classOrInterfaceType = 7, RULE_classType = 8, RULE_classType_lf_classOrInterfaceType = 9, + RULE_classType_lfno_classOrInterfaceType = 10, RULE_interfaceType = 11, + RULE_interfaceType_lf_classOrInterfaceType = 12, RULE_interfaceType_lfno_classOrInterfaceType = 13, + RULE_typeVariable = 14, RULE_arrayType = 15, RULE_dims = 16, RULE_typeParameter = 17, + RULE_typeParameterModifier = 18, RULE_typeBound = 19, RULE_additionalBound = 20, + RULE_typeArguments = 21, RULE_typeArgumentList = 22, RULE_typeArgument = 23, + RULE_wildcard = 24, RULE_wildcardBounds = 25, RULE_packageName = 26, RULE_typeName = 27, + RULE_packageOrTypeName = 28, RULE_expressionName = 29, RULE_methodName = 30, + RULE_ambiguousName = 31, RULE_compilationUnit = 32, RULE_packageDeclaration = 33, + RULE_packageModifier = 34, RULE_importDeclaration = 35, RULE_singleTypeImportDeclaration = 36, + RULE_typeImportOnDemandDeclaration = 37, RULE_singleStaticImportDeclaration = 38, + RULE_staticImportOnDemandDeclaration = 39, RULE_typeDeclaration = 40, + RULE_classDeclaration = 41, RULE_normalClassDeclaration = 42, RULE_classModifier = 43, + RULE_typeParameters = 44, RULE_typeParameterList = 45, RULE_superclass = 46, + RULE_superinterfaces = 47, RULE_interfaceTypeList = 48, RULE_classBody = 49, + RULE_classBodyDeclaration = 50, RULE_classMemberDeclaration = 51, RULE_fieldDeclaration = 52, + RULE_fieldModifier = 53, RULE_variableDeclaratorList = 54, RULE_variableDeclarator = 55, + RULE_variableDeclaratorId = 56, RULE_variableInitializer = 57, RULE_unannType = 58, + RULE_unannPrimitiveType = 59, RULE_unannReferenceType = 60, RULE_unannClassOrInterfaceType = 61, + RULE_unannClassType = 62, RULE_unannClassType_lf_unannClassOrInterfaceType = 63, + RULE_unannClassType_lfno_unannClassOrInterfaceType = 64, RULE_unannInterfaceType = 65, + RULE_unannInterfaceType_lf_unannClassOrInterfaceType = 66, RULE_unannInterfaceType_lfno_unannClassOrInterfaceType = 67, + RULE_unannTypeVariable = 68, RULE_unannArrayType = 69, RULE_methodDeclaration = 70, + RULE_methodModifier = 71, RULE_methodHeader = 72, RULE_result = 73, RULE_methodDeclarator = 74, + RULE_formalParameterList = 75, RULE_formalParameters = 76, RULE_formalParameter = 77, + RULE_variableModifier = 78, RULE_lastFormalParameter = 79, RULE_receiverParameter = 80, + RULE_throws_ = 81, RULE_exceptionTypeList = 82, RULE_exceptionType = 83, + RULE_methodBody = 84, RULE_instanceInitializer = 85, RULE_staticInitializer = 86, + RULE_constructorDeclaration = 87, RULE_constructorModifier = 88, RULE_constructorDeclarator = 89, + RULE_simpleTypeName = 90, RULE_constructorBody = 91, RULE_explicitConstructorInvocation = 92, + RULE_enumDeclaration = 93, RULE_enumBody = 94, RULE_enumConstantList = 95, + RULE_enumConstant = 96, RULE_enumConstantModifier = 97, RULE_enumBodyDeclarations = 98, + RULE_interfaceDeclaration = 99, RULE_normalInterfaceDeclaration = 100, + RULE_interfaceModifier = 101, RULE_extendsInterfaces = 102, RULE_interfaceBody = 103, + RULE_interfaceMemberDeclaration = 104, RULE_constantDeclaration = 105, + RULE_constantModifier = 106, RULE_interfaceMethodDeclaration = 107, RULE_interfaceMethodModifier = 108, + RULE_annotationTypeDeclaration = 109, RULE_annotationTypeBody = 110, RULE_annotationTypeMemberDeclaration = 111, + RULE_annotationTypeElementDeclaration = 112, RULE_annotationTypeElementModifier = 113, + RULE_defaultValue = 114, RULE_annotation = 115, RULE_normalAnnotation = 116, + RULE_elementValuePairList = 117, RULE_elementValuePair = 118, RULE_elementValue = 119, + RULE_elementValueArrayInitializer = 120, RULE_elementValueList = 121, + RULE_markerAnnotation = 122, RULE_singleElementAnnotation = 123, RULE_arrayInitializer = 124, + RULE_variableInitializerList = 125, RULE_block = 126, RULE_blockStatements = 127, + RULE_blockStatement = 128, RULE_localVariableDeclarationStatement = 129, + RULE_localVariableDeclaration = 130, RULE_statement = 131, RULE_statementNoShortIf = 132, + RULE_statementWithoutTrailingSubstatement = 133, RULE_emptyStatement = 134, + RULE_labeledStatement = 135, RULE_labeledStatementNoShortIf = 136, RULE_expressionStatement = 137, + RULE_statementExpression = 138, RULE_ifThenStatement = 139, RULE_ifThenElseStatement = 140, + RULE_ifThenElseStatementNoShortIf = 141, RULE_assertStatement = 142, RULE_switchStatement = 143, + RULE_switchBlock = 144, RULE_switchBlockStatementGroup = 145, RULE_switchLabels = 146, + RULE_switchLabel = 147, RULE_enumConstantName = 148, RULE_whileStatement = 149, + RULE_whileStatementNoShortIf = 150, RULE_doStatement = 151, RULE_forStatement = 152, + RULE_forStatementNoShortIf = 153, RULE_basicForStatement = 154, RULE_basicForStatementNoShortIf = 155, + RULE_forInit = 156, RULE_forUpdate = 157, RULE_statementExpressionList = 158, + RULE_enhancedForStatement = 159, RULE_enhancedForStatementNoShortIf = 160, + RULE_breakStatement = 161, RULE_continueStatement = 162, RULE_returnStatement = 163, + RULE_throwStatement = 164, RULE_synchronizedStatement = 165, RULE_tryStatement = 166, + RULE_catches = 167, RULE_catchClause = 168, RULE_catchFormalParameter = 169, + RULE_catchType = 170, RULE_finally_ = 171, RULE_tryWithResourcesStatement = 172, + RULE_resourceSpecification = 173, RULE_resourceList = 174, RULE_resource = 175, + RULE_primary = 176, RULE_primaryNoNewArray = 177, RULE_primaryNoNewArray_lf_arrayAccess = 178, + RULE_primaryNoNewArray_lfno_arrayAccess = 179, RULE_primaryNoNewArray_lf_primary = 180, + RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary = 181, RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary = 182, + RULE_primaryNoNewArray_lfno_primary = 183, RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary = 184, + RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary = 185, + RULE_classInstanceCreationExpression = 186, RULE_classInstanceCreationExpression_lf_primary = 187, + RULE_classInstanceCreationExpression_lfno_primary = 188, RULE_typeArgumentsOrDiamond = 189, + RULE_fieldAccess = 190, RULE_fieldAccess_lf_primary = 191, RULE_fieldAccess_lfno_primary = 192, + RULE_arrayAccess = 193, RULE_arrayAccess_lf_primary = 194, RULE_arrayAccess_lfno_primary = 195, + RULE_methodInvocation = 196, RULE_methodInvocation_lf_primary = 197, RULE_methodInvocation_lfno_primary = 198, + RULE_argumentList = 199, RULE_methodReference = 200, RULE_methodReference_lf_primary = 201, + RULE_methodReference_lfno_primary = 202, RULE_arrayCreationExpression = 203, + RULE_dimExprs = 204, RULE_dimExpr = 205, RULE_constantExpression = 206, + RULE_expression = 207, RULE_lambdaExpression = 208, RULE_lambdaParameters = 209, + RULE_inferredFormalParameterList = 210, RULE_lambdaBody = 211, RULE_assignmentExpression = 212, + RULE_assignment = 213, RULE_leftHandSide = 214, RULE_assignmentOperator = 215, + RULE_conditionalExpression = 216, RULE_conditionalOrExpression = 217, + RULE_conditionalAndExpression = 218, RULE_inclusiveOrExpression = 219, + RULE_exclusiveOrExpression = 220, RULE_andExpression = 221, RULE_equalityExpression = 222, + RULE_relationalExpression = 223, RULE_shiftExpression = 224, RULE_additiveExpression = 225, + RULE_multiplicativeExpression = 226, RULE_unaryExpression = 227, RULE_preIncrementExpression = 228, + RULE_preDecrementExpression = 229, RULE_unaryExpressionNotPlusMinus = 230, + RULE_postfixExpression = 231, RULE_postIncrementExpression = 232, RULE_postIncrementExpression_lf_postfixExpression = 233, + RULE_postDecrementExpression = 234, RULE_postDecrementExpression_lf_postfixExpression = 235, + RULE_castExpression = 236; + public static final String[] ruleNames = { + "literal", "type", "primitiveType", "numericType", "integralType", "floatingPointType", + "referenceType", "classOrInterfaceType", "classType", "classType_lf_classOrInterfaceType", + "classType_lfno_classOrInterfaceType", "interfaceType", "interfaceType_lf_classOrInterfaceType", + "interfaceType_lfno_classOrInterfaceType", "typeVariable", "arrayType", + "dims", "typeParameter", "typeParameterModifier", "typeBound", "additionalBound", + "typeArguments", "typeArgumentList", "typeArgument", "wildcard", "wildcardBounds", + "packageName", "typeName", "packageOrTypeName", "expressionName", "methodName", + "ambiguousName", "compilationUnit", "packageDeclaration", "packageModifier", + "importDeclaration", "singleTypeImportDeclaration", "typeImportOnDemandDeclaration", + "singleStaticImportDeclaration", "staticImportOnDemandDeclaration", "typeDeclaration", + "classDeclaration", "normalClassDeclaration", "classModifier", "typeParameters", + "typeParameterList", "superclass", "superinterfaces", "interfaceTypeList", + "classBody", "classBodyDeclaration", "classMemberDeclaration", "fieldDeclaration", + "fieldModifier", "variableDeclaratorList", "variableDeclarator", "variableDeclaratorId", + "variableInitializer", "unannType", "unannPrimitiveType", "unannReferenceType", + "unannClassOrInterfaceType", "unannClassType", "unannClassType_lf_unannClassOrInterfaceType", + "unannClassType_lfno_unannClassOrInterfaceType", "unannInterfaceType", + "unannInterfaceType_lf_unannClassOrInterfaceType", "unannInterfaceType_lfno_unannClassOrInterfaceType", + "unannTypeVariable", "unannArrayType", "methodDeclaration", "methodModifier", + "methodHeader", "result", "methodDeclarator", "formalParameterList", "formalParameters", + "formalParameter", "variableModifier", "lastFormalParameter", "receiverParameter", + "throws_", "exceptionTypeList", "exceptionType", "methodBody", "instanceInitializer", + "staticInitializer", "constructorDeclaration", "constructorModifier", + "constructorDeclarator", "simpleTypeName", "constructorBody", "explicitConstructorInvocation", + "enumDeclaration", "enumBody", "enumConstantList", "enumConstant", "enumConstantModifier", + "enumBodyDeclarations", "interfaceDeclaration", "normalInterfaceDeclaration", + "interfaceModifier", "extendsInterfaces", "interfaceBody", "interfaceMemberDeclaration", + "constantDeclaration", "constantModifier", "interfaceMethodDeclaration", + "interfaceMethodModifier", "annotationTypeDeclaration", "annotationTypeBody", + "annotationTypeMemberDeclaration", "annotationTypeElementDeclaration", + "annotationTypeElementModifier", "defaultValue", "annotation", "normalAnnotation", + "elementValuePairList", "elementValuePair", "elementValue", "elementValueArrayInitializer", + "elementValueList", "markerAnnotation", "singleElementAnnotation", "arrayInitializer", + "variableInitializerList", "block", "blockStatements", "blockStatement", + "localVariableDeclarationStatement", "localVariableDeclaration", "statement", + "statementNoShortIf", "statementWithoutTrailingSubstatement", "emptyStatement", + "labeledStatement", "labeledStatementNoShortIf", "expressionStatement", + "statementExpression", "ifThenStatement", "ifThenElseStatement", "ifThenElseStatementNoShortIf", + "assertStatement", "switchStatement", "switchBlock", "switchBlockStatementGroup", + "switchLabels", "switchLabel", "enumConstantName", "whileStatement", "whileStatementNoShortIf", + "doStatement", "forStatement", "forStatementNoShortIf", "basicForStatement", + "basicForStatementNoShortIf", "forInit", "forUpdate", "statementExpressionList", + "enhancedForStatement", "enhancedForStatementNoShortIf", "breakStatement", + "continueStatement", "returnStatement", "throwStatement", "synchronizedStatement", + "tryStatement", "catches", "catchClause", "catchFormalParameter", "catchType", + "finally_", "tryWithResourcesStatement", "resourceSpecification", "resourceList", + "resource", "primary", "primaryNoNewArray", "primaryNoNewArray_lf_arrayAccess", + "primaryNoNewArray_lfno_arrayAccess", "primaryNoNewArray_lf_primary", + "primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary", "primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary", + "primaryNoNewArray_lfno_primary", "primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary", + "primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary", "classInstanceCreationExpression", + "classInstanceCreationExpression_lf_primary", "classInstanceCreationExpression_lfno_primary", + "typeArgumentsOrDiamond", "fieldAccess", "fieldAccess_lf_primary", "fieldAccess_lfno_primary", + "arrayAccess", "arrayAccess_lf_primary", "arrayAccess_lfno_primary", "methodInvocation", + "methodInvocation_lf_primary", "methodInvocation_lfno_primary", "argumentList", + "methodReference", "methodReference_lf_primary", "methodReference_lfno_primary", + "arrayCreationExpression", "dimExprs", "dimExpr", "constantExpression", + "expression", "lambdaExpression", "lambdaParameters", "inferredFormalParameterList", + "lambdaBody", "assignmentExpression", "assignment", "leftHandSide", "assignmentOperator", + "conditionalExpression", "conditionalOrExpression", "conditionalAndExpression", + "inclusiveOrExpression", "exclusiveOrExpression", "andExpression", "equalityExpression", + "relationalExpression", "shiftExpression", "additiveExpression", "multiplicativeExpression", + "unaryExpression", "preIncrementExpression", "preDecrementExpression", + "unaryExpressionNotPlusMinus", "postfixExpression", "postIncrementExpression", + "postIncrementExpression_lf_postfixExpression", "postDecrementExpression", + "postDecrementExpression_lf_postfixExpression", "castExpression" + }; + + private static final String[] _LITERAL_NAMES = { + null, "'abstract'", "'assert'", "'boolean'", "'break'", "'byte'", "'case'", + "'catch'", "'char'", "'class'", "'const'", "'continue'", "'default'", + "'do'", "'double'", "'else'", "'enum'", "'extends'", "'final'", "'finally'", + "'float'", "'for'", "'if'", "'goto'", "'implements'", "'import'", "'instanceof'", + "'int'", "'interface'", "'long'", "'native'", "'new'", "'package'", "'private'", + "'protected'", "'public'", "'return'", "'short'", "'static'", "'strictfp'", + "'super'", "'switch'", "'synchronized'", "'this'", "'throw'", "'throws'", + "'transient'", "'try'", "'void'", "'volatile'", "'while'", null, null, + null, null, null, "'null'", "'('", "')'", "'{'", "'}'", "'['", "']'", + "';'", "','", "'.'", "'='", "'>'", "'<'", "'!'", "'~'", "'?'", "':'", + "'=='", "'<='", "'>='", "'!='", "'&&'", "'||'", "'++'", "'--'", "'+'", + "'-'", "'*'", "'/'", "'&'", "'|'", "'^'", "'%'", "'->'", "'::'", "'+='", + "'-='", "'*='", "'/='", "'&='", "'|='", "'^='", "'%='", "'<<='", "'>>='", + "'>>>='", null, "'@'", "'...'" + }; + private static final String[] _SYMBOLIC_NAMES = { + null, "ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", "CATCH", + "CHAR", "CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", "ELSE", + "ENUM", "EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", "IMPLEMENTS", + "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", "NEW", "PACKAGE", + "PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", "STATIC", "STRICTFP", + "SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", "THROWS", "TRANSIENT", + "TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", "FloatingPointLiteral", + "BooleanLiteral", "CharacterLiteral", "StringLiteral", "NullLiteral", + "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK", "SEMI", "COMMA", + "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION", "COLON", "EQUAL", + "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD", "SUB", "MUL", + "DIV", "BITAND", "BITOR", "CARET", "MOD", "ARROW", "COLONCOLON", "ADD_ASSIGN", + "SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", "OR_ASSIGN", "XOR_ASSIGN", + "MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", "URSHIFT_ASSIGN", "Identifier", + "AT", "ELLIPSIS", "WS", "COMMENT", "LINE_COMMENT" + }; + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "Java8.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public Java8Parser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + public static class LiteralContext extends ParserRuleContext { + public TerminalNode IntegerLiteral() { return getToken(Java8Parser.IntegerLiteral, 0); } + public TerminalNode FloatingPointLiteral() { return getToken(Java8Parser.FloatingPointLiteral, 0); } + public TerminalNode BooleanLiteral() { return getToken(Java8Parser.BooleanLiteral, 0); } + public TerminalNode CharacterLiteral() { return getToken(Java8Parser.CharacterLiteral, 0); } + public TerminalNode StringLiteral() { return getToken(Java8Parser.StringLiteral, 0); } + public TerminalNode NullLiteral() { return getToken(Java8Parser.NullLiteral, 0); } + public LiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_literal; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLiteral(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLiteral(this); + } + } + + public final LiteralContext literal() throws RecognitionException { + LiteralContext _localctx = new LiteralContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_literal); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(474); + _la = _input.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral))) != 0)) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeContext extends ParserRuleContext { + public PrimitiveTypeContext primitiveType() { + return getRuleContext(PrimitiveTypeContext.class,0); + } + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public TypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_type; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitType(this); + } + } + + public final TypeContext type() throws RecognitionException { + TypeContext _localctx = new TypeContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_type); + try { + setState(478); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(476); + primitiveType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(477); + referenceType(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimitiveTypeContext extends ParserRuleContext { + public NumericTypeContext numericType() { + return getRuleContext(NumericTypeContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public PrimitiveTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primitiveType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimitiveType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimitiveType(this); + } + } + + public final PrimitiveTypeContext primitiveType() throws RecognitionException { + PrimitiveTypeContext _localctx = new PrimitiveTypeContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_primitiveType); + int _la; + try { + setState(494); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(483); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(480); + annotation(); + } + } + setState(485); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(486); + numericType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(490); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(487); + annotation(); + } + } + setState(492); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(493); + match(BOOLEAN); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class NumericTypeContext extends ParserRuleContext { + public IntegralTypeContext integralType() { + return getRuleContext(IntegralTypeContext.class,0); + } + public FloatingPointTypeContext floatingPointType() { + return getRuleContext(FloatingPointTypeContext.class,0); + } + public NumericTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_numericType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNumericType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNumericType(this); + } + } + + public final NumericTypeContext numericType() throws RecognitionException { + NumericTypeContext _localctx = new NumericTypeContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_numericType); + try { + setState(498); + switch (_input.LA(1)) { + case BYTE: + case CHAR: + case INT: + case LONG: + case SHORT: + enterOuterAlt(_localctx, 1); + { + setState(496); + integralType(); + } + break; + case DOUBLE: + case FLOAT: + enterOuterAlt(_localctx, 2); + { + setState(497); + floatingPointType(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IntegralTypeContext extends ParserRuleContext { + public IntegralTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_integralType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIntegralType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIntegralType(this); + } + } + + public final IntegralTypeContext integralType() throws RecognitionException { + IntegralTypeContext _localctx = new IntegralTypeContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_integralType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(500); + _la = _input.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BYTE) | (1L << CHAR) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0)) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FloatingPointTypeContext extends ParserRuleContext { + public FloatingPointTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_floatingPointType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFloatingPointType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFloatingPointType(this); + } + } + + public final FloatingPointTypeContext floatingPointType() throws RecognitionException { + FloatingPointTypeContext _localctx = new FloatingPointTypeContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_floatingPointType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(502); + _la = _input.LA(1); + if ( !(_la==DOUBLE || _la==FLOAT) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ReferenceTypeContext extends ParserRuleContext { + public ClassOrInterfaceTypeContext classOrInterfaceType() { + return getRuleContext(ClassOrInterfaceTypeContext.class,0); + } + public TypeVariableContext typeVariable() { + return getRuleContext(TypeVariableContext.class,0); + } + public ArrayTypeContext arrayType() { + return getRuleContext(ArrayTypeContext.class,0); + } + public ReferenceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_referenceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterReferenceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitReferenceType(this); + } + } + + public final ReferenceTypeContext referenceType() throws RecognitionException { + ReferenceTypeContext _localctx = new ReferenceTypeContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_referenceType); + try { + setState(507); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(504); + classOrInterfaceType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(505); + typeVariable(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(506); + arrayType(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassOrInterfaceTypeContext extends ParserRuleContext { + public ClassType_lfno_classOrInterfaceTypeContext classType_lfno_classOrInterfaceType() { + return getRuleContext(ClassType_lfno_classOrInterfaceTypeContext.class,0); + } + public InterfaceType_lfno_classOrInterfaceTypeContext interfaceType_lfno_classOrInterfaceType() { + return getRuleContext(InterfaceType_lfno_classOrInterfaceTypeContext.class,0); + } + public List classType_lf_classOrInterfaceType() { + return getRuleContexts(ClassType_lf_classOrInterfaceTypeContext.class); + } + public ClassType_lf_classOrInterfaceTypeContext classType_lf_classOrInterfaceType(int i) { + return getRuleContext(ClassType_lf_classOrInterfaceTypeContext.class,i); + } + public List interfaceType_lf_classOrInterfaceType() { + return getRuleContexts(InterfaceType_lf_classOrInterfaceTypeContext.class); + } + public InterfaceType_lf_classOrInterfaceTypeContext interfaceType_lf_classOrInterfaceType(int i) { + return getRuleContext(InterfaceType_lf_classOrInterfaceTypeContext.class,i); + } + public ClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassOrInterfaceType(this); + } + } + + public final ClassOrInterfaceTypeContext classOrInterfaceType() throws RecognitionException { + ClassOrInterfaceTypeContext _localctx = new ClassOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_classOrInterfaceType); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(511); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) { + case 1: + { + setState(509); + classType_lfno_classOrInterfaceType(); + } + break; + case 2: + { + setState(510); + interfaceType_lfno_classOrInterfaceType(); + } + break; + } + setState(517); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,8,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + setState(515); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) { + case 1: + { + setState(513); + classType_lf_classOrInterfaceType(); + } + break; + case 2: + { + setState(514); + interfaceType_lf_classOrInterfaceType(); + } + break; + } + } + } + setState(519); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,8,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassTypeContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ClassOrInterfaceTypeContext classOrInterfaceType() { + return getRuleContext(ClassOrInterfaceTypeContext.class,0); + } + public ClassTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassType(this); + } + } + + public final ClassTypeContext classType() throws RecognitionException { + ClassTypeContext _localctx = new ClassTypeContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_classType); + int _la; + try { + setState(542); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,13,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(523); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(520); + annotation(); + } + } + setState(525); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(526); + match(Identifier); + setState(528); + _la = _input.LA(1); + if (_la==LT) { + { + setState(527); + typeArguments(); + } + } + + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(530); + classOrInterfaceType(); + setState(531); + match(DOT); + setState(535); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(532); + annotation(); + } + } + setState(537); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(538); + match(Identifier); + setState(540); + _la = _input.LA(1); + if (_la==LT) { + { + setState(539); + typeArguments(); + } + } + + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassType_lf_classOrInterfaceTypeContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ClassType_lf_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classType_lf_classOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassType_lf_classOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassType_lf_classOrInterfaceType(this); + } + } + + public final ClassType_lf_classOrInterfaceTypeContext classType_lf_classOrInterfaceType() throws RecognitionException { + ClassType_lf_classOrInterfaceTypeContext _localctx = new ClassType_lf_classOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_classType_lf_classOrInterfaceType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(544); + match(DOT); + setState(548); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(545); + annotation(); + } + } + setState(550); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(551); + match(Identifier); + setState(553); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,15,_ctx) ) { + case 1: + { + setState(552); + typeArguments(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassType_lfno_classOrInterfaceTypeContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ClassType_lfno_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classType_lfno_classOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassType_lfno_classOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassType_lfno_classOrInterfaceType(this); + } + } + + public final ClassType_lfno_classOrInterfaceTypeContext classType_lfno_classOrInterfaceType() throws RecognitionException { + ClassType_lfno_classOrInterfaceTypeContext _localctx = new ClassType_lfno_classOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_classType_lfno_classOrInterfaceType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(558); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(555); + annotation(); + } + } + setState(560); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(561); + match(Identifier); + setState(563); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) { + case 1: + { + setState(562); + typeArguments(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceTypeContext extends ParserRuleContext { + public ClassTypeContext classType() { + return getRuleContext(ClassTypeContext.class,0); + } + public InterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceType(this); + } + } + + public final InterfaceTypeContext interfaceType() throws RecognitionException { + InterfaceTypeContext _localctx = new InterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 22, RULE_interfaceType); + try { + enterOuterAlt(_localctx, 1); + { + setState(565); + classType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceType_lf_classOrInterfaceTypeContext extends ParserRuleContext { + public ClassType_lf_classOrInterfaceTypeContext classType_lf_classOrInterfaceType() { + return getRuleContext(ClassType_lf_classOrInterfaceTypeContext.class,0); + } + public InterfaceType_lf_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceType_lf_classOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceType_lf_classOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceType_lf_classOrInterfaceType(this); + } + } + + public final InterfaceType_lf_classOrInterfaceTypeContext interfaceType_lf_classOrInterfaceType() throws RecognitionException { + InterfaceType_lf_classOrInterfaceTypeContext _localctx = new InterfaceType_lf_classOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 24, RULE_interfaceType_lf_classOrInterfaceType); + try { + enterOuterAlt(_localctx, 1); + { + setState(567); + classType_lf_classOrInterfaceType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceType_lfno_classOrInterfaceTypeContext extends ParserRuleContext { + public ClassType_lfno_classOrInterfaceTypeContext classType_lfno_classOrInterfaceType() { + return getRuleContext(ClassType_lfno_classOrInterfaceTypeContext.class,0); + } + public InterfaceType_lfno_classOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceType_lfno_classOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceType_lfno_classOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceType_lfno_classOrInterfaceType(this); + } + } + + public final InterfaceType_lfno_classOrInterfaceTypeContext interfaceType_lfno_classOrInterfaceType() throws RecognitionException { + InterfaceType_lfno_classOrInterfaceTypeContext _localctx = new InterfaceType_lfno_classOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 26, RULE_interfaceType_lfno_classOrInterfaceType); + try { + enterOuterAlt(_localctx, 1); + { + setState(569); + classType_lfno_classOrInterfaceType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeVariableContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeVariableContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeVariable; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeVariable(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeVariable(this); + } + } + + public final TypeVariableContext typeVariable() throws RecognitionException { + TypeVariableContext _localctx = new TypeVariableContext(_ctx, getState()); + enterRule(_localctx, 28, RULE_typeVariable); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(574); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(571); + annotation(); + } + } + setState(576); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(577); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArrayTypeContext extends ParserRuleContext { + public PrimitiveTypeContext primitiveType() { + return getRuleContext(PrimitiveTypeContext.class,0); + } + public DimsContext dims() { + return getRuleContext(DimsContext.class,0); + } + public ClassOrInterfaceTypeContext classOrInterfaceType() { + return getRuleContext(ClassOrInterfaceTypeContext.class,0); + } + public TypeVariableContext typeVariable() { + return getRuleContext(TypeVariableContext.class,0); + } + public ArrayTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayType(this); + } + } + + public final ArrayTypeContext arrayType() throws RecognitionException { + ArrayTypeContext _localctx = new ArrayTypeContext(_ctx, getState()); + enterRule(_localctx, 30, RULE_arrayType); + try { + setState(588); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,19,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(579); + primitiveType(); + setState(580); + dims(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(582); + classOrInterfaceType(); + setState(583); + dims(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(585); + typeVariable(); + setState(586); + dims(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DimsContext extends ParserRuleContext { + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public DimsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_dims; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDims(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDims(this); + } + } + + public final DimsContext dims() throws RecognitionException { + DimsContext _localctx = new DimsContext(_ctx, getState()); + enterRule(_localctx, 32, RULE_dims); + int _la; + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(593); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(590); + annotation(); + } + } + setState(595); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(596); + match(LBRACK); + setState(597); + match(RBRACK); + setState(608); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,22,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(601); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(598); + annotation(); + } + } + setState(603); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(604); + match(LBRACK); + setState(605); + match(RBRACK); + } + } + } + setState(610); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,22,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeParameterContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List typeParameterModifier() { + return getRuleContexts(TypeParameterModifierContext.class); + } + public TypeParameterModifierContext typeParameterModifier(int i) { + return getRuleContext(TypeParameterModifierContext.class,i); + } + public TypeBoundContext typeBound() { + return getRuleContext(TypeBoundContext.class,0); + } + public TypeParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameter(this); + } + } + + public final TypeParameterContext typeParameter() throws RecognitionException { + TypeParameterContext _localctx = new TypeParameterContext(_ctx, getState()); + enterRule(_localctx, 34, RULE_typeParameter); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(614); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(611); + typeParameterModifier(); + } + } + setState(616); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(617); + match(Identifier); + setState(619); + _la = _input.LA(1); + if (_la==EXTENDS) { + { + setState(618); + typeBound(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeParameterModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public TypeParameterModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeParameterModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameterModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameterModifier(this); + } + } + + public final TypeParameterModifierContext typeParameterModifier() throws RecognitionException { + TypeParameterModifierContext _localctx = new TypeParameterModifierContext(_ctx, getState()); + enterRule(_localctx, 36, RULE_typeParameterModifier); + try { + enterOuterAlt(_localctx, 1); + { + setState(621); + annotation(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeBoundContext extends ParserRuleContext { + public TypeVariableContext typeVariable() { + return getRuleContext(TypeVariableContext.class,0); + } + public ClassOrInterfaceTypeContext classOrInterfaceType() { + return getRuleContext(ClassOrInterfaceTypeContext.class,0); + } + public List additionalBound() { + return getRuleContexts(AdditionalBoundContext.class); + } + public AdditionalBoundContext additionalBound(int i) { + return getRuleContext(AdditionalBoundContext.class,i); + } + public TypeBoundContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeBound; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeBound(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeBound(this); + } + } + + public final TypeBoundContext typeBound() throws RecognitionException { + TypeBoundContext _localctx = new TypeBoundContext(_ctx, getState()); + enterRule(_localctx, 38, RULE_typeBound); + int _la; + try { + setState(633); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(623); + match(EXTENDS); + setState(624); + typeVariable(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(625); + match(EXTENDS); + setState(626); + classOrInterfaceType(); + setState(630); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==BITAND) { + { + { + setState(627); + additionalBound(); + } + } + setState(632); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AdditionalBoundContext extends ParserRuleContext { + public InterfaceTypeContext interfaceType() { + return getRuleContext(InterfaceTypeContext.class,0); + } + public AdditionalBoundContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_additionalBound; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAdditionalBound(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAdditionalBound(this); + } + } + + public final AdditionalBoundContext additionalBound() throws RecognitionException { + AdditionalBoundContext _localctx = new AdditionalBoundContext(_ctx, getState()); + enterRule(_localctx, 40, RULE_additionalBound); + try { + enterOuterAlt(_localctx, 1); + { + setState(635); + match(BITAND); + setState(636); + interfaceType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeArgumentsContext extends ParserRuleContext { + public TypeArgumentListContext typeArgumentList() { + return getRuleContext(TypeArgumentListContext.class,0); + } + public TypeArgumentsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeArguments; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArguments(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArguments(this); + } + } + + public final TypeArgumentsContext typeArguments() throws RecognitionException { + TypeArgumentsContext _localctx = new TypeArgumentsContext(_ctx, getState()); + enterRule(_localctx, 42, RULE_typeArguments); + try { + enterOuterAlt(_localctx, 1); + { + setState(638); + match(LT); + setState(639); + typeArgumentList(); + setState(640); + match(GT); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeArgumentListContext extends ParserRuleContext { + public List typeArgument() { + return getRuleContexts(TypeArgumentContext.class); + } + public TypeArgumentContext typeArgument(int i) { + return getRuleContext(TypeArgumentContext.class,i); + } + public TypeArgumentListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeArgumentList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArgumentList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArgumentList(this); + } + } + + public final TypeArgumentListContext typeArgumentList() throws RecognitionException { + TypeArgumentListContext _localctx = new TypeArgumentListContext(_ctx, getState()); + enterRule(_localctx, 44, RULE_typeArgumentList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(642); + typeArgument(); + setState(647); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(643); + match(COMMA); + setState(644); + typeArgument(); + } + } + setState(649); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeArgumentContext extends ParserRuleContext { + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public WildcardContext wildcard() { + return getRuleContext(WildcardContext.class,0); + } + public TypeArgumentContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeArgument; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArgument(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArgument(this); + } + } + + public final TypeArgumentContext typeArgument() throws RecognitionException { + TypeArgumentContext _localctx = new TypeArgumentContext(_ctx, getState()); + enterRule(_localctx, 46, RULE_typeArgument); + try { + setState(652); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,28,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(650); + referenceType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(651); + wildcard(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class WildcardContext extends ParserRuleContext { + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public WildcardBoundsContext wildcardBounds() { + return getRuleContext(WildcardBoundsContext.class,0); + } + public WildcardContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_wildcard; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWildcard(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWildcard(this); + } + } + + public final WildcardContext wildcard() throws RecognitionException { + WildcardContext _localctx = new WildcardContext(_ctx, getState()); + enterRule(_localctx, 48, RULE_wildcard); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(657); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(654); + annotation(); + } + } + setState(659); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(660); + match(QUESTION); + setState(662); + _la = _input.LA(1); + if (_la==EXTENDS || _la==SUPER) { + { + setState(661); + wildcardBounds(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class WildcardBoundsContext extends ParserRuleContext { + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public WildcardBoundsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_wildcardBounds; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWildcardBounds(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWildcardBounds(this); + } + } + + public final WildcardBoundsContext wildcardBounds() throws RecognitionException { + WildcardBoundsContext _localctx = new WildcardBoundsContext(_ctx, getState()); + enterRule(_localctx, 50, RULE_wildcardBounds); + try { + setState(668); + switch (_input.LA(1)) { + case EXTENDS: + enterOuterAlt(_localctx, 1); + { + setState(664); + match(EXTENDS); + setState(665); + referenceType(); + } + break; + case SUPER: + enterOuterAlt(_localctx, 2); + { + setState(666); + match(SUPER); + setState(667); + referenceType(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PackageNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public PackageNameContext packageName() { + return getRuleContext(PackageNameContext.class,0); + } + public PackageNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_packageName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageName(this); + } + } + + public final PackageNameContext packageName() throws RecognitionException { + return packageName(0); + } + + private PackageNameContext packageName(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + PackageNameContext _localctx = new PackageNameContext(_ctx, _parentState); + PackageNameContext _prevctx = _localctx; + int _startState = 52; + enterRecursionRule(_localctx, 52, RULE_packageName, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(671); + match(Identifier); + } + _ctx.stop = _input.LT(-1); + setState(678); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,32,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new PackageNameContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_packageName); + setState(673); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(674); + match(DOT); + setState(675); + match(Identifier); + } + } + } + setState(680); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,32,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class TypeNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public PackageOrTypeNameContext packageOrTypeName() { + return getRuleContext(PackageOrTypeNameContext.class,0); + } + public TypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeName(this); + } + } + + public final TypeNameContext typeName() throws RecognitionException { + TypeNameContext _localctx = new TypeNameContext(_ctx, getState()); + enterRule(_localctx, 54, RULE_typeName); + try { + setState(686); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,33,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(681); + match(Identifier); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(682); + packageOrTypeName(0); + setState(683); + match(DOT); + setState(684); + match(Identifier); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PackageOrTypeNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public PackageOrTypeNameContext packageOrTypeName() { + return getRuleContext(PackageOrTypeNameContext.class,0); + } + public PackageOrTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_packageOrTypeName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageOrTypeName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageOrTypeName(this); + } + } + + public final PackageOrTypeNameContext packageOrTypeName() throws RecognitionException { + return packageOrTypeName(0); + } + + private PackageOrTypeNameContext packageOrTypeName(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + PackageOrTypeNameContext _localctx = new PackageOrTypeNameContext(_ctx, _parentState); + PackageOrTypeNameContext _prevctx = _localctx; + int _startState = 56; + enterRecursionRule(_localctx, 56, RULE_packageOrTypeName, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(689); + match(Identifier); + } + _ctx.stop = _input.LT(-1); + setState(696); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,34,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new PackageOrTypeNameContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_packageOrTypeName); + setState(691); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(692); + match(DOT); + setState(693); + match(Identifier); + } + } + } + setState(698); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,34,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class ExpressionNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public AmbiguousNameContext ambiguousName() { + return getRuleContext(AmbiguousNameContext.class,0); + } + public ExpressionNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_expressionName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExpressionName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExpressionName(this); + } + } + + public final ExpressionNameContext expressionName() throws RecognitionException { + ExpressionNameContext _localctx = new ExpressionNameContext(_ctx, getState()); + enterRule(_localctx, 58, RULE_expressionName); + try { + setState(704); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,35,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(699); + match(Identifier); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(700); + ambiguousName(0); + setState(701); + match(DOT); + setState(702); + match(Identifier); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public MethodNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodName(this); + } + } + + public final MethodNameContext methodName() throws RecognitionException { + MethodNameContext _localctx = new MethodNameContext(_ctx, getState()); + enterRule(_localctx, 60, RULE_methodName); + try { + enterOuterAlt(_localctx, 1); + { + setState(706); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AmbiguousNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public AmbiguousNameContext ambiguousName() { + return getRuleContext(AmbiguousNameContext.class,0); + } + public AmbiguousNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ambiguousName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAmbiguousName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAmbiguousName(this); + } + } + + public final AmbiguousNameContext ambiguousName() throws RecognitionException { + return ambiguousName(0); + } + + private AmbiguousNameContext ambiguousName(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + AmbiguousNameContext _localctx = new AmbiguousNameContext(_ctx, _parentState); + AmbiguousNameContext _prevctx = _localctx; + int _startState = 62; + enterRecursionRule(_localctx, 62, RULE_ambiguousName, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(709); + match(Identifier); + } + _ctx.stop = _input.LT(-1); + setState(716); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,36,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new AmbiguousNameContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_ambiguousName); + setState(711); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(712); + match(DOT); + setState(713); + match(Identifier); + } + } + } + setState(718); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,36,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class CompilationUnitContext extends ParserRuleContext { + public TerminalNode EOF() { return getToken(Java8Parser.EOF, 0); } + public PackageDeclarationContext packageDeclaration() { + return getRuleContext(PackageDeclarationContext.class,0); + } + public List importDeclaration() { + return getRuleContexts(ImportDeclarationContext.class); + } + public ImportDeclarationContext importDeclaration(int i) { + return getRuleContext(ImportDeclarationContext.class,i); + } + public List typeDeclaration() { + return getRuleContexts(TypeDeclarationContext.class); + } + public TypeDeclarationContext typeDeclaration(int i) { + return getRuleContext(TypeDeclarationContext.class,i); + } + public CompilationUnitContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_compilationUnit; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCompilationUnit(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCompilationUnit(this); + } + } + + public final CompilationUnitContext compilationUnit() throws RecognitionException { + CompilationUnitContext _localctx = new CompilationUnitContext(_ctx, getState()); + enterRule(_localctx, 64, RULE_compilationUnit); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(720); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,37,_ctx) ) { + case 1: + { + setState(719); + packageDeclaration(); + } + break; + } + setState(725); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==IMPORT) { + { + { + setState(722); + importDeclaration(); + } + } + setState(727); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(731); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << CLASS) | (1L << ENUM) | (1L << FINAL) | (1L << INTERFACE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP) | (1L << SEMI))) != 0) || _la==AT) { + { + { + setState(728); + typeDeclaration(); + } + } + setState(733); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(734); + match(EOF); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PackageDeclarationContext extends ParserRuleContext { + public List Identifier() { return getTokens(Java8Parser.Identifier); } + public TerminalNode Identifier(int i) { + return getToken(Java8Parser.Identifier, i); + } + public List packageModifier() { + return getRuleContexts(PackageModifierContext.class); + } + public PackageModifierContext packageModifier(int i) { + return getRuleContext(PackageModifierContext.class,i); + } + public PackageDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_packageDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageDeclaration(this); + } + } + + public final PackageDeclarationContext packageDeclaration() throws RecognitionException { + PackageDeclarationContext _localctx = new PackageDeclarationContext(_ctx, getState()); + enterRule(_localctx, 66, RULE_packageDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(739); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(736); + packageModifier(); + } + } + setState(741); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(742); + match(PACKAGE); + setState(743); + match(Identifier); + setState(748); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==DOT) { + { + { + setState(744); + match(DOT); + setState(745); + match(Identifier); + } + } + setState(750); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(751); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PackageModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public PackageModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_packageModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPackageModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPackageModifier(this); + } + } + + public final PackageModifierContext packageModifier() throws RecognitionException { + PackageModifierContext _localctx = new PackageModifierContext(_ctx, getState()); + enterRule(_localctx, 68, RULE_packageModifier); + try { + enterOuterAlt(_localctx, 1); + { + setState(753); + annotation(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ImportDeclarationContext extends ParserRuleContext { + public SingleTypeImportDeclarationContext singleTypeImportDeclaration() { + return getRuleContext(SingleTypeImportDeclarationContext.class,0); + } + public TypeImportOnDemandDeclarationContext typeImportOnDemandDeclaration() { + return getRuleContext(TypeImportOnDemandDeclarationContext.class,0); + } + public SingleStaticImportDeclarationContext singleStaticImportDeclaration() { + return getRuleContext(SingleStaticImportDeclarationContext.class,0); + } + public StaticImportOnDemandDeclarationContext staticImportOnDemandDeclaration() { + return getRuleContext(StaticImportOnDemandDeclarationContext.class,0); + } + public ImportDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_importDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterImportDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitImportDeclaration(this); + } + } + + public final ImportDeclarationContext importDeclaration() throws RecognitionException { + ImportDeclarationContext _localctx = new ImportDeclarationContext(_ctx, getState()); + enterRule(_localctx, 70, RULE_importDeclaration); + try { + setState(759); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(755); + singleTypeImportDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(756); + typeImportOnDemandDeclaration(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(757); + singleStaticImportDeclaration(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(758); + staticImportOnDemandDeclaration(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SingleTypeImportDeclarationContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public SingleTypeImportDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_singleTypeImportDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleTypeImportDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleTypeImportDeclaration(this); + } + } + + public final SingleTypeImportDeclarationContext singleTypeImportDeclaration() throws RecognitionException { + SingleTypeImportDeclarationContext _localctx = new SingleTypeImportDeclarationContext(_ctx, getState()); + enterRule(_localctx, 72, RULE_singleTypeImportDeclaration); + try { + enterOuterAlt(_localctx, 1); + { + setState(761); + match(IMPORT); + setState(762); + typeName(); + setState(763); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeImportOnDemandDeclarationContext extends ParserRuleContext { + public PackageOrTypeNameContext packageOrTypeName() { + return getRuleContext(PackageOrTypeNameContext.class,0); + } + public TypeImportOnDemandDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeImportOnDemandDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeImportOnDemandDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeImportOnDemandDeclaration(this); + } + } + + public final TypeImportOnDemandDeclarationContext typeImportOnDemandDeclaration() throws RecognitionException { + TypeImportOnDemandDeclarationContext _localctx = new TypeImportOnDemandDeclarationContext(_ctx, getState()); + enterRule(_localctx, 74, RULE_typeImportOnDemandDeclaration); + try { + enterOuterAlt(_localctx, 1); + { + setState(765); + match(IMPORT); + setState(766); + packageOrTypeName(0); + setState(767); + match(DOT); + setState(768); + match(MUL); + setState(769); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SingleStaticImportDeclarationContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public SingleStaticImportDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_singleStaticImportDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleStaticImportDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleStaticImportDeclaration(this); + } + } + + public final SingleStaticImportDeclarationContext singleStaticImportDeclaration() throws RecognitionException { + SingleStaticImportDeclarationContext _localctx = new SingleStaticImportDeclarationContext(_ctx, getState()); + enterRule(_localctx, 76, RULE_singleStaticImportDeclaration); + try { + enterOuterAlt(_localctx, 1); + { + setState(771); + match(IMPORT); + setState(772); + match(STATIC); + setState(773); + typeName(); + setState(774); + match(DOT); + setState(775); + match(Identifier); + setState(776); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StaticImportOnDemandDeclarationContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public StaticImportOnDemandDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_staticImportOnDemandDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStaticImportOnDemandDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStaticImportOnDemandDeclaration(this); + } + } + + public final StaticImportOnDemandDeclarationContext staticImportOnDemandDeclaration() throws RecognitionException { + StaticImportOnDemandDeclarationContext _localctx = new StaticImportOnDemandDeclarationContext(_ctx, getState()); + enterRule(_localctx, 78, RULE_staticImportOnDemandDeclaration); + try { + enterOuterAlt(_localctx, 1); + { + setState(778); + match(IMPORT); + setState(779); + match(STATIC); + setState(780); + typeName(); + setState(781); + match(DOT); + setState(782); + match(MUL); + setState(783); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeDeclarationContext extends ParserRuleContext { + public ClassDeclarationContext classDeclaration() { + return getRuleContext(ClassDeclarationContext.class,0); + } + public InterfaceDeclarationContext interfaceDeclaration() { + return getRuleContext(InterfaceDeclarationContext.class,0); + } + public TypeDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeDeclaration(this); + } + } + + public final TypeDeclarationContext typeDeclaration() throws RecognitionException { + TypeDeclarationContext _localctx = new TypeDeclarationContext(_ctx, getState()); + enterRule(_localctx, 80, RULE_typeDeclaration); + try { + setState(788); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,43,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(785); + classDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(786); + interfaceDeclaration(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(787); + match(SEMI); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassDeclarationContext extends ParserRuleContext { + public NormalClassDeclarationContext normalClassDeclaration() { + return getRuleContext(NormalClassDeclarationContext.class,0); + } + public EnumDeclarationContext enumDeclaration() { + return getRuleContext(EnumDeclarationContext.class,0); + } + public ClassDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassDeclaration(this); + } + } + + public final ClassDeclarationContext classDeclaration() throws RecognitionException { + ClassDeclarationContext _localctx = new ClassDeclarationContext(_ctx, getState()); + enterRule(_localctx, 82, RULE_classDeclaration); + try { + setState(792); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,44,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(790); + normalClassDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(791); + enumDeclaration(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class NormalClassDeclarationContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public ClassBodyContext classBody() { + return getRuleContext(ClassBodyContext.class,0); + } + public List classModifier() { + return getRuleContexts(ClassModifierContext.class); + } + public ClassModifierContext classModifier(int i) { + return getRuleContext(ClassModifierContext.class,i); + } + public TypeParametersContext typeParameters() { + return getRuleContext(TypeParametersContext.class,0); + } + public SuperclassContext superclass() { + return getRuleContext(SuperclassContext.class,0); + } + public SuperinterfacesContext superinterfaces() { + return getRuleContext(SuperinterfacesContext.class,0); + } + public NormalClassDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_normalClassDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNormalClassDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNormalClassDeclaration(this); + } + } + + public final NormalClassDeclarationContext normalClassDeclaration() throws RecognitionException { + NormalClassDeclarationContext _localctx = new NormalClassDeclarationContext(_ctx, getState()); + enterRule(_localctx, 84, RULE_normalClassDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(797); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { + { + { + setState(794); + classModifier(); + } + } + setState(799); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(800); + match(CLASS); + setState(801); + match(Identifier); + setState(803); + _la = _input.LA(1); + if (_la==LT) { + { + setState(802); + typeParameters(); + } + } + + setState(806); + _la = _input.LA(1); + if (_la==EXTENDS) { + { + setState(805); + superclass(); + } + } + + setState(809); + _la = _input.LA(1); + if (_la==IMPLEMENTS) { + { + setState(808); + superinterfaces(); + } + } + + setState(811); + classBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public ClassModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassModifier(this); + } + } + + public final ClassModifierContext classModifier() throws RecognitionException { + ClassModifierContext _localctx = new ClassModifierContext(_ctx, getState()); + enterRule(_localctx, 86, RULE_classModifier); + try { + setState(821); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(813); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(814); + match(PUBLIC); + } + break; + case PROTECTED: + enterOuterAlt(_localctx, 3); + { + setState(815); + match(PROTECTED); + } + break; + case PRIVATE: + enterOuterAlt(_localctx, 4); + { + setState(816); + match(PRIVATE); + } + break; + case ABSTRACT: + enterOuterAlt(_localctx, 5); + { + setState(817); + match(ABSTRACT); + } + break; + case STATIC: + enterOuterAlt(_localctx, 6); + { + setState(818); + match(STATIC); + } + break; + case FINAL: + enterOuterAlt(_localctx, 7); + { + setState(819); + match(FINAL); + } + break; + case STRICTFP: + enterOuterAlt(_localctx, 8); + { + setState(820); + match(STRICTFP); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeParametersContext extends ParserRuleContext { + public TypeParameterListContext typeParameterList() { + return getRuleContext(TypeParameterListContext.class,0); + } + public TypeParametersContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeParameters; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameters(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameters(this); + } + } + + public final TypeParametersContext typeParameters() throws RecognitionException { + TypeParametersContext _localctx = new TypeParametersContext(_ctx, getState()); + enterRule(_localctx, 88, RULE_typeParameters); + try { + enterOuterAlt(_localctx, 1); + { + setState(823); + match(LT); + setState(824); + typeParameterList(); + setState(825); + match(GT); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeParameterListContext extends ParserRuleContext { + public List typeParameter() { + return getRuleContexts(TypeParameterContext.class); + } + public TypeParameterContext typeParameter(int i) { + return getRuleContext(TypeParameterContext.class,i); + } + public TypeParameterListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeParameterList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeParameterList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeParameterList(this); + } + } + + public final TypeParameterListContext typeParameterList() throws RecognitionException { + TypeParameterListContext _localctx = new TypeParameterListContext(_ctx, getState()); + enterRule(_localctx, 90, RULE_typeParameterList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(827); + typeParameter(); + setState(832); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(828); + match(COMMA); + setState(829); + typeParameter(); + } + } + setState(834); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SuperclassContext extends ParserRuleContext { + public ClassTypeContext classType() { + return getRuleContext(ClassTypeContext.class,0); + } + public SuperclassContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_superclass; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSuperclass(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSuperclass(this); + } + } + + public final SuperclassContext superclass() throws RecognitionException { + SuperclassContext _localctx = new SuperclassContext(_ctx, getState()); + enterRule(_localctx, 92, RULE_superclass); + try { + enterOuterAlt(_localctx, 1); + { + setState(835); + match(EXTENDS); + setState(836); + classType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SuperinterfacesContext extends ParserRuleContext { + public InterfaceTypeListContext interfaceTypeList() { + return getRuleContext(InterfaceTypeListContext.class,0); + } + public SuperinterfacesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_superinterfaces; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSuperinterfaces(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSuperinterfaces(this); + } + } + + public final SuperinterfacesContext superinterfaces() throws RecognitionException { + SuperinterfacesContext _localctx = new SuperinterfacesContext(_ctx, getState()); + enterRule(_localctx, 94, RULE_superinterfaces); + try { + enterOuterAlt(_localctx, 1); + { + setState(838); + match(IMPLEMENTS); + setState(839); + interfaceTypeList(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceTypeListContext extends ParserRuleContext { + public List interfaceType() { + return getRuleContexts(InterfaceTypeContext.class); + } + public InterfaceTypeContext interfaceType(int i) { + return getRuleContext(InterfaceTypeContext.class,i); + } + public InterfaceTypeListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceTypeList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceTypeList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceTypeList(this); + } + } + + public final InterfaceTypeListContext interfaceTypeList() throws RecognitionException { + InterfaceTypeListContext _localctx = new InterfaceTypeListContext(_ctx, getState()); + enterRule(_localctx, 96, RULE_interfaceTypeList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(841); + interfaceType(); + setState(846); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(842); + match(COMMA); + setState(843); + interfaceType(); + } + } + setState(848); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassBodyContext extends ParserRuleContext { + public List classBodyDeclaration() { + return getRuleContexts(ClassBodyDeclarationContext.class); + } + public ClassBodyDeclarationContext classBodyDeclaration(int i) { + return getRuleContext(ClassBodyDeclarationContext.class,i); + } + public ClassBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassBody(this); + } + } + + public final ClassBodyContext classBody() throws RecognitionException { + ClassBodyContext _localctx = new ClassBodyContext(_ctx, getState()); + enterRule(_localctx, 98, RULE_classBody); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(849); + match(LBRACE); + setState(853); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED) | (1L << TRANSIENT) | (1L << VOID) | (1L << VOLATILE) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { + { + { + setState(850); + classBodyDeclaration(); + } + } + setState(855); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(856); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassBodyDeclarationContext extends ParserRuleContext { + public ClassMemberDeclarationContext classMemberDeclaration() { + return getRuleContext(ClassMemberDeclarationContext.class,0); + } + public InstanceInitializerContext instanceInitializer() { + return getRuleContext(InstanceInitializerContext.class,0); + } + public StaticInitializerContext staticInitializer() { + return getRuleContext(StaticInitializerContext.class,0); + } + public ConstructorDeclarationContext constructorDeclaration() { + return getRuleContext(ConstructorDeclarationContext.class,0); + } + public ClassBodyDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classBodyDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassBodyDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassBodyDeclaration(this); + } + } + + public final ClassBodyDeclarationContext classBodyDeclaration() throws RecognitionException { + ClassBodyDeclarationContext _localctx = new ClassBodyDeclarationContext(_ctx, getState()); + enterRule(_localctx, 100, RULE_classBodyDeclaration); + try { + setState(862); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,53,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(858); + classMemberDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(859); + instanceInitializer(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(860); + staticInitializer(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(861); + constructorDeclaration(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassMemberDeclarationContext extends ParserRuleContext { + public FieldDeclarationContext fieldDeclaration() { + return getRuleContext(FieldDeclarationContext.class,0); + } + public MethodDeclarationContext methodDeclaration() { + return getRuleContext(MethodDeclarationContext.class,0); + } + public ClassDeclarationContext classDeclaration() { + return getRuleContext(ClassDeclarationContext.class,0); + } + public InterfaceDeclarationContext interfaceDeclaration() { + return getRuleContext(InterfaceDeclarationContext.class,0); + } + public ClassMemberDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classMemberDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassMemberDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassMemberDeclaration(this); + } + } + + public final ClassMemberDeclarationContext classMemberDeclaration() throws RecognitionException { + ClassMemberDeclarationContext _localctx = new ClassMemberDeclarationContext(_ctx, getState()); + enterRule(_localctx, 102, RULE_classMemberDeclaration); + try { + setState(869); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,54,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(864); + fieldDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(865); + methodDeclaration(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(866); + classDeclaration(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(867); + interfaceDeclaration(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(868); + match(SEMI); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FieldDeclarationContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorListContext variableDeclaratorList() { + return getRuleContext(VariableDeclaratorListContext.class,0); + } + public List fieldModifier() { + return getRuleContexts(FieldModifierContext.class); + } + public FieldModifierContext fieldModifier(int i) { + return getRuleContext(FieldModifierContext.class,i); + } + public FieldDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fieldDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldDeclaration(this); + } + } + + public final FieldDeclarationContext fieldDeclaration() throws RecognitionException { + FieldDeclarationContext _localctx = new FieldDeclarationContext(_ctx, getState()); + enterRule(_localctx, 104, RULE_fieldDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(874); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << TRANSIENT) | (1L << VOLATILE))) != 0) || _la==AT) { + { + { + setState(871); + fieldModifier(); + } + } + setState(876); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(877); + unannType(); + setState(878); + variableDeclaratorList(); + setState(879); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FieldModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public FieldModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fieldModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldModifier(this); + } + } + + public final FieldModifierContext fieldModifier() throws RecognitionException { + FieldModifierContext _localctx = new FieldModifierContext(_ctx, getState()); + enterRule(_localctx, 106, RULE_fieldModifier); + try { + setState(889); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(881); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(882); + match(PUBLIC); + } + break; + case PROTECTED: + enterOuterAlt(_localctx, 3); + { + setState(883); + match(PROTECTED); + } + break; + case PRIVATE: + enterOuterAlt(_localctx, 4); + { + setState(884); + match(PRIVATE); + } + break; + case STATIC: + enterOuterAlt(_localctx, 5); + { + setState(885); + match(STATIC); + } + break; + case FINAL: + enterOuterAlt(_localctx, 6); + { + setState(886); + match(FINAL); + } + break; + case TRANSIENT: + enterOuterAlt(_localctx, 7); + { + setState(887); + match(TRANSIENT); + } + break; + case VOLATILE: + enterOuterAlt(_localctx, 8); + { + setState(888); + match(VOLATILE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VariableDeclaratorListContext extends ParserRuleContext { + public List variableDeclarator() { + return getRuleContexts(VariableDeclaratorContext.class); + } + public VariableDeclaratorContext variableDeclarator(int i) { + return getRuleContext(VariableDeclaratorContext.class,i); + } + public VariableDeclaratorListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableDeclaratorList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableDeclaratorList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableDeclaratorList(this); + } + } + + public final VariableDeclaratorListContext variableDeclaratorList() throws RecognitionException { + VariableDeclaratorListContext _localctx = new VariableDeclaratorListContext(_ctx, getState()); + enterRule(_localctx, 108, RULE_variableDeclaratorList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(891); + variableDeclarator(); + setState(896); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(892); + match(COMMA); + setState(893); + variableDeclarator(); + } + } + setState(898); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VariableDeclaratorContext extends ParserRuleContext { + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public VariableInitializerContext variableInitializer() { + return getRuleContext(VariableInitializerContext.class,0); + } + public VariableDeclaratorContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableDeclarator; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableDeclarator(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableDeclarator(this); + } + } + + public final VariableDeclaratorContext variableDeclarator() throws RecognitionException { + VariableDeclaratorContext _localctx = new VariableDeclaratorContext(_ctx, getState()); + enterRule(_localctx, 110, RULE_variableDeclarator); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(899); + variableDeclaratorId(); + setState(902); + _la = _input.LA(1); + if (_la==ASSIGN) { + { + setState(900); + match(ASSIGN); + setState(901); + variableInitializer(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VariableDeclaratorIdContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public DimsContext dims() { + return getRuleContext(DimsContext.class,0); + } + public VariableDeclaratorIdContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableDeclaratorId; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableDeclaratorId(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableDeclaratorId(this); + } + } + + public final VariableDeclaratorIdContext variableDeclaratorId() throws RecognitionException { + VariableDeclaratorIdContext _localctx = new VariableDeclaratorIdContext(_ctx, getState()); + enterRule(_localctx, 112, RULE_variableDeclaratorId); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(904); + match(Identifier); + setState(906); + _la = _input.LA(1); + if (_la==LBRACK || _la==AT) { + { + setState(905); + dims(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VariableInitializerContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ArrayInitializerContext arrayInitializer() { + return getRuleContext(ArrayInitializerContext.class,0); + } + public VariableInitializerContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableInitializer; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableInitializer(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableInitializer(this); + } + } + + public final VariableInitializerContext variableInitializer() throws RecognitionException { + VariableInitializerContext _localctx = new VariableInitializerContext(_ctx, getState()); + enterRule(_localctx, 114, RULE_variableInitializer); + try { + setState(910); + switch (_input.LA(1)) { + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case NEW: + case SHORT: + case SUPER: + case THIS: + case VOID: + case IntegerLiteral: + case FloatingPointLiteral: + case BooleanLiteral: + case CharacterLiteral: + case StringLiteral: + case NullLiteral: + case LPAREN: + case BANG: + case TILDE: + case INC: + case DEC: + case ADD: + case SUB: + case Identifier: + case AT: + enterOuterAlt(_localctx, 1); + { + setState(908); + expression(); + } + break; + case LBRACE: + enterOuterAlt(_localctx, 2); + { + setState(909); + arrayInitializer(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannTypeContext extends ParserRuleContext { + public UnannPrimitiveTypeContext unannPrimitiveType() { + return getRuleContext(UnannPrimitiveTypeContext.class,0); + } + public UnannReferenceTypeContext unannReferenceType() { + return getRuleContext(UnannReferenceTypeContext.class,0); + } + public UnannTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannType(this); + } + } + + public final UnannTypeContext unannType() throws RecognitionException { + UnannTypeContext _localctx = new UnannTypeContext(_ctx, getState()); + enterRule(_localctx, 116, RULE_unannType); + try { + setState(914); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,61,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(912); + unannPrimitiveType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(913); + unannReferenceType(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannPrimitiveTypeContext extends ParserRuleContext { + public NumericTypeContext numericType() { + return getRuleContext(NumericTypeContext.class,0); + } + public UnannPrimitiveTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannPrimitiveType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannPrimitiveType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannPrimitiveType(this); + } + } + + public final UnannPrimitiveTypeContext unannPrimitiveType() throws RecognitionException { + UnannPrimitiveTypeContext _localctx = new UnannPrimitiveTypeContext(_ctx, getState()); + enterRule(_localctx, 118, RULE_unannPrimitiveType); + try { + setState(918); + switch (_input.LA(1)) { + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case SHORT: + enterOuterAlt(_localctx, 1); + { + setState(916); + numericType(); + } + break; + case BOOLEAN: + enterOuterAlt(_localctx, 2); + { + setState(917); + match(BOOLEAN); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannReferenceTypeContext extends ParserRuleContext { + public UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() { + return getRuleContext(UnannClassOrInterfaceTypeContext.class,0); + } + public UnannTypeVariableContext unannTypeVariable() { + return getRuleContext(UnannTypeVariableContext.class,0); + } + public UnannArrayTypeContext unannArrayType() { + return getRuleContext(UnannArrayTypeContext.class,0); + } + public UnannReferenceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannReferenceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannReferenceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannReferenceType(this); + } + } + + public final UnannReferenceTypeContext unannReferenceType() throws RecognitionException { + UnannReferenceTypeContext _localctx = new UnannReferenceTypeContext(_ctx, getState()); + enterRule(_localctx, 120, RULE_unannReferenceType); + try { + setState(923); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,63,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(920); + unannClassOrInterfaceType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(921); + unannTypeVariable(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(922); + unannArrayType(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannClassOrInterfaceTypeContext extends ParserRuleContext { + public UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() { + return getRuleContext(UnannClassType_lfno_unannClassOrInterfaceTypeContext.class,0); + } + public UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext unannInterfaceType_lfno_unannClassOrInterfaceType() { + return getRuleContext(UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext.class,0); + } + public List unannClassType_lf_unannClassOrInterfaceType() { + return getRuleContexts(UnannClassType_lf_unannClassOrInterfaceTypeContext.class); + } + public UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType(int i) { + return getRuleContext(UnannClassType_lf_unannClassOrInterfaceTypeContext.class,i); + } + public List unannInterfaceType_lf_unannClassOrInterfaceType() { + return getRuleContexts(UnannInterfaceType_lf_unannClassOrInterfaceTypeContext.class); + } + public UnannInterfaceType_lf_unannClassOrInterfaceTypeContext unannInterfaceType_lf_unannClassOrInterfaceType(int i) { + return getRuleContext(UnannInterfaceType_lf_unannClassOrInterfaceTypeContext.class,i); + } + public UnannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannClassOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassOrInterfaceType(this); + } + } + + public final UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() throws RecognitionException { + UnannClassOrInterfaceTypeContext _localctx = new UnannClassOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 122, RULE_unannClassOrInterfaceType); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(927); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,64,_ctx) ) { + case 1: + { + setState(925); + unannClassType_lfno_unannClassOrInterfaceType(); + } + break; + case 2: + { + setState(926); + unannInterfaceType_lfno_unannClassOrInterfaceType(); + } + break; + } + setState(933); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,66,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + setState(931); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,65,_ctx) ) { + case 1: + { + setState(929); + unannClassType_lf_unannClassOrInterfaceType(); + } + break; + case 2: + { + setState(930); + unannInterfaceType_lf_unannClassOrInterfaceType(); + } + break; + } + } + } + setState(935); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,66,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannClassTypeContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() { + return getRuleContext(UnannClassOrInterfaceTypeContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public UnannClassTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannClassType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassType(this); + } + } + + public final UnannClassTypeContext unannClassType() throws RecognitionException { + UnannClassTypeContext _localctx = new UnannClassTypeContext(_ctx, getState()); + enterRule(_localctx, 124, RULE_unannClassType); + int _la; + try { + setState(952); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,70,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(936); + match(Identifier); + setState(938); + _la = _input.LA(1); + if (_la==LT) { + { + setState(937); + typeArguments(); + } + } + + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(940); + unannClassOrInterfaceType(); + setState(941); + match(DOT); + setState(945); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(942); + annotation(); + } + } + setState(947); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(948); + match(Identifier); + setState(950); + _la = _input.LA(1); + if (_la==LT) { + { + setState(949); + typeArguments(); + } + } + + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannClassType_lf_unannClassOrInterfaceTypeContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public UnannClassType_lf_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannClassType_lf_unannClassOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassType_lf_unannClassOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassType_lf_unannClassOrInterfaceType(this); + } + } + + public final UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType() throws RecognitionException { + UnannClassType_lf_unannClassOrInterfaceTypeContext _localctx = new UnannClassType_lf_unannClassOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 126, RULE_unannClassType_lf_unannClassOrInterfaceType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(954); + match(DOT); + setState(958); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(955); + annotation(); + } + } + setState(960); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(961); + match(Identifier); + setState(963); + _la = _input.LA(1); + if (_la==LT) { + { + setState(962); + typeArguments(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannClassType_lfno_unannClassOrInterfaceTypeContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public UnannClassType_lfno_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannClassType_lfno_unannClassOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannClassType_lfno_unannClassOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannClassType_lfno_unannClassOrInterfaceType(this); + } + } + + public final UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() throws RecognitionException { + UnannClassType_lfno_unannClassOrInterfaceTypeContext _localctx = new UnannClassType_lfno_unannClassOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 128, RULE_unannClassType_lfno_unannClassOrInterfaceType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(965); + match(Identifier); + setState(967); + _la = _input.LA(1); + if (_la==LT) { + { + setState(966); + typeArguments(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannInterfaceTypeContext extends ParserRuleContext { + public UnannClassTypeContext unannClassType() { + return getRuleContext(UnannClassTypeContext.class,0); + } + public UnannInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannInterfaceType(this); + } + } + + public final UnannInterfaceTypeContext unannInterfaceType() throws RecognitionException { + UnannInterfaceTypeContext _localctx = new UnannInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 130, RULE_unannInterfaceType); + try { + enterOuterAlt(_localctx, 1); + { + setState(969); + unannClassType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannInterfaceType_lf_unannClassOrInterfaceTypeContext extends ParserRuleContext { + public UnannClassType_lf_unannClassOrInterfaceTypeContext unannClassType_lf_unannClassOrInterfaceType() { + return getRuleContext(UnannClassType_lf_unannClassOrInterfaceTypeContext.class,0); + } + public UnannInterfaceType_lf_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannInterfaceType_lf_unannClassOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannInterfaceType_lf_unannClassOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannInterfaceType_lf_unannClassOrInterfaceType(this); + } + } + + public final UnannInterfaceType_lf_unannClassOrInterfaceTypeContext unannInterfaceType_lf_unannClassOrInterfaceType() throws RecognitionException { + UnannInterfaceType_lf_unannClassOrInterfaceTypeContext _localctx = new UnannInterfaceType_lf_unannClassOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 132, RULE_unannInterfaceType_lf_unannClassOrInterfaceType); + try { + enterOuterAlt(_localctx, 1); + { + setState(971); + unannClassType_lf_unannClassOrInterfaceType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext extends ParserRuleContext { + public UnannClassType_lfno_unannClassOrInterfaceTypeContext unannClassType_lfno_unannClassOrInterfaceType() { + return getRuleContext(UnannClassType_lfno_unannClassOrInterfaceTypeContext.class,0); + } + public UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannInterfaceType_lfno_unannClassOrInterfaceType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannInterfaceType_lfno_unannClassOrInterfaceType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannInterfaceType_lfno_unannClassOrInterfaceType(this); + } + } + + public final UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext unannInterfaceType_lfno_unannClassOrInterfaceType() throws RecognitionException { + UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext _localctx = new UnannInterfaceType_lfno_unannClassOrInterfaceTypeContext(_ctx, getState()); + enterRule(_localctx, 134, RULE_unannInterfaceType_lfno_unannClassOrInterfaceType); + try { + enterOuterAlt(_localctx, 1); + { + setState(973); + unannClassType_lfno_unannClassOrInterfaceType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannTypeVariableContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public UnannTypeVariableContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannTypeVariable; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannTypeVariable(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannTypeVariable(this); + } + } + + public final UnannTypeVariableContext unannTypeVariable() throws RecognitionException { + UnannTypeVariableContext _localctx = new UnannTypeVariableContext(_ctx, getState()); + enterRule(_localctx, 136, RULE_unannTypeVariable); + try { + enterOuterAlt(_localctx, 1); + { + setState(975); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnannArrayTypeContext extends ParserRuleContext { + public UnannPrimitiveTypeContext unannPrimitiveType() { + return getRuleContext(UnannPrimitiveTypeContext.class,0); + } + public DimsContext dims() { + return getRuleContext(DimsContext.class,0); + } + public UnannClassOrInterfaceTypeContext unannClassOrInterfaceType() { + return getRuleContext(UnannClassOrInterfaceTypeContext.class,0); + } + public UnannTypeVariableContext unannTypeVariable() { + return getRuleContext(UnannTypeVariableContext.class,0); + } + public UnannArrayTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unannArrayType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnannArrayType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnannArrayType(this); + } + } + + public final UnannArrayTypeContext unannArrayType() throws RecognitionException { + UnannArrayTypeContext _localctx = new UnannArrayTypeContext(_ctx, getState()); + enterRule(_localctx, 138, RULE_unannArrayType); + try { + setState(986); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,74,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(977); + unannPrimitiveType(); + setState(978); + dims(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(980); + unannClassOrInterfaceType(); + setState(981); + dims(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(983); + unannTypeVariable(); + setState(984); + dims(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodDeclarationContext extends ParserRuleContext { + public MethodHeaderContext methodHeader() { + return getRuleContext(MethodHeaderContext.class,0); + } + public MethodBodyContext methodBody() { + return getRuleContext(MethodBodyContext.class,0); + } + public List methodModifier() { + return getRuleContexts(MethodModifierContext.class); + } + public MethodModifierContext methodModifier(int i) { + return getRuleContext(MethodModifierContext.class,i); + } + public MethodDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodDeclaration(this); + } + } + + public final MethodDeclarationContext methodDeclaration() throws RecognitionException { + MethodDeclarationContext _localctx = new MethodDeclarationContext(_ctx, getState()); + enterRule(_localctx, 140, RULE_methodDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(991); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED))) != 0) || _la==AT) { + { + { + setState(988); + methodModifier(); + } + } + setState(993); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(994); + methodHeader(); + setState(995); + methodBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public MethodModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodModifier(this); + } + } + + public final MethodModifierContext methodModifier() throws RecognitionException { + MethodModifierContext _localctx = new MethodModifierContext(_ctx, getState()); + enterRule(_localctx, 142, RULE_methodModifier); + try { + setState(1007); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(997); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(998); + match(PUBLIC); + } + break; + case PROTECTED: + enterOuterAlt(_localctx, 3); + { + setState(999); + match(PROTECTED); + } + break; + case PRIVATE: + enterOuterAlt(_localctx, 4); + { + setState(1000); + match(PRIVATE); + } + break; + case ABSTRACT: + enterOuterAlt(_localctx, 5); + { + setState(1001); + match(ABSTRACT); + } + break; + case STATIC: + enterOuterAlt(_localctx, 6); + { + setState(1002); + match(STATIC); + } + break; + case FINAL: + enterOuterAlt(_localctx, 7); + { + setState(1003); + match(FINAL); + } + break; + case SYNCHRONIZED: + enterOuterAlt(_localctx, 8); + { + setState(1004); + match(SYNCHRONIZED); + } + break; + case NATIVE: + enterOuterAlt(_localctx, 9); + { + setState(1005); + match(NATIVE); + } + break; + case STRICTFP: + enterOuterAlt(_localctx, 10); + { + setState(1006); + match(STRICTFP); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodHeaderContext extends ParserRuleContext { + public ResultContext result() { + return getRuleContext(ResultContext.class,0); + } + public MethodDeclaratorContext methodDeclarator() { + return getRuleContext(MethodDeclaratorContext.class,0); + } + public Throws_Context throws_() { + return getRuleContext(Throws_Context.class,0); + } + public TypeParametersContext typeParameters() { + return getRuleContext(TypeParametersContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public MethodHeaderContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodHeader; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodHeader(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodHeader(this); + } + } + + public final MethodHeaderContext methodHeader() throws RecognitionException { + MethodHeaderContext _localctx = new MethodHeaderContext(_ctx, getState()); + enterRule(_localctx, 144, RULE_methodHeader); + int _la; + try { + setState(1026); + switch (_input.LA(1)) { + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case SHORT: + case VOID: + case Identifier: + enterOuterAlt(_localctx, 1); + { + setState(1009); + result(); + setState(1010); + methodDeclarator(); + setState(1012); + _la = _input.LA(1); + if (_la==THROWS) { + { + setState(1011); + throws_(); + } + } + + } + break; + case LT: + enterOuterAlt(_localctx, 2); + { + setState(1014); + typeParameters(); + setState(1018); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(1015); + annotation(); + } + } + setState(1020); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1021); + result(); + setState(1022); + methodDeclarator(); + setState(1024); + _la = _input.LA(1); + if (_la==THROWS) { + { + setState(1023); + throws_(); + } + } + + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ResultContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public ResultContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_result; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResult(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResult(this); + } + } + + public final ResultContext result() throws RecognitionException { + ResultContext _localctx = new ResultContext(_ctx, getState()); + enterRule(_localctx, 146, RULE_result); + try { + setState(1030); + switch (_input.LA(1)) { + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case SHORT: + case Identifier: + enterOuterAlt(_localctx, 1); + { + setState(1028); + unannType(); + } + break; + case VOID: + enterOuterAlt(_localctx, 2); + { + setState(1029); + match(VOID); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodDeclaratorContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public FormalParameterListContext formalParameterList() { + return getRuleContext(FormalParameterListContext.class,0); + } + public DimsContext dims() { + return getRuleContext(DimsContext.class,0); + } + public MethodDeclaratorContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodDeclarator; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodDeclarator(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodDeclarator(this); + } + } + + public final MethodDeclaratorContext methodDeclarator() throws RecognitionException { + MethodDeclaratorContext _localctx = new MethodDeclaratorContext(_ctx, getState()); + enterRule(_localctx, 148, RULE_methodDeclarator); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1032); + match(Identifier); + setState(1033); + match(LPAREN); + setState(1035); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { + { + setState(1034); + formalParameterList(); + } + } + + setState(1037); + match(RPAREN); + setState(1039); + _la = _input.LA(1); + if (_la==LBRACK || _la==AT) { + { + setState(1038); + dims(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FormalParameterListContext extends ParserRuleContext { + public FormalParametersContext formalParameters() { + return getRuleContext(FormalParametersContext.class,0); + } + public LastFormalParameterContext lastFormalParameter() { + return getRuleContext(LastFormalParameterContext.class,0); + } + public FormalParameterListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_formalParameterList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFormalParameterList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFormalParameterList(this); + } + } + + public final FormalParameterListContext formalParameterList() throws RecognitionException { + FormalParameterListContext _localctx = new FormalParameterListContext(_ctx, getState()); + enterRule(_localctx, 150, RULE_formalParameterList); + try { + setState(1046); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,84,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1041); + formalParameters(); + setState(1042); + match(COMMA); + setState(1043); + lastFormalParameter(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1045); + lastFormalParameter(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FormalParametersContext extends ParserRuleContext { + public List formalParameter() { + return getRuleContexts(FormalParameterContext.class); + } + public FormalParameterContext formalParameter(int i) { + return getRuleContext(FormalParameterContext.class,i); + } + public ReceiverParameterContext receiverParameter() { + return getRuleContext(ReceiverParameterContext.class,0); + } + public FormalParametersContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_formalParameters; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFormalParameters(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFormalParameters(this); + } + } + + public final FormalParametersContext formalParameters() throws RecognitionException { + FormalParametersContext _localctx = new FormalParametersContext(_ctx, getState()); + enterRule(_localctx, 152, RULE_formalParameters); + try { + int _alt; + setState(1064); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,87,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1048); + formalParameter(); + setState(1053); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,85,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1049); + match(COMMA); + setState(1050); + formalParameter(); + } + } + } + setState(1055); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,85,_ctx); + } + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1056); + receiverParameter(); + setState(1061); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,86,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1057); + match(COMMA); + setState(1058); + formalParameter(); + } + } + } + setState(1063); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,86,_ctx); + } + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FormalParameterContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public FormalParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_formalParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFormalParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFormalParameter(this); + } + } + + public final FormalParameterContext formalParameter() throws RecognitionException { + FormalParameterContext _localctx = new FormalParameterContext(_ctx, getState()); + enterRule(_localctx, 154, RULE_formalParameter); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1069); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1066); + variableModifier(); + } + } + setState(1071); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1072); + unannType(); + setState(1073); + variableDeclaratorId(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VariableModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public VariableModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableModifier(this); + } + } + + public final VariableModifierContext variableModifier() throws RecognitionException { + VariableModifierContext _localctx = new VariableModifierContext(_ctx, getState()); + enterRule(_localctx, 156, RULE_variableModifier); + try { + setState(1077); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(1075); + annotation(); + } + break; + case FINAL: + enterOuterAlt(_localctx, 2); + { + setState(1076); + match(FINAL); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LastFormalParameterContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public FormalParameterContext formalParameter() { + return getRuleContext(FormalParameterContext.class,0); + } + public LastFormalParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_lastFormalParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLastFormalParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLastFormalParameter(this); + } + } + + public final LastFormalParameterContext lastFormalParameter() throws RecognitionException { + LastFormalParameterContext _localctx = new LastFormalParameterContext(_ctx, getState()); + enterRule(_localctx, 158, RULE_lastFormalParameter); + int _la; + try { + setState(1096); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,92,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1082); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1079); + variableModifier(); + } + } + setState(1084); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1085); + unannType(); + setState(1089); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(1086); + annotation(); + } + } + setState(1091); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1092); + match(ELLIPSIS); + setState(1093); + variableDeclaratorId(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1095); + formalParameter(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ReceiverParameterContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public ReceiverParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_receiverParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterReceiverParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitReceiverParameter(this); + } + } + + public final ReceiverParameterContext receiverParameter() throws RecognitionException { + ReceiverParameterContext _localctx = new ReceiverParameterContext(_ctx, getState()); + enterRule(_localctx, 160, RULE_receiverParameter); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1101); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(1098); + annotation(); + } + } + setState(1103); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1104); + unannType(); + setState(1107); + _la = _input.LA(1); + if (_la==Identifier) { + { + setState(1105); + match(Identifier); + setState(1106); + match(DOT); + } + } + + setState(1109); + match(THIS); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class Throws_Context extends ParserRuleContext { + public ExceptionTypeListContext exceptionTypeList() { + return getRuleContext(ExceptionTypeListContext.class,0); + } + public Throws_Context(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_throws_; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterThrows_(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitThrows_(this); + } + } + + public final Throws_Context throws_() throws RecognitionException { + Throws_Context _localctx = new Throws_Context(_ctx, getState()); + enterRule(_localctx, 162, RULE_throws_); + try { + enterOuterAlt(_localctx, 1); + { + setState(1111); + match(THROWS); + setState(1112); + exceptionTypeList(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExceptionTypeListContext extends ParserRuleContext { + public List exceptionType() { + return getRuleContexts(ExceptionTypeContext.class); + } + public ExceptionTypeContext exceptionType(int i) { + return getRuleContext(ExceptionTypeContext.class,i); + } + public ExceptionTypeListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_exceptionTypeList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExceptionTypeList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExceptionTypeList(this); + } + } + + public final ExceptionTypeListContext exceptionTypeList() throws RecognitionException { + ExceptionTypeListContext _localctx = new ExceptionTypeListContext(_ctx, getState()); + enterRule(_localctx, 164, RULE_exceptionTypeList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1114); + exceptionType(); + setState(1119); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(1115); + match(COMMA); + setState(1116); + exceptionType(); + } + } + setState(1121); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExceptionTypeContext extends ParserRuleContext { + public ClassTypeContext classType() { + return getRuleContext(ClassTypeContext.class,0); + } + public TypeVariableContext typeVariable() { + return getRuleContext(TypeVariableContext.class,0); + } + public ExceptionTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_exceptionType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExceptionType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExceptionType(this); + } + } + + public final ExceptionTypeContext exceptionType() throws RecognitionException { + ExceptionTypeContext _localctx = new ExceptionTypeContext(_ctx, getState()); + enterRule(_localctx, 166, RULE_exceptionType); + try { + setState(1124); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,96,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1122); + classType(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1123); + typeVariable(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodBodyContext extends ParserRuleContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public MethodBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodBody(this); + } + } + + public final MethodBodyContext methodBody() throws RecognitionException { + MethodBodyContext _localctx = new MethodBodyContext(_ctx, getState()); + enterRule(_localctx, 168, RULE_methodBody); + try { + setState(1128); + switch (_input.LA(1)) { + case LBRACE: + enterOuterAlt(_localctx, 1); + { + setState(1126); + block(); + } + break; + case SEMI: + enterOuterAlt(_localctx, 2); + { + setState(1127); + match(SEMI); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InstanceInitializerContext extends ParserRuleContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public InstanceInitializerContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_instanceInitializer; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInstanceInitializer(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInstanceInitializer(this); + } + } + + public final InstanceInitializerContext instanceInitializer() throws RecognitionException { + InstanceInitializerContext _localctx = new InstanceInitializerContext(_ctx, getState()); + enterRule(_localctx, 170, RULE_instanceInitializer); + try { + enterOuterAlt(_localctx, 1); + { + setState(1130); + block(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StaticInitializerContext extends ParserRuleContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public StaticInitializerContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_staticInitializer; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStaticInitializer(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStaticInitializer(this); + } + } + + public final StaticInitializerContext staticInitializer() throws RecognitionException { + StaticInitializerContext _localctx = new StaticInitializerContext(_ctx, getState()); + enterRule(_localctx, 172, RULE_staticInitializer); + try { + enterOuterAlt(_localctx, 1); + { + setState(1132); + match(STATIC); + setState(1133); + block(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstructorDeclarationContext extends ParserRuleContext { + public ConstructorDeclaratorContext constructorDeclarator() { + return getRuleContext(ConstructorDeclaratorContext.class,0); + } + public ConstructorBodyContext constructorBody() { + return getRuleContext(ConstructorBodyContext.class,0); + } + public List constructorModifier() { + return getRuleContexts(ConstructorModifierContext.class); + } + public ConstructorModifierContext constructorModifier(int i) { + return getRuleContext(ConstructorModifierContext.class,i); + } + public Throws_Context throws_() { + return getRuleContext(Throws_Context.class,0); + } + public ConstructorDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constructorDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorDeclaration(this); + } + } + + public final ConstructorDeclarationContext constructorDeclaration() throws RecognitionException { + ConstructorDeclarationContext _localctx = new ConstructorDeclarationContext(_ctx, getState()); + enterRule(_localctx, 174, RULE_constructorDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1138); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC))) != 0) || _la==AT) { + { + { + setState(1135); + constructorModifier(); + } + } + setState(1140); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1141); + constructorDeclarator(); + setState(1143); + _la = _input.LA(1); + if (_la==THROWS) { + { + setState(1142); + throws_(); + } + } + + setState(1145); + constructorBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstructorModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public ConstructorModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constructorModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorModifier(this); + } + } + + public final ConstructorModifierContext constructorModifier() throws RecognitionException { + ConstructorModifierContext _localctx = new ConstructorModifierContext(_ctx, getState()); + enterRule(_localctx, 176, RULE_constructorModifier); + try { + setState(1151); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(1147); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(1148); + match(PUBLIC); + } + break; + case PROTECTED: + enterOuterAlt(_localctx, 3); + { + setState(1149); + match(PROTECTED); + } + break; + case PRIVATE: + enterOuterAlt(_localctx, 4); + { + setState(1150); + match(PRIVATE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstructorDeclaratorContext extends ParserRuleContext { + public SimpleTypeNameContext simpleTypeName() { + return getRuleContext(SimpleTypeNameContext.class,0); + } + public TypeParametersContext typeParameters() { + return getRuleContext(TypeParametersContext.class,0); + } + public FormalParameterListContext formalParameterList() { + return getRuleContext(FormalParameterListContext.class,0); + } + public ConstructorDeclaratorContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constructorDeclarator; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorDeclarator(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorDeclarator(this); + } + } + + public final ConstructorDeclaratorContext constructorDeclarator() throws RecognitionException { + ConstructorDeclaratorContext _localctx = new ConstructorDeclaratorContext(_ctx, getState()); + enterRule(_localctx, 178, RULE_constructorDeclarator); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1154); + _la = _input.LA(1); + if (_la==LT) { + { + setState(1153); + typeParameters(); + } + } + + setState(1156); + simpleTypeName(); + setState(1157); + match(LPAREN); + setState(1159); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { + { + setState(1158); + formalParameterList(); + } + } + + setState(1161); + match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SimpleTypeNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public SimpleTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_simpleTypeName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSimpleTypeName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSimpleTypeName(this); + } + } + + public final SimpleTypeNameContext simpleTypeName() throws RecognitionException { + SimpleTypeNameContext _localctx = new SimpleTypeNameContext(_ctx, getState()); + enterRule(_localctx, 180, RULE_simpleTypeName); + try { + enterOuterAlt(_localctx, 1); + { + setState(1163); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstructorBodyContext extends ParserRuleContext { + public ExplicitConstructorInvocationContext explicitConstructorInvocation() { + return getRuleContext(ExplicitConstructorInvocationContext.class,0); + } + public BlockStatementsContext blockStatements() { + return getRuleContext(BlockStatementsContext.class,0); + } + public ConstructorBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constructorBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstructorBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstructorBody(this); + } + } + + public final ConstructorBodyContext constructorBody() throws RecognitionException { + ConstructorBodyContext _localctx = new ConstructorBodyContext(_ctx, getState()); + enterRule(_localctx, 182, RULE_constructorBody); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1165); + match(LBRACE); + setState(1167); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,103,_ctx) ) { + case 1: + { + setState(1166); + explicitConstructorInvocation(); + } + break; + } + setState(1170); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + setState(1169); + blockStatements(); + } + } + + setState(1172); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExplicitConstructorInvocationContext extends ParserRuleContext { + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public PrimaryContext primary() { + return getRuleContext(PrimaryContext.class,0); + } + public ExplicitConstructorInvocationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_explicitConstructorInvocation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExplicitConstructorInvocation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExplicitConstructorInvocation(this); + } + } + + public final ExplicitConstructorInvocationContext explicitConstructorInvocation() throws RecognitionException { + ExplicitConstructorInvocationContext _localctx = new ExplicitConstructorInvocationContext(_ctx, getState()); + enterRule(_localctx, 184, RULE_explicitConstructorInvocation); + int _la; + try { + setState(1220); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,113,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1175); + _la = _input.LA(1); + if (_la==LT) { + { + setState(1174); + typeArguments(); + } + } + + setState(1177); + match(THIS); + setState(1178); + match(LPAREN); + setState(1180); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1179); + argumentList(); + } + } + + setState(1182); + match(RPAREN); + setState(1183); + match(SEMI); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1185); + _la = _input.LA(1); + if (_la==LT) { + { + setState(1184); + typeArguments(); + } + } + + setState(1187); + match(SUPER); + setState(1188); + match(LPAREN); + setState(1190); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1189); + argumentList(); + } + } + + setState(1192); + match(RPAREN); + setState(1193); + match(SEMI); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1194); + expressionName(); + setState(1195); + match(DOT); + setState(1197); + _la = _input.LA(1); + if (_la==LT) { + { + setState(1196); + typeArguments(); + } + } + + setState(1199); + match(SUPER); + setState(1200); + match(LPAREN); + setState(1202); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1201); + argumentList(); + } + } + + setState(1204); + match(RPAREN); + setState(1205); + match(SEMI); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1207); + primary(); + setState(1208); + match(DOT); + setState(1210); + _la = _input.LA(1); + if (_la==LT) { + { + setState(1209); + typeArguments(); + } + } + + setState(1212); + match(SUPER); + setState(1213); + match(LPAREN); + setState(1215); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1214); + argumentList(); + } + } + + setState(1217); + match(RPAREN); + setState(1218); + match(SEMI); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumDeclarationContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public EnumBodyContext enumBody() { + return getRuleContext(EnumBodyContext.class,0); + } + public List classModifier() { + return getRuleContexts(ClassModifierContext.class); + } + public ClassModifierContext classModifier(int i) { + return getRuleContext(ClassModifierContext.class,i); + } + public SuperinterfacesContext superinterfaces() { + return getRuleContext(SuperinterfacesContext.class,0); + } + public EnumDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumDeclaration(this); + } + } + + public final EnumDeclarationContext enumDeclaration() throws RecognitionException { + EnumDeclarationContext _localctx = new EnumDeclarationContext(_ctx, getState()); + enterRule(_localctx, 186, RULE_enumDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1225); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << FINAL) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { + { + { + setState(1222); + classModifier(); + } + } + setState(1227); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1228); + match(ENUM); + setState(1229); + match(Identifier); + setState(1231); + _la = _input.LA(1); + if (_la==IMPLEMENTS) { + { + setState(1230); + superinterfaces(); + } + } + + setState(1233); + enumBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumBodyContext extends ParserRuleContext { + public EnumConstantListContext enumConstantList() { + return getRuleContext(EnumConstantListContext.class,0); + } + public EnumBodyDeclarationsContext enumBodyDeclarations() { + return getRuleContext(EnumBodyDeclarationsContext.class,0); + } + public EnumBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumBody(this); + } + } + + public final EnumBodyContext enumBody() throws RecognitionException { + EnumBodyContext _localctx = new EnumBodyContext(_ctx, getState()); + enterRule(_localctx, 188, RULE_enumBody); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1235); + match(LBRACE); + setState(1237); + _la = _input.LA(1); + if (_la==Identifier || _la==AT) { + { + setState(1236); + enumConstantList(); + } + } + + setState(1240); + _la = _input.LA(1); + if (_la==COMMA) { + { + setState(1239); + match(COMMA); + } + } + + setState(1243); + _la = _input.LA(1); + if (_la==SEMI) { + { + setState(1242); + enumBodyDeclarations(); + } + } + + setState(1245); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumConstantListContext extends ParserRuleContext { + public List enumConstant() { + return getRuleContexts(EnumConstantContext.class); + } + public EnumConstantContext enumConstant(int i) { + return getRuleContext(EnumConstantContext.class,i); + } + public EnumConstantListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumConstantList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstantList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstantList(this); + } + } + + public final EnumConstantListContext enumConstantList() throws RecognitionException { + EnumConstantListContext _localctx = new EnumConstantListContext(_ctx, getState()); + enterRule(_localctx, 190, RULE_enumConstantList); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1247); + enumConstant(); + setState(1252); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,119,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1248); + match(COMMA); + setState(1249); + enumConstant(); + } + } + } + setState(1254); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,119,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumConstantContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List enumConstantModifier() { + return getRuleContexts(EnumConstantModifierContext.class); + } + public EnumConstantModifierContext enumConstantModifier(int i) { + return getRuleContext(EnumConstantModifierContext.class,i); + } + public ClassBodyContext classBody() { + return getRuleContext(ClassBodyContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public EnumConstantContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumConstant; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstant(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstant(this); + } + } + + public final EnumConstantContext enumConstant() throws RecognitionException { + EnumConstantContext _localctx = new EnumConstantContext(_ctx, getState()); + enterRule(_localctx, 192, RULE_enumConstant); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1258); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(1255); + enumConstantModifier(); + } + } + setState(1260); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1261); + match(Identifier); + setState(1267); + _la = _input.LA(1); + if (_la==LPAREN) { + { + setState(1262); + match(LPAREN); + setState(1264); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1263); + argumentList(); + } + } + + setState(1266); + match(RPAREN); + } + } + + setState(1270); + _la = _input.LA(1); + if (_la==LBRACE) { + { + setState(1269); + classBody(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumConstantModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public EnumConstantModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumConstantModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstantModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstantModifier(this); + } + } + + public final EnumConstantModifierContext enumConstantModifier() throws RecognitionException { + EnumConstantModifierContext _localctx = new EnumConstantModifierContext(_ctx, getState()); + enterRule(_localctx, 194, RULE_enumConstantModifier); + try { + enterOuterAlt(_localctx, 1); + { + setState(1272); + annotation(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumBodyDeclarationsContext extends ParserRuleContext { + public List classBodyDeclaration() { + return getRuleContexts(ClassBodyDeclarationContext.class); + } + public ClassBodyDeclarationContext classBodyDeclaration(int i) { + return getRuleContext(ClassBodyDeclarationContext.class,i); + } + public EnumBodyDeclarationsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumBodyDeclarations; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumBodyDeclarations(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumBodyDeclarations(this); + } + } + + public final EnumBodyDeclarationsContext enumBodyDeclarations() throws RecognitionException { + EnumBodyDeclarationsContext _localctx = new EnumBodyDeclarationsContext(_ctx, getState()); + enterRule(_localctx, 196, RULE_enumBodyDeclarations); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1274); + match(SEMI); + setState(1278); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << NATIVE) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SYNCHRONIZED) | (1L << TRANSIENT) | (1L << VOID) | (1L << VOLATILE) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { + { + { + setState(1275); + classBodyDeclaration(); + } + } + setState(1280); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceDeclarationContext extends ParserRuleContext { + public NormalInterfaceDeclarationContext normalInterfaceDeclaration() { + return getRuleContext(NormalInterfaceDeclarationContext.class,0); + } + public AnnotationTypeDeclarationContext annotationTypeDeclaration() { + return getRuleContext(AnnotationTypeDeclarationContext.class,0); + } + public InterfaceDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceDeclaration(this); + } + } + + public final InterfaceDeclarationContext interfaceDeclaration() throws RecognitionException { + InterfaceDeclarationContext _localctx = new InterfaceDeclarationContext(_ctx, getState()); + enterRule(_localctx, 198, RULE_interfaceDeclaration); + try { + setState(1283); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,125,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1281); + normalInterfaceDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1282); + annotationTypeDeclaration(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class NormalInterfaceDeclarationContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public InterfaceBodyContext interfaceBody() { + return getRuleContext(InterfaceBodyContext.class,0); + } + public List interfaceModifier() { + return getRuleContexts(InterfaceModifierContext.class); + } + public InterfaceModifierContext interfaceModifier(int i) { + return getRuleContext(InterfaceModifierContext.class,i); + } + public TypeParametersContext typeParameters() { + return getRuleContext(TypeParametersContext.class,0); + } + public ExtendsInterfacesContext extendsInterfaces() { + return getRuleContext(ExtendsInterfacesContext.class,0); + } + public NormalInterfaceDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_normalInterfaceDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNormalInterfaceDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNormalInterfaceDeclaration(this); + } + } + + public final NormalInterfaceDeclarationContext normalInterfaceDeclaration() throws RecognitionException { + NormalInterfaceDeclarationContext _localctx = new NormalInterfaceDeclarationContext(_ctx, getState()); + enterRule(_localctx, 200, RULE_normalInterfaceDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1288); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { + { + { + setState(1285); + interfaceModifier(); + } + } + setState(1290); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1291); + match(INTERFACE); + setState(1292); + match(Identifier); + setState(1294); + _la = _input.LA(1); + if (_la==LT) { + { + setState(1293); + typeParameters(); + } + } + + setState(1297); + _la = _input.LA(1); + if (_la==EXTENDS) { + { + setState(1296); + extendsInterfaces(); + } + } + + setState(1299); + interfaceBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public InterfaceModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceModifier(this); + } + } + + public final InterfaceModifierContext interfaceModifier() throws RecognitionException { + InterfaceModifierContext _localctx = new InterfaceModifierContext(_ctx, getState()); + enterRule(_localctx, 202, RULE_interfaceModifier); + try { + setState(1308); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(1301); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(1302); + match(PUBLIC); + } + break; + case PROTECTED: + enterOuterAlt(_localctx, 3); + { + setState(1303); + match(PROTECTED); + } + break; + case PRIVATE: + enterOuterAlt(_localctx, 4); + { + setState(1304); + match(PRIVATE); + } + break; + case ABSTRACT: + enterOuterAlt(_localctx, 5); + { + setState(1305); + match(ABSTRACT); + } + break; + case STATIC: + enterOuterAlt(_localctx, 6); + { + setState(1306); + match(STATIC); + } + break; + case STRICTFP: + enterOuterAlt(_localctx, 7); + { + setState(1307); + match(STRICTFP); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExtendsInterfacesContext extends ParserRuleContext { + public InterfaceTypeListContext interfaceTypeList() { + return getRuleContext(InterfaceTypeListContext.class,0); + } + public ExtendsInterfacesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_extendsInterfaces; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExtendsInterfaces(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExtendsInterfaces(this); + } + } + + public final ExtendsInterfacesContext extendsInterfaces() throws RecognitionException { + ExtendsInterfacesContext _localctx = new ExtendsInterfacesContext(_ctx, getState()); + enterRule(_localctx, 204, RULE_extendsInterfaces); + try { + enterOuterAlt(_localctx, 1); + { + setState(1310); + match(EXTENDS); + setState(1311); + interfaceTypeList(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceBodyContext extends ParserRuleContext { + public List interfaceMemberDeclaration() { + return getRuleContexts(InterfaceMemberDeclarationContext.class); + } + public InterfaceMemberDeclarationContext interfaceMemberDeclaration(int i) { + return getRuleContext(InterfaceMemberDeclarationContext.class,i); + } + public InterfaceBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceBody(this); + } + } + + public final InterfaceBodyContext interfaceBody() throws RecognitionException { + InterfaceBodyContext _localctx = new InterfaceBodyContext(_ctx, getState()); + enterRule(_localctx, 206, RULE_interfaceBody); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1313); + match(LBRACE); + setState(1317); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DEFAULT) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << VOID) | (1L << SEMI))) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (LT - 68)) | (1L << (Identifier - 68)) | (1L << (AT - 68)))) != 0)) { + { + { + setState(1314); + interfaceMemberDeclaration(); + } + } + setState(1319); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1320); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceMemberDeclarationContext extends ParserRuleContext { + public ConstantDeclarationContext constantDeclaration() { + return getRuleContext(ConstantDeclarationContext.class,0); + } + public InterfaceMethodDeclarationContext interfaceMethodDeclaration() { + return getRuleContext(InterfaceMethodDeclarationContext.class,0); + } + public ClassDeclarationContext classDeclaration() { + return getRuleContext(ClassDeclarationContext.class,0); + } + public InterfaceDeclarationContext interfaceDeclaration() { + return getRuleContext(InterfaceDeclarationContext.class,0); + } + public InterfaceMemberDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceMemberDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceMemberDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceMemberDeclaration(this); + } + } + + public final InterfaceMemberDeclarationContext interfaceMemberDeclaration() throws RecognitionException { + InterfaceMemberDeclarationContext _localctx = new InterfaceMemberDeclarationContext(_ctx, getState()); + enterRule(_localctx, 208, RULE_interfaceMemberDeclaration); + try { + setState(1327); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,131,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1322); + constantDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1323); + interfaceMethodDeclaration(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1324); + classDeclaration(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1325); + interfaceDeclaration(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1326); + match(SEMI); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstantDeclarationContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorListContext variableDeclaratorList() { + return getRuleContext(VariableDeclaratorListContext.class,0); + } + public List constantModifier() { + return getRuleContexts(ConstantModifierContext.class); + } + public ConstantModifierContext constantModifier(int i) { + return getRuleContext(ConstantModifierContext.class,i); + } + public ConstantDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constantDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstantDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstantDeclaration(this); + } + } + + public final ConstantDeclarationContext constantDeclaration() throws RecognitionException { + ConstantDeclarationContext _localctx = new ConstantDeclarationContext(_ctx, getState()); + enterRule(_localctx, 210, RULE_constantDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1332); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FINAL) | (1L << PUBLIC) | (1L << STATIC))) != 0) || _la==AT) { + { + { + setState(1329); + constantModifier(); + } + } + setState(1334); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1335); + unannType(); + setState(1336); + variableDeclaratorList(); + setState(1337); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstantModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public ConstantModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constantModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstantModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstantModifier(this); + } + } + + public final ConstantModifierContext constantModifier() throws RecognitionException { + ConstantModifierContext _localctx = new ConstantModifierContext(_ctx, getState()); + enterRule(_localctx, 212, RULE_constantModifier); + try { + setState(1343); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(1339); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(1340); + match(PUBLIC); + } + break; + case STATIC: + enterOuterAlt(_localctx, 3); + { + setState(1341); + match(STATIC); + } + break; + case FINAL: + enterOuterAlt(_localctx, 4); + { + setState(1342); + match(FINAL); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceMethodDeclarationContext extends ParserRuleContext { + public MethodHeaderContext methodHeader() { + return getRuleContext(MethodHeaderContext.class,0); + } + public MethodBodyContext methodBody() { + return getRuleContext(MethodBodyContext.class,0); + } + public List interfaceMethodModifier() { + return getRuleContexts(InterfaceMethodModifierContext.class); + } + public InterfaceMethodModifierContext interfaceMethodModifier(int i) { + return getRuleContext(InterfaceMethodModifierContext.class,i); + } + public InterfaceMethodDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceMethodDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceMethodDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceMethodDeclaration(this); + } + } + + public final InterfaceMethodDeclarationContext interfaceMethodDeclaration() throws RecognitionException { + InterfaceMethodDeclarationContext _localctx = new InterfaceMethodDeclarationContext(_ctx, getState()); + enterRule(_localctx, 214, RULE_interfaceMethodDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1348); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << DEFAULT) | (1L << PUBLIC) | (1L << STATIC) | (1L << STRICTFP))) != 0) || _la==AT) { + { + { + setState(1345); + interfaceMethodModifier(); + } + } + setState(1350); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1351); + methodHeader(); + setState(1352); + methodBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InterfaceMethodModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public InterfaceMethodModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceMethodModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInterfaceMethodModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInterfaceMethodModifier(this); + } + } + + public final InterfaceMethodModifierContext interfaceMethodModifier() throws RecognitionException { + InterfaceMethodModifierContext _localctx = new InterfaceMethodModifierContext(_ctx, getState()); + enterRule(_localctx, 216, RULE_interfaceMethodModifier); + try { + setState(1360); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(1354); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(1355); + match(PUBLIC); + } + break; + case ABSTRACT: + enterOuterAlt(_localctx, 3); + { + setState(1356); + match(ABSTRACT); + } + break; + case DEFAULT: + enterOuterAlt(_localctx, 4); + { + setState(1357); + match(DEFAULT); + } + break; + case STATIC: + enterOuterAlt(_localctx, 5); + { + setState(1358); + match(STATIC); + } + break; + case STRICTFP: + enterOuterAlt(_localctx, 6); + { + setState(1359); + match(STRICTFP); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AnnotationTypeDeclarationContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public AnnotationTypeBodyContext annotationTypeBody() { + return getRuleContext(AnnotationTypeBodyContext.class,0); + } + public List interfaceModifier() { + return getRuleContexts(InterfaceModifierContext.class); + } + public InterfaceModifierContext interfaceModifier(int i) { + return getRuleContext(InterfaceModifierContext.class,i); + } + public AnnotationTypeDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_annotationTypeDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeDeclaration(this); + } + } + + public final AnnotationTypeDeclarationContext annotationTypeDeclaration() throws RecognitionException { + AnnotationTypeDeclarationContext _localctx = new AnnotationTypeDeclarationContext(_ctx, getState()); + enterRule(_localctx, 218, RULE_annotationTypeDeclaration); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1365); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,136,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1362); + interfaceModifier(); + } + } + } + setState(1367); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,136,_ctx); + } + setState(1368); + match(AT); + setState(1369); + match(INTERFACE); + setState(1370); + match(Identifier); + setState(1371); + annotationTypeBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AnnotationTypeBodyContext extends ParserRuleContext { + public List annotationTypeMemberDeclaration() { + return getRuleContexts(AnnotationTypeMemberDeclarationContext.class); + } + public AnnotationTypeMemberDeclarationContext annotationTypeMemberDeclaration(int i) { + return getRuleContext(AnnotationTypeMemberDeclarationContext.class,i); + } + public AnnotationTypeBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_annotationTypeBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeBody(this); + } + } + + public final AnnotationTypeBodyContext annotationTypeBody() throws RecognitionException { + AnnotationTypeBodyContext _localctx = new AnnotationTypeBodyContext(_ctx, getState()); + enterRule(_localctx, 220, RULE_annotationTypeBody); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1373); + match(LBRACE); + setState(1377); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << INTERFACE) | (1L << LONG) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SEMI))) != 0) || _la==Identifier || _la==AT) { + { + { + setState(1374); + annotationTypeMemberDeclaration(); + } + } + setState(1379); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1380); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AnnotationTypeMemberDeclarationContext extends ParserRuleContext { + public AnnotationTypeElementDeclarationContext annotationTypeElementDeclaration() { + return getRuleContext(AnnotationTypeElementDeclarationContext.class,0); + } + public ConstantDeclarationContext constantDeclaration() { + return getRuleContext(ConstantDeclarationContext.class,0); + } + public ClassDeclarationContext classDeclaration() { + return getRuleContext(ClassDeclarationContext.class,0); + } + public InterfaceDeclarationContext interfaceDeclaration() { + return getRuleContext(InterfaceDeclarationContext.class,0); + } + public AnnotationTypeMemberDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_annotationTypeMemberDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeMemberDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeMemberDeclaration(this); + } + } + + public final AnnotationTypeMemberDeclarationContext annotationTypeMemberDeclaration() throws RecognitionException { + AnnotationTypeMemberDeclarationContext _localctx = new AnnotationTypeMemberDeclarationContext(_ctx, getState()); + enterRule(_localctx, 222, RULE_annotationTypeMemberDeclaration); + try { + setState(1387); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,138,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1382); + annotationTypeElementDeclaration(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1383); + constantDeclaration(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1384); + classDeclaration(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1385); + interfaceDeclaration(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1386); + match(SEMI); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AnnotationTypeElementDeclarationContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public List annotationTypeElementModifier() { + return getRuleContexts(AnnotationTypeElementModifierContext.class); + } + public AnnotationTypeElementModifierContext annotationTypeElementModifier(int i) { + return getRuleContext(AnnotationTypeElementModifierContext.class,i); + } + public DimsContext dims() { + return getRuleContext(DimsContext.class,0); + } + public DefaultValueContext defaultValue() { + return getRuleContext(DefaultValueContext.class,0); + } + public AnnotationTypeElementDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_annotationTypeElementDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeElementDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeElementDeclaration(this); + } + } + + public final AnnotationTypeElementDeclarationContext annotationTypeElementDeclaration() throws RecognitionException { + AnnotationTypeElementDeclarationContext _localctx = new AnnotationTypeElementDeclarationContext(_ctx, getState()); + enterRule(_localctx, 224, RULE_annotationTypeElementDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1392); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==ABSTRACT || _la==PUBLIC || _la==AT) { + { + { + setState(1389); + annotationTypeElementModifier(); + } + } + setState(1394); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1395); + unannType(); + setState(1396); + match(Identifier); + setState(1397); + match(LPAREN); + setState(1398); + match(RPAREN); + setState(1400); + _la = _input.LA(1); + if (_la==LBRACK || _la==AT) { + { + setState(1399); + dims(); + } + } + + setState(1403); + _la = _input.LA(1); + if (_la==DEFAULT) { + { + setState(1402); + defaultValue(); + } + } + + setState(1405); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AnnotationTypeElementModifierContext extends ParserRuleContext { + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public AnnotationTypeElementModifierContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_annotationTypeElementModifier; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotationTypeElementModifier(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotationTypeElementModifier(this); + } + } + + public final AnnotationTypeElementModifierContext annotationTypeElementModifier() throws RecognitionException { + AnnotationTypeElementModifierContext _localctx = new AnnotationTypeElementModifierContext(_ctx, getState()); + enterRule(_localctx, 226, RULE_annotationTypeElementModifier); + try { + setState(1410); + switch (_input.LA(1)) { + case AT: + enterOuterAlt(_localctx, 1); + { + setState(1407); + annotation(); + } + break; + case PUBLIC: + enterOuterAlt(_localctx, 2); + { + setState(1408); + match(PUBLIC); + } + break; + case ABSTRACT: + enterOuterAlt(_localctx, 3); + { + setState(1409); + match(ABSTRACT); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DefaultValueContext extends ParserRuleContext { + public ElementValueContext elementValue() { + return getRuleContext(ElementValueContext.class,0); + } + public DefaultValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_defaultValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDefaultValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDefaultValue(this); + } + } + + public final DefaultValueContext defaultValue() throws RecognitionException { + DefaultValueContext _localctx = new DefaultValueContext(_ctx, getState()); + enterRule(_localctx, 228, RULE_defaultValue); + try { + enterOuterAlt(_localctx, 1); + { + setState(1412); + match(DEFAULT); + setState(1413); + elementValue(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AnnotationContext extends ParserRuleContext { + public NormalAnnotationContext normalAnnotation() { + return getRuleContext(NormalAnnotationContext.class,0); + } + public MarkerAnnotationContext markerAnnotation() { + return getRuleContext(MarkerAnnotationContext.class,0); + } + public SingleElementAnnotationContext singleElementAnnotation() { + return getRuleContext(SingleElementAnnotationContext.class,0); + } + public AnnotationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_annotation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAnnotation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAnnotation(this); + } + } + + public final AnnotationContext annotation() throws RecognitionException { + AnnotationContext _localctx = new AnnotationContext(_ctx, getState()); + enterRule(_localctx, 230, RULE_annotation); + try { + setState(1418); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,143,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1415); + normalAnnotation(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1416); + markerAnnotation(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1417); + singleElementAnnotation(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class NormalAnnotationContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ElementValuePairListContext elementValuePairList() { + return getRuleContext(ElementValuePairListContext.class,0); + } + public NormalAnnotationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_normalAnnotation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterNormalAnnotation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitNormalAnnotation(this); + } + } + + public final NormalAnnotationContext normalAnnotation() throws RecognitionException { + NormalAnnotationContext _localctx = new NormalAnnotationContext(_ctx, getState()); + enterRule(_localctx, 232, RULE_normalAnnotation); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1420); + match(AT); + setState(1421); + typeName(); + setState(1422); + match(LPAREN); + setState(1424); + _la = _input.LA(1); + if (_la==Identifier) { + { + setState(1423); + elementValuePairList(); + } + } + + setState(1426); + match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ElementValuePairListContext extends ParserRuleContext { + public List elementValuePair() { + return getRuleContexts(ElementValuePairContext.class); + } + public ElementValuePairContext elementValuePair(int i) { + return getRuleContext(ElementValuePairContext.class,i); + } + public ElementValuePairListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_elementValuePairList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValuePairList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValuePairList(this); + } + } + + public final ElementValuePairListContext elementValuePairList() throws RecognitionException { + ElementValuePairListContext _localctx = new ElementValuePairListContext(_ctx, getState()); + enterRule(_localctx, 234, RULE_elementValuePairList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1428); + elementValuePair(); + setState(1433); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(1429); + match(COMMA); + setState(1430); + elementValuePair(); + } + } + setState(1435); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ElementValuePairContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public ElementValueContext elementValue() { + return getRuleContext(ElementValueContext.class,0); + } + public ElementValuePairContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_elementValuePair; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValuePair(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValuePair(this); + } + } + + public final ElementValuePairContext elementValuePair() throws RecognitionException { + ElementValuePairContext _localctx = new ElementValuePairContext(_ctx, getState()); + enterRule(_localctx, 236, RULE_elementValuePair); + try { + enterOuterAlt(_localctx, 1); + { + setState(1436); + match(Identifier); + setState(1437); + match(ASSIGN); + setState(1438); + elementValue(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ElementValueContext extends ParserRuleContext { + public ConditionalExpressionContext conditionalExpression() { + return getRuleContext(ConditionalExpressionContext.class,0); + } + public ElementValueArrayInitializerContext elementValueArrayInitializer() { + return getRuleContext(ElementValueArrayInitializerContext.class,0); + } + public AnnotationContext annotation() { + return getRuleContext(AnnotationContext.class,0); + } + public ElementValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_elementValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValue(this); + } + } + + public final ElementValueContext elementValue() throws RecognitionException { + ElementValueContext _localctx = new ElementValueContext(_ctx, getState()); + enterRule(_localctx, 238, RULE_elementValue); + try { + setState(1443); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,146,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1440); + conditionalExpression(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1441); + elementValueArrayInitializer(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1442); + annotation(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ElementValueArrayInitializerContext extends ParserRuleContext { + public ElementValueListContext elementValueList() { + return getRuleContext(ElementValueListContext.class,0); + } + public ElementValueArrayInitializerContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_elementValueArrayInitializer; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValueArrayInitializer(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValueArrayInitializer(this); + } + } + + public final ElementValueArrayInitializerContext elementValueArrayInitializer() throws RecognitionException { + ElementValueArrayInitializerContext _localctx = new ElementValueArrayInitializerContext(_ctx, getState()); + enterRule(_localctx, 240, RULE_elementValueArrayInitializer); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1445); + match(LBRACE); + setState(1447); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1446); + elementValueList(); + } + } + + setState(1450); + _la = _input.LA(1); + if (_la==COMMA) { + { + setState(1449); + match(COMMA); + } + } + + setState(1452); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ElementValueListContext extends ParserRuleContext { + public List elementValue() { + return getRuleContexts(ElementValueContext.class); + } + public ElementValueContext elementValue(int i) { + return getRuleContext(ElementValueContext.class,i); + } + public ElementValueListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_elementValueList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterElementValueList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitElementValueList(this); + } + } + + public final ElementValueListContext elementValueList() throws RecognitionException { + ElementValueListContext _localctx = new ElementValueListContext(_ctx, getState()); + enterRule(_localctx, 242, RULE_elementValueList); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1454); + elementValue(); + setState(1459); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,149,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1455); + match(COMMA); + setState(1456); + elementValue(); + } + } + } + setState(1461); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,149,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MarkerAnnotationContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public MarkerAnnotationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_markerAnnotation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMarkerAnnotation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMarkerAnnotation(this); + } + } + + public final MarkerAnnotationContext markerAnnotation() throws RecognitionException { + MarkerAnnotationContext _localctx = new MarkerAnnotationContext(_ctx, getState()); + enterRule(_localctx, 244, RULE_markerAnnotation); + try { + enterOuterAlt(_localctx, 1); + { + setState(1462); + match(AT); + setState(1463); + typeName(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SingleElementAnnotationContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ElementValueContext elementValue() { + return getRuleContext(ElementValueContext.class,0); + } + public SingleElementAnnotationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_singleElementAnnotation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSingleElementAnnotation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSingleElementAnnotation(this); + } + } + + public final SingleElementAnnotationContext singleElementAnnotation() throws RecognitionException { + SingleElementAnnotationContext _localctx = new SingleElementAnnotationContext(_ctx, getState()); + enterRule(_localctx, 246, RULE_singleElementAnnotation); + try { + enterOuterAlt(_localctx, 1); + { + setState(1465); + match(AT); + setState(1466); + typeName(); + setState(1467); + match(LPAREN); + setState(1468); + elementValue(); + setState(1469); + match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArrayInitializerContext extends ParserRuleContext { + public VariableInitializerListContext variableInitializerList() { + return getRuleContext(VariableInitializerListContext.class,0); + } + public ArrayInitializerContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayInitializer; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayInitializer(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayInitializer(this); + } + } + + public final ArrayInitializerContext arrayInitializer() throws RecognitionException { + ArrayInitializerContext _localctx = new ArrayInitializerContext(_ctx, getState()); + enterRule(_localctx, 248, RULE_arrayInitializer); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1471); + match(LBRACE); + setState(1473); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1472); + variableInitializerList(); + } + } + + setState(1476); + _la = _input.LA(1); + if (_la==COMMA) { + { + setState(1475); + match(COMMA); + } + } + + setState(1478); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class VariableInitializerListContext extends ParserRuleContext { + public List variableInitializer() { + return getRuleContexts(VariableInitializerContext.class); + } + public VariableInitializerContext variableInitializer(int i) { + return getRuleContext(VariableInitializerContext.class,i); + } + public VariableInitializerListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableInitializerList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterVariableInitializerList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitVariableInitializerList(this); + } + } + + public final VariableInitializerListContext variableInitializerList() throws RecognitionException { + VariableInitializerListContext _localctx = new VariableInitializerListContext(_ctx, getState()); + enterRule(_localctx, 250, RULE_variableInitializerList); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1480); + variableInitializer(); + setState(1485); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,152,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1481); + match(COMMA); + setState(1482); + variableInitializer(); + } + } + } + setState(1487); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,152,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BlockContext extends ParserRuleContext { + public BlockStatementsContext blockStatements() { + return getRuleContext(BlockStatementsContext.class,0); + } + public BlockContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_block; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBlock(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBlock(this); + } + } + + public final BlockContext block() throws RecognitionException { + BlockContext _localctx = new BlockContext(_ctx, getState()); + enterRule(_localctx, 252, RULE_block); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1488); + match(LBRACE); + setState(1490); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + setState(1489); + blockStatements(); + } + } + + setState(1492); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BlockStatementsContext extends ParserRuleContext { + public List blockStatement() { + return getRuleContexts(BlockStatementContext.class); + } + public BlockStatementContext blockStatement(int i) { + return getRuleContext(BlockStatementContext.class,i); + } + public BlockStatementsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_blockStatements; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBlockStatements(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBlockStatements(this); + } + } + + public final BlockStatementsContext blockStatements() throws RecognitionException { + BlockStatementsContext _localctx = new BlockStatementsContext(_ctx, getState()); + enterRule(_localctx, 254, RULE_blockStatements); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1494); + blockStatement(); + setState(1498); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ABSTRACT) | (1L << ASSERT) | (1L << BOOLEAN) | (1L << BREAK) | (1L << BYTE) | (1L << CHAR) | (1L << CLASS) | (1L << CONTINUE) | (1L << DO) | (1L << DOUBLE) | (1L << ENUM) | (1L << FINAL) | (1L << FLOAT) | (1L << FOR) | (1L << IF) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << PRIVATE) | (1L << PROTECTED) | (1L << PUBLIC) | (1L << RETURN) | (1L << SHORT) | (1L << STATIC) | (1L << STRICTFP) | (1L << SUPER) | (1L << SWITCH) | (1L << SYNCHRONIZED) | (1L << THIS) | (1L << THROW) | (1L << TRY) | (1L << VOID) | (1L << WHILE) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN) | (1L << LBRACE) | (1L << SEMI))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + { + setState(1495); + blockStatement(); + } + } + setState(1500); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BlockStatementContext extends ParserRuleContext { + public LocalVariableDeclarationStatementContext localVariableDeclarationStatement() { + return getRuleContext(LocalVariableDeclarationStatementContext.class,0); + } + public ClassDeclarationContext classDeclaration() { + return getRuleContext(ClassDeclarationContext.class,0); + } + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public BlockStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_blockStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBlockStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBlockStatement(this); + } + } + + public final BlockStatementContext blockStatement() throws RecognitionException { + BlockStatementContext _localctx = new BlockStatementContext(_ctx, getState()); + enterRule(_localctx, 256, RULE_blockStatement); + try { + setState(1504); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,155,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1501); + localVariableDeclarationStatement(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1502); + classDeclaration(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1503); + statement(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LocalVariableDeclarationStatementContext extends ParserRuleContext { + public LocalVariableDeclarationContext localVariableDeclaration() { + return getRuleContext(LocalVariableDeclarationContext.class,0); + } + public LocalVariableDeclarationStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_localVariableDeclarationStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLocalVariableDeclarationStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLocalVariableDeclarationStatement(this); + } + } + + public final LocalVariableDeclarationStatementContext localVariableDeclarationStatement() throws RecognitionException { + LocalVariableDeclarationStatementContext _localctx = new LocalVariableDeclarationStatementContext(_ctx, getState()); + enterRule(_localctx, 258, RULE_localVariableDeclarationStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1506); + localVariableDeclaration(); + setState(1507); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LocalVariableDeclarationContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorListContext variableDeclaratorList() { + return getRuleContext(VariableDeclaratorListContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public LocalVariableDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_localVariableDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLocalVariableDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLocalVariableDeclaration(this); + } + } + + public final LocalVariableDeclarationContext localVariableDeclaration() throws RecognitionException { + LocalVariableDeclarationContext _localctx = new LocalVariableDeclarationContext(_ctx, getState()); + enterRule(_localctx, 260, RULE_localVariableDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1512); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1509); + variableModifier(); + } + } + setState(1514); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1515); + unannType(); + setState(1516); + variableDeclaratorList(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StatementContext extends ParserRuleContext { + public StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() { + return getRuleContext(StatementWithoutTrailingSubstatementContext.class,0); + } + public LabeledStatementContext labeledStatement() { + return getRuleContext(LabeledStatementContext.class,0); + } + public IfThenStatementContext ifThenStatement() { + return getRuleContext(IfThenStatementContext.class,0); + } + public IfThenElseStatementContext ifThenElseStatement() { + return getRuleContext(IfThenElseStatementContext.class,0); + } + public WhileStatementContext whileStatement() { + return getRuleContext(WhileStatementContext.class,0); + } + public ForStatementContext forStatement() { + return getRuleContext(ForStatementContext.class,0); + } + public StatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_statement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatement(this); + } + } + + public final StatementContext statement() throws RecognitionException { + StatementContext _localctx = new StatementContext(_ctx, getState()); + enterRule(_localctx, 262, RULE_statement); + try { + setState(1524); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,157,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1518); + statementWithoutTrailingSubstatement(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1519); + labeledStatement(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1520); + ifThenStatement(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1521); + ifThenElseStatement(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1522); + whileStatement(); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(1523); + forStatement(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StatementNoShortIfContext extends ParserRuleContext { + public StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() { + return getRuleContext(StatementWithoutTrailingSubstatementContext.class,0); + } + public LabeledStatementNoShortIfContext labeledStatementNoShortIf() { + return getRuleContext(LabeledStatementNoShortIfContext.class,0); + } + public IfThenElseStatementNoShortIfContext ifThenElseStatementNoShortIf() { + return getRuleContext(IfThenElseStatementNoShortIfContext.class,0); + } + public WhileStatementNoShortIfContext whileStatementNoShortIf() { + return getRuleContext(WhileStatementNoShortIfContext.class,0); + } + public ForStatementNoShortIfContext forStatementNoShortIf() { + return getRuleContext(ForStatementNoShortIfContext.class,0); + } + public StatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_statementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementNoShortIf(this); + } + } + + public final StatementNoShortIfContext statementNoShortIf() throws RecognitionException { + StatementNoShortIfContext _localctx = new StatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 264, RULE_statementNoShortIf); + try { + setState(1531); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,158,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1526); + statementWithoutTrailingSubstatement(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1527); + labeledStatementNoShortIf(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1528); + ifThenElseStatementNoShortIf(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1529); + whileStatementNoShortIf(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1530); + forStatementNoShortIf(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StatementWithoutTrailingSubstatementContext extends ParserRuleContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public EmptyStatementContext emptyStatement() { + return getRuleContext(EmptyStatementContext.class,0); + } + public ExpressionStatementContext expressionStatement() { + return getRuleContext(ExpressionStatementContext.class,0); + } + public AssertStatementContext assertStatement() { + return getRuleContext(AssertStatementContext.class,0); + } + public SwitchStatementContext switchStatement() { + return getRuleContext(SwitchStatementContext.class,0); + } + public DoStatementContext doStatement() { + return getRuleContext(DoStatementContext.class,0); + } + public BreakStatementContext breakStatement() { + return getRuleContext(BreakStatementContext.class,0); + } + public ContinueStatementContext continueStatement() { + return getRuleContext(ContinueStatementContext.class,0); + } + public ReturnStatementContext returnStatement() { + return getRuleContext(ReturnStatementContext.class,0); + } + public SynchronizedStatementContext synchronizedStatement() { + return getRuleContext(SynchronizedStatementContext.class,0); + } + public ThrowStatementContext throwStatement() { + return getRuleContext(ThrowStatementContext.class,0); + } + public TryStatementContext tryStatement() { + return getRuleContext(TryStatementContext.class,0); + } + public StatementWithoutTrailingSubstatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_statementWithoutTrailingSubstatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementWithoutTrailingSubstatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementWithoutTrailingSubstatement(this); + } + } + + public final StatementWithoutTrailingSubstatementContext statementWithoutTrailingSubstatement() throws RecognitionException { + StatementWithoutTrailingSubstatementContext _localctx = new StatementWithoutTrailingSubstatementContext(_ctx, getState()); + enterRule(_localctx, 266, RULE_statementWithoutTrailingSubstatement); + try { + setState(1545); + switch (_input.LA(1)) { + case LBRACE: + enterOuterAlt(_localctx, 1); + { + setState(1533); + block(); + } + break; + case SEMI: + enterOuterAlt(_localctx, 2); + { + setState(1534); + emptyStatement(); + } + break; + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case NEW: + case SHORT: + case SUPER: + case THIS: + case VOID: + case IntegerLiteral: + case FloatingPointLiteral: + case BooleanLiteral: + case CharacterLiteral: + case StringLiteral: + case NullLiteral: + case LPAREN: + case INC: + case DEC: + case Identifier: + case AT: + enterOuterAlt(_localctx, 3); + { + setState(1535); + expressionStatement(); + } + break; + case ASSERT: + enterOuterAlt(_localctx, 4); + { + setState(1536); + assertStatement(); + } + break; + case SWITCH: + enterOuterAlt(_localctx, 5); + { + setState(1537); + switchStatement(); + } + break; + case DO: + enterOuterAlt(_localctx, 6); + { + setState(1538); + doStatement(); + } + break; + case BREAK: + enterOuterAlt(_localctx, 7); + { + setState(1539); + breakStatement(); + } + break; + case CONTINUE: + enterOuterAlt(_localctx, 8); + { + setState(1540); + continueStatement(); + } + break; + case RETURN: + enterOuterAlt(_localctx, 9); + { + setState(1541); + returnStatement(); + } + break; + case SYNCHRONIZED: + enterOuterAlt(_localctx, 10); + { + setState(1542); + synchronizedStatement(); + } + break; + case THROW: + enterOuterAlt(_localctx, 11); + { + setState(1543); + throwStatement(); + } + break; + case TRY: + enterOuterAlt(_localctx, 12); + { + setState(1544); + tryStatement(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EmptyStatementContext extends ParserRuleContext { + public EmptyStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_emptyStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEmptyStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEmptyStatement(this); + } + } + + public final EmptyStatementContext emptyStatement() throws RecognitionException { + EmptyStatementContext _localctx = new EmptyStatementContext(_ctx, getState()); + enterRule(_localctx, 268, RULE_emptyStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1547); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LabeledStatementContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public LabeledStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_labeledStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLabeledStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLabeledStatement(this); + } + } + + public final LabeledStatementContext labeledStatement() throws RecognitionException { + LabeledStatementContext _localctx = new LabeledStatementContext(_ctx, getState()); + enterRule(_localctx, 270, RULE_labeledStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1549); + match(Identifier); + setState(1550); + match(COLON); + setState(1551); + statement(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LabeledStatementNoShortIfContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public StatementNoShortIfContext statementNoShortIf() { + return getRuleContext(StatementNoShortIfContext.class,0); + } + public LabeledStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_labeledStatementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLabeledStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLabeledStatementNoShortIf(this); + } + } + + public final LabeledStatementNoShortIfContext labeledStatementNoShortIf() throws RecognitionException { + LabeledStatementNoShortIfContext _localctx = new LabeledStatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 272, RULE_labeledStatementNoShortIf); + try { + enterOuterAlt(_localctx, 1); + { + setState(1553); + match(Identifier); + setState(1554); + match(COLON); + setState(1555); + statementNoShortIf(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExpressionStatementContext extends ParserRuleContext { + public StatementExpressionContext statementExpression() { + return getRuleContext(StatementExpressionContext.class,0); + } + public ExpressionStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_expressionStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExpressionStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExpressionStatement(this); + } + } + + public final ExpressionStatementContext expressionStatement() throws RecognitionException { + ExpressionStatementContext _localctx = new ExpressionStatementContext(_ctx, getState()); + enterRule(_localctx, 274, RULE_expressionStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1557); + statementExpression(); + setState(1558); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StatementExpressionContext extends ParserRuleContext { + public AssignmentContext assignment() { + return getRuleContext(AssignmentContext.class,0); + } + public PreIncrementExpressionContext preIncrementExpression() { + return getRuleContext(PreIncrementExpressionContext.class,0); + } + public PreDecrementExpressionContext preDecrementExpression() { + return getRuleContext(PreDecrementExpressionContext.class,0); + } + public PostIncrementExpressionContext postIncrementExpression() { + return getRuleContext(PostIncrementExpressionContext.class,0); + } + public PostDecrementExpressionContext postDecrementExpression() { + return getRuleContext(PostDecrementExpressionContext.class,0); + } + public MethodInvocationContext methodInvocation() { + return getRuleContext(MethodInvocationContext.class,0); + } + public ClassInstanceCreationExpressionContext classInstanceCreationExpression() { + return getRuleContext(ClassInstanceCreationExpressionContext.class,0); + } + public StatementExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_statementExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementExpression(this); + } + } + + public final StatementExpressionContext statementExpression() throws RecognitionException { + StatementExpressionContext _localctx = new StatementExpressionContext(_ctx, getState()); + enterRule(_localctx, 276, RULE_statementExpression); + try { + setState(1567); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,160,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1560); + assignment(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1561); + preIncrementExpression(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1562); + preDecrementExpression(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1563); + postIncrementExpression(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1564); + postDecrementExpression(); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(1565); + methodInvocation(); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(1566); + classInstanceCreationExpression(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IfThenStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public IfThenStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ifThenStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIfThenStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIfThenStatement(this); + } + } + + public final IfThenStatementContext ifThenStatement() throws RecognitionException { + IfThenStatementContext _localctx = new IfThenStatementContext(_ctx, getState()); + enterRule(_localctx, 278, RULE_ifThenStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1569); + match(IF); + setState(1570); + match(LPAREN); + setState(1571); + expression(); + setState(1572); + match(RPAREN); + setState(1573); + statement(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IfThenElseStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public StatementNoShortIfContext statementNoShortIf() { + return getRuleContext(StatementNoShortIfContext.class,0); + } + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public IfThenElseStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ifThenElseStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIfThenElseStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIfThenElseStatement(this); + } + } + + public final IfThenElseStatementContext ifThenElseStatement() throws RecognitionException { + IfThenElseStatementContext _localctx = new IfThenElseStatementContext(_ctx, getState()); + enterRule(_localctx, 280, RULE_ifThenElseStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1575); + match(IF); + setState(1576); + match(LPAREN); + setState(1577); + expression(); + setState(1578); + match(RPAREN); + setState(1579); + statementNoShortIf(); + setState(1580); + match(ELSE); + setState(1581); + statement(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IfThenElseStatementNoShortIfContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public List statementNoShortIf() { + return getRuleContexts(StatementNoShortIfContext.class); + } + public StatementNoShortIfContext statementNoShortIf(int i) { + return getRuleContext(StatementNoShortIfContext.class,i); + } + public IfThenElseStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ifThenElseStatementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterIfThenElseStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitIfThenElseStatementNoShortIf(this); + } + } + + public final IfThenElseStatementNoShortIfContext ifThenElseStatementNoShortIf() throws RecognitionException { + IfThenElseStatementNoShortIfContext _localctx = new IfThenElseStatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 282, RULE_ifThenElseStatementNoShortIf); + try { + enterOuterAlt(_localctx, 1); + { + setState(1583); + match(IF); + setState(1584); + match(LPAREN); + setState(1585); + expression(); + setState(1586); + match(RPAREN); + setState(1587); + statementNoShortIf(); + setState(1588); + match(ELSE); + setState(1589); + statementNoShortIf(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AssertStatementContext extends ParserRuleContext { + public List expression() { + return getRuleContexts(ExpressionContext.class); + } + public ExpressionContext expression(int i) { + return getRuleContext(ExpressionContext.class,i); + } + public AssertStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_assertStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssertStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssertStatement(this); + } + } + + public final AssertStatementContext assertStatement() throws RecognitionException { + AssertStatementContext _localctx = new AssertStatementContext(_ctx, getState()); + enterRule(_localctx, 284, RULE_assertStatement); + try { + setState(1601); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,161,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1591); + match(ASSERT); + setState(1592); + expression(); + setState(1593); + match(SEMI); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1595); + match(ASSERT); + setState(1596); + expression(); + setState(1597); + match(COLON); + setState(1598); + expression(); + setState(1599); + match(SEMI); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SwitchStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public SwitchBlockContext switchBlock() { + return getRuleContext(SwitchBlockContext.class,0); + } + public SwitchStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_switchStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchStatement(this); + } + } + + public final SwitchStatementContext switchStatement() throws RecognitionException { + SwitchStatementContext _localctx = new SwitchStatementContext(_ctx, getState()); + enterRule(_localctx, 286, RULE_switchStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1603); + match(SWITCH); + setState(1604); + match(LPAREN); + setState(1605); + expression(); + setState(1606); + match(RPAREN); + setState(1607); + switchBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SwitchBlockContext extends ParserRuleContext { + public List switchBlockStatementGroup() { + return getRuleContexts(SwitchBlockStatementGroupContext.class); + } + public SwitchBlockStatementGroupContext switchBlockStatementGroup(int i) { + return getRuleContext(SwitchBlockStatementGroupContext.class,i); + } + public List switchLabel() { + return getRuleContexts(SwitchLabelContext.class); + } + public SwitchLabelContext switchLabel(int i) { + return getRuleContext(SwitchLabelContext.class,i); + } + public SwitchBlockContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_switchBlock; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchBlock(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchBlock(this); + } + } + + public final SwitchBlockContext switchBlock() throws RecognitionException { + SwitchBlockContext _localctx = new SwitchBlockContext(_ctx, getState()); + enterRule(_localctx, 288, RULE_switchBlock); + int _la; + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1609); + match(LBRACE); + setState(1613); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,162,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1610); + switchBlockStatementGroup(); + } + } + } + setState(1615); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,162,_ctx); + } + setState(1619); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==CASE || _la==DEFAULT) { + { + { + setState(1616); + switchLabel(); + } + } + setState(1621); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1622); + match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SwitchBlockStatementGroupContext extends ParserRuleContext { + public SwitchLabelsContext switchLabels() { + return getRuleContext(SwitchLabelsContext.class,0); + } + public BlockStatementsContext blockStatements() { + return getRuleContext(BlockStatementsContext.class,0); + } + public SwitchBlockStatementGroupContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_switchBlockStatementGroup; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchBlockStatementGroup(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchBlockStatementGroup(this); + } + } + + public final SwitchBlockStatementGroupContext switchBlockStatementGroup() throws RecognitionException { + SwitchBlockStatementGroupContext _localctx = new SwitchBlockStatementGroupContext(_ctx, getState()); + enterRule(_localctx, 290, RULE_switchBlockStatementGroup); + try { + enterOuterAlt(_localctx, 1); + { + setState(1624); + switchLabels(); + setState(1625); + blockStatements(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SwitchLabelsContext extends ParserRuleContext { + public List switchLabel() { + return getRuleContexts(SwitchLabelContext.class); + } + public SwitchLabelContext switchLabel(int i) { + return getRuleContext(SwitchLabelContext.class,i); + } + public SwitchLabelsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_switchLabels; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchLabels(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchLabels(this); + } + } + + public final SwitchLabelsContext switchLabels() throws RecognitionException { + SwitchLabelsContext _localctx = new SwitchLabelsContext(_ctx, getState()); + enterRule(_localctx, 292, RULE_switchLabels); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1627); + switchLabel(); + setState(1631); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==CASE || _la==DEFAULT) { + { + { + setState(1628); + switchLabel(); + } + } + setState(1633); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SwitchLabelContext extends ParserRuleContext { + public ConstantExpressionContext constantExpression() { + return getRuleContext(ConstantExpressionContext.class,0); + } + public EnumConstantNameContext enumConstantName() { + return getRuleContext(EnumConstantNameContext.class,0); + } + public SwitchLabelContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_switchLabel; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSwitchLabel(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSwitchLabel(this); + } + } + + public final SwitchLabelContext switchLabel() throws RecognitionException { + SwitchLabelContext _localctx = new SwitchLabelContext(_ctx, getState()); + enterRule(_localctx, 294, RULE_switchLabel); + try { + setState(1644); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,165,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1634); + match(CASE); + setState(1635); + constantExpression(); + setState(1636); + match(COLON); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1638); + match(CASE); + setState(1639); + enumConstantName(); + setState(1640); + match(COLON); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1642); + match(DEFAULT); + setState(1643); + match(COLON); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnumConstantNameContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public EnumConstantNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumConstantName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnumConstantName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnumConstantName(this); + } + } + + public final EnumConstantNameContext enumConstantName() throws RecognitionException { + EnumConstantNameContext _localctx = new EnumConstantNameContext(_ctx, getState()); + enterRule(_localctx, 296, RULE_enumConstantName); + try { + enterOuterAlt(_localctx, 1); + { + setState(1646); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class WhileStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public WhileStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_whileStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWhileStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWhileStatement(this); + } + } + + public final WhileStatementContext whileStatement() throws RecognitionException { + WhileStatementContext _localctx = new WhileStatementContext(_ctx, getState()); + enterRule(_localctx, 298, RULE_whileStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1648); + match(WHILE); + setState(1649); + match(LPAREN); + setState(1650); + expression(); + setState(1651); + match(RPAREN); + setState(1652); + statement(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class WhileStatementNoShortIfContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public StatementNoShortIfContext statementNoShortIf() { + return getRuleContext(StatementNoShortIfContext.class,0); + } + public WhileStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_whileStatementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterWhileStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitWhileStatementNoShortIf(this); + } + } + + public final WhileStatementNoShortIfContext whileStatementNoShortIf() throws RecognitionException { + WhileStatementNoShortIfContext _localctx = new WhileStatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 300, RULE_whileStatementNoShortIf); + try { + enterOuterAlt(_localctx, 1); + { + setState(1654); + match(WHILE); + setState(1655); + match(LPAREN); + setState(1656); + expression(); + setState(1657); + match(RPAREN); + setState(1658); + statementNoShortIf(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DoStatementContext extends ParserRuleContext { + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public DoStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_doStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDoStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDoStatement(this); + } + } + + public final DoStatementContext doStatement() throws RecognitionException { + DoStatementContext _localctx = new DoStatementContext(_ctx, getState()); + enterRule(_localctx, 302, RULE_doStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1660); + match(DO); + setState(1661); + statement(); + setState(1662); + match(WHILE); + setState(1663); + match(LPAREN); + setState(1664); + expression(); + setState(1665); + match(RPAREN); + setState(1666); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ForStatementContext extends ParserRuleContext { + public BasicForStatementContext basicForStatement() { + return getRuleContext(BasicForStatementContext.class,0); + } + public EnhancedForStatementContext enhancedForStatement() { + return getRuleContext(EnhancedForStatementContext.class,0); + } + public ForStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_forStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForStatement(this); + } + } + + public final ForStatementContext forStatement() throws RecognitionException { + ForStatementContext _localctx = new ForStatementContext(_ctx, getState()); + enterRule(_localctx, 304, RULE_forStatement); + try { + setState(1670); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,166,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1668); + basicForStatement(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1669); + enhancedForStatement(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ForStatementNoShortIfContext extends ParserRuleContext { + public BasicForStatementNoShortIfContext basicForStatementNoShortIf() { + return getRuleContext(BasicForStatementNoShortIfContext.class,0); + } + public EnhancedForStatementNoShortIfContext enhancedForStatementNoShortIf() { + return getRuleContext(EnhancedForStatementNoShortIfContext.class,0); + } + public ForStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_forStatementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForStatementNoShortIf(this); + } + } + + public final ForStatementNoShortIfContext forStatementNoShortIf() throws RecognitionException { + ForStatementNoShortIfContext _localctx = new ForStatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 306, RULE_forStatementNoShortIf); + try { + setState(1674); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,167,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1672); + basicForStatementNoShortIf(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1673); + enhancedForStatementNoShortIf(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BasicForStatementContext extends ParserRuleContext { + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public ForInitContext forInit() { + return getRuleContext(ForInitContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ForUpdateContext forUpdate() { + return getRuleContext(ForUpdateContext.class,0); + } + public BasicForStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_basicForStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBasicForStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBasicForStatement(this); + } + } + + public final BasicForStatementContext basicForStatement() throws RecognitionException { + BasicForStatementContext _localctx = new BasicForStatementContext(_ctx, getState()); + enterRule(_localctx, 308, RULE_basicForStatement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1676); + match(FOR); + setState(1677); + match(LPAREN); + setState(1679); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + setState(1678); + forInit(); + } + } + + setState(1681); + match(SEMI); + setState(1683); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1682); + expression(); + } + } + + setState(1685); + match(SEMI); + setState(1687); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + setState(1686); + forUpdate(); + } + } + + setState(1689); + match(RPAREN); + setState(1690); + statement(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BasicForStatementNoShortIfContext extends ParserRuleContext { + public StatementNoShortIfContext statementNoShortIf() { + return getRuleContext(StatementNoShortIfContext.class,0); + } + public ForInitContext forInit() { + return getRuleContext(ForInitContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ForUpdateContext forUpdate() { + return getRuleContext(ForUpdateContext.class,0); + } + public BasicForStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_basicForStatementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBasicForStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBasicForStatementNoShortIf(this); + } + } + + public final BasicForStatementNoShortIfContext basicForStatementNoShortIf() throws RecognitionException { + BasicForStatementNoShortIfContext _localctx = new BasicForStatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 310, RULE_basicForStatementNoShortIf); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1692); + match(FOR); + setState(1693); + match(LPAREN); + setState(1695); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + setState(1694); + forInit(); + } + } + + setState(1697); + match(SEMI); + setState(1699); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1698); + expression(); + } + } + + setState(1701); + match(SEMI); + setState(1703); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 79)) & ~0x3f) == 0 && ((1L << (_la - 79)) & ((1L << (INC - 79)) | (1L << (DEC - 79)) | (1L << (Identifier - 79)) | (1L << (AT - 79)))) != 0)) { + { + setState(1702); + forUpdate(); + } + } + + setState(1705); + match(RPAREN); + setState(1706); + statementNoShortIf(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ForInitContext extends ParserRuleContext { + public StatementExpressionListContext statementExpressionList() { + return getRuleContext(StatementExpressionListContext.class,0); + } + public LocalVariableDeclarationContext localVariableDeclaration() { + return getRuleContext(LocalVariableDeclarationContext.class,0); + } + public ForInitContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_forInit; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForInit(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForInit(this); + } + } + + public final ForInitContext forInit() throws RecognitionException { + ForInitContext _localctx = new ForInitContext(_ctx, getState()); + enterRule(_localctx, 312, RULE_forInit); + try { + setState(1710); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,174,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1708); + statementExpressionList(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1709); + localVariableDeclaration(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ForUpdateContext extends ParserRuleContext { + public StatementExpressionListContext statementExpressionList() { + return getRuleContext(StatementExpressionListContext.class,0); + } + public ForUpdateContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_forUpdate; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterForUpdate(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitForUpdate(this); + } + } + + public final ForUpdateContext forUpdate() throws RecognitionException { + ForUpdateContext _localctx = new ForUpdateContext(_ctx, getState()); + enterRule(_localctx, 314, RULE_forUpdate); + try { + enterOuterAlt(_localctx, 1); + { + setState(1712); + statementExpressionList(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StatementExpressionListContext extends ParserRuleContext { + public List statementExpression() { + return getRuleContexts(StatementExpressionContext.class); + } + public StatementExpressionContext statementExpression(int i) { + return getRuleContext(StatementExpressionContext.class,i); + } + public StatementExpressionListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_statementExpressionList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterStatementExpressionList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitStatementExpressionList(this); + } + } + + public final StatementExpressionListContext statementExpressionList() throws RecognitionException { + StatementExpressionListContext _localctx = new StatementExpressionListContext(_ctx, getState()); + enterRule(_localctx, 316, RULE_statementExpressionList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1714); + statementExpression(); + setState(1719); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(1715); + match(COMMA); + setState(1716); + statementExpression(); + } + } + setState(1721); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnhancedForStatementContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public StatementContext statement() { + return getRuleContext(StatementContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public EnhancedForStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enhancedForStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnhancedForStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnhancedForStatement(this); + } + } + + public final EnhancedForStatementContext enhancedForStatement() throws RecognitionException { + EnhancedForStatementContext _localctx = new EnhancedForStatementContext(_ctx, getState()); + enterRule(_localctx, 318, RULE_enhancedForStatement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1722); + match(FOR); + setState(1723); + match(LPAREN); + setState(1727); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1724); + variableModifier(); + } + } + setState(1729); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1730); + unannType(); + setState(1731); + variableDeclaratorId(); + setState(1732); + match(COLON); + setState(1733); + expression(); + setState(1734); + match(RPAREN); + setState(1735); + statement(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EnhancedForStatementNoShortIfContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public StatementNoShortIfContext statementNoShortIf() { + return getRuleContext(StatementNoShortIfContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public EnhancedForStatementNoShortIfContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enhancedForStatementNoShortIf; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEnhancedForStatementNoShortIf(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEnhancedForStatementNoShortIf(this); + } + } + + public final EnhancedForStatementNoShortIfContext enhancedForStatementNoShortIf() throws RecognitionException { + EnhancedForStatementNoShortIfContext _localctx = new EnhancedForStatementNoShortIfContext(_ctx, getState()); + enterRule(_localctx, 320, RULE_enhancedForStatementNoShortIf); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1737); + match(FOR); + setState(1738); + match(LPAREN); + setState(1742); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1739); + variableModifier(); + } + } + setState(1744); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1745); + unannType(); + setState(1746); + variableDeclaratorId(); + setState(1747); + match(COLON); + setState(1748); + expression(); + setState(1749); + match(RPAREN); + setState(1750); + statementNoShortIf(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BreakStatementContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public BreakStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_breakStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterBreakStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitBreakStatement(this); + } + } + + public final BreakStatementContext breakStatement() throws RecognitionException { + BreakStatementContext _localctx = new BreakStatementContext(_ctx, getState()); + enterRule(_localctx, 322, RULE_breakStatement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1752); + match(BREAK); + setState(1754); + _la = _input.LA(1); + if (_la==Identifier) { + { + setState(1753); + match(Identifier); + } + } + + setState(1756); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ContinueStatementContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public ContinueStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_continueStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterContinueStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitContinueStatement(this); + } + } + + public final ContinueStatementContext continueStatement() throws RecognitionException { + ContinueStatementContext _localctx = new ContinueStatementContext(_ctx, getState()); + enterRule(_localctx, 324, RULE_continueStatement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1758); + match(CONTINUE); + setState(1760); + _la = _input.LA(1); + if (_la==Identifier) { + { + setState(1759); + match(Identifier); + } + } + + setState(1762); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ReturnStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ReturnStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_returnStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterReturnStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitReturnStatement(this); + } + } + + public final ReturnStatementContext returnStatement() throws RecognitionException { + ReturnStatementContext _localctx = new ReturnStatementContext(_ctx, getState()); + enterRule(_localctx, 326, RULE_returnStatement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1764); + match(RETURN); + setState(1766); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(1765); + expression(); + } + } + + setState(1768); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ThrowStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ThrowStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_throwStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterThrowStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitThrowStatement(this); + } + } + + public final ThrowStatementContext throwStatement() throws RecognitionException { + ThrowStatementContext _localctx = new ThrowStatementContext(_ctx, getState()); + enterRule(_localctx, 328, RULE_throwStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1770); + match(THROW); + setState(1771); + expression(); + setState(1772); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SynchronizedStatementContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public SynchronizedStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_synchronizedStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterSynchronizedStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitSynchronizedStatement(this); + } + } + + public final SynchronizedStatementContext synchronizedStatement() throws RecognitionException { + SynchronizedStatementContext _localctx = new SynchronizedStatementContext(_ctx, getState()); + enterRule(_localctx, 330, RULE_synchronizedStatement); + try { + enterOuterAlt(_localctx, 1); + { + setState(1774); + match(SYNCHRONIZED); + setState(1775); + match(LPAREN); + setState(1776); + expression(); + setState(1777); + match(RPAREN); + setState(1778); + block(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TryStatementContext extends ParserRuleContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public CatchesContext catches() { + return getRuleContext(CatchesContext.class,0); + } + public Finally_Context finally_() { + return getRuleContext(Finally_Context.class,0); + } + public TryWithResourcesStatementContext tryWithResourcesStatement() { + return getRuleContext(TryWithResourcesStatementContext.class,0); + } + public TryStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_tryStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTryStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTryStatement(this); + } + } + + public final TryStatementContext tryStatement() throws RecognitionException { + TryStatementContext _localctx = new TryStatementContext(_ctx, getState()); + enterRule(_localctx, 332, RULE_tryStatement); + int _la; + try { + setState(1792); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,182,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1780); + match(TRY); + setState(1781); + block(); + setState(1782); + catches(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1784); + match(TRY); + setState(1785); + block(); + setState(1787); + _la = _input.LA(1); + if (_la==CATCH) { + { + setState(1786); + catches(); + } + } + + setState(1789); + finally_(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1791); + tryWithResourcesStatement(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CatchesContext extends ParserRuleContext { + public List catchClause() { + return getRuleContexts(CatchClauseContext.class); + } + public CatchClauseContext catchClause(int i) { + return getRuleContext(CatchClauseContext.class,i); + } + public CatchesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_catches; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatches(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatches(this); + } + } + + public final CatchesContext catches() throws RecognitionException { + CatchesContext _localctx = new CatchesContext(_ctx, getState()); + enterRule(_localctx, 334, RULE_catches); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1794); + catchClause(); + setState(1798); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==CATCH) { + { + { + setState(1795); + catchClause(); + } + } + setState(1800); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CatchClauseContext extends ParserRuleContext { + public CatchFormalParameterContext catchFormalParameter() { + return getRuleContext(CatchFormalParameterContext.class,0); + } + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public CatchClauseContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_catchClause; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatchClause(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatchClause(this); + } + } + + public final CatchClauseContext catchClause() throws RecognitionException { + CatchClauseContext _localctx = new CatchClauseContext(_ctx, getState()); + enterRule(_localctx, 336, RULE_catchClause); + try { + enterOuterAlt(_localctx, 1); + { + setState(1801); + match(CATCH); + setState(1802); + match(LPAREN); + setState(1803); + catchFormalParameter(); + setState(1804); + match(RPAREN); + setState(1805); + block(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CatchFormalParameterContext extends ParserRuleContext { + public CatchTypeContext catchType() { + return getRuleContext(CatchTypeContext.class,0); + } + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public CatchFormalParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_catchFormalParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatchFormalParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatchFormalParameter(this); + } + } + + public final CatchFormalParameterContext catchFormalParameter() throws RecognitionException { + CatchFormalParameterContext _localctx = new CatchFormalParameterContext(_ctx, getState()); + enterRule(_localctx, 338, RULE_catchFormalParameter); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1810); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1807); + variableModifier(); + } + } + setState(1812); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1813); + catchType(); + setState(1814); + variableDeclaratorId(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CatchTypeContext extends ParserRuleContext { + public UnannClassTypeContext unannClassType() { + return getRuleContext(UnannClassTypeContext.class,0); + } + public List classType() { + return getRuleContexts(ClassTypeContext.class); + } + public ClassTypeContext classType(int i) { + return getRuleContext(ClassTypeContext.class,i); + } + public CatchTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_catchType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCatchType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCatchType(this); + } + } + + public final CatchTypeContext catchType() throws RecognitionException { + CatchTypeContext _localctx = new CatchTypeContext(_ctx, getState()); + enterRule(_localctx, 340, RULE_catchType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1816); + unannClassType(); + setState(1821); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==BITOR) { + { + { + setState(1817); + match(BITOR); + setState(1818); + classType(); + } + } + setState(1823); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class Finally_Context extends ParserRuleContext { + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public Finally_Context(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_finally_; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFinally_(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFinally_(this); + } + } + + public final Finally_Context finally_() throws RecognitionException { + Finally_Context _localctx = new Finally_Context(_ctx, getState()); + enterRule(_localctx, 342, RULE_finally_); + try { + enterOuterAlt(_localctx, 1); + { + setState(1824); + match(FINALLY); + setState(1825); + block(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TryWithResourcesStatementContext extends ParserRuleContext { + public ResourceSpecificationContext resourceSpecification() { + return getRuleContext(ResourceSpecificationContext.class,0); + } + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public CatchesContext catches() { + return getRuleContext(CatchesContext.class,0); + } + public Finally_Context finally_() { + return getRuleContext(Finally_Context.class,0); + } + public TryWithResourcesStatementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_tryWithResourcesStatement; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTryWithResourcesStatement(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTryWithResourcesStatement(this); + } + } + + public final TryWithResourcesStatementContext tryWithResourcesStatement() throws RecognitionException { + TryWithResourcesStatementContext _localctx = new TryWithResourcesStatementContext(_ctx, getState()); + enterRule(_localctx, 344, RULE_tryWithResourcesStatement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1827); + match(TRY); + setState(1828); + resourceSpecification(); + setState(1829); + block(); + setState(1831); + _la = _input.LA(1); + if (_la==CATCH) { + { + setState(1830); + catches(); + } + } + + setState(1834); + _la = _input.LA(1); + if (_la==FINALLY) { + { + setState(1833); + finally_(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ResourceSpecificationContext extends ParserRuleContext { + public ResourceListContext resourceList() { + return getRuleContext(ResourceListContext.class,0); + } + public ResourceSpecificationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_resourceSpecification; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResourceSpecification(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResourceSpecification(this); + } + } + + public final ResourceSpecificationContext resourceSpecification() throws RecognitionException { + ResourceSpecificationContext _localctx = new ResourceSpecificationContext(_ctx, getState()); + enterRule(_localctx, 346, RULE_resourceSpecification); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1836); + match(LPAREN); + setState(1837); + resourceList(); + setState(1839); + _la = _input.LA(1); + if (_la==SEMI) { + { + setState(1838); + match(SEMI); + } + } + + setState(1841); + match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ResourceListContext extends ParserRuleContext { + public List resource() { + return getRuleContexts(ResourceContext.class); + } + public ResourceContext resource(int i) { + return getRuleContext(ResourceContext.class,i); + } + public ResourceListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_resourceList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResourceList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResourceList(this); + } + } + + public final ResourceListContext resourceList() throws RecognitionException { + ResourceListContext _localctx = new ResourceListContext(_ctx, getState()); + enterRule(_localctx, 348, RULE_resourceList); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1843); + resource(); + setState(1848); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,189,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1844); + match(SEMI); + setState(1845); + resource(); + } + } + } + setState(1850); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,189,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ResourceContext extends ParserRuleContext { + public UnannTypeContext unannType() { + return getRuleContext(UnannTypeContext.class,0); + } + public VariableDeclaratorIdContext variableDeclaratorId() { + return getRuleContext(VariableDeclaratorIdContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public List variableModifier() { + return getRuleContexts(VariableModifierContext.class); + } + public VariableModifierContext variableModifier(int i) { + return getRuleContext(VariableModifierContext.class,i); + } + public ResourceContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_resource; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterResource(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitResource(this); + } + } + + public final ResourceContext resource() throws RecognitionException { + ResourceContext _localctx = new ResourceContext(_ctx, getState()); + enterRule(_localctx, 350, RULE_resource); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1854); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==FINAL || _la==AT) { + { + { + setState(1851); + variableModifier(); + } + } + setState(1856); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1857); + unannType(); + setState(1858); + variableDeclaratorId(); + setState(1859); + match(ASSIGN); + setState(1860); + expression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryContext extends ParserRuleContext { + public PrimaryNoNewArray_lfno_primaryContext primaryNoNewArray_lfno_primary() { + return getRuleContext(PrimaryNoNewArray_lfno_primaryContext.class,0); + } + public ArrayCreationExpressionContext arrayCreationExpression() { + return getRuleContext(ArrayCreationExpressionContext.class,0); + } + public List primaryNoNewArray_lf_primary() { + return getRuleContexts(PrimaryNoNewArray_lf_primaryContext.class); + } + public PrimaryNoNewArray_lf_primaryContext primaryNoNewArray_lf_primary(int i) { + return getRuleContext(PrimaryNoNewArray_lf_primaryContext.class,i); + } + public PrimaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimary(this); + } + } + + public final PrimaryContext primary() throws RecognitionException { + PrimaryContext _localctx = new PrimaryContext(_ctx, getState()); + enterRule(_localctx, 352, RULE_primary); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1864); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,191,_ctx) ) { + case 1: + { + setState(1862); + primaryNoNewArray_lfno_primary(); + } + break; + case 2: + { + setState(1863); + arrayCreationExpression(); + } + break; + } + setState(1869); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,192,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1866); + primaryNoNewArray_lf_primary(); + } + } + } + setState(1871); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,192,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArrayContext extends ParserRuleContext { + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ClassInstanceCreationExpressionContext classInstanceCreationExpression() { + return getRuleContext(ClassInstanceCreationExpressionContext.class,0); + } + public FieldAccessContext fieldAccess() { + return getRuleContext(FieldAccessContext.class,0); + } + public ArrayAccessContext arrayAccess() { + return getRuleContext(ArrayAccessContext.class,0); + } + public MethodInvocationContext methodInvocation() { + return getRuleContext(MethodInvocationContext.class,0); + } + public MethodReferenceContext methodReference() { + return getRuleContext(MethodReferenceContext.class,0); + } + public PrimaryNoNewArrayContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray(this); + } + } + + public final PrimaryNoNewArrayContext primaryNoNewArray() throws RecognitionException { + PrimaryNoNewArrayContext _localctx = new PrimaryNoNewArrayContext(_ctx, getState()); + enterRule(_localctx, 354, RULE_primaryNoNewArray); + int _la; + try { + setState(1901); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,194,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1872); + literal(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1873); + typeName(); + setState(1878); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(1874); + match(LBRACK); + setState(1875); + match(RBRACK); + } + } + setState(1880); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1881); + match(DOT); + setState(1882); + match(CLASS); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1884); + match(VOID); + setState(1885); + match(DOT); + setState(1886); + match(CLASS); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1887); + match(THIS); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1888); + typeName(); + setState(1889); + match(DOT); + setState(1890); + match(THIS); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(1892); + match(LPAREN); + setState(1893); + expression(); + setState(1894); + match(RPAREN); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(1896); + classInstanceCreationExpression(); + } + break; + case 8: + enterOuterAlt(_localctx, 8); + { + setState(1897); + fieldAccess(); + } + break; + case 9: + enterOuterAlt(_localctx, 9); + { + setState(1898); + arrayAccess(); + } + break; + case 10: + enterOuterAlt(_localctx, 10); + { + setState(1899); + methodInvocation(); + } + break; + case 11: + enterOuterAlt(_localctx, 11); + { + setState(1900); + methodReference(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lf_arrayAccessContext extends ParserRuleContext { + public PrimaryNoNewArray_lf_arrayAccessContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_arrayAccess; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_arrayAccess(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_arrayAccess(this); + } + } + + public final PrimaryNoNewArray_lf_arrayAccessContext primaryNoNewArray_lf_arrayAccess() throws RecognitionException { + PrimaryNoNewArray_lf_arrayAccessContext _localctx = new PrimaryNoNewArray_lf_arrayAccessContext(_ctx, getState()); + enterRule(_localctx, 356, RULE_primaryNoNewArray_lf_arrayAccess); + try { + enterOuterAlt(_localctx, 1); + { + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lfno_arrayAccessContext extends ParserRuleContext { + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ClassInstanceCreationExpressionContext classInstanceCreationExpression() { + return getRuleContext(ClassInstanceCreationExpressionContext.class,0); + } + public FieldAccessContext fieldAccess() { + return getRuleContext(FieldAccessContext.class,0); + } + public MethodInvocationContext methodInvocation() { + return getRuleContext(MethodInvocationContext.class,0); + } + public MethodReferenceContext methodReference() { + return getRuleContext(MethodReferenceContext.class,0); + } + public PrimaryNoNewArray_lfno_arrayAccessContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_arrayAccess; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_arrayAccess(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_arrayAccess(this); + } + } + + public final PrimaryNoNewArray_lfno_arrayAccessContext primaryNoNewArray_lfno_arrayAccess() throws RecognitionException { + PrimaryNoNewArray_lfno_arrayAccessContext _localctx = new PrimaryNoNewArray_lfno_arrayAccessContext(_ctx, getState()); + enterRule(_localctx, 358, RULE_primaryNoNewArray_lfno_arrayAccess); + int _la; + try { + setState(1933); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,196,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1905); + literal(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1906); + typeName(); + setState(1911); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(1907); + match(LBRACK); + setState(1908); + match(RBRACK); + } + } + setState(1913); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1914); + match(DOT); + setState(1915); + match(CLASS); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1917); + match(VOID); + setState(1918); + match(DOT); + setState(1919); + match(CLASS); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1920); + match(THIS); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1921); + typeName(); + setState(1922); + match(DOT); + setState(1923); + match(THIS); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(1925); + match(LPAREN); + setState(1926); + expression(); + setState(1927); + match(RPAREN); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(1929); + classInstanceCreationExpression(); + } + break; + case 8: + enterOuterAlt(_localctx, 8); + { + setState(1930); + fieldAccess(); + } + break; + case 9: + enterOuterAlt(_localctx, 9); + { + setState(1931); + methodInvocation(); + } + break; + case 10: + enterOuterAlt(_localctx, 10); + { + setState(1932); + methodReference(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lf_primaryContext extends ParserRuleContext { + public ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() { + return getRuleContext(ClassInstanceCreationExpression_lf_primaryContext.class,0); + } + public FieldAccess_lf_primaryContext fieldAccess_lf_primary() { + return getRuleContext(FieldAccess_lf_primaryContext.class,0); + } + public ArrayAccess_lf_primaryContext arrayAccess_lf_primary() { + return getRuleContext(ArrayAccess_lf_primaryContext.class,0); + } + public MethodInvocation_lf_primaryContext methodInvocation_lf_primary() { + return getRuleContext(MethodInvocation_lf_primaryContext.class,0); + } + public MethodReference_lf_primaryContext methodReference_lf_primary() { + return getRuleContext(MethodReference_lf_primaryContext.class,0); + } + public PrimaryNoNewArray_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_primary(this); + } + } + + public final PrimaryNoNewArray_lf_primaryContext primaryNoNewArray_lf_primary() throws RecognitionException { + PrimaryNoNewArray_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 360, RULE_primaryNoNewArray_lf_primary); + try { + setState(1940); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,197,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1935); + classInstanceCreationExpression_lf_primary(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1936); + fieldAccess_lf_primary(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1937); + arrayAccess_lf_primary(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1938); + methodInvocation_lf_primary(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1939); + methodReference_lf_primary(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext extends ParserRuleContext { + public PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(this); + } + } + + public final PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary() throws RecognitionException { + PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 362, RULE_primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary); + try { + enterOuterAlt(_localctx, 1); + { + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext extends ParserRuleContext { + public ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() { + return getRuleContext(ClassInstanceCreationExpression_lf_primaryContext.class,0); + } + public FieldAccess_lf_primaryContext fieldAccess_lf_primary() { + return getRuleContext(FieldAccess_lf_primaryContext.class,0); + } + public MethodInvocation_lf_primaryContext methodInvocation_lf_primary() { + return getRuleContext(MethodInvocation_lf_primaryContext.class,0); + } + public MethodReference_lf_primaryContext methodReference_lf_primary() { + return getRuleContext(MethodReference_lf_primaryContext.class,0); + } + public PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(this); + } + } + + public final PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary() throws RecognitionException { + PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext _localctx = new PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 364, RULE_primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary); + try { + setState(1948); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,198,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1944); + classInstanceCreationExpression_lf_primary(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1945); + fieldAccess_lf_primary(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1946); + methodInvocation_lf_primary(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1947); + methodReference_lf_primary(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lfno_primaryContext extends ParserRuleContext { + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public UnannPrimitiveTypeContext unannPrimitiveType() { + return getRuleContext(UnannPrimitiveTypeContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() { + return getRuleContext(ClassInstanceCreationExpression_lfno_primaryContext.class,0); + } + public FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() { + return getRuleContext(FieldAccess_lfno_primaryContext.class,0); + } + public ArrayAccess_lfno_primaryContext arrayAccess_lfno_primary() { + return getRuleContext(ArrayAccess_lfno_primaryContext.class,0); + } + public MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() { + return getRuleContext(MethodInvocation_lfno_primaryContext.class,0); + } + public MethodReference_lfno_primaryContext methodReference_lfno_primary() { + return getRuleContext(MethodReference_lfno_primaryContext.class,0); + } + public PrimaryNoNewArray_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_primary(this); + } + } + + public final PrimaryNoNewArray_lfno_primaryContext primaryNoNewArray_lfno_primary() throws RecognitionException { + PrimaryNoNewArray_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 366, RULE_primaryNoNewArray_lfno_primary); + int _la; + try { + setState(1990); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,201,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1950); + literal(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1951); + typeName(); + setState(1956); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(1952); + match(LBRACK); + setState(1953); + match(RBRACK); + } + } + setState(1958); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1959); + match(DOT); + setState(1960); + match(CLASS); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(1962); + unannPrimitiveType(); + setState(1967); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(1963); + match(LBRACK); + setState(1964); + match(RBRACK); + } + } + setState(1969); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1970); + match(DOT); + setState(1971); + match(CLASS); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(1973); + match(VOID); + setState(1974); + match(DOT); + setState(1975); + match(CLASS); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(1976); + match(THIS); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(1977); + typeName(); + setState(1978); + match(DOT); + setState(1979); + match(THIS); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(1981); + match(LPAREN); + setState(1982); + expression(); + setState(1983); + match(RPAREN); + } + break; + case 8: + enterOuterAlt(_localctx, 8); + { + setState(1985); + classInstanceCreationExpression_lfno_primary(); + } + break; + case 9: + enterOuterAlt(_localctx, 9); + { + setState(1986); + fieldAccess_lfno_primary(); + } + break; + case 10: + enterOuterAlt(_localctx, 10); + { + setState(1987); + arrayAccess_lfno_primary(); + } + break; + case 11: + enterOuterAlt(_localctx, 11); + { + setState(1988); + methodInvocation_lfno_primary(); + } + break; + case 12: + enterOuterAlt(_localctx, 12); + { + setState(1989); + methodReference_lfno_primary(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext extends ParserRuleContext { + public PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(this); + } + } + + public final PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary() throws RecognitionException { + PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 368, RULE_primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary); + try { + enterOuterAlt(_localctx, 1); + { + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext extends ParserRuleContext { + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public UnannPrimitiveTypeContext unannPrimitiveType() { + return getRuleContext(UnannPrimitiveTypeContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() { + return getRuleContext(ClassInstanceCreationExpression_lfno_primaryContext.class,0); + } + public FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() { + return getRuleContext(FieldAccess_lfno_primaryContext.class,0); + } + public MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() { + return getRuleContext(MethodInvocation_lfno_primaryContext.class,0); + } + public MethodReference_lfno_primaryContext methodReference_lfno_primary() { + return getRuleContext(MethodReference_lfno_primaryContext.class,0); + } + public PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(this); + } + } + + public final PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary() throws RecognitionException { + PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext _localctx = new PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 370, RULE_primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary); + int _la; + try { + setState(2033); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,204,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(1994); + literal(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(1995); + typeName(); + setState(2000); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(1996); + match(LBRACK); + setState(1997); + match(RBRACK); + } + } + setState(2002); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2003); + match(DOT); + setState(2004); + match(CLASS); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2006); + unannPrimitiveType(); + setState(2011); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(2007); + match(LBRACK); + setState(2008); + match(RBRACK); + } + } + setState(2013); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2014); + match(DOT); + setState(2015); + match(CLASS); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2017); + match(VOID); + setState(2018); + match(DOT); + setState(2019); + match(CLASS); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(2020); + match(THIS); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(2021); + typeName(); + setState(2022); + match(DOT); + setState(2023); + match(THIS); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(2025); + match(LPAREN); + setState(2026); + expression(); + setState(2027); + match(RPAREN); + } + break; + case 8: + enterOuterAlt(_localctx, 8); + { + setState(2029); + classInstanceCreationExpression_lfno_primary(); + } + break; + case 9: + enterOuterAlt(_localctx, 9); + { + setState(2030); + fieldAccess_lfno_primary(); + } + break; + case 10: + enterOuterAlt(_localctx, 10); + { + setState(2031); + methodInvocation_lfno_primary(); + } + break; + case 11: + enterOuterAlt(_localctx, 11); + { + setState(2032); + methodReference_lfno_primary(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassInstanceCreationExpressionContext extends ParserRuleContext { + public List Identifier() { return getTokens(Java8Parser.Identifier); } + public TerminalNode Identifier(int i) { + return getToken(Java8Parser.Identifier, i); + } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() { + return getRuleContext(TypeArgumentsOrDiamondContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public ClassBodyContext classBody() { + return getRuleContext(ClassBodyContext.class,0); + } + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public PrimaryContext primary() { + return getRuleContext(PrimaryContext.class,0); + } + public ClassInstanceCreationExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classInstanceCreationExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassInstanceCreationExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassInstanceCreationExpression(this); + } + } + + public final ClassInstanceCreationExpressionContext classInstanceCreationExpression() throws RecognitionException { + ClassInstanceCreationExpressionContext _localctx = new ClassInstanceCreationExpressionContext(_ctx, getState()); + enterRule(_localctx, 372, RULE_classInstanceCreationExpression); + int _la; + try { + setState(2118); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,222,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2035); + match(NEW); + setState(2037); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2036); + typeArguments(); + } + } + + setState(2042); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2039); + annotation(); + } + } + setState(2044); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2045); + match(Identifier); + setState(2056); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==DOT) { + { + { + setState(2046); + match(DOT); + setState(2050); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2047); + annotation(); + } + } + setState(2052); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2053); + match(Identifier); + } + } + setState(2058); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2060); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2059); + typeArgumentsOrDiamond(); + } + } + + setState(2062); + match(LPAREN); + setState(2064); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2063); + argumentList(); + } + } + + setState(2066); + match(RPAREN); + setState(2068); + _la = _input.LA(1); + if (_la==LBRACE) { + { + setState(2067); + classBody(); + } + } + + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2070); + expressionName(); + setState(2071); + match(DOT); + setState(2072); + match(NEW); + setState(2074); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2073); + typeArguments(); + } + } + + setState(2079); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2076); + annotation(); + } + } + setState(2081); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2082); + match(Identifier); + setState(2084); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2083); + typeArgumentsOrDiamond(); + } + } + + setState(2086); + match(LPAREN); + setState(2088); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2087); + argumentList(); + } + } + + setState(2090); + match(RPAREN); + setState(2092); + _la = _input.LA(1); + if (_la==LBRACE) { + { + setState(2091); + classBody(); + } + } + + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2094); + primary(); + setState(2095); + match(DOT); + setState(2096); + match(NEW); + setState(2098); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2097); + typeArguments(); + } + } + + setState(2103); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2100); + annotation(); + } + } + setState(2105); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2106); + match(Identifier); + setState(2108); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2107); + typeArgumentsOrDiamond(); + } + } + + setState(2110); + match(LPAREN); + setState(2112); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2111); + argumentList(); + } + } + + setState(2114); + match(RPAREN); + setState(2116); + _la = _input.LA(1); + if (_la==LBRACE) { + { + setState(2115); + classBody(); + } + } + + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassInstanceCreationExpression_lf_primaryContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() { + return getRuleContext(TypeArgumentsOrDiamondContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public ClassBodyContext classBody() { + return getRuleContext(ClassBodyContext.class,0); + } + public ClassInstanceCreationExpression_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classInstanceCreationExpression_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassInstanceCreationExpression_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassInstanceCreationExpression_lf_primary(this); + } + } + + public final ClassInstanceCreationExpression_lf_primaryContext classInstanceCreationExpression_lf_primary() throws RecognitionException { + ClassInstanceCreationExpression_lf_primaryContext _localctx = new ClassInstanceCreationExpression_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 374, RULE_classInstanceCreationExpression_lf_primary); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2120); + match(DOT); + setState(2121); + match(NEW); + setState(2123); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2122); + typeArguments(); + } + } + + setState(2128); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2125); + annotation(); + } + } + setState(2130); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2131); + match(Identifier); + setState(2133); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2132); + typeArgumentsOrDiamond(); + } + } + + setState(2135); + match(LPAREN); + setState(2137); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2136); + argumentList(); + } + } + + setState(2139); + match(RPAREN); + setState(2141); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,227,_ctx) ) { + case 1: + { + setState(2140); + classBody(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ClassInstanceCreationExpression_lfno_primaryContext extends ParserRuleContext { + public List Identifier() { return getTokens(Java8Parser.Identifier); } + public TerminalNode Identifier(int i) { + return getToken(Java8Parser.Identifier, i); + } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() { + return getRuleContext(TypeArgumentsOrDiamondContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public ClassBodyContext classBody() { + return getRuleContext(ClassBodyContext.class,0); + } + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public ClassInstanceCreationExpression_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_classInstanceCreationExpression_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterClassInstanceCreationExpression_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitClassInstanceCreationExpression_lfno_primary(this); + } + } + + public final ClassInstanceCreationExpression_lfno_primaryContext classInstanceCreationExpression_lfno_primary() throws RecognitionException { + ClassInstanceCreationExpression_lfno_primaryContext _localctx = new ClassInstanceCreationExpression_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 376, RULE_classInstanceCreationExpression_lfno_primary); + int _la; + try { + setState(2202); + switch (_input.LA(1)) { + case NEW: + enterOuterAlt(_localctx, 1); + { + setState(2143); + match(NEW); + setState(2145); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2144); + typeArguments(); + } + } + + setState(2150); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2147); + annotation(); + } + } + setState(2152); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2153); + match(Identifier); + setState(2164); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==DOT) { + { + { + setState(2154); + match(DOT); + setState(2158); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2155); + annotation(); + } + } + setState(2160); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2161); + match(Identifier); + } + } + setState(2166); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2168); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2167); + typeArgumentsOrDiamond(); + } + } + + setState(2170); + match(LPAREN); + setState(2172); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2171); + argumentList(); + } + } + + setState(2174); + match(RPAREN); + setState(2176); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,234,_ctx) ) { + case 1: + { + setState(2175); + classBody(); + } + break; + } + } + break; + case Identifier: + enterOuterAlt(_localctx, 2); + { + setState(2178); + expressionName(); + setState(2179); + match(DOT); + setState(2180); + match(NEW); + setState(2182); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2181); + typeArguments(); + } + } + + setState(2187); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2184); + annotation(); + } + } + setState(2189); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2190); + match(Identifier); + setState(2192); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2191); + typeArgumentsOrDiamond(); + } + } + + setState(2194); + match(LPAREN); + setState(2196); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2195); + argumentList(); + } + } + + setState(2198); + match(RPAREN); + setState(2200); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,239,_ctx) ) { + case 1: + { + setState(2199); + classBody(); + } + break; + } + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TypeArgumentsOrDiamondContext extends ParserRuleContext { + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public TypeArgumentsOrDiamondContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeArgumentsOrDiamond; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterTypeArgumentsOrDiamond(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitTypeArgumentsOrDiamond(this); + } + } + + public final TypeArgumentsOrDiamondContext typeArgumentsOrDiamond() throws RecognitionException { + TypeArgumentsOrDiamondContext _localctx = new TypeArgumentsOrDiamondContext(_ctx, getState()); + enterRule(_localctx, 378, RULE_typeArgumentsOrDiamond); + try { + setState(2207); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,241,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2204); + typeArguments(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2205); + match(LT); + setState(2206); + match(GT); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FieldAccessContext extends ParserRuleContext { + public PrimaryContext primary() { + return getRuleContext(PrimaryContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public FieldAccessContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fieldAccess; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldAccess(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldAccess(this); + } + } + + public final FieldAccessContext fieldAccess() throws RecognitionException { + FieldAccessContext _localctx = new FieldAccessContext(_ctx, getState()); + enterRule(_localctx, 380, RULE_fieldAccess); + try { + setState(2222); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,242,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2209); + primary(); + setState(2210); + match(DOT); + setState(2211); + match(Identifier); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2213); + match(SUPER); + setState(2214); + match(DOT); + setState(2215); + match(Identifier); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2216); + typeName(); + setState(2217); + match(DOT); + setState(2218); + match(SUPER); + setState(2219); + match(DOT); + setState(2220); + match(Identifier); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FieldAccess_lf_primaryContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public FieldAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fieldAccess_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldAccess_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldAccess_lf_primary(this); + } + } + + public final FieldAccess_lf_primaryContext fieldAccess_lf_primary() throws RecognitionException { + FieldAccess_lf_primaryContext _localctx = new FieldAccess_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 382, RULE_fieldAccess_lf_primary); + try { + enterOuterAlt(_localctx, 1); + { + setState(2224); + match(DOT); + setState(2225); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class FieldAccess_lfno_primaryContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public FieldAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fieldAccess_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterFieldAccess_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitFieldAccess_lfno_primary(this); + } + } + + public final FieldAccess_lfno_primaryContext fieldAccess_lfno_primary() throws RecognitionException { + FieldAccess_lfno_primaryContext _localctx = new FieldAccess_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 384, RULE_fieldAccess_lfno_primary); + try { + setState(2236); + switch (_input.LA(1)) { + case SUPER: + enterOuterAlt(_localctx, 1); + { + setState(2227); + match(SUPER); + setState(2228); + match(DOT); + setState(2229); + match(Identifier); + } + break; + case Identifier: + enterOuterAlt(_localctx, 2); + { + setState(2230); + typeName(); + setState(2231); + match(DOT); + setState(2232); + match(SUPER); + setState(2233); + match(DOT); + setState(2234); + match(Identifier); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArrayAccessContext extends ParserRuleContext { + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public List expression() { + return getRuleContexts(ExpressionContext.class); + } + public ExpressionContext expression(int i) { + return getRuleContext(ExpressionContext.class,i); + } + public PrimaryNoNewArray_lfno_arrayAccessContext primaryNoNewArray_lfno_arrayAccess() { + return getRuleContext(PrimaryNoNewArray_lfno_arrayAccessContext.class,0); + } + public List primaryNoNewArray_lf_arrayAccess() { + return getRuleContexts(PrimaryNoNewArray_lf_arrayAccessContext.class); + } + public PrimaryNoNewArray_lf_arrayAccessContext primaryNoNewArray_lf_arrayAccess(int i) { + return getRuleContext(PrimaryNoNewArray_lf_arrayAccessContext.class,i); + } + public ArrayAccessContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayAccess; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayAccess(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayAccess(this); + } + } + + public final ArrayAccessContext arrayAccess() throws RecognitionException { + ArrayAccessContext _localctx = new ArrayAccessContext(_ctx, getState()); + enterRule(_localctx, 386, RULE_arrayAccess); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2248); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,244,_ctx) ) { + case 1: + { + setState(2238); + expressionName(); + setState(2239); + match(LBRACK); + setState(2240); + expression(); + setState(2241); + match(RBRACK); + } + break; + case 2: + { + setState(2243); + primaryNoNewArray_lfno_arrayAccess(); + setState(2244); + match(LBRACK); + setState(2245); + expression(); + setState(2246); + match(RBRACK); + } + break; + } + setState(2257); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==LBRACK) { + { + { + setState(2250); + primaryNoNewArray_lf_arrayAccess(); + setState(2251); + match(LBRACK); + setState(2252); + expression(); + setState(2253); + match(RBRACK); + } + } + setState(2259); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArrayAccess_lf_primaryContext extends ParserRuleContext { + public PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary() { + return getRuleContext(PrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primaryContext.class,0); + } + public List expression() { + return getRuleContexts(ExpressionContext.class); + } + public ExpressionContext expression(int i) { + return getRuleContext(ExpressionContext.class,i); + } + public List primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary() { + return getRuleContexts(PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext.class); + } + public PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(int i) { + return getRuleContext(PrimaryNoNewArray_lf_primary_lf_arrayAccess_lf_primaryContext.class,i); + } + public ArrayAccess_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayAccess_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayAccess_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayAccess_lf_primary(this); + } + } + + public final ArrayAccess_lf_primaryContext arrayAccess_lf_primary() throws RecognitionException { + ArrayAccess_lf_primaryContext _localctx = new ArrayAccess_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 388, RULE_arrayAccess_lf_primary); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2260); + primaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(); + setState(2261); + match(LBRACK); + setState(2262); + expression(); + setState(2263); + match(RBRACK); + } + setState(2272); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,246,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(2265); + primaryNoNewArray_lf_primary_lf_arrayAccess_lf_primary(); + setState(2266); + match(LBRACK); + setState(2267); + expression(); + setState(2268); + match(RBRACK); + } + } + } + setState(2274); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,246,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArrayAccess_lfno_primaryContext extends ParserRuleContext { + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public List expression() { + return getRuleContexts(ExpressionContext.class); + } + public ExpressionContext expression(int i) { + return getRuleContext(ExpressionContext.class,i); + } + public PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary() { + return getRuleContext(PrimaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primaryContext.class,0); + } + public List primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary() { + return getRuleContexts(PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext.class); + } + public PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(int i) { + return getRuleContext(PrimaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primaryContext.class,i); + } + public ArrayAccess_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayAccess_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayAccess_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayAccess_lfno_primary(this); + } + } + + public final ArrayAccess_lfno_primaryContext arrayAccess_lfno_primary() throws RecognitionException { + ArrayAccess_lfno_primaryContext _localctx = new ArrayAccess_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 390, RULE_arrayAccess_lfno_primary); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(2285); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,247,_ctx) ) { + case 1: + { + setState(2275); + expressionName(); + setState(2276); + match(LBRACK); + setState(2277); + expression(); + setState(2278); + match(RBRACK); + } + break; + case 2: + { + setState(2280); + primaryNoNewArray_lfno_primary_lfno_arrayAccess_lfno_primary(); + setState(2281); + match(LBRACK); + setState(2282); + expression(); + setState(2283); + match(RBRACK); + } + break; + } + setState(2294); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,248,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(2287); + primaryNoNewArray_lfno_primary_lf_arrayAccess_lfno_primary(); + setState(2288); + match(LBRACK); + setState(2289); + expression(); + setState(2290); + match(RBRACK); + } + } + } + setState(2296); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,248,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodInvocationContext extends ParserRuleContext { + public MethodNameContext methodName() { + return getRuleContext(MethodNameContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public PrimaryContext primary() { + return getRuleContext(PrimaryContext.class,0); + } + public MethodInvocationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodInvocation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodInvocation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodInvocation(this); + } + } + + public final MethodInvocationContext methodInvocation() throws RecognitionException { + MethodInvocationContext _localctx = new MethodInvocationContext(_ctx, getState()); + enterRule(_localctx, 392, RULE_methodInvocation); + int _la; + try { + setState(2365); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,260,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2297); + methodName(); + setState(2298); + match(LPAREN); + setState(2300); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2299); + argumentList(); + } + } + + setState(2302); + match(RPAREN); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2304); + typeName(); + setState(2305); + match(DOT); + setState(2307); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2306); + typeArguments(); + } + } + + setState(2309); + match(Identifier); + setState(2310); + match(LPAREN); + setState(2312); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2311); + argumentList(); + } + } + + setState(2314); + match(RPAREN); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2316); + expressionName(); + setState(2317); + match(DOT); + setState(2319); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2318); + typeArguments(); + } + } + + setState(2321); + match(Identifier); + setState(2322); + match(LPAREN); + setState(2324); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2323); + argumentList(); + } + } + + setState(2326); + match(RPAREN); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2328); + primary(); + setState(2329); + match(DOT); + setState(2331); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2330); + typeArguments(); + } + } + + setState(2333); + match(Identifier); + setState(2334); + match(LPAREN); + setState(2336); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2335); + argumentList(); + } + } + + setState(2338); + match(RPAREN); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(2340); + match(SUPER); + setState(2341); + match(DOT); + setState(2343); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2342); + typeArguments(); + } + } + + setState(2345); + match(Identifier); + setState(2346); + match(LPAREN); + setState(2348); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2347); + argumentList(); + } + } + + setState(2350); + match(RPAREN); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(2351); + typeName(); + setState(2352); + match(DOT); + setState(2353); + match(SUPER); + setState(2354); + match(DOT); + setState(2356); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2355); + typeArguments(); + } + } + + setState(2358); + match(Identifier); + setState(2359); + match(LPAREN); + setState(2361); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2360); + argumentList(); + } + } + + setState(2363); + match(RPAREN); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodInvocation_lf_primaryContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public MethodInvocation_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodInvocation_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodInvocation_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodInvocation_lf_primary(this); + } + } + + public final MethodInvocation_lf_primaryContext methodInvocation_lf_primary() throws RecognitionException { + MethodInvocation_lf_primaryContext _localctx = new MethodInvocation_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 394, RULE_methodInvocation_lf_primary); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2367); + match(DOT); + setState(2369); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2368); + typeArguments(); + } + } + + setState(2371); + match(Identifier); + setState(2372); + match(LPAREN); + setState(2374); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2373); + argumentList(); + } + } + + setState(2376); + match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodInvocation_lfno_primaryContext extends ParserRuleContext { + public MethodNameContext methodName() { + return getRuleContext(MethodNameContext.class,0); + } + public ArgumentListContext argumentList() { + return getRuleContext(ArgumentListContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public MethodInvocation_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodInvocation_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodInvocation_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodInvocation_lfno_primary(this); + } + } + + public final MethodInvocation_lfno_primaryContext methodInvocation_lfno_primary() throws RecognitionException { + MethodInvocation_lfno_primaryContext _localctx = new MethodInvocation_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 396, RULE_methodInvocation_lfno_primary); + int _la; + try { + setState(2434); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,272,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2378); + methodName(); + setState(2379); + match(LPAREN); + setState(2381); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2380); + argumentList(); + } + } + + setState(2383); + match(RPAREN); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2385); + typeName(); + setState(2386); + match(DOT); + setState(2388); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2387); + typeArguments(); + } + } + + setState(2390); + match(Identifier); + setState(2391); + match(LPAREN); + setState(2393); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2392); + argumentList(); + } + } + + setState(2395); + match(RPAREN); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2397); + expressionName(); + setState(2398); + match(DOT); + setState(2400); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2399); + typeArguments(); + } + } + + setState(2402); + match(Identifier); + setState(2403); + match(LPAREN); + setState(2405); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2404); + argumentList(); + } + } + + setState(2407); + match(RPAREN); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2409); + match(SUPER); + setState(2410); + match(DOT); + setState(2412); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2411); + typeArguments(); + } + } + + setState(2414); + match(Identifier); + setState(2415); + match(LPAREN); + setState(2417); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2416); + argumentList(); + } + } + + setState(2419); + match(RPAREN); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(2420); + typeName(); + setState(2421); + match(DOT); + setState(2422); + match(SUPER); + setState(2423); + match(DOT); + setState(2425); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2424); + typeArguments(); + } + } + + setState(2427); + match(Identifier); + setState(2428); + match(LPAREN); + setState(2430); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << NEW) | (1L << SHORT) | (1L << SUPER) | (1L << THIS) | (1L << VOID) | (1L << IntegerLiteral) | (1L << FloatingPointLiteral) | (1L << BooleanLiteral) | (1L << CharacterLiteral) | (1L << StringLiteral) | (1L << NullLiteral) | (1L << LPAREN))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (BANG - 69)) | (1L << (TILDE - 69)) | (1L << (INC - 69)) | (1L << (DEC - 69)) | (1L << (ADD - 69)) | (1L << (SUB - 69)) | (1L << (Identifier - 69)) | (1L << (AT - 69)))) != 0)) { + { + setState(2429); + argumentList(); + } + } + + setState(2432); + match(RPAREN); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArgumentListContext extends ParserRuleContext { + public List expression() { + return getRuleContexts(ExpressionContext.class); + } + public ExpressionContext expression(int i) { + return getRuleContext(ExpressionContext.class,i); + } + public ArgumentListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_argumentList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArgumentList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArgumentList(this); + } + } + + public final ArgumentListContext argumentList() throws RecognitionException { + ArgumentListContext _localctx = new ArgumentListContext(_ctx, getState()); + enterRule(_localctx, 398, RULE_argumentList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2436); + expression(); + setState(2441); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(2437); + match(COMMA); + setState(2438); + expression(); + } + } + setState(2443); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodReferenceContext extends ParserRuleContext { + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public PrimaryContext primary() { + return getRuleContext(PrimaryContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ClassTypeContext classType() { + return getRuleContext(ClassTypeContext.class,0); + } + public ArrayTypeContext arrayType() { + return getRuleContext(ArrayTypeContext.class,0); + } + public MethodReferenceContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodReference; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodReference(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodReference(this); + } + } + + public final MethodReferenceContext methodReference() throws RecognitionException { + MethodReferenceContext _localctx = new MethodReferenceContext(_ctx, getState()); + enterRule(_localctx, 400, RULE_methodReference); + int _la; + try { + setState(2491); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,280,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2444); + expressionName(); + setState(2445); + match(COLONCOLON); + setState(2447); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2446); + typeArguments(); + } + } + + setState(2449); + match(Identifier); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2451); + referenceType(); + setState(2452); + match(COLONCOLON); + setState(2454); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2453); + typeArguments(); + } + } + + setState(2456); + match(Identifier); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2458); + primary(); + setState(2459); + match(COLONCOLON); + setState(2461); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2460); + typeArguments(); + } + } + + setState(2463); + match(Identifier); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2465); + match(SUPER); + setState(2466); + match(COLONCOLON); + setState(2468); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2467); + typeArguments(); + } + } + + setState(2470); + match(Identifier); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(2471); + typeName(); + setState(2472); + match(DOT); + setState(2473); + match(SUPER); + setState(2474); + match(COLONCOLON); + setState(2476); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2475); + typeArguments(); + } + } + + setState(2478); + match(Identifier); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(2480); + classType(); + setState(2481); + match(COLONCOLON); + setState(2483); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2482); + typeArguments(); + } + } + + setState(2485); + match(NEW); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(2487); + arrayType(); + setState(2488); + match(COLONCOLON); + setState(2489); + match(NEW); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodReference_lf_primaryContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public MethodReference_lf_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodReference_lf_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodReference_lf_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodReference_lf_primary(this); + } + } + + public final MethodReference_lf_primaryContext methodReference_lf_primary() throws RecognitionException { + MethodReference_lf_primaryContext _localctx = new MethodReference_lf_primaryContext(_ctx, getState()); + enterRule(_localctx, 402, RULE_methodReference_lf_primary); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2493); + match(COLONCOLON); + setState(2495); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2494); + typeArguments(); + } + } + + setState(2497); + match(Identifier); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MethodReference_lfno_primaryContext extends ParserRuleContext { + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public TypeArgumentsContext typeArguments() { + return getRuleContext(TypeArgumentsContext.class,0); + } + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ClassTypeContext classType() { + return getRuleContext(ClassTypeContext.class,0); + } + public ArrayTypeContext arrayType() { + return getRuleContext(ArrayTypeContext.class,0); + } + public MethodReference_lfno_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_methodReference_lfno_primary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMethodReference_lfno_primary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMethodReference_lfno_primary(this); + } + } + + public final MethodReference_lfno_primaryContext methodReference_lfno_primary() throws RecognitionException { + MethodReference_lfno_primaryContext _localctx = new MethodReference_lfno_primaryContext(_ctx, getState()); + enterRule(_localctx, 404, RULE_methodReference_lfno_primary); + int _la; + try { + setState(2539); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,287,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2499); + expressionName(); + setState(2500); + match(COLONCOLON); + setState(2502); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2501); + typeArguments(); + } + } + + setState(2504); + match(Identifier); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2506); + referenceType(); + setState(2507); + match(COLONCOLON); + setState(2509); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2508); + typeArguments(); + } + } + + setState(2511); + match(Identifier); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2513); + match(SUPER); + setState(2514); + match(COLONCOLON); + setState(2516); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2515); + typeArguments(); + } + } + + setState(2518); + match(Identifier); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2519); + typeName(); + setState(2520); + match(DOT); + setState(2521); + match(SUPER); + setState(2522); + match(COLONCOLON); + setState(2524); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2523); + typeArguments(); + } + } + + setState(2526); + match(Identifier); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(2528); + classType(); + setState(2529); + match(COLONCOLON); + setState(2531); + _la = _input.LA(1); + if (_la==LT) { + { + setState(2530); + typeArguments(); + } + } + + setState(2533); + match(NEW); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(2535); + arrayType(); + setState(2536); + match(COLONCOLON); + setState(2537); + match(NEW); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ArrayCreationExpressionContext extends ParserRuleContext { + public PrimitiveTypeContext primitiveType() { + return getRuleContext(PrimitiveTypeContext.class,0); + } + public DimExprsContext dimExprs() { + return getRuleContext(DimExprsContext.class,0); + } + public DimsContext dims() { + return getRuleContext(DimsContext.class,0); + } + public ClassOrInterfaceTypeContext classOrInterfaceType() { + return getRuleContext(ClassOrInterfaceTypeContext.class,0); + } + public ArrayInitializerContext arrayInitializer() { + return getRuleContext(ArrayInitializerContext.class,0); + } + public ArrayCreationExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayCreationExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterArrayCreationExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitArrayCreationExpression(this); + } + } + + public final ArrayCreationExpressionContext arrayCreationExpression() throws RecognitionException { + ArrayCreationExpressionContext _localctx = new ArrayCreationExpressionContext(_ctx, getState()); + enterRule(_localctx, 406, RULE_arrayCreationExpression); + try { + setState(2563); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,290,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2541); + match(NEW); + setState(2542); + primitiveType(); + setState(2543); + dimExprs(); + setState(2545); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,288,_ctx) ) { + case 1: + { + setState(2544); + dims(); + } + break; + } + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2547); + match(NEW); + setState(2548); + classOrInterfaceType(); + setState(2549); + dimExprs(); + setState(2551); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,289,_ctx) ) { + case 1: + { + setState(2550); + dims(); + } + break; + } + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2553); + match(NEW); + setState(2554); + primitiveType(); + setState(2555); + dims(); + setState(2556); + arrayInitializer(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2558); + match(NEW); + setState(2559); + classOrInterfaceType(); + setState(2560); + dims(); + setState(2561); + arrayInitializer(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DimExprsContext extends ParserRuleContext { + public List dimExpr() { + return getRuleContexts(DimExprContext.class); + } + public DimExprContext dimExpr(int i) { + return getRuleContext(DimExprContext.class,i); + } + public DimExprsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_dimExprs; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDimExprs(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDimExprs(this); + } + } + + public final DimExprsContext dimExprs() throws RecognitionException { + DimExprsContext _localctx = new DimExprsContext(_ctx, getState()); + enterRule(_localctx, 408, RULE_dimExprs); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(2565); + dimExpr(); + setState(2569); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,291,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(2566); + dimExpr(); + } + } + } + setState(2571); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,291,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DimExprContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public List annotation() { + return getRuleContexts(AnnotationContext.class); + } + public AnnotationContext annotation(int i) { + return getRuleContext(AnnotationContext.class,i); + } + public DimExprContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_dimExpr; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterDimExpr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitDimExpr(this); + } + } + + public final DimExprContext dimExpr() throws RecognitionException { + DimExprContext _localctx = new DimExprContext(_ctx, getState()); + enterRule(_localctx, 410, RULE_dimExpr); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2575); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==AT) { + { + { + setState(2572); + annotation(); + } + } + setState(2577); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2578); + match(LBRACK); + setState(2579); + expression(); + setState(2580); + match(RBRACK); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConstantExpressionContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ConstantExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constantExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConstantExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConstantExpression(this); + } + } + + public final ConstantExpressionContext constantExpression() throws RecognitionException { + ConstantExpressionContext _localctx = new ConstantExpressionContext(_ctx, getState()); + enterRule(_localctx, 412, RULE_constantExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2582); + expression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ExpressionContext extends ParserRuleContext { + public LambdaExpressionContext lambdaExpression() { + return getRuleContext(LambdaExpressionContext.class,0); + } + public AssignmentExpressionContext assignmentExpression() { + return getRuleContext(AssignmentExpressionContext.class,0); + } + public ExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_expression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExpression(this); + } + } + + public final ExpressionContext expression() throws RecognitionException { + ExpressionContext _localctx = new ExpressionContext(_ctx, getState()); + enterRule(_localctx, 414, RULE_expression); + try { + setState(2586); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,293,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2584); + lambdaExpression(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2585); + assignmentExpression(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LambdaExpressionContext extends ParserRuleContext { + public LambdaParametersContext lambdaParameters() { + return getRuleContext(LambdaParametersContext.class,0); + } + public LambdaBodyContext lambdaBody() { + return getRuleContext(LambdaBodyContext.class,0); + } + public LambdaExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_lambdaExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLambdaExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLambdaExpression(this); + } + } + + public final LambdaExpressionContext lambdaExpression() throws RecognitionException { + LambdaExpressionContext _localctx = new LambdaExpressionContext(_ctx, getState()); + enterRule(_localctx, 416, RULE_lambdaExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2588); + lambdaParameters(); + setState(2589); + match(ARROW); + setState(2590); + lambdaBody(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LambdaParametersContext extends ParserRuleContext { + public TerminalNode Identifier() { return getToken(Java8Parser.Identifier, 0); } + public FormalParameterListContext formalParameterList() { + return getRuleContext(FormalParameterListContext.class,0); + } + public InferredFormalParameterListContext inferredFormalParameterList() { + return getRuleContext(InferredFormalParameterListContext.class,0); + } + public LambdaParametersContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_lambdaParameters; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLambdaParameters(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLambdaParameters(this); + } + } + + public final LambdaParametersContext lambdaParameters() throws RecognitionException { + LambdaParametersContext _localctx = new LambdaParametersContext(_ctx, getState()); + enterRule(_localctx, 418, RULE_lambdaParameters); + int _la; + try { + setState(2602); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,295,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2592); + match(Identifier); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2593); + match(LPAREN); + setState(2595); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BOOLEAN) | (1L << BYTE) | (1L << CHAR) | (1L << DOUBLE) | (1L << FINAL) | (1L << FLOAT) | (1L << INT) | (1L << LONG) | (1L << SHORT))) != 0) || _la==Identifier || _la==AT) { + { + setState(2594); + formalParameterList(); + } + } + + setState(2597); + match(RPAREN); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2598); + match(LPAREN); + setState(2599); + inferredFormalParameterList(); + setState(2600); + match(RPAREN); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class InferredFormalParameterListContext extends ParserRuleContext { + public List Identifier() { return getTokens(Java8Parser.Identifier); } + public TerminalNode Identifier(int i) { + return getToken(Java8Parser.Identifier, i); + } + public InferredFormalParameterListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_inferredFormalParameterList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInferredFormalParameterList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInferredFormalParameterList(this); + } + } + + public final InferredFormalParameterListContext inferredFormalParameterList() throws RecognitionException { + InferredFormalParameterListContext _localctx = new InferredFormalParameterListContext(_ctx, getState()); + enterRule(_localctx, 420, RULE_inferredFormalParameterList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2604); + match(Identifier); + setState(2609); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { + { + { + setState(2605); + match(COMMA); + setState(2606); + match(Identifier); + } + } + setState(2611); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LambdaBodyContext extends ParserRuleContext { + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public BlockContext block() { + return getRuleContext(BlockContext.class,0); + } + public LambdaBodyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_lambdaBody; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLambdaBody(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLambdaBody(this); + } + } + + public final LambdaBodyContext lambdaBody() throws RecognitionException { + LambdaBodyContext _localctx = new LambdaBodyContext(_ctx, getState()); + enterRule(_localctx, 422, RULE_lambdaBody); + try { + setState(2614); + switch (_input.LA(1)) { + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case NEW: + case SHORT: + case SUPER: + case THIS: + case VOID: + case IntegerLiteral: + case FloatingPointLiteral: + case BooleanLiteral: + case CharacterLiteral: + case StringLiteral: + case NullLiteral: + case LPAREN: + case BANG: + case TILDE: + case INC: + case DEC: + case ADD: + case SUB: + case Identifier: + case AT: + enterOuterAlt(_localctx, 1); + { + setState(2612); + expression(); + } + break; + case LBRACE: + enterOuterAlt(_localctx, 2); + { + setState(2613); + block(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AssignmentExpressionContext extends ParserRuleContext { + public ConditionalExpressionContext conditionalExpression() { + return getRuleContext(ConditionalExpressionContext.class,0); + } + public AssignmentContext assignment() { + return getRuleContext(AssignmentContext.class,0); + } + public AssignmentExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_assignmentExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssignmentExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssignmentExpression(this); + } + } + + public final AssignmentExpressionContext assignmentExpression() throws RecognitionException { + AssignmentExpressionContext _localctx = new AssignmentExpressionContext(_ctx, getState()); + enterRule(_localctx, 424, RULE_assignmentExpression); + try { + setState(2618); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,298,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2616); + conditionalExpression(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2617); + assignment(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AssignmentContext extends ParserRuleContext { + public LeftHandSideContext leftHandSide() { + return getRuleContext(LeftHandSideContext.class,0); + } + public AssignmentOperatorContext assignmentOperator() { + return getRuleContext(AssignmentOperatorContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public AssignmentContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_assignment; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssignment(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssignment(this); + } + } + + public final AssignmentContext assignment() throws RecognitionException { + AssignmentContext _localctx = new AssignmentContext(_ctx, getState()); + enterRule(_localctx, 426, RULE_assignment); + try { + enterOuterAlt(_localctx, 1); + { + setState(2620); + leftHandSide(); + setState(2621); + assignmentOperator(); + setState(2622); + expression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LeftHandSideContext extends ParserRuleContext { + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public FieldAccessContext fieldAccess() { + return getRuleContext(FieldAccessContext.class,0); + } + public ArrayAccessContext arrayAccess() { + return getRuleContext(ArrayAccessContext.class,0); + } + public LeftHandSideContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_leftHandSide; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterLeftHandSide(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitLeftHandSide(this); + } + } + + public final LeftHandSideContext leftHandSide() throws RecognitionException { + LeftHandSideContext _localctx = new LeftHandSideContext(_ctx, getState()); + enterRule(_localctx, 428, RULE_leftHandSide); + try { + setState(2627); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,299,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2624); + expressionName(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2625); + fieldAccess(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2626); + arrayAccess(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AssignmentOperatorContext extends ParserRuleContext { + public AssignmentOperatorContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_assignmentOperator; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAssignmentOperator(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAssignmentOperator(this); + } + } + + public final AssignmentOperatorContext assignmentOperator() throws RecognitionException { + AssignmentOperatorContext _localctx = new AssignmentOperatorContext(_ctx, getState()); + enterRule(_localctx, 430, RULE_assignmentOperator); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(2629); + _la = _input.LA(1); + if ( !(((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (ASSIGN - 66)) | (1L << (ADD_ASSIGN - 66)) | (1L << (SUB_ASSIGN - 66)) | (1L << (MUL_ASSIGN - 66)) | (1L << (DIV_ASSIGN - 66)) | (1L << (AND_ASSIGN - 66)) | (1L << (OR_ASSIGN - 66)) | (1L << (XOR_ASSIGN - 66)) | (1L << (MOD_ASSIGN - 66)) | (1L << (LSHIFT_ASSIGN - 66)) | (1L << (RSHIFT_ASSIGN - 66)) | (1L << (URSHIFT_ASSIGN - 66)))) != 0)) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConditionalExpressionContext extends ParserRuleContext { + public ConditionalOrExpressionContext conditionalOrExpression() { + return getRuleContext(ConditionalOrExpressionContext.class,0); + } + public ExpressionContext expression() { + return getRuleContext(ExpressionContext.class,0); + } + public ConditionalExpressionContext conditionalExpression() { + return getRuleContext(ConditionalExpressionContext.class,0); + } + public ConditionalExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_conditionalExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConditionalExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConditionalExpression(this); + } + } + + public final ConditionalExpressionContext conditionalExpression() throws RecognitionException { + ConditionalExpressionContext _localctx = new ConditionalExpressionContext(_ctx, getState()); + enterRule(_localctx, 432, RULE_conditionalExpression); + try { + setState(2638); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,300,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2631); + conditionalOrExpression(0); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2632); + conditionalOrExpression(0); + setState(2633); + match(QUESTION); + setState(2634); + expression(); + setState(2635); + match(COLON); + setState(2636); + conditionalExpression(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ConditionalOrExpressionContext extends ParserRuleContext { + public ConditionalAndExpressionContext conditionalAndExpression() { + return getRuleContext(ConditionalAndExpressionContext.class,0); + } + public ConditionalOrExpressionContext conditionalOrExpression() { + return getRuleContext(ConditionalOrExpressionContext.class,0); + } + public ConditionalOrExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_conditionalOrExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConditionalOrExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConditionalOrExpression(this); + } + } + + public final ConditionalOrExpressionContext conditionalOrExpression() throws RecognitionException { + return conditionalOrExpression(0); + } + + private ConditionalOrExpressionContext conditionalOrExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + ConditionalOrExpressionContext _localctx = new ConditionalOrExpressionContext(_ctx, _parentState); + ConditionalOrExpressionContext _prevctx = _localctx; + int _startState = 434; + enterRecursionRule(_localctx, 434, RULE_conditionalOrExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2641); + conditionalAndExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2648); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,301,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new ConditionalOrExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_conditionalOrExpression); + setState(2643); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2644); + match(OR); + setState(2645); + conditionalAndExpression(0); + } + } + } + setState(2650); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,301,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class ConditionalAndExpressionContext extends ParserRuleContext { + public InclusiveOrExpressionContext inclusiveOrExpression() { + return getRuleContext(InclusiveOrExpressionContext.class,0); + } + public ConditionalAndExpressionContext conditionalAndExpression() { + return getRuleContext(ConditionalAndExpressionContext.class,0); + } + public ConditionalAndExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_conditionalAndExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterConditionalAndExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitConditionalAndExpression(this); + } + } + + public final ConditionalAndExpressionContext conditionalAndExpression() throws RecognitionException { + return conditionalAndExpression(0); + } + + private ConditionalAndExpressionContext conditionalAndExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + ConditionalAndExpressionContext _localctx = new ConditionalAndExpressionContext(_ctx, _parentState); + ConditionalAndExpressionContext _prevctx = _localctx; + int _startState = 436; + enterRecursionRule(_localctx, 436, RULE_conditionalAndExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2652); + inclusiveOrExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2659); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,302,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new ConditionalAndExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_conditionalAndExpression); + setState(2654); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2655); + match(AND); + setState(2656); + inclusiveOrExpression(0); + } + } + } + setState(2661); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,302,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class InclusiveOrExpressionContext extends ParserRuleContext { + public ExclusiveOrExpressionContext exclusiveOrExpression() { + return getRuleContext(ExclusiveOrExpressionContext.class,0); + } + public InclusiveOrExpressionContext inclusiveOrExpression() { + return getRuleContext(InclusiveOrExpressionContext.class,0); + } + public InclusiveOrExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_inclusiveOrExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterInclusiveOrExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitInclusiveOrExpression(this); + } + } + + public final InclusiveOrExpressionContext inclusiveOrExpression() throws RecognitionException { + return inclusiveOrExpression(0); + } + + private InclusiveOrExpressionContext inclusiveOrExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + InclusiveOrExpressionContext _localctx = new InclusiveOrExpressionContext(_ctx, _parentState); + InclusiveOrExpressionContext _prevctx = _localctx; + int _startState = 438; + enterRecursionRule(_localctx, 438, RULE_inclusiveOrExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2663); + exclusiveOrExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2670); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,303,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new InclusiveOrExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_inclusiveOrExpression); + setState(2665); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2666); + match(BITOR); + setState(2667); + exclusiveOrExpression(0); + } + } + } + setState(2672); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,303,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class ExclusiveOrExpressionContext extends ParserRuleContext { + public AndExpressionContext andExpression() { + return getRuleContext(AndExpressionContext.class,0); + } + public ExclusiveOrExpressionContext exclusiveOrExpression() { + return getRuleContext(ExclusiveOrExpressionContext.class,0); + } + public ExclusiveOrExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_exclusiveOrExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterExclusiveOrExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitExclusiveOrExpression(this); + } + } + + public final ExclusiveOrExpressionContext exclusiveOrExpression() throws RecognitionException { + return exclusiveOrExpression(0); + } + + private ExclusiveOrExpressionContext exclusiveOrExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + ExclusiveOrExpressionContext _localctx = new ExclusiveOrExpressionContext(_ctx, _parentState); + ExclusiveOrExpressionContext _prevctx = _localctx; + int _startState = 440; + enterRecursionRule(_localctx, 440, RULE_exclusiveOrExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2674); + andExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2681); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,304,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new ExclusiveOrExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_exclusiveOrExpression); + setState(2676); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2677); + match(CARET); + setState(2678); + andExpression(0); + } + } + } + setState(2683); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,304,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class AndExpressionContext extends ParserRuleContext { + public EqualityExpressionContext equalityExpression() { + return getRuleContext(EqualityExpressionContext.class,0); + } + public AndExpressionContext andExpression() { + return getRuleContext(AndExpressionContext.class,0); + } + public AndExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_andExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAndExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAndExpression(this); + } + } + + public final AndExpressionContext andExpression() throws RecognitionException { + return andExpression(0); + } + + private AndExpressionContext andExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + AndExpressionContext _localctx = new AndExpressionContext(_ctx, _parentState); + AndExpressionContext _prevctx = _localctx; + int _startState = 442; + enterRecursionRule(_localctx, 442, RULE_andExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2685); + equalityExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2692); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,305,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + { + _localctx = new AndExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_andExpression); + setState(2687); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2688); + match(BITAND); + setState(2689); + equalityExpression(0); + } + } + } + setState(2694); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,305,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class EqualityExpressionContext extends ParserRuleContext { + public RelationalExpressionContext relationalExpression() { + return getRuleContext(RelationalExpressionContext.class,0); + } + public EqualityExpressionContext equalityExpression() { + return getRuleContext(EqualityExpressionContext.class,0); + } + public EqualityExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_equalityExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterEqualityExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitEqualityExpression(this); + } + } + + public final EqualityExpressionContext equalityExpression() throws RecognitionException { + return equalityExpression(0); + } + + private EqualityExpressionContext equalityExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + EqualityExpressionContext _localctx = new EqualityExpressionContext(_ctx, _parentState); + EqualityExpressionContext _prevctx = _localctx; + int _startState = 444; + enterRecursionRule(_localctx, 444, RULE_equalityExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2696); + relationalExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2706); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,307,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + setState(2704); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,306,_ctx) ) { + case 1: + { + _localctx = new EqualityExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); + setState(2698); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2699); + match(EQUAL); + setState(2700); + relationalExpression(0); + } + break; + case 2: + { + _localctx = new EqualityExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_equalityExpression); + setState(2701); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2702); + match(NOTEQUAL); + setState(2703); + relationalExpression(0); + } + break; + } + } + } + setState(2708); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,307,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class RelationalExpressionContext extends ParserRuleContext { + public ShiftExpressionContext shiftExpression() { + return getRuleContext(ShiftExpressionContext.class,0); + } + public RelationalExpressionContext relationalExpression() { + return getRuleContext(RelationalExpressionContext.class,0); + } + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public RelationalExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_relationalExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterRelationalExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitRelationalExpression(this); + } + } + + public final RelationalExpressionContext relationalExpression() throws RecognitionException { + return relationalExpression(0); + } + + private RelationalExpressionContext relationalExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + RelationalExpressionContext _localctx = new RelationalExpressionContext(_ctx, _parentState); + RelationalExpressionContext _prevctx = _localctx; + int _startState = 446; + enterRecursionRule(_localctx, 446, RULE_relationalExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2710); + shiftExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2729); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,309,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + setState(2727); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,308,_ctx) ) { + case 1: + { + _localctx = new RelationalExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); + setState(2712); + if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)"); + setState(2713); + match(LT); + setState(2714); + shiftExpression(0); + } + break; + case 2: + { + _localctx = new RelationalExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); + setState(2715); + if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)"); + setState(2716); + match(GT); + setState(2717); + shiftExpression(0); + } + break; + case 3: + { + _localctx = new RelationalExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); + setState(2718); + if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); + setState(2719); + match(LE); + setState(2720); + shiftExpression(0); + } + break; + case 4: + { + _localctx = new RelationalExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); + setState(2721); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2722); + match(GE); + setState(2723); + shiftExpression(0); + } + break; + case 5: + { + _localctx = new RelationalExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_relationalExpression); + setState(2724); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2725); + match(INSTANCEOF); + setState(2726); + referenceType(); + } + break; + } + } + } + setState(2731); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,309,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class ShiftExpressionContext extends ParserRuleContext { + public AdditiveExpressionContext additiveExpression() { + return getRuleContext(AdditiveExpressionContext.class,0); + } + public ShiftExpressionContext shiftExpression() { + return getRuleContext(ShiftExpressionContext.class,0); + } + public ShiftExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_shiftExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterShiftExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitShiftExpression(this); + } + } + + public final ShiftExpressionContext shiftExpression() throws RecognitionException { + return shiftExpression(0); + } + + private ShiftExpressionContext shiftExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + ShiftExpressionContext _localctx = new ShiftExpressionContext(_ctx, _parentState); + ShiftExpressionContext _prevctx = _localctx; + int _startState = 448; + enterRecursionRule(_localctx, 448, RULE_shiftExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2733); + additiveExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2750); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,311,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + setState(2748); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,310,_ctx) ) { + case 1: + { + _localctx = new ShiftExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); + setState(2735); + if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); + setState(2736); + match(LT); + setState(2737); + match(LT); + setState(2738); + additiveExpression(0); + } + break; + case 2: + { + _localctx = new ShiftExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); + setState(2739); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2740); + match(GT); + setState(2741); + match(GT); + setState(2742); + additiveExpression(0); + } + break; + case 3: + { + _localctx = new ShiftExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_shiftExpression); + setState(2743); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2744); + match(GT); + setState(2745); + match(GT); + setState(2746); + match(GT); + setState(2747); + additiveExpression(0); + } + break; + } + } + } + setState(2752); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,311,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class AdditiveExpressionContext extends ParserRuleContext { + public MultiplicativeExpressionContext multiplicativeExpression() { + return getRuleContext(MultiplicativeExpressionContext.class,0); + } + public AdditiveExpressionContext additiveExpression() { + return getRuleContext(AdditiveExpressionContext.class,0); + } + public AdditiveExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_additiveExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterAdditiveExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitAdditiveExpression(this); + } + } + + public final AdditiveExpressionContext additiveExpression() throws RecognitionException { + return additiveExpression(0); + } + + private AdditiveExpressionContext additiveExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + AdditiveExpressionContext _localctx = new AdditiveExpressionContext(_ctx, _parentState); + AdditiveExpressionContext _prevctx = _localctx; + int _startState = 450; + enterRecursionRule(_localctx, 450, RULE_additiveExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2754); + multiplicativeExpression(0); + } + _ctx.stop = _input.LT(-1); + setState(2764); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,313,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + setState(2762); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,312,_ctx) ) { + case 1: + { + _localctx = new AdditiveExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); + setState(2756); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2757); + match(ADD); + setState(2758); + multiplicativeExpression(0); + } + break; + case 2: + { + _localctx = new AdditiveExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_additiveExpression); + setState(2759); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2760); + match(SUB); + setState(2761); + multiplicativeExpression(0); + } + break; + } + } + } + setState(2766); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,313,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class MultiplicativeExpressionContext extends ParserRuleContext { + public UnaryExpressionContext unaryExpression() { + return getRuleContext(UnaryExpressionContext.class,0); + } + public MultiplicativeExpressionContext multiplicativeExpression() { + return getRuleContext(MultiplicativeExpressionContext.class,0); + } + public MultiplicativeExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_multiplicativeExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterMultiplicativeExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitMultiplicativeExpression(this); + } + } + + public final MultiplicativeExpressionContext multiplicativeExpression() throws RecognitionException { + return multiplicativeExpression(0); + } + + private MultiplicativeExpressionContext multiplicativeExpression(int _p) throws RecognitionException { + ParserRuleContext _parentctx = _ctx; + int _parentState = getState(); + MultiplicativeExpressionContext _localctx = new MultiplicativeExpressionContext(_ctx, _parentState); + MultiplicativeExpressionContext _prevctx = _localctx; + int _startState = 452; + enterRecursionRule(_localctx, 452, RULE_multiplicativeExpression, _p); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + { + setState(2768); + unaryExpression(); + } + _ctx.stop = _input.LT(-1); + setState(2781); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,315,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( _parseListeners!=null ) triggerExitRuleEvent(); + _prevctx = _localctx; + { + setState(2779); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,314,_ctx) ) { + case 1: + { + _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); + setState(2770); + if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)"); + setState(2771); + match(MUL); + setState(2772); + unaryExpression(); + } + break; + case 2: + { + _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); + setState(2773); + if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)"); + setState(2774); + match(DIV); + setState(2775); + unaryExpression(); + } + break; + case 3: + { + _localctx = new MultiplicativeExpressionContext(_parentctx, _parentState); + pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpression); + setState(2776); + if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)"); + setState(2777); + match(MOD); + setState(2778); + unaryExpression(); + } + break; + } + } + } + setState(2783); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,315,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + unrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public static class UnaryExpressionContext extends ParserRuleContext { + public PreIncrementExpressionContext preIncrementExpression() { + return getRuleContext(PreIncrementExpressionContext.class,0); + } + public PreDecrementExpressionContext preDecrementExpression() { + return getRuleContext(PreDecrementExpressionContext.class,0); + } + public UnaryExpressionContext unaryExpression() { + return getRuleContext(UnaryExpressionContext.class,0); + } + public UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() { + return getRuleContext(UnaryExpressionNotPlusMinusContext.class,0); + } + public UnaryExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unaryExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnaryExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnaryExpression(this); + } + } + + public final UnaryExpressionContext unaryExpression() throws RecognitionException { + UnaryExpressionContext _localctx = new UnaryExpressionContext(_ctx, getState()); + enterRule(_localctx, 454, RULE_unaryExpression); + try { + setState(2791); + switch (_input.LA(1)) { + case INC: + enterOuterAlt(_localctx, 1); + { + setState(2784); + preIncrementExpression(); + } + break; + case DEC: + enterOuterAlt(_localctx, 2); + { + setState(2785); + preDecrementExpression(); + } + break; + case ADD: + enterOuterAlt(_localctx, 3); + { + setState(2786); + match(ADD); + setState(2787); + unaryExpression(); + } + break; + case SUB: + enterOuterAlt(_localctx, 4); + { + setState(2788); + match(SUB); + setState(2789); + unaryExpression(); + } + break; + case BOOLEAN: + case BYTE: + case CHAR: + case DOUBLE: + case FLOAT: + case INT: + case LONG: + case NEW: + case SHORT: + case SUPER: + case THIS: + case VOID: + case IntegerLiteral: + case FloatingPointLiteral: + case BooleanLiteral: + case CharacterLiteral: + case StringLiteral: + case NullLiteral: + case LPAREN: + case BANG: + case TILDE: + case Identifier: + case AT: + enterOuterAlt(_localctx, 5); + { + setState(2790); + unaryExpressionNotPlusMinus(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PreIncrementExpressionContext extends ParserRuleContext { + public UnaryExpressionContext unaryExpression() { + return getRuleContext(UnaryExpressionContext.class,0); + } + public PreIncrementExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_preIncrementExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPreIncrementExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPreIncrementExpression(this); + } + } + + public final PreIncrementExpressionContext preIncrementExpression() throws RecognitionException { + PreIncrementExpressionContext _localctx = new PreIncrementExpressionContext(_ctx, getState()); + enterRule(_localctx, 456, RULE_preIncrementExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2793); + match(INC); + setState(2794); + unaryExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PreDecrementExpressionContext extends ParserRuleContext { + public UnaryExpressionContext unaryExpression() { + return getRuleContext(UnaryExpressionContext.class,0); + } + public PreDecrementExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_preDecrementExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPreDecrementExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPreDecrementExpression(this); + } + } + + public final PreDecrementExpressionContext preDecrementExpression() throws RecognitionException { + PreDecrementExpressionContext _localctx = new PreDecrementExpressionContext(_ctx, getState()); + enterRule(_localctx, 458, RULE_preDecrementExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2796); + match(DEC); + setState(2797); + unaryExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class UnaryExpressionNotPlusMinusContext extends ParserRuleContext { + public PostfixExpressionContext postfixExpression() { + return getRuleContext(PostfixExpressionContext.class,0); + } + public UnaryExpressionContext unaryExpression() { + return getRuleContext(UnaryExpressionContext.class,0); + } + public CastExpressionContext castExpression() { + return getRuleContext(CastExpressionContext.class,0); + } + public UnaryExpressionNotPlusMinusContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unaryExpressionNotPlusMinus; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterUnaryExpressionNotPlusMinus(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitUnaryExpressionNotPlusMinus(this); + } + } + + public final UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() throws RecognitionException { + UnaryExpressionNotPlusMinusContext _localctx = new UnaryExpressionNotPlusMinusContext(_ctx, getState()); + enterRule(_localctx, 460, RULE_unaryExpressionNotPlusMinus); + try { + setState(2805); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,317,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2799); + postfixExpression(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2800); + match(TILDE); + setState(2801); + unaryExpression(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2802); + match(BANG); + setState(2803); + unaryExpression(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(2804); + castExpression(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PostfixExpressionContext extends ParserRuleContext { + public PrimaryContext primary() { + return getRuleContext(PrimaryContext.class,0); + } + public ExpressionNameContext expressionName() { + return getRuleContext(ExpressionNameContext.class,0); + } + public List postIncrementExpression_lf_postfixExpression() { + return getRuleContexts(PostIncrementExpression_lf_postfixExpressionContext.class); + } + public PostIncrementExpression_lf_postfixExpressionContext postIncrementExpression_lf_postfixExpression(int i) { + return getRuleContext(PostIncrementExpression_lf_postfixExpressionContext.class,i); + } + public List postDecrementExpression_lf_postfixExpression() { + return getRuleContexts(PostDecrementExpression_lf_postfixExpressionContext.class); + } + public PostDecrementExpression_lf_postfixExpressionContext postDecrementExpression_lf_postfixExpression(int i) { + return getRuleContext(PostDecrementExpression_lf_postfixExpressionContext.class,i); + } + public PostfixExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_postfixExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostfixExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostfixExpression(this); + } + } + + public final PostfixExpressionContext postfixExpression() throws RecognitionException { + PostfixExpressionContext _localctx = new PostfixExpressionContext(_ctx, getState()); + enterRule(_localctx, 462, RULE_postfixExpression); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(2809); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,318,_ctx) ) { + case 1: + { + setState(2807); + primary(); + } + break; + case 2: + { + setState(2808); + expressionName(); + } + break; + } + setState(2815); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,320,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + setState(2813); + switch (_input.LA(1)) { + case INC: + { + setState(2811); + postIncrementExpression_lf_postfixExpression(); + } + break; + case DEC: + { + setState(2812); + postDecrementExpression_lf_postfixExpression(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + setState(2817); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,320,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PostIncrementExpressionContext extends ParserRuleContext { + public PostfixExpressionContext postfixExpression() { + return getRuleContext(PostfixExpressionContext.class,0); + } + public PostIncrementExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_postIncrementExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostIncrementExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostIncrementExpression(this); + } + } + + public final PostIncrementExpressionContext postIncrementExpression() throws RecognitionException { + PostIncrementExpressionContext _localctx = new PostIncrementExpressionContext(_ctx, getState()); + enterRule(_localctx, 464, RULE_postIncrementExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2818); + postfixExpression(); + setState(2819); + match(INC); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PostIncrementExpression_lf_postfixExpressionContext extends ParserRuleContext { + public PostIncrementExpression_lf_postfixExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_postIncrementExpression_lf_postfixExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostIncrementExpression_lf_postfixExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostIncrementExpression_lf_postfixExpression(this); + } + } + + public final PostIncrementExpression_lf_postfixExpressionContext postIncrementExpression_lf_postfixExpression() throws RecognitionException { + PostIncrementExpression_lf_postfixExpressionContext _localctx = new PostIncrementExpression_lf_postfixExpressionContext(_ctx, getState()); + enterRule(_localctx, 466, RULE_postIncrementExpression_lf_postfixExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2821); + match(INC); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PostDecrementExpressionContext extends ParserRuleContext { + public PostfixExpressionContext postfixExpression() { + return getRuleContext(PostfixExpressionContext.class,0); + } + public PostDecrementExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_postDecrementExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostDecrementExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostDecrementExpression(this); + } + } + + public final PostDecrementExpressionContext postDecrementExpression() throws RecognitionException { + PostDecrementExpressionContext _localctx = new PostDecrementExpressionContext(_ctx, getState()); + enterRule(_localctx, 468, RULE_postDecrementExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2823); + postfixExpression(); + setState(2824); + match(DEC); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PostDecrementExpression_lf_postfixExpressionContext extends ParserRuleContext { + public PostDecrementExpression_lf_postfixExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_postDecrementExpression_lf_postfixExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterPostDecrementExpression_lf_postfixExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitPostDecrementExpression_lf_postfixExpression(this); + } + } + + public final PostDecrementExpression_lf_postfixExpressionContext postDecrementExpression_lf_postfixExpression() throws RecognitionException { + PostDecrementExpression_lf_postfixExpressionContext _localctx = new PostDecrementExpression_lf_postfixExpressionContext(_ctx, getState()); + enterRule(_localctx, 470, RULE_postDecrementExpression_lf_postfixExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(2826); + match(DEC); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CastExpressionContext extends ParserRuleContext { + public PrimitiveTypeContext primitiveType() { + return getRuleContext(PrimitiveTypeContext.class,0); + } + public UnaryExpressionContext unaryExpression() { + return getRuleContext(UnaryExpressionContext.class,0); + } + public ReferenceTypeContext referenceType() { + return getRuleContext(ReferenceTypeContext.class,0); + } + public UnaryExpressionNotPlusMinusContext unaryExpressionNotPlusMinus() { + return getRuleContext(UnaryExpressionNotPlusMinusContext.class,0); + } + public List additionalBound() { + return getRuleContexts(AdditionalBoundContext.class); + } + public AdditionalBoundContext additionalBound(int i) { + return getRuleContext(AdditionalBoundContext.class,i); + } + public LambdaExpressionContext lambdaExpression() { + return getRuleContext(LambdaExpressionContext.class,0); + } + public CastExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_castExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).enterCastExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof Java8Listener ) ((Java8Listener)listener).exitCastExpression(this); + } + } + + public final CastExpressionContext castExpression() throws RecognitionException { + CastExpressionContext _localctx = new CastExpressionContext(_ctx, getState()); + enterRule(_localctx, 472, RULE_castExpression); + int _la; + try { + setState(2855); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,323,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(2828); + match(LPAREN); + setState(2829); + primitiveType(); + setState(2830); + match(RPAREN); + setState(2831); + unaryExpression(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(2833); + match(LPAREN); + setState(2834); + referenceType(); + setState(2838); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==BITAND) { + { + { + setState(2835); + additionalBound(); + } + } + setState(2840); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2841); + match(RPAREN); + setState(2842); + unaryExpressionNotPlusMinus(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(2844); + match(LPAREN); + setState(2845); + referenceType(); + setState(2849); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==BITAND) { + { + { + setState(2846); + additionalBound(); + } + } + setState(2851); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(2852); + match(RPAREN); + setState(2853); + lambdaExpression(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) { + switch (ruleIndex) { + case 26: + return packageName_sempred((PackageNameContext)_localctx, predIndex); + case 28: + return packageOrTypeName_sempred((PackageOrTypeNameContext)_localctx, predIndex); + case 31: + return ambiguousName_sempred((AmbiguousNameContext)_localctx, predIndex); + case 217: + return conditionalOrExpression_sempred((ConditionalOrExpressionContext)_localctx, predIndex); + case 218: + return conditionalAndExpression_sempred((ConditionalAndExpressionContext)_localctx, predIndex); + case 219: + return inclusiveOrExpression_sempred((InclusiveOrExpressionContext)_localctx, predIndex); + case 220: + return exclusiveOrExpression_sempred((ExclusiveOrExpressionContext)_localctx, predIndex); + case 221: + return andExpression_sempred((AndExpressionContext)_localctx, predIndex); + case 222: + return equalityExpression_sempred((EqualityExpressionContext)_localctx, predIndex); + case 223: + return relationalExpression_sempred((RelationalExpressionContext)_localctx, predIndex); + case 224: + return shiftExpression_sempred((ShiftExpressionContext)_localctx, predIndex); + case 225: + return additiveExpression_sempred((AdditiveExpressionContext)_localctx, predIndex); + case 226: + return multiplicativeExpression_sempred((MultiplicativeExpressionContext)_localctx, predIndex); + } + return true; + } + private boolean packageName_sempred(PackageNameContext _localctx, int predIndex) { + switch (predIndex) { + case 0: + return precpred(_ctx, 1); + } + return true; + } + private boolean packageOrTypeName_sempred(PackageOrTypeNameContext _localctx, int predIndex) { + switch (predIndex) { + case 1: + return precpred(_ctx, 1); + } + return true; + } + private boolean ambiguousName_sempred(AmbiguousNameContext _localctx, int predIndex) { + switch (predIndex) { + case 2: + return precpred(_ctx, 1); + } + return true; + } + private boolean conditionalOrExpression_sempred(ConditionalOrExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 3: + return precpred(_ctx, 1); + } + return true; + } + private boolean conditionalAndExpression_sempred(ConditionalAndExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 4: + return precpred(_ctx, 1); + } + return true; + } + private boolean inclusiveOrExpression_sempred(InclusiveOrExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 5: + return precpred(_ctx, 1); + } + return true; + } + private boolean exclusiveOrExpression_sempred(ExclusiveOrExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 6: + return precpred(_ctx, 1); + } + return true; + } + private boolean andExpression_sempred(AndExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 7: + return precpred(_ctx, 1); + } + return true; + } + private boolean equalityExpression_sempred(EqualityExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 8: + return precpred(_ctx, 2); + case 9: + return precpred(_ctx, 1); + } + return true; + } + private boolean relationalExpression_sempred(RelationalExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 10: + return precpred(_ctx, 5); + case 11: + return precpred(_ctx, 4); + case 12: + return precpred(_ctx, 3); + case 13: + return precpred(_ctx, 2); + case 14: + return precpred(_ctx, 1); + } + return true; + } + private boolean shiftExpression_sempred(ShiftExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 15: + return precpred(_ctx, 3); + case 16: + return precpred(_ctx, 2); + case 17: + return precpred(_ctx, 1); + } + return true; + } + private boolean additiveExpression_sempred(AdditiveExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 18: + return precpred(_ctx, 2); + case 19: + return precpred(_ctx, 1); + } + return true; + } + private boolean multiplicativeExpression_sempred(MultiplicativeExpressionContext _localctx, int predIndex) { + switch (predIndex) { + case 20: + return precpred(_ctx, 3); + case 21: + return precpred(_ctx, 2); + case 22: + return precpred(_ctx, 1); + } + return true; + } + + private static final int _serializedATNSegments = 2; + private static final String _serializedATNSegment0 = + "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3m\u0b2c\4\2\t\2\4"+ + "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ + "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ + "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4"+ + "w\tw\4x\tx\4y\ty\4z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080\t\u0080"+ + "\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083\4\u0084\t\u0084\4\u0085"+ + "\t\u0085\4\u0086\t\u0086\4\u0087\t\u0087\4\u0088\t\u0088\4\u0089\t\u0089"+ + "\4\u008a\t\u008a\4\u008b\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e"+ + "\t\u008e\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091\4\u0092\t\u0092"+ + "\4\u0093\t\u0093\4\u0094\t\u0094\4\u0095\t\u0095\4\u0096\t\u0096\4\u0097"+ + "\t\u0097\4\u0098\t\u0098\4\u0099\t\u0099\4\u009a\t\u009a\4\u009b\t\u009b"+ + "\4\u009c\t\u009c\4\u009d\t\u009d\4\u009e\t\u009e\4\u009f\t\u009f\4\u00a0"+ + "\t\u00a0\4\u00a1\t\u00a1\4\u00a2\t\u00a2\4\u00a3\t\u00a3\4\u00a4\t\u00a4"+ + "\4\u00a5\t\u00a5\4\u00a6\t\u00a6\4\u00a7\t\u00a7\4\u00a8\t\u00a8\4\u00a9"+ + "\t\u00a9\4\u00aa\t\u00aa\4\u00ab\t\u00ab\4\u00ac\t\u00ac\4\u00ad\t\u00ad"+ + "\4\u00ae\t\u00ae\4\u00af\t\u00af\4\u00b0\t\u00b0\4\u00b1\t\u00b1\4\u00b2"+ + "\t\u00b2\4\u00b3\t\u00b3\4\u00b4\t\u00b4\4\u00b5\t\u00b5\4\u00b6\t\u00b6"+ + "\4\u00b7\t\u00b7\4\u00b8\t\u00b8\4\u00b9\t\u00b9\4\u00ba\t\u00ba\4\u00bb"+ + "\t\u00bb\4\u00bc\t\u00bc\4\u00bd\t\u00bd\4\u00be\t\u00be\4\u00bf\t\u00bf"+ + "\4\u00c0\t\u00c0\4\u00c1\t\u00c1\4\u00c2\t\u00c2\4\u00c3\t\u00c3\4\u00c4"+ + "\t\u00c4\4\u00c5\t\u00c5\4\u00c6\t\u00c6\4\u00c7\t\u00c7\4\u00c8\t\u00c8"+ + "\4\u00c9\t\u00c9\4\u00ca\t\u00ca\4\u00cb\t\u00cb\4\u00cc\t\u00cc\4\u00cd"+ + "\t\u00cd\4\u00ce\t\u00ce\4\u00cf\t\u00cf\4\u00d0\t\u00d0\4\u00d1\t\u00d1"+ + "\4\u00d2\t\u00d2\4\u00d3\t\u00d3\4\u00d4\t\u00d4\4\u00d5\t\u00d5\4\u00d6"+ + "\t\u00d6\4\u00d7\t\u00d7\4\u00d8\t\u00d8\4\u00d9\t\u00d9\4\u00da\t\u00da"+ + "\4\u00db\t\u00db\4\u00dc\t\u00dc\4\u00dd\t\u00dd\4\u00de\t\u00de\4\u00df"+ + "\t\u00df\4\u00e0\t\u00e0\4\u00e1\t\u00e1\4\u00e2\t\u00e2\4\u00e3\t\u00e3"+ + "\4\u00e4\t\u00e4\4\u00e5\t\u00e5\4\u00e6\t\u00e6\4\u00e7\t\u00e7\4\u00e8"+ + "\t\u00e8\4\u00e9\t\u00e9\4\u00ea\t\u00ea\4\u00eb\t\u00eb\4\u00ec\t\u00ec"+ + "\4\u00ed\t\u00ed\4\u00ee\t\u00ee\3\2\3\2\3\3\3\3\5\3\u01e1\n\3\3\4\7\4"+ + "\u01e4\n\4\f\4\16\4\u01e7\13\4\3\4\3\4\7\4\u01eb\n\4\f\4\16\4\u01ee\13"+ + "\4\3\4\5\4\u01f1\n\4\3\5\3\5\5\5\u01f5\n\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b"+ + "\5\b\u01fe\n\b\3\t\3\t\5\t\u0202\n\t\3\t\3\t\7\t\u0206\n\t\f\t\16\t\u0209"+ + "\13\t\3\n\7\n\u020c\n\n\f\n\16\n\u020f\13\n\3\n\3\n\5\n\u0213\n\n\3\n"+ + "\3\n\3\n\7\n\u0218\n\n\f\n\16\n\u021b\13\n\3\n\3\n\5\n\u021f\n\n\5\n\u0221"+ + "\n\n\3\13\3\13\7\13\u0225\n\13\f\13\16\13\u0228\13\13\3\13\3\13\5\13\u022c"+ + "\n\13\3\f\7\f\u022f\n\f\f\f\16\f\u0232\13\f\3\f\3\f\5\f\u0236\n\f\3\r"+ + "\3\r\3\16\3\16\3\17\3\17\3\20\7\20\u023f\n\20\f\20\16\20\u0242\13\20\3"+ + "\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\5\21\u024f\n\21"+ + "\3\22\7\22\u0252\n\22\f\22\16\22\u0255\13\22\3\22\3\22\3\22\7\22\u025a"+ + "\n\22\f\22\16\22\u025d\13\22\3\22\3\22\7\22\u0261\n\22\f\22\16\22\u0264"+ + "\13\22\3\23\7\23\u0267\n\23\f\23\16\23\u026a\13\23\3\23\3\23\5\23\u026e"+ + "\n\23\3\24\3\24\3\25\3\25\3\25\3\25\3\25\7\25\u0277\n\25\f\25\16\25\u027a"+ + "\13\25\5\25\u027c\n\25\3\26\3\26\3\26\3\27\3\27\3\27\3\27\3\30\3\30\3"+ + "\30\7\30\u0288\n\30\f\30\16\30\u028b\13\30\3\31\3\31\5\31\u028f\n\31\3"+ + "\32\7\32\u0292\n\32\f\32\16\32\u0295\13\32\3\32\3\32\5\32\u0299\n\32\3"+ + "\33\3\33\3\33\3\33\5\33\u029f\n\33\3\34\3\34\3\34\3\34\3\34\3\34\7\34"+ + "\u02a7\n\34\f\34\16\34\u02aa\13\34\3\35\3\35\3\35\3\35\3\35\5\35\u02b1"+ + "\n\35\3\36\3\36\3\36\3\36\3\36\3\36\7\36\u02b9\n\36\f\36\16\36\u02bc\13"+ + "\36\3\37\3\37\3\37\3\37\3\37\5\37\u02c3\n\37\3 \3 \3!\3!\3!\3!\3!\3!\7"+ + "!\u02cd\n!\f!\16!\u02d0\13!\3\"\5\"\u02d3\n\"\3\"\7\"\u02d6\n\"\f\"\16"+ + "\"\u02d9\13\"\3\"\7\"\u02dc\n\"\f\"\16\"\u02df\13\"\3\"\3\"\3#\7#\u02e4"+ + "\n#\f#\16#\u02e7\13#\3#\3#\3#\3#\7#\u02ed\n#\f#\16#\u02f0\13#\3#\3#\3"+ + "$\3$\3%\3%\3%\3%\5%\u02fa\n%\3&\3&\3&\3&\3\'\3\'\3\'\3\'\3\'\3\'\3(\3"+ + "(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3)\3*\3*\3*\5*\u0317\n*\3+\3+\5+\u031b"+ + "\n+\3,\7,\u031e\n,\f,\16,\u0321\13,\3,\3,\3,\5,\u0326\n,\3,\5,\u0329\n"+ + ",\3,\5,\u032c\n,\3,\3,\3-\3-\3-\3-\3-\3-\3-\3-\5-\u0338\n-\3.\3.\3.\3"+ + ".\3/\3/\3/\7/\u0341\n/\f/\16/\u0344\13/\3\60\3\60\3\60\3\61\3\61\3\61"+ + "\3\62\3\62\3\62\7\62\u034f\n\62\f\62\16\62\u0352\13\62\3\63\3\63\7\63"+ + "\u0356\n\63\f\63\16\63\u0359\13\63\3\63\3\63\3\64\3\64\3\64\3\64\5\64"+ + "\u0361\n\64\3\65\3\65\3\65\3\65\3\65\5\65\u0368\n\65\3\66\7\66\u036b\n"+ + "\66\f\66\16\66\u036e\13\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67"+ + "\3\67\3\67\3\67\5\67\u037c\n\67\38\38\38\78\u0381\n8\f8\168\u0384\138"+ + "\39\39\39\59\u0389\n9\3:\3:\5:\u038d\n:\3;\3;\5;\u0391\n;\3<\3<\5<\u0395"+ + "\n<\3=\3=\5=\u0399\n=\3>\3>\3>\5>\u039e\n>\3?\3?\5?\u03a2\n?\3?\3?\7?"+ + "\u03a6\n?\f?\16?\u03a9\13?\3@\3@\5@\u03ad\n@\3@\3@\3@\7@\u03b2\n@\f@\16"+ + "@\u03b5\13@\3@\3@\5@\u03b9\n@\5@\u03bb\n@\3A\3A\7A\u03bf\nA\fA\16A\u03c2"+ + "\13A\3A\3A\5A\u03c6\nA\3B\3B\5B\u03ca\nB\3C\3C\3D\3D\3E\3E\3F\3F\3G\3"+ + "G\3G\3G\3G\3G\3G\3G\3G\5G\u03dd\nG\3H\7H\u03e0\nH\fH\16H\u03e3\13H\3H"+ + "\3H\3H\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\5I\u03f2\nI\3J\3J\3J\5J\u03f7\nJ"+ + "\3J\3J\7J\u03fb\nJ\fJ\16J\u03fe\13J\3J\3J\3J\5J\u0403\nJ\5J\u0405\nJ\3"+ + "K\3K\5K\u0409\nK\3L\3L\3L\5L\u040e\nL\3L\3L\5L\u0412\nL\3M\3M\3M\3M\3"+ + "M\5M\u0419\nM\3N\3N\3N\7N\u041e\nN\fN\16N\u0421\13N\3N\3N\3N\7N\u0426"+ + "\nN\fN\16N\u0429\13N\5N\u042b\nN\3O\7O\u042e\nO\fO\16O\u0431\13O\3O\3"+ + "O\3O\3P\3P\5P\u0438\nP\3Q\7Q\u043b\nQ\fQ\16Q\u043e\13Q\3Q\3Q\7Q\u0442"+ + "\nQ\fQ\16Q\u0445\13Q\3Q\3Q\3Q\3Q\5Q\u044b\nQ\3R\7R\u044e\nR\fR\16R\u0451"+ + "\13R\3R\3R\3R\5R\u0456\nR\3R\3R\3S\3S\3S\3T\3T\3T\7T\u0460\nT\fT\16T\u0463"+ + "\13T\3U\3U\5U\u0467\nU\3V\3V\5V\u046b\nV\3W\3W\3X\3X\3X\3Y\7Y\u0473\n"+ + "Y\fY\16Y\u0476\13Y\3Y\3Y\5Y\u047a\nY\3Y\3Y\3Z\3Z\3Z\3Z\5Z\u0482\nZ\3["+ + "\5[\u0485\n[\3[\3[\3[\5[\u048a\n[\3[\3[\3\\\3\\\3]\3]\5]\u0492\n]\3]\5"+ + "]\u0495\n]\3]\3]\3^\5^\u049a\n^\3^\3^\3^\5^\u049f\n^\3^\3^\3^\5^\u04a4"+ + "\n^\3^\3^\3^\5^\u04a9\n^\3^\3^\3^\3^\3^\5^\u04b0\n^\3^\3^\3^\5^\u04b5"+ + "\n^\3^\3^\3^\3^\3^\3^\5^\u04bd\n^\3^\3^\3^\5^\u04c2\n^\3^\3^\3^\5^\u04c7"+ + "\n^\3_\7_\u04ca\n_\f_\16_\u04cd\13_\3_\3_\3_\5_\u04d2\n_\3_\3_\3`\3`\5"+ + "`\u04d8\n`\3`\5`\u04db\n`\3`\5`\u04de\n`\3`\3`\3a\3a\3a\7a\u04e5\na\f"+ + "a\16a\u04e8\13a\3b\7b\u04eb\nb\fb\16b\u04ee\13b\3b\3b\3b\5b\u04f3\nb\3"+ + "b\5b\u04f6\nb\3b\5b\u04f9\nb\3c\3c\3d\3d\7d\u04ff\nd\fd\16d\u0502\13d"+ + "\3e\3e\5e\u0506\ne\3f\7f\u0509\nf\ff\16f\u050c\13f\3f\3f\3f\5f\u0511\n"+ + "f\3f\5f\u0514\nf\3f\3f\3g\3g\3g\3g\3g\3g\3g\5g\u051f\ng\3h\3h\3h\3i\3"+ + "i\7i\u0526\ni\fi\16i\u0529\13i\3i\3i\3j\3j\3j\3j\3j\5j\u0532\nj\3k\7k"+ + "\u0535\nk\fk\16k\u0538\13k\3k\3k\3k\3k\3l\3l\3l\3l\5l\u0542\nl\3m\7m\u0545"+ + "\nm\fm\16m\u0548\13m\3m\3m\3m\3n\3n\3n\3n\3n\3n\5n\u0553\nn\3o\7o\u0556"+ + "\no\fo\16o\u0559\13o\3o\3o\3o\3o\3o\3p\3p\7p\u0562\np\fp\16p\u0565\13"+ + "p\3p\3p\3q\3q\3q\3q\3q\5q\u056e\nq\3r\7r\u0571\nr\fr\16r\u0574\13r\3r"+ + "\3r\3r\3r\3r\5r\u057b\nr\3r\5r\u057e\nr\3r\3r\3s\3s\3s\5s\u0585\ns\3t"+ + "\3t\3t\3u\3u\3u\5u\u058d\nu\3v\3v\3v\3v\5v\u0593\nv\3v\3v\3w\3w\3w\7w"+ + "\u059a\nw\fw\16w\u059d\13w\3x\3x\3x\3x\3y\3y\3y\5y\u05a6\ny\3z\3z\5z\u05aa"+ + "\nz\3z\5z\u05ad\nz\3z\3z\3{\3{\3{\7{\u05b4\n{\f{\16{\u05b7\13{\3|\3|\3"+ + "|\3}\3}\3}\3}\3}\3}\3~\3~\5~\u05c4\n~\3~\5~\u05c7\n~\3~\3~\3\177\3\177"+ + "\3\177\7\177\u05ce\n\177\f\177\16\177\u05d1\13\177\3\u0080\3\u0080\5\u0080"+ + "\u05d5\n\u0080\3\u0080\3\u0080\3\u0081\3\u0081\7\u0081\u05db\n\u0081\f"+ + "\u0081\16\u0081\u05de\13\u0081\3\u0082\3\u0082\3\u0082\5\u0082\u05e3\n"+ + "\u0082\3\u0083\3\u0083\3\u0083\3\u0084\7\u0084\u05e9\n\u0084\f\u0084\16"+ + "\u0084\u05ec\13\u0084\3\u0084\3\u0084\3\u0084\3\u0085\3\u0085\3\u0085"+ + "\3\u0085\3\u0085\3\u0085\5\u0085\u05f7\n\u0085\3\u0086\3\u0086\3\u0086"+ + "\3\u0086\3\u0086\5\u0086\u05fe\n\u0086\3\u0087\3\u0087\3\u0087\3\u0087"+ + "\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\3\u0087\5\u0087"+ + "\u060c\n\u0087\3\u0088\3\u0088\3\u0089\3\u0089\3\u0089\3\u0089\3\u008a"+ + "\3\u008a\3\u008a\3\u008a\3\u008b\3\u008b\3\u008b\3\u008c\3\u008c\3\u008c"+ + "\3\u008c\3\u008c\3\u008c\3\u008c\5\u008c\u0622\n\u008c\3\u008d\3\u008d"+ + "\3\u008d\3\u008d\3\u008d\3\u008d\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e"+ + "\3\u008e\3\u008e\3\u008e\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f"+ + "\3\u008f\3\u008f\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090\3\u0090"+ + "\3\u0090\3\u0090\3\u0090\5\u0090\u0644\n\u0090\3\u0091\3\u0091\3\u0091"+ + "\3\u0091\3\u0091\3\u0091\3\u0092\3\u0092\7\u0092\u064e\n\u0092\f\u0092"+ + "\16\u0092\u0651\13\u0092\3\u0092\7\u0092\u0654\n\u0092\f\u0092\16\u0092"+ + "\u0657\13\u0092\3\u0092\3\u0092\3\u0093\3\u0093\3\u0093\3\u0094\3\u0094"+ + "\7\u0094\u0660\n\u0094\f\u0094\16\u0094\u0663\13\u0094\3\u0095\3\u0095"+ + "\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\3\u0095\5\u0095"+ + "\u066f\n\u0095\3\u0096\3\u0096\3\u0097\3\u0097\3\u0097\3\u0097\3\u0097"+ + "\3\u0097\3\u0098\3\u0098\3\u0098\3\u0098\3\u0098\3\u0098\3\u0099\3\u0099"+ + "\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099\3\u0099\3\u009a\3\u009a\5\u009a"+ + "\u0689\n\u009a\3\u009b\3\u009b\5\u009b\u068d\n\u009b\3\u009c\3\u009c\3"+ + "\u009c\5\u009c\u0692\n\u009c\3\u009c\3\u009c\5\u009c\u0696\n\u009c\3\u009c"+ + "\3\u009c\5\u009c\u069a\n\u009c\3\u009c\3\u009c\3\u009c\3\u009d\3\u009d"+ + "\3\u009d\5\u009d\u06a2\n\u009d\3\u009d\3\u009d\5\u009d\u06a6\n\u009d\3"+ + "\u009d\3\u009d\5\u009d\u06aa\n\u009d\3\u009d\3\u009d\3\u009d\3\u009e\3"+ + "\u009e\5\u009e\u06b1\n\u009e\3\u009f\3\u009f\3\u00a0\3\u00a0\3\u00a0\7"+ + "\u00a0\u06b8\n\u00a0\f\u00a0\16\u00a0\u06bb\13\u00a0\3\u00a1\3\u00a1\3"+ + "\u00a1\7\u00a1\u06c0\n\u00a1\f\u00a1\16\u00a1\u06c3\13\u00a1\3\u00a1\3"+ + "\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a1\3\u00a2\3\u00a2\3\u00a2"+ + "\7\u00a2\u06cf\n\u00a2\f\u00a2\16\u00a2\u06d2\13\u00a2\3\u00a2\3\u00a2"+ + "\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a2\3\u00a3\3\u00a3\5\u00a3\u06dd"+ + "\n\u00a3\3\u00a3\3\u00a3\3\u00a4\3\u00a4\5\u00a4\u06e3\n\u00a4\3\u00a4"+ + "\3\u00a4\3\u00a5\3\u00a5\5\u00a5\u06e9\n\u00a5\3\u00a5\3\u00a5\3\u00a6"+ + "\3\u00a6\3\u00a6\3\u00a6\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a7\3\u00a7"+ + "\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a8\3\u00a8\5\u00a8\u06fe"+ + "\n\u00a8\3\u00a8\3\u00a8\3\u00a8\5\u00a8\u0703\n\u00a8\3\u00a9\3\u00a9"+ + "\7\u00a9\u0707\n\u00a9\f\u00a9\16\u00a9\u070a\13\u00a9\3\u00aa\3\u00aa"+ + "\3\u00aa\3\u00aa\3\u00aa\3\u00aa\3\u00ab\7\u00ab\u0713\n\u00ab\f\u00ab"+ + "\16\u00ab\u0716\13\u00ab\3\u00ab\3\u00ab\3\u00ab\3\u00ac\3\u00ac\3\u00ac"+ + "\7\u00ac\u071e\n\u00ac\f\u00ac\16\u00ac\u0721\13\u00ac\3\u00ad\3\u00ad"+ + "\3\u00ad\3\u00ae\3\u00ae\3\u00ae\3\u00ae\5\u00ae\u072a\n\u00ae\3\u00ae"+ + "\5\u00ae\u072d\n\u00ae\3\u00af\3\u00af\3\u00af\5\u00af\u0732\n\u00af\3"+ + "\u00af\3\u00af\3\u00b0\3\u00b0\3\u00b0\7\u00b0\u0739\n\u00b0\f\u00b0\16"+ + "\u00b0\u073c\13\u00b0\3\u00b1\7\u00b1\u073f\n\u00b1\f\u00b1\16\u00b1\u0742"+ + "\13\u00b1\3\u00b1\3\u00b1\3\u00b1\3\u00b1\3\u00b1\3\u00b2\3\u00b2\5\u00b2"+ + "\u074b\n\u00b2\3\u00b2\7\u00b2\u074e\n\u00b2\f\u00b2\16\u00b2\u0751\13"+ + "\u00b2\3\u00b3\3\u00b3\3\u00b3\3\u00b3\7\u00b3\u0757\n\u00b3\f\u00b3\16"+ + "\u00b3\u075a\13\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3"+ + "\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3"+ + "\3\u00b3\3\u00b3\3\u00b3\3\u00b3\3\u00b3\5\u00b3\u0770\n\u00b3\3\u00b4"+ + "\3\u00b4\3\u00b5\3\u00b5\3\u00b5\3\u00b5\7\u00b5\u0778\n\u00b5\f\u00b5"+ + "\16\u00b5\u077b\13\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5"+ + "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5\3\u00b5"+ + "\3\u00b5\3\u00b5\3\u00b5\3\u00b5\5\u00b5\u0790\n\u00b5\3\u00b6\3\u00b6"+ + "\3\u00b6\3\u00b6\3\u00b6\5\u00b6\u0797\n\u00b6\3\u00b7\3\u00b7\3\u00b8"+ + "\3\u00b8\3\u00b8\3\u00b8\5\u00b8\u079f\n\u00b8\3\u00b9\3\u00b9\3\u00b9"+ + "\3\u00b9\7\u00b9\u07a5\n\u00b9\f\u00b9\16\u00b9\u07a8\13\u00b9\3\u00b9"+ + "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\7\u00b9\u07b0\n\u00b9\f\u00b9"+ + "\16\u00b9\u07b3\13\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ + "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9"+ + "\3\u00b9\3\u00b9\3\u00b9\3\u00b9\3\u00b9\5\u00b9\u07c9\n\u00b9\3\u00ba"+ + "\3\u00ba\3\u00bb\3\u00bb\3\u00bb\3\u00bb\7\u00bb\u07d1\n\u00bb\f\u00bb"+ + "\16\u00bb\u07d4\13\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb"+ + "\7\u00bb\u07dc\n\u00bb\f\u00bb\16\u00bb\u07df\13\u00bb\3\u00bb\3\u00bb"+ + "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb"+ + "\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\3\u00bb\5\u00bb"+ + "\u07f4\n\u00bb\3\u00bc\3\u00bc\5\u00bc\u07f8\n\u00bc\3\u00bc\7\u00bc\u07fb"+ + "\n\u00bc\f\u00bc\16\u00bc\u07fe\13\u00bc\3\u00bc\3\u00bc\3\u00bc\7\u00bc"+ + "\u0803\n\u00bc\f\u00bc\16\u00bc\u0806\13\u00bc\3\u00bc\7\u00bc\u0809\n"+ + "\u00bc\f\u00bc\16\u00bc\u080c\13\u00bc\3\u00bc\5\u00bc\u080f\n\u00bc\3"+ + "\u00bc\3\u00bc\5\u00bc\u0813\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0817\n\u00bc"+ + "\3\u00bc\3\u00bc\3\u00bc\3\u00bc\5\u00bc\u081d\n\u00bc\3\u00bc\7\u00bc"+ + "\u0820\n\u00bc\f\u00bc\16\u00bc\u0823\13\u00bc\3\u00bc\3\u00bc\5\u00bc"+ + "\u0827\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u082b\n\u00bc\3\u00bc\3\u00bc\5"+ + "\u00bc\u082f\n\u00bc\3\u00bc\3\u00bc\3\u00bc\3\u00bc\5\u00bc\u0835\n\u00bc"+ + "\3\u00bc\7\u00bc\u0838\n\u00bc\f\u00bc\16\u00bc\u083b\13\u00bc\3\u00bc"+ + "\3\u00bc\5\u00bc\u083f\n\u00bc\3\u00bc\3\u00bc\5\u00bc\u0843\n\u00bc\3"+ + "\u00bc\3\u00bc\5\u00bc\u0847\n\u00bc\5\u00bc\u0849\n\u00bc\3\u00bd\3\u00bd"+ + "\3\u00bd\5\u00bd\u084e\n\u00bd\3\u00bd\7\u00bd\u0851\n\u00bd\f\u00bd\16"+ + "\u00bd\u0854\13\u00bd\3\u00bd\3\u00bd\5\u00bd\u0858\n\u00bd\3\u00bd\3"+ + "\u00bd\5\u00bd\u085c\n\u00bd\3\u00bd\3\u00bd\5\u00bd\u0860\n\u00bd\3\u00be"+ + "\3\u00be\5\u00be\u0864\n\u00be\3\u00be\7\u00be\u0867\n\u00be\f\u00be\16"+ + "\u00be\u086a\13\u00be\3\u00be\3\u00be\3\u00be\7\u00be\u086f\n\u00be\f"+ + "\u00be\16\u00be\u0872\13\u00be\3\u00be\7\u00be\u0875\n\u00be\f\u00be\16"+ + "\u00be\u0878\13\u00be\3\u00be\5\u00be\u087b\n\u00be\3\u00be\3\u00be\5"+ + "\u00be\u087f\n\u00be\3\u00be\3\u00be\5\u00be\u0883\n\u00be\3\u00be\3\u00be"+ + "\3\u00be\3\u00be\5\u00be\u0889\n\u00be\3\u00be\7\u00be\u088c\n\u00be\f"+ + "\u00be\16\u00be\u088f\13\u00be\3\u00be\3\u00be\5\u00be\u0893\n\u00be\3"+ + "\u00be\3\u00be\5\u00be\u0897\n\u00be\3\u00be\3\u00be\5\u00be\u089b\n\u00be"+ + "\5\u00be\u089d\n\u00be\3\u00bf\3\u00bf\3\u00bf\5\u00bf\u08a2\n\u00bf\3"+ + "\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0\3\u00c0"+ + "\3\u00c0\3\u00c0\3\u00c0\3\u00c0\5\u00c0\u08b1\n\u00c0\3\u00c1\3\u00c1"+ + "\3\u00c1\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2\3\u00c2"+ + "\3\u00c2\5\u00c2\u08bf\n\u00c2\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3"+ + "\3\u00c3\3\u00c3\3\u00c3\3\u00c3\3\u00c3\5\u00c3\u08cb\n\u00c3\3\u00c3"+ + "\3\u00c3\3\u00c3\3\u00c3\3\u00c3\7\u00c3\u08d2\n\u00c3\f\u00c3\16\u00c3"+ + "\u08d5\13\u00c3\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4\3\u00c4"+ + "\3\u00c4\3\u00c4\3\u00c4\7\u00c4\u08e1\n\u00c4\f\u00c4\16\u00c4\u08e4"+ + "\13\u00c4\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5"+ + "\3\u00c5\3\u00c5\5\u00c5\u08f0\n\u00c5\3\u00c5\3\u00c5\3\u00c5\3\u00c5"+ + "\3\u00c5\7\u00c5\u08f7\n\u00c5\f\u00c5\16\u00c5\u08fa\13\u00c5\3\u00c6"+ + "\3\u00c6\3\u00c6\5\u00c6\u08ff\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6"+ + "\3\u00c6\5\u00c6\u0906\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u090b\n"+ + "\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0912\n\u00c6\3"+ + "\u00c6\3\u00c6\3\u00c6\5\u00c6\u0917\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3"+ + "\u00c6\3\u00c6\5\u00c6\u091e\n\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0923"+ + "\n\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u092a\n\u00c6"+ + "\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u092f\n\u00c6\3\u00c6\3\u00c6\3\u00c6"+ + "\3\u00c6\3\u00c6\3\u00c6\5\u00c6\u0937\n\u00c6\3\u00c6\3\u00c6\3\u00c6"+ + "\5\u00c6\u093c\n\u00c6\3\u00c6\3\u00c6\5\u00c6\u0940\n\u00c6\3\u00c7\3"+ + "\u00c7\5\u00c7\u0944\n\u00c7\3\u00c7\3\u00c7\3\u00c7\5\u00c7\u0949\n\u00c7"+ + "\3\u00c7\3\u00c7\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0950\n\u00c8\3\u00c8"+ + "\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0957\n\u00c8\3\u00c8\3\u00c8"+ + "\3\u00c8\5\u00c8\u095c\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8"+ + "\5\u00c8\u0963\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0968\n\u00c8\3"+ + "\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u096f\n\u00c8\3\u00c8\3"+ + "\u00c8\3\u00c8\5\u00c8\u0974\n\u00c8\3\u00c8\3\u00c8\3\u00c8\3\u00c8\3"+ + "\u00c8\3\u00c8\5\u00c8\u097c\n\u00c8\3\u00c8\3\u00c8\3\u00c8\5\u00c8\u0981"+ + "\n\u00c8\3\u00c8\3\u00c8\5\u00c8\u0985\n\u00c8\3\u00c9\3\u00c9\3\u00c9"+ + "\7\u00c9\u098a\n\u00c9\f\u00c9\16\u00c9\u098d\13\u00c9\3\u00ca\3\u00ca"+ + "\3\u00ca\5\u00ca\u0992\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca"+ + "\5\u00ca\u0999\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca"+ + "\u09a0\n\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09a7\n"+ + "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09af\n"+ + "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09b6\n\u00ca\3"+ + "\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\3\u00ca\5\u00ca\u09be\n\u00ca\3"+ + "\u00cb\3\u00cb\5\u00cb\u09c2\n\u00cb\3\u00cb\3\u00cb\3\u00cc\3\u00cc\3"+ + "\u00cc\5\u00cc\u09c9\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5"+ + "\u00cc\u09d0\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09d7"+ + "\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09df"+ + "\n\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09e6\n\u00cc"+ + "\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\3\u00cc\5\u00cc\u09ee\n\u00cc"+ + "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u09f4\n\u00cd\3\u00cd\3\u00cd"+ + "\3\u00cd\3\u00cd\5\u00cd\u09fa\n\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd"+ + "\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\3\u00cd\5\u00cd\u0a06\n\u00cd"+ + "\3\u00ce\3\u00ce\7\u00ce\u0a0a\n\u00ce\f\u00ce\16\u00ce\u0a0d\13\u00ce"+ + "\3\u00cf\7\u00cf\u0a10\n\u00cf\f\u00cf\16\u00cf\u0a13\13\u00cf\3\u00cf"+ + "\3\u00cf\3\u00cf\3\u00cf\3\u00d0\3\u00d0\3\u00d1\3\u00d1\5\u00d1\u0a1d"+ + "\n\u00d1\3\u00d2\3\u00d2\3\u00d2\3\u00d2\3\u00d3\3\u00d3\3\u00d3\5\u00d3"+ + "\u0a26\n\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\3\u00d3\5\u00d3\u0a2d\n"+ + "\u00d3\3\u00d4\3\u00d4\3\u00d4\7\u00d4\u0a32\n\u00d4\f\u00d4\16\u00d4"+ + "\u0a35\13\u00d4\3\u00d5\3\u00d5\5\u00d5\u0a39\n\u00d5\3\u00d6\3\u00d6"+ + "\5\u00d6\u0a3d\n\u00d6\3\u00d7\3\u00d7\3\u00d7\3\u00d7\3\u00d8\3\u00d8"+ + "\3\u00d8\5\u00d8\u0a46\n\u00d8\3\u00d9\3\u00d9\3\u00da\3\u00da\3\u00da"+ + "\3\u00da\3\u00da\3\u00da\3\u00da\5\u00da\u0a51\n\u00da\3\u00db\3\u00db"+ + "\3\u00db\3\u00db\3\u00db\3\u00db\7\u00db\u0a59\n\u00db\f\u00db\16\u00db"+ + "\u0a5c\13\u00db\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\3\u00dc\7\u00dc"+ + "\u0a64\n\u00dc\f\u00dc\16\u00dc\u0a67\13\u00dc\3\u00dd\3\u00dd\3\u00dd"+ + "\3\u00dd\3\u00dd\3\u00dd\7\u00dd\u0a6f\n\u00dd\f\u00dd\16\u00dd\u0a72"+ + "\13\u00dd\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\3\u00de\7\u00de\u0a7a"+ + "\n\u00de\f\u00de\16\u00de\u0a7d\13\u00de\3\u00df\3\u00df\3\u00df\3\u00df"+ + "\3\u00df\3\u00df\7\u00df\u0a85\n\u00df\f\u00df\16\u00df\u0a88\13\u00df"+ + "\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0\3\u00e0"+ + "\7\u00e0\u0a93\n\u00e0\f\u00e0\16\u00e0\u0a96\13\u00e0\3\u00e1\3\u00e1"+ + "\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1"+ + "\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\3\u00e1\7\u00e1\u0aaa"+ + "\n\u00e1\f\u00e1\16\u00e1\u0aad\13\u00e1\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ + "\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2\3\u00e2"+ + "\3\u00e2\3\u00e2\3\u00e2\7\u00e2\u0abf\n\u00e2\f\u00e2\16\u00e2\u0ac2"+ + "\13\u00e2\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3\3\u00e3"+ + "\3\u00e3\7\u00e3\u0acd\n\u00e3\f\u00e3\16\u00e3\u0ad0\13\u00e3\3\u00e4"+ + "\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4\3\u00e4"+ + "\3\u00e4\3\u00e4\7\u00e4\u0ade\n\u00e4\f\u00e4\16\u00e4\u0ae1\13\u00e4"+ + "\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\3\u00e5\5\u00e5\u0aea"+ + "\n\u00e5\3\u00e6\3\u00e6\3\u00e6\3\u00e7\3\u00e7\3\u00e7\3\u00e8\3\u00e8"+ + "\3\u00e8\3\u00e8\3\u00e8\3\u00e8\5\u00e8\u0af8\n\u00e8\3\u00e9\3\u00e9"+ + "\5\u00e9\u0afc\n\u00e9\3\u00e9\3\u00e9\7\u00e9\u0b00\n\u00e9\f\u00e9\16"+ + "\u00e9\u0b03\13\u00e9\3\u00ea\3\u00ea\3\u00ea\3\u00eb\3\u00eb\3\u00ec"+ + "\3\u00ec\3\u00ec\3\u00ed\3\u00ed\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee"+ + "\3\u00ee\3\u00ee\3\u00ee\7\u00ee\u0b17\n\u00ee\f\u00ee\16\u00ee\u0b1a"+ + "\13\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\3\u00ee\7\u00ee\u0b22"+ + "\n\u00ee\f\u00ee\16\u00ee\u0b25\13\u00ee\3\u00ee\3\u00ee\3\u00ee\5\u00ee"+ + "\u0b2a\n\u00ee\3\u00ee\2\17\66:@\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0"+ + "\u01c2\u01c4\u01c6\u00ef\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&("+ + "*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084"+ + "\u0086\u0088\u008a\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c"+ + "\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4"+ + "\u00b6\u00b8\u00ba\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc"+ + "\u00ce\u00d0\u00d2\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4"+ + "\u00e6\u00e8\u00ea\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc"+ + "\u00fe\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114"+ + "\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c"+ + "\u012e\u0130\u0132\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144"+ + "\u0146\u0148\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c"+ + "\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174"+ + "\u0176\u0178\u017a\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c"+ + "\u018e\u0190\u0192\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4"+ + "\u01a6\u01a8\u01aa\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc"+ + "\u01be\u01c0\u01c2\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4"+ + "\u01d6\u01d8\u01da\2\6\3\2\65:\7\2\7\7\n\n\35\35\37\37\'\'\4\2\20\20\26"+ + "\26\4\2DD]g\u0c1d\2\u01dc\3\2\2\2\4\u01e0\3\2\2\2\6\u01f0\3\2\2\2\b\u01f4"+ + "\3\2\2\2\n\u01f6\3\2\2\2\f\u01f8\3\2\2\2\16\u01fd\3\2\2\2\20\u0201\3\2"+ + "\2\2\22\u0220\3\2\2\2\24\u0222\3\2\2\2\26\u0230\3\2\2\2\30\u0237\3\2\2"+ + "\2\32\u0239\3\2\2\2\34\u023b\3\2\2\2\36\u0240\3\2\2\2 \u024e\3\2\2\2\""+ + "\u0253\3\2\2\2$\u0268\3\2\2\2&\u026f\3\2\2\2(\u027b\3\2\2\2*\u027d\3\2"+ + "\2\2,\u0280\3\2\2\2.\u0284\3\2\2\2\60\u028e\3\2\2\2\62\u0293\3\2\2\2\64"+ + "\u029e\3\2\2\2\66\u02a0\3\2\2\28\u02b0\3\2\2\2:\u02b2\3\2\2\2<\u02c2\3"+ + "\2\2\2>\u02c4\3\2\2\2@\u02c6\3\2\2\2B\u02d2\3\2\2\2D\u02e5\3\2\2\2F\u02f3"+ + "\3\2\2\2H\u02f9\3\2\2\2J\u02fb\3\2\2\2L\u02ff\3\2\2\2N\u0305\3\2\2\2P"+ + "\u030c\3\2\2\2R\u0316\3\2\2\2T\u031a\3\2\2\2V\u031f\3\2\2\2X\u0337\3\2"+ + "\2\2Z\u0339\3\2\2\2\\\u033d\3\2\2\2^\u0345\3\2\2\2`\u0348\3\2\2\2b\u034b"+ + "\3\2\2\2d\u0353\3\2\2\2f\u0360\3\2\2\2h\u0367\3\2\2\2j\u036c\3\2\2\2l"+ + "\u037b\3\2\2\2n\u037d\3\2\2\2p\u0385\3\2\2\2r\u038a\3\2\2\2t\u0390\3\2"+ + "\2\2v\u0394\3\2\2\2x\u0398\3\2\2\2z\u039d\3\2\2\2|\u03a1\3\2\2\2~\u03ba"+ + "\3\2\2\2\u0080\u03bc\3\2\2\2\u0082\u03c7\3\2\2\2\u0084\u03cb\3\2\2\2\u0086"+ + "\u03cd\3\2\2\2\u0088\u03cf\3\2\2\2\u008a\u03d1\3\2\2\2\u008c\u03dc\3\2"+ + "\2\2\u008e\u03e1\3\2\2\2\u0090\u03f1\3\2\2\2\u0092\u0404\3\2\2\2\u0094"+ + "\u0408\3\2\2\2\u0096\u040a\3\2\2\2\u0098\u0418\3\2\2\2\u009a\u042a\3\2"+ + "\2\2\u009c\u042f\3\2\2\2\u009e\u0437\3\2\2\2\u00a0\u044a\3\2\2\2\u00a2"+ + "\u044f\3\2\2\2\u00a4\u0459\3\2\2\2\u00a6\u045c\3\2\2\2\u00a8\u0466\3\2"+ + "\2\2\u00aa\u046a\3\2\2\2\u00ac\u046c\3\2\2\2\u00ae\u046e\3\2\2\2\u00b0"+ + "\u0474\3\2\2\2\u00b2\u0481\3\2\2\2\u00b4\u0484\3\2\2\2\u00b6\u048d\3\2"+ + "\2\2\u00b8\u048f\3\2\2\2\u00ba\u04c6\3\2\2\2\u00bc\u04cb\3\2\2\2\u00be"+ + "\u04d5\3\2\2\2\u00c0\u04e1\3\2\2\2\u00c2\u04ec\3\2\2\2\u00c4\u04fa\3\2"+ + "\2\2\u00c6\u04fc\3\2\2\2\u00c8\u0505\3\2\2\2\u00ca\u050a\3\2\2\2\u00cc"+ + "\u051e\3\2\2\2\u00ce\u0520\3\2\2\2\u00d0\u0523\3\2\2\2\u00d2\u0531\3\2"+ + "\2\2\u00d4\u0536\3\2\2\2\u00d6\u0541\3\2\2\2\u00d8\u0546\3\2\2\2\u00da"+ + "\u0552\3\2\2\2\u00dc\u0557\3\2\2\2\u00de\u055f\3\2\2\2\u00e0\u056d\3\2"+ + "\2\2\u00e2\u0572\3\2\2\2\u00e4\u0584\3\2\2\2\u00e6\u0586\3\2\2\2\u00e8"+ + "\u058c\3\2\2\2\u00ea\u058e\3\2\2\2\u00ec\u0596\3\2\2\2\u00ee\u059e\3\2"+ + "\2\2\u00f0\u05a5\3\2\2\2\u00f2\u05a7\3\2\2\2\u00f4\u05b0\3\2\2\2\u00f6"+ + "\u05b8\3\2\2\2\u00f8\u05bb\3\2\2\2\u00fa\u05c1\3\2\2\2\u00fc\u05ca\3\2"+ + "\2\2\u00fe\u05d2\3\2\2\2\u0100\u05d8\3\2\2\2\u0102\u05e2\3\2\2\2\u0104"+ + "\u05e4\3\2\2\2\u0106\u05ea\3\2\2\2\u0108\u05f6\3\2\2\2\u010a\u05fd\3\2"+ + "\2\2\u010c\u060b\3\2\2\2\u010e\u060d\3\2\2\2\u0110\u060f\3\2\2\2\u0112"+ + "\u0613\3\2\2\2\u0114\u0617\3\2\2\2\u0116\u0621\3\2\2\2\u0118\u0623\3\2"+ + "\2\2\u011a\u0629\3\2\2\2\u011c\u0631\3\2\2\2\u011e\u0643\3\2\2\2\u0120"+ + "\u0645\3\2\2\2\u0122\u064b\3\2\2\2\u0124\u065a\3\2\2\2\u0126\u065d\3\2"+ + "\2\2\u0128\u066e\3\2\2\2\u012a\u0670\3\2\2\2\u012c\u0672\3\2\2\2\u012e"+ + "\u0678\3\2\2\2\u0130\u067e\3\2\2\2\u0132\u0688\3\2\2\2\u0134\u068c\3\2"+ + "\2\2\u0136\u068e\3\2\2\2\u0138\u069e\3\2\2\2\u013a\u06b0\3\2\2\2\u013c"+ + "\u06b2\3\2\2\2\u013e\u06b4\3\2\2\2\u0140\u06bc\3\2\2\2\u0142\u06cb\3\2"+ + "\2\2\u0144\u06da\3\2\2\2\u0146\u06e0\3\2\2\2\u0148\u06e6\3\2\2\2\u014a"+ + "\u06ec\3\2\2\2\u014c\u06f0\3\2\2\2\u014e\u0702\3\2\2\2\u0150\u0704\3\2"+ + "\2\2\u0152\u070b\3\2\2\2\u0154\u0714\3\2\2\2\u0156\u071a\3\2\2\2\u0158"+ + "\u0722\3\2\2\2\u015a\u0725\3\2\2\2\u015c\u072e\3\2\2\2\u015e\u0735\3\2"+ + "\2\2\u0160\u0740\3\2\2\2\u0162\u074a\3\2\2\2\u0164\u076f\3\2\2\2\u0166"+ + "\u0771\3\2\2\2\u0168\u078f\3\2\2\2\u016a\u0796\3\2\2\2\u016c\u0798\3\2"+ + "\2\2\u016e\u079e\3\2\2\2\u0170\u07c8\3\2\2\2\u0172\u07ca\3\2\2\2\u0174"+ + "\u07f3\3\2\2\2\u0176\u0848\3\2\2\2\u0178\u084a\3\2\2\2\u017a\u089c\3\2"+ + "\2\2\u017c\u08a1\3\2\2\2\u017e\u08b0\3\2\2\2\u0180\u08b2\3\2\2\2\u0182"+ + "\u08be\3\2\2\2\u0184\u08ca\3\2\2\2\u0186\u08d6\3\2\2\2\u0188\u08ef\3\2"+ + "\2\2\u018a\u093f\3\2\2\2\u018c\u0941\3\2\2\2\u018e\u0984\3\2\2\2\u0190"+ + "\u0986\3\2\2\2\u0192\u09bd\3\2\2\2\u0194\u09bf\3\2\2\2\u0196\u09ed\3\2"+ + "\2\2\u0198\u0a05\3\2\2\2\u019a\u0a07\3\2\2\2\u019c\u0a11\3\2\2\2\u019e"+ + "\u0a18\3\2\2\2\u01a0\u0a1c\3\2\2\2\u01a2\u0a1e\3\2\2\2\u01a4\u0a2c\3\2"+ + "\2\2\u01a6\u0a2e\3\2\2\2\u01a8\u0a38\3\2\2\2\u01aa\u0a3c\3\2\2\2\u01ac"+ + "\u0a3e\3\2\2\2\u01ae\u0a45\3\2\2\2\u01b0\u0a47\3\2\2\2\u01b2\u0a50\3\2"+ + "\2\2\u01b4\u0a52\3\2\2\2\u01b6\u0a5d\3\2\2\2\u01b8\u0a68\3\2\2\2\u01ba"+ + "\u0a73\3\2\2\2\u01bc\u0a7e\3\2\2\2\u01be\u0a89\3\2\2\2\u01c0\u0a97\3\2"+ + "\2\2\u01c2\u0aae\3\2\2\2\u01c4\u0ac3\3\2\2\2\u01c6\u0ad1\3\2\2\2\u01c8"+ + "\u0ae9\3\2\2\2\u01ca\u0aeb\3\2\2\2\u01cc\u0aee\3\2\2\2\u01ce\u0af7\3\2"+ + "\2\2\u01d0\u0afb\3\2\2\2\u01d2\u0b04\3\2\2\2\u01d4\u0b07\3\2\2\2\u01d6"+ + "\u0b09\3\2\2\2\u01d8\u0b0c\3\2\2\2\u01da\u0b29\3\2\2\2\u01dc\u01dd\t\2"+ + "\2\2\u01dd\3\3\2\2\2\u01de\u01e1\5\6\4\2\u01df\u01e1\5\16\b\2\u01e0\u01de"+ + "\3\2\2\2\u01e0\u01df\3\2\2\2\u01e1\5\3\2\2\2\u01e2\u01e4\5\u00e8u\2\u01e3"+ + "\u01e2\3\2\2\2\u01e4\u01e7\3\2\2\2\u01e5\u01e3\3\2\2\2\u01e5\u01e6\3\2"+ + "\2\2\u01e6\u01e8\3\2\2\2\u01e7\u01e5\3\2\2\2\u01e8\u01f1\5\b\5\2\u01e9"+ + "\u01eb\5\u00e8u\2\u01ea\u01e9\3\2\2\2\u01eb\u01ee\3\2\2\2\u01ec\u01ea"+ + "\3\2\2\2\u01ec\u01ed\3\2\2\2\u01ed\u01ef\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ef"+ + "\u01f1\7\5\2\2\u01f0\u01e5\3\2\2\2\u01f0\u01ec\3\2\2\2\u01f1\7\3\2\2\2"+ + "\u01f2\u01f5\5\n\6\2\u01f3\u01f5\5\f\7\2\u01f4\u01f2\3\2\2\2\u01f4\u01f3"+ + "\3\2\2\2\u01f5\t\3\2\2\2\u01f6\u01f7\t\3\2\2\u01f7\13\3\2\2\2\u01f8\u01f9"+ + "\t\4\2\2\u01f9\r\3\2\2\2\u01fa\u01fe\5\20\t\2\u01fb\u01fe\5\36\20\2\u01fc"+ + "\u01fe\5 \21\2\u01fd\u01fa\3\2\2\2\u01fd\u01fb\3\2\2\2\u01fd\u01fc\3\2"+ + "\2\2\u01fe\17\3\2\2\2\u01ff\u0202\5\26\f\2\u0200\u0202\5\34\17\2\u0201"+ + "\u01ff\3\2\2\2\u0201\u0200\3\2\2\2\u0202\u0207\3\2\2\2\u0203\u0206\5\24"+ + "\13\2\u0204\u0206\5\32\16\2\u0205\u0203\3\2\2\2\u0205\u0204\3\2\2\2\u0206"+ + "\u0209\3\2\2\2\u0207\u0205\3\2\2\2\u0207\u0208\3\2\2\2\u0208\21\3\2\2"+ + "\2\u0209\u0207\3\2\2\2\u020a\u020c\5\u00e8u\2\u020b\u020a\3\2\2\2\u020c"+ + "\u020f\3\2\2\2\u020d\u020b\3\2\2\2\u020d\u020e\3\2\2\2\u020e\u0210\3\2"+ + "\2\2\u020f\u020d\3\2\2\2\u0210\u0212\7h\2\2\u0211\u0213\5,\27\2\u0212"+ + "\u0211\3\2\2\2\u0212\u0213\3\2\2\2\u0213\u0221\3\2\2\2\u0214\u0215\5\20"+ + "\t\2\u0215\u0219\7C\2\2\u0216\u0218\5\u00e8u\2\u0217\u0216\3\2\2\2\u0218"+ + "\u021b\3\2\2\2\u0219\u0217\3\2\2\2\u0219\u021a\3\2\2\2\u021a\u021c\3\2"+ + "\2\2\u021b\u0219\3\2\2\2\u021c\u021e\7h\2\2\u021d\u021f\5,\27\2\u021e"+ + "\u021d\3\2\2\2\u021e\u021f\3\2\2\2\u021f\u0221\3\2\2\2\u0220\u020d\3\2"+ + "\2\2\u0220\u0214\3\2\2\2\u0221\23\3\2\2\2\u0222\u0226\7C\2\2\u0223\u0225"+ + "\5\u00e8u\2\u0224\u0223\3\2\2\2\u0225\u0228\3\2\2\2\u0226\u0224\3\2\2"+ + "\2\u0226\u0227\3\2\2\2\u0227\u0229\3\2\2\2\u0228\u0226\3\2\2\2\u0229\u022b"+ + "\7h\2\2\u022a\u022c\5,\27\2\u022b\u022a\3\2\2\2\u022b\u022c\3\2\2\2\u022c"+ + "\25\3\2\2\2\u022d\u022f\5\u00e8u\2\u022e\u022d\3\2\2\2\u022f\u0232\3\2"+ + "\2\2\u0230\u022e\3\2\2\2\u0230\u0231\3\2\2\2\u0231\u0233\3\2\2\2\u0232"+ + "\u0230\3\2\2\2\u0233\u0235\7h\2\2\u0234\u0236\5,\27\2\u0235\u0234\3\2"+ + "\2\2\u0235\u0236\3\2\2\2\u0236\27\3\2\2\2\u0237\u0238\5\22\n\2\u0238\31"+ + "\3\2\2\2\u0239\u023a\5\24\13\2\u023a\33\3\2\2\2\u023b\u023c\5\26\f\2\u023c"+ + "\35\3\2\2\2\u023d\u023f\5\u00e8u\2\u023e\u023d\3\2\2\2\u023f\u0242\3\2"+ + "\2\2\u0240\u023e\3\2\2\2\u0240\u0241\3\2\2\2\u0241\u0243\3\2\2\2\u0242"+ + "\u0240\3\2\2\2\u0243\u0244\7h\2\2\u0244\37\3\2\2\2\u0245\u0246\5\6\4\2"+ + "\u0246\u0247\5\"\22\2\u0247\u024f\3\2\2\2\u0248\u0249\5\20\t\2\u0249\u024a"+ + "\5\"\22\2\u024a\u024f\3\2\2\2\u024b\u024c\5\36\20\2\u024c\u024d\5\"\22"+ + "\2\u024d\u024f\3\2\2\2\u024e\u0245\3\2\2\2\u024e\u0248\3\2\2\2\u024e\u024b"+ + "\3\2\2\2\u024f!\3\2\2\2\u0250\u0252\5\u00e8u\2\u0251\u0250\3\2\2\2\u0252"+ + "\u0255\3\2\2\2\u0253\u0251\3\2\2\2\u0253\u0254\3\2\2\2\u0254\u0256\3\2"+ + "\2\2\u0255\u0253\3\2\2\2\u0256\u0257\7?\2\2\u0257\u0262\7@\2\2\u0258\u025a"+ + "\5\u00e8u\2\u0259\u0258\3\2\2\2\u025a\u025d\3\2\2\2\u025b\u0259\3\2\2"+ + "\2\u025b\u025c\3\2\2\2\u025c\u025e\3\2\2\2\u025d\u025b\3\2\2\2\u025e\u025f"+ + "\7?\2\2\u025f\u0261\7@\2\2\u0260\u025b\3\2\2\2\u0261\u0264\3\2\2\2\u0262"+ + "\u0260\3\2\2\2\u0262\u0263\3\2\2\2\u0263#\3\2\2\2\u0264\u0262\3\2\2\2"+ + "\u0265\u0267\5&\24\2\u0266\u0265\3\2\2\2\u0267\u026a\3\2\2\2\u0268\u0266"+ + "\3\2\2\2\u0268\u0269\3\2\2\2\u0269\u026b\3\2\2\2\u026a\u0268\3\2\2\2\u026b"+ + "\u026d\7h\2\2\u026c\u026e\5(\25\2\u026d\u026c\3\2\2\2\u026d\u026e\3\2"+ + "\2\2\u026e%\3\2\2\2\u026f\u0270\5\u00e8u\2\u0270\'\3\2\2\2\u0271\u0272"+ + "\7\23\2\2\u0272\u027c\5\36\20\2\u0273\u0274\7\23\2\2\u0274\u0278\5\20"+ + "\t\2\u0275\u0277\5*\26\2\u0276\u0275\3\2\2\2\u0277\u027a\3\2\2\2\u0278"+ + "\u0276\3\2\2\2\u0278\u0279\3\2\2\2\u0279\u027c\3\2\2\2\u027a\u0278\3\2"+ + "\2\2\u027b\u0271\3\2\2\2\u027b\u0273\3\2\2\2\u027c)\3\2\2\2\u027d\u027e"+ + "\7W\2\2\u027e\u027f\5\30\r\2\u027f+\3\2\2\2\u0280\u0281\7F\2\2\u0281\u0282"+ + "\5.\30\2\u0282\u0283\7E\2\2\u0283-\3\2\2\2\u0284\u0289\5\60\31\2\u0285"+ + "\u0286\7B\2\2\u0286\u0288\5\60\31\2\u0287\u0285\3\2\2\2\u0288\u028b\3"+ + "\2\2\2\u0289\u0287\3\2\2\2\u0289\u028a\3\2\2\2\u028a/\3\2\2\2\u028b\u0289"+ + "\3\2\2\2\u028c\u028f\5\16\b\2\u028d\u028f\5\62\32\2\u028e\u028c\3\2\2"+ + "\2\u028e\u028d\3\2\2\2\u028f\61\3\2\2\2\u0290\u0292\5\u00e8u\2\u0291\u0290"+ + "\3\2\2\2\u0292\u0295\3\2\2\2\u0293\u0291\3\2\2\2\u0293\u0294\3\2\2\2\u0294"+ + "\u0296\3\2\2\2\u0295\u0293\3\2\2\2\u0296\u0298\7I\2\2\u0297\u0299\5\64"+ + "\33\2\u0298\u0297\3\2\2\2\u0298\u0299\3\2\2\2\u0299\63\3\2\2\2\u029a\u029b"+ + "\7\23\2\2\u029b\u029f\5\16\b\2\u029c\u029d\7*\2\2\u029d\u029f\5\16\b\2"+ + "\u029e\u029a\3\2\2\2\u029e\u029c\3\2\2\2\u029f\65\3\2\2\2\u02a0\u02a1"+ + "\b\34\1\2\u02a1\u02a2\7h\2\2\u02a2\u02a8\3\2\2\2\u02a3\u02a4\f\3\2\2\u02a4"+ + "\u02a5\7C\2\2\u02a5\u02a7\7h\2\2\u02a6\u02a3\3\2\2\2\u02a7\u02aa\3\2\2"+ + "\2\u02a8\u02a6\3\2\2\2\u02a8\u02a9\3\2\2\2\u02a9\67\3\2\2\2\u02aa\u02a8"+ + "\3\2\2\2\u02ab\u02b1\7h\2\2\u02ac\u02ad\5:\36\2\u02ad\u02ae\7C\2\2\u02ae"+ + "\u02af\7h\2\2\u02af\u02b1\3\2\2\2\u02b0\u02ab\3\2\2\2\u02b0\u02ac\3\2"+ + "\2\2\u02b19\3\2\2\2\u02b2\u02b3\b\36\1\2\u02b3\u02b4\7h\2\2\u02b4\u02ba"+ + "\3\2\2\2\u02b5\u02b6\f\3\2\2\u02b6\u02b7\7C\2\2\u02b7\u02b9\7h\2\2\u02b8"+ + "\u02b5\3\2\2\2\u02b9\u02bc\3\2\2\2\u02ba\u02b8\3\2\2\2\u02ba\u02bb\3\2"+ + "\2\2\u02bb;\3\2\2\2\u02bc\u02ba\3\2\2\2\u02bd\u02c3\7h\2\2\u02be\u02bf"+ + "\5@!\2\u02bf\u02c0\7C\2\2\u02c0\u02c1\7h\2\2\u02c1\u02c3\3\2\2\2\u02c2"+ + "\u02bd\3\2\2\2\u02c2\u02be\3\2\2\2\u02c3=\3\2\2\2\u02c4\u02c5\7h\2\2\u02c5"+ + "?\3\2\2\2\u02c6\u02c7\b!\1\2\u02c7\u02c8\7h\2\2\u02c8\u02ce\3\2\2\2\u02c9"+ + "\u02ca\f\3\2\2\u02ca\u02cb\7C\2\2\u02cb\u02cd\7h\2\2\u02cc\u02c9\3\2\2"+ + "\2\u02cd\u02d0\3\2\2\2\u02ce\u02cc\3\2\2\2\u02ce\u02cf\3\2\2\2\u02cfA"+ + "\3\2\2\2\u02d0\u02ce\3\2\2\2\u02d1\u02d3\5D#\2\u02d2\u02d1\3\2\2\2\u02d2"+ + "\u02d3\3\2\2\2\u02d3\u02d7\3\2\2\2\u02d4\u02d6\5H%\2\u02d5\u02d4\3\2\2"+ + "\2\u02d6\u02d9\3\2\2\2\u02d7\u02d5\3\2\2\2\u02d7\u02d8\3\2\2\2\u02d8\u02dd"+ + "\3\2\2\2\u02d9\u02d7\3\2\2\2\u02da\u02dc\5R*\2\u02db\u02da\3\2\2\2\u02dc"+ + "\u02df\3\2\2\2\u02dd\u02db\3\2\2\2\u02dd\u02de\3\2\2\2\u02de\u02e0\3\2"+ + "\2\2\u02df\u02dd\3\2\2\2\u02e0\u02e1\7\2\2\3\u02e1C\3\2\2\2\u02e2\u02e4"+ + "\5F$\2\u02e3\u02e2\3\2\2\2\u02e4\u02e7\3\2\2\2\u02e5\u02e3\3\2\2\2\u02e5"+ + "\u02e6\3\2\2\2\u02e6\u02e8\3\2\2\2\u02e7\u02e5\3\2\2\2\u02e8\u02e9\7\""+ + "\2\2\u02e9\u02ee\7h\2\2\u02ea\u02eb\7C\2\2\u02eb\u02ed\7h\2\2\u02ec\u02ea"+ + "\3\2\2\2\u02ed\u02f0\3\2\2\2\u02ee\u02ec\3\2\2\2\u02ee\u02ef\3\2\2\2\u02ef"+ + "\u02f1\3\2\2\2\u02f0\u02ee\3\2\2\2\u02f1\u02f2\7A\2\2\u02f2E\3\2\2\2\u02f3"+ + "\u02f4\5\u00e8u\2\u02f4G\3\2\2\2\u02f5\u02fa\5J&\2\u02f6\u02fa\5L\'\2"+ + "\u02f7\u02fa\5N(\2\u02f8\u02fa\5P)\2\u02f9\u02f5\3\2\2\2\u02f9\u02f6\3"+ + "\2\2\2\u02f9\u02f7\3\2\2\2\u02f9\u02f8\3\2\2\2\u02faI\3\2\2\2\u02fb\u02fc"+ + "\7\33\2\2\u02fc\u02fd\58\35\2\u02fd\u02fe\7A\2\2\u02feK\3\2\2\2\u02ff"+ + "\u0300\7\33\2\2\u0300\u0301\5:\36\2\u0301\u0302\7C\2\2\u0302\u0303\7U"+ + "\2\2\u0303\u0304\7A\2\2\u0304M\3\2\2\2\u0305\u0306\7\33\2\2\u0306\u0307"+ + "\7(\2\2\u0307\u0308\58\35\2\u0308\u0309\7C\2\2\u0309\u030a\7h\2\2\u030a"+ + "\u030b\7A\2\2\u030bO\3\2\2\2\u030c\u030d\7\33\2\2\u030d\u030e\7(\2\2\u030e"+ + "\u030f\58\35\2\u030f\u0310\7C\2\2\u0310\u0311\7U\2\2\u0311\u0312\7A\2"+ + "\2\u0312Q\3\2\2\2\u0313\u0317\5T+\2\u0314\u0317\5\u00c8e\2\u0315\u0317"+ + "\7A\2\2\u0316\u0313\3\2\2\2\u0316\u0314\3\2\2\2\u0316\u0315\3\2\2\2\u0317"+ + "S\3\2\2\2\u0318\u031b\5V,\2\u0319\u031b\5\u00bc_\2\u031a\u0318\3\2\2\2"+ + "\u031a\u0319\3\2\2\2\u031bU\3\2\2\2\u031c\u031e\5X-\2\u031d\u031c\3\2"+ + "\2\2\u031e\u0321\3\2\2\2\u031f\u031d\3\2\2\2\u031f\u0320\3\2\2\2\u0320"+ + "\u0322\3\2\2\2\u0321\u031f\3\2\2\2\u0322\u0323\7\13\2\2\u0323\u0325\7"+ + "h\2\2\u0324\u0326\5Z.\2\u0325\u0324\3\2\2\2\u0325\u0326\3\2\2\2\u0326"+ + "\u0328\3\2\2\2\u0327\u0329\5^\60\2\u0328\u0327\3\2\2\2\u0328\u0329\3\2"+ + "\2\2\u0329\u032b\3\2\2\2\u032a\u032c\5`\61\2\u032b\u032a\3\2\2\2\u032b"+ + "\u032c\3\2\2\2\u032c\u032d\3\2\2\2\u032d\u032e\5d\63\2\u032eW\3\2\2\2"+ + "\u032f\u0338\5\u00e8u\2\u0330\u0338\7%\2\2\u0331\u0338\7$\2\2\u0332\u0338"+ + "\7#\2\2\u0333\u0338\7\3\2\2\u0334\u0338\7(\2\2\u0335\u0338\7\24\2\2\u0336"+ + "\u0338\7)\2\2\u0337\u032f\3\2\2\2\u0337\u0330\3\2\2\2\u0337\u0331\3\2"+ + "\2\2\u0337\u0332\3\2\2\2\u0337\u0333\3\2\2\2\u0337\u0334\3\2\2\2\u0337"+ + "\u0335\3\2\2\2\u0337\u0336\3\2\2\2\u0338Y\3\2\2\2\u0339\u033a\7F\2\2\u033a"+ + "\u033b\5\\/\2\u033b\u033c\7E\2\2\u033c[\3\2\2\2\u033d\u0342\5$\23\2\u033e"+ + "\u033f\7B\2\2\u033f\u0341\5$\23\2\u0340\u033e\3\2\2\2\u0341\u0344\3\2"+ + "\2\2\u0342\u0340\3\2\2\2\u0342\u0343\3\2\2\2\u0343]\3\2\2\2\u0344\u0342"+ + "\3\2\2\2\u0345\u0346\7\23\2\2\u0346\u0347\5\22\n\2\u0347_\3\2\2\2\u0348"+ + "\u0349\7\32\2\2\u0349\u034a\5b\62\2\u034aa\3\2\2\2\u034b\u0350\5\30\r"+ + "\2\u034c\u034d\7B\2\2\u034d\u034f\5\30\r\2\u034e\u034c\3\2\2\2\u034f\u0352"+ + "\3\2\2\2\u0350\u034e\3\2\2\2\u0350\u0351\3\2\2\2\u0351c\3\2\2\2\u0352"+ + "\u0350\3\2\2\2\u0353\u0357\7=\2\2\u0354\u0356\5f\64\2\u0355\u0354\3\2"+ + "\2\2\u0356\u0359\3\2\2\2\u0357\u0355\3\2\2\2\u0357\u0358\3\2\2\2\u0358"+ + "\u035a\3\2\2\2\u0359\u0357\3\2\2\2\u035a\u035b\7>\2\2\u035be\3\2\2\2\u035c"+ + "\u0361\5h\65\2\u035d\u0361\5\u00acW\2\u035e\u0361\5\u00aeX\2\u035f\u0361"+ + "\5\u00b0Y\2\u0360\u035c\3\2\2\2\u0360\u035d\3\2\2\2\u0360\u035e\3\2\2"+ + "\2\u0360\u035f\3\2\2\2\u0361g\3\2\2\2\u0362\u0368\5j\66\2\u0363\u0368"+ + "\5\u008eH\2\u0364\u0368\5T+\2\u0365\u0368\5\u00c8e\2\u0366\u0368\7A\2"+ + "\2\u0367\u0362\3\2\2\2\u0367\u0363\3\2\2\2\u0367\u0364\3\2\2\2\u0367\u0365"+ + "\3\2\2\2\u0367\u0366\3\2\2\2\u0368i\3\2\2\2\u0369\u036b\5l\67\2\u036a"+ + "\u0369\3\2\2\2\u036b\u036e\3\2\2\2\u036c\u036a\3\2\2\2\u036c\u036d\3\2"+ + "\2\2\u036d\u036f\3\2\2\2\u036e\u036c\3\2\2\2\u036f\u0370\5v<\2\u0370\u0371"+ + "\5n8\2\u0371\u0372\7A\2\2\u0372k\3\2\2\2\u0373\u037c\5\u00e8u\2\u0374"+ + "\u037c\7%\2\2\u0375\u037c\7$\2\2\u0376\u037c\7#\2\2\u0377\u037c\7(\2\2"+ + "\u0378\u037c\7\24\2\2\u0379\u037c\7\60\2\2\u037a\u037c\7\63\2\2\u037b"+ + "\u0373\3\2\2\2\u037b\u0374\3\2\2\2\u037b\u0375\3\2\2\2\u037b\u0376\3\2"+ + "\2\2\u037b\u0377\3\2\2\2\u037b\u0378\3\2\2\2\u037b\u0379\3\2\2\2\u037b"+ + "\u037a\3\2\2\2\u037cm\3\2\2\2\u037d\u0382\5p9\2\u037e\u037f\7B\2\2\u037f"+ + "\u0381\5p9\2\u0380\u037e\3\2\2\2\u0381\u0384\3\2\2\2\u0382\u0380\3\2\2"+ + "\2\u0382\u0383\3\2\2\2\u0383o\3\2\2\2\u0384\u0382\3\2\2\2\u0385\u0388"+ + "\5r:\2\u0386\u0387\7D\2\2\u0387\u0389\5t;\2\u0388\u0386\3\2\2\2\u0388"+ + "\u0389\3\2\2\2\u0389q\3\2\2\2\u038a\u038c\7h\2\2\u038b\u038d\5\"\22\2"+ + "\u038c\u038b\3\2\2\2\u038c\u038d\3\2\2\2\u038ds\3\2\2\2\u038e\u0391\5"+ + "\u01a0\u00d1\2\u038f\u0391\5\u00fa~\2\u0390\u038e\3\2\2\2\u0390\u038f"+ + "\3\2\2\2\u0391u\3\2\2\2\u0392\u0395\5x=\2\u0393\u0395\5z>\2\u0394\u0392"+ + "\3\2\2\2\u0394\u0393\3\2\2\2\u0395w\3\2\2\2\u0396\u0399\5\b\5\2\u0397"+ + "\u0399\7\5\2\2\u0398\u0396\3\2\2\2\u0398\u0397\3\2\2\2\u0399y\3\2\2\2"+ + "\u039a\u039e\5|?\2\u039b\u039e\5\u008aF\2\u039c\u039e\5\u008cG\2\u039d"+ + "\u039a\3\2\2\2\u039d\u039b\3\2\2\2\u039d\u039c\3\2\2\2\u039e{\3\2\2\2"+ + "\u039f\u03a2\5\u0082B\2\u03a0\u03a2\5\u0088E\2\u03a1\u039f\3\2\2\2\u03a1"+ + "\u03a0\3\2\2\2\u03a2\u03a7\3\2\2\2\u03a3\u03a6\5\u0080A\2\u03a4\u03a6"+ + "\5\u0086D\2\u03a5\u03a3\3\2\2\2\u03a5\u03a4\3\2\2\2\u03a6\u03a9\3\2\2"+ + "\2\u03a7\u03a5\3\2\2\2\u03a7\u03a8\3\2\2\2\u03a8}\3\2\2\2\u03a9\u03a7"+ + "\3\2\2\2\u03aa\u03ac\7h\2\2\u03ab\u03ad\5,\27\2\u03ac\u03ab\3\2\2\2\u03ac"+ + "\u03ad\3\2\2\2\u03ad\u03bb\3\2\2\2\u03ae\u03af\5|?\2\u03af\u03b3\7C\2"+ + "\2\u03b0\u03b2\5\u00e8u\2\u03b1\u03b0\3\2\2\2\u03b2\u03b5\3\2\2\2\u03b3"+ + "\u03b1\3\2\2\2\u03b3\u03b4\3\2\2\2\u03b4\u03b6\3\2\2\2\u03b5\u03b3\3\2"+ + "\2\2\u03b6\u03b8\7h\2\2\u03b7\u03b9\5,\27\2\u03b8\u03b7\3\2\2\2\u03b8"+ + "\u03b9\3\2\2\2\u03b9\u03bb\3\2\2\2\u03ba\u03aa\3\2\2\2\u03ba\u03ae\3\2"+ + "\2\2\u03bb\177\3\2\2\2\u03bc\u03c0\7C\2\2\u03bd\u03bf\5\u00e8u\2\u03be"+ + "\u03bd\3\2\2\2\u03bf\u03c2\3\2\2\2\u03c0\u03be\3\2\2\2\u03c0\u03c1\3\2"+ + "\2\2\u03c1\u03c3\3\2\2\2\u03c2\u03c0\3\2\2\2\u03c3\u03c5\7h\2\2\u03c4"+ + "\u03c6\5,\27\2\u03c5\u03c4\3\2\2\2\u03c5\u03c6\3\2\2\2\u03c6\u0081\3\2"+ + "\2\2\u03c7\u03c9\7h\2\2\u03c8\u03ca\5,\27\2\u03c9\u03c8\3\2\2\2\u03c9"+ + "\u03ca\3\2\2\2\u03ca\u0083\3\2\2\2\u03cb\u03cc\5~@\2\u03cc\u0085\3\2\2"+ + "\2\u03cd\u03ce\5\u0080A\2\u03ce\u0087\3\2\2\2\u03cf\u03d0\5\u0082B\2\u03d0"+ + "\u0089\3\2\2\2\u03d1\u03d2\7h\2\2\u03d2\u008b\3\2\2\2\u03d3\u03d4\5x="+ + "\2\u03d4\u03d5\5\"\22\2\u03d5\u03dd\3\2\2\2\u03d6\u03d7\5|?\2\u03d7\u03d8"+ + "\5\"\22\2\u03d8\u03dd\3\2\2\2\u03d9\u03da\5\u008aF\2\u03da\u03db\5\"\22"+ + "\2\u03db\u03dd\3\2\2\2\u03dc\u03d3\3\2\2\2\u03dc\u03d6\3\2\2\2\u03dc\u03d9"+ + "\3\2\2\2\u03dd\u008d\3\2\2\2\u03de\u03e0\5\u0090I\2\u03df\u03de\3\2\2"+ + "\2\u03e0\u03e3\3\2\2\2\u03e1\u03df\3\2\2\2\u03e1\u03e2\3\2\2\2\u03e2\u03e4"+ + "\3\2\2\2\u03e3\u03e1\3\2\2\2\u03e4\u03e5\5\u0092J\2\u03e5\u03e6\5\u00aa"+ + "V\2\u03e6\u008f\3\2\2\2\u03e7\u03f2\5\u00e8u\2\u03e8\u03f2\7%\2\2\u03e9"+ + "\u03f2\7$\2\2\u03ea\u03f2\7#\2\2\u03eb\u03f2\7\3\2\2\u03ec\u03f2\7(\2"+ + "\2\u03ed\u03f2\7\24\2\2\u03ee\u03f2\7,\2\2\u03ef\u03f2\7 \2\2\u03f0\u03f2"+ + "\7)\2\2\u03f1\u03e7\3\2\2\2\u03f1\u03e8\3\2\2\2\u03f1\u03e9\3\2\2\2\u03f1"+ + "\u03ea\3\2\2\2\u03f1\u03eb\3\2\2\2\u03f1\u03ec\3\2\2\2\u03f1\u03ed\3\2"+ + "\2\2\u03f1\u03ee\3\2\2\2\u03f1\u03ef\3\2\2\2\u03f1\u03f0\3\2\2\2\u03f2"+ + "\u0091\3\2\2\2\u03f3\u03f4\5\u0094K\2\u03f4\u03f6\5\u0096L\2\u03f5\u03f7"+ + "\5\u00a4S\2\u03f6\u03f5\3\2\2\2\u03f6\u03f7\3\2\2\2\u03f7\u0405\3\2\2"+ + "\2\u03f8\u03fc\5Z.\2\u03f9\u03fb\5\u00e8u\2\u03fa\u03f9\3\2\2\2\u03fb"+ + "\u03fe\3\2\2\2\u03fc\u03fa\3\2\2\2\u03fc\u03fd\3\2\2\2\u03fd\u03ff\3\2"+ + "\2\2\u03fe\u03fc\3\2\2\2\u03ff\u0400\5\u0094K\2\u0400\u0402\5\u0096L\2"+ + "\u0401\u0403\5\u00a4S\2\u0402\u0401\3\2\2\2\u0402\u0403\3\2\2\2\u0403"+ + "\u0405\3\2\2\2\u0404\u03f3\3\2\2\2\u0404\u03f8\3\2\2\2\u0405\u0093\3\2"+ + "\2\2\u0406\u0409\5v<\2\u0407\u0409\7\62\2\2\u0408\u0406\3\2\2\2\u0408"+ + "\u0407\3\2\2\2\u0409\u0095\3\2\2\2\u040a\u040b\7h\2\2\u040b\u040d\7;\2"+ + "\2\u040c\u040e\5\u0098M\2\u040d\u040c\3\2\2\2\u040d\u040e\3\2\2\2\u040e"+ + "\u040f\3\2\2\2\u040f\u0411\7<\2\2\u0410\u0412\5\"\22\2\u0411\u0410\3\2"+ + "\2\2\u0411\u0412\3\2\2\2\u0412\u0097\3\2\2\2\u0413\u0414\5\u009aN\2\u0414"+ + "\u0415\7B\2\2\u0415\u0416\5\u00a0Q\2\u0416\u0419\3\2\2\2\u0417\u0419\5"+ + "\u00a0Q\2\u0418\u0413\3\2\2\2\u0418\u0417\3\2\2\2\u0419\u0099\3\2\2\2"+ + "\u041a\u041f\5\u009cO\2\u041b\u041c\7B\2\2\u041c\u041e\5\u009cO\2\u041d"+ + "\u041b\3\2\2\2\u041e\u0421\3\2\2\2\u041f\u041d\3\2\2\2\u041f\u0420\3\2"+ + "\2\2\u0420\u042b\3\2\2\2\u0421\u041f\3\2\2\2\u0422\u0427\5\u00a2R\2\u0423"+ + "\u0424\7B\2\2\u0424\u0426\5\u009cO\2\u0425\u0423\3\2\2\2\u0426\u0429\3"+ + "\2\2\2\u0427\u0425\3\2\2\2\u0427\u0428\3\2\2\2\u0428\u042b\3\2\2\2\u0429"+ + "\u0427\3\2\2\2\u042a\u041a\3\2\2\2\u042a\u0422\3\2\2\2\u042b\u009b\3\2"+ + "\2\2\u042c\u042e\5\u009eP\2\u042d\u042c\3\2\2\2\u042e\u0431\3\2\2\2\u042f"+ + "\u042d\3\2\2\2\u042f\u0430\3\2\2\2\u0430\u0432\3\2\2\2\u0431\u042f\3\2"+ + "\2\2\u0432\u0433\5v<\2\u0433\u0434\5r:\2\u0434\u009d\3\2\2\2\u0435\u0438"+ + "\5\u00e8u\2\u0436\u0438\7\24\2\2\u0437\u0435\3\2\2\2\u0437\u0436\3\2\2"+ + "\2\u0438\u009f\3\2\2\2\u0439\u043b\5\u009eP\2\u043a\u0439\3\2\2\2\u043b"+ + "\u043e\3\2\2\2\u043c\u043a\3\2\2\2\u043c\u043d\3\2\2\2\u043d\u043f\3\2"+ + "\2\2\u043e\u043c\3\2\2\2\u043f\u0443\5v<\2\u0440\u0442\5\u00e8u\2\u0441"+ + "\u0440\3\2\2\2\u0442\u0445\3\2\2\2\u0443\u0441\3\2\2\2\u0443\u0444\3\2"+ + "\2\2\u0444\u0446\3\2\2\2\u0445\u0443\3\2\2\2\u0446\u0447\7j\2\2\u0447"+ + "\u0448\5r:\2\u0448\u044b\3\2\2\2\u0449\u044b\5\u009cO\2\u044a\u043c\3"+ + "\2\2\2\u044a\u0449\3\2\2\2\u044b\u00a1\3\2\2\2\u044c\u044e\5\u00e8u\2"+ + "\u044d\u044c\3\2\2\2\u044e\u0451\3\2\2\2\u044f\u044d\3\2\2\2\u044f\u0450"+ + "\3\2\2\2\u0450\u0452\3\2\2\2\u0451\u044f\3\2\2\2\u0452\u0455\5v<\2\u0453"+ + "\u0454\7h\2\2\u0454\u0456\7C\2\2\u0455\u0453\3\2\2\2\u0455\u0456\3\2\2"+ + "\2\u0456\u0457\3\2\2\2\u0457\u0458\7-\2\2\u0458\u00a3\3\2\2\2\u0459\u045a"+ + "\7/\2\2\u045a\u045b\5\u00a6T\2\u045b\u00a5\3\2\2\2\u045c\u0461\5\u00a8"+ + "U\2\u045d\u045e\7B\2\2\u045e\u0460\5\u00a8U\2\u045f\u045d\3\2\2\2\u0460"+ + "\u0463\3\2\2\2\u0461\u045f\3\2\2\2\u0461\u0462\3\2\2\2\u0462\u00a7\3\2"+ + "\2\2\u0463\u0461\3\2\2\2\u0464\u0467\5\22\n\2\u0465\u0467\5\36\20\2\u0466"+ + "\u0464\3\2\2\2\u0466\u0465\3\2\2\2\u0467\u00a9\3\2\2\2\u0468\u046b\5\u00fe"+ + "\u0080\2\u0469\u046b\7A\2\2\u046a\u0468\3\2\2\2\u046a\u0469\3\2\2\2\u046b"+ + "\u00ab\3\2\2\2\u046c\u046d\5\u00fe\u0080\2\u046d\u00ad\3\2\2\2\u046e\u046f"+ + "\7(\2\2\u046f\u0470\5\u00fe\u0080\2\u0470\u00af\3\2\2\2\u0471\u0473\5"+ + "\u00b2Z\2\u0472\u0471\3\2\2\2\u0473\u0476\3\2\2\2\u0474\u0472\3\2\2\2"+ + "\u0474\u0475\3\2\2\2\u0475\u0477\3\2\2\2\u0476\u0474\3\2\2\2\u0477\u0479"+ + "\5\u00b4[\2\u0478\u047a\5\u00a4S\2\u0479\u0478\3\2\2\2\u0479\u047a\3\2"+ + "\2\2\u047a\u047b\3\2\2\2\u047b\u047c\5\u00b8]\2\u047c\u00b1\3\2\2\2\u047d"+ + "\u0482\5\u00e8u\2\u047e\u0482\7%\2\2\u047f\u0482\7$\2\2\u0480\u0482\7"+ + "#\2\2\u0481\u047d\3\2\2\2\u0481\u047e\3\2\2\2\u0481\u047f\3\2\2\2\u0481"+ + "\u0480\3\2\2\2\u0482\u00b3\3\2\2\2\u0483\u0485\5Z.\2\u0484\u0483\3\2\2"+ + "\2\u0484\u0485\3\2\2\2\u0485\u0486\3\2\2\2\u0486\u0487\5\u00b6\\\2\u0487"+ + "\u0489\7;\2\2\u0488\u048a\5\u0098M\2\u0489\u0488\3\2\2\2\u0489\u048a\3"+ + "\2\2\2\u048a\u048b\3\2\2\2\u048b\u048c\7<\2\2\u048c\u00b5\3\2\2\2\u048d"+ + "\u048e\7h\2\2\u048e\u00b7\3\2\2\2\u048f\u0491\7=\2\2\u0490\u0492\5\u00ba"+ + "^\2\u0491\u0490\3\2\2\2\u0491\u0492\3\2\2\2\u0492\u0494\3\2\2\2\u0493"+ + "\u0495\5\u0100\u0081\2\u0494\u0493\3\2\2\2\u0494\u0495\3\2\2\2\u0495\u0496"+ + "\3\2\2\2\u0496\u0497\7>\2\2\u0497\u00b9\3\2\2\2\u0498\u049a\5,\27\2\u0499"+ + "\u0498\3\2\2\2\u0499\u049a\3\2\2\2\u049a\u049b\3\2\2\2\u049b\u049c\7-"+ + "\2\2\u049c\u049e\7;\2\2\u049d\u049f\5\u0190\u00c9\2\u049e\u049d\3\2\2"+ + "\2\u049e\u049f\3\2\2\2\u049f\u04a0\3\2\2\2\u04a0\u04a1\7<\2\2\u04a1\u04c7"+ + "\7A\2\2\u04a2\u04a4\5,\27\2\u04a3\u04a2\3\2\2\2\u04a3\u04a4\3\2\2\2\u04a4"+ + "\u04a5\3\2\2\2\u04a5\u04a6\7*\2\2\u04a6\u04a8\7;\2\2\u04a7\u04a9\5\u0190"+ + "\u00c9\2\u04a8\u04a7\3\2\2\2\u04a8\u04a9\3\2\2\2\u04a9\u04aa\3\2\2\2\u04aa"+ + "\u04ab\7<\2\2\u04ab\u04c7\7A\2\2\u04ac\u04ad\5<\37\2\u04ad\u04af\7C\2"+ + "\2\u04ae\u04b0\5,\27\2\u04af\u04ae\3\2\2\2\u04af\u04b0\3\2\2\2\u04b0\u04b1"+ + "\3\2\2\2\u04b1\u04b2\7*\2\2\u04b2\u04b4\7;\2\2\u04b3\u04b5\5\u0190\u00c9"+ + "\2\u04b4\u04b3\3\2\2\2\u04b4\u04b5\3\2\2\2\u04b5\u04b6\3\2\2\2\u04b6\u04b7"+ + "\7<\2\2\u04b7\u04b8\7A\2\2\u04b8\u04c7\3\2\2\2\u04b9\u04ba\5\u0162\u00b2"+ + "\2\u04ba\u04bc\7C\2\2\u04bb\u04bd\5,\27\2\u04bc\u04bb\3\2\2\2\u04bc\u04bd"+ + "\3\2\2\2\u04bd\u04be\3\2\2\2\u04be\u04bf\7*\2\2\u04bf\u04c1\7;\2\2\u04c0"+ + "\u04c2\5\u0190\u00c9\2\u04c1\u04c0\3\2\2\2\u04c1\u04c2\3\2\2\2\u04c2\u04c3"+ + "\3\2\2\2\u04c3\u04c4\7<\2\2\u04c4\u04c5\7A\2\2\u04c5\u04c7\3\2\2\2\u04c6"+ + "\u0499\3\2\2\2\u04c6\u04a3\3\2\2\2\u04c6\u04ac\3\2\2\2\u04c6\u04b9\3\2"+ + "\2\2\u04c7\u00bb\3\2\2\2\u04c8\u04ca\5X-\2\u04c9\u04c8\3\2\2\2\u04ca\u04cd"+ + "\3\2\2\2\u04cb\u04c9\3\2\2\2\u04cb\u04cc\3\2\2\2\u04cc\u04ce\3\2\2\2\u04cd"+ + "\u04cb\3\2\2\2\u04ce\u04cf\7\22\2\2\u04cf\u04d1\7h\2\2\u04d0\u04d2\5`"+ + "\61\2\u04d1\u04d0\3\2\2\2\u04d1\u04d2\3\2\2\2\u04d2\u04d3\3\2\2\2\u04d3"+ + "\u04d4\5\u00be`\2\u04d4\u00bd\3\2\2\2\u04d5\u04d7\7=\2\2\u04d6\u04d8\5"+ + "\u00c0a\2\u04d7\u04d6\3\2\2\2\u04d7\u04d8\3\2\2\2\u04d8\u04da\3\2\2\2"+ + "\u04d9\u04db\7B\2\2\u04da\u04d9\3\2\2\2\u04da\u04db\3\2\2\2\u04db\u04dd"+ + "\3\2\2\2\u04dc\u04de\5\u00c6d\2\u04dd\u04dc\3\2\2\2\u04dd\u04de\3\2\2"+ + "\2\u04de\u04df\3\2\2\2\u04df\u04e0\7>\2\2\u04e0\u00bf\3\2\2\2\u04e1\u04e6"+ + "\5\u00c2b\2\u04e2\u04e3\7B\2\2\u04e3\u04e5\5\u00c2b\2\u04e4\u04e2\3\2"+ + "\2\2\u04e5\u04e8\3\2\2\2\u04e6\u04e4\3\2\2\2\u04e6\u04e7\3\2\2\2\u04e7"+ + "\u00c1\3\2\2\2\u04e8\u04e6\3\2\2\2\u04e9\u04eb\5\u00c4c\2\u04ea\u04e9"+ + "\3\2\2\2\u04eb\u04ee\3\2\2\2\u04ec\u04ea\3\2\2\2\u04ec\u04ed\3\2\2\2\u04ed"+ + "\u04ef\3\2\2\2\u04ee\u04ec\3\2\2\2\u04ef\u04f5\7h\2\2\u04f0\u04f2\7;\2"+ + "\2\u04f1\u04f3\5\u0190\u00c9\2\u04f2\u04f1\3\2\2\2\u04f2\u04f3\3\2\2\2"+ + "\u04f3\u04f4\3\2\2\2\u04f4\u04f6\7<\2\2\u04f5\u04f0\3\2\2\2\u04f5\u04f6"+ + "\3\2\2\2\u04f6\u04f8\3\2\2\2\u04f7\u04f9\5d\63\2\u04f8\u04f7\3\2\2\2\u04f8"+ + "\u04f9\3\2\2\2\u04f9\u00c3\3\2\2\2\u04fa\u04fb\5\u00e8u\2\u04fb\u00c5"+ + "\3\2\2\2\u04fc\u0500\7A\2\2\u04fd\u04ff\5f\64\2\u04fe\u04fd\3\2\2\2\u04ff"+ + "\u0502\3\2\2\2\u0500\u04fe\3\2\2\2\u0500\u0501\3\2\2\2\u0501\u00c7\3\2"+ + "\2\2\u0502\u0500\3\2\2\2\u0503\u0506\5\u00caf\2\u0504\u0506\5\u00dco\2"+ + "\u0505\u0503\3\2\2\2\u0505\u0504\3\2\2\2\u0506\u00c9\3\2\2\2\u0507\u0509"+ + "\5\u00ccg\2\u0508\u0507\3\2\2\2\u0509\u050c\3\2\2\2\u050a\u0508\3\2\2"+ + "\2\u050a\u050b\3\2\2\2\u050b\u050d\3\2\2\2\u050c\u050a\3\2\2\2\u050d\u050e"+ + "\7\36\2\2\u050e\u0510\7h\2\2\u050f\u0511\5Z.\2\u0510\u050f\3\2\2\2\u0510"+ + "\u0511\3\2\2\2\u0511\u0513\3\2\2\2\u0512\u0514\5\u00ceh\2\u0513\u0512"+ + "\3\2\2\2\u0513\u0514\3\2\2\2\u0514\u0515\3\2\2\2\u0515\u0516\5\u00d0i"+ + "\2\u0516\u00cb\3\2\2\2\u0517\u051f\5\u00e8u\2\u0518\u051f\7%\2\2\u0519"+ + "\u051f\7$\2\2\u051a\u051f\7#\2\2\u051b\u051f\7\3\2\2\u051c\u051f\7(\2"+ + "\2\u051d\u051f\7)\2\2\u051e\u0517\3\2\2\2\u051e\u0518\3\2\2\2\u051e\u0519"+ + "\3\2\2\2\u051e\u051a\3\2\2\2\u051e\u051b\3\2\2\2\u051e\u051c\3\2\2\2\u051e"+ + "\u051d\3\2\2\2\u051f\u00cd\3\2\2\2\u0520\u0521\7\23\2\2\u0521\u0522\5"+ + "b\62\2\u0522\u00cf\3\2\2\2\u0523\u0527\7=\2\2\u0524\u0526\5\u00d2j\2\u0525"+ + "\u0524\3\2\2\2\u0526\u0529\3\2\2\2\u0527\u0525\3\2\2\2\u0527\u0528\3\2"+ + "\2\2\u0528\u052a\3\2\2\2\u0529\u0527\3\2\2\2\u052a\u052b\7>\2\2\u052b"+ + "\u00d1\3\2\2\2\u052c\u0532\5\u00d4k\2\u052d\u0532\5\u00d8m\2\u052e\u0532"+ + "\5T+\2\u052f\u0532\5\u00c8e\2\u0530\u0532\7A\2\2\u0531\u052c\3\2\2\2\u0531"+ + "\u052d\3\2\2\2\u0531\u052e\3\2\2\2\u0531\u052f\3\2\2\2\u0531\u0530\3\2"+ + "\2\2\u0532\u00d3\3\2\2\2\u0533\u0535\5\u00d6l\2\u0534\u0533\3\2\2\2\u0535"+ + "\u0538\3\2\2\2\u0536\u0534\3\2\2\2\u0536\u0537\3\2\2\2\u0537\u0539\3\2"+ + "\2\2\u0538\u0536\3\2\2\2\u0539\u053a\5v<\2\u053a\u053b\5n8\2\u053b\u053c"+ + "\7A\2\2\u053c\u00d5\3\2\2\2\u053d\u0542\5\u00e8u\2\u053e\u0542\7%\2\2"+ + "\u053f\u0542\7(\2\2\u0540\u0542\7\24\2\2\u0541\u053d\3\2\2\2\u0541\u053e"+ + "\3\2\2\2\u0541\u053f\3\2\2\2\u0541\u0540\3\2\2\2\u0542\u00d7\3\2\2\2\u0543"+ + "\u0545\5\u00dan\2\u0544\u0543\3\2\2\2\u0545\u0548\3\2\2\2\u0546\u0544"+ + "\3\2\2\2\u0546\u0547\3\2\2\2\u0547\u0549\3\2\2\2\u0548\u0546\3\2\2\2\u0549"+ + "\u054a\5\u0092J\2\u054a\u054b\5\u00aaV\2\u054b\u00d9\3\2\2\2\u054c\u0553"+ + "\5\u00e8u\2\u054d\u0553\7%\2\2\u054e\u0553\7\3\2\2\u054f\u0553\7\16\2"+ + "\2\u0550\u0553\7(\2\2\u0551\u0553\7)\2\2\u0552\u054c\3\2\2\2\u0552\u054d"+ + "\3\2\2\2\u0552\u054e\3\2\2\2\u0552\u054f\3\2\2\2\u0552\u0550\3\2\2\2\u0552"+ + "\u0551\3\2\2\2\u0553\u00db\3\2\2\2\u0554\u0556\5\u00ccg\2\u0555\u0554"+ + "\3\2\2\2\u0556\u0559\3\2\2\2\u0557\u0555\3\2\2\2\u0557\u0558\3\2\2\2\u0558"+ + "\u055a\3\2\2\2\u0559\u0557\3\2\2\2\u055a\u055b\7i\2\2\u055b\u055c\7\36"+ + "\2\2\u055c\u055d\7h\2\2\u055d\u055e\5\u00dep\2\u055e\u00dd\3\2\2\2\u055f"+ + "\u0563\7=\2\2\u0560\u0562\5\u00e0q\2\u0561\u0560\3\2\2\2\u0562\u0565\3"+ + "\2\2\2\u0563\u0561\3\2\2\2\u0563\u0564\3\2\2\2\u0564\u0566\3\2\2\2\u0565"+ + "\u0563\3\2\2\2\u0566\u0567\7>\2\2\u0567\u00df\3\2\2\2\u0568\u056e\5\u00e2"+ + "r\2\u0569\u056e\5\u00d4k\2\u056a\u056e\5T+\2\u056b\u056e\5\u00c8e\2\u056c"+ + "\u056e\7A\2\2\u056d\u0568\3\2\2\2\u056d\u0569\3\2\2\2\u056d\u056a\3\2"+ + "\2\2\u056d\u056b\3\2\2\2\u056d\u056c\3\2\2\2\u056e\u00e1\3\2\2\2\u056f"+ + "\u0571\5\u00e4s\2\u0570\u056f\3\2\2\2\u0571\u0574\3\2\2\2\u0572\u0570"+ + "\3\2\2\2\u0572\u0573\3\2\2\2\u0573\u0575\3\2\2\2\u0574\u0572\3\2\2\2\u0575"+ + "\u0576\5v<\2\u0576\u0577\7h\2\2\u0577\u0578\7;\2\2\u0578\u057a\7<\2\2"+ + "\u0579\u057b\5\"\22\2\u057a\u0579\3\2\2\2\u057a\u057b\3\2\2\2\u057b\u057d"+ + "\3\2\2\2\u057c\u057e\5\u00e6t\2\u057d\u057c\3\2\2\2\u057d\u057e\3\2\2"+ + "\2\u057e\u057f\3\2\2\2\u057f\u0580\7A\2\2\u0580\u00e3\3\2\2\2\u0581\u0585"+ + "\5\u00e8u\2\u0582\u0585\7%\2\2\u0583\u0585\7\3\2\2\u0584\u0581\3\2\2\2"+ + "\u0584\u0582\3\2\2\2\u0584\u0583\3\2\2\2\u0585\u00e5\3\2\2\2\u0586\u0587"+ + "\7\16\2\2\u0587\u0588\5\u00f0y\2\u0588\u00e7\3\2\2\2\u0589\u058d\5\u00ea"+ + "v\2\u058a\u058d\5\u00f6|\2\u058b\u058d\5\u00f8}\2\u058c\u0589\3\2\2\2"+ + "\u058c\u058a\3\2\2\2\u058c\u058b\3\2\2\2\u058d\u00e9\3\2\2\2\u058e\u058f"+ + "\7i\2\2\u058f\u0590\58\35\2\u0590\u0592\7;\2\2\u0591\u0593\5\u00ecw\2"+ + "\u0592\u0591\3\2\2\2\u0592\u0593\3\2\2\2\u0593\u0594\3\2\2\2\u0594\u0595"+ + "\7<\2\2\u0595\u00eb\3\2\2\2\u0596\u059b\5\u00eex\2\u0597\u0598\7B\2\2"+ + "\u0598\u059a\5\u00eex\2\u0599\u0597\3\2\2\2\u059a\u059d\3\2\2\2\u059b"+ + "\u0599\3\2\2\2\u059b\u059c\3\2\2\2\u059c\u00ed\3\2\2\2\u059d\u059b\3\2"+ + "\2\2\u059e\u059f\7h\2\2\u059f\u05a0\7D\2\2\u05a0\u05a1\5\u00f0y\2\u05a1"+ + "\u00ef\3\2\2\2\u05a2\u05a6\5\u01b2\u00da\2\u05a3\u05a6\5\u00f2z\2\u05a4"+ + "\u05a6\5\u00e8u\2\u05a5\u05a2\3\2\2\2\u05a5\u05a3\3\2\2\2\u05a5\u05a4"+ + "\3\2\2\2\u05a6\u00f1\3\2\2\2\u05a7\u05a9\7=\2\2\u05a8\u05aa\5\u00f4{\2"+ + "\u05a9\u05a8\3\2\2\2\u05a9\u05aa\3\2\2\2\u05aa\u05ac\3\2\2\2\u05ab\u05ad"+ + "\7B\2\2\u05ac\u05ab\3\2\2\2\u05ac\u05ad\3\2\2\2\u05ad\u05ae\3\2\2\2\u05ae"+ + "\u05af\7>\2\2\u05af\u00f3\3\2\2\2\u05b0\u05b5\5\u00f0y\2\u05b1\u05b2\7"+ + "B\2\2\u05b2\u05b4\5\u00f0y\2\u05b3\u05b1\3\2\2\2\u05b4\u05b7\3\2\2\2\u05b5"+ + "\u05b3\3\2\2\2\u05b5\u05b6\3\2\2\2\u05b6\u00f5\3\2\2\2\u05b7\u05b5\3\2"+ + "\2\2\u05b8\u05b9\7i\2\2\u05b9\u05ba\58\35\2\u05ba\u00f7\3\2\2\2\u05bb"+ + "\u05bc\7i\2\2\u05bc\u05bd\58\35\2\u05bd\u05be\7;\2\2\u05be\u05bf\5\u00f0"+ + "y\2\u05bf\u05c0\7<\2\2\u05c0\u00f9\3\2\2\2\u05c1\u05c3\7=\2\2\u05c2\u05c4"+ + "\5\u00fc\177\2\u05c3\u05c2\3\2\2\2\u05c3\u05c4\3\2\2\2\u05c4\u05c6\3\2"+ + "\2\2\u05c5\u05c7\7B\2\2\u05c6\u05c5\3\2\2\2\u05c6\u05c7\3\2\2\2\u05c7"+ + "\u05c8\3\2\2\2\u05c8\u05c9\7>\2\2\u05c9\u00fb\3\2\2\2\u05ca\u05cf\5t;"+ + "\2\u05cb\u05cc\7B\2\2\u05cc\u05ce\5t;\2\u05cd\u05cb\3\2\2\2\u05ce\u05d1"+ + "\3\2\2\2\u05cf\u05cd\3\2\2\2\u05cf\u05d0\3\2\2\2\u05d0\u00fd\3\2\2\2\u05d1"+ + "\u05cf\3\2\2\2\u05d2\u05d4\7=\2\2\u05d3\u05d5\5\u0100\u0081\2\u05d4\u05d3"+ + "\3\2\2\2\u05d4\u05d5\3\2\2\2\u05d5\u05d6\3\2\2\2\u05d6\u05d7\7>\2\2\u05d7"+ + "\u00ff\3\2\2\2\u05d8\u05dc\5\u0102\u0082\2\u05d9\u05db\5\u0102\u0082\2"+ + "\u05da\u05d9\3\2\2\2\u05db\u05de\3\2\2\2\u05dc\u05da\3\2\2\2\u05dc\u05dd"+ + "\3\2\2\2\u05dd\u0101\3\2\2\2\u05de\u05dc\3\2\2\2\u05df\u05e3\5\u0104\u0083"+ + "\2\u05e0\u05e3\5T+\2\u05e1\u05e3\5\u0108\u0085\2\u05e2\u05df\3\2\2\2\u05e2"+ + "\u05e0\3\2\2\2\u05e2\u05e1\3\2\2\2\u05e3\u0103\3\2\2\2\u05e4\u05e5\5\u0106"+ + "\u0084\2\u05e5\u05e6\7A\2\2\u05e6\u0105\3\2\2\2\u05e7\u05e9\5\u009eP\2"+ + "\u05e8\u05e7\3\2\2\2\u05e9\u05ec\3\2\2\2\u05ea\u05e8\3\2\2\2\u05ea\u05eb"+ + "\3\2\2\2\u05eb\u05ed\3\2\2\2\u05ec\u05ea\3\2\2\2\u05ed\u05ee\5v<\2\u05ee"+ + "\u05ef\5n8\2\u05ef\u0107\3\2\2\2\u05f0\u05f7\5\u010c\u0087\2\u05f1\u05f7"+ + "\5\u0110\u0089\2\u05f2\u05f7\5\u0118\u008d\2\u05f3\u05f7\5\u011a\u008e"+ + "\2\u05f4\u05f7\5\u012c\u0097\2\u05f5\u05f7\5\u0132\u009a\2\u05f6\u05f0"+ + "\3\2\2\2\u05f6\u05f1\3\2\2\2\u05f6\u05f2\3\2\2\2\u05f6\u05f3\3\2\2\2\u05f6"+ + "\u05f4\3\2\2\2\u05f6\u05f5\3\2\2\2\u05f7\u0109\3\2\2\2\u05f8\u05fe\5\u010c"+ + "\u0087\2\u05f9\u05fe\5\u0112\u008a\2\u05fa\u05fe\5\u011c\u008f\2\u05fb"+ + "\u05fe\5\u012e\u0098\2\u05fc\u05fe\5\u0134\u009b\2\u05fd\u05f8\3\2\2\2"+ + "\u05fd\u05f9\3\2\2\2\u05fd\u05fa\3\2\2\2\u05fd\u05fb\3\2\2\2\u05fd\u05fc"+ + "\3\2\2\2\u05fe\u010b\3\2\2\2\u05ff\u060c\5\u00fe\u0080\2\u0600\u060c\5"+ + "\u010e\u0088\2\u0601\u060c\5\u0114\u008b\2\u0602\u060c\5\u011e\u0090\2"+ + "\u0603\u060c\5\u0120\u0091\2\u0604\u060c\5\u0130\u0099\2\u0605\u060c\5"+ + "\u0144\u00a3\2\u0606\u060c\5\u0146\u00a4\2\u0607\u060c\5\u0148\u00a5\2"+ + "\u0608\u060c\5\u014c\u00a7\2\u0609\u060c\5\u014a\u00a6\2\u060a\u060c\5"+ + "\u014e\u00a8\2\u060b\u05ff\3\2\2\2\u060b\u0600\3\2\2\2\u060b\u0601\3\2"+ + "\2\2\u060b\u0602\3\2\2\2\u060b\u0603\3\2\2\2\u060b\u0604\3\2\2\2\u060b"+ + "\u0605\3\2\2\2\u060b\u0606\3\2\2\2\u060b\u0607\3\2\2\2\u060b\u0608\3\2"+ + "\2\2\u060b\u0609\3\2\2\2\u060b\u060a\3\2\2\2\u060c\u010d\3\2\2\2\u060d"+ + "\u060e\7A\2\2\u060e\u010f\3\2\2\2\u060f\u0610\7h\2\2\u0610\u0611\7J\2"+ + "\2\u0611\u0612\5\u0108\u0085\2\u0612\u0111\3\2\2\2\u0613\u0614\7h\2\2"+ + "\u0614\u0615\7J\2\2\u0615\u0616\5\u010a\u0086\2\u0616\u0113\3\2\2\2\u0617"+ + "\u0618\5\u0116\u008c\2\u0618\u0619\7A\2\2\u0619\u0115\3\2\2\2\u061a\u0622"+ + "\5\u01ac\u00d7\2\u061b\u0622\5\u01ca\u00e6\2\u061c\u0622\5\u01cc\u00e7"+ + "\2\u061d\u0622\5\u01d2\u00ea\2\u061e\u0622\5\u01d6\u00ec\2\u061f\u0622"+ + "\5\u018a\u00c6\2\u0620\u0622\5\u0176\u00bc\2\u0621\u061a\3\2\2\2\u0621"+ + "\u061b\3\2\2\2\u0621\u061c\3\2\2\2\u0621\u061d\3\2\2\2\u0621\u061e\3\2"+ + "\2\2\u0621\u061f\3\2\2\2\u0621\u0620\3\2\2\2\u0622\u0117\3\2\2\2\u0623"+ + "\u0624\7\30\2\2\u0624\u0625\7;\2\2\u0625\u0626\5\u01a0\u00d1\2\u0626\u0627"+ + "\7<\2\2\u0627\u0628\5\u0108\u0085\2\u0628\u0119\3\2\2\2\u0629\u062a\7"+ + "\30\2\2\u062a\u062b\7;\2\2\u062b\u062c\5\u01a0\u00d1\2\u062c\u062d\7<"+ + "\2\2\u062d\u062e\5\u010a\u0086\2\u062e\u062f\7\21\2\2\u062f\u0630\5\u0108"+ + "\u0085\2\u0630\u011b\3\2\2\2\u0631\u0632\7\30\2\2\u0632\u0633\7;\2\2\u0633"+ + "\u0634\5\u01a0\u00d1\2\u0634\u0635\7<\2\2\u0635\u0636\5\u010a\u0086\2"+ + "\u0636\u0637\7\21\2\2\u0637\u0638\5\u010a\u0086\2\u0638\u011d\3\2\2\2"+ + "\u0639\u063a\7\4\2\2\u063a\u063b\5\u01a0\u00d1\2\u063b\u063c\7A\2\2\u063c"+ + "\u0644\3\2\2\2\u063d\u063e\7\4\2\2\u063e\u063f\5\u01a0\u00d1\2\u063f\u0640"+ + "\7J\2\2\u0640\u0641\5\u01a0\u00d1\2\u0641\u0642\7A\2\2\u0642\u0644\3\2"+ + "\2\2\u0643\u0639\3\2\2\2\u0643\u063d\3\2\2\2\u0644\u011f\3\2\2\2\u0645"+ + "\u0646\7+\2\2\u0646\u0647\7;\2\2\u0647\u0648\5\u01a0\u00d1\2\u0648\u0649"+ + "\7<\2\2\u0649\u064a\5\u0122\u0092\2\u064a\u0121\3\2\2\2\u064b\u064f\7"+ + "=\2\2\u064c\u064e\5\u0124\u0093\2\u064d\u064c\3\2\2\2\u064e\u0651\3\2"+ + "\2\2\u064f\u064d\3\2\2\2\u064f\u0650\3\2\2\2\u0650\u0655\3\2\2\2\u0651"+ + "\u064f\3\2\2\2\u0652\u0654\5\u0128\u0095\2\u0653\u0652\3\2\2\2\u0654\u0657"+ + "\3\2\2\2\u0655\u0653\3\2\2\2\u0655\u0656\3\2\2\2\u0656\u0658\3\2\2\2\u0657"+ + "\u0655\3\2\2\2\u0658\u0659\7>\2\2\u0659\u0123\3\2\2\2\u065a\u065b\5\u0126"+ + "\u0094\2\u065b\u065c\5\u0100\u0081\2\u065c\u0125\3\2\2\2\u065d\u0661\5"+ + "\u0128\u0095\2\u065e\u0660\5\u0128\u0095\2\u065f\u065e\3\2\2\2\u0660\u0663"+ + "\3\2\2\2\u0661\u065f\3\2\2\2\u0661\u0662\3\2\2\2\u0662\u0127\3\2\2\2\u0663"+ + "\u0661\3\2\2\2\u0664\u0665\7\b\2\2\u0665\u0666\5\u019e\u00d0\2\u0666\u0667"+ + "\7J\2\2\u0667\u066f\3\2\2\2\u0668\u0669\7\b\2\2\u0669\u066a\5\u012a\u0096"+ + "\2\u066a\u066b\7J\2\2\u066b\u066f\3\2\2\2\u066c\u066d\7\16\2\2\u066d\u066f"+ + "\7J\2\2\u066e\u0664\3\2\2\2\u066e\u0668\3\2\2\2\u066e\u066c\3\2\2\2\u066f"+ + "\u0129\3\2\2\2\u0670\u0671\7h\2\2\u0671\u012b\3\2\2\2\u0672\u0673\7\64"+ + "\2\2\u0673\u0674\7;\2\2\u0674\u0675\5\u01a0\u00d1\2\u0675\u0676\7<\2\2"+ + "\u0676\u0677\5\u0108\u0085\2\u0677\u012d\3\2\2\2\u0678\u0679\7\64\2\2"+ + "\u0679\u067a\7;\2\2\u067a\u067b\5\u01a0\u00d1\2\u067b\u067c\7<\2\2\u067c"+ + "\u067d\5\u010a\u0086\2\u067d\u012f\3\2\2\2\u067e\u067f\7\17\2\2\u067f"+ + "\u0680\5\u0108\u0085\2\u0680\u0681\7\64\2\2\u0681\u0682\7;\2\2\u0682\u0683"+ + "\5\u01a0\u00d1\2\u0683\u0684\7<\2\2\u0684\u0685\7A\2\2\u0685\u0131\3\2"+ + "\2\2\u0686\u0689\5\u0136\u009c\2\u0687\u0689\5\u0140\u00a1\2\u0688\u0686"+ + "\3\2\2\2\u0688\u0687\3\2\2\2\u0689\u0133\3\2\2\2\u068a\u068d\5\u0138\u009d"+ + "\2\u068b\u068d\5\u0142\u00a2\2\u068c\u068a\3\2\2\2\u068c\u068b\3\2\2\2"+ + "\u068d\u0135\3\2\2\2\u068e\u068f\7\27\2\2\u068f\u0691\7;\2\2\u0690\u0692"+ + "\5\u013a\u009e\2\u0691\u0690\3\2\2\2\u0691\u0692\3\2\2\2\u0692\u0693\3"+ + "\2\2\2\u0693\u0695\7A\2\2\u0694\u0696\5\u01a0\u00d1\2\u0695\u0694\3\2"+ + "\2\2\u0695\u0696\3\2\2\2\u0696\u0697\3\2\2\2\u0697\u0699\7A\2\2\u0698"+ + "\u069a\5\u013c\u009f\2\u0699\u0698\3\2\2\2\u0699\u069a\3\2\2\2\u069a\u069b"+ + "\3\2\2\2\u069b\u069c\7<\2\2\u069c\u069d\5\u0108\u0085\2\u069d\u0137\3"+ + "\2\2\2\u069e\u069f\7\27\2\2\u069f\u06a1\7;\2\2\u06a0\u06a2\5\u013a\u009e"+ + "\2\u06a1\u06a0\3\2\2\2\u06a1\u06a2\3\2\2\2\u06a2\u06a3\3\2\2\2\u06a3\u06a5"+ + "\7A\2\2\u06a4\u06a6\5\u01a0\u00d1\2\u06a5\u06a4\3\2\2\2\u06a5\u06a6\3"+ + "\2\2\2\u06a6\u06a7\3\2\2\2\u06a7\u06a9\7A\2\2\u06a8\u06aa\5\u013c\u009f"+ + "\2\u06a9\u06a8\3\2\2\2\u06a9\u06aa\3\2\2\2\u06aa\u06ab\3\2\2\2\u06ab\u06ac"+ + "\7<\2\2\u06ac\u06ad\5\u010a\u0086\2\u06ad\u0139\3\2\2\2\u06ae\u06b1\5"+ + "\u013e\u00a0\2\u06af\u06b1\5\u0106\u0084\2\u06b0\u06ae\3\2\2\2\u06b0\u06af"+ + "\3\2\2\2\u06b1\u013b\3\2\2\2\u06b2\u06b3\5\u013e\u00a0\2\u06b3\u013d\3"+ + "\2\2\2\u06b4\u06b9\5\u0116\u008c\2\u06b5\u06b6\7B\2\2\u06b6\u06b8\5\u0116"+ + "\u008c\2\u06b7\u06b5\3\2\2\2\u06b8\u06bb\3\2\2\2\u06b9\u06b7\3\2\2\2\u06b9"+ + "\u06ba\3\2\2\2\u06ba\u013f\3\2\2\2\u06bb\u06b9\3\2\2\2\u06bc\u06bd\7\27"+ + "\2\2\u06bd\u06c1\7;\2\2\u06be\u06c0\5\u009eP\2\u06bf\u06be\3\2\2\2\u06c0"+ + "\u06c3\3\2\2\2\u06c1\u06bf\3\2\2\2\u06c1\u06c2\3\2\2\2\u06c2\u06c4\3\2"+ + "\2\2\u06c3\u06c1\3\2\2\2\u06c4\u06c5\5v<\2\u06c5\u06c6\5r:\2\u06c6\u06c7"+ + "\7J\2\2\u06c7\u06c8\5\u01a0\u00d1\2\u06c8\u06c9\7<\2\2\u06c9\u06ca\5\u0108"+ + "\u0085\2\u06ca\u0141\3\2\2\2\u06cb\u06cc\7\27\2\2\u06cc\u06d0\7;\2\2\u06cd"+ + "\u06cf\5\u009eP\2\u06ce\u06cd\3\2\2\2\u06cf\u06d2\3\2\2\2\u06d0\u06ce"+ + "\3\2\2\2\u06d0\u06d1\3\2\2\2\u06d1\u06d3\3\2\2\2\u06d2\u06d0\3\2\2\2\u06d3"+ + "\u06d4\5v<\2\u06d4\u06d5\5r:\2\u06d5\u06d6\7J\2\2\u06d6\u06d7\5\u01a0"+ + "\u00d1\2\u06d7\u06d8\7<\2\2\u06d8\u06d9\5\u010a\u0086\2\u06d9\u0143\3"+ + "\2\2\2\u06da\u06dc\7\6\2\2\u06db\u06dd\7h\2\2\u06dc\u06db\3\2\2\2\u06dc"+ + "\u06dd\3\2\2\2\u06dd\u06de\3\2\2\2\u06de\u06df\7A\2\2\u06df\u0145\3\2"+ + "\2\2\u06e0\u06e2\7\r\2\2\u06e1\u06e3\7h\2\2\u06e2\u06e1\3\2\2\2\u06e2"+ + "\u06e3\3\2\2\2\u06e3\u06e4\3\2\2\2\u06e4\u06e5\7A\2\2\u06e5\u0147\3\2"+ + "\2\2\u06e6\u06e8\7&\2\2\u06e7\u06e9\5\u01a0\u00d1\2\u06e8\u06e7\3\2\2"+ + "\2\u06e8\u06e9\3\2\2\2\u06e9\u06ea\3\2\2\2\u06ea\u06eb\7A\2\2\u06eb\u0149"+ + "\3\2\2\2\u06ec\u06ed\7.\2\2\u06ed\u06ee\5\u01a0\u00d1\2\u06ee\u06ef\7"+ + "A\2\2\u06ef\u014b\3\2\2\2\u06f0\u06f1\7,\2\2\u06f1\u06f2\7;\2\2\u06f2"+ + "\u06f3\5\u01a0\u00d1\2\u06f3\u06f4\7<\2\2\u06f4\u06f5\5\u00fe\u0080\2"+ + "\u06f5\u014d\3\2\2\2\u06f6\u06f7\7\61\2\2\u06f7\u06f8\5\u00fe\u0080\2"+ + "\u06f8\u06f9\5\u0150\u00a9\2\u06f9\u0703\3\2\2\2\u06fa\u06fb\7\61\2\2"+ + "\u06fb\u06fd\5\u00fe\u0080\2\u06fc\u06fe\5\u0150\u00a9\2\u06fd\u06fc\3"+ + "\2\2\2\u06fd\u06fe\3\2\2\2\u06fe\u06ff\3\2\2\2\u06ff\u0700\5\u0158\u00ad"+ + "\2\u0700\u0703\3\2\2\2\u0701\u0703\5\u015a\u00ae\2\u0702\u06f6\3\2\2\2"+ + "\u0702\u06fa\3\2\2\2\u0702\u0701\3\2\2\2\u0703\u014f\3\2\2\2\u0704\u0708"+ + "\5\u0152\u00aa\2\u0705\u0707\5\u0152\u00aa\2\u0706\u0705\3\2\2\2\u0707"+ + "\u070a\3\2\2\2\u0708\u0706\3\2\2\2\u0708\u0709\3\2\2\2\u0709\u0151\3\2"+ + "\2\2\u070a\u0708\3\2\2\2\u070b\u070c\7\t\2\2\u070c\u070d\7;\2\2\u070d"+ + "\u070e\5\u0154\u00ab\2\u070e\u070f\7<\2\2\u070f\u0710\5\u00fe\u0080\2"+ + "\u0710\u0153\3\2\2\2\u0711\u0713\5\u009eP\2\u0712\u0711\3\2\2\2\u0713"+ + "\u0716\3\2\2\2\u0714\u0712\3\2\2\2\u0714\u0715\3\2\2\2\u0715\u0717\3\2"+ + "\2\2\u0716\u0714\3\2\2\2\u0717\u0718\5\u0156\u00ac\2\u0718\u0719\5r:\2"+ + "\u0719\u0155\3\2\2\2\u071a\u071f\5~@\2\u071b\u071c\7X\2\2\u071c\u071e"+ + "\5\22\n\2\u071d\u071b\3\2\2\2\u071e\u0721\3\2\2\2\u071f\u071d\3\2\2\2"+ + "\u071f\u0720\3\2\2\2\u0720\u0157\3\2\2\2\u0721\u071f\3\2\2\2\u0722\u0723"+ + "\7\25\2\2\u0723\u0724\5\u00fe\u0080\2\u0724\u0159\3\2\2\2\u0725\u0726"+ + "\7\61\2\2\u0726\u0727\5\u015c\u00af\2\u0727\u0729\5\u00fe\u0080\2\u0728"+ + "\u072a\5\u0150\u00a9\2\u0729\u0728\3\2\2\2\u0729\u072a\3\2\2\2\u072a\u072c"+ + "\3\2\2\2\u072b\u072d\5\u0158\u00ad\2\u072c\u072b\3\2\2\2\u072c\u072d\3"+ + "\2\2\2\u072d\u015b\3\2\2\2\u072e\u072f\7;\2\2\u072f\u0731\5\u015e\u00b0"+ + "\2\u0730\u0732\7A\2\2\u0731\u0730\3\2\2\2\u0731\u0732\3\2\2\2\u0732\u0733"+ + "\3\2\2\2\u0733\u0734\7<\2\2\u0734\u015d\3\2\2\2\u0735\u073a\5\u0160\u00b1"+ + "\2\u0736\u0737\7A\2\2\u0737\u0739\5\u0160\u00b1\2\u0738\u0736\3\2\2\2"+ + "\u0739\u073c\3\2\2\2\u073a\u0738\3\2\2\2\u073a\u073b\3\2\2\2\u073b\u015f"+ + "\3\2\2\2\u073c\u073a\3\2\2\2\u073d\u073f\5\u009eP\2\u073e\u073d\3\2\2"+ + "\2\u073f\u0742\3\2\2\2\u0740\u073e\3\2\2\2\u0740\u0741\3\2\2\2\u0741\u0743"+ + "\3\2\2\2\u0742\u0740\3\2\2\2\u0743\u0744\5v<\2\u0744\u0745\5r:\2\u0745"+ + "\u0746\7D\2\2\u0746\u0747\5\u01a0\u00d1\2\u0747\u0161\3\2\2\2\u0748\u074b"+ + "\5\u0170\u00b9\2\u0749\u074b\5\u0198\u00cd\2\u074a\u0748\3\2\2\2\u074a"+ + "\u0749\3\2\2\2\u074b\u074f\3\2\2\2\u074c\u074e\5\u016a\u00b6\2\u074d\u074c"+ + "\3\2\2\2\u074e\u0751\3\2\2\2\u074f\u074d\3\2\2\2\u074f\u0750\3\2\2\2\u0750"+ + "\u0163\3\2\2\2\u0751\u074f\3\2\2\2\u0752\u0770\5\2\2\2\u0753\u0758\58"+ + "\35\2\u0754\u0755\7?\2\2\u0755\u0757\7@\2\2\u0756\u0754\3\2\2\2\u0757"+ + "\u075a\3\2\2\2\u0758\u0756\3\2\2\2\u0758\u0759\3\2\2\2\u0759\u075b\3\2"+ + "\2\2\u075a\u0758\3\2\2\2\u075b\u075c\7C\2\2\u075c\u075d\7\13\2\2\u075d"+ + "\u0770\3\2\2\2\u075e\u075f\7\62\2\2\u075f\u0760\7C\2\2\u0760\u0770\7\13"+ + "\2\2\u0761\u0770\7-\2\2\u0762\u0763\58\35\2\u0763\u0764\7C\2\2\u0764\u0765"+ + "\7-\2\2\u0765\u0770\3\2\2\2\u0766\u0767\7;\2\2\u0767\u0768\5\u01a0\u00d1"+ + "\2\u0768\u0769\7<\2\2\u0769\u0770\3\2\2\2\u076a\u0770\5\u0176\u00bc\2"+ + "\u076b\u0770\5\u017e\u00c0\2\u076c\u0770\5\u0184\u00c3\2\u076d\u0770\5"+ + "\u018a\u00c6\2\u076e\u0770\5\u0192\u00ca\2\u076f\u0752\3\2\2\2\u076f\u0753"+ + "\3\2\2\2\u076f\u075e\3\2\2\2\u076f\u0761\3\2\2\2\u076f\u0762\3\2\2\2\u076f"+ + "\u0766\3\2\2\2\u076f\u076a\3\2\2\2\u076f\u076b\3\2\2\2\u076f\u076c\3\2"+ + "\2\2\u076f\u076d\3\2\2\2\u076f\u076e\3\2\2\2\u0770\u0165\3\2\2\2\u0771"+ + "\u0772\3\2\2\2\u0772\u0167\3\2\2\2\u0773\u0790\5\2\2\2\u0774\u0779\58"+ + "\35\2\u0775\u0776\7?\2\2\u0776\u0778\7@\2\2\u0777\u0775\3\2\2\2\u0778"+ + "\u077b\3\2\2\2\u0779\u0777\3\2\2\2\u0779\u077a\3\2\2\2\u077a\u077c\3\2"+ + "\2\2\u077b\u0779\3\2\2\2\u077c\u077d\7C\2\2\u077d\u077e\7\13\2\2\u077e"+ + "\u0790\3\2\2\2\u077f\u0780\7\62\2\2\u0780\u0781\7C\2\2\u0781\u0790\7\13"+ + "\2\2\u0782\u0790\7-\2\2\u0783\u0784\58\35\2\u0784\u0785\7C\2\2\u0785\u0786"+ + "\7-\2\2\u0786\u0790\3\2\2\2\u0787\u0788\7;\2\2\u0788\u0789\5\u01a0\u00d1"+ + "\2\u0789\u078a\7<\2\2\u078a\u0790\3\2\2\2\u078b\u0790\5\u0176\u00bc\2"+ + "\u078c\u0790\5\u017e\u00c0\2\u078d\u0790\5\u018a\u00c6\2\u078e\u0790\5"+ + "\u0192\u00ca\2\u078f\u0773\3\2\2\2\u078f\u0774\3\2\2\2\u078f\u077f\3\2"+ + "\2\2\u078f\u0782\3\2\2\2\u078f\u0783\3\2\2\2\u078f\u0787\3\2\2\2\u078f"+ + "\u078b\3\2\2\2\u078f\u078c\3\2\2\2\u078f\u078d\3\2\2\2\u078f\u078e\3\2"+ + "\2\2\u0790\u0169\3\2\2\2\u0791\u0797\5\u0178\u00bd\2\u0792\u0797\5\u0180"+ + "\u00c1\2\u0793\u0797\5\u0186\u00c4\2\u0794\u0797\5\u018c\u00c7\2\u0795"+ + "\u0797\5\u0194\u00cb\2\u0796\u0791\3\2\2\2\u0796\u0792\3\2\2\2\u0796\u0793"+ + "\3\2\2\2\u0796\u0794\3\2\2\2\u0796\u0795\3\2\2\2\u0797\u016b\3\2\2\2\u0798"+ + "\u0799\3\2\2\2\u0799\u016d\3\2\2\2\u079a\u079f\5\u0178\u00bd\2\u079b\u079f"+ + "\5\u0180\u00c1\2\u079c\u079f\5\u018c\u00c7\2\u079d\u079f\5\u0194\u00cb"+ + "\2\u079e\u079a\3\2\2\2\u079e\u079b\3\2\2\2\u079e\u079c\3\2\2\2\u079e\u079d"+ + "\3\2\2\2\u079f\u016f\3\2\2\2\u07a0\u07c9\5\2\2\2\u07a1\u07a6\58\35\2\u07a2"+ + "\u07a3\7?\2\2\u07a3\u07a5\7@\2\2\u07a4\u07a2\3\2\2\2\u07a5\u07a8\3\2\2"+ + "\2\u07a6\u07a4\3\2\2\2\u07a6\u07a7\3\2\2\2\u07a7\u07a9\3\2\2\2\u07a8\u07a6"+ + "\3\2\2\2\u07a9\u07aa\7C\2\2\u07aa\u07ab\7\13\2\2\u07ab\u07c9\3\2\2\2\u07ac"+ + "\u07b1\5x=\2\u07ad\u07ae\7?\2\2\u07ae\u07b0\7@\2\2\u07af\u07ad\3\2\2\2"+ + "\u07b0\u07b3\3\2\2\2\u07b1\u07af\3\2\2\2\u07b1\u07b2\3\2\2\2\u07b2\u07b4"+ + "\3\2\2\2\u07b3\u07b1\3\2\2\2\u07b4\u07b5\7C\2\2\u07b5\u07b6\7\13\2\2\u07b6"+ + "\u07c9\3\2\2\2\u07b7\u07b8\7\62\2\2\u07b8\u07b9\7C\2\2\u07b9\u07c9\7\13"+ + "\2\2\u07ba\u07c9\7-\2\2\u07bb\u07bc\58\35\2\u07bc\u07bd\7C\2\2\u07bd\u07be"+ + "\7-\2\2\u07be\u07c9\3\2\2\2\u07bf\u07c0\7;\2\2\u07c0\u07c1\5\u01a0\u00d1"+ + "\2\u07c1\u07c2\7<\2\2\u07c2\u07c9\3\2\2\2\u07c3\u07c9\5\u017a\u00be\2"+ + "\u07c4\u07c9\5\u0182\u00c2\2\u07c5\u07c9\5\u0188\u00c5\2\u07c6\u07c9\5"+ + "\u018e\u00c8\2\u07c7\u07c9\5\u0196\u00cc\2\u07c8\u07a0\3\2\2\2\u07c8\u07a1"+ + "\3\2\2\2\u07c8\u07ac\3\2\2\2\u07c8\u07b7\3\2\2\2\u07c8\u07ba\3\2\2\2\u07c8"+ + "\u07bb\3\2\2\2\u07c8\u07bf\3\2\2\2\u07c8\u07c3\3\2\2\2\u07c8\u07c4\3\2"+ + "\2\2\u07c8\u07c5\3\2\2\2\u07c8\u07c6\3\2\2\2\u07c8\u07c7\3\2\2\2\u07c9"+ + "\u0171\3\2\2\2\u07ca\u07cb\3\2\2\2\u07cb\u0173\3\2\2\2\u07cc\u07f4\5\2"+ + "\2\2\u07cd\u07d2\58\35\2\u07ce\u07cf\7?\2\2\u07cf\u07d1\7@\2\2\u07d0\u07ce"+ + "\3\2\2\2\u07d1\u07d4\3\2\2\2\u07d2\u07d0\3\2\2\2\u07d2\u07d3\3\2\2\2\u07d3"+ + "\u07d5\3\2\2\2\u07d4\u07d2\3\2\2\2\u07d5\u07d6\7C\2\2\u07d6\u07d7\7\13"+ + "\2\2\u07d7\u07f4\3\2\2\2\u07d8\u07dd\5x=\2\u07d9\u07da\7?\2\2\u07da\u07dc"+ + "\7@\2\2\u07db\u07d9\3\2\2\2\u07dc\u07df\3\2\2\2\u07dd\u07db\3\2\2\2\u07dd"+ + "\u07de\3\2\2\2\u07de\u07e0\3\2\2\2\u07df\u07dd\3\2\2\2\u07e0\u07e1\7C"+ + "\2\2\u07e1\u07e2\7\13\2\2\u07e2\u07f4\3\2\2\2\u07e3\u07e4\7\62\2\2\u07e4"+ + "\u07e5\7C\2\2\u07e5\u07f4\7\13\2\2\u07e6\u07f4\7-\2\2\u07e7\u07e8\58\35"+ + "\2\u07e8\u07e9\7C\2\2\u07e9\u07ea\7-\2\2\u07ea\u07f4\3\2\2\2\u07eb\u07ec"+ + "\7;\2\2\u07ec\u07ed\5\u01a0\u00d1\2\u07ed\u07ee\7<\2\2\u07ee\u07f4\3\2"+ + "\2\2\u07ef\u07f4\5\u017a\u00be\2\u07f0\u07f4\5\u0182\u00c2\2\u07f1\u07f4"+ + "\5\u018e\u00c8\2\u07f2\u07f4\5\u0196\u00cc\2\u07f3\u07cc\3\2\2\2\u07f3"+ + "\u07cd\3\2\2\2\u07f3\u07d8\3\2\2\2\u07f3\u07e3\3\2\2\2\u07f3\u07e6\3\2"+ + "\2\2\u07f3\u07e7\3\2\2\2\u07f3\u07eb\3\2\2\2\u07f3\u07ef\3\2\2\2\u07f3"+ + "\u07f0\3\2\2\2\u07f3\u07f1\3\2\2\2\u07f3\u07f2\3\2\2\2\u07f4\u0175\3\2"+ + "\2\2\u07f5\u07f7\7!\2\2\u07f6\u07f8\5,\27\2\u07f7\u07f6\3\2\2\2\u07f7"+ + "\u07f8\3\2\2\2\u07f8\u07fc\3\2\2\2\u07f9\u07fb\5\u00e8u\2\u07fa\u07f9"+ + "\3\2\2\2\u07fb\u07fe\3\2\2\2\u07fc\u07fa\3\2\2\2\u07fc\u07fd\3\2\2\2\u07fd"+ + "\u07ff\3\2\2\2\u07fe\u07fc\3\2\2\2\u07ff\u080a\7h\2\2\u0800\u0804\7C\2"+ + "\2\u0801\u0803\5\u00e8u\2\u0802\u0801\3\2\2\2\u0803\u0806\3\2\2\2\u0804"+ + "\u0802\3\2\2\2\u0804\u0805\3\2\2\2\u0805\u0807\3\2\2\2\u0806\u0804\3\2"+ + "\2\2\u0807\u0809\7h\2\2\u0808\u0800\3\2\2\2\u0809\u080c\3\2\2\2\u080a"+ + "\u0808\3\2\2\2\u080a\u080b\3\2\2\2\u080b\u080e\3\2\2\2\u080c\u080a\3\2"+ + "\2\2\u080d\u080f\5\u017c\u00bf\2\u080e\u080d\3\2\2\2\u080e\u080f\3\2\2"+ + "\2\u080f\u0810\3\2\2\2\u0810\u0812\7;\2\2\u0811\u0813\5\u0190\u00c9\2"+ + "\u0812\u0811\3\2\2\2\u0812\u0813\3\2\2\2\u0813\u0814\3\2\2\2\u0814\u0816"+ + "\7<\2\2\u0815\u0817\5d\63\2\u0816\u0815\3\2\2\2\u0816\u0817\3\2\2\2\u0817"+ + "\u0849\3\2\2\2\u0818\u0819\5<\37\2\u0819\u081a\7C\2\2\u081a\u081c\7!\2"+ + "\2\u081b\u081d\5,\27\2\u081c\u081b\3\2\2\2\u081c\u081d\3\2\2\2\u081d\u0821"+ + "\3\2\2\2\u081e\u0820\5\u00e8u\2\u081f\u081e\3\2\2\2\u0820\u0823\3\2\2"+ + "\2\u0821\u081f\3\2\2\2\u0821\u0822\3\2\2\2\u0822\u0824\3\2\2\2\u0823\u0821"+ + "\3\2\2\2\u0824\u0826\7h\2\2\u0825\u0827\5\u017c\u00bf\2\u0826\u0825\3"+ + "\2\2\2\u0826\u0827\3\2\2\2\u0827\u0828\3\2\2\2\u0828\u082a\7;\2\2\u0829"+ + "\u082b\5\u0190\u00c9\2\u082a\u0829\3\2\2\2\u082a\u082b\3\2\2\2\u082b\u082c"+ + "\3\2\2\2\u082c\u082e\7<\2\2\u082d\u082f\5d\63\2\u082e\u082d\3\2\2\2\u082e"+ + "\u082f\3\2\2\2\u082f\u0849\3\2\2\2\u0830\u0831\5\u0162\u00b2\2\u0831\u0832"+ + "\7C\2\2\u0832\u0834\7!\2\2\u0833\u0835\5,\27\2\u0834\u0833\3\2\2\2\u0834"+ + "\u0835\3\2\2\2\u0835\u0839\3\2\2\2\u0836\u0838\5\u00e8u\2\u0837\u0836"+ + "\3\2\2\2\u0838\u083b\3\2\2\2\u0839\u0837\3\2\2\2\u0839\u083a\3\2\2\2\u083a"+ + "\u083c\3\2\2\2\u083b\u0839\3\2\2\2\u083c\u083e\7h\2\2\u083d\u083f\5\u017c"+ + "\u00bf\2\u083e\u083d\3\2\2\2\u083e\u083f\3\2\2\2\u083f\u0840\3\2\2\2\u0840"+ + "\u0842\7;\2\2\u0841\u0843\5\u0190\u00c9\2\u0842\u0841\3\2\2\2\u0842\u0843"+ + "\3\2\2\2\u0843\u0844\3\2\2\2\u0844\u0846\7<\2\2\u0845\u0847\5d\63\2\u0846"+ + "\u0845\3\2\2\2\u0846\u0847\3\2\2\2\u0847\u0849\3\2\2\2\u0848\u07f5\3\2"+ + "\2\2\u0848\u0818\3\2\2\2\u0848\u0830\3\2\2\2\u0849\u0177\3\2\2\2\u084a"+ + "\u084b\7C\2\2\u084b\u084d\7!\2\2\u084c\u084e\5,\27\2\u084d\u084c\3\2\2"+ + "\2\u084d\u084e\3\2\2\2\u084e\u0852\3\2\2\2\u084f\u0851\5\u00e8u\2\u0850"+ + "\u084f\3\2\2\2\u0851\u0854\3\2\2\2\u0852\u0850\3\2\2\2\u0852\u0853\3\2"+ + "\2\2\u0853\u0855\3\2\2\2\u0854\u0852\3\2\2\2\u0855\u0857\7h\2\2\u0856"+ + "\u0858\5\u017c\u00bf\2\u0857\u0856\3\2\2\2\u0857\u0858\3\2\2\2\u0858\u0859"+ + "\3\2\2\2\u0859\u085b\7;\2\2\u085a\u085c\5\u0190\u00c9\2\u085b\u085a\3"+ + "\2\2\2\u085b\u085c\3\2\2\2\u085c\u085d\3\2\2\2\u085d\u085f\7<\2\2\u085e"+ + "\u0860\5d\63\2\u085f\u085e\3\2\2\2\u085f\u0860\3\2\2\2\u0860\u0179\3\2"+ + "\2\2\u0861\u0863\7!\2\2\u0862\u0864\5,\27\2\u0863\u0862\3\2\2\2\u0863"+ + "\u0864\3\2\2\2\u0864\u0868\3\2\2\2\u0865\u0867\5\u00e8u\2\u0866\u0865"+ + "\3\2\2\2\u0867\u086a\3\2\2\2\u0868\u0866\3\2\2\2\u0868\u0869\3\2\2\2\u0869"+ + "\u086b\3\2\2\2\u086a\u0868\3\2\2\2\u086b\u0876\7h\2\2\u086c\u0870\7C\2"+ + "\2\u086d\u086f\5\u00e8u\2\u086e\u086d\3\2\2\2\u086f\u0872\3\2\2\2\u0870"+ + "\u086e\3\2\2\2\u0870\u0871\3\2\2\2\u0871\u0873\3\2\2\2\u0872\u0870\3\2"+ + "\2\2\u0873\u0875\7h\2\2\u0874\u086c\3\2\2\2\u0875\u0878\3\2\2\2\u0876"+ + "\u0874\3\2\2\2\u0876\u0877\3\2\2\2\u0877\u087a\3\2\2\2\u0878\u0876\3\2"+ + "\2\2\u0879\u087b\5\u017c\u00bf\2\u087a\u0879\3\2\2\2\u087a\u087b\3\2\2"+ + "\2\u087b\u087c\3\2\2\2\u087c\u087e\7;\2\2\u087d\u087f\5\u0190\u00c9\2"+ + "\u087e\u087d\3\2\2\2\u087e\u087f\3\2\2\2\u087f\u0880\3\2\2\2\u0880\u0882"+ + "\7<\2\2\u0881\u0883\5d\63\2\u0882\u0881\3\2\2\2\u0882\u0883\3\2\2\2\u0883"+ + "\u089d\3\2\2\2\u0884\u0885\5<\37\2\u0885\u0886\7C\2\2\u0886\u0888\7!\2"+ + "\2\u0887\u0889\5,\27\2\u0888\u0887\3\2\2\2\u0888\u0889\3\2\2\2\u0889\u088d"+ + "\3\2\2\2\u088a\u088c\5\u00e8u\2\u088b\u088a\3\2\2\2\u088c\u088f\3\2\2"+ + "\2\u088d\u088b\3\2\2\2\u088d\u088e\3\2\2\2\u088e\u0890\3\2\2\2\u088f\u088d"+ + "\3\2\2\2\u0890\u0892\7h\2\2\u0891\u0893\5\u017c\u00bf\2\u0892\u0891\3"+ + "\2\2\2\u0892\u0893\3\2\2\2\u0893\u0894\3\2\2\2\u0894\u0896\7;\2\2\u0895"+ + "\u0897\5\u0190\u00c9\2\u0896\u0895\3\2\2\2\u0896\u0897\3\2\2\2\u0897\u0898"+ + "\3\2\2\2\u0898\u089a\7<\2\2\u0899\u089b\5d\63\2\u089a\u0899\3\2\2\2\u089a"+ + "\u089b\3\2\2\2\u089b\u089d\3\2\2\2\u089c\u0861\3\2\2\2\u089c\u0884\3\2"+ + "\2\2\u089d\u017b\3\2\2\2\u089e\u08a2\5,\27\2\u089f\u08a0\7F\2\2\u08a0"+ + "\u08a2\7E\2\2\u08a1\u089e\3\2\2\2\u08a1\u089f\3\2\2\2\u08a2\u017d\3\2"+ + "\2\2\u08a3\u08a4\5\u0162\u00b2\2\u08a4\u08a5\7C\2\2\u08a5\u08a6\7h\2\2"+ + "\u08a6\u08b1\3\2\2\2\u08a7\u08a8\7*\2\2\u08a8\u08a9\7C\2\2\u08a9\u08b1"+ + "\7h\2\2\u08aa\u08ab\58\35\2\u08ab\u08ac\7C\2\2\u08ac\u08ad\7*\2\2\u08ad"+ + "\u08ae\7C\2\2\u08ae\u08af\7h\2\2\u08af\u08b1\3\2\2\2\u08b0\u08a3\3\2\2"+ + "\2\u08b0\u08a7\3\2\2\2\u08b0\u08aa\3\2\2\2\u08b1\u017f\3\2\2\2\u08b2\u08b3"+ + "\7C\2\2\u08b3\u08b4\7h\2\2\u08b4\u0181\3\2\2\2\u08b5\u08b6\7*\2\2\u08b6"+ + "\u08b7\7C\2\2\u08b7\u08bf\7h\2\2\u08b8\u08b9\58\35\2\u08b9\u08ba\7C\2"+ + "\2\u08ba\u08bb\7*\2\2\u08bb\u08bc\7C\2\2\u08bc\u08bd\7h\2\2\u08bd\u08bf"+ + "\3\2\2\2\u08be\u08b5\3\2\2\2\u08be\u08b8\3\2\2\2\u08bf\u0183\3\2\2\2\u08c0"+ + "\u08c1\5<\37\2\u08c1\u08c2\7?\2\2\u08c2\u08c3\5\u01a0\u00d1\2\u08c3\u08c4"+ + "\7@\2\2\u08c4\u08cb\3\2\2\2\u08c5\u08c6\5\u0168\u00b5\2\u08c6\u08c7\7"+ + "?\2\2\u08c7\u08c8\5\u01a0\u00d1\2\u08c8\u08c9\7@\2\2\u08c9\u08cb\3\2\2"+ + "\2\u08ca\u08c0\3\2\2\2\u08ca\u08c5\3\2\2\2\u08cb\u08d3\3\2\2\2\u08cc\u08cd"+ + "\5\u0166\u00b4\2\u08cd\u08ce\7?\2\2\u08ce\u08cf\5\u01a0\u00d1\2\u08cf"+ + "\u08d0\7@\2\2\u08d0\u08d2\3\2\2\2\u08d1\u08cc\3\2\2\2\u08d2\u08d5\3\2"+ + "\2\2\u08d3\u08d1\3\2\2\2\u08d3\u08d4\3\2\2\2\u08d4\u0185\3\2\2\2\u08d5"+ + "\u08d3\3\2\2\2\u08d6\u08d7\5\u016e\u00b8\2\u08d7\u08d8\7?\2\2\u08d8\u08d9"+ + "\5\u01a0\u00d1\2\u08d9\u08da\7@\2\2\u08da\u08e2\3\2\2\2\u08db\u08dc\5"+ + "\u016c\u00b7\2\u08dc\u08dd\7?\2\2\u08dd\u08de\5\u01a0\u00d1\2\u08de\u08df"+ + "\7@\2\2\u08df\u08e1\3\2\2\2\u08e0\u08db\3\2\2\2\u08e1\u08e4\3\2\2\2\u08e2"+ + "\u08e0\3\2\2\2\u08e2\u08e3\3\2\2\2\u08e3\u0187\3\2\2\2\u08e4\u08e2\3\2"+ + "\2\2\u08e5\u08e6\5<\37\2\u08e6\u08e7\7?\2\2\u08e7\u08e8\5\u01a0\u00d1"+ + "\2\u08e8\u08e9\7@\2\2\u08e9\u08f0\3\2\2\2\u08ea\u08eb\5\u0174\u00bb\2"+ + "\u08eb\u08ec\7?\2\2\u08ec\u08ed\5\u01a0\u00d1\2\u08ed\u08ee\7@\2\2\u08ee"+ + "\u08f0\3\2\2\2\u08ef\u08e5\3\2\2\2\u08ef\u08ea\3\2\2\2\u08f0\u08f8\3\2"+ + "\2\2\u08f1\u08f2\5\u0172\u00ba\2\u08f2\u08f3\7?\2\2\u08f3\u08f4\5\u01a0"+ + "\u00d1\2\u08f4\u08f5\7@\2\2\u08f5\u08f7\3\2\2\2\u08f6\u08f1\3\2\2\2\u08f7"+ + "\u08fa\3\2\2\2\u08f8\u08f6\3\2\2\2\u08f8\u08f9\3\2\2\2\u08f9\u0189\3\2"+ + "\2\2\u08fa\u08f8\3\2\2\2\u08fb\u08fc\5> \2\u08fc\u08fe\7;\2\2\u08fd\u08ff"+ + "\5\u0190\u00c9\2\u08fe\u08fd\3\2\2\2\u08fe\u08ff\3\2\2\2\u08ff\u0900\3"+ + "\2\2\2\u0900\u0901\7<\2\2\u0901\u0940\3\2\2\2\u0902\u0903\58\35\2\u0903"+ + "\u0905\7C\2\2\u0904\u0906\5,\27\2\u0905\u0904\3\2\2\2\u0905\u0906\3\2"+ + "\2\2\u0906\u0907\3\2\2\2\u0907\u0908\7h\2\2\u0908\u090a\7;\2\2\u0909\u090b"+ + "\5\u0190\u00c9\2\u090a\u0909\3\2\2\2\u090a\u090b\3\2\2\2\u090b\u090c\3"+ + "\2\2\2\u090c\u090d\7<\2\2\u090d\u0940\3\2\2\2\u090e\u090f\5<\37\2\u090f"+ + "\u0911\7C\2\2\u0910\u0912\5,\27\2\u0911\u0910\3\2\2\2\u0911\u0912\3\2"+ + "\2\2\u0912\u0913\3\2\2\2\u0913\u0914\7h\2\2\u0914\u0916\7;\2\2\u0915\u0917"+ + "\5\u0190\u00c9\2\u0916\u0915\3\2\2\2\u0916\u0917\3\2\2\2\u0917\u0918\3"+ + "\2\2\2\u0918\u0919\7<\2\2\u0919\u0940\3\2\2\2\u091a\u091b\5\u0162\u00b2"+ + "\2\u091b\u091d\7C\2\2\u091c\u091e\5,\27\2\u091d\u091c\3\2\2\2\u091d\u091e"+ + "\3\2\2\2\u091e\u091f\3\2\2\2\u091f\u0920\7h\2\2\u0920\u0922\7;\2\2\u0921"+ + "\u0923\5\u0190\u00c9\2\u0922\u0921\3\2\2\2\u0922\u0923\3\2\2\2\u0923\u0924"+ + "\3\2\2\2\u0924\u0925\7<\2\2\u0925\u0940\3\2\2\2\u0926\u0927\7*\2\2\u0927"+ + "\u0929\7C\2\2\u0928\u092a\5,\27\2\u0929\u0928\3\2\2\2\u0929\u092a\3\2"+ + "\2\2\u092a\u092b\3\2\2\2\u092b\u092c\7h\2\2\u092c\u092e\7;\2\2\u092d\u092f"+ + "\5\u0190\u00c9\2\u092e\u092d\3\2\2\2\u092e\u092f\3\2\2\2\u092f\u0930\3"+ + "\2\2\2\u0930\u0940\7<\2\2\u0931\u0932\58\35\2\u0932\u0933\7C\2\2\u0933"+ + "\u0934\7*\2\2\u0934\u0936\7C\2\2\u0935\u0937\5,\27\2\u0936\u0935\3\2\2"+ + "\2\u0936\u0937\3\2\2\2\u0937\u0938\3\2\2\2\u0938\u0939\7h\2\2\u0939\u093b"+ + "\7;\2\2\u093a\u093c\5\u0190\u00c9\2\u093b\u093a\3\2\2\2\u093b\u093c\3"+ + "\2\2\2\u093c\u093d\3\2\2\2\u093d\u093e\7<\2\2\u093e\u0940\3\2\2\2\u093f"+ + "\u08fb\3\2\2\2\u093f\u0902\3\2\2\2\u093f\u090e\3\2\2\2\u093f\u091a\3\2"+ + "\2\2\u093f\u0926\3\2\2\2\u093f\u0931\3\2\2\2\u0940\u018b\3\2\2\2\u0941"+ + "\u0943\7C\2\2\u0942\u0944\5,\27\2\u0943\u0942\3\2\2\2\u0943\u0944\3\2"+ + "\2\2\u0944\u0945\3\2\2\2\u0945\u0946\7h\2\2\u0946\u0948\7;\2\2\u0947\u0949"+ + "\5\u0190\u00c9\2\u0948\u0947\3\2\2\2\u0948\u0949\3\2\2\2\u0949\u094a\3"+ + "\2\2\2\u094a\u094b\7<\2\2\u094b\u018d\3\2\2\2\u094c\u094d\5> \2\u094d"+ + "\u094f\7;\2\2\u094e\u0950\5\u0190\u00c9\2\u094f\u094e\3\2\2\2\u094f\u0950"+ + "\3\2\2\2\u0950\u0951\3\2\2\2\u0951\u0952\7<\2\2\u0952\u0985\3\2\2\2\u0953"+ + "\u0954\58\35\2\u0954\u0956\7C\2\2\u0955\u0957\5,\27\2\u0956\u0955\3\2"+ + "\2\2\u0956\u0957\3\2\2\2\u0957\u0958\3\2\2\2\u0958\u0959\7h\2\2\u0959"+ + "\u095b\7;\2\2\u095a\u095c\5\u0190\u00c9\2\u095b\u095a\3\2\2\2\u095b\u095c"+ + "\3\2\2\2\u095c\u095d\3\2\2\2\u095d\u095e\7<\2\2\u095e\u0985\3\2\2\2\u095f"+ + "\u0960\5<\37\2\u0960\u0962\7C\2\2\u0961\u0963\5,\27\2\u0962\u0961\3\2"+ + "\2\2\u0962\u0963\3\2\2\2\u0963\u0964\3\2\2\2\u0964\u0965\7h\2\2\u0965"+ + "\u0967\7;\2\2\u0966\u0968\5\u0190\u00c9\2\u0967\u0966\3\2\2\2\u0967\u0968"+ + "\3\2\2\2\u0968\u0969\3\2\2\2\u0969\u096a\7<\2\2\u096a\u0985\3\2\2\2\u096b"+ + "\u096c\7*"; + private static final String _serializedATNSegment1 = + "\2\2\u096c\u096e\7C\2\2\u096d\u096f\5,\27\2\u096e\u096d\3\2\2\2\u096e"+ + "\u096f\3\2\2\2\u096f\u0970\3\2\2\2\u0970\u0971\7h\2\2\u0971\u0973\7;\2"+ + "\2\u0972\u0974\5\u0190\u00c9\2\u0973\u0972\3\2\2\2\u0973\u0974\3\2\2\2"+ + "\u0974\u0975\3\2\2\2\u0975\u0985\7<\2\2\u0976\u0977\58\35\2\u0977\u0978"+ + "\7C\2\2\u0978\u0979\7*\2\2\u0979\u097b\7C\2\2\u097a\u097c\5,\27\2\u097b"+ + "\u097a\3\2\2\2\u097b\u097c\3\2\2\2\u097c\u097d\3\2\2\2\u097d\u097e\7h"+ + "\2\2\u097e\u0980\7;\2\2\u097f\u0981\5\u0190\u00c9\2\u0980\u097f\3\2\2"+ + "\2\u0980\u0981\3\2\2\2\u0981\u0982\3\2\2\2\u0982\u0983\7<\2\2\u0983\u0985"+ + "\3\2\2\2\u0984\u094c\3\2\2\2\u0984\u0953\3\2\2\2\u0984\u095f\3\2\2\2\u0984"+ + "\u096b\3\2\2\2\u0984\u0976\3\2\2\2\u0985\u018f\3\2\2\2\u0986\u098b\5\u01a0"+ + "\u00d1\2\u0987\u0988\7B\2\2\u0988\u098a\5\u01a0\u00d1\2\u0989\u0987\3"+ + "\2\2\2\u098a\u098d\3\2\2\2\u098b\u0989\3\2\2\2\u098b\u098c\3\2\2\2\u098c"+ + "\u0191\3\2\2\2\u098d\u098b\3\2\2\2\u098e\u098f\5<\37\2\u098f\u0991\7\\"+ + "\2\2\u0990\u0992\5,\27\2\u0991\u0990\3\2\2\2\u0991\u0992\3\2\2\2\u0992"+ + "\u0993\3\2\2\2\u0993\u0994\7h\2\2\u0994\u09be\3\2\2\2\u0995\u0996\5\16"+ + "\b\2\u0996\u0998\7\\\2\2\u0997\u0999\5,\27\2\u0998\u0997\3\2\2\2\u0998"+ + "\u0999\3\2\2\2\u0999\u099a\3\2\2\2\u099a\u099b\7h\2\2\u099b\u09be\3\2"+ + "\2\2\u099c\u099d\5\u0162\u00b2\2\u099d\u099f\7\\\2\2\u099e\u09a0\5,\27"+ + "\2\u099f\u099e\3\2\2\2\u099f\u09a0\3\2\2\2\u09a0\u09a1\3\2\2\2\u09a1\u09a2"+ + "\7h\2\2\u09a2\u09be\3\2\2\2\u09a3\u09a4\7*\2\2\u09a4\u09a6\7\\\2\2\u09a5"+ + "\u09a7\5,\27\2\u09a6\u09a5\3\2\2\2\u09a6\u09a7\3\2\2\2\u09a7\u09a8\3\2"+ + "\2\2\u09a8\u09be\7h\2\2\u09a9\u09aa\58\35\2\u09aa\u09ab\7C\2\2\u09ab\u09ac"+ + "\7*\2\2\u09ac\u09ae\7\\\2\2\u09ad\u09af\5,\27\2\u09ae\u09ad\3\2\2\2\u09ae"+ + "\u09af\3\2\2\2\u09af\u09b0\3\2\2\2\u09b0\u09b1\7h\2\2\u09b1\u09be\3\2"+ + "\2\2\u09b2\u09b3\5\22\n\2\u09b3\u09b5\7\\\2\2\u09b4\u09b6\5,\27\2\u09b5"+ + "\u09b4\3\2\2\2\u09b5\u09b6\3\2\2\2\u09b6\u09b7\3\2\2\2\u09b7\u09b8\7!"+ + "\2\2\u09b8\u09be\3\2\2\2\u09b9\u09ba\5 \21\2\u09ba\u09bb\7\\\2\2\u09bb"+ + "\u09bc\7!\2\2\u09bc\u09be\3\2\2\2\u09bd\u098e\3\2\2\2\u09bd\u0995\3\2"+ + "\2\2\u09bd\u099c\3\2\2\2\u09bd\u09a3\3\2\2\2\u09bd\u09a9\3\2\2\2\u09bd"+ + "\u09b2\3\2\2\2\u09bd\u09b9\3\2\2\2\u09be\u0193\3\2\2\2\u09bf\u09c1\7\\"+ + "\2\2\u09c0\u09c2\5,\27\2\u09c1\u09c0\3\2\2\2\u09c1\u09c2\3\2\2\2\u09c2"+ + "\u09c3\3\2\2\2\u09c3\u09c4\7h\2\2\u09c4\u0195\3\2\2\2\u09c5\u09c6\5<\37"+ + "\2\u09c6\u09c8\7\\\2\2\u09c7\u09c9\5,\27\2\u09c8\u09c7\3\2\2\2\u09c8\u09c9"+ + "\3\2\2\2\u09c9\u09ca\3\2\2\2\u09ca\u09cb\7h\2\2\u09cb\u09ee\3\2\2\2\u09cc"+ + "\u09cd\5\16\b\2\u09cd\u09cf\7\\\2\2\u09ce\u09d0\5,\27\2\u09cf\u09ce\3"+ + "\2\2\2\u09cf\u09d0\3\2\2\2\u09d0\u09d1\3\2\2\2\u09d1\u09d2\7h\2\2\u09d2"+ + "\u09ee\3\2\2\2\u09d3\u09d4\7*\2\2\u09d4\u09d6\7\\\2\2\u09d5\u09d7\5,\27"+ + "\2\u09d6\u09d5\3\2\2\2\u09d6\u09d7\3\2\2\2\u09d7\u09d8\3\2\2\2\u09d8\u09ee"+ + "\7h\2\2\u09d9\u09da\58\35\2\u09da\u09db\7C\2\2\u09db\u09dc\7*\2\2\u09dc"+ + "\u09de\7\\\2\2\u09dd\u09df\5,\27\2\u09de\u09dd\3\2\2\2\u09de\u09df\3\2"+ + "\2\2\u09df\u09e0\3\2\2\2\u09e0\u09e1\7h\2\2\u09e1\u09ee\3\2\2\2\u09e2"+ + "\u09e3\5\22\n\2\u09e3\u09e5\7\\\2\2\u09e4\u09e6\5,\27\2\u09e5\u09e4\3"+ + "\2\2\2\u09e5\u09e6\3\2\2\2\u09e6\u09e7\3\2\2\2\u09e7\u09e8\7!\2\2\u09e8"+ + "\u09ee\3\2\2\2\u09e9\u09ea\5 \21\2\u09ea\u09eb\7\\\2\2\u09eb\u09ec\7!"+ + "\2\2\u09ec\u09ee\3\2\2\2\u09ed\u09c5\3\2\2\2\u09ed\u09cc\3\2\2\2\u09ed"+ + "\u09d3\3\2\2\2\u09ed\u09d9\3\2\2\2\u09ed\u09e2\3\2\2\2\u09ed\u09e9\3\2"+ + "\2\2\u09ee\u0197\3\2\2\2\u09ef\u09f0\7!\2\2\u09f0\u09f1\5\6\4\2\u09f1"+ + "\u09f3\5\u019a\u00ce\2\u09f2\u09f4\5\"\22\2\u09f3\u09f2\3\2\2\2\u09f3"+ + "\u09f4\3\2\2\2\u09f4\u0a06\3\2\2\2\u09f5\u09f6\7!\2\2\u09f6\u09f7\5\20"+ + "\t\2\u09f7\u09f9\5\u019a\u00ce\2\u09f8\u09fa\5\"\22\2\u09f9\u09f8\3\2"+ + "\2\2\u09f9\u09fa\3\2\2\2\u09fa\u0a06\3\2\2\2\u09fb\u09fc\7!\2\2\u09fc"+ + "\u09fd\5\6\4\2\u09fd\u09fe\5\"\22\2\u09fe\u09ff\5\u00fa~\2\u09ff\u0a06"+ + "\3\2\2\2\u0a00\u0a01\7!\2\2\u0a01\u0a02\5\20\t\2\u0a02\u0a03\5\"\22\2"+ + "\u0a03\u0a04\5\u00fa~\2\u0a04\u0a06\3\2\2\2\u0a05\u09ef\3\2\2\2\u0a05"+ + "\u09f5\3\2\2\2\u0a05\u09fb\3\2\2\2\u0a05\u0a00\3\2\2\2\u0a06\u0199\3\2"+ + "\2\2\u0a07\u0a0b\5\u019c\u00cf\2\u0a08\u0a0a\5\u019c\u00cf\2\u0a09\u0a08"+ + "\3\2\2\2\u0a0a\u0a0d\3\2\2\2\u0a0b\u0a09\3\2\2\2\u0a0b\u0a0c\3\2\2\2\u0a0c"+ + "\u019b\3\2\2\2\u0a0d\u0a0b\3\2\2\2\u0a0e\u0a10\5\u00e8u\2\u0a0f\u0a0e"+ + "\3\2\2\2\u0a10\u0a13\3\2\2\2\u0a11\u0a0f\3\2\2\2\u0a11\u0a12\3\2\2\2\u0a12"+ + "\u0a14\3\2\2\2\u0a13\u0a11\3\2\2\2\u0a14\u0a15\7?\2\2\u0a15\u0a16\5\u01a0"+ + "\u00d1\2\u0a16\u0a17\7@\2\2\u0a17\u019d\3\2\2\2\u0a18\u0a19\5\u01a0\u00d1"+ + "\2\u0a19\u019f\3\2\2\2\u0a1a\u0a1d\5\u01a2\u00d2\2\u0a1b\u0a1d\5\u01aa"+ + "\u00d6\2\u0a1c\u0a1a\3\2\2\2\u0a1c\u0a1b\3\2\2\2\u0a1d\u01a1\3\2\2\2\u0a1e"+ + "\u0a1f\5\u01a4\u00d3\2\u0a1f\u0a20\7[\2\2\u0a20\u0a21\5\u01a8\u00d5\2"+ + "\u0a21\u01a3\3\2\2\2\u0a22\u0a2d\7h\2\2\u0a23\u0a25\7;\2\2\u0a24\u0a26"+ + "\5\u0098M\2\u0a25\u0a24\3\2\2\2\u0a25\u0a26\3\2\2\2\u0a26\u0a27\3\2\2"+ + "\2\u0a27\u0a2d\7<\2\2\u0a28\u0a29\7;\2\2\u0a29\u0a2a\5\u01a6\u00d4\2\u0a2a"+ + "\u0a2b\7<\2\2\u0a2b\u0a2d\3\2\2\2\u0a2c\u0a22\3\2\2\2\u0a2c\u0a23\3\2"+ + "\2\2\u0a2c\u0a28\3\2\2\2\u0a2d\u01a5\3\2\2\2\u0a2e\u0a33\7h\2\2\u0a2f"+ + "\u0a30\7B\2\2\u0a30\u0a32\7h\2\2\u0a31\u0a2f\3\2\2\2\u0a32\u0a35\3\2\2"+ + "\2\u0a33\u0a31\3\2\2\2\u0a33\u0a34\3\2\2\2\u0a34\u01a7\3\2\2\2\u0a35\u0a33"+ + "\3\2\2\2\u0a36\u0a39\5\u01a0\u00d1\2\u0a37\u0a39\5\u00fe\u0080\2\u0a38"+ + "\u0a36\3\2\2\2\u0a38\u0a37\3\2\2\2\u0a39\u01a9\3\2\2\2\u0a3a\u0a3d\5\u01b2"+ + "\u00da\2\u0a3b\u0a3d\5\u01ac\u00d7\2\u0a3c\u0a3a\3\2\2\2\u0a3c\u0a3b\3"+ + "\2\2\2\u0a3d\u01ab\3\2\2\2\u0a3e\u0a3f\5\u01ae\u00d8\2\u0a3f\u0a40\5\u01b0"+ + "\u00d9\2\u0a40\u0a41\5\u01a0\u00d1\2\u0a41\u01ad\3\2\2\2\u0a42\u0a46\5"+ + "<\37\2\u0a43\u0a46\5\u017e\u00c0\2\u0a44\u0a46\5\u0184\u00c3\2\u0a45\u0a42"+ + "\3\2\2\2\u0a45\u0a43\3\2\2\2\u0a45\u0a44\3\2\2\2\u0a46\u01af\3\2\2\2\u0a47"+ + "\u0a48\t\5\2\2\u0a48\u01b1\3\2\2\2\u0a49\u0a51\5\u01b4\u00db\2\u0a4a\u0a4b"+ + "\5\u01b4\u00db\2\u0a4b\u0a4c\7I\2\2\u0a4c\u0a4d\5\u01a0\u00d1\2\u0a4d"+ + "\u0a4e\7J\2\2\u0a4e\u0a4f\5\u01b2\u00da\2\u0a4f\u0a51\3\2\2\2\u0a50\u0a49"+ + "\3\2\2\2\u0a50\u0a4a\3\2\2\2\u0a51\u01b3\3\2\2\2\u0a52\u0a53\b\u00db\1"+ + "\2\u0a53\u0a54\5\u01b6\u00dc\2\u0a54\u0a5a\3\2\2\2\u0a55\u0a56\f\3\2\2"+ + "\u0a56\u0a57\7P\2\2\u0a57\u0a59\5\u01b6\u00dc\2\u0a58\u0a55\3\2\2\2\u0a59"+ + "\u0a5c\3\2\2\2\u0a5a\u0a58\3\2\2\2\u0a5a\u0a5b\3\2\2\2\u0a5b\u01b5\3\2"+ + "\2\2\u0a5c\u0a5a\3\2\2\2\u0a5d\u0a5e\b\u00dc\1\2\u0a5e\u0a5f\5\u01b8\u00dd"+ + "\2\u0a5f\u0a65\3\2\2\2\u0a60\u0a61\f\3\2\2\u0a61\u0a62\7O\2\2\u0a62\u0a64"+ + "\5\u01b8\u00dd\2\u0a63\u0a60\3\2\2\2\u0a64\u0a67\3\2\2\2\u0a65\u0a63\3"+ + "\2\2\2\u0a65\u0a66\3\2\2\2\u0a66\u01b7\3\2\2\2\u0a67\u0a65\3\2\2\2\u0a68"+ + "\u0a69\b\u00dd\1\2\u0a69\u0a6a\5\u01ba\u00de\2\u0a6a\u0a70\3\2\2\2\u0a6b"+ + "\u0a6c\f\3\2\2\u0a6c\u0a6d\7X\2\2\u0a6d\u0a6f\5\u01ba\u00de\2\u0a6e\u0a6b"+ + "\3\2\2\2\u0a6f\u0a72\3\2\2\2\u0a70\u0a6e\3\2\2\2\u0a70\u0a71\3\2\2\2\u0a71"+ + "\u01b9\3\2\2\2\u0a72\u0a70\3\2\2\2\u0a73\u0a74\b\u00de\1\2\u0a74\u0a75"+ + "\5\u01bc\u00df\2\u0a75\u0a7b\3\2\2\2\u0a76\u0a77\f\3\2\2\u0a77\u0a78\7"+ + "Y\2\2\u0a78\u0a7a\5\u01bc\u00df\2\u0a79\u0a76\3\2\2\2\u0a7a\u0a7d\3\2"+ + "\2\2\u0a7b\u0a79\3\2\2\2\u0a7b\u0a7c\3\2\2\2\u0a7c\u01bb\3\2\2\2\u0a7d"+ + "\u0a7b\3\2\2\2\u0a7e\u0a7f\b\u00df\1\2\u0a7f\u0a80\5\u01be\u00e0\2\u0a80"+ + "\u0a86\3\2\2\2\u0a81\u0a82\f\3\2\2\u0a82\u0a83\7W\2\2\u0a83\u0a85\5\u01be"+ + "\u00e0\2\u0a84\u0a81\3\2\2\2\u0a85\u0a88\3\2\2\2\u0a86\u0a84\3\2\2\2\u0a86"+ + "\u0a87\3\2\2\2\u0a87\u01bd\3\2\2\2\u0a88\u0a86\3\2\2\2\u0a89\u0a8a\b\u00e0"+ + "\1\2\u0a8a\u0a8b\5\u01c0\u00e1\2\u0a8b\u0a94\3\2\2\2\u0a8c\u0a8d\f\4\2"+ + "\2\u0a8d\u0a8e\7K\2\2\u0a8e\u0a93\5\u01c0\u00e1\2\u0a8f\u0a90\f\3\2\2"+ + "\u0a90\u0a91\7N\2\2\u0a91\u0a93\5\u01c0\u00e1\2\u0a92\u0a8c\3\2\2\2\u0a92"+ + "\u0a8f\3\2\2\2\u0a93\u0a96\3\2\2\2\u0a94\u0a92\3\2\2\2\u0a94\u0a95\3\2"+ + "\2\2\u0a95\u01bf\3\2\2\2\u0a96\u0a94\3\2\2\2\u0a97\u0a98\b\u00e1\1\2\u0a98"+ + "\u0a99\5\u01c2\u00e2\2\u0a99\u0aab\3\2\2\2\u0a9a\u0a9b\f\7\2\2\u0a9b\u0a9c"+ + "\7F\2\2\u0a9c\u0aaa\5\u01c2\u00e2\2\u0a9d\u0a9e\f\6\2\2\u0a9e\u0a9f\7"+ + "E\2\2\u0a9f\u0aaa\5\u01c2\u00e2\2\u0aa0\u0aa1\f\5\2\2\u0aa1\u0aa2\7L\2"+ + "\2\u0aa2\u0aaa\5\u01c2\u00e2\2\u0aa3\u0aa4\f\4\2\2\u0aa4\u0aa5\7M\2\2"+ + "\u0aa5\u0aaa\5\u01c2\u00e2\2\u0aa6\u0aa7\f\3\2\2\u0aa7\u0aa8\7\34\2\2"+ + "\u0aa8\u0aaa\5\16\b\2\u0aa9\u0a9a\3\2\2\2\u0aa9\u0a9d\3\2\2\2\u0aa9\u0aa0"+ + "\3\2\2\2\u0aa9\u0aa3\3\2\2\2\u0aa9\u0aa6\3\2\2\2\u0aaa\u0aad\3\2\2\2\u0aab"+ + "\u0aa9\3\2\2\2\u0aab\u0aac\3\2\2\2\u0aac\u01c1\3\2\2\2\u0aad\u0aab\3\2"+ + "\2\2\u0aae\u0aaf\b\u00e2\1\2\u0aaf\u0ab0\5\u01c4\u00e3\2\u0ab0\u0ac0\3"+ + "\2\2\2\u0ab1\u0ab2\f\5\2\2\u0ab2\u0ab3\7F\2\2\u0ab3\u0ab4\7F\2\2\u0ab4"+ + "\u0abf\5\u01c4\u00e3\2\u0ab5\u0ab6\f\4\2\2\u0ab6\u0ab7\7E\2\2\u0ab7\u0ab8"+ + "\7E\2\2\u0ab8\u0abf\5\u01c4\u00e3\2\u0ab9\u0aba\f\3\2\2\u0aba\u0abb\7"+ + "E\2\2\u0abb\u0abc\7E\2\2\u0abc\u0abd\7E\2\2\u0abd\u0abf\5\u01c4\u00e3"+ + "\2\u0abe\u0ab1\3\2\2\2\u0abe\u0ab5\3\2\2\2\u0abe\u0ab9\3\2\2\2\u0abf\u0ac2"+ + "\3\2\2\2\u0ac0\u0abe\3\2\2\2\u0ac0\u0ac1\3\2\2\2\u0ac1\u01c3\3\2\2\2\u0ac2"+ + "\u0ac0\3\2\2\2\u0ac3\u0ac4\b\u00e3\1\2\u0ac4\u0ac5\5\u01c6\u00e4\2\u0ac5"+ + "\u0ace\3\2\2\2\u0ac6\u0ac7\f\4\2\2\u0ac7\u0ac8\7S\2\2\u0ac8\u0acd\5\u01c6"+ + "\u00e4\2\u0ac9\u0aca\f\3\2\2\u0aca\u0acb\7T\2\2\u0acb\u0acd\5\u01c6\u00e4"+ + "\2\u0acc\u0ac6\3\2\2\2\u0acc\u0ac9\3\2\2\2\u0acd\u0ad0\3\2\2\2\u0ace\u0acc"+ + "\3\2\2\2\u0ace\u0acf\3\2\2\2\u0acf\u01c5\3\2\2\2\u0ad0\u0ace\3\2\2\2\u0ad1"+ + "\u0ad2\b\u00e4\1\2\u0ad2\u0ad3\5\u01c8\u00e5\2\u0ad3\u0adf\3\2\2\2\u0ad4"+ + "\u0ad5\f\5\2\2\u0ad5\u0ad6\7U\2\2\u0ad6\u0ade\5\u01c8\u00e5\2\u0ad7\u0ad8"+ + "\f\4\2\2\u0ad8\u0ad9\7V\2\2\u0ad9\u0ade\5\u01c8\u00e5\2\u0ada\u0adb\f"+ + "\3\2\2\u0adb\u0adc\7Z\2\2\u0adc\u0ade\5\u01c8\u00e5\2\u0add\u0ad4\3\2"+ + "\2\2\u0add\u0ad7\3\2\2\2\u0add\u0ada\3\2\2\2\u0ade\u0ae1\3\2\2\2\u0adf"+ + "\u0add\3\2\2\2\u0adf\u0ae0\3\2\2\2\u0ae0\u01c7\3\2\2\2\u0ae1\u0adf\3\2"+ + "\2\2\u0ae2\u0aea\5\u01ca\u00e6\2\u0ae3\u0aea\5\u01cc\u00e7\2\u0ae4\u0ae5"+ + "\7S\2\2\u0ae5\u0aea\5\u01c8\u00e5\2\u0ae6\u0ae7\7T\2\2\u0ae7\u0aea\5\u01c8"+ + "\u00e5\2\u0ae8\u0aea\5\u01ce\u00e8\2\u0ae9\u0ae2\3\2\2\2\u0ae9\u0ae3\3"+ + "\2\2\2\u0ae9\u0ae4\3\2\2\2\u0ae9\u0ae6\3\2\2\2\u0ae9\u0ae8\3\2\2\2\u0aea"+ + "\u01c9\3\2\2\2\u0aeb\u0aec\7Q\2\2\u0aec\u0aed\5\u01c8\u00e5\2\u0aed\u01cb"+ + "\3\2\2\2\u0aee\u0aef\7R\2\2\u0aef\u0af0\5\u01c8\u00e5\2\u0af0\u01cd\3"+ + "\2\2\2\u0af1\u0af8\5\u01d0\u00e9\2\u0af2\u0af3\7H\2\2\u0af3\u0af8\5\u01c8"+ + "\u00e5\2\u0af4\u0af5\7G\2\2\u0af5\u0af8\5\u01c8\u00e5\2\u0af6\u0af8\5"+ + "\u01da\u00ee\2\u0af7\u0af1\3\2\2\2\u0af7\u0af2\3\2\2\2\u0af7\u0af4\3\2"+ + "\2\2\u0af7\u0af6\3\2\2\2\u0af8\u01cf\3\2\2\2\u0af9\u0afc\5\u0162\u00b2"+ + "\2\u0afa\u0afc\5<\37\2\u0afb\u0af9\3\2\2\2\u0afb\u0afa\3\2\2\2\u0afc\u0b01"+ + "\3\2\2\2\u0afd\u0b00\5\u01d4\u00eb\2\u0afe\u0b00\5\u01d8\u00ed\2\u0aff"+ + "\u0afd\3\2\2\2\u0aff\u0afe\3\2\2\2\u0b00\u0b03\3\2\2\2\u0b01\u0aff\3\2"+ + "\2\2\u0b01\u0b02\3\2\2\2\u0b02\u01d1\3\2\2\2\u0b03\u0b01\3\2\2\2\u0b04"+ + "\u0b05\5\u01d0\u00e9\2\u0b05\u0b06\7Q\2\2\u0b06\u01d3\3\2\2\2\u0b07\u0b08"+ + "\7Q\2\2\u0b08\u01d5\3\2\2\2\u0b09\u0b0a\5\u01d0\u00e9\2\u0b0a\u0b0b\7"+ + "R\2\2\u0b0b\u01d7\3\2\2\2\u0b0c\u0b0d\7R\2\2\u0b0d\u01d9\3\2\2\2\u0b0e"+ + "\u0b0f\7;\2\2\u0b0f\u0b10\5\6\4\2\u0b10\u0b11\7<\2\2\u0b11\u0b12\5\u01c8"+ + "\u00e5\2\u0b12\u0b2a\3\2\2\2\u0b13\u0b14\7;\2\2\u0b14\u0b18\5\16\b\2\u0b15"+ + "\u0b17\5*\26\2\u0b16\u0b15\3\2\2\2\u0b17\u0b1a\3\2\2\2\u0b18\u0b16\3\2"+ + "\2\2\u0b18\u0b19\3\2\2\2\u0b19\u0b1b\3\2\2\2\u0b1a\u0b18\3\2\2\2\u0b1b"+ + "\u0b1c\7<\2\2\u0b1c\u0b1d\5\u01ce\u00e8\2\u0b1d\u0b2a\3\2\2\2\u0b1e\u0b1f"+ + "\7;\2\2\u0b1f\u0b23\5\16\b\2\u0b20\u0b22\5*\26\2\u0b21\u0b20\3\2\2\2\u0b22"+ + "\u0b25\3\2\2\2\u0b23\u0b21\3\2\2\2\u0b23\u0b24\3\2\2\2\u0b24\u0b26\3\2"+ + "\2\2\u0b25\u0b23\3\2\2\2\u0b26\u0b27\7<\2\2\u0b27\u0b28\5\u01a2\u00d2"+ + "\2\u0b28\u0b2a\3\2\2\2\u0b29\u0b0e\3\2\2\2\u0b29\u0b13\3\2\2\2\u0b29\u0b1e"+ + "\3\2\2\2\u0b2a\u01db\3\2\2\2\u0146\u01e0\u01e5\u01ec\u01f0\u01f4\u01fd"+ + "\u0201\u0205\u0207\u020d\u0212\u0219\u021e\u0220\u0226\u022b\u0230\u0235"+ + "\u0240\u024e\u0253\u025b\u0262\u0268\u026d\u0278\u027b\u0289\u028e\u0293"+ + "\u0298\u029e\u02a8\u02b0\u02ba\u02c2\u02ce\u02d2\u02d7\u02dd\u02e5\u02ee"+ + "\u02f9\u0316\u031a\u031f\u0325\u0328\u032b\u0337\u0342\u0350\u0357\u0360"+ + "\u0367\u036c\u037b\u0382\u0388\u038c\u0390\u0394\u0398\u039d\u03a1\u03a5"+ + "\u03a7\u03ac\u03b3\u03b8\u03ba\u03c0\u03c5\u03c9\u03dc\u03e1\u03f1\u03f6"+ + "\u03fc\u0402\u0404\u0408\u040d\u0411\u0418\u041f\u0427\u042a\u042f\u0437"+ + "\u043c\u0443\u044a\u044f\u0455\u0461\u0466\u046a\u0474\u0479\u0481\u0484"+ + "\u0489\u0491\u0494\u0499\u049e\u04a3\u04a8\u04af\u04b4\u04bc\u04c1\u04c6"+ + "\u04cb\u04d1\u04d7\u04da\u04dd\u04e6\u04ec\u04f2\u04f5\u04f8\u0500\u0505"+ + "\u050a\u0510\u0513\u051e\u0527\u0531\u0536\u0541\u0546\u0552\u0557\u0563"+ + "\u056d\u0572\u057a\u057d\u0584\u058c\u0592\u059b\u05a5\u05a9\u05ac\u05b5"+ + "\u05c3\u05c6\u05cf\u05d4\u05dc\u05e2\u05ea\u05f6\u05fd\u060b\u0621\u0643"+ + "\u064f\u0655\u0661\u066e\u0688\u068c\u0691\u0695\u0699\u06a1\u06a5\u06a9"+ + "\u06b0\u06b9\u06c1\u06d0\u06dc\u06e2\u06e8\u06fd\u0702\u0708\u0714\u071f"+ + "\u0729\u072c\u0731\u073a\u0740\u074a\u074f\u0758\u076f\u0779\u078f\u0796"+ + "\u079e\u07a6\u07b1\u07c8\u07d2\u07dd\u07f3\u07f7\u07fc\u0804\u080a\u080e"+ + "\u0812\u0816\u081c\u0821\u0826\u082a\u082e\u0834\u0839\u083e\u0842\u0846"+ + "\u0848\u084d\u0852\u0857\u085b\u085f\u0863\u0868\u0870\u0876\u087a\u087e"+ + "\u0882\u0888\u088d\u0892\u0896\u089a\u089c\u08a1\u08b0\u08be\u08ca\u08d3"+ + "\u08e2\u08ef\u08f8\u08fe\u0905\u090a\u0911\u0916\u091d\u0922\u0929\u092e"+ + "\u0936\u093b\u093f\u0943\u0948\u094f\u0956\u095b\u0962\u0967\u096e\u0973"+ + "\u097b\u0980\u0984\u098b\u0991\u0998\u099f\u09a6\u09ae\u09b5\u09bd\u09c1"+ + "\u09c8\u09cf\u09d6\u09de\u09e5\u09ed\u09f3\u09f9\u0a05\u0a0b\u0a11\u0a1c"+ + "\u0a25\u0a2c\u0a33\u0a38\u0a3c\u0a45\u0a50\u0a5a\u0a65\u0a70\u0a7b\u0a86"+ + "\u0a92\u0a94\u0aa9\u0aab\u0abe\u0ac0\u0acc\u0ace\u0add\u0adf\u0ae9\u0af7"+ + "\u0afb\u0aff\u0b01\u0b18\u0b23\u0b29"; + public static final String _serializedATN = Utils.join( + new String[] { + _serializedATNSegment0, + _serializedATNSegment1 + }, + "" + ); + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/JavaClassName.java b/src/de/dhbwstuttgart/parser/JavaClassName.java deleted file mode 100644 index 666f5304..00000000 --- a/src/de/dhbwstuttgart/parser/JavaClassName.java +++ /dev/null @@ -1,132 +0,0 @@ -package de.dhbwstuttgart.parser; - -import de.dhbwstuttgart.typeinference.Menge; - -import de.dhbwstuttgart.syntaxtree.type.RefType; - -/** - * Stellt den Namen einer Java Klasse dar. - * Dieser kann auch den Packagenamen mit beinhalten: de.dhbwstuttgart.typeinference.Menge - * - * @author janulrich - * - */ -public class JavaClassName { - - private String name; - private PackageName packageName; - - public JavaClassName(String name){ - if(name == null)throw new NullPointerException(); - - String[] names = name.split("[.]"); - boolean match = true; - if(names.length == 1){ - //packageName = new PackageName(); - this.name = name; - }else { - name = names[names.length-1]; - Menge packageNames = new Menge(); - for(int i = 0; i names = new Menge(); - - public PackageName(Menge packageNames) { - names = packageNames; - } - - public PackageName() { - //Do nothing - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((names == null) ? 0 : names.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - PackageName other = (PackageName) obj; - if (names == null) { - if (other.names != null) - return false; - } else if (!names.equals(other.names)) - return false; - return true; - } - - @Override - public String toString() { - String ret = ""; - if(names == null)return ""; - for(String n : names)ret+=n+"."; - return ret; - } -} diff --git a/src/de/dhbwstuttgart/parser/JavaLexer.java b/src/de/dhbwstuttgart/parser/JavaLexer.java deleted file mode 100644 index 24224606..00000000 --- a/src/de/dhbwstuttgart/parser/JavaLexer.java +++ /dev/null @@ -1,3675 +0,0 @@ -/******************************************** - * file: JavaLexer.lex * - * * - * enth�lt die JLex-Spezifikation f�r die * - * Generierung des lexical analyzers * - * * - ********************************************/ -// user code: -package de.dhbwstuttgart.parser; -import de.dhbwstuttgart.logger.Section; - - -public class JavaLexer { - private final int YY_BUFFER_SIZE = 512; - private final int YY_F = -1; - private final int YY_NO_STATE = -1; - private final int YY_NOT_ACCEPT = 0; - private final int YY_START = 1; - private final int YY_END = 2; - private final int YY_NO_ANCHOR = 4; - private final int YY_BOL = 128; - private final int YY_EOF = 129; - - Token token; - private java.io.BufferedReader yy_reader; - private int yy_buffer_index; - private int yy_buffer_read; - private int yy_buffer_start; - private int yy_buffer_end; - private char yy_buffer[]; - private int yychar; - private int yyline; - private boolean yy_at_bol; - private int yy_lexical_state; - - public JavaLexer (java.io.Reader reader) { - this (); - if (null == reader) { - throw (new Error("Error: Bad input stream initializer.")); - } - yy_reader = new java.io.BufferedReader(reader); - } - - public JavaLexer (java.io.InputStream instream) { - this (); - if (null == instream) { - throw (new Error("Error: Bad input stream initializer.")); - } - yy_reader = new java.io.BufferedReader(new java.io.InputStreamReader(instream)); - } - - private JavaLexer () { - yy_buffer = new char[YY_BUFFER_SIZE]; - yy_buffer_read = 0; - yy_buffer_index = 0; - yy_buffer_start = 0; - yy_buffer_end = 0; - yychar = 0; - yyline = 0; - yy_at_bol = true; - yy_lexical_state = YYINITIAL; - } - - private boolean yy_eof_done = false; - private final int commentblock = 1; - private final int YYINITIAL = 0; - private final int commentsingleline = 2; - private final int yy_state_dtrans[] = { - 0, - 78, - 187 - }; - private void yybegin (int state) { - yy_lexical_state = state; - } - private int yy_advance () - throws java.io.IOException { - int next_read; - int i; - int j; - - if (yy_buffer_index < yy_buffer_read) { - return yy_buffer[yy_buffer_index++]; - } - - if (0 != yy_buffer_start) { - i = yy_buffer_start; - j = 0; - while (i < yy_buffer_read) { - yy_buffer[j] = yy_buffer[i]; - ++i; - ++j; - } - yy_buffer_end = yy_buffer_end - yy_buffer_start; - yy_buffer_start = 0; - yy_buffer_read = j; - yy_buffer_index = j; - next_read = yy_reader.read(yy_buffer, - yy_buffer_read, - yy_buffer.length - yy_buffer_read); - if (-1 == next_read) { - return YY_EOF; - } - yy_buffer_read = yy_buffer_read + next_read; - } - - while (yy_buffer_index >= yy_buffer_read) { - if (yy_buffer_index >= yy_buffer.length) { - yy_buffer = yy_double(yy_buffer); - } - next_read = yy_reader.read(yy_buffer, - yy_buffer_read, - yy_buffer.length - yy_buffer_read); - if (-1 == next_read) { - return YY_EOF; - } - yy_buffer_read = yy_buffer_read + next_read; - } - return yy_buffer[yy_buffer_index++]; - } - private void yy_move_end () { - if (yy_buffer_end > yy_buffer_start && - '\n' == yy_buffer[yy_buffer_end-1]) - yy_buffer_end--; - if (yy_buffer_end > yy_buffer_start && - '\r' == yy_buffer[yy_buffer_end-1]) - yy_buffer_end--; - } - private boolean yy_last_was_cr=false; - private void yy_mark_start () { - int i; - for (i = yy_buffer_start; i < yy_buffer_index; ++i) { - if ('\n' == yy_buffer[i] && !yy_last_was_cr) { - ++yyline; - } - if ('\r' == yy_buffer[i]) { - ++yyline; - yy_last_was_cr=true; - } else yy_last_was_cr=false; - } - yychar = yychar - + yy_buffer_index - yy_buffer_start; - yy_buffer_start = yy_buffer_index; - } - private void yy_mark_end () { - yy_buffer_end = yy_buffer_index; - } - private void yy_to_mark () { - yy_buffer_index = yy_buffer_end; - yy_at_bol = (yy_buffer_end > yy_buffer_start) && - ('\r' == yy_buffer[yy_buffer_end-1] || - '\n' == yy_buffer[yy_buffer_end-1] || - 2028/*LS*/ == yy_buffer[yy_buffer_end-1] || - 2029/*PS*/ == yy_buffer[yy_buffer_end-1]); - } - private java.lang.String yytext () { - return (new java.lang.String(yy_buffer, - yy_buffer_start, - yy_buffer_end - yy_buffer_start)); - } - private int yylength () { - return yy_buffer_end - yy_buffer_start; - } - private char[] yy_double (char buf[]) { - int i; - char newbuf[]; - newbuf = new char[2*buf.length]; - for (i = 0; i < buf.length; ++i) { - newbuf[i] = buf[i]; - } - return newbuf; - } - private final int YY_E_INTERNAL = 0; - private final int YY_E_MATCH = 1; - private java.lang.String yy_error_string[] = { - "Error: Internal error.\n", - "Error: Unmatched input.\n" - }; - private void yy_error (int code,boolean fatal) { - java.lang.System.out.print(yy_error_string[code]); - java.lang.System.out.flush(); - if (fatal) { - throw new Error("Fatal Error.\n"); - } - } - private int[][] unpackFromString(int size1, int size2, String st) { - int colonIndex = -1; - String lengthString; - int sequenceLength = 0; - int sequenceInteger = 0; - - int commaIndex; - String workString; - - int res[][] = new int[size1][size2]; - for (int i= 0; i < size1; i++) { - for (int j= 0; j < size2; j++) { - if (sequenceLength != 0) { - res[i][j] = sequenceInteger; - sequenceLength--; - continue; - } - commaIndex = st.indexOf(','); - workString = (commaIndex==-1) ? st : - st.substring(0, commaIndex); - st = st.substring(commaIndex+1); - colonIndex = workString.indexOf(':'); - if (colonIndex == -1) { - res[i][j]=Integer.parseInt(workString); - continue; - } - lengthString = - workString.substring(colonIndex+1); - sequenceLength=Integer.parseInt(lengthString); - workString=workString.substring(0,colonIndex); - sequenceInteger=Integer.parseInt(workString); - res[i][j] = sequenceInteger; - sequenceLength--; - } - } - return res; - } - private int yy_acpt[] = { - /* 0 */ YY_NOT_ACCEPT, - /* 1 */ YY_NO_ANCHOR, - /* 2 */ YY_NO_ANCHOR, - /* 3 */ YY_NO_ANCHOR, - /* 4 */ YY_NO_ANCHOR, - /* 5 */ YY_NO_ANCHOR, - /* 6 */ YY_NO_ANCHOR, - /* 7 */ YY_NO_ANCHOR, - /* 8 */ YY_NO_ANCHOR, - /* 9 */ YY_NO_ANCHOR, - /* 10 */ YY_NO_ANCHOR, - /* 11 */ YY_NO_ANCHOR, - /* 12 */ YY_NO_ANCHOR, - /* 13 */ YY_NO_ANCHOR, - /* 14 */ YY_NO_ANCHOR, - /* 15 */ YY_NO_ANCHOR, - /* 16 */ YY_NO_ANCHOR, - /* 17 */ YY_NO_ANCHOR, - /* 18 */ YY_NO_ANCHOR, - /* 19 */ YY_NO_ANCHOR, - /* 20 */ YY_NO_ANCHOR, - /* 21 */ YY_NO_ANCHOR, - /* 22 */ YY_NO_ANCHOR, - /* 23 */ YY_NO_ANCHOR, - /* 24 */ YY_NO_ANCHOR, - /* 25 */ YY_NO_ANCHOR, - /* 26 */ YY_NO_ANCHOR, - /* 27 */ YY_NO_ANCHOR, - /* 28 */ YY_NO_ANCHOR, - /* 29 */ YY_NO_ANCHOR, - /* 30 */ YY_NO_ANCHOR, - /* 31 */ YY_NO_ANCHOR, - /* 32 */ YY_NO_ANCHOR, - /* 33 */ YY_NO_ANCHOR, - /* 34 */ YY_NO_ANCHOR, - /* 35 */ YY_NO_ANCHOR, - /* 36 */ YY_NO_ANCHOR, - /* 37 */ YY_NO_ANCHOR, - /* 38 */ YY_NO_ANCHOR, - /* 39 */ YY_NO_ANCHOR, - /* 40 */ YY_NO_ANCHOR, - /* 41 */ YY_NO_ANCHOR, - /* 42 */ YY_NO_ANCHOR, - /* 43 */ YY_NO_ANCHOR, - /* 44 */ YY_NO_ANCHOR, - /* 45 */ YY_NO_ANCHOR, - /* 46 */ YY_NO_ANCHOR, - /* 47 */ YY_NO_ANCHOR, - /* 48 */ YY_NO_ANCHOR, - /* 49 */ YY_NO_ANCHOR, - /* 50 */ YY_NO_ANCHOR, - /* 51 */ YY_NO_ANCHOR, - /* 52 */ YY_NO_ANCHOR, - /* 53 */ YY_NO_ANCHOR, - /* 54 */ YY_NO_ANCHOR, - /* 55 */ YY_NO_ANCHOR, - /* 56 */ YY_NO_ANCHOR, - /* 57 */ YY_NO_ANCHOR, - /* 58 */ YY_NO_ANCHOR, - /* 59 */ YY_NO_ANCHOR, - /* 60 */ YY_NO_ANCHOR, - /* 61 */ YY_NO_ANCHOR, - /* 62 */ YY_NO_ANCHOR, - /* 63 */ YY_NO_ANCHOR, - /* 64 */ YY_NO_ANCHOR, - /* 65 */ YY_NO_ANCHOR, - /* 66 */ YY_NO_ANCHOR, - /* 67 */ YY_NO_ANCHOR, - /* 68 */ YY_NO_ANCHOR, - /* 69 */ YY_NO_ANCHOR, - /* 70 */ YY_NO_ANCHOR, - /* 71 */ YY_NO_ANCHOR, - /* 72 */ YY_NO_ANCHOR, - /* 73 */ YY_NO_ANCHOR, - /* 74 */ YY_NO_ANCHOR, - /* 75 */ YY_NO_ANCHOR, - /* 76 */ YY_NO_ANCHOR, - /* 77 */ YY_NO_ANCHOR, - /* 78 */ YY_NO_ANCHOR, - /* 79 */ YY_NO_ANCHOR, - /* 80 */ YY_NO_ANCHOR, - /* 81 */ YY_NO_ANCHOR, - /* 82 */ YY_NO_ANCHOR, - /* 83 */ YY_NOT_ACCEPT, - /* 84 */ YY_NO_ANCHOR, - /* 85 */ YY_NO_ANCHOR, - /* 86 */ YY_NO_ANCHOR, - /* 87 */ YY_NO_ANCHOR, - /* 88 */ YY_NO_ANCHOR, - /* 89 */ YY_NO_ANCHOR, - /* 90 */ YY_NO_ANCHOR, - /* 91 */ YY_NO_ANCHOR, - /* 92 */ YY_NO_ANCHOR, - /* 93 */ YY_NO_ANCHOR, - /* 94 */ YY_NO_ANCHOR, - /* 95 */ YY_NO_ANCHOR, - /* 96 */ YY_NO_ANCHOR, - /* 97 */ YY_NO_ANCHOR, - /* 98 */ YY_NO_ANCHOR, - /* 99 */ YY_NO_ANCHOR, - /* 100 */ YY_NO_ANCHOR, - /* 101 */ YY_NO_ANCHOR, - /* 102 */ YY_NO_ANCHOR, - /* 103 */ YY_NO_ANCHOR, - /* 104 */ YY_NO_ANCHOR, - /* 105 */ YY_NO_ANCHOR, - /* 106 */ YY_NO_ANCHOR, - /* 107 */ YY_NO_ANCHOR, - /* 108 */ YY_NO_ANCHOR, - /* 109 */ YY_NO_ANCHOR, - /* 110 */ YY_NO_ANCHOR, - /* 111 */ YY_NO_ANCHOR, - /* 112 */ YY_NO_ANCHOR, - /* 113 */ YY_NO_ANCHOR, - /* 114 */ YY_NO_ANCHOR, - /* 115 */ YY_NO_ANCHOR, - /* 116 */ YY_NO_ANCHOR, - /* 117 */ YY_NO_ANCHOR, - /* 118 */ YY_NO_ANCHOR, - /* 119 */ YY_NO_ANCHOR, - /* 120 */ YY_NO_ANCHOR, - /* 121 */ YY_NO_ANCHOR, - /* 122 */ YY_NO_ANCHOR, - /* 123 */ YY_NO_ANCHOR, - /* 124 */ YY_NO_ANCHOR, - /* 125 */ YY_NO_ANCHOR, - /* 126 */ YY_NO_ANCHOR, - /* 127 */ YY_NO_ANCHOR, - /* 128 */ YY_NO_ANCHOR, - /* 129 */ YY_NO_ANCHOR, - /* 130 */ YY_NO_ANCHOR, - /* 131 */ YY_NOT_ACCEPT, - /* 132 */ YY_NO_ANCHOR, - /* 133 */ YY_NO_ANCHOR, - /* 134 */ YY_NO_ANCHOR, - /* 135 */ YY_NO_ANCHOR, - /* 136 */ YY_NO_ANCHOR, - /* 137 */ YY_NO_ANCHOR, - /* 138 */ YY_NO_ANCHOR, - /* 139 */ YY_NO_ANCHOR, - /* 140 */ YY_NO_ANCHOR, - /* 141 */ YY_NO_ANCHOR, - /* 142 */ YY_NO_ANCHOR, - /* 143 */ YY_NO_ANCHOR, - /* 144 */ YY_NO_ANCHOR, - /* 145 */ YY_NO_ANCHOR, - /* 146 */ YY_NO_ANCHOR, - /* 147 */ YY_NO_ANCHOR, - /* 148 */ YY_NO_ANCHOR, - /* 149 */ YY_NO_ANCHOR, - /* 150 */ YY_NO_ANCHOR, - /* 151 */ YY_NO_ANCHOR, - /* 152 */ YY_NO_ANCHOR, - /* 153 */ YY_NO_ANCHOR, - /* 154 */ YY_NO_ANCHOR, - /* 155 */ YY_NO_ANCHOR, - /* 156 */ YY_NOT_ACCEPT, - /* 157 */ YY_NO_ANCHOR, - /* 158 */ YY_NO_ANCHOR, - /* 159 */ YY_NO_ANCHOR, - /* 160 */ YY_NO_ANCHOR, - /* 161 */ YY_NO_ANCHOR, - /* 162 */ YY_NOT_ACCEPT, - /* 163 */ YY_NO_ANCHOR, - /* 164 */ YY_NO_ANCHOR, - /* 165 */ YY_NO_ANCHOR, - /* 166 */ YY_NO_ANCHOR, - /* 167 */ YY_NO_ANCHOR, - /* 168 */ YY_NOT_ACCEPT, - /* 169 */ YY_NO_ANCHOR, - /* 170 */ YY_NO_ANCHOR, - /* 171 */ YY_NO_ANCHOR, - /* 172 */ YY_NO_ANCHOR, - /* 173 */ YY_NOT_ACCEPT, - /* 174 */ YY_NO_ANCHOR, - /* 175 */ YY_NO_ANCHOR, - /* 176 */ YY_NO_ANCHOR, - /* 177 */ YY_NO_ANCHOR, - /* 178 */ YY_NOT_ACCEPT, - /* 179 */ YY_NO_ANCHOR, - /* 180 */ YY_NO_ANCHOR, - /* 181 */ YY_NO_ANCHOR, - /* 182 */ YY_NO_ANCHOR, - /* 183 */ YY_NOT_ACCEPT, - /* 184 */ YY_NO_ANCHOR, - /* 185 */ YY_NO_ANCHOR, - /* 186 */ YY_NO_ANCHOR, - /* 187 */ YY_NOT_ACCEPT, - /* 188 */ YY_NO_ANCHOR, - /* 189 */ YY_NO_ANCHOR, - /* 190 */ YY_NO_ANCHOR, - /* 191 */ YY_NO_ANCHOR, - /* 192 */ YY_NO_ANCHOR, - /* 193 */ YY_NO_ANCHOR, - /* 194 */ YY_NO_ANCHOR, - /* 195 */ YY_NO_ANCHOR, - /* 196 */ YY_NO_ANCHOR, - /* 197 */ YY_NO_ANCHOR, - /* 198 */ YY_NO_ANCHOR, - /* 199 */ YY_NO_ANCHOR, - /* 200 */ YY_NO_ANCHOR, - /* 201 */ YY_NO_ANCHOR, - /* 202 */ YY_NO_ANCHOR, - /* 203 */ YY_NO_ANCHOR, - /* 204 */ YY_NO_ANCHOR, - /* 205 */ YY_NO_ANCHOR, - /* 206 */ YY_NO_ANCHOR, - /* 207 */ YY_NO_ANCHOR, - /* 208 */ YY_NO_ANCHOR, - /* 209 */ YY_NO_ANCHOR, - /* 210 */ YY_NO_ANCHOR, - /* 211 */ YY_NO_ANCHOR, - /* 212 */ YY_NO_ANCHOR, - /* 213 */ YY_NO_ANCHOR, - /* 214 */ YY_NO_ANCHOR, - /* 215 */ YY_NO_ANCHOR, - /* 216 */ YY_NO_ANCHOR, - /* 217 */ YY_NO_ANCHOR, - /* 218 */ YY_NO_ANCHOR, - /* 219 */ YY_NO_ANCHOR, - /* 220 */ YY_NO_ANCHOR, - /* 221 */ YY_NO_ANCHOR, - /* 222 */ YY_NO_ANCHOR, - /* 223 */ YY_NO_ANCHOR, - /* 224 */ YY_NO_ANCHOR, - /* 225 */ YY_NO_ANCHOR, - /* 226 */ YY_NO_ANCHOR, - /* 227 */ YY_NO_ANCHOR, - /* 228 */ YY_NO_ANCHOR, - /* 229 */ YY_NO_ANCHOR, - /* 230 */ YY_NO_ANCHOR, - /* 231 */ YY_NO_ANCHOR, - /* 232 */ YY_NO_ANCHOR, - /* 233 */ YY_NO_ANCHOR, - /* 234 */ YY_NO_ANCHOR, - /* 235 */ YY_NO_ANCHOR, - /* 236 */ YY_NO_ANCHOR, - /* 237 */ YY_NO_ANCHOR, - /* 238 */ YY_NO_ANCHOR, - /* 239 */ YY_NO_ANCHOR, - /* 240 */ YY_NO_ANCHOR, - /* 241 */ YY_NO_ANCHOR, - /* 242 */ YY_NO_ANCHOR, - /* 243 */ YY_NO_ANCHOR, - /* 244 */ YY_NO_ANCHOR, - /* 245 */ YY_NO_ANCHOR, - /* 246 */ YY_NO_ANCHOR, - /* 247 */ YY_NO_ANCHOR, - /* 248 */ YY_NO_ANCHOR, - /* 249 */ YY_NO_ANCHOR, - /* 250 */ YY_NO_ANCHOR, - /* 251 */ YY_NO_ANCHOR, - /* 252 */ YY_NO_ANCHOR, - /* 253 */ YY_NO_ANCHOR, - /* 254 */ YY_NO_ANCHOR, - /* 255 */ YY_NO_ANCHOR, - /* 256 */ YY_NO_ANCHOR, - /* 257 */ YY_NO_ANCHOR, - /* 258 */ YY_NO_ANCHOR, - /* 259 */ YY_NO_ANCHOR, - /* 260 */ YY_NO_ANCHOR, - /* 261 */ YY_NO_ANCHOR, - /* 262 */ YY_NO_ANCHOR, - /* 263 */ YY_NO_ANCHOR, - /* 264 */ YY_NO_ANCHOR, - /* 265 */ YY_NO_ANCHOR, - /* 266 */ YY_NO_ANCHOR, - /* 267 */ YY_NO_ANCHOR, - /* 268 */ YY_NO_ANCHOR, - /* 269 */ YY_NO_ANCHOR, - /* 270 */ YY_NO_ANCHOR, - /* 271 */ YY_NO_ANCHOR, - /* 272 */ YY_NO_ANCHOR, - /* 273 */ YY_NO_ANCHOR, - /* 274 */ YY_NO_ANCHOR, - /* 275 */ YY_NO_ANCHOR, - /* 276 */ YY_NO_ANCHOR, - /* 277 */ YY_NO_ANCHOR, - /* 278 */ YY_NO_ANCHOR, - /* 279 */ YY_NO_ANCHOR, - /* 280 */ YY_NO_ANCHOR, - /* 281 */ YY_NO_ANCHOR, - /* 282 */ YY_NO_ANCHOR, - /* 283 */ YY_NO_ANCHOR, - /* 284 */ YY_NO_ANCHOR, - /* 285 */ YY_NO_ANCHOR, - /* 286 */ YY_NO_ANCHOR, - /* 287 */ YY_NO_ANCHOR, - /* 288 */ YY_NO_ANCHOR, - /* 289 */ YY_NO_ANCHOR, - /* 290 */ YY_NO_ANCHOR, - /* 291 */ YY_NO_ANCHOR, - /* 292 */ YY_NO_ANCHOR, - /* 293 */ YY_NO_ANCHOR, - /* 294 */ YY_NO_ANCHOR, - /* 295 */ YY_NO_ANCHOR, - /* 296 */ YY_NO_ANCHOR, - /* 297 */ YY_NO_ANCHOR, - /* 298 */ YY_NO_ANCHOR, - /* 299 */ YY_NO_ANCHOR, - /* 300 */ YY_NO_ANCHOR, - /* 301 */ YY_NO_ANCHOR, - /* 302 */ YY_NO_ANCHOR, - /* 303 */ YY_NO_ANCHOR, - /* 304 */ YY_NO_ANCHOR, - /* 305 */ YY_NO_ANCHOR, - /* 306 */ YY_NO_ANCHOR, - /* 307 */ YY_NO_ANCHOR, - /* 308 */ YY_NO_ANCHOR, - /* 309 */ YY_NO_ANCHOR, - /* 310 */ YY_NO_ANCHOR, - /* 311 */ YY_NO_ANCHOR, - /* 312 */ YY_NO_ANCHOR, - /* 313 */ YY_NO_ANCHOR, - /* 314 */ YY_NO_ANCHOR, - /* 315 */ YY_NO_ANCHOR, - /* 316 */ YY_NO_ANCHOR, - /* 317 */ YY_NO_ANCHOR, - /* 318 */ YY_NO_ANCHOR, - /* 319 */ YY_NO_ANCHOR, - /* 320 */ YY_NO_ANCHOR, - /* 321 */ YY_NO_ANCHOR, - /* 322 */ YY_NO_ANCHOR, - /* 323 */ YY_NO_ANCHOR, - /* 324 */ YY_NO_ANCHOR, - /* 325 */ YY_NO_ANCHOR, - /* 326 */ YY_NO_ANCHOR, - /* 327 */ YY_NO_ANCHOR, - /* 328 */ YY_NO_ANCHOR, - /* 329 */ YY_NO_ANCHOR, - /* 330 */ YY_NO_ANCHOR, - /* 331 */ YY_NO_ANCHOR, - /* 332 */ YY_NO_ANCHOR, - /* 333 */ YY_NO_ANCHOR, - /* 334 */ YY_NO_ANCHOR, - /* 335 */ YY_NO_ANCHOR, - /* 336 */ YY_NO_ANCHOR, - /* 337 */ YY_NO_ANCHOR, - /* 338 */ YY_NO_ANCHOR, - /* 339 */ YY_NO_ANCHOR, - /* 340 */ YY_NO_ANCHOR, - /* 341 */ YY_NO_ANCHOR, - /* 342 */ YY_NO_ANCHOR, - /* 343 */ YY_NO_ANCHOR, - /* 344 */ YY_NO_ANCHOR, - /* 345 */ YY_NO_ANCHOR, - /* 346 */ YY_NO_ANCHOR, - /* 347 */ YY_NO_ANCHOR, - /* 348 */ YY_NO_ANCHOR, - /* 349 */ YY_NO_ANCHOR, - /* 350 */ YY_NO_ANCHOR, - /* 351 */ YY_NO_ANCHOR, - /* 352 */ YY_NO_ANCHOR, - /* 353 */ YY_NO_ANCHOR, - /* 354 */ YY_NO_ANCHOR, - /* 355 */ YY_NO_ANCHOR, - /* 356 */ YY_NO_ANCHOR, - /* 357 */ YY_NO_ANCHOR, - /* 358 */ YY_NO_ANCHOR, - /* 359 */ YY_NO_ANCHOR, - /* 360 */ YY_NO_ANCHOR, - /* 361 */ YY_NO_ANCHOR, - /* 362 */ YY_NO_ANCHOR, - /* 363 */ YY_NO_ANCHOR, - /* 364 */ YY_NO_ANCHOR, - /* 365 */ YY_NO_ANCHOR, - /* 366 */ YY_NO_ANCHOR, - /* 367 */ YY_NO_ANCHOR, - /* 368 */ YY_NO_ANCHOR, - /* 369 */ YY_NO_ANCHOR, - /* 370 */ YY_NO_ANCHOR, - /* 371 */ YY_NO_ANCHOR, - /* 372 */ YY_NO_ANCHOR, - /* 373 */ YY_NO_ANCHOR, - /* 374 */ YY_NO_ANCHOR, - /* 375 */ YY_NO_ANCHOR, - /* 376 */ YY_NO_ANCHOR, - /* 377 */ YY_NO_ANCHOR, - /* 378 */ YY_NO_ANCHOR, - /* 379 */ YY_NO_ANCHOR, - /* 380 */ YY_NO_ANCHOR, - /* 381 */ YY_NO_ANCHOR, - /* 382 */ YY_NO_ANCHOR, - /* 383 */ YY_NO_ANCHOR, - /* 384 */ YY_NO_ANCHOR, - /* 385 */ YY_NO_ANCHOR, - /* 386 */ YY_NO_ANCHOR, - /* 387 */ YY_NO_ANCHOR, - /* 388 */ YY_NO_ANCHOR, - /* 389 */ YY_NO_ANCHOR, - /* 390 */ YY_NO_ANCHOR, - /* 391 */ YY_NO_ANCHOR, - /* 392 */ YY_NO_ANCHOR, - /* 393 */ YY_NO_ANCHOR, - /* 394 */ YY_NO_ANCHOR, - /* 395 */ YY_NO_ANCHOR, - /* 396 */ YY_NO_ANCHOR, - /* 397 */ YY_NO_ANCHOR, - /* 398 */ YY_NO_ANCHOR, - /* 399 */ YY_NO_ANCHOR, - /* 400 */ YY_NO_ANCHOR, - /* 401 */ YY_NO_ANCHOR, - /* 402 */ YY_NO_ANCHOR, - /* 403 */ YY_NO_ANCHOR, - /* 404 */ YY_NO_ANCHOR, - /* 405 */ YY_NO_ANCHOR, - /* 406 */ YY_NO_ANCHOR, - /* 407 */ YY_NO_ANCHOR, - /* 408 */ YY_NO_ANCHOR, - /* 409 */ YY_NO_ANCHOR, - /* 410 */ YY_NO_ANCHOR, - /* 411 */ YY_NO_ANCHOR, - /* 412 */ YY_NO_ANCHOR, - /* 413 */ YY_NO_ANCHOR, - /* 414 */ YY_NO_ANCHOR, - /* 415 */ YY_NO_ANCHOR, - /* 416 */ YY_NO_ANCHOR, - /* 417 */ YY_NO_ANCHOR, - /* 418 */ YY_NO_ANCHOR, - /* 419 */ YY_NO_ANCHOR, - /* 420 */ YY_NO_ANCHOR, - /* 421 */ YY_NO_ANCHOR, - /* 422 */ YY_NO_ANCHOR, - /* 423 */ YY_NO_ANCHOR, - /* 424 */ YY_NO_ANCHOR, - /* 425 */ YY_NO_ANCHOR, - /* 426 */ YY_NO_ANCHOR, - /* 427 */ YY_NO_ANCHOR, - /* 428 */ YY_NO_ANCHOR, - /* 429 */ YY_NO_ANCHOR, - /* 430 */ YY_NO_ANCHOR, - /* 431 */ YY_NO_ANCHOR, - /* 432 */ YY_NO_ANCHOR, - /* 433 */ YY_NO_ANCHOR, - /* 434 */ YY_NO_ANCHOR, - /* 435 */ YY_NO_ANCHOR, - /* 436 */ YY_NO_ANCHOR, - /* 437 */ YY_NO_ANCHOR, - /* 438 */ YY_NO_ANCHOR, - /* 439 */ YY_NO_ANCHOR, - /* 440 */ YY_NO_ANCHOR, - /* 441 */ YY_NO_ANCHOR, - /* 442 */ YY_NO_ANCHOR, - /* 443 */ YY_NO_ANCHOR, - /* 444 */ YY_NO_ANCHOR, - /* 445 */ YY_NO_ANCHOR, - /* 446 */ YY_NO_ANCHOR, - /* 447 */ YY_NO_ANCHOR, - /* 448 */ YY_NO_ANCHOR, - /* 449 */ YY_NO_ANCHOR, - /* 450 */ YY_NO_ANCHOR, - /* 451 */ YY_NO_ANCHOR, - /* 452 */ YY_NO_ANCHOR, - /* 453 */ YY_NO_ANCHOR, - /* 454 */ YY_NO_ANCHOR, - /* 455 */ YY_NO_ANCHOR, - /* 456 */ YY_NO_ANCHOR, - /* 457 */ YY_NO_ANCHOR, - /* 458 */ YY_NO_ANCHOR, - /* 459 */ YY_NO_ANCHOR, - /* 460 */ YY_NO_ANCHOR, - /* 461 */ YY_NO_ANCHOR, - /* 462 */ YY_NO_ANCHOR, - /* 463 */ YY_NO_ANCHOR, - /* 464 */ YY_NO_ANCHOR, - /* 465 */ YY_NO_ANCHOR, - /* 466 */ YY_NO_ANCHOR, - /* 467 */ YY_NO_ANCHOR, - /* 468 */ YY_NO_ANCHOR, - /* 469 */ YY_NO_ANCHOR, - /* 470 */ YY_NO_ANCHOR, - /* 471 */ YY_NO_ANCHOR, - /* 472 */ YY_NO_ANCHOR, - /* 473 */ YY_NO_ANCHOR, - /* 474 */ YY_NO_ANCHOR, - /* 475 */ YY_NO_ANCHOR, - /* 476 */ YY_NO_ANCHOR, - /* 477 */ YY_NO_ANCHOR, - /* 478 */ YY_NO_ANCHOR, - /* 479 */ YY_NO_ANCHOR, - /* 480 */ YY_NO_ANCHOR, - /* 481 */ YY_NO_ANCHOR, - /* 482 */ YY_NO_ANCHOR, - /* 483 */ YY_NO_ANCHOR, - /* 484 */ YY_NO_ANCHOR, - /* 485 */ YY_NO_ANCHOR, - /* 486 */ YY_NO_ANCHOR, - /* 487 */ YY_NO_ANCHOR, - /* 488 */ YY_NO_ANCHOR, - /* 489 */ YY_NO_ANCHOR, - /* 490 */ YY_NO_ANCHOR, - /* 491 */ YY_NO_ANCHOR, - /* 492 */ YY_NO_ANCHOR, - /* 493 */ YY_NO_ANCHOR, - /* 494 */ YY_NO_ANCHOR, - /* 495 */ YY_NO_ANCHOR, - /* 496 */ YY_NO_ANCHOR, - /* 497 */ YY_NO_ANCHOR, - /* 498 */ YY_NO_ANCHOR, - /* 499 */ YY_NO_ANCHOR, - /* 500 */ YY_NO_ANCHOR, - /* 501 */ YY_NO_ANCHOR, - /* 502 */ YY_NO_ANCHOR, - /* 503 */ YY_NO_ANCHOR, - /* 504 */ YY_NO_ANCHOR, - /* 505 */ YY_NO_ANCHOR, - /* 506 */ YY_NO_ANCHOR, - /* 507 */ YY_NO_ANCHOR, - /* 508 */ YY_NO_ANCHOR, - /* 509 */ YY_NO_ANCHOR, - /* 510 */ YY_NO_ANCHOR, - /* 511 */ YY_NO_ANCHOR, - /* 512 */ YY_NO_ANCHOR, - /* 513 */ YY_NO_ANCHOR, - /* 514 */ YY_NO_ANCHOR, - /* 515 */ YY_NO_ANCHOR, - /* 516 */ YY_NO_ANCHOR, - /* 517 */ YY_NO_ANCHOR, - /* 518 */ YY_NO_ANCHOR, - /* 519 */ YY_NO_ANCHOR, - /* 520 */ YY_NO_ANCHOR, - /* 521 */ YY_NO_ANCHOR, - /* 522 */ YY_NO_ANCHOR, - /* 523 */ YY_NO_ANCHOR, - /* 524 */ YY_NO_ANCHOR, - /* 525 */ YY_NO_ANCHOR, - /* 526 */ YY_NO_ANCHOR, - /* 527 */ YY_NO_ANCHOR, - /* 528 */ YY_NO_ANCHOR, - /* 529 */ YY_NO_ANCHOR, - /* 530 */ YY_NO_ANCHOR, - /* 531 */ YY_NO_ANCHOR, - /* 532 */ YY_NO_ANCHOR, - /* 533 */ YY_NO_ANCHOR, - /* 534 */ YY_NO_ANCHOR, - /* 535 */ YY_NO_ANCHOR, - /* 536 */ YY_NO_ANCHOR, - /* 537 */ YY_NO_ANCHOR, - /* 538 */ YY_NO_ANCHOR, - /* 539 */ YY_NO_ANCHOR, - /* 540 */ YY_NO_ANCHOR, - /* 541 */ YY_NO_ANCHOR, - /* 542 */ YY_NO_ANCHOR, - /* 543 */ YY_NO_ANCHOR, - /* 544 */ YY_NO_ANCHOR, - /* 545 */ YY_NO_ANCHOR, - /* 546 */ YY_NO_ANCHOR, - /* 547 */ YY_NO_ANCHOR, - /* 548 */ YY_NO_ANCHOR - }; - private int yy_cmap[] = unpackFromString(1,130, -"28:8,58,29,57,28:2,27,28:18,40,50,39,38,41,55,52,37,43:2,25,53,43,54,36,24," + -"31,35:7,30:2,45,43,48,47,49,45,38,34:6,41:5,32,41:11,33,41:2,44,26,44,56,42" + -",28,1,2,6,15,9,16,22,12,13,41,11,8,19,10,7,20,41,5,3,4,14,23,21,17,18,41,44" + -",51,44,46,28,0:2")[0]; - - private int yy_rmap[] = unpackFromString(1,549, -"0,1,2,3,4,5,6,1:2,7:2,8,1:4,9,1:16,7:2,10,7,1,11,1,7:7,12,13,7:2,14,7:2,15," + -"7,1:2,16,7:6,1,7:12,17,18,1,19,20,21,22,23,1,24,25,26:2,27,28,26:2,29,26,1," + -"26:7,30,26:2,31,26:19,32,33,34,35,36,37,1,38,39:2,28,39:9,40,39:5,41,42,43," + -"44,45,46,47,48,49,50,51,52,53,28,54,55,56,57,58,59,60,61,62,63,64,65,66,67," + -"68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92," + -"93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,11" + -"3,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,1" + -"32,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150," + -"151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169" + -",170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,18" + -"8,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,2" + -"07,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225," + -"226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244" + -",245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,26" + -"3,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,2" + -"82,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300," + -"301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319" + -",320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,33" + -"8,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,3" + -"57,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375," + -"376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,39," + -"394,395,39,396,397,398,399,400,401,26,402,403,404,405,406,407,408,409,410,4" + -"11,412,413,414,415,416,417,418,419,420,7,26,421,405,422,423,419,424,425,426" + -",427")[0]; - - private int yy_nxt[][] = unpackFromString(428,59, -"1,2,417,420,267,467,351,538:2,354,271,538:2,84,538,132,274,538:3,471,423,53" + -"8,357,3,85,83,4,-1,4,5,6,538:3,5,7,131,-1,156,4,538:2,7:2,8:2,88,135,159,16" + -"5,133,158,164,170,175,180,4:2,-1:60,538,507,538:21,-1:6,538:6,-1:5,538:2,-1" + -":40,11,12,-1:21,13,-1:38,4,-1,4,-1:10,4,-1:16,4:2,-1:16,15,-1:13,5:2,86,-1:" + -"2,5,16,-1:39,168,-1:13,87,134,168,-1,87,-1:24,538:23,-1:6,538:6,-1:5,538:2," + -"-1:64,178,183,-1:25,15,-1:13,16:2,-1:3,16,-1:24,538:8,496,538:14,-1:6,538:6" + -",-1:5,538:2,-1:17,38:2,-1:3,38,-1:2,38,-1:5,38:2,-1:13,38:2,97,-1,38:2,-1:7" + -"0,56,-1:58,57,-1,58,-1:10,538:2,61,538:20,-1:6,538:6,-1:5,538:2,-1:17,538:7" + -",246,538:15,-1:6,538:6,-1:5,538:2,-1:63,65,-1:11,1,128,419,422,269,469,353," + -"539:2,356,273,539:2,154,539,160,276,539:3,473,425,539,359,166,79,171,539:3," + -"541,543,539:3,541,539,176,539,181,539:7,544:4,545,546,547,548,544:2,539:2,-" + -"1:24,80,-1:22,14,-1:12,508,472,508,538,508:19,167:2,-1:2,167:2,508:6,167:5," + -"508:2,167:14,-1:29,82,-1,82,-1:10,4,-1:16,82:2,-1,162:26,-1,162:29,-1,162,-" + -"1,538:9,169,538:5,9,538:2,435,538:4,-1:6,538:6,-1:5,538:2,-1:63,14,-1:42,87" + -",134,-1:2,87,-1:70,18,-1:12,539:24,-1,539:33,-1,539:24,-1,539:22,531,532,53" + -"9:9,-1,167:3,-1,167:21,-1:2,167:29,-1:3,539:8,498,539:15,-1,539:33,-1,539:2" + -",112,539:21,-1,539:33,-1,539:7,253,539:16,-1,539:33,-1,539,509,539:22,-1,53" + -"9:33,-1,508:3,538,508:5,190,508:5,136,508:2,433,508:4,167:2,-1:2,167:2,508:" + -"6,167:5,508:2,167:14,-1:3,167:3,-1,167:21,-1,82,167,130,167:10,182,167:16,8" + -"2:2,-1,173:25,-1:4,173:7,-1,173,-1:2,173,-1,173,-1,173,-1:2,173:3,-1,173,-1" + -":2,173,-1:4,538:6,10,538,481,538:14,-1:6,538:6,-1:5,538:2,-1:63,22,-1:3,23," + -"-1:54,19,-1:12,508:3,538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-" + -"1:3,508:3,538,508:3,238,508:15,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1" + -":3,539:9,192,539:5,89,539:2,437,539:5,-1,539:33,-1,508:3,538,508:2,137,508," + -"485,508:14,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,156:25,-1:4,156:7" + -",-1,156,17,156:2,-1,156,-1,156,-1:2,156:3,-1,156,-1:2,156:2,-1:3,538:13,179" + -",538:3,33,538:5,-1:6,538:6,-1:5,538:2,-1:63,24,-1:4,25,-1:53,20,-1:12,539:6" + -",90,539,483,539:15,-1,539:33,-1,167:3,-1,167:19,138,92,-1:2,167:29,-1:59,37" + -",-1:2,538:20,34,538:2,-1:6,538:6,-1:5,538:2,-1:63,26,-1:5,27,-1:52,21,-1:12" + -",539:23,91,12,539:21,518,539:11,-1,38:2,-1:3,38,-1:2,38,-1:5,38:2,-1:13,38:" + -"2,-1:2,38:2,-1:24,538:2,515,35,538:19,-1:6,538:6,-1:5,538:2,-1:63,28,-1,29," + -"-1:4,30,-1:5,520:24,162,520,539,520:29,539,520,-1,167:3,173,167:21,-1:2,167" + -":29,-1:39,39,-1:22,538:4,36,538:18,-1:6,538:6,-1:5,538:2,-1:63,31,-1:12,526" + -":24,173,539:4,526:7,539,526,539:2,526,539,526,539,526,539:2,526:3,539,526,5" + -"39:2,526,539:3,-1,177:3,156,177:21,-1:2,167:2,177:7,167,177,167,177:2,167,1" + -"77,167,177,167:2,177:3,167,177,167:2,177:2,-1:50,47,-1:11,538:8,40,538:14,-" + -"1:6,538:6,-1:5,538:2,-1:63,32,-1:12,181:24,156,539:4,181:7,539,181,518,181:" + -"2,539,181,539,181,539:2,181:3,539,181,539:2,181:2,539:2,-1,167:3,-1,167:21," + -"-1,4,167,182,167:10,182,167:16,4:2,-1:49,48,-1:10,538:2,41,538:20,-1:6,538:" + -"6,-1:5,538:2,-1:17,539:13,527,539:3,93,539:6,-1,539:33,-1,508:3,538,508:16," + -"139,508:2,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:2,1,81,418,421,267,4" + -"24,352,508:2,355,268,508:2,129,508,155,272,508:3,468,427,508,358,161,167,83" + -",82,167,130,167:2,508:3,167:2,172,167,177,182,508:2,167:14,82:2,-1,538:8,42" + -",538:14,-1:6,538:6,-1:5,538:2,-1:17,539:20,94,539:3,-1,539:33,-1,508:2,491," + -"35,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:4,43,538:18,-1" + -":6,538:6,-1:5,538:2,-1:17,539:2,528,95,539:20,-1,539:33,-1,508:3,538,140,50" + -"8:18,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:8,44,538:14,-1:6,53" + -"8:6,-1:5,538:2,-1:17,539:4,96,539:19,-1,539:33,-1,508:3,538,508:4,141,508:1" + -"4,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:7,45,538:15,-1:6,538:6" + -",-1:5,538:2,-1:17,539:2,98,539:21,-1,539:33,-1,508:3,538,142,508:18,167:2,-" + -"1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:14,46,538:8,-1:6,538:6,-1:5,538" + -":2,-1:17,539:8,99,539:15,-1,539:33,-1,508:3,538,508:4,143,508:14,167:2,-1:2" + -",167:2,508:6,167:5,508:2,167:14,-1:3,538:10,49,538:12,-1:6,538:6,-1:5,538:2" + -",-1:17,539:4,100,539:19,-1,539:33,-1,508:3,538,508:10,144,508:8,167:2,-1:2," + -"167:2,508:6,167:5,508:2,167:14,-1:3,538:4,50,538:18,-1:6,538:6,-1:5,538:2,-" + -"1:17,539:8,101,539:15,-1,539:33,-1,508:3,538,508:6,145,508:12,167:2,-1:2,16" + -"7:2,508:6,167:5,508:2,167:14,-1:3,538:20,51,538:2,-1:6,538:6,-1:5,538:2,-1:" + -"17,539:14,102,539:9,-1,539:33,-1,508:3,538,146,508:18,167:2,-1:2,167:2,508:" + -"6,167:5,508:2,167:14,-1:3,538:11,52,538:11,-1:6,538:6,-1:5,538:2,-1:17,539:" + -"10,103,539:13,-1,539:33,-1,508:2,147,538,508:19,167:2,-1:2,167:2,508:6,167:" + -"5,508:2,167:14,-1:3,538:2,53,538:20,-1:6,538:6,-1:5,538:2,-1:17,539:4,104,5" + -"39:19,-1,539:33,-1,508:3,538,508:3,148,508:15,167:2,-1:2,167:2,508:6,167:5," + -"508:2,167:14,-1:3,538:7,54,538:15,-1:6,538:6,-1:5,538:2,-1:17,539:20,105,53" + -"9:3,-1,539:33,-1,508:3,538,508:4,149,508:14,167:2,-1:2,167:2,508:6,167:5,50" + -"8:2,167:14,-1:3,538:8,55,538:14,-1:6,538:6,-1:5,538:2,-1:17,539:11,106,539:" + -"12,-1,539:33,-1,508:3,63,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-" + -"1:3,538:5,59,538:17,-1:6,538:6,-1:5,538:2,-1:17,539:2,107,539:21,-1,539:33," + -"-1,508:3,250,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:11,6" + -"0,538:11,-1:6,538:6,-1:5,538:2,-1:17,539:7,108,539:16,-1,539:33,-1,508:3,53" + -"8,508,150,508:17,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:9,62,53" + -"8:13,-1:6,538:6,-1:5,538:2,-1:17,539:8,109,539:15,-1,539:33,-1,508:3,538,50" + -"8:5,151,508:13,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:3,63,538:" + -"19,-1:6,538:6,-1:5,538:2,-1:17,539:5,110,539:18,-1,539:33,-1,508:3,68,508:1" + -"9,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:5,64,538:17,-1:6,538:6" + -",-1:5,538:2,-1:17,539:11,111,539:12,-1,539:33,-1,508:3,538,508:13,152,508:5" + -",167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:9,66,538:13,-1:6,538:6," + -"-1:5,538:2,-1:17,539:9,113,539:14,-1,539:33,-1,508:3,538,508:4,153,508:14,1" + -"67:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:2,67,538:20,-1:6,538:6,-1" + -":5,538:2,-1:17,539:3,114,539:20,-1,539:33,-1,538:3,68,538:19,-1:6,538:6,-1:" + -"5,538:2,-1:17,539:5,115,539:18,-1,539:33,-1,538:17,69,538:5,-1:6,538:6,-1:5" + -",538:2,-1:17,539:9,116,539:14,-1,539:33,-1,538:8,70,538:14,-1:6,538:6,-1:5," + -"538:2,-1:17,539:2,117,539:21,-1,539:33,-1,538:8,71,538:14,-1:6,538:6,-1:5,5" + -"38:2,-1:17,539:3,118,539:20,-1,539:33,-1,538:3,72,538:19,-1:6,538:6,-1:5,53" + -"8:2,-1:17,539:17,119,539:6,-1,539:33,-1,538:8,73,538:14,-1:6,538:6,-1:5,538" + -":2,-1:17,539:8,120,539:15,-1,539:33,-1,538:8,74,538:14,-1:6,538:6,-1:5,538:" + -"2,-1:17,539:8,121,539:15,-1,539:33,-1,538:14,75,538:8,-1:6,538:6,-1:5,538:2" + -",-1:17,539:3,122,539:20,-1,539:33,-1,538:15,76,538:7,-1:6,538:6,-1:5,538:2," + -"-1:17,539:8,123,539:15,-1,539:33,-1,538:2,77,538:20,-1:6,538:6,-1:5,538:2,-" + -"1:17,539:8,124,539:15,-1,539:33,-1,539:14,125,539:9,-1,539:33,-1,539:15,126" + -",539:8,-1,539:33,-1,539:2,127,539:21,-1,539:33,-1,538:4,157,538:6,277,538:1" + -"1,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:4,186,508:4,482,508:9,167:2,-1:" + -"2,167:2,508:6,167:5,508:2,167:14,-1:3,539:4,185,539:6,279,539:12,-1,539:33," + -"-1,508:3,262,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,538:8,16" + -"3,538:4,289,538:9,-1:6,538:6,-1:5,538:2,-1:17,510,508:2,538,508:2,193,508:5" + -",376,508:10,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:8,189,539:4," + -"516,539:10,-1,539:33,-1,369,538:5,174,538:5,372,538:10,-1:6,538:6,-1:5,538:" + -"2,-1:17,508:2,196,304,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3" + -",540,539:5,195,539:5,371,539:11,-1,539:33,-1,538:4,301,538:7,184,538:10,-1:" + -"6,538:6,-1:5,538:2,-1:17,199,508:2,538,508:19,167:2,-1:2,167:2,508:6,167:5," + -"508:2,167:14,-1:3,539:4,300,539:7,198,539:11,-1,539:33,-1,538:2,188,304,538" + -":19,-1:6,538:6,-1:5,538:2,-1:17,508:2,202,538,508:19,167:2,-1:2,167:2,508:6" + -",167:5,508:2,167:14,-1:3,539:2,201,303,539:20,-1,539:33,-1,191,538:22,-1:6," + -"538:6,-1:5,538:2,-1:17,508:3,538,508:8,205,508:10,167:2,-1:2,167:2,508:6,16" + -"7:5,508:2,167:14,-1:3,204,539:23,-1,539:33,-1,538:2,194,538:20,-1:6,538:6,-" + -"1:5,538:2,-1:17,208,508:2,538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167" + -":14,-1:3,539:2,207,539:21,-1,539:33,-1,538:7,197,538:15,-1:6,538:6,-1:5,538" + -":2,-1:17,508:3,538,508:4,211,508:14,167:2,-1:2,167:2,508:6,167:5,508:2,167:" + -"14,-1:3,539:12,210,539:11,-1,539:33,-1,538:12,200,538:10,-1:6,538:6,-1:5,53" + -"8:2,-1:17,508:3,322,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,2" + -"13,539:23,-1,539:33,-1,203,538:22,-1:6,538:6,-1:5,538:2,-1:17,508:2,214,538" + -",508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:8,216,539:15,-1," + -"539:33,-1,538:8,206,538:14,-1:6,538:6,-1:5,538:2,-1:17,217,508:2,538,508:19" + -",167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:6,219,539:17,-1,539:33," + -"-1,538:6,209,538:16,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:3,220,508:15," + -"167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:5,222,539:18,-1,539:33,-" + -"1,538:5,212,538:17,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,223,508:18,167:2,-" + -"1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:2,225,539:21,-1,539:33,-1,538:2" + -",215,538:20,-1:6,538:6,-1:5,538:2,-1:17,226,508:2,538,508:19,167:2,-1:2,167" + -":2,508:6,167:5,508:2,167:14,-1:3,228,539:23,-1,539:33,-1,538:2,179,538:20,-" + -"1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:8,229,508:10,167:2,-1:2,167:2,508:" + -"6,167:5,508:2,167:14,-1:3,539:7,231,539:16,-1,539:33,-1,218,538:22,-1:6,538" + -":6,-1:5,538:2,-1:17,232,508:2,538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2" + -",167:14,-1:3,539:12,234,539:11,-1,539:33,-1,538:7,221,538:15,-1:6,538:6,-1:" + -"5,538:2,-1:17,508:3,538,508:3,235,508:15,167:2,-1:2,167:2,508:6,167:5,508:2" + -",167:14,-1:3,539:5,237,539:18,-1,539:33,-1,538:12,224,538:10,-1:6,538:6,-1:" + -"5,538:2,-1:17,508:3,538,508:17,241,508,167:2,-1:2,167:2,508:6,167:5,508:2,1" + -"67:14,-1:3,539:4,240,539:19,-1,539:33,-1,538:5,227,538:17,-1:6,538:6,-1:5,5" + -"38:2,-1:17,508:3,538,508:5,270,508:13,167:2,-1:2,167:2,508:6,167:5,508:2,16" + -"7:14,-1:3,539:4,243,539:19,-1,539:33,-1,538:4,230,538:18,-1:6,538:6,-1:5,53" + -"8:2,-1:17,539:12,245,539:11,-1,539:33,-1,538:4,233,538:18,-1:6,538:6,-1:5,5" + -"38:2,-1:17,247,539:23,-1,539:33,-1,538:12,236,538:10,-1:6,538:6,-1:5,538:2," + -"-1:17,539:14,249,539:9,-1,539:33,-1,239,538:22,-1:6,538:6,-1:5,538:2,-1:17," + -"539:7,251,539:16,-1,539:33,-1,538:14,242,538:8,-1:6,538:6,-1:5,538:2,-1:17," + -"539:21,255,539:2,-1,539:33,-1,538:7,244,538:15,-1:6,538:6,-1:5,538:2,-1:17," + -"539:3,257,539:20,-1,539:33,-1,538:21,248,538,-1:6,538:6,-1:5,538:2,-1:17,53" + -"9:5,259,539:18,-1,539:33,-1,538:3,250,538:19,-1:6,538:6,-1:5,538:2,-1:17,53" + -"9:13,261,539:10,-1,539:33,-1,538:5,252,538:17,-1:6,538:6,-1:5,538:2,-1:17,5" + -"39:5,263,539:18,-1,539:33,-1,538:13,254,538:9,-1:6,538:6,-1:5,538:2,-1:17,5" + -"39:8,264,539:15,-1,539:33,-1,538:5,256,538:17,-1:6,538:6,-1:5,538:2,-1:17,5" + -"39:6,265,539:17,-1,539:33,-1,538:8,258,538:14,-1:6,538:6,-1:5,538:2,-1:17,5" + -"39:3,266,539:20,-1,539:33,-1,538:6,260,538:16,-1:6,538:6,-1:5,538:2,-1:17,5" + -"38:3,262,538:19,-1:6,538:6,-1:5,538:2,-1:17,280,538:5,512,366,538:3,283,538" + -":11,-1:6,538:6,-1:5,538:2,-1:17,275,508:2,538,508:2,479,373,508:3,278,508:1" + -"1,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,282,539:5,513,368,539:3,28" + -"5,539:12,-1,539:33,-1,538:7,286,538:8,478,538:6,-1:6,538:6,-1:5,538:2,-1:17" + -",508:3,538,508:3,281,508:8,430,508:6,167:2,-1:2,167:2,508:6,167:5,508:2,167" + -":14,-1:3,539:7,288,539:8,480,539:7,-1,539:33,-1,538:6,292,538:16,-1:6,538:6" + -",-1:5,538:2,-1:17,508:3,538,508:2,284,508:16,167:2,-1:2,167:2,508:6,167:5,5" + -"08:2,167:14,-1:3,539:6,291,539:17,-1,539:33,-1,538:8,295,538:14,-1:6,538:6," + -"-1:5,538:2,-1:17,508:3,538,508:4,287,508:14,167:2,-1:2,167:2,508:6,167:5,50" + -"8:2,167:14,-1:3,539:8,294,539:15,-1,539:33,-1,538:19,298,538:3,-1:6,538:6,-" + -"1:5,538:2,-1:17,508:3,538,508:15,290,508:3,167:2,-1:2,167:2,508:6,167:5,508" + -":2,167:14,-1:3,539:19,297,539:4,-1,539:33,-1,307,538:22,-1:6,538:6,-1:5,538" + -":2,-1:17,508:3,538,508:8,293,508:10,167:2,-1:2,167:2,508:6,167:5,508:2,167:" + -"14,-1:3,306,539:23,-1,539:33,-1,538:7,310,538:15,-1:6,538:6,-1:5,538:2,-1:1" + -"7,508:3,384,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:9,309" + -",539:14,-1,539:33,-1,538:9,313,538:13,-1:6,538:6,-1:5,538:2,-1:17,296,508:2" + -",538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:12,312,539:1" + -"1,-1,539:33,-1,538:12,316,538:10,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:" + -"5,299,508:13,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:3,315,539:2" + -"0,-1,539:33,-1,538:3,319,538:19,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:8" + -",302,508:10,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:3,318,539:20" + -",-1,539:33,-1,538:3,322,538:19,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:2," + -"305,500,508:15,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:13,321,53" + -"9:10,-1,539:33,-1,538:13,325,538:9,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,50" + -"8:18,308,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:6,324,535,539:1" + -"6,-1,539:33,-1,538:6,327,521,538:15,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,5" + -"08:3,311,508:15,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:7,326,53" + -"9:16,-1,539:33,-1,538:7,329,538:15,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,50" + -"8:4,314,508:14,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:8,328,539" + -":15,-1,539:33,-1,538:8,331,538:14,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508" + -":9,317,508:9,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:9,330,539:1" + -"4,-1,539:33,-1,538:9,333,538:13,-1:6,538:6,-1:5,538:2,-1:17,320,508:2,538,5" + -"08:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:13,332,539:10,-1,5" + -"39:33,-1,538:13,335,538:9,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:4,323,5" + -"08:14,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,334,539:23,-1,539:33,-" + -"1,337,538:22,-1:6,538:6,-1:5,538:2,-1:17,336,539:23,-1,539:33,-1,339,538:22" + -",-1:6,538:6,-1:5,538:2,-1:17,338,539:23,-1,539:33,-1,341,538:22,-1:6,538:6," + -"-1:5,538:2,-1:17,539:9,340,539:14,-1,539:33,-1,538:9,343,538:13,-1:6,538:6," + -"-1:5,538:2,-1:17,342,539:23,-1,539:33,-1,345,538:22,-1:6,538:6,-1:5,538:2,-" + -"1:17,539:3,344,539:20,-1,539:33,-1,538:3,347,538:19,-1:6,538:6,-1:5,538:2,-" + -"1:17,539:8,346,539:15,-1,539:33,-1,538:8,349,538:14,-1:6,538:6,-1:5,538:2,-" + -"1:17,539:9,348,539:14,-1,539:33,-1,538:9,350,538:13,-1:6,538:6,-1:5,538:2,-" + -"1:17,538:4,360,538,475,538:16,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,361,508" + -",476,508:16,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:4,362,539,47" + -"7,539:17,-1,539:33,-1,538:3,426,538:9,363,538:6,429,538:2,-1:6,538:6,-1:5,5" + -"38:2,-1:17,508:3,426,508:9,364,508:6,367,508:2,167:2,-1:2,167:2,508:6,167:5" + -",508:2,167:14,-1:3,539:3,428,539:9,365,539:6,431,539:3,-1,539:33,-1,538:11," + -"375,538:11,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:4,370,508:14,167:2,-1:" + -"2,167:2,508:6,167:5,508:2,167:14,-1:3,539:11,374,539:12,-1,539:33,-1,378,53" + -"8:22,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:7,379,508:11,167:2,-1:2,167:" + -"2,508:6,167:5,508:2,167:14,-1:3,377,539:23,-1,539:33,-1,538:12,381,538:10,-" + -"1:6,538:6,-1:5,538:2,-1:17,508:3,444,508:19,167:2,-1:2,167:2,508:6,167:5,50" + -"8:2,167:14,-1:3,539:12,380,539:11,-1,539:33,-1,538:3,384,538:19,-1:6,538:6," + -"-1:5,538:2,-1:17,508:3,538,508:15,382,508:3,167:2,-1:2,167:2,508:6,167:5,50" + -"8:2,167:14,-1:3,539:3,383,539:20,-1,539:33,-1,538:19,387,538:3,-1:6,538:6,-" + -"1:5,538:2,-1:17,508:3,538,508:2,497,508:5,385,508:10,167:2,-1:2,167:2,508:6" + -",167:5,508:2,167:14,-1:3,539:19,386,539:4,-1,539:33,-1,538,390,538:21,-1:6," + -"538:6,-1:5,538:2,-1:17,508,388,508,538,508:19,167:2,-1:2,167:2,508:6,167:5," + -"508:2,167:14,-1:3,539,389,539:22,-1,539:33,-1,538:7,393,538:15,-1:6,538:6,-" + -"1:5,538:2,-1:17,508:3,538,508:3,391,508:15,167:2,-1:2,167:2,508:6,167:5,508" + -":2,167:14,-1:3,539:7,392,539:16,-1,539:33,-1,538:8,396,538:14,-1:6,538:6,-1" + -":5,538:2,-1:17,394,508:2,538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:" + -"14,-1:3,539:8,395,539:15,-1,539:33,-1,399,538:22,-1:6,538:6,-1:5,538:2,-1:1" + -"7,508:3,538,508:6,397,508:12,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3" + -",398,539:23,-1,539:33,-1,538:10,402,538:12,-1:6,538:6,-1:5,538:2,-1:17,508:" + -"3,538,508:14,400,508:4,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:1" + -"0,401,539:13,-1,539:33,-1,538:22,404,-1:6,538:6,-1:5,538:2,-1:17,539:22,403" + -",539,-1,539:33,-1,538:4,406,538:18,-1:6,538:6,-1:5,538:2,-1:17,539:4,405,53" + -"9:19,-1,539:33,-1,538:12,408,538:10,-1:6,538:6,-1:5,538:2,-1:17,539:12,407," + -"539:11,-1,539:33,-1,538:15,410,538:7,-1:6,538:6,-1:5,538:2,-1:17,539:15,409" + -",539:8,-1,539:33,-1,538:5,412,538:17,-1:6,538:6,-1:5,538:2,-1:17,539:5,411," + -"539:18,-1,539:33,-1,538:5,414,538:17,-1:6,538:6,-1:5,538:2,-1:17,539:5,413," + -"539:18,-1,539:33,-1,538:8,416,538:14,-1:6,538:6,-1:5,538:2,-1:17,539:8,415," + -"539:15,-1,539:33,-1,538:8,432,538:14,-1:6,538:6,-1:5,538:2,-1:17,488,508:2," + -"538,436,508:8,439,508:9,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:" + -"8,434,539:15,-1,539:33,-1,508:3,455,508:19,167:2,-1:2,167:2,508:6,167:5,508" + -":2,167:14,-1:3,484,538:3,487,538:8,438,538:9,-1:6,538:6,-1:5,538:2,-1:17,50" + -"8:2,470,538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,486,539:3" + -",489,539:8,440,539:10,-1,539:33,-1,508:3,457,508:19,167:2,-1:2,167:2,508:6," + -"167:5,508:2,167:14,-1:3,538:6,441,538:16,-1:6,538:6,-1:5,538:2,-1:17,508:3," + -"538,508:2,442,508:16,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:6,4" + -"43,539:17,-1,539:33,-1,538:3,444,538:19,-1:6,538:6,-1:5,538:2,-1:17,508:3,5" + -"38,508:5,474,508:13,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:3,44" + -"6,539:20,-1,539:33,-1,538:15,447,538:7,-1:6,538:6,-1:5,538:2,-1:17,508:3,53" + -"8,508:3,514,508:15,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:15,44" + -"9,539:8,-1,539:33,-1,538:5,450,538:17,-1:6,538:6,-1:5,538:2,-1:17,508:3,538" + -",508:11,445,508:7,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:5,452," + -"539:18,-1,539:33,-1,538:6,517,538:5,453,538:10,-1:6,538:6,-1:5,538:2,-1:17," + -"508:3,538,508,448,508:17,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539" + -":6,530,539:5,454,539:11,-1,539:33,-1,538:3,455,538:19,-1:6,538:6,-1:5,538:2" + -",-1:17,508:3,519,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:" + -"3,456,539:20,-1,539:33,-1,538:3,457,538:19,-1:6,538:6,-1:5,538:2,-1:17,508:" + -"2,503,538,508:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:3,458,5" + -"39:20,-1,539:33,-1,538:4,459,538:18,-1:6,538:6,-1:5,538:2,-1:17,508:3,499,5" + -"08:19,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:4,460,539:19,-1,53" + -"9:33,-1,538:8,461,538:14,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:4,451,50" + -"8:14,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:8,462,539:15,-1,539" + -":33,-1,538:9,463,538:13,-1:6,538:6,-1:5,538:2,-1:17,508:3,538,508:4,511,508" + -":14,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-1:3,539:9,464,539:14,-1,539:" + -"33,-1,538:18,465,538:4,-1:6,538:6,-1:5,538:2,-1:17,539:18,466,539:5,-1,539:" + -"33,-1,538:2,490,538:20,-1:6,538:6,-1:5,538:2,-1:17,539:2,492,539:21,-1,539:" + -"33,-1,508:3,538,508:3,494,508:15,167:2,-1:2,167:2,508:6,167:5,508:2,167:14," + -"-1:3,538:9,493,538:13,-1:6,538:6,-1:5,538:2,-1:17,539:9,495,539:14,-1,539:3" + -"3,-1,508:3,538,508:3,511,508:15,167:2,-1:2,167:2,508:6,167:5,508:2,167:14,-" + -"1:3,538:3,519,538:19,-1:6,538:6,-1:5,538:2,-1:17,539:7,542,539:16,-1,539:33" + -",-1,538:3,499,538:19,-1:6,538:6,-1:5,538:2,-1:17,502,538:22,-1:6,538:6,-1:5" + -",538:2,-1:17,539:24,-1,539:31,518,539,-1,538:8,505,538:14,-1:6,538:6,-1:5,5" + -"38:2,-1:17,539:15,518,539:8,-1,539:4,522:2,518,539:2,522,523,539:22,-1,539:" + -"15,518,539:8,-1,539:4,523:2,539:3,523,539:23,-1,533:2,539:3,533,539:2,533,5" + -"39:5,533:2,539:8,-1,539:4,533:2,539:2,533:2,539:23,-1,539:24,-1,539:5,525,5" + -"18,539:2,525,539:23,-1,539:24,-1,539:11,518,539:21,-1,539:8,518,539:15,-1,5" + -"39:33,-1,539:3,534,539:20,-1,539:33,-1,539:2,527,539:21,-1,539:33,-1,539:3," + -"501,539:20,-1,539:33,-1,539:24,-1,539:22,536,539:10,-1,539:24,-1,539:23,537" + -",539:9,-1,533:2,539:3,533,539:2,533,539:5,533:2,539:8,-1,539:4,533:2,518,53" + -"9,533:2,539:23,-1,504,539:23,-1,539:33,-1,539:8,506,539:15,-1,539:33,-1,539" + -":24,-1,539:21,518,539:11,-1,539:24,-1,539:21,518,539,536,539:9,-1,539:7,529" + -",539:16,-1,539:33,-1,539:7,518,539:16,-1,539:33,-1,539:16,524,539:7,-1,539:" + -"5,525,518,524,539,525,539:23,-1,539:24,-1,539:21,518,539:3,518,539:7,-1,539" + -":24,-1,539:21,518,539:4,518,539:6,-1,539:24,-1,539:21,518,539:5,518,539:5,-" + -"1,539:24,-1,539:21,518,539,518,539:4,518,539:4"); - - public boolean yylex () - throws java.io.IOException { - int yy_lookahead; - int yy_anchor = YY_NO_ANCHOR; - int yy_state = yy_state_dtrans[yy_lexical_state]; - int yy_next_state = YY_NO_STATE; - int yy_last_accept_state = YY_NO_STATE; - boolean yy_initial = true; - int yy_this_accept; - - yy_mark_start(); - yy_this_accept = yy_acpt[yy_state]; - if (YY_NOT_ACCEPT != yy_this_accept) { - yy_last_accept_state = yy_state; - yy_mark_end(); - } - while (true) { - if (yy_initial && yy_at_bol) yy_lookahead = YY_BOL; - else yy_lookahead = yy_advance(); - yy_next_state = YY_F; - yy_next_state = yy_nxt[yy_rmap[yy_state]][yy_cmap[yy_lookahead]]; - if (YY_EOF == yy_lookahead && true == yy_initial) { - - return false; - } - if (YY_F != yy_next_state) { - yy_state = yy_next_state; - yy_initial = false; - yy_this_accept = yy_acpt[yy_state]; - if (YY_NOT_ACCEPT != yy_this_accept) { - yy_last_accept_state = yy_state; - yy_mark_end(); - } - } - else { - if (YY_NO_STATE == yy_last_accept_state) { - throw (new Error("Lexical Error: Unmatched Input.")); - } - else { - yy_anchor = yy_acpt[yy_last_accept_state]; - if (0 != (YY_END & yy_anchor)) { - yy_move_end(); - } - yy_to_mark(); - switch (yy_last_accept_state) { - case 1: - - case -2: - break; - case 2: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -3: - break; - case 3: - { - this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true; -} - case -4: - break; - case 4: - { /* System.out.print(yytext()); */ } - case -5: - break; - case 5: - { - String lexem = yytext(); - if(lexem.endsWith("L")) - { - lexem = lexem.substring(0, lexem.length() - 1); - this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true; - } - else - { - this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true; - } -} - case -6: - break; - case 6: - { - String lexem = yytext(); - if(lexem.endsWith("L")) - { - lexem = lexem.substring(0, lexem.length() - 1); - this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true; - } - else - { - this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true; - } -} - case -7: - break; - case 7: - { - this.token = new Token(JavaParser.BRACE,yytext().charAt(0), yyline, yychar);return true; -} - case -8: - break; - case 8: - { - this.token = new Token(JavaParser.RELOP,yytext().charAt(0), yyline, yychar);return true; -} - case -9: - break; - case 9: - {this.token = new Token(JavaParser.IF, yytext(), yyline, yychar);return true;} - case -10: - break; - case 10: - {this.token = new Token(JavaParser.DO, yytext(), yyline, yychar);return true;} - case -11: - break; - case 11: - {yybegin(commentsingleline);} - case -12: - break; - case 12: - {yybegin(commentblock);} - case -13: - break; - case 13: - {this.token = new Token(JavaParser.DIVIDEEQUAL, yytext(), yyline, yychar);return true;} - case -14: - break; - case 14: - {this.token = new Token(JavaParser.TIMESEQUAL, yytext(), yyline, yychar);return true;} - case -15: - break; - case 15: - { - this.token = new Token(JavaParser.FLOATLITERAL, yytext(), yyline, yychar);return true; -} - case -16: - break; - case 16: - { - this.token = new Token(JavaParser.DOUBLELITERAL, yytext(), yyline, yychar);return true; -} - case -17: - break; - case 17: - { - this.token = new Token(JavaParser.STRINGLITERAL, yytext(), yyline, yychar);return true; -} - case -18: - break; - case 18: - { this.token = new Token(JavaParser.EQUAL, yytext(), yyline, yychar);return true;} - case -19: - break; - case 19: - { this.token = new Token(JavaParser.LESSEQUAL, yytext(), yyline, yychar);return true;} - case -20: - break; - case 20: - {this.token = new Token(JavaParser.GREATEREQUAL, yytext(), yyline, yychar);return true;} - case -21: - break; - case 21: - {this.token = new Token(JavaParser.NOTEQUAL, yytext(), yyline, yychar);return true;} - case -22: - break; - case 22: - {this.token = new Token(JavaParser.OREQUAL, yytext(), yyline, yychar);return true;} - case -23: - break; - case 23: - {this.token = new Token(JavaParser.LOGICALOR, yytext(), yyline, yychar);return true;} - case -24: - break; - case 24: - {this.token = new Token(JavaParser.ANDEQUAL, yytext(), yyline, yychar);return true;} - case -25: - break; - case 25: - {this.token = new Token(JavaParser.LOGICALAND, yytext(), yyline, yychar);return true;} - case -26: - break; - case 26: - {this.token = new Token(JavaParser.PLUSEQUAL, yytext(), yyline, yychar);return true;} - case -27: - break; - case 27: - {this.token = new Token(JavaParser.INCREMENT, yytext(), yyline, yychar);return true;} - case -28: - break; - case 28: - {this.token = new Token(JavaParser.MINUSEQUAL, yytext(), yyline, yychar);return true;} - case -29: - break; - case 29: - {this.token = new Token(JavaParser.LAMBDAASSIGNMENT, yytext(), yyline, yychar);return true;} - case -30: - break; - case 30: - {this.token = new Token(JavaParser.DECREMENT, yytext(), yyline, yychar);return true;} - case -31: - break; - case 31: - {this.token = new Token(JavaParser.MODULOEQUAL, yytext(), yyline, yychar);return true;} - case -32: - break; - case 32: - {this.token = new Token(JavaParser.XOREQUAL, yytext(), yyline, yychar);return true;} - case -33: - break; - case 33: - {this.token = new Token(JavaParser.TRY, yytext(), yyline, yychar);return true;} - case -34: - break; - case 34: - {this.token = new Token(JavaParser.NEW, yytext(), yyline, yychar);return true;} - case -35: - break; - case 35: - {this.token = new Token(JavaParser.INT, yytext(), yyline, yychar);return true;} - case -36: - break; - case 36: - {this.token = new Token(JavaParser.FOR, yytext(), yyline, yychar);return true;} - case -37: - break; - case 37: - {de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("Kommentar: "+yytext(), Section.PARSER);} - case -38: - break; - case 38: - { - String lexem = yytext(); - if(lexem.endsWith("L")) - { - lexem = lexem.substring(0, lexem.length() - 1); - this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true; - } - else - { - this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true; - } -} - case -39: - break; - case 39: - { - this.token = new Token(JavaParser.CHARLITERAL, yytext(), yyline, yychar);return true; -} - case -40: - break; - case 40: - { - this.token = new Token(JavaParser.BOOLLITERAL, yytext(), yyline, yychar);return true; -} - case -41: - break; - case 41: - {this.token = new Token(JavaParser.THIS, yytext(), yyline,yychar);return true;} - case -42: - break; - case 42: - {this.token = new Token(JavaParser.CASE, yytext(), yyline, yychar);return true;} - case -43: - break; - case 43: - {this.token = new Token(JavaParser.CHAR, yytext(), yyline, yychar);return true;} - case -44: - break; - case 44: - {this.token = new Token(JavaParser.ELSE, yytext(), yyline, yychar);return true;} - case -45: - break; - case 45: - { - this.token = new Token(JavaParser.JNULL, yytext(), yyline, yychar);return true; -} - case -46: - break; - case 46: - {this.token = new Token(JavaParser.VOID, yytext(), yyline, yychar);return true;} - case -47: - break; - case 47: - {this.token = new Token(JavaParser.SHIFTLEFT, yytext(), yyline, yychar);return true;} - case -48: - break; - case 48: - {this.token = new Token(JavaParser.SHIFTRIGHT, yytext(), yyline, yychar);return true;} - case -49: - break; - case 49: - {this.token = new Token(JavaParser.BREAK, yytext(), yyline, yychar);return true;} - case -50: - break; - case 50: - {this.token = new Token(JavaParser.SUPER, yytext(), yyline, yychar);return true;} - case -51: - break; - case 51: - {this.token = new Token(JavaParser.THROW, yytext(), yyline, yychar);return true;} - case -52: - break; - case 52: - {this.token = new Token(JavaParser.CATCH, yytext(), yyline, yychar);return true;} - case -53: - break; - case 53: - {this.token = new Token(JavaParser.CLASS, yytext(), yyline, yychar);return true;} - case -54: - break; - case 54: - {this.token = new Token(JavaParser.FINAL, yytext(), yyline, yychar);return true;} - case -55: - break; - case 55: - {this.token = new Token(JavaParser.WHILE, yytext(), yyline, yychar);return true;} - case -56: - break; - case 56: - {this.token = new Token(JavaParser.SHIFTLEFTEQUAL, yytext(), yyline, yychar);return true;} - case -57: - break; - case 57: - {this.token = new Token(JavaParser.SIGNEDSHIFTRIGHTEQUAL, yytext(), yyline, yychar);return true;} - case -58: - break; - case 58: - {this.token = new Token(JavaParser.UNSIGNEDSHIFTRIGHT, yytext(), yyline, yychar);return true;} - case -59: - break; - case 59: - {this.token = new Token(JavaParser.STATIC, yytext(), yyline, yychar);return true;} - case -60: - break; - case 60: - {this.token = new Token(JavaParser.SWITCH, yytext(), yyline, yychar);return true;} - case -61: - break; - case 61: - {this.token = new Token(JavaParser.THROWS, yytext(), yyline, yychar);return true;} - case -62: - break; - case 62: - {this.token = new Token(JavaParser.RETURN, yytext(), yyline, yychar);return true;} - case -63: - break; - case 63: - {this.token = new Token(JavaParser.IMPORT, yytext(), yyline, yychar);return true;} - case -64: - break; - case 64: - {this.token = new Token(JavaParser.PUBLIC, yytext(), yyline, yychar);return true;} - case -65: - break; - case 65: - {this.token = new Token(JavaParser.UNSIGNEDSHIFTRIGHTEQUAL, yytext(), yyline, yychar);return true;} - case -66: - break; - case 66: - {this.token = new Token(JavaParser.BOOLEAN, yytext(), yyline, yychar);return true;} - case -67: - break; - case 67: - {this.token = new Token(JavaParser.EXTENDS, yytext(), yyline, yychar);return true;} - case -68: - break; - case 68: - {this.token = new Token(JavaParser.DEFAULT, yytext(), yyline, yychar);return true;} - case -69: - break; - case 69: - {this.token = new Token(JavaParser.FINALLY, yytext(), yyline, yychar);return true;} - case -70: - break; - case 70: - {this.token = new Token(JavaParser.PACKAGE, yytext(), yyline, yychar);return true;} - case -71: - break; - case 71: - {this.token = new Token(JavaParser.PRIVATE, yytext(), yyline, yychar);return true;} - case -72: - break; - case 72: - {this.token = new Token(JavaParser.ABSTRACT, yytext(), yyline, yychar);return true;} - case -73: - break; - case 73: - {this.token = new Token(JavaParser.CONTINUE, yytext(), yyline, yychar);return true;} - case -74: - break; - case 74: - {this.token = new Token(JavaParser.INTERFACE, yytext(), yyline, yychar);return true;} - case -75: - break; - case 75: - {this.token = new Token(JavaParser.PROTECTED, yytext(), yyline, yychar);return true;} - case -76: - break; - case 76: - {this.token = new Token(JavaParser.INSTANCEOF, yytext(), yyline, yychar);return true;} - case -77: - break; - case 77: - {this.token = new Token(JavaParser.IMPLEMENTS, yytext(), yyline, yychar);return true;} - case -78: - break; - case 78: - {} - case -79: - break; - case 79: - {} - case -80: - break; - case 80: - {yybegin(YYINITIAL);} - case -81: - break; - case 81: - {} - case -82: - break; - case 82: - {yybegin(YYINITIAL);} - case -83: - break; - case 84: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -84: - break; - case 85: - { - this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true; -} - case -85: - break; - case 86: - { - String lexem = yytext(); - if(lexem.endsWith("L")) - { - lexem = lexem.substring(0, lexem.length() - 1); - this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true; - } - else - { - this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true; - } -} - case -86: - break; - case 87: - { - String lexem = yytext(); - if(lexem.endsWith("L")) - { - lexem = lexem.substring(0, lexem.length() - 1); - this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true; - } - else - { - this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true; - } -} - case -87: - break; - case 88: - { - this.token = new Token(JavaParser.RELOP,yytext().charAt(0), yyline, yychar);return true; -} - case -88: - break; - case 89: - {this.token = new Token(JavaParser.IF, yytext(), yyline, yychar);return true;} - case -89: - break; - case 90: - {this.token = new Token(JavaParser.DO, yytext(), yyline, yychar);return true;} - case -90: - break; - case 91: - {yybegin(commentsingleline);} - case -91: - break; - case 92: - {yybegin(commentblock);} - case -92: - break; - case 93: - {this.token = new Token(JavaParser.TRY, yytext(), yyline, yychar);return true;} - case -93: - break; - case 94: - {this.token = new Token(JavaParser.NEW, yytext(), yyline, yychar);return true;} - case -94: - break; - case 95: - {this.token = new Token(JavaParser.INT, yytext(), yyline, yychar);return true;} - case -95: - break; - case 96: - {this.token = new Token(JavaParser.FOR, yytext(), yyline, yychar);return true;} - case -96: - break; - case 97: - { - String lexem = yytext(); - if(lexem.endsWith("L")) - { - lexem = lexem.substring(0, lexem.length() - 1); - this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true; - } - else - { - this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true; - } -} - case -97: - break; - case 98: - {this.token = new Token(JavaParser.THIS, yytext(), yyline,yychar);return true;} - case -98: - break; - case 99: - {this.token = new Token(JavaParser.CASE, yytext(), yyline, yychar);return true;} - case -99: - break; - case 100: - {this.token = new Token(JavaParser.CHAR, yytext(), yyline, yychar);return true;} - case -100: - break; - case 101: - {this.token = new Token(JavaParser.ELSE, yytext(), yyline, yychar);return true;} - case -101: - break; - case 102: - {this.token = new Token(JavaParser.VOID, yytext(), yyline, yychar);return true;} - case -102: - break; - case 103: - {this.token = new Token(JavaParser.BREAK, yytext(), yyline, yychar);return true;} - case -103: - break; - case 104: - {this.token = new Token(JavaParser.SUPER, yytext(), yyline, yychar);return true;} - case -104: - break; - case 105: - {this.token = new Token(JavaParser.THROW, yytext(), yyline, yychar);return true;} - case -105: - break; - case 106: - {this.token = new Token(JavaParser.CATCH, yytext(), yyline, yychar);return true;} - case -106: - break; - case 107: - {this.token = new Token(JavaParser.CLASS, yytext(), yyline, yychar);return true;} - case -107: - break; - case 108: - {this.token = new Token(JavaParser.FINAL, yytext(), yyline, yychar);return true;} - case -108: - break; - case 109: - {this.token = new Token(JavaParser.WHILE, yytext(), yyline, yychar);return true;} - case -109: - break; - case 110: - {this.token = new Token(JavaParser.STATIC, yytext(), yyline, yychar);return true;} - case -110: - break; - case 111: - {this.token = new Token(JavaParser.SWITCH, yytext(), yyline, yychar);return true;} - case -111: - break; - case 112: - {this.token = new Token(JavaParser.THROWS, yytext(), yyline, yychar);return true;} - case -112: - break; - case 113: - {this.token = new Token(JavaParser.RETURN, yytext(), yyline, yychar);return true;} - case -113: - break; - case 114: - {this.token = new Token(JavaParser.IMPORT, yytext(), yyline, yychar);return true;} - case -114: - break; - case 115: - {this.token = new Token(JavaParser.PUBLIC, yytext(), yyline, yychar);return true;} - case -115: - break; - case 116: - {this.token = new Token(JavaParser.BOOLEAN, yytext(), yyline, yychar);return true;} - case -116: - break; - case 117: - {this.token = new Token(JavaParser.EXTENDS, yytext(), yyline, yychar);return true;} - case -117: - break; - case 118: - {this.token = new Token(JavaParser.DEFAULT, yytext(), yyline, yychar);return true;} - case -118: - break; - case 119: - {this.token = new Token(JavaParser.FINALLY, yytext(), yyline, yychar);return true;} - case -119: - break; - case 120: - {this.token = new Token(JavaParser.PACKAGE, yytext(), yyline, yychar);return true;} - case -120: - break; - case 121: - {this.token = new Token(JavaParser.PRIVATE, yytext(), yyline, yychar);return true;} - case -121: - break; - case 122: - {this.token = new Token(JavaParser.ABSTRACT, yytext(), yyline, yychar);return true;} - case -122: - break; - case 123: - {this.token = new Token(JavaParser.CONTINUE, yytext(), yyline, yychar);return true;} - case -123: - break; - case 124: - {this.token = new Token(JavaParser.INTERFACE, yytext(), yyline, yychar);return true;} - case -124: - break; - case 125: - {this.token = new Token(JavaParser.PROTECTED, yytext(), yyline, yychar);return true;} - case -125: - break; - case 126: - {this.token = new Token(JavaParser.INSTANCEOF, yytext(), yyline, yychar);return true;} - case -126: - break; - case 127: - {this.token = new Token(JavaParser.IMPLEMENTS, yytext(), yyline, yychar);return true;} - case -127: - break; - case 128: - {} - case -128: - break; - case 129: - {} - case -129: - break; - case 130: - {yybegin(YYINITIAL);} - case -130: - break; - case 132: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -131: - break; - case 133: - { - this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true; -} - case -132: - break; - case 134: - { - String lexem = yytext(); - if(lexem.endsWith("L")) - { - lexem = lexem.substring(0, lexem.length() - 1); - this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true; - } - else - { - this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true; - } -} - case -133: - break; - case 135: - { - this.token = new Token(JavaParser.RELOP,yytext().charAt(0), yyline, yychar);return true; -} - case -134: - break; - case 136: - {this.token = new Token(JavaParser.IF, yytext(), yyline, yychar);return true;} - case -135: - break; - case 137: - {this.token = new Token(JavaParser.DO, yytext(), yyline, yychar);return true;} - case -136: - break; - case 138: - {yybegin(commentsingleline);} - case -137: - break; - case 139: - {this.token = new Token(JavaParser.NEW, yytext(), yyline, yychar);return true;} - case -138: - break; - case 140: - {this.token = new Token(JavaParser.FOR, yytext(), yyline, yychar);return true;} - case -139: - break; - case 141: - {this.token = new Token(JavaParser.CASE, yytext(), yyline, yychar);return true;} - case -140: - break; - case 142: - {this.token = new Token(JavaParser.CHAR, yytext(), yyline, yychar);return true;} - case -141: - break; - case 143: - {this.token = new Token(JavaParser.ELSE, yytext(), yyline, yychar);return true;} - case -142: - break; - case 144: - {this.token = new Token(JavaParser.VOID, yytext(), yyline, yychar);return true;} - case -143: - break; - case 145: - {this.token = new Token(JavaParser.BREAK, yytext(), yyline, yychar);return true;} - case -144: - break; - case 146: - {this.token = new Token(JavaParser.SUPER, yytext(), yyline, yychar);return true;} - case -145: - break; - case 147: - {this.token = new Token(JavaParser.CLASS, yytext(), yyline, yychar);return true;} - case -146: - break; - case 148: - {this.token = new Token(JavaParser.FINAL, yytext(), yyline, yychar);return true;} - case -147: - break; - case 149: - {this.token = new Token(JavaParser.WHILE, yytext(), yyline, yychar);return true;} - case -148: - break; - case 150: - {this.token = new Token(JavaParser.PUBLIC, yytext(), yyline, yychar);return true;} - case -149: - break; - case 151: - {this.token = new Token(JavaParser.BOOLEAN, yytext(), yyline, yychar);return true;} - case -150: - break; - case 152: - {this.token = new Token(JavaParser.FINALLY, yytext(), yyline, yychar);return true;} - case -151: - break; - case 153: - {this.token = new Token(JavaParser.PACKAGE, yytext(), yyline, yychar);return true;} - case -152: - break; - case 154: - {} - case -153: - break; - case 155: - {} - case -154: - break; - case 157: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -155: - break; - case 158: - { - this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true; -} - case -156: - break; - case 159: - { - this.token = new Token(JavaParser.RELOP,yytext().charAt(0), yyline, yychar);return true; -} - case -157: - break; - case 160: - {} - case -158: - break; - case 161: - {} - case -159: - break; - case 163: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -160: - break; - case 164: - { - this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true; -} - case -161: - break; - case 165: - { - this.token = new Token(JavaParser.RELOP,yytext().charAt(0), yyline, yychar);return true; -} - case -162: - break; - case 166: - {} - case -163: - break; - case 167: - {} - case -164: - break; - case 169: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -165: - break; - case 170: - { - this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true; -} - case -166: - break; - case 171: - {} - case -167: - break; - case 172: - {} - case -168: - break; - case 174: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -169: - break; - case 175: - { - this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true; -} - case -170: - break; - case 176: - {} - case -171: - break; - case 177: - {} - case -172: - break; - case 179: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -173: - break; - case 180: - { - this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true; -} - case -174: - break; - case 181: - {} - case -175: - break; - case 182: - {} - case -176: - break; - case 184: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -177: - break; - case 185: - {} - case -178: - break; - case 186: - {} - case -179: - break; - case 188: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -180: - break; - case 189: - {} - case -181: - break; - case 190: - {} - case -182: - break; - case 191: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -183: - break; - case 192: - {} - case -184: - break; - case 193: - {} - case -185: - break; - case 194: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -186: - break; - case 195: - {} - case -187: - break; - case 196: - {} - case -188: - break; - case 197: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -189: - break; - case 198: - {} - case -190: - break; - case 199: - {} - case -191: - break; - case 200: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -192: - break; - case 201: - {} - case -193: - break; - case 202: - {} - case -194: - break; - case 203: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -195: - break; - case 204: - {} - case -196: - break; - case 205: - {} - case -197: - break; - case 206: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -198: - break; - case 207: - {} - case -199: - break; - case 208: - {} - case -200: - break; - case 209: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -201: - break; - case 210: - {} - case -202: - break; - case 211: - {} - case -203: - break; - case 212: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -204: - break; - case 213: - {} - case -205: - break; - case 214: - {} - case -206: - break; - case 215: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -207: - break; - case 216: - {} - case -208: - break; - case 217: - {} - case -209: - break; - case 218: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -210: - break; - case 219: - {} - case -211: - break; - case 220: - {} - case -212: - break; - case 221: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -213: - break; - case 222: - {} - case -214: - break; - case 223: - {} - case -215: - break; - case 224: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -216: - break; - case 225: - {} - case -217: - break; - case 226: - {} - case -218: - break; - case 227: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -219: - break; - case 228: - {} - case -220: - break; - case 229: - {} - case -221: - break; - case 230: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -222: - break; - case 231: - {} - case -223: - break; - case 232: - {} - case -224: - break; - case 233: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -225: - break; - case 234: - {} - case -226: - break; - case 235: - {} - case -227: - break; - case 236: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -228: - break; - case 237: - {} - case -229: - break; - case 238: - {} - case -230: - break; - case 239: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -231: - break; - case 240: - {} - case -232: - break; - case 241: - {} - case -233: - break; - case 242: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -234: - break; - case 243: - {} - case -235: - break; - case 244: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -236: - break; - case 245: - {} - case -237: - break; - case 246: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -238: - break; - case 247: - {} - case -239: - break; - case 248: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -240: - break; - case 249: - {} - case -241: - break; - case 250: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -242: - break; - case 251: - {} - case -243: - break; - case 252: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -244: - break; - case 253: - {} - case -245: - break; - case 254: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -246: - break; - case 255: - {} - case -247: - break; - case 256: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -248: - break; - case 257: - {} - case -249: - break; - case 258: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -250: - break; - case 259: - {} - case -251: - break; - case 260: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -252: - break; - case 261: - {} - case -253: - break; - case 262: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -254: - break; - case 263: - {} - case -255: - break; - case 264: - {} - case -256: - break; - case 265: - {} - case -257: - break; - case 266: - {} - case -258: - break; - case 267: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -259: - break; - case 268: - {} - case -260: - break; - case 269: - {} - case -261: - break; - case 270: - {} - case -262: - break; - case 271: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -263: - break; - case 272: - {} - case -264: - break; - case 273: - {} - case -265: - break; - case 274: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -266: - break; - case 275: - {} - case -267: - break; - case 276: - {} - case -268: - break; - case 277: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -269: - break; - case 278: - {} - case -270: - break; - case 279: - {} - case -271: - break; - case 280: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -272: - break; - case 281: - {} - case -273: - break; - case 282: - {} - case -274: - break; - case 283: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -275: - break; - case 284: - {} - case -276: - break; - case 285: - {} - case -277: - break; - case 286: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -278: - break; - case 287: - {} - case -279: - break; - case 288: - {} - case -280: - break; - case 289: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -281: - break; - case 290: - {} - case -282: - break; - case 291: - {} - case -283: - break; - case 292: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -284: - break; - case 293: - {} - case -285: - break; - case 294: - {} - case -286: - break; - case 295: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -287: - break; - case 296: - {} - case -288: - break; - case 297: - {} - case -289: - break; - case 298: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -290: - break; - case 299: - {} - case -291: - break; - case 300: - {} - case -292: - break; - case 301: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -293: - break; - case 302: - {} - case -294: - break; - case 303: - {} - case -295: - break; - case 304: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -296: - break; - case 305: - {} - case -297: - break; - case 306: - {} - case -298: - break; - case 307: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -299: - break; - case 308: - {} - case -300: - break; - case 309: - {} - case -301: - break; - case 310: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -302: - break; - case 311: - {} - case -303: - break; - case 312: - {} - case -304: - break; - case 313: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -305: - break; - case 314: - {} - case -306: - break; - case 315: - {} - case -307: - break; - case 316: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -308: - break; - case 317: - {} - case -309: - break; - case 318: - {} - case -310: - break; - case 319: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -311: - break; - case 320: - {} - case -312: - break; - case 321: - {} - case -313: - break; - case 322: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -314: - break; - case 323: - {} - case -315: - break; - case 324: - {} - case -316: - break; - case 325: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -317: - break; - case 326: - {} - case -318: - break; - case 327: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -319: - break; - case 328: - {} - case -320: - break; - case 329: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -321: - break; - case 330: - {} - case -322: - break; - case 331: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -323: - break; - case 332: - {} - case -324: - break; - case 333: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -325: - break; - case 334: - {} - case -326: - break; - case 335: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -327: - break; - case 336: - {} - case -328: - break; - case 337: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -329: - break; - case 338: - {} - case -330: - break; - case 339: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -331: - break; - case 340: - {} - case -332: - break; - case 341: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -333: - break; - case 342: - {} - case -334: - break; - case 343: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -335: - break; - case 344: - {} - case -336: - break; - case 345: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -337: - break; - case 346: - {} - case -338: - break; - case 347: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -339: - break; - case 348: - {} - case -340: - break; - case 349: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -341: - break; - case 350: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -342: - break; - case 351: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -343: - break; - case 352: - {} - case -344: - break; - case 353: - {} - case -345: - break; - case 354: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -346: - break; - case 355: - {} - case -347: - break; - case 356: - {} - case -348: - break; - case 357: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -349: - break; - case 358: - {} - case -350: - break; - case 359: - {} - case -351: - break; - case 360: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -352: - break; - case 361: - {} - case -353: - break; - case 362: - {} - case -354: - break; - case 363: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -355: - break; - case 364: - {} - case -356: - break; - case 365: - {} - case -357: - break; - case 366: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -358: - break; - case 367: - {} - case -359: - break; - case 368: - {} - case -360: - break; - case 369: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -361: - break; - case 370: - {} - case -362: - break; - case 371: - {} - case -363: - break; - case 372: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -364: - break; - case 373: - {} - case -365: - break; - case 374: - {} - case -366: - break; - case 375: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -367: - break; - case 376: - {} - case -368: - break; - case 377: - {} - case -369: - break; - case 378: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -370: - break; - case 379: - {} - case -371: - break; - case 380: - {} - case -372: - break; - case 381: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -373: - break; - case 382: - {} - case -374: - break; - case 383: - {} - case -375: - break; - case 384: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -376: - break; - case 385: - {} - case -377: - break; - case 386: - {} - case -378: - break; - case 387: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -379: - break; - case 388: - {} - case -380: - break; - case 389: - {} - case -381: - break; - case 390: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -382: - break; - case 391: - {} - case -383: - break; - case 392: - {} - case -384: - break; - case 393: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -385: - break; - case 394: - {} - case -386: - break; - case 395: - {} - case -387: - break; - case 396: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -388: - break; - case 397: - {} - case -389: - break; - case 398: - {} - case -390: - break; - case 399: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -391: - break; - case 400: - {} - case -392: - break; - case 401: - {} - case -393: - break; - case 402: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -394: - break; - case 403: - {} - case -395: - break; - case 404: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -396: - break; - case 405: - {} - case -397: - break; - case 406: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -398: - break; - case 407: - {} - case -399: - break; - case 408: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -400: - break; - case 409: - {} - case -401: - break; - case 410: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -402: - break; - case 411: - {} - case -403: - break; - case 412: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -404: - break; - case 413: - {} - case -405: - break; - case 414: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -406: - break; - case 415: - {} - case -407: - break; - case 416: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -408: - break; - case 417: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -409: - break; - case 418: - {} - case -410: - break; - case 419: - {} - case -411: - break; - case 420: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -412: - break; - case 421: - {} - case -413: - break; - case 422: - {} - case -414: - break; - case 423: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -415: - break; - case 424: - {} - case -416: - break; - case 425: - {} - case -417: - break; - case 426: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -418: - break; - case 427: - {} - case -419: - break; - case 428: - {} - case -420: - break; - case 429: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -421: - break; - case 430: - {} - case -422: - break; - case 431: - {} - case -423: - break; - case 432: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -424: - break; - case 433: - {} - case -425: - break; - case 434: - {} - case -426: - break; - case 435: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -427: - break; - case 436: - {} - case -428: - break; - case 437: - {} - case -429: - break; - case 438: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -430: - break; - case 439: - {} - case -431: - break; - case 440: - {} - case -432: - break; - case 441: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -433: - break; - case 442: - {} - case -434: - break; - case 443: - {} - case -435: - break; - case 444: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -436: - break; - case 445: - {} - case -437: - break; - case 446: - {} - case -438: - break; - case 447: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -439: - break; - case 448: - {} - case -440: - break; - case 449: - {} - case -441: - break; - case 450: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -442: - break; - case 451: - {} - case -443: - break; - case 452: - {} - case -444: - break; - case 453: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -445: - break; - case 454: - {} - case -446: - break; - case 455: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -447: - break; - case 456: - {} - case -448: - break; - case 457: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -449: - break; - case 458: - {} - case -450: - break; - case 459: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -451: - break; - case 460: - {} - case -452: - break; - case 461: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -453: - break; - case 462: - {} - case -454: - break; - case 463: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -455: - break; - case 464: - {} - case -456: - break; - case 465: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -457: - break; - case 466: - {} - case -458: - break; - case 467: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -459: - break; - case 468: - {} - case -460: - break; - case 469: - {} - case -461: - break; - case 470: - {} - case -462: - break; - case 471: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -463: - break; - case 472: - {} - case -464: - break; - case 473: - {} - case -465: - break; - case 474: - {} - case -466: - break; - case 475: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -467: - break; - case 476: - {} - case -468: - break; - case 477: - {} - case -469: - break; - case 478: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -470: - break; - case 479: - {} - case -471: - break; - case 480: - {} - case -472: - break; - case 481: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -473: - break; - case 482: - {} - case -474: - break; - case 483: - {} - case -475: - break; - case 484: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -476: - break; - case 485: - {} - case -477: - break; - case 486: - {} - case -478: - break; - case 487: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -479: - break; - case 488: - {} - case -480: - break; - case 489: - {} - case -481: - break; - case 490: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -482: - break; - case 491: - {} - case -483: - break; - case 492: - {} - case -484: - break; - case 493: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -485: - break; - case 494: - {} - case -486: - break; - case 495: - {} - case -487: - break; - case 496: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -488: - break; - case 497: - {} - case -489: - break; - case 498: - {} - case -490: - break; - case 499: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -491: - break; - case 500: - {} - case -492: - break; - case 501: - {} - case -493: - break; - case 502: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -494: - break; - case 503: - {} - case -495: - break; - case 504: - {} - case -496: - break; - case 505: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -497: - break; - case 506: - {} - case -498: - break; - case 507: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -499: - break; - case 508: - {} - case -500: - break; - case 509: - {} - case -501: - break; - case 510: - {} - case -502: - break; - case 511: - {} - case -503: - break; - case 512: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -504: - break; - case 513: - {} - case -505: - break; - case 514: - {} - case -506: - break; - case 515: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -507: - break; - case 516: - {} - case -508: - break; - case 517: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -509: - break; - case 518: - {} - case -510: - break; - case 519: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -511: - break; - case 520: - {} - case -512: - break; - case 521: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -513: - break; - case 522: - {} - case -514: - break; - case 523: - {} - case -515: - break; - case 524: - {} - case -516: - break; - case 525: - {} - case -517: - break; - case 526: - {} - case -518: - break; - case 527: - {} - case -519: - break; - case 528: - {} - case -520: - break; - case 529: - {} - case -521: - break; - case 530: - {} - case -522: - break; - case 531: - {} - case -523: - break; - case 532: - {} - case -524: - break; - case 533: - {} - case -525: - break; - case 534: - {} - case -526: - break; - case 535: - {} - case -527: - break; - case 536: - {} - case -528: - break; - case 537: - {} - case -529: - break; - case 538: - { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} - case -530: - break; - case 539: - {} - case -531: - break; - case 540: - {} - case -532: - break; - case 541: - {} - case -533: - break; - case 542: - {} - case -534: - break; - case 543: - {} - case -535: - break; - case 544: - {} - case -536: - break; - case 545: - {} - case -537: - break; - case 546: - {} - case -538: - break; - case 547: - {} - case -539: - break; - case 548: - {} - case -540: - break; - default: - yy_error(YY_E_INTERNAL,false); - case -1: - } - yy_initial = true; - yy_state = yy_state_dtrans[yy_lexical_state]; - yy_next_state = YY_NO_STATE; - yy_last_accept_state = YY_NO_STATE; - yy_mark_start(); - yy_this_accept = yy_acpt[yy_state]; - if (YY_NOT_ACCEPT != yy_this_accept) { - yy_last_accept_state = yy_state; - yy_mark_end(); - } - } - } - } - } -} diff --git a/src/de/dhbwstuttgart/parser/JavaLexer.lex b/src/de/dhbwstuttgart/parser/JavaLexer.lex deleted file mode 100755 index 9100d64c..00000000 --- a/src/de/dhbwstuttgart/parser/JavaLexer.lex +++ /dev/null @@ -1,174 +0,0 @@ -/******************************************** - * file: JavaLexer.lex * - * * - * enth�lt die JLex-Spezifikation f�r die * - * Generierung des lexical analyzers * - * * - ********************************************/ - -// user code: -package de.dhbwstuttgart.parser; - -import de.dhbwstuttgart.logger.Section; -%% - -%char -%line - -%{ - Token token; -%} - -%public -%class JavaLexer -%type boolean -%eofval{ - return false; -%eofval} - -ws = [ \t\r\n\b\015]+ -%state commentblock -%state commentsingleline -%% - -abstract {this.token = new Token(JavaParser.ABSTRACT, yytext(), yyline, yychar);return true;} -boolean {this.token = new Token(JavaParser.BOOLEAN, yytext(), yyline, yychar);return true;} -break {this.token = new Token(JavaParser.BREAK, yytext(), yyline, yychar);return true;} -case {this.token = new Token(JavaParser.CASE, yytext(), yyline, yychar);return true;} -catch {this.token = new Token(JavaParser.CATCH, yytext(), yyline, yychar);return true;} -char {this.token = new Token(JavaParser.CHAR, yytext(), yyline, yychar);return true;} -class {this.token = new Token(JavaParser.CLASS, yytext(), yyline, yychar);return true;} -continue {this.token = new Token(JavaParser.CONTINUE, yytext(), yyline, yychar);return true;} -default {this.token = new Token(JavaParser.DEFAULT, yytext(), yyline, yychar);return true;} -do {this.token = new Token(JavaParser.DO, yytext(), yyline, yychar);return true;} -else {this.token = new Token(JavaParser.ELSE, yytext(), yyline, yychar);return true;} -extends {this.token = new Token(JavaParser.EXTENDS, yytext(), yyline, yychar);return true;} -final {this.token = new Token(JavaParser.FINAL, yytext(), yyline, yychar);return true;} -finally {this.token = new Token(JavaParser.FINALLY, yytext(), yyline, yychar);return true;} -for {this.token = new Token(JavaParser.FOR, yytext(), yyline, yychar);return true;} -if {this.token = new Token(JavaParser.IF, yytext(), yyline, yychar);return true;} -instanceof {this.token = new Token(JavaParser.INSTANCEOF, yytext(), yyline, yychar);return true;} -interface {this.token = new Token(JavaParser.INTERFACE, yytext(), yyline, yychar);return true;} -int {this.token = new Token(JavaParser.INT, yytext(), yyline, yychar);return true;} -implements {this.token = new Token(JavaParser.IMPLEMENTS, yytext(), yyline, yychar);return true;} -new {this.token = new Token(JavaParser.NEW, yytext(), yyline, yychar);return true;} -package {this.token = new Token(JavaParser.PACKAGE, yytext(), yyline, yychar);return true;} -import {this.token = new Token(JavaParser.IMPORT, yytext(), yyline, yychar);return true;} -private {this.token = new Token(JavaParser.PRIVATE, yytext(), yyline, yychar);return true;} -protected {this.token = new Token(JavaParser.PROTECTED, yytext(), yyline, yychar);return true;} -public {this.token = new Token(JavaParser.PUBLIC, yytext(), yyline, yychar);return true;} -return {this.token = new Token(JavaParser.RETURN, yytext(), yyline, yychar);return true;} -static {this.token = new Token(JavaParser.STATIC, yytext(), yyline, yychar);return true;} -super {this.token = new Token(JavaParser.SUPER, yytext(), yyline, yychar);return true;} -switch {this.token = new Token(JavaParser.SWITCH, yytext(), yyline, yychar);return true;} -this {this.token = new Token(JavaParser.THIS, yytext(), yyline,yychar);return true;} -throw {this.token = new Token(JavaParser.THROW, yytext(), yyline, yychar);return true;} -throws {this.token = new Token(JavaParser.THROWS, yytext(), yyline, yychar);return true;} -try {this.token = new Token(JavaParser.TRY, yytext(), yyline, yychar);return true;} -void {this.token = new Token(JavaParser.VOID, yytext(), yyline, yychar);return true;} -while {this.token = new Token(JavaParser.WHILE, yytext(), yyline, yychar);return true;} - -"//" {yybegin(commentsingleline);} -"/*" {yybegin(commentblock);} - "*/" {yybegin(YYINITIAL);} - [^\*]* {} - "*" {} - [\t\r\n\b\015]+ {yybegin(YYINITIAL);} - [^\\t\r\n\b\015]+ {} - -[1-9][0-9]*[L]? { - String lexem = yytext(); - if(lexem.endsWith("L")) - { - lexem = lexem.substring(0, lexem.length() - 1); - this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true; - } - else - { - this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true; - } -} -0[xX][0-9a-fA-F]+[L]? { - String lexem = yytext(); - if(lexem.endsWith("L")) - { - lexem = lexem.substring(0, lexem.length() - 1); - this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true; - } - else - { - this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true; - } -} -0[0-7]*[L]? { - String lexem = yytext(); - if(lexem.endsWith("L")) - { - lexem = lexem.substring(0, lexem.length() - 1); - this.token = new Token(JavaParser.LONGLITERAL, lexem, yyline, yychar);return true; - } - else - { - this.token = new Token(JavaParser.INTLITERAL, lexem, yyline, yychar);return true; - } -} -[1-9][0-9]*[.]?[0-9]*[f] { - this.token = new Token(JavaParser.FLOATLITERAL, yytext(), yyline, yychar);return true; -} - -[1-9][0-9]*[.][0-9]* { - this.token = new Token(JavaParser.DOUBLELITERAL, yytext(), yyline, yychar);return true; -} - -true|false { - this.token = new Token(JavaParser.BOOLLITERAL, yytext(), yyline, yychar);return true; -} -null { - this.token = new Token(JavaParser.JNULL, yytext(), yyline, yychar);return true; -} -\'[a-zA-Z0-9!@#$%\&*\(\),\<.\>/\?;:]\' { - this.token = new Token(JavaParser.CHARLITERAL, yytext(), yyline, yychar);return true; -} -\"[a-zA-Z0-9!@#$%^&*\(\),\<.\>/\?;:\ ]*\" { - this.token = new Token(JavaParser.STRINGLITERAL, yytext(), yyline, yychar);return true; -} -[a-zA-Z$_][a-zA-Z0-9$_]* { - this.token = new Token(JavaParser.IDENTIFIER, yytext(), yyline, yychar);return true; -} -[()\{\}\[\];,.] { - this.token = new Token(JavaParser.BRACE,yytext().charAt(0), yyline, yychar);return true; -} -[=>=" {this.token = new Token(JavaParser.GREATEREQUAL, yytext(), yyline, yychar);return true;} -"!=" {this.token = new Token(JavaParser.NOTEQUAL, yytext(), yyline, yychar);return true;} -"||" {this.token = new Token(JavaParser.LOGICALOR, yytext(), yyline, yychar);return true;} -"&&" {this.token = new Token(JavaParser.LOGICALAND, yytext(), yyline, yychar);return true;} -"++" {this.token = new Token(JavaParser.INCREMENT, yytext(), yyline, yychar);return true;} -"--" {this.token = new Token(JavaParser.DECREMENT, yytext(), yyline, yychar);return true;} - -[+\-*/&|^%] { - this.token = new Token(JavaParser.OP, yytext().charAt(0), yyline, yychar);return true; -} -//"<<" {this.token = new Token(JavaParser.SHIFTLEFT, yytext(), yyline, yychar);return true;} -//">>" {this.token = new Token(JavaParser.SHIFTRIGHT, yytext(), yyline, yychar);return true;} -//">>>" {this.token = new Token(JavaParser.UNSIGNEDSHIFTRIGHT, yytext(), yyline, yychar);return true;} -"+=" {this.token = new Token(JavaParser.PLUSEQUAL, yytext(), yyline, yychar);return true;} -"-=" {this.token = new Token(JavaParser.MINUSEQUAL, yytext(), yyline, yychar);return true;} -"*=" {this.token = new Token(JavaParser.TIMESEQUAL, yytext(), yyline, yychar);return true;} -"/=" {this.token = new Token(JavaParser.DIVIDEEQUAL, yytext(), yyline, yychar);return true;} -"&=" {this.token = new Token(JavaParser.ANDEQUAL, yytext(), yyline, yychar);return true;} -"|=" {this.token = new Token(JavaParser.OREQUAL, yytext(), yyline, yychar);return true;} -"^=" {this.token = new Token(JavaParser.XOREQUAL, yytext(), yyline, yychar);return true;} -"%=" {this.token = new Token(JavaParser.MODULOEQUAL, yytext(), yyline, yychar);return true;} -//"<<=" {this.token = new Token(JavaParser.SHIFTLEFTEQUAL, yytext(), yyline, yychar);return true;} -//">>=" {this.token = new Token(JavaParser.SIGNEDSHIFTRIGHTEQUAL, yytext(), yyline, yychar);return true;} -//">>>=" {this.token = new Token(JavaParser.UNSIGNEDSHIFTRIGHTEQUAL, yytext(), yyline, yychar);return true;} -{ws}|\n { /* System.out.print(yytext()); */ } -\\.\n {de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("Kommentar: "+yytext(), Section.PARSER);} -"->" {this.token = new Token(JavaParser.LAMBDAASSIGNMENT, yytext(), yyline, yychar);return true;} - - diff --git a/src/de/dhbwstuttgart/parser/JavaParser.java b/src/de/dhbwstuttgart/parser/JavaParser.java deleted file mode 100644 index 62c73036..00000000 --- a/src/de/dhbwstuttgart/parser/JavaParser.java +++ /dev/null @@ -1,3940 +0,0 @@ -// created by jay 0.7 (c) 1998 Axel.Schreiner@informatik.uni-osnabrueck.de - - // line 2 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - -/* -Backup von JavaParser.jay 10.April 17 Uhr -*/ - -package de.dhbwstuttgart.parser; - -import de.dhbwstuttgart.core.AClassOrInterface; -import de.dhbwstuttgart.syntaxtree.Class; -import de.dhbwstuttgart.logger.Section; -import de.dhbwstuttgart.syntaxtree.ImportDeclarations; -import de.dhbwstuttgart.syntaxtree.Interface; -import de.dhbwstuttgart.syntaxtree.SourceFile; -import de.dhbwstuttgart.syntaxtree.misc.UsedId; -import de.dhbwstuttgart.typeinference.Pair; -import de.dhbwstuttgart.syntaxtree.type.Type; -import de.dhbwstuttgart.syntaxtree.type.Void; -import de.dhbwstuttgart.*; -import de.dhbwstuttgart.syntaxtree.*; -import de.dhbwstuttgart.syntaxtree.misc.*; -import de.dhbwstuttgart.syntaxtree.modifier.*; -import de.dhbwstuttgart.syntaxtree.operator.*; -import de.dhbwstuttgart.syntaxtree.type.*; -import de.dhbwstuttgart.syntaxtree.statement.*; -import de.dhbwstuttgart.typeinference.Menge; - -public class JavaParser{ -public Menge path = new Menge(); - -//PL 05-07-30 eingefuegt. ANFANG -private Menge containedTypes = new Menge(); -private Menge usedIdsToCheck = new Menge(); - //Vektor aller Typdeklarationen die in aktueller Klasse vorkommen. - //wird nach Beendigung der Klasse des Attributs der jeweiligen - //Klasse zugeordnet - //nach dem Parsen wird mit wandleGeneric2RefType die - //die RefTypes gesetzt. -void initContainedTypes() { - this.containedTypes = new Menge(); -} -void initUsedIdsToCheck() { - this.usedIdsToCheck = new Menge(); -} -//PL 05-07-30 eingefuegt. ENDE - -//LUAR 07-05-29 Anfang f�r Wildcard Test -public Menge testPair = new Menge(); -//LUAR 07-05-29 Ende - // line 53 "-" -// %token constants - //{ //ergaenzt PL 23.01.01 wieder entfernt 21.12.01 - public static final int ABSTRACT = 257; - public static final int BOOLEAN = 258; - public static final int BREAK = 259; - public static final int CASE = 260; - public static final int CATCH = 261; - public static final int CHAR = 262; - public static final int CLASS = 263; - public static final int CONTINUE = 264; - public static final int DEFAULT = 265; - public static final int DO = 266; - public static final int ELSE = 267; - public static final int EXTENDS = 268; - public static final int FINAL = 269; - public static final int FINALLY = 270; - public static final int FOR = 271; - public static final int IF = 272; - public static final int INSTANCEOF = 273; - public static final int INT = 274; - public static final int NEW = 275; - public static final int PRIVATE = 276; - public static final int PROTECTED = 277; - public static final int PUBLIC = 278; - public static final int PACKAGE = 279; - public static final int IMPORT = 280; - public static final int INTERFACE = 281; - public static final int IMPLEMENTS = 282; - public static final int RETURN = 283; - public static final int STATIC = 284; - public static final int SUPER = 285; - public static final int SWITCH = 286; - public static final int THIS = 287; - public static final int THROW = 288; - public static final int THROWS = 289; - public static final int TRY = 290; - public static final int VOID = 291; - public static final int WHILE = 292; - public static final int INTLITERAL = 293; - public static final int LONGLITERAL = 294; - public static final int DOUBLELITERAL = 295; - public static final int FLOATLITERAL = 296; - public static final int BOOLLITERAL = 297; - public static final int JNULL = 298; - public static final int CHARLITERAL = 299; - public static final int STRINGLITERAL = 300; - public static final int IDENTIFIER = 301; - public static final int EQUAL = 302; - public static final int LESSEQUAL = 303; - public static final int GREATEREQUAL = 304; - public static final int NOTEQUAL = 305; - public static final int LOGICALOR = 306; - public static final int LOGICALAND = 307; - public static final int INCREMENT = 308; - public static final int DECREMENT = 309; - public static final int SHIFTLEFT = 310; - public static final int SHIFTRIGHT = 311; - public static final int UNSIGNEDSHIFTRIGHT = 312; - public static final int SIGNEDSHIFTRIGHT = 313; - public static final int PLUSEQUAL = 314; - public static final int MINUSEQUAL = 315; - public static final int TIMESEQUAL = 316; - public static final int DIVIDEEQUAL = 317; - public static final int ANDEQUAL = 318; - public static final int OREQUAL = 319; - public static final int XOREQUAL = 320; - public static final int MODULOEQUAL = 321; - public static final int SHIFTLEFTEQUAL = 322; - public static final int SIGNEDSHIFTRIGHTEQUAL = 323; - public static final int UNSIGNEDSHIFTRIGHTEQUAL = 324; - public static final int BRACE = 325; - public static final int RELOP = 326; - public static final int OP = 327; - public static final int EOF = 328; - public static final int LAMBDAASSIGNMENT = 329; - public static final int ENDOFGENERICVARDECLARATION = 330; - public static final int yyErrorCode = 256; - - /** thrown for irrecoverable syntax errors and stack overflow. - */ - public static class yyException extends java.lang.Exception { - public Token token; - public yyException (String message, Token token) { - super(message); - this.token=token; - } - } - - /** must be implemented by a scanner object to supply input to the parser. - */ - public interface yyInput { - /** move on to next token. - @return false if positioned beyond tokens. - @throws IOException on input error. - */ - boolean advance () throws java.io.IOException; - /** classifies current token. - Should not be called if advance() returned false. - @return current %token or single character. - */ - int token (); - /** associated with current token. - Should not be called if advance() returned false. - @return value for token(). - */ - Object value (); - } - - /** simplified error message. - @see
yyerror - */ - public void yyerror (String message) { - yyerror(message, null); - } - - /** (syntax) error message. - Can be overwritten to control message format. - @param message text to be displayed. - @param expected Menge of acceptable tokens, if available. - */ - public String yyerror (String message, String[] expected) { - if (expected != null && expected.length > 0) { - System.err.print(message+", expecting"); - message+=", expecting"; - for (int n = 0; n < expected.length; ++ n){ - System.err.print(" "+expected[n]); - message+=" "+expected[n];} - System.err.println(); - return message; - } else{ - System.err.println(message); - return message;} - } - - /** debugging support, requires the package jay.yydebug. - Set to null to suppress debugging messages. - */ -//t protected jay.yydebug.yyDebug yydebug; - - protected static final int yyFinal = 12; -//t public static final String yyRule [] = { -//t "$accept : compilationunit", -//t "compilationunit : typedeclarations", -//t "compilationunit : importdeclarations typedeclarations", -//t "compilationunit : packagedeclaration importdeclarations typedeclarations", -//t "compilationunit : packagedeclaration typedeclarations", -//t "compilationunit : type type compilationunit", -//t "packagedeclaration : PACKAGE name ';'", -//t "importdeclarations : importdeclaration", -//t "importdeclarations : importdeclarations importdeclaration", -//t "importdeclaration : IMPORT importqualifiedname ';'", -//t "typedeclarations : typedeclaration", -//t "typedeclarations : typedeclarations typedeclaration", -//t "name : qualifiedname", -//t "name : simplename", -//t "typedeclaration : classdeclaration", -//t "typedeclaration : interfacedeclaration", -//t "qualifiedname : name '.' IDENTIFIER", -//t "importqualifiedname : name '.' IDENTIFIER", -//t "importqualifiedname : name '.' '*'", -//t "simplename : IDENTIFIER", -//t "classdeclaration : CLASS classidentifier classbody", -//t "classdeclaration : modifiers CLASS classidentifier classbody", -//t "classdeclaration : CLASS classidentifier super classbody", -//t "classdeclaration : modifiers CLASS classidentifier super classbody", -//t "classdeclaration : CLASS classidentifier interfaces classbody", -//t "classdeclaration : modifiers CLASS classidentifier interfaces classbody", -//t "classdeclaration : CLASS classidentifier super interfaces classbody", -//t "classdeclaration : modifiers CLASS classidentifier super interfaces classbody", -//t "interfaceidentifier : IDENTIFIER", -//t "interfaceidentifier : IDENTIFIER '<' boundedClassParameters '>'", -//t "classidentifier : IDENTIFIER", -//t "classidentifier : IDENTIFIER '<' boundedClassParameters '>'", -//t "interfacedeclaration : INTERFACE interfaceidentifier interfacebody", -//t "interfacedeclaration : modifiers INTERFACE interfaceidentifier interfacebody", -//t "interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces interfacebody", -//t "interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody", -//t "paralist : IDENTIFIER", -//t "paralist : IDENTIFIER '<' paralist '>'", -//t "paralist : wildcardparameter", -//t "paralist : paralist ',' IDENTIFIER", -//t "paralist : paralist ',' IDENTIFIER '<' paralist '>'", -//t "paralist : paralist ',' wildcardparameter", -//t "wildcardparameter : '?'", -//t "wildcardparameter : '?' EXTENDS referencetype", -//t "wildcardparameter : '?' SUPER referencetype", -//t "classbody : '{' '}'", -//t "classbody : '{' classbodydeclarations '}'", -//t "modifiers : modifier", -//t "modifiers : modifiers modifier", -//t "super : EXTENDS classtype", -//t "interfaces : IMPLEMENTS interfacetype", -//t "interfaces : interfaces ',' interfacetype", -//t "interfacebody : '{' '}'", -//t "interfacebody : '{' interfacememberdeclarations '}'", -//t "extendsinterfaces : EXTENDS interfacetype", -//t "extendsinterfaces : extendsinterfaces ',' interfacetype", -//t "classbodydeclarations : classbodydeclaration", -//t "classbodydeclarations : classbodydeclarations classbodydeclaration", -//t "modifier : PUBLIC", -//t "modifier : PROTECTED", -//t "modifier : PRIVATE", -//t "modifier : STATIC", -//t "modifier : ABSTRACT", -//t "modifier : FINAL", -//t "classtype : classorinterfacetype", -//t "interfacememberdeclarations : interfacememberdeclaration", -//t "interfacememberdeclarations : interfacememberdeclarations interfacememberdeclaration", -//t "interfacetype : classorinterfacetype", -//t "classbodydeclaration : classmemberdeclaration", -//t "classbodydeclaration : staticinitializer", -//t "classbodydeclaration : constructordeclaration", -//t "classorinterfacetype : name parameter", -//t "typelist : type", -//t "typelist : typelist ',' type", -//t "typelist : typelist ',' wildcardparameter", -//t "typelist : wildcardparameter", -//t "parameter :", -//t "parameter : '<' typelist '>'", -//t "interfacememberdeclaration : constantdeclaration", -//t "interfacememberdeclaration : abstractmethoddeclaration", -//t "classmemberdeclaration : fielddeclaration", -//t "classmemberdeclaration : methoddeclaration", -//t "staticinitializer : STATIC block", -//t "constructordeclaration : constructordeclarator constructorbody", -//t "constructordeclaration : modifiers constructordeclarator constructorbody", -//t "constantdeclaration : modifiers type IDENTIFIER '=' expression ';'", -//t "abstractmethoddeclaration : methodheader ';'", -//t "fielddeclarator : variabledeclarator '=' expression", -//t "fielddeclarator : variabledeclarator", -//t "genericdeclarationlist : '<' boundedMethodParameters '>'", -//t "fielddeclaration : type fielddeclarator ';'", -//t "fielddeclaration : fielddeclarator ';'", -//t "fielddeclaration : genericdeclarationlist type fielddeclarator ';'", -//t "fielddeclaration : variabledeclarators ';'", -//t "fielddeclaration : type variabledeclarators ';'", -//t "fielddeclaration : modifiers type variabledeclarators ';'", -//t "methoddeclaration : methodheader methodbody", -//t "block : '{' '}'", -//t "block : '{' blockstatements '}'", -//t "constructordeclarator : simplename '(' ')'", -//t "constructordeclarator : simplename '(' formalparameterlist ')'", -//t "constructorbody : '{' '}'", -//t "constructorbody : '{' explicitconstructorinvocation '}'", -//t "constructorbody : '{' blockstatements '}'", -//t "constructorbody : '{' explicitconstructorinvocation blockstatements '}'", -//t "throws : THROWS classtypelist", -//t "boundedClassParameter : boundedMethodParameter", -//t "boundedClassParameters : boundedClassParameter", -//t "boundedClassParameters : boundedClassParameters ',' boundedClassParameter", -//t "boundedMethodParameter : IDENTIFIER", -//t "boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist", -//t "boundedclassidentifierlist : referencetype", -//t "boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype", -//t "boundedMethodParameters : boundedMethodParameter", -//t "boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter", -//t "methodheader : genericdeclarationlist type methoddeclarator", -//t "methodheader : type methoddeclarator", -//t "methodheader : modifiers type methoddeclarator", -//t "methodheader : modifiers genericdeclarationlist type methoddeclarator", -//t "methodheader : type methoddeclarator throws", -//t "methodheader : genericdeclarationlist type methoddeclarator throws", -//t "methodheader : modifiers type methoddeclarator throws", -//t "methodheader : modifiers genericdeclarationlist type methoddeclarator throws", -//t "methodheader : VOID methoddeclarator", -//t "methodheader : modifiers VOID methoddeclarator", -//t "methodheader : VOID methoddeclarator throws", -//t "methodheader : modifiers VOID methoddeclarator throws", -//t "methodheader : genericdeclarationlist VOID methoddeclarator", -//t "methodheader : modifiers genericdeclarationlist VOID methoddeclarator", -//t "methodheader : genericdeclarationlist VOID methoddeclarator throws", -//t "methodheader : modifiers genericdeclarationlist VOID methoddeclarator throws", -//t "methodheader : methoddeclarator", -//t "methodheader : genericdeclarationlist methoddeclarator", -//t "methodheader : modifiers methoddeclarator", -//t "methodheader : methoddeclarator throws", -//t "methodheader : modifiers methoddeclarator throws", -//t "type : referencetype", -//t "type : referencetype '[' ']'", -//t "variabledeclarators : variabledeclarator", -//t "variabledeclarators : variabledeclarators ',' variabledeclarator", -//t "methodbody : block", -//t "blockstatements : blockstatement", -//t "blockstatements : blockstatements blockstatement", -//t "formalparameterlist : formalparameter", -//t "formalparameterlist : formalparameterlist ',' formalparameter", -//t "explicitconstructorinvocation : THIS '(' ')' ';'", -//t "explicitconstructorinvocation : THIS '(' argumentlist ')' ';'", -//t "explicitconstructorinvocation : SUPER '(' ')' ';'", -//t "explicitconstructorinvocation : SUPER '(' argumentlist ')' ';'", -//t "classtypelist : classtype", -//t "classtypelist : classtypelist ',' classtype", -//t "methoddeclarator : IDENTIFIER '(' ')'", -//t "methoddeclarator : IDENTIFIER '(' formalparameterlist ')'", -//t "referencetype : classorinterfacetype", -//t "variabledeclarator : variabledeclaratorid", -//t "blockstatement : localvariabledeclarationstatement", -//t "blockstatement : statement", -//t "formalparameter : type variabledeclaratorid", -//t "formalparameter : variabledeclaratorid", -//t "argumentlist : expression", -//t "argumentlist : argumentlist ',' expression", -//t "variabledeclaratorid : IDENTIFIER", -//t "variableinitializer : expression", -//t "localvariabledeclarationstatement : localvariabledeclaration ';'", -//t "statement : statementwithouttrailingsubstatement", -//t "statement : ifthenstatement", -//t "statement : ifthenelsestatement", -//t "statement : whilestatement", -//t "statement : forstatement", -//t "statement : explicitconstructorinvocation", -//t "expression : assignmentexpression", -//t "expression : classinstancecreationexpression", -//t "localvariabledeclaration : type variabledeclarators", -//t "localvariabledeclaration : variabledeclarators", -//t "statementwithouttrailingsubstatement : block", -//t "statementwithouttrailingsubstatement : emptystatement", -//t "statementwithouttrailingsubstatement : expressionstatement", -//t "statementwithouttrailingsubstatement : returnstatement", -//t "ifthenstatement : IF '(' expression ')' statement", -//t "ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement", -//t "whilestatement : WHILE '(' expression ')' statement", -//t "forstatement : FOR '(' expression ';' expression ';' expression ')' statement", -//t "forstatement : FOR '(' expression ';' expression ';' ')' statement", -//t "forstatement : FOR '(' expression ';' ';' expression ')' statement", -//t "forstatement : FOR '(' ';' expression ';' expression ')' statement", -//t "forstatement : FOR '(' expression ';' ';' ')' statement", -//t "forstatement : FOR '(' ';' expression ';' ')' statement", -//t "forstatement : FOR '(' ';' ';' expression ')' statement", -//t "forstatement : FOR '(' ';' ';' ')' statement", -//t "assignmentexpression : conditionalexpression", -//t "assignmentexpression : assignment", -//t "emptystatement : ';'", -//t "expressionstatement : statementexpression ';'", -//t "returnstatement : RETURN ';'", -//t "returnstatement : RETURN expression ';'", -//t "statementnoshortif : statementwithouttrailingsubstatement", -//t "statementnoshortif : ifthenelsestatementnoshortif", -//t "statementnoshortif : whilestatementnoshortif", -//t "conditionalexpression : conditionalorexpression", -//t "assignment : lefthandside assignmentoperator assignmentexpression", -//t "assignment : lefthandside assignmentoperator classinstancecreationexpression", -//t "statementexpression : assignment", -//t "statementexpression : preincrementexpression", -//t "statementexpression : predecrementexpression", -//t "statementexpression : postincrementexpression", -//t "statementexpression : postdecrementexpression", -//t "statementexpression : methodinvocation", -//t "ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif", -//t "whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif", -//t "conditionalorexpression : conditionalandexpression", -//t "conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression", -//t "lambdaassignmentoperator : LAMBDAASSIGNMENT", -//t "lambdabody : block", -//t "lambdabody : expression", -//t "lambdaexpressionparameter : '(' ')'", -//t "lambdaexpressionparameter : '(' formalparameterlist ')'", -//t "lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody", -//t "lefthandside : name", -//t "assignmentoperator : '='", -//t "assignmentoperator : TIMESEQUAL", -//t "assignmentoperator : DIVIDEEQUAL", -//t "assignmentoperator : MODULOEQUAL", -//t "assignmentoperator : PLUSEQUAL", -//t "assignmentoperator : MINUSEQUAL", -//t "preincrementexpression : INCREMENT unaryexpression", -//t "predecrementexpression : DECREMENT unaryexpression", -//t "postincrementexpression : postfixexpression INCREMENT", -//t "postdecrementexpression : postfixexpression DECREMENT", -//t "methodinvocation : name '(' ')'", -//t "methodinvocation : name '(' argumentlist ')'", -//t "methodinvocation : primary '.' IDENTIFIER '(' ')'", -//t "methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')'", -//t "classinstancecreationexpression : NEW classtype '(' ')'", -//t "classinstancecreationexpression : NEW classtype '(' argumentlist ')'", -//t "conditionalandexpression : inclusiveorexpression", -//t "conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression", -//t "unaryexpression : preincrementexpression", -//t "unaryexpression : predecrementexpression", -//t "unaryexpression : '+' unaryexpression", -//t "unaryexpression : '-' unaryexpression", -//t "unaryexpression : unaryexpressionnotplusminus", -//t "postfixexpression : primary", -//t "postfixexpression : name", -//t "postfixexpression : postincrementexpression", -//t "postfixexpression : postdecrementexpression", -//t "primary : primarynonewarray", -//t "inclusiveorexpression : exclusiveorexpression", -//t "inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression", -//t "primarynonewarray : literal", -//t "primarynonewarray : THIS", -//t "primarynonewarray : methodinvocation", -//t "primarynonewarray : lambdaexpression", -//t "unaryexpressionnotplusminus : postfixexpression", -//t "unaryexpressionnotplusminus : '!' unaryexpression", -//t "exclusiveorexpression : andexpression", -//t "exclusiveorexpression : exclusiveorexpression '^' andexpression", -//t "literal : INTLITERAL", -//t "literal : BOOLLITERAL", -//t "literal : CHARLITERAL", -//t "literal : STRINGLITERAL", -//t "literal : LONGLITERAL", -//t "literal : FLOATLITERAL", -//t "literal : DOUBLELITERAL", -//t "literal : JNULL", -//t "andexpression : equalityexpression", -//t "andexpression : andexpression '&' equalityexpression", -//t "equalityexpression : relationalexpression", -//t "equalityexpression : equalityexpression EQUAL relationalexpression", -//t "equalityexpression : equalityexpression NOTEQUAL relationalexpression", -//t "relationalexpression : shiftexpression", -//t "relationalexpression : relationalexpression '<' shiftexpression", -//t "relationalexpression : relationalexpression '>' shiftexpression", -//t "relationalexpression : relationalexpression LESSEQUAL shiftexpression", -//t "relationalexpression : relationalexpression GREATEREQUAL shiftexpression", -//t "relationalexpression : relationalexpression INSTANCEOF referencetype", -//t "shiftexpression : additiveexpression", -//t "additiveexpression : multiplicativeexpression", -//t "additiveexpression : additiveexpression '+' multiplicativeexpression", -//t "additiveexpression : additiveexpression '-' multiplicativeexpression", -//t "multiplicativeexpression : unaryexpression", -//t "multiplicativeexpression : multiplicativeexpression '*' unaryexpression", -//t "multiplicativeexpression : multiplicativeexpression '/' unaryexpression", -//t "multiplicativeexpression : multiplicativeexpression '%' unaryexpression", -//t }; - protected static final String yyName [] = { - "end-of-file",null,null,null,null,null,null,null,null,null,null,null, - null,null,null,null,null,null,null,null,null,null,null,null,null,null, - null,null,null,null,null,null,null,"'!'",null,null,null,"'%'","'&'", - null,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",null,null,null, - null,null,null,null,null,null,null,null,"';'","'<'","'='","'>'","'?'", - null,null,null,null,null,null,null,null,null,null,null,null,null,null, - null,null,null,null,null,null,null,null,null,null,null,null,null, - "'['",null,"']'","'^'",null,null,null,null,null,null,null,null,null, - null,null,null,null,null,null,null,null,null,null,null,null,null,null, - null,null,null,null,null,"'{'","'|'","'}'",null,null,null,null,null, - null,null,null,null,null,null,null,null,null,null,null,null,null,null, - null,null,null,null,null,null,null,null,null,null,null,null,null,null, - null,null,null,null,null,null,null,null,null,null,null,null,null,null, - null,null,null,null,null,null,null,null,null,null,null,null,null,null, - null,null,null,null,null,null,null,null,null,null,null,null,null,null, - null,null,null,null,null,null,null,null,null,null,null,null,null,null, - null,null,null,null,null,null,null,null,null,null,null,null,null,null, - null,null,null,null,null,null,null,null,null,null,null,null,null,null, - null,null,null,null,null,null,null,null,null,null,null,null,null,null, - "ABSTRACT","BOOLEAN","BREAK","CASE","CATCH","CHAR","CLASS","CONTINUE", - "DEFAULT","DO","ELSE","EXTENDS","FINAL","FINALLY","FOR","IF", - "INSTANCEOF","INT","NEW","PRIVATE","PROTECTED","PUBLIC","PACKAGE", - "IMPORT","INTERFACE","IMPLEMENTS","RETURN","STATIC","SUPER","SWITCH", - "THIS","THROW","THROWS","TRY","VOID","WHILE","INTLITERAL", - "LONGLITERAL","DOUBLELITERAL","FLOATLITERAL","BOOLLITERAL","JNULL", - "CHARLITERAL","STRINGLITERAL","IDENTIFIER","EQUAL","LESSEQUAL", - "GREATEREQUAL","NOTEQUAL","LOGICALOR","LOGICALAND","INCREMENT", - "DECREMENT","SHIFTLEFT","SHIFTRIGHT","UNSIGNEDSHIFTRIGHT", - "SIGNEDSHIFTRIGHT","PLUSEQUAL","MINUSEQUAL","TIMESEQUAL", - "DIVIDEEQUAL","ANDEQUAL","OREQUAL","XOREQUAL","MODULOEQUAL", - "SHIFTLEFTEQUAL","SIGNEDSHIFTRIGHTEQUAL","UNSIGNEDSHIFTRIGHTEQUAL", - "BRACE","RELOP","OP","EOF","LAMBDAASSIGNMENT", - "ENDOFGENERICVARDECLARATION", - }; - - /** index-checked interface to yyName[]. - @param token single character or %token value. - @return token name or [illegal] or [unknown]. - */ -//t public static final String yyname (int token) { -//t if (token < 0 || token > yyName.length) return "[illegal]"; -//t String name; -//t if ((name = yyName[token]) != null) return name; -//t return "[unknown]"; -//t } - - /** computes list of expected tokens on error by tracing the tables. - @param state for which to compute the list. - @return list of token names. - */ - protected String[] yyExpecting (int state) { - // yyCheck durch yyCheckInit.yyCheck; ersetzt PL 25.1.01 - int token, n, len = 0; - boolean[] ok = new boolean[yyName.length]; - - if ((n = yySindex[state]) != 0) - for (token = n < 0 ? -n : 0; - token < yyName.length && n+token < yyTable.length; ++ token) - if (yyCheckInit.yyCheck[n+token] == token && !ok[token] && yyName[token] != null) { - ++ len; - ok[token] = true; - } - if ((n = yyRindex[state]) != 0) - for (token = n < 0 ? -n : 0; - token < yyName.length && n+token < yyTable.length; ++ token) - if (yyCheckInit.yyCheck[n+token] == token && !ok[token] && yyName[token] != null) { - ++ len; - ok[token] = true; - } - - String result[] = new String[len]; - for (n = token = 0; n < len; ++ token) - if (ok[token]) result[n++] = yyName[token]; - return result; - } - - /** the generated parser, with debugging messages. - Maintains a state and a value stack, currently with fixed maximum size. - @param yyLex scanner. - @param yydebug debug message writer implementing yyDebug, or null. - @return result of the last reduction, if any. - @throws yyException on irrecoverable parse error. - */ - public Object yyparse (yyInput yyLex, Object yydebug) - throws java.io.IOException, yyException { -//t this.yydebug = (jay.yydebug.yyDebug)yydebug; - return yyparse(yyLex); - } - - /** initial size and increment of the state/value stack [default 256]. - This is not final so that it can be overwritten outside of invocations - of yyparse(). - */ - protected int yyMax; - - /** executed at the beginning of a reduce action. - Used as $$ = yyDefault($1), prior to the user-specified action, if any. - Can be overwritten to provide deep copy, etc. - @param first value for $1, or null. - @return first. - */ - protected Object yyDefault (Object first) { - return first; - } - - /** the generated parser. - Maintains a state and a value stack, currently with fixed maximum size. - @param yyLex scanner. - @return result of the last reduction, if any. - @throws yyException on irrecoverable parse error. - */ - public Object yyparse (yyInput yyLex) - throws java.io.IOException, yyException { - // yyCheck durch yyCheckInit.yyCheck; ersetzt PL 23.1.01 - yyCheckInit.yyCheckInit(); // initial yyCheck eingefuegt PL 25.1.01 - if (yyMax <= 0) yyMax = 256; // initial size - int yyState = 0, yyStates[] = new int[yyMax]; // state stack - Object yyVal = null, yyVals[] = new Object[yyMax]; // value stack - int yyToken = -1; // current input - int yyErrorFlag = 0; // #tks to shift - Scanner yyScanner = (Scanner)yyLex; - String yyErrorString = "irrecoverable syntax error"; - - yyLoop: for (int yyTop = 0;; ++ yyTop) { - if (yyTop >= yyStates.length) { // dynamically increase - int[] i = new int[yyStates.length+yyMax]; - System.arraycopy(yyStates, 0, i, 0, yyStates.length); - yyStates = i; - Object[] o = new Object[yyVals.length+yyMax]; - System.arraycopy(yyVals, 0, o, 0, yyVals.length); - yyVals = o; - } - yyStates[yyTop] = yyState; - yyVals[yyTop] = yyVal; -//t if (yydebug != null) yydebug.push(yyState, yyVal); - - yyDiscarded: for (;;) { // discarding a token does not change stack - int yyN; - if ((yyN = yyDefRed[yyState]) == 0) { // else [default] reduce (yyN) - if (yyToken < 0) { - yyToken = yyLex.advance() ? yyLex.token() : 0; -//t if (yydebug != null) -//t yydebug.lex(yyState, yyToken, yyname(yyToken), yyLex.value()); - } - if ((yyN = yySindex[yyState]) != 0 && (yyN += yyToken) >= 0 - && yyN < yyTable.length && yyCheckInit.yyCheck[yyN] == yyToken) { -//t if (yydebug != null) -//t yydebug.shift(yyState, yyTable[yyN], yyErrorFlag-1); - yyState = yyTable[yyN]; // shift to yyN - yyVal = yyLex.value(); - yyToken = -1; - if (yyErrorFlag > 0) -- yyErrorFlag; - continue yyLoop; - } - if ((yyN = yyRindex[yyState]) != 0 && (yyN += yyToken) >= 0 - && yyN < yyTable.length && yyCheckInit.yyCheck[yyN] == yyToken) - yyN = yyTable[yyN]; // reduce (yyN) - else - switch (yyErrorFlag) { - - case 0: - yyErrorString=yyerror("syntax error", yyExpecting(yyState)); -//t if (yydebug != null) yydebug.error("syntax error"); - - case 1: case 2: - yyErrorFlag = 3; - do { - if ((yyN = yySindex[yyStates[yyTop]]) != 0 - && (yyN += yyErrorCode) >= 0 && yyN < yyTable.length - && yyCheckInit.yyCheck[yyN] == yyErrorCode) { -//t if (yydebug != null) -//t yydebug.shift(yyStates[yyTop], yyTable[yyN], 3); - yyState = yyTable[yyN]; - yyVal = yyLex.value(); - continue yyLoop; - } -//t if (yydebug != null) yydebug.pop(yyStates[yyTop]); - } while (-- yyTop >= 0); -//t if (yydebug != null) yydebug.reject(); - throw new yyException(yyErrorString, yyScanner.token); - - case 3: - if (yyToken == 0) { -//t if (yydebug != null) yydebug.reject(); - throw new yyException(yyErrorString+"at end-of-file", yyScanner.token); - } -//t if (yydebug != null) -//t yydebug.discard(yyState, yyToken, yyname(yyToken), -//t yyLex.value()); - yyToken = -1; - continue yyDiscarded; // leave stack alone - } - } - int yyV = yyTop + 1-yyLen[yyN]; -//t if (yydebug != null) -//t yydebug.reduce(yyState, yyStates[yyV-1], yyN, yyRule[yyN], yyLen[yyN]); - yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]); - switch (yyN) { -case 1: - // line 249 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((SourceFile)yyVals[0+yyTop]); - } - break; -case 2: - // line 253 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((SourceFile)yyVals[0+yyTop]).addImports(((ImportDeclarations)yyVals[-1+yyTop])); - yyVal=((SourceFile)yyVals[0+yyTop]); - } - break; -case 3: - // line 258 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Package*/ - ((SourceFile)yyVals[0+yyTop]).setPackageName(((UsedId)yyVals[-2+yyTop])); - ((SourceFile)yyVals[0+yyTop]).addImports(((ImportDeclarations)yyVals[-1+yyTop])); - yyVal=((SourceFile)yyVals[0+yyTop]); - } - break; -case 4: - // line 265 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Package*/ - ((SourceFile)yyVals[0+yyTop]).setPackageName(((UsedId)yyVals[-1+yyTop])); - yyVal=((SourceFile)yyVals[0+yyTop]); - } - break; -case 5: - // line 271 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - this.testPair.add(new Pair(((Type)yyVals[-2+yyTop]),((Type)yyVals[-1+yyTop]))); - yyVal=((SourceFile)yyVals[0+yyTop]); - } - break; -case 6: - // line 277 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Package*/ - yyVal = ((UsedId)yyVals[-1+yyTop]); - } - break; -case 7: - // line 283 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ImportDeclarations declarations=new ImportDeclarations(); - declarations.addElement(((UsedId)yyVals[0+yyTop])); - yyVal=declarations; - } - break; -case 8: - // line 289 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((ImportDeclarations)yyVals[-1+yyTop]).addElement(((UsedId)yyVals[0+yyTop])); - yyVal=((ImportDeclarations)yyVals[-1+yyTop]); - } - break; -case 9: - // line 295 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((UsedId)yyVals[-1+yyTop]); - } - break; -case 10: - // line 300 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - SourceFile Scfile = new SourceFile(); - Scfile.addElement(((AClassOrInterface)yyVals[0+yyTop])); - yyVal=Scfile; - } - break; -case 11: - // line 306 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((SourceFile)yyVals[-1+yyTop]).addElement(((AClassOrInterface)yyVals[0+yyTop])); - yyVal=((SourceFile)yyVals[-1+yyTop]); - } - break; -case 12: - // line 312 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((UsedId)yyVals[0+yyTop]); - } - break; -case 13: - // line 316 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((UsedId)yyVals[0+yyTop]); - } - break; -case 14: - // line 321 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Class)yyVals[0+yyTop]); - } - break; -case 15: - // line 325 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Interface*/ - yyVal=((Interface)yyVals[0+yyTop]); - } - break; -case 16: - // line 332 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem()); - ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset()); - yyVal=((UsedId)yyVals[-2+yyTop]); - } - break; -case 17: - // line 339 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem()); - ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset()); - yyVal=((UsedId)yyVals[-2+yyTop]); - } - break; -case 18: - // line 345 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((UsedId)yyVals[-2+yyTop]).set_Name("*"); - ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset()); - yyVal=((UsedId)yyVals[-2+yyTop]); - } - break; -case 19: - // line 353 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - UsedId UI = new UsedId(((Token)yyVals[0+yyTop]).getOffset()); - UI.set_Name( ((Token)yyVals[0+yyTop]).getLexem() ); - UI.setOffset(((Token)yyVals[0+yyTop]).getOffset());/*hinzugef�gt hoth: 07.04.2006*/ - yyVal = UI; - } - break; -case 20: - // line 361 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Um das hier uebersichtlicher zu halten,*/ - /* gibt es einen allumfassenden Konstruktor fuer Class*/ - /* Parameter:*/ - /* String name, */ - /* Modifiers mod,*/ - /* ClassBody classbody, */ - /* Menge containedtypes, */ - /* UsedId superclass, */ - /* Menge SuperInterfaces, */ - /* Menge Parameterliste*/ - - yyVal = new Class(((ClassAndParameter)yyVals[-1+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, null, ((ClassAndParameter)yyVals[-1+yyTop]).getParaMenge(), ((Token)yyVals[-2+yyTop]).getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - break; -case 21: - // line 378 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = new Class(((ClassAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, null, ((ClassAndParameter)yyVals[-1+yyTop]).getParaMenge(), ((Token)yyVals[-2+yyTop]).getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - break; -case 22: - // line 384 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaMenge(), ((Token)yyVals[-3+yyTop]).getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - break; -case 23: - // line 390 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaMenge(), ((Token)yyVals[-3+yyTop]).getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - break; -case 24: - // line 397 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, ((InterfaceList)yyVals[-1+yyTop]).getTypeMenge(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaMenge(), ((Token)yyVals[-3+yyTop]).getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - break; -case 25: - // line 403 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, ((InterfaceList)yyVals[-1+yyTop]).getTypeMenge(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaMenge(), ((Token)yyVals[-3+yyTop]).getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - break; -case 26: - // line 409 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getTypeMenge(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaMenge(), ((Token)yyVals[-4+yyTop]).getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - break; -case 27: - // line 415 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), ((Modifiers)yyVals[-5+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getTypeMenge(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaMenge(), ((Token)yyVals[-4+yyTop]).getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - break; -case 28: - // line 422 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* HOTI*/ - /* Verbindet den Namen eines Interfaces mit einer optionalen Parameterliste*/ - yyVal = new InterfaceAndParameter(((Token)yyVals[0+yyTop]).getLexem()); - } - break; -case 29: - // line 428 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = new InterfaceAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop])); - } - break; -case 30: - // line 433 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Hilfskonstrukt, um die Grammatik ueberschaubar zu halten*/ - /* Verbindet den Namen einer Klasse mit einer optionalen Parameterliste*/ - yyVal = new ClassAndParameter(((Token)yyVals[0+yyTop]).getLexem()); - } - break; -case 31: - // line 439 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = new ClassAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop])); - } - break; -case 32: - // line 444 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Interface*/ - Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName(), ((Token)yyVals[-2+yyTop]).getOffset()); - ic.setParaList(((InterfaceAndParameter)yyVals[-1+yyTop]).getParaMenge()); - ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop])); - ic.setContainedTypes(containedTypes); - initContainedTypes(); - yyVal = ic; - } - break; -case 33: - // line 454 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop]), ((Token)yyVals[-2+yyTop]).getOffset()); - ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop])); - ic.setParaList(((InterfaceAndParameter)yyVals[-1+yyTop]).getParaMenge()); - ic.setContainedTypes(containedTypes); - initContainedTypes(); - yyVal = ic; - } - break; -case 34: - // line 463 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Token)yyVals[-3+yyTop]).getOffset()); - ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaMenge()); - /*ic.setSuperInterfaces($3.getMenge());*/ - ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop])); - ic.setContainedTypes(containedTypes); - initContainedTypes(); - yyVal = ic; - } - break; -case 35: - // line 473 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((Token)yyVals[-3+yyTop]).getOffset()); - ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaMenge()); - /*ic.setSuperInterfaces($4.getMenge());*/ - ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop])); - ic.setContainedTypes(containedTypes); - initContainedTypes(); - yyVal = ic; - } - break; -case 36: - // line 484 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ParaList pl = new ParaList(); - /* #JB# 05.04.2005 */ - /* ########################################################### */ - pl.getParalist().addElement(new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),null, ((Token)yyVals[0+yyTop]).getOffset())); - /*pl.getParalist().addElement( new TypePlaceholder($1.getLexem()) );*/ - /* ########################################################### */ - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "IDENTIFIER --> Paralist f�r " + ((Token)yyVals[0+yyTop]).getLexem() + " TV", Section.PARSER); - yyVal = pl; - } - break; -case 37: - // line 495 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ParaList pl = new ParaList(); - RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),null,((Token)yyVals[-3+yyTop]).getOffset() ); - t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() ); - pl.getParalist().addElement(t); - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "IDENTIFIER '<' paralist '>' --> Paralist f�r " + ((Token)yyVals[-3+yyTop]).getLexem() + ": RefType", Section.PARSER); - yyVal = pl; - } - break; -case 38: - // line 504 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ParaList pl = new ParaList(); - pl.getParalist().addElement(((WildcardType)yyVals[0+yyTop])); - yyVal = pl; - } - break; -case 39: - // line 510 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - - /* #JB# 05.04.2005 */ - /* ########################################################### */ - ((ParaList)yyVals[-2+yyTop]).getParalist().addElement(new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(), null,((Token)yyVals[0+yyTop]).getOffset())); - /*$1.getParalist().addElement(new TypePlaceholder($3.getLexem()));*/ - /* ########################################################### */ - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER --> Paralist f�r " + ((Token)yyVals[0+yyTop]).getLexem() + ": TV", Section.PARSER); - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "paralist: " + ((ParaList)yyVals[-2+yyTop]).getParalist(), Section.PARSER); - yyVal=((ParaList)yyVals[-2+yyTop]); - } - break; -case 40: - // line 523 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),null ,((Token)yyVals[-3+yyTop]).getOffset() ); - t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() ); - ((ParaList)yyVals[-5+yyTop]).getParalist().addElement(t); - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER '<' paralist '>' --> Paralist f�r " + ((Token)yyVals[-3+yyTop]).getLexem() + ": RefType", Section.PARSER); - yyVal=((ParaList)yyVals[-5+yyTop]); - } - break; -case 41: - // line 531 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((ParaList)yyVals[-2+yyTop]).getParalist().addElement(((WildcardType)yyVals[0+yyTop])); - yyVal=((ParaList)yyVals[-2+yyTop]); - } - break; -case 42: - // line 537 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /*Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden*/ - WildcardType wc = new WildcardType(null,null,-1); - yyVal = wc; - } - break; -case 43: - // line 543 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ExtendsWildcardType ewc = new ExtendsWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop])); - yyVal = ewc; - } - break; -case 44: - // line 548 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - SuperWildcardType swc = new SuperWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop])); - yyVal = swc; - } - break; -case 45: - // line 554 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ClassBody CB = new ClassBody(); - yyVal = CB; - } - break; -case 46: - // line 560 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = ((ClassBody)yyVals[-1+yyTop]); - } - break; -case 47: - // line 565 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Modifiers Mod = new Modifiers(); - Mod.addModifier(((Modifier)yyVals[0+yyTop])); - yyVal = Mod; - } - break; -case 48: - // line 571 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Modifiers)yyVals[-1+yyTop]).addModifier(((Modifier)yyVals[0+yyTop])); - yyVal = ((Modifiers)yyVals[-1+yyTop]); - } - break; -case 49: - // line 577 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = ((UsedId)yyVals[0+yyTop]); - } - break; -case 50: - // line 582 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Interface*/ - InterfaceList il = new InterfaceList(); - il.addInterface(((UsedId)yyVals[0+yyTop])); - yyVal = il; - } - break; -case 51: - // line 589 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop])); - yyVal = ((InterfaceList)yyVals[-2+yyTop]); - } - break; -case 52: - // line 595 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Interface*/ - yyVal = new InterfaceBody(); - } - break; -case 53: - // line 600 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = ((InterfaceBody)yyVals[-1+yyTop]); - } - break; -case 54: - // line 607 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Interface*/ - InterfaceList il = new InterfaceList(); - il.addInterface(((UsedId)yyVals[0+yyTop])); - yyVal = il; - } - break; -case 55: - // line 614 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop])); - yyVal = ((InterfaceList)yyVals[-2+yyTop]); - } - break; -case 56: - // line 621 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ClassBody CB = new ClassBody(); - CB.addField( ((Field)yyVals[0+yyTop]) ); - yyVal=CB; - } - break; -case 57: - // line 627 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((ClassBody)yyVals[-1+yyTop]).addField(((Field)yyVals[0+yyTop])); - yyVal = ((ClassBody)yyVals[-1+yyTop]); - } - break; -case 58: - // line 634 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Public Pub = new Public(); - yyVal=Pub; - } - break; -case 59: - // line 639 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Protected Pro = new Protected(); - yyVal=Pro; - } - break; -case 60: - // line 644 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Private Pri = new Private(); - yyVal=Pri; - } - break; -case 61: - // line 649 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Static Sta = new Static(); - yyVal=Sta; - } - break; -case 62: - // line 654 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Abstract Abs = new Abstract(); - yyVal=Abs; - } - break; -case 63: - // line 659 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { Final fin = new Final(); - yyVal = fin; - } - break; -case 64: - // line 665 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = ((UsedId)yyVals[0+yyTop]); - } - break; -case 65: - // line 671 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Interface*/ - InterfaceBody ib = new InterfaceBody(); - ib.addElement(((Field)yyVals[0+yyTop])); - yyVal = ib; - } - break; -case 66: - // line 678 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((InterfaceBody)yyVals[-1+yyTop]).addElement(((Field)yyVals[0+yyTop])); - yyVal = ((InterfaceBody)yyVals[-1+yyTop]); - } - break; -case 67: - // line 684 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Interfaces*/ - yyVal = ((UsedId)yyVals[0+yyTop]); - } - break; -case 68: - // line 690 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Field)yyVals[0+yyTop]); - } - break; -case 69: - // line 695 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 70: - // line 699 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Field)yyVals[0+yyTop]); - } - break; -case 71: - // line 705 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - if (((Menge)yyVals[0+yyTop]) != null) { - /*$1.set_ParaList($2.get_ParaList());*/ - ((UsedId)yyVals[-1+yyTop]).set_ParaList(((Menge)yyVals[0+yyTop]));/*�nderung von Andreas Stadelmeier. Type statt GenericVarType*/ - /* otth: originale (also diese) Parameterliste retten */ - /*((UsedId)$1).vParaOrg = new Menge( $2.get_ParaList() );*/ - } - yyVal=((UsedId)yyVals[-1+yyTop]); - } - break; -case 72: - // line 716 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Menge tl = new Menge(); - tl.add(((Type)yyVals[0+yyTop])); - yyVal = tl; - } - break; -case 73: - // line 722 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Menge)yyVals[-2+yyTop]).add(((Type)yyVals[0+yyTop])); - yyVal=((Menge)yyVals[-2+yyTop]); - } - break; -case 74: - // line 727 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Menge)yyVals[-2+yyTop]).add(((WildcardType)yyVals[0+yyTop])); - yyVal=((Menge)yyVals[-2+yyTop]); - } - break; -case 75: - // line 732 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Menge tl = new Menge(); - tl.add(((WildcardType)yyVals[0+yyTop])); - yyVal = tl; - } - break; -case 76: - // line 740 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { yyVal = null; } - break; -case 77: - // line 742 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = ((Menge)yyVals[-1+yyTop]); - } - break; -case 78: - // line 747 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Interfaces, Spezialform Konstantendef.*/ - yyVal = ((Constant)yyVals[0+yyTop]); - } - break; -case 79: - // line 752 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = ((Method)yyVals[0+yyTop]); - } - break; -case 80: - // line 757 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Field)yyVals[0+yyTop]); - } - break; -case 81: - // line 761 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 82: - // line 766 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Method STAT = new Method(((Token)yyVals[-1+yyTop]).getOffset()); - DeclId DST = new DeclId(); - DST.set_Name(((Token)yyVals[-1+yyTop]).getLexem()); - STAT.set_DeclId(DST); - Static ST = new Static(); - Modifiers MOD = new Modifiers(); - MOD.addModifier(ST); - STAT.set_Modifiers(MOD); - STAT.set_Block(((Block)yyVals[0+yyTop])); - yyVal=STAT; - } - break; -case 83: - // line 780 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); - yyVal = ((Constructor)yyVals[-1+yyTop]); - } - break; -case 84: - // line 785 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); - ((Constructor)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); - yyVal = ((Constructor)yyVals[-1+yyTop]); - } - break; -case 85: - // line 792 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Interface*/ - Constant c = new Constant(((Token)yyVals[-3+yyTop]).getLexem(), ((Modifiers)yyVals[-5+yyTop])); - c.setType(((Type)yyVals[-4+yyTop])); - c.setValue(((Expr)yyVals[-1+yyTop])); - yyVal = c; - } - break; -case 86: - // line 801 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /* SCJU: Interface*/ - yyVal = ((Method)yyVals[-1+yyTop]); - } - break; -case 87: - // line 826 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); - ret.set_DeclId(((DeclId)yyVals[-2+yyTop])); - ret.setWert(((Expr)yyVals[0+yyTop])); - yyVal=ret; - } - break; -case 88: - // line 833 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); - ret.set_DeclId(((DeclId)yyVals[0+yyTop])); - yyVal=ret; - } - break; -case 89: - // line 840 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - GenericDeclarationList ret = new GenericDeclarationList(((GenericVarDeclarationList)yyVals[-1+yyTop]).getElements(),((GenericVarDeclarationList)yyVals[-1+yyTop]).getEndOffset()); - yyVal = ret; - } - break; -case 90: - // line 847 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - yyVal=((FieldDeclaration)yyVals[-1+yyTop]); - } - break; -case 91: - // line 852 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((FieldDeclaration)yyVals[-1+yyTop]); - } - break; -case 92: - // line 856 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - {/*angef�gt von Andreas Stadelmeier*/ - ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - ((FieldDeclaration)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop])); - yyVal=((FieldDeclaration)yyVals[-1+yyTop]); - } - break; -case 93: - // line 863 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((FieldDeclaration)yyVals[-1+yyTop]); - } - break; -case 94: - // line 868 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + ((Type)yyVals[-2+yyTop]), Section.PARSER); - ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); - } - break; -case 95: - // line 875 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - for(int i=0;i<(((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdMenge().size());i++) - { - ((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdMenge().elementAt(i).modifiers=((Modifiers)yyVals[-3+yyTop]); - } - yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); - } - break; -case 96: - // line 885 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 97: - // line 892 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Block Bl = new Block(); - yyVal=Bl; - } - break; -case 98: - // line 898 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Block)yyVals[-1+yyTop]); - } - break; -case 99: - // line 903 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Constructor CON = new Constructor(null,null); /*TODO: Der Parser kann sowieso nicht zwischen einem Konstruktor und einer Methode unterscheiden. Das hier kann wegfallen...*/ - DeclId DIDCon = new DeclId(); - DIDCon.set_Name(((UsedId)yyVals[-2+yyTop]).get_Name_1Element()); - CON.set_DeclId(DIDCon); - yyVal=CON; - } - break; -case 100: - // line 911 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Constructor CONpara = new Constructor(null,null); - DeclId DIconpara = new DeclId(); - DIconpara.set_Name(((UsedId)yyVals[-3+yyTop]).get_Name_1Element()); - CONpara.set_DeclId(DIconpara); - CONpara.setParameterList(((ParameterList)yyVals[-1+yyTop])); - yyVal=CONpara; - } - break; -case 101: - // line 921 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Block CBL = new Block(); - yyVal=CBL; - } - break; -case 102: - // line 926 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Block CBLexpl = new Block(); - CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop])); - yyVal=CBLexpl; - } - break; -case 103: - // line 932 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Block)yyVals[-1+yyTop]); - } - break; -case 104: - // line 936 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Block CBes = new Block(); - CBes.set_Statement(((Statement)yyVals[-2+yyTop])); - for(int j=0;j<((Block)yyVals[-1+yyTop]).statements.size();j++) - { - CBes.set_Statement((Statement)((Block)yyVals[-1+yyTop]).statements.elementAt(j)); - } - yyVal=CBes; - } - break; -case 105: - // line 947 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ExceptionList EL = new ExceptionList(); - EL.set_addElem(((RefType)yyVals[0+yyTop])); - yyVal=EL; - } - break; -case 106: - // line 954 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal = ((GenericTypeVar)yyVals[0+yyTop]); - } - break; -case 107: - // line 959 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ParaList p = new ParaList(); - p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); - yyVal=p; - } - break; -case 108: - // line 965 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); - yyVal=((ParaList)yyVals[-2+yyTop]); - } - break; -case 109: - // line 972 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),null,((Token)yyVals[0+yyTop]).getOffset()); - } - break; -case 110: - // line 976 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(), ((BoundedClassIdentifierList)yyVals[0+yyTop]),null, ((Token)yyVals[-2+yyTop]).getOffset() ,((BoundedClassIdentifierList)yyVals[0+yyTop]).getEndOffset()); - /*gtv.setBounds($3);*/ - yyVal=gtv; - } - break; -case 111: - // line 983 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Menge vec=new Menge(); - vec.addElement(((RefType)yyVals[0+yyTop])); - containedTypes.addElement(((RefType)yyVals[0+yyTop])); - yyVal=new BoundedClassIdentifierList(vec, ((RefType)yyVals[0+yyTop]).getOffset()+((RefType)yyVals[0+yyTop]).getName().toString().length()); - } - break; -case 112: - // line 990 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((BoundedClassIdentifierList)yyVals[-2+yyTop]).addElement(((RefType)yyVals[0+yyTop])); - ((BoundedClassIdentifierList)yyVals[-2+yyTop]).addOffsetOff(((RefType)yyVals[0+yyTop])); - containedTypes.addElement(((RefType)yyVals[0+yyTop])); - yyVal=((BoundedClassIdentifierList)yyVals[-2+yyTop]); - } - break; -case 113: - // line 998 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - GenericVarDeclarationList vec=new GenericVarDeclarationList(); - vec.addElement(((GenericTypeVar)yyVals[0+yyTop])); - yyVal=vec; - } - break; -case 114: - // line 1004 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((GenericVarDeclarationList)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); - yyVal=((GenericVarDeclarationList)yyVals[-2+yyTop]); - } - break; -case 115: - // line 1012 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); - ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop])); - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 116: - // line 1018 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 117: - // line 1023 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); - ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 118: - // line 1029 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); - ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop])); - ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 119: - // line 1036 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 120: - // line 1042 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop])); - ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 121: - // line 1049 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); - ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 122: - // line 1056 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop])); - ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop])); - ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 123: - // line 1064 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Void Voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset()); - ((Method)yyVals[0+yyTop]).setType(Voit); - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 124: - // line 1070 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Void voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset()); - ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); - ((Method)yyVals[0+yyTop]).setType(voit); - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 125: - // line 1077 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Void voyt = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset()); - ((Method)yyVals[-1+yyTop]).setType(voyt); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 126: - // line 1084 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Void voyd = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset()); - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); - ((Method)yyVals[-1+yyTop]).setType(voyd); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 127: - // line 1092 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Void Voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset()); - ((Method)yyVals[0+yyTop]).setType(Voit); - ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop])); - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 128: - // line 1099 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Void voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset()); - ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); - ((Method)yyVals[0+yyTop]).setType(voit); - ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop])); - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 129: - // line 1107 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Void voyt = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset()); - ((Method)yyVals[-1+yyTop]).setType(voyt); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 130: - // line 1115 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Void voyd = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset()); - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop])); - ((Method)yyVals[-1+yyTop]).setType(voyd); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 131: - // line 1125 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 132: - // line 1130 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/ - ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-1+yyTop])); - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 133: - // line 1137 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-1+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ - yyVal=((Method)yyVals[0+yyTop]); - } - break; -case 134: - // line 1143 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());*/ - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 135: - // line 1149 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; -case 136: - // line 1158 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((RefType)yyVals[0+yyTop]); - } - break; -case 137: - // line 1162 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((RefType)yyVals[-2+yyTop]).setArray(true); - } - break; -case 138: - // line 1177 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); - IVD.getDeclIdMenge().addElement( ((DeclId)yyVals[0+yyTop]) ); - IVD.setOffset(((DeclId)yyVals[0+yyTop]).getOffset()); - yyVal = IVD; - } - break; -case 139: - // line 1184 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdMenge().addElement(((DeclId)yyVals[0+yyTop])); - yyVal=((FieldDeclaration)yyVals[-2+yyTop]); - } - break; -case 140: - // line 1190 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Block)yyVals[0+yyTop]); - } - break; -case 141: - // line 1195 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Block Blstat = new Block(); - Blstat.set_Statement(((Statement)yyVals[0+yyTop])); - yyVal=Blstat; - } - break; -case 142: - // line 1202 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); - yyVal=((Block)yyVals[-1+yyTop]); - } - break; -case 143: - // line 1208 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ParameterList PL = new ParameterList(); - PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop])); - yyVal = PL; - } - break; -case 144: - // line 1214 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); - yyVal = ((ParameterList)yyVals[-2+yyTop]); - } - break; -case 145: - // line 1220 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ThisCall THCON = new ThisCall(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); - yyVal=THCON; - } - break; -case 146: - // line 1225 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ThisCall THCONargl = new ThisCall(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); - THCONargl.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop])); - yyVal=THCONargl; - } - break; -case 147: - // line 1231 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - SuperCall sCall = new SuperCall(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); - yyVal=sCall; - } - break; -case 148: - // line 1236 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - SuperCall sCall = new SuperCall(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); - sCall.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop])); - yyVal=sCall; - } - break; -case 149: - // line 1243 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /*RefType RT = new RefType(RT.get_UsedId().get_Name_1Element(),null,-1);*/ - RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).get_Name_1Element(),null,-1); - /*RT.set_UsedId($1);*/ - /*RT.setName(RT.get_UsedId().get_Name_1Element());*/ - yyVal=RT; - } - break; -case 150: - // line 1251 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((RefType)yyVals[-2+yyTop]).set_UsedId(((UsedId)yyVals[0+yyTop])); - ((RefType)yyVals[-2+yyTop]).setName(((RefType)yyVals[-2+yyTop]).get_UsedId().get_Name_1Element()); - yyVal=((RefType)yyVals[-2+yyTop]); - } - break; -case 151: - // line 1258 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); - /* #JB# 10.04.2005 */ - /* ########################################################### */ - met.setLineNumber(((Token)yyVals[-2+yyTop]).getLineNumber()); - met.setOffset(((Token)yyVals[-2+yyTop]).getOffset());/*hinzugef�gt hoth: 07.04.2006*/ - /* ########################################################### */ - DeclId DImethod = new DeclId(); - DImethod.set_Name(((Token)yyVals[-2+yyTop]).getLexem()); - met.set_DeclId(DImethod); - yyVal = met; - } - break; -case 152: - // line 1271 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); - /* #JB# 10.04.2005 */ - /* ########################################################### */ - met_para.setLineNumber(((Token)yyVals[-3+yyTop]).getLineNumber()); - met_para.setOffset(((Token)yyVals[-3+yyTop]).getOffset());/*hinzugef�gt hoth: 07.04.2006*/ - /* ########################################################### */ - DeclId Dimet_para = new DeclId(); - Dimet_para.set_Name(((Token)yyVals[-3+yyTop]).getLexem()); - met_para.set_DeclId(Dimet_para); - met_para.setParameterList(((ParameterList)yyVals[-1+yyTop])); - yyVal = met_para; - } - break; -case 153: - // line 1299 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop]), Section.PARSER); - RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getQualifiedName(),null,((UsedId)yyVals[0+yyTop]).getOffset()); - - /*ausgetauscht PL 05-07-30*/ - /*RT.set_UsedId($1); */ - /*RT.setName(RT.get_UsedId().get_Name_1Element());*/ - RT.set_ParaList(((UsedId)yyVals[0+yyTop]).get_RealParaList()); - /*RT.setName($1.getQualifiedName());*/ - - - /*PL 05-07-30 eingefuegt containedTypes ANFANG*/ - containedTypes.addElement(RT); - /*PL 05-07-30 eingefuegt containedTypes ENDE*/ - - yyVal=RT; - } - break; -case 154: - // line 1321 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((DeclId)yyVals[0+yyTop]); - } - break; -case 155: - // line 1342 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((LocalVarDecl)yyVals[0+yyTop]); - } - break; -case 156: - // line 1346 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Statement)yyVals[0+yyTop]); - } - break; -case 157: - // line 1351 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); - FP.setType(((Type)yyVals[-1+yyTop])); - /*FP.set_DeclId($2); //auskommentiert von Andreas Stadelmeier. DeclId wird nun dem Konstruktor von FormalParameter �bergeben.*/ - yyVal=FP; - } - break; -case 158: - // line 1376 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name, Section.PARSER); - - FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); - - /* #JB# 31.03.2005*/ - /* ###########################################################*/ - /*Type T = TypePlaceholder.fresh(); //auskommentiert von Andreas Stadelmeier*/ - /* Type T = new TypePlaceholder(""); /* otth: Name wird automatisch berechnet * /*/ - /* ###########################################################*/ - /*de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\n--> berechneter Name: " + T.getName(), Section.PARSER);*/ - - /*auskommentiert von Andreas Stadelmeier (a10023) FP.setType( T );*/ - /*FP.set_DeclId($1);*/ - - yyVal=FP; - } - break; -case 159: - // line 1395 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ArgumentList AL = new ArgumentList(); - AL.expr.addElement(((Expr)yyVals[0+yyTop])); - yyVal=AL; - } - break; -case 160: - // line 1401 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); - yyVal=((ArgumentList)yyVals[-2+yyTop]); - } - break; -case 161: - // line 1413 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - DeclId DI = new DeclId(); - /* #JB# 10.04.2005 */ - /* ########################################################### */ - DI.setLineNumber(((Token)yyVals[0+yyTop]).getLineNumber()); - DI.setOffset(((Token)yyVals[0+yyTop]).getOffset());/*hinzugef�gt hoth: 07.04.2006*/ - /* ########################################################### */ - DI.set_Name(((Token)yyVals[0+yyTop]).getLexem()); - yyVal=DI; - } - break; -case 162: - // line 1425 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 163: - // line 1430 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((LocalVarDecl)yyVals[-1+yyTop]); - } - break; -case 164: - // line 1435 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Statement)yyVals[0+yyTop]); - } - break; -case 165: - // line 1439 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((IfStmt)yyVals[0+yyTop]); - } - break; -case 166: - // line 1443 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((IfStmt)yyVals[0+yyTop]); - } - break; -case 167: - // line 1447 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((WhileStmt)yyVals[0+yyTop]); - } - break; -case 168: - // line 1451 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((ForStmt)yyVals[0+yyTop]); - } - break; -case 169: - // line 1454 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Statement)yyVals[0+yyTop]); - } - break; -case 170: - // line 1459 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 171: - // line 1463 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((NewClass)yyVals[0+yyTop]); - } - break; -case 172: - // line 1481 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!", Section.PARSER); - LocalVarDecl LVD = new LocalVarDecl(((Type)yyVals[-1+yyTop]).getOffset(),((Type)yyVals[-1+yyTop]).getVariableLength()); - LVD.setType(((Type)yyVals[-1+yyTop])); - LVD.setDeclidMenge(((FieldDeclaration)yyVals[0+yyTop]).getDeclIdMenge()); - yyVal = LVD; - } - break; -case 173: - // line 1492 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!", Section.PARSER); - LocalVarDecl LVD = new LocalVarDecl(((FieldDeclaration)yyVals[0+yyTop]).getOffset(),((FieldDeclaration)yyVals[0+yyTop]).getVariableLength()); - /*auskommentiert von Andreas Stadelmeier (a10023) LVD.setType(TypePlaceholder.fresh());*/ - LVD.setDeclidMenge(((FieldDeclaration)yyVals[0+yyTop]).getDeclIdMenge()); - yyVal = LVD; - } - break; -case 174: - // line 1502 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Block)yyVals[0+yyTop]); - } - break; -case 175: - // line 1506 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((EmptyStmt)yyVals[0+yyTop]); - } - break; -case 176: - // line 1510 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((ExprStmt)yyVals[0+yyTop]); - } - break; -case 177: - // line 1514 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Return)yyVals[0+yyTop]); - } - break; -case 178: - // line 1519 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - Ifst.set_Expr(((Expr)yyVals[-2+yyTop])); - Ifst.set_Then_block(((Statement)yyVals[0+yyTop])); - yyVal=Ifst; - } - break; -case 179: - // line 1527 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); - IfstElst.set_Expr(((Expr)yyVals[-4+yyTop])); - IfstElst.set_Then_block(((Statement)yyVals[-2+yyTop])); - IfstElst.set_Else_block(((Statement)yyVals[0+yyTop])); - yyVal=IfstElst; - } - break; -case 180: - // line 1536 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - Whlst.set_Expr(((Expr)yyVals[-2+yyTop])); - Whlst.set_Loop_block(((Statement)yyVals[0+yyTop])); - yyVal=Whlst; - } - break; -case 181: - // line 1547 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength()); - Fst.set_head_Initializer(((Expr)yyVals[-6+yyTop])); - Fst.set_head_Condition(((Expr)yyVals[-4+yyTop])); - Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop])); - Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); - - /*Typannahme*/ - yyVal = Fst; - } - break; -case 182: - // line 1559 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); - Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); - Fst.set_head_Condition(((Expr)yyVals[-3+yyTop])); - Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); - - /*Typannahme*/ - yyVal = Fst; - } - break; -case 183: - // line 1570 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); - Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); - Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop])); - Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); - - /*Typannahme*/ - yyVal = Fst; - } - break; -case 184: - // line 1581 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); - Fst.set_head_Condition(((Expr)yyVals[-4+yyTop])); - Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop])); - Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); - - /*Typannahme*/ - yyVal = Fst; - } - break; -case 185: - // line 1592 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); - Fst.set_head_Initializer(((Expr)yyVals[-4+yyTop])); - Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); - - /*Typannahme*/ - yyVal = Fst; - } - break; -case 186: - // line 1602 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength()); - Fst.set_head_Condition(((Expr)yyVals[-3+yyTop])); - Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); - - /*Typannahme*/ - yyVal = Fst; - } - break; -case 187: - // line 1612 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ForStmt Fst = new ForStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop])); - Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); - - /*Typannahme*/ - yyVal = Fst; - } - break; -case 188: - // line 1622 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ForStmt Fst = new ForStmt(((Statement)yyVals[0+yyTop]).getOffset(),((Statement)yyVals[0+yyTop]).getVariableLength()); - Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); - - /*Typannahme*/ - yyVal = Fst; - } - break; -case 189: - // line 1631 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("conditionalexpression", Section.PARSER); - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 190: - // line 1636 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Assign)yyVals[0+yyTop]); - } - break; -case 191: - // line 1642 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - EmptyStmt Empst = new EmptyStmt(); - yyVal=Empst; - } - break; -case 192: - // line 1648 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[-1+yyTop]); - } - break; -case 193: - // line 1653 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Return ret = new Return(-1,-1); - yyVal= ret; - } - break; -case 194: - // line 1658 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Return retexp = new Return(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); - retexp.set_ReturnExpr(((Expr)yyVals[-1+yyTop])); - yyVal=retexp; - } - break; -case 195: - // line 1665 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Statement)yyVals[0+yyTop]); - } - break; -case 196: - // line 1669 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((IfStmt)yyVals[0+yyTop]); - } - break; -case 197: - // line 1673 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((WhileStmt)yyVals[0+yyTop]); - } - break; -case 198: - // line 1678 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 199: - // line 1684 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n", Section.PARSER); - Assign Ass = new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); - LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); - LOFV.set_UsedId(((UsedId)yyVals[-2+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());*/ - /*auskommentiert von Andreas Stadelmeier (a10023) Ass.setType(TypePlaceholder.fresh());*/ - if( ((Operator)yyVals[-1+yyTop]) == null ) - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nParser --> Zuweisung1 --> " + ((Expr)yyVals[0+yyTop]) + " \n", Section.PARSER); - Ass.set_Expr( LOFV,((Expr)yyVals[0+yyTop]) ); - } - else - { - Binary Bin = new Binary(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); - Bin.set_Expr1(LOFV); - Bin.set_Operator(((Operator)yyVals[-1+yyTop])); - Bin.set_Expr2(((Expr)yyVals[0+yyTop])); - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nParser --> Zuweisung1 --> Binary\n", Section.PARSER); - /*auskommentiert von Andreas Stadelmeier (a10023) Bin.setType(TypePlaceholder.fresh());*/ - Ass.set_Expr( LOFV, Bin ); - } - yyVal=Ass; - } - break; -case 200: - // line 1709 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); - LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); - LOFV.set_UsedId(((UsedId)yyVals[-2+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());*/ - /*auskommentiert von Andreas Stadelmeier (a10023) Ass.setType(TypePlaceholder.fresh());*/ - if(((Operator)yyVals[-1+yyTop])==null) - { - Ass.set_Expr(LOFV,((NewClass)yyVals[0+yyTop])); - } - else - { - Binary Bin = new Binary(((NewClass)yyVals[0+yyTop]).getOffset(),((NewClass)yyVals[0+yyTop]).getVariableLength()); - Bin.set_Expr1(LOFV); - Bin.set_Operator(((Operator)yyVals[-1+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) Bin.setType(TypePlaceholder.fresh());*/ - Bin.set_Expr2(((NewClass)yyVals[0+yyTop])); - Ass.set_Expr(LOFV,Bin); - } - yyVal=Ass; - } - break; -case 201: - // line 1732 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Assign)yyVals[0+yyTop]); - } - break; -case 202: - // line 1736 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 203: - // line 1740 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 204: - // line 1744 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 205: - // line 1748 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 206: - // line 1752 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((MethodCall)yyVals[0+yyTop]); - } - break; -case 207: - // line 1763 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); - IfElno.set_Expr(((Expr)yyVals[-4+yyTop])); - IfElno.set_Then_block(((Statement)yyVals[-2+yyTop])); - IfElno.set_Else_block(((Statement)yyVals[0+yyTop])); - yyVal=IfElno; - } - break; -case 208: - // line 1772 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - Whstno.set_Expr(((Expr)yyVals[-2+yyTop])); - Whstno.set_Loop_block(((Statement)yyVals[0+yyTop])); - yyVal=Whstno; - } - break; -case 209: - // line 1780 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 210: - // line 1784 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary LogOr = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - OrOp OrO = new OrOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - LogOr.set_Expr1(((Expr)yyVals[-2+yyTop])); - LogOr.set_Expr2(((Expr)yyVals[0+yyTop])); - LogOr.set_Operator(OrO); - /*auskommentiert von Andreas Stadelmeier (a10023) LogOr.setType(TypePlaceholder.fresh());*/ - yyVal=LogOr; - } - break; -case 211: - // line 1797 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=null; - } - break; -case 212: - // line 1802 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Block)yyVals[0+yyTop]); - } - break; -case 213: - // line 1806 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - /*Lambdabody kann auch nur aus einer Expression bestehen. In diesem Fall wird ein Block erstellt, welcher als einziges Statement ein return statment mit der expression hat.*/ - /*Bsp.: Aus der Expression |var=="hallo"| wird: |{return var=="hallo";}|*/ - Block ret=new Block(); - ret.statements.add((Statement)new Return(0,0).set_ReturnExpr(((Expr)yyVals[0+yyTop]))); - /*ret.statements.add((ExprStmt)$1);*/ - yyVal=ret; - } - break; -case 214: - // line 1816 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=null; - } - break; -case 215: - // line 1820 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((ParameterList)yyVals[-1+yyTop]); - } - break; -case 216: - // line 1825 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - LambdaExpression lambda = new LambdaExpression(/*((ParameSterList)$2).getOffset(),((ParameterList)$2).getVariableLength()*/0,0); - if(((ParameterList)yyVals[-2+yyTop])!=null)lambda.setParameterList(((ParameterList)yyVals[-2+yyTop])); - lambda.setBody((Block)((Block)yyVals[0+yyTop])); - yyVal=lambda; - } - break; -case 217: - // line 1844 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((UsedId)yyVals[0+yyTop]); - } - break; -case 218: - // line 1849 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=null; - } - break; -case 219: - // line 1853 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - TimesOp TEO = new TimesOp(-1,-1); - yyVal=TEO; - } - break; -case 220: - // line 1858 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - DivideOp DEO = new DivideOp(-1,-1); - yyVal=DEO; - } - break; -case 221: - // line 1863 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - ModuloOp MEO = new ModuloOp(-1,-1); - yyVal=MEO; - } - break; -case 222: - // line 1868 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - PlusOp PEO = new PlusOp(-1,-1); - yyVal=PEO; - } - break; -case 223: - // line 1873 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - MinusOp MEO = new MinusOp(-1,-1); - yyVal=MEO; - } - break; -case 224: - // line 1885 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - PreIncExpr PRINC = new PreIncExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); - PRINC.set_Expr(((Expr)yyVals[0+yyTop])); - yyVal=PRINC; - } - break; -case 225: - // line 1892 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - PreDecExpr PRDEC = new PreDecExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); - PRDEC.set_Expr(((Expr)yyVals[0+yyTop])); - yyVal=PRDEC; - } - break; -case 226: - // line 1899 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - PostIncExpr PIE = new PostIncExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); - PIE.set_Expr(((Expr)yyVals[-1+yyTop])); - yyVal=PIE; - } - break; -case 227: - // line 1906 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - PostDecExpr PDE = new PostDecExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); - PDE.set_Expr(((Expr)yyVals[-1+yyTop])); - yyVal=PDE; - } - break; -case 228: - // line 1914 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M1", Section.PARSER); - MethodCall MC = new MethodCall(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); - UsedId udidmeth = new UsedId(((UsedId)yyVals[-2+yyTop]).getOffset()); - udidmeth.set_Name((String)((((UsedId)yyVals[-2+yyTop]).get_Name()).elementAt(((UsedId)yyVals[-2+yyTop]).get_Name().size()-1))); - MC.set_UsedId(udidmeth); - Receiver rec = null; - if (((UsedId)yyVals[-2+yyTop]).get_Name().size() > 2) { - - ((UsedId)yyVals[-2+yyTop]).removeLast(); - - /*macht aus der Liste von Strings */ - /*in usedid.name einen InstVar */ - InstVar INSTVA = new InstVar(((UsedId)yyVals[-2+yyTop]),((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); - - /*auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh());*/ - rec = new Receiver(INSTVA); - } - else if (((UsedId)yyVals[-2+yyTop]).get_Name().size() == 2) { - LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); - ((UsedId)yyVals[-2+yyTop]).removeLast(); - LOFV.set_UsedId(((UsedId)yyVals[-2+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());*/ - rec = new Receiver(LOFV); - } - MC.set_Receiver(rec); - /*auskommentiert von Andreas Stadelmeier (a10023) MC.setType(TypePlaceholder.fresh());*/ - yyVal=MC; - } - break; -case 229: - // line 1944 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M2", Section.PARSER); - MethodCall MCarg = new MethodCall(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); - UsedId udidmeth = new UsedId(((UsedId)yyVals[-3+yyTop]).getOffset()); - udidmeth.set_Name((String)((((UsedId)yyVals[-3+yyTop]).get_Name()).elementAt(((UsedId)yyVals[-3+yyTop]).get_Name().size()-1))); - MCarg.set_UsedId(udidmeth); - Receiver rec = null; - if (((UsedId)yyVals[-3+yyTop]).get_Name().size() > 2) { - - ((UsedId)yyVals[-3+yyTop]).removeLast(); - - /*macht aus der Liste von Strings */ - /*in usedid.name einen InstVar */ - InstVar INSTVA = new InstVar(((UsedId)yyVals[-3+yyTop]),((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); - - /*auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh());*/ - rec = new Receiver(INSTVA); - } - else if (((UsedId)yyVals[-3+yyTop]).get_Name().size() == 2) { - LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); - ((UsedId)yyVals[-3+yyTop]).removeLast(); - LOFV.set_UsedId(((UsedId)yyVals[-3+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());*/ - rec = new Receiver(LOFV); - } - MCarg.set_Receiver(rec); - MCarg.set_ArgumentList(((ArgumentList)yyVals[-1+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) MCarg.setType(TypePlaceholder.fresh());*/ - yyVal=MCarg; - } - break; -case 230: - // line 1975 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M3", Section.PARSER); - MethodCall MCpr = new MethodCall(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); - - /* PL 05-08-21 primary ist kein UsedId*/ - /*$1.usedid.set_Name($3.getLexem());*/ - /*MCpr.set_UsedId($1.get_UsedId());*/ - UsedId udidmeth = new UsedId(((Expr)yyVals[-4+yyTop]).getOffset()); - udidmeth.set_Name(((Token)yyVals[-2+yyTop]).getLexem()); - MCpr.set_UsedId(udidmeth); - - /* #JB# 04.06.2005 */ - /* ########################################################### */ - MCpr.set_Receiver(new Receiver(((Expr)yyVals[-4+yyTop]))); - /* ########################################################### */ - /*auskommentiert von Andreas Stadelmeier (a10023) MCpr.setType(TypePlaceholder.fresh());*/ - yyVal=MCpr; - } - break; -case 231: - // line 1994 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M4", Section.PARSER); - MethodCall MCPA = new MethodCall(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); - - /* PL 05-08-21 primary ist kein UsedId*/ - /*$1.usedid.set_Name($3.getLexem());*/ - /*MCPA.set_UsedId($1.get_UsedId());*/ - UsedId udidmeth = new UsedId(((Token)yyVals[-3+yyTop]).getOffset()); - udidmeth.set_Name(((Token)yyVals[-3+yyTop]).getLexem()); - MCPA.set_UsedId(udidmeth); - - /* #JB# 04.06.2005 */ - /* ########################################################### */ - MCPA.set_Receiver(new Receiver(((Expr)yyVals[-5+yyTop]))); - /* ########################################################### */ - MCPA.set_ArgumentList(((ArgumentList)yyVals[-1+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) MCPA.setType(TypePlaceholder.fresh());*/ - yyVal=MCPA; - } - break; -case 232: - // line 2017 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); - NC.set_UsedId(((UsedId)yyVals[-2+yyTop])); - - usedIdsToCheck.addElement(((UsedId)yyVals[-2+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) NC.setType(TypePlaceholder.fresh());*/ - yyVal=NC; - } - break; -case 233: - // line 2026 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); - NCarg.set_UsedId(((UsedId)yyVals[-3+yyTop])); - usedIdsToCheck.addElement(((UsedId)yyVals[-3+yyTop])); - NCarg.set_ArgumentList(((ArgumentList)yyVals[-1+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) NCarg.setType(TypePlaceholder.fresh());*/ - yyVal=NCarg; - } - break; -case 234: - // line 2036 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 235: - // line 2040 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary And = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - AndOp AndO = new AndOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - And.set_Expr1(((Expr)yyVals[-2+yyTop])); - And.set_Expr2(((Expr)yyVals[0+yyTop])); - And.set_Operator(AndO); - /*auskommentiert von Andreas Stadelmeier (a10023) And.setType(TypePlaceholder.fresh());*/ - yyVal=And; - } - break; -case 236: - // line 2056 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 237: - // line 2060 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 238: - // line 2064 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); - UnaryPlus UP= new UnaryPlus(); - POSEX.set_UnaryPlus(UP); - POSEX.set_Expr(((Expr)yyVals[0+yyTop])); - yyVal=POSEX; - } - break; -case 239: - // line 2072 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); - UnaryMinus UM=new UnaryMinus(); - NEGEX.set_UnaryMinus(UM); - NEGEX.set_Expr(((Expr)yyVals[0+yyTop])); - yyVal=NEGEX; - } - break; -case 240: - // line 2080 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 241: - // line 2085 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 242: - // line 2089 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { - - /*macht aus der Liste von Strings */ - /*in usedid.name einen InstVar */ - InstVar INSTVA = new InstVar(((UsedId)yyVals[0+yyTop]),((UsedId)yyVals[0+yyTop]).getOffset(),((UsedId)yyVals[0+yyTop]).getVariableLength()); - - /*auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh());*/ - yyVal = INSTVA; - } - else { - LocalOrFieldVarOrClassname Postincexpr = new LocalOrFieldVarOrClassname(((UsedId)yyVals[0+yyTop]).getOffset(),((UsedId)yyVals[0+yyTop]).getVariableLength()); - Postincexpr.set_UsedId(((UsedId)yyVals[0+yyTop])); - /*auskommentiert von Andreas Stadelmeier (a10023) Postincexpr.setType(TypePlaceholder.fresh());*/ - yyVal=Postincexpr; - } - } - break; -case 243: - // line 2107 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 244: - // line 2111 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 245: - // line 2116 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 246: - // line 2121 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 248: - // line 2127 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Literal)yyVals[0+yyTop]); - } - break; -case 249: - // line 2131 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - This T = new This(((Token)yyVals[0+yyTop]).getOffset(),((Token)yyVals[0+yyTop]).getLexem().length()); - UsedId UT = new UsedId(((Token)yyVals[0+yyTop]).getOffset()); - UT.set_Name(((Token)yyVals[0+yyTop]).getLexem()); - T.set_UsedId(UT); - yyVal=T; - } - break; -case 250: - // line 2152 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((MethodCall)yyVals[0+yyTop]); - } - break; -case 251: - // line 2156 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 252: - // line 2161 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - {yyVal=((Expr)yyVals[0+yyTop]);} - break; -case 253: - // line 2163 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); - UnaryNot UN=new UnaryNot(); - NE.set_UnaryNot(UN); - NE.set_Expr(((Expr)yyVals[0+yyTop])); - yyVal=NE; - } - break; -case 254: - // line 2173 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - {yyVal=((Expr)yyVals[0+yyTop]);} - break; -case 256: - // line 2178 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - {IntLiteral IL = new IntLiteral(); - IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); - yyVal = IL; - } - break; -case 257: - // line 2183 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - {BoolLiteral BL = new BoolLiteral(); - BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); - yyVal = BL; - } - break; -case 258: - // line 2187 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - {CharLiteral CL = new CharLiteral(); - CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); - yyVal=CL; - } - break; -case 259: - // line 2192 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - StringLiteral ST = new StringLiteral(); - ST.set_String(((Token)yyVals[0+yyTop]).get_String()); - yyVal=ST; - } - break; -case 260: - // line 2197 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { LongLiteral LL = new LongLiteral(); - LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); - yyVal = LL; - } - break; -case 261: - // line 2201 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - FloatLiteral FL = new FloatLiteral(); - FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); - yyVal = FL; - } - break; -case 262: - // line 2206 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - DoubleLiteral DL = new DoubleLiteral(); - DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); - yyVal = DL; - } - break; -case 263: - // line 2212 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Null NN = new Null(); - yyVal=NN; - } - break; -case 264: - // line 2231 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 265: - // line 2235 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - } - break; -case 266: - // line 2239 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 267: - // line 2243 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary EQ = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - EqualOp EO = new EqualOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - EQ.set_Expr1(((Expr)yyVals[-2+yyTop])); - EQ.set_Expr2(((Expr)yyVals[0+yyTop])); - EQ.set_Operator(EO); - /*auskommentiert von Andreas Stadelmeier (a10023) EQ.setType(TypePlaceholder.fresh());*/ - yyVal=EQ; - } - break; -case 268: - // line 2253 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary NEQ = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - NotEqualOp NEO = new NotEqualOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - NEQ.set_Expr1(((Expr)yyVals[-2+yyTop])); - NEQ.set_Expr2(((Expr)yyVals[0+yyTop])); - NEQ.set_Operator(NEO); - /*auskommentiert von Andreas Stadelmeier (a10023) NEQ.setType(TypePlaceholder.fresh());*/ - yyVal=NEQ; - } - break; -case 269: - // line 2264 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 270: - // line 2268 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary LO = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - LessOp LOO = new LessOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - LO.set_Expr1(((Expr)yyVals[-2+yyTop])); - LO.set_Expr2(((Expr)yyVals[0+yyTop])); - LO.set_Operator(LOO); - /*auskommentiert von Andreas Stadelmeier (a10023) LO.setType(TypePlaceholder.fresh());*/ - yyVal=LO; - } - break; -case 271: - // line 2278 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary GO = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - GreaterOp GOO = new GreaterOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - GO.set_Expr1(((Expr)yyVals[-2+yyTop])); - GO.set_Expr2(((Expr)yyVals[0+yyTop])); - GO.set_Operator( GOO ); - /*auskommentiert von Andreas Stadelmeier (a10023) GO.setType(TypePlaceholder.fresh());*/ - yyVal=GO; - } - break; -case 272: - // line 2288 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary LE = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - LessEquOp LEO = new LessEquOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - LE.set_Expr1(((Expr)yyVals[-2+yyTop])); - LE.set_Expr2(((Expr)yyVals[0+yyTop])); - LE.set_Operator(LEO); - /*auskommentiert von Andreas Stadelmeier (a10023) LE.setType(TypePlaceholder.fresh());*/ - yyVal=LE; - } - break; -case 273: - // line 2298 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary GE = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - GreaterEquOp GEO = new GreaterEquOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - GE.set_Expr1(((Expr)yyVals[-2+yyTop])); - GE.set_Expr2(((Expr)yyVals[0+yyTop])); - GE.set_Operator(GEO); - /*auskommentiert von Andreas Stadelmeier (a10023) GE.setType(TypePlaceholder.fresh());*/ - yyVal=GE; - } - break; -case 274: - // line 2308 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - ISO.set_Expr(((Expr)yyVals[-2+yyTop])); - ISO.set_Type(((RefType)yyVals[0+yyTop])); - yyVal=ISO; - } - break; -case 275: - // line 2316 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 276: - // line 2321 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 277: - // line 2325 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary AD = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - PlusOp PO = new PlusOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - AD.set_Expr1(((Expr)yyVals[-2+yyTop])); - AD.set_Expr2(((Expr)yyVals[0+yyTop])); - AD.set_Operator(PO); - /*auskommentiert von Andreas Stadelmeier (a10023) AD.setType(TypePlaceholder.fresh());*/ - yyVal=AD; - } - break; -case 278: - // line 2335 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary MI = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - MinusOp MO = new MinusOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - MI.set_Expr1(((Expr)yyVals[-2+yyTop])); - MI.set_Expr2(((Expr)yyVals[0+yyTop])); - MI.set_Operator(MO); - /*auskommentiert von Andreas Stadelmeier (a10023) MI.setType(TypePlaceholder.fresh());*/ - yyVal=MI; - } - break; -case 279: - // line 2346 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 280: - // line 2350 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary ML = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - TimesOp TO = new TimesOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - ML.set_Expr1(((Expr)yyVals[-2+yyTop])); - ML.set_Expr2(((Expr)yyVals[0+yyTop])); - ML.set_Operator(TO); - /*auskommentiert von Andreas Stadelmeier (a10023) ML.setType(TypePlaceholder.fresh());*/ - yyVal=ML; - } - break; -case 281: - // line 2360 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary DV = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - DivideOp DO = new DivideOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - DV.set_Expr1(((Expr)yyVals[-2+yyTop])); - DV.set_Expr2(((Expr)yyVals[0+yyTop])); - DV.set_Operator(DO); - /*auskommentiert von Andreas Stadelmeier (a10023) DV.setType(TypePlaceholder.fresh());*/ - yyVal = DV; - } - break; -case 282: - // line 2370 "./../src/de/dhbwstuttgart/parser/JavaParser.jay" - { - Binary MD = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - ModuloOp MO = new ModuloOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); - MD.set_Expr1(((Expr)yyVals[-2+yyTop])); - MD.set_Expr2(((Expr)yyVals[0+yyTop])); - MD.set_Operator(MO); - /*auskommentiert von Andreas Stadelmeier (a10023) MD.setType(TypePlaceholder.fresh());*/ - yyVal =MD; - } - break; - // line 3057 "-" - } - yyTop -= yyLen[yyN]; - yyState = yyStates[yyTop]; - int yyM = yyLhs[yyN]; - if (yyState == 0 && yyM == 0) { -//t if (yydebug != null) yydebug.shift(0, yyFinal); - yyState = yyFinal; - if (yyToken < 0) { - yyToken = yyLex.advance() ? yyLex.token() : 0; -//t if (yydebug != null) -//t yydebug.lex(yyState, yyToken,yyname(yyToken), yyLex.value()); - } - if (yyToken == 0) { -//t if (yydebug != null) yydebug.accept(yyVal); - return yyVal; - } - continue yyLoop; - } - if ((yyN = yyGindex[yyM]) != 0 && (yyN += yyState) >= 0 - && yyN < yyTable.length && yyCheckInit.yyCheck[yyN] == yyState) - yyState = yyTable[yyN]; - else - yyState = yyDgoto[yyM]; -//t if (yydebug != null) yydebug.shift(yyStates[yyTop], yyState); - continue yyLoop; - } - } - } - - protected static final short yyLhs [] = { -1, - 0, 0, 0, 0, 0, 96, 27, 27, 26, 90, - 90, 28, 28, 103, 103, 24, 25, 25, 23, 1, - 1, 1, 1, 1, 1, 1, 1, 9, 9, 8, - 8, 2, 2, 2, 2, 109, 109, 109, 109, 109, - 109, 112, 112, 112, 7, 7, 38, 38, 29, 33, - 33, 3, 3, 34, 34, 16, 16, 39, 39, 39, - 39, 39, 39, 30, 4, 4, 32, 17, 17, 17, - 31, 110, 110, 110, 110, 111, 111, 5, 5, 18, - 18, 108, 104, 104, 10, 6, 20, 20, 11, 12, - 12, 12, 12, 12, 12, 14, 40, 40, 105, 105, - 106, 106, 106, 106, 46, 92, 95, 95, 91, 91, - 93, 93, 94, 94, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 37, 37, 19, 19, 41, - 42, 42, 48, 48, 107, 107, 107, 107, 36, 36, - 15, 15, 35, 21, 78, 78, 47, 47, 101, 101, - 22, 76, 44, 79, 79, 79, 79, 79, 79, 69, - 69, 45, 45, 77, 77, 77, 77, 84, 85, 81, - 82, 82, 82, 82, 82, 82, 82, 82, 67, 67, - 87, 75, 88, 88, 80, 80, 80, 66, 97, 97, - 70, 70, 70, 70, 70, 70, 86, 83, 65, 65, - 99, 43, 43, 49, 49, 68, 100, 98, 98, 98, - 98, 98, 98, 71, 72, 73, 74, 102, 102, 102, - 102, 89, 89, 64, 64, 55, 55, 55, 55, 55, - 53, 53, 53, 53, 52, 63, 63, 51, 51, 51, - 51, 54, 54, 62, 62, 50, 50, 50, 50, 50, - 50, 50, 50, 61, 61, 60, 60, 60, 59, 59, - 59, 59, 59, 59, 58, 57, 57, 57, 56, 56, - 56, 56, - }; - protected static final short yyLen [] = { 2, - 1, 2, 3, 2, 3, 3, 1, 2, 3, 1, - 2, 1, 1, 1, 1, 3, 3, 3, 1, 3, - 4, 4, 5, 4, 5, 5, 6, 1, 4, 1, - 4, 3, 4, 4, 5, 1, 4, 1, 3, 6, - 3, 1, 3, 3, 2, 3, 1, 2, 2, 2, - 3, 2, 3, 2, 3, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, - 2, 1, 3, 3, 1, 0, 3, 1, 1, 1, - 1, 2, 2, 3, 6, 2, 3, 1, 3, 3, - 2, 4, 2, 3, 4, 2, 2, 3, 3, 4, - 2, 3, 3, 4, 2, 1, 1, 3, 1, 3, - 1, 3, 1, 3, 3, 2, 3, 4, 3, 4, - 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, - 1, 2, 2, 2, 3, 1, 3, 1, 3, 1, - 1, 2, 1, 3, 4, 5, 4, 5, 1, 3, - 3, 4, 1, 1, 1, 1, 2, 1, 1, 3, - 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 1, 1, 5, 7, 5, - 9, 8, 8, 8, 7, 7, 7, 6, 1, 1, - 1, 2, 2, 3, 1, 1, 1, 1, 3, 3, - 1, 1, 1, 1, 1, 1, 7, 5, 1, 3, - 1, 1, 1, 2, 3, 3, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 2, 2, 3, 4, 5, - 6, 4, 5, 1, 3, 1, 1, 2, 2, 1, - 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, - 1, 1, 2, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 1, 3, 3, 1, 3, - 3, 3, 3, 3, 1, 1, 3, 3, 1, 3, - 3, 3, - }; - protected static final short yyDefRed [] = { 0, - 62, 0, 63, 60, 59, 58, 0, 0, 0, 61, - 19, 0, 14, 15, 13, 12, 7, 0, 0, 153, - 0, 0, 0, 47, 0, 0, 10, 0, 0, 0, - 0, 0, 0, 0, 8, 0, 0, 0, 71, 0, - 0, 0, 0, 48, 11, 0, 0, 0, 0, 0, - 0, 20, 0, 0, 6, 9, 0, 0, 0, 0, - 32, 0, 16, 0, 72, 0, 75, 137, 5, 0, - 0, 0, 0, 106, 107, 0, 49, 64, 67, 50, - 0, 0, 0, 0, 45, 0, 80, 0, 81, 0, - 0, 56, 68, 0, 0, 0, 154, 0, 0, 0, - 70, 0, 69, 22, 0, 0, 24, 0, 18, 0, - 54, 0, 52, 0, 65, 79, 78, 0, 0, 0, - 0, 0, 34, 0, 0, 0, 77, 21, 0, 0, - 33, 0, 0, 0, 31, 0, 82, 0, 0, 0, - 113, 0, 0, 132, 0, 140, 96, 0, 134, 46, - 57, 0, 93, 91, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 26, 51, 29, - 53, 66, 0, 86, 0, 55, 43, 44, 73, 74, - 23, 0, 25, 35, 111, 0, 108, 0, 0, 0, - 0, 0, 0, 256, 260, 262, 261, 257, 263, 258, - 259, 0, 0, 0, 191, 97, 0, 0, 138, 0, - 0, 174, 0, 155, 0, 0, 248, 245, 0, 0, - 251, 0, 202, 203, 0, 0, 176, 164, 141, 156, - 167, 168, 165, 166, 175, 177, 201, 0, 0, 169, - 125, 151, 158, 0, 143, 0, 0, 89, 0, 0, - 0, 0, 149, 0, 161, 139, 0, 249, 0, 0, - 0, 0, 0, 240, 279, 0, 0, 269, 0, 0, - 0, 0, 0, 0, 0, 189, 170, 87, 236, 237, - 243, 244, 171, 190, 250, 99, 0, 119, 94, 90, - 0, 0, 0, 135, 0, 0, 84, 101, 0, 0, - 0, 27, 0, 0, 0, 193, 0, 0, 0, 0, - 0, 224, 225, 214, 0, 0, 0, 98, 142, 163, - 211, 0, 0, 226, 227, 192, 222, 223, 219, 220, - 221, 218, 0, 157, 0, 152, 114, 129, 120, 92, - 0, 0, 238, 239, 253, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 100, 126, 0, 0, 121, 95, 103, 102, - 0, 0, 112, 0, 0, 0, 194, 0, 159, 0, - 0, 0, 0, 215, 228, 0, 212, 216, 213, 0, - 199, 200, 144, 150, 0, 280, 281, 282, 0, 0, - 274, 272, 273, 270, 271, 0, 0, 0, 0, 0, - 0, 0, 130, 122, 104, 0, 0, 0, 0, 0, - 147, 0, 0, 145, 0, 0, 229, 0, 232, 0, - 85, 0, 0, 0, 0, 0, 0, 0, 0, 178, - 0, 197, 196, 160, 148, 146, 180, 230, 0, 233, - 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 231, 187, 186, 0, 185, 0, 0, 0, 0, 0, - 179, 184, 183, 182, 0, 0, 0, 181, 0, 208, - 0, 207, - }; - protected static final short yyDgoto [] = { 12, - 13, 14, 61, 114, 115, 116, 52, 29, 34, 117, - 86, 87, 88, 89, 90, 91, 92, 93, 208, 95, - 209, 97, 15, 16, 31, 17, 18, 262, 53, 77, - 20, 80, 54, 62, 21, 254, 211, 23, 24, 212, - 147, 213, 388, 214, 215, 149, 245, 246, 216, 217, - 218, 219, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 221, 379, 222, - 279, 280, 281, 282, 227, 0, 228, 229, 230, 441, - 231, 232, 442, 233, 234, 443, 235, 236, 283, 25, - 74, 75, 186, 142, 76, 26, 284, 333, 322, 238, - 380, 285, 27, 101, 102, 167, 240, 103, 0, 66, - 39, 67, - }; - protected static final short yySindex [] = { 411, - 0, -224, 0, 0, 0, 0, -208, -208, -184, 0, - 0, 0, 0, 0, 0, 0, 0, 233, 165, 0, - 73, -208, 727, 0, 993, 233, 0, 110, -96, 332, - 117, 141, 135, -87, 0, 993, -66, -46, 0, 154, - 411, -224, -184, 0, 0, 233, 993, -45, -208, -208, - -50, 0, -92, -11, 0, 0, -42, -45, -208, 681, - 0, 9, 0, -200, 0, 168, 0, 0, 0, -96, - -87, 993, 20, 0, 0, 187, 0, 0, 0, 0, - 163, 21, 250, -45, 0, 33, 0, 163, 0, 52, - 2325, 0, 0, 271, 261, 309, 0, 336, 81, 2354, - 0, 272, 0, 0, -11, -208, 0, 0, 0, 206, - 0, 250, 0, 2328, 0, 0, 0, 33, 348, 21, - 2354, -208, 0, -208, -208, -46, 0, 0, -92, -11, - 0, 9, -208, -45, 0, 1960, 0, 250, 52, -34, - 0, 209, 21, 0, 81, 0, 0, -208, 0, 0, - 0, 136, 0, 0, 906, -29, 250, 52, 284, 359, - 21, 143, 52, 81, 272, 2029, 0, 0, 0, 0, - 0, 0, 21, 0, 164, 0, 0, 0, 0, 0, - 0, -11, 0, 0, 0, 394, 0, 424, 426, 409, - 431, 432, 436, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 923, 923, 0, 0, -22, 433, 0, 279, - 136, 0, 2070, 0, 422, 162, 0, 0, 457, 105, - 0, 446, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -39, 0, 0, - 0, 0, 0, 136, 0, 72, -45, 0, 52, 52, - 448, 309, 0, 471, 0, 0, -208, 0, 923, 923, - 923, 30, 105, 0, 0, 406, 39, 0, 34, 131, - 478, 427, 404, 222, 234, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 442, 0, 0, 0, - 52, 21, 21, 0, 52, 285, 0, 0, 2104, 2139, - 59, 0, -208, 449, 906, 0, 488, 543, 590, 906, - 30, 0, 0, 0, 444, 619, 433, 0, 0, 0, - 0, 636, 248, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 906, 0, 253, 0, 0, 0, 0, 0, - -208, 520, 0, 0, 0, 923, 923, 923, 923, 923, - -208, 923, 923, 923, 923, 923, 923, 923, 923, 923, - 923, 923, 0, 0, 52, 52, 0, 0, 0, 0, - 2171, 906, 0, 492, 506, 525, 0, 510, 0, 454, - 513, 456, 532, 0, 0, 460, 0, 0, 0, 534, - 0, 0, 0, 0, 680, 0, 0, 0, 406, 406, - 0, 0, 0, 0, 0, 34, 34, 131, 478, 427, - 404, 222, 0, 0, 0, 516, 720, 518, 737, 2211, - 0, 906, 519, 0, 523, 2250, 0, 764, 0, 482, - 0, 2250, 546, 781, 833, 544, 553, 562, 0, 0, - 338, 0, 0, 0, 0, 0, 0, 0, 514, 0, - 0, 2250, 2250, 566, 2250, 567, 860, 906, 906, 2250, - 0, 0, 0, 2250, 0, 2250, 2250, 568, 569, 580, - 0, 0, 0, 0, 2250, 2211, 2211, 0, 355, 0, - 2211, 0, - }; - protected static final short yyRindex [] = { 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1054, 0, - 2299, 0, 0, 0, 625, 0, 0, -93, 0, 0, - 0, 0, -77, 0, 0, 628, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 283, 0, 0, 0, 0, 0, 0, - 0, 637, 331, 0, 0, 0, 0, 0, 0, 0, - 2358, 0, -12, 0, 0, 0, 0, 0, 0, -15, - 0, 0, 0, 0, 0, 324, 0, -32, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, - 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 366, 24, 0, 0, - 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 337, 0, 0, 0, 0, - 0, -35, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -3, 0, 0, 0, 0, 0, 577, 0, 303, - 0, 0, 0, 0, 0, 0, 0, 0, 1192, 0, - 0, 0, 0, 0, -24, -14, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -43, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 38, 50, - 0, 583, 0, 51, 0, 0, 0, 0, 0, 0, - 0, 554, 1971, 0, 0, 1607, 1644, 0, 1754, 1681, - 1201, 1129, 1246, 1305, 1331, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 77, 0, 0, 0, 95, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1368, 0, 0, 0, 0, 0, 584, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 101, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1880, 1917, - 0, 0, 0, 0, 0, 1773, 1809, 1718, 1479, 1407, - 1521, 1584, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1841, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - }; - protected static final short yyGindex [] = { 598, - 0, 0, -8, 0, 530, 0, 646, 611, 613, 0, - 14, 0, 31, 0, 2551, 0, 563, 0, 4, 84, - 47, -138, 102, 0, 0, 191, 631, 1, 588, -124, - -44, 267, 19, 592, 18, 0, 80, 232, 44, -68, - 0, -145, 0, 0, 0, 1498, 326, -51, 0, 0, - 0, 0, -55, 0, 386, 97, 0, 107, 94, 307, - 308, 306, 310, 311, 0, 0, 339, 0, -126, 0, - -36, 3, 67, 86, 0, 0, -238, -209, 2226, -75, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 362, - -59, 536, 0, 0, 624, 0, 104, 0, 0, 0, - -243, 174, 185, 0, 585, 512, 517, 0, 0, 0, - 0, 560, - }; - protected static final short yyTable [] = { 109, - 19, 243, 250, 319, 78, 79, 242, 30, 32, 84, - 249, 286, 137, 13, 79, 206, 64, 243, 314, 146, - 299, 332, 19, 253, 141, 19, 51, 13, 278, 30, - 51, 161, 106, 19, 204, 60, 19, 161, 19, 19, - 161, 19, 19, 131, 205, 28, 161, 19, 161, 19, - 19, 19, 122, 123, 94, 161, 19, 19, 13, 19, - 19, 79, 131, 307, 123, 382, 44, 124, 243, 316, - 19, 105, 386, 118, 85, 37, 28, 79, 19, 22, - 220, 349, 116, 350, 125, 133, 19, 19, 130, 319, - 119, 19, 11, 354, 94, 355, 127, 96, 140, 223, - 19, 41, 159, 78, 287, 334, 19, 131, 115, 105, - 220, 51, 336, 162, 19, 335, 33, 65, 19, 372, - 22, 19, 19, 184, 19, 19, 19, 118, 123, 223, - 99, 60, 342, 19, 162, 124, 210, 96, 224, 120, - 19, 177, 178, 44, 119, 96, 116, 182, 19, 133, - 185, 430, 98, 117, 371, 315, 19, 220, 128, 118, - 127, 319, 19, 40, 44, 145, 210, 296, 224, 48, - 99, 49, 115, 105, 30, 56, 223, 375, 376, 164, - 59, 439, 160, 383, 449, 50, 57, 337, 30, 50, - 28, 252, 98, 120, 58, 389, 243, 173, 256, 124, - 175, 98, 225, 311, 311, 179, 1, 19, 35, 45, - 37, 126, 78, 210, 317, 224, 394, 117, 3, 244, - 45, 226, 128, 118, 38, 4, 5, 6, 251, 127, - 134, 45, 225, 81, 63, 244, 35, 439, 439, 237, - 82, 293, 439, 220, 220, 416, 68, 418, 135, 134, - 83, 226, 247, 387, 11, 73, 45, 19, 108, 311, - 311, 311, 223, 223, 250, 250, 202, 170, 13, 237, - 248, 202, 249, 249, 327, 328, 329, 330, 202, 225, - 19, 331, 100, 243, 243, 136, 244, 133, 19, 140, - 433, 121, 436, 244, 244, 444, 78, 19, 226, 210, - 210, 224, 224, 19, 19, 19, 351, 454, 456, 239, - 19, 19, 19, 19, 152, 220, 237, 19, 316, 154, - 373, 138, 100, 143, 37, 111, 42, 152, 152, 153, - 468, 469, 470, 112, 223, 19, 352, 353, 38, 239, - 148, 19, 289, 368, 42, 121, 311, 311, 311, 311, - 311, 19, 311, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 217, 220, 225, 225, 138, 401, 155, - 220, 210, 169, 224, 109, 156, 220, 37, 16, 36, - 110, 157, 88, 223, 226, 226, 239, 47, 176, 223, - 55, 17, 109, 76, 166, 223, 220, 220, 110, 220, - 479, 480, 237, 237, 220, 482, 174, 72, 220, 161, - 220, 220, 324, 325, 244, 223, 223, 290, 223, 220, - 220, 220, 224, 223, 161, 220, 161, 223, 224, 223, - 223, 303, 356, 292, 224, 357, 255, 225, 223, 223, - 223, 261, 348, 11, 223, 399, 400, 346, 207, 406, - 407, 259, 347, 260, 224, 224, 226, 224, 402, 403, - 404, 405, 224, 304, 301, 305, 224, 306, 224, 224, - 308, 309, 239, 239, 237, 310, 152, 224, 224, 224, - 320, 261, 363, 224, 384, 335, 225, 335, 207, 1, - 321, 259, 225, 260, 423, 2, 425, 422, 225, 422, - 427, 3, 323, 422, 326, 226, 340, 374, 4, 5, - 6, 226, 8, 9, 341, 358, 10, 226, 225, 225, - 359, 225, 450, 237, 261, 422, 225, 360, 361, 237, - 225, 207, 225, 225, 259, 237, 260, 226, 226, 362, - 226, 225, 225, 225, 239, 226, 377, 225, 390, 226, - 417, 226, 226, 202, 461, 237, 237, 422, 237, 395, - 226, 226, 226, 237, 419, 420, 226, 237, 421, 237, - 237, 424, 426, 428, 431, 261, 434, 445, 237, 237, - 237, 446, 207, 378, 237, 259, 452, 260, 312, 313, - 242, 242, 458, 239, 242, 242, 242, 242, 242, 239, - 242, 459, 457, 76, 460, 239, 464, 466, 475, 476, - 242, 242, 242, 242, 217, 242, 217, 217, 217, 217, - 477, 481, 261, 217, 1, 239, 239, 2, 239, 207, - 381, 4, 259, 239, 260, 173, 3, 239, 69, 239, - 239, 88, 172, 172, 343, 344, 345, 242, 239, 239, - 239, 261, 70, 151, 239, 71, 46, 129, 207, 385, - 393, 259, 132, 260, 408, 410, 409, 1, 261, 187, - 411, 391, 412, 2, 392, 207, 297, 242, 259, 3, - 260, 110, 300, 257, 165, 180, 4, 5, 6, 7, - 8, 9, 0, 0, 10, 258, 0, 0, 104, 107, - 0, 194, 195, 196, 197, 198, 199, 200, 201, 11, - 0, 11, 261, 0, 0, 128, 203, 204, 0, 207, - 429, 0, 259, 257, 260, 0, 0, 0, 0, 0, - 0, 396, 397, 398, 0, 258, 0, 0, 0, 0, - 84, 194, 195, 196, 197, 198, 199, 200, 201, 11, - 168, 0, 261, 0, 0, 0, 203, 204, 136, 207, - 432, 0, 259, 0, 260, 0, 257, 0, 0, 261, - 0, 0, 0, 0, 181, 183, 207, 0, 258, 259, - 0, 260, 0, 0, 194, 195, 196, 197, 198, 199, - 200, 201, 11, 0, 0, 435, 261, 0, 0, 203, - 204, 0, 0, 207, 448, 113, 259, 0, 260, 0, - 0, 0, 0, 261, 0, 0, 0, 257, 0, 0, - 207, 453, 0, 259, 0, 260, 242, 302, 0, 258, - 0, 0, 0, 0, 0, 194, 195, 196, 197, 198, - 199, 200, 201, 11, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 0, 0, 242, 242, 242, 242, 242, - 242, 242, 242, 0, 257, 261, 0, 217, 217, 217, - 217, 0, 207, 455, 217, 259, 258, 260, 0, 0, - 0, 0, 194, 195, 196, 197, 198, 199, 200, 201, - 11, 0, 261, 257, 0, 0, 0, 203, 204, 207, - 467, 0, 259, 0, 260, 258, 0, 0, 0, 0, - 257, 194, 195, 196, 197, 198, 199, 200, 201, 11, - 0, 0, 258, 0, 0, 0, 203, 204, 194, 195, - 196, 197, 198, 199, 200, 201, 11, 1, 261, 0, - 0, 0, 0, 203, 204, 207, 0, 0, 259, 3, - 260, 0, 0, 0, 257, 261, 4, 5, 6, 0, - 0, 0, 207, 0, 10, 259, 258, 260, 0, 0, - 0, 82, 194, 195, 196, 197, 198, 199, 200, 201, - 11, 112, 0, 1, 0, 0, 0, 203, 204, 42, - 0, 0, 0, 0, 257, 3, 0, 0, 0, 0, - 0, 0, 4, 5, 6, 0, 258, 43, 0, 0, - 10, 257, 194, 195, 196, 197, 198, 199, 200, 201, - 11, 0, 0, 258, 0, 0, 0, 203, 204, 194, - 195, 196, 197, 198, 199, 200, 201, 11, 257, 0, - 0, 0, 0, 0, 203, 204, 0, 0, 0, 0, - 258, 0, 0, 0, 0, 257, 194, 195, 196, 197, - 198, 199, 200, 201, 11, 0, 0, 258, 0, 0, - 0, 203, 204, 194, 195, 196, 197, 198, 199, 200, - 201, 11, 0, 0, 0, 0, 0, 0, 203, 204, - 76, 76, 0, 76, 76, 76, 76, 76, 76, 0, - 76, 0, 0, 0, 0, 0, 0, 257, 0, 0, - 0, 0, 76, 0, 0, 76, 0, 0, 0, 258, - 0, 0, 0, 0, 0, 194, 195, 196, 197, 198, - 199, 200, 201, 11, 257, 0, 0, 0, 0, 0, - 203, 204, 0, 0, 76, 0, 258, 76, 0, 0, - 0, 0, 194, 195, 196, 197, 198, 199, 200, 201, - 11, 0, 0, 0, 0, 246, 246, 203, 204, 246, - 246, 246, 246, 246, 246, 246, 76, 76, 0, 0, - 257, 0, 0, 0, 0, 0, 0, 246, 246, 0, - 246, 0, 258, 0, 0, 0, 0, 0, 194, 195, - 196, 197, 198, 199, 200, 201, 11, 0, 0, 258, - 0, 0, 0, 203, 204, 194, 195, 196, 197, 198, - 199, 200, 201, 11, 0, 0, 0, 0, 241, 241, - 203, 204, 241, 241, 241, 241, 241, 254, 241, 0, - 0, 254, 254, 254, 254, 254, 254, 254, 0, 1, - 241, 241, 246, 241, 0, 2, 0, 0, 0, 254, - 254, 3, 254, 0, 0, 0, 0, 0, 4, 5, - 6, 0, 0, 9, 0, 0, 10, 0, 0, 0, - 0, 0, 234, 234, 0, 241, 234, 234, 234, 234, - 234, 234, 234, 0, 254, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 234, 234, 0, 234, 0, 0, - 76, 0, 0, 0, 0, 241, 76, 0, 0, 0, - 0, 0, 76, 0, 254, 0, 76, 0, 0, 76, - 76, 76, 76, 76, 76, 76, 0, 76, 0, 234, - 0, 209, 209, 0, 0, 209, 209, 209, 209, 209, - 209, 209, 0, 0, 76, 76, 76, 76, 76, 76, - 76, 76, 76, 209, 209, 0, 209, 198, 198, 0, - 0, 198, 198, 198, 198, 198, 198, 198, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, - 198, 0, 198, 0, 0, 0, 0, 0, 209, 0, - 0, 246, 0, 0, 242, 242, 0, 0, 242, 242, - 242, 242, 242, 0, 242, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 198, 0, 242, 242, 209, 242, - 246, 246, 246, 246, 246, 246, 246, 246, 0, 0, - 0, 0, 0, 247, 247, 0, 0, 247, 247, 247, - 247, 247, 247, 247, 198, 0, 0, 0, 0, 0, - 0, 242, 0, 0, 241, 247, 247, 0, 247, 0, - 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 242, 0, 241, 241, 241, 241, 241, 241, 241, - 241, 0, 254, 254, 254, 254, 254, 254, 254, 254, - 0, 0, 0, 0, 0, 255, 0, 0, 234, 255, - 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, - 247, 0, 0, 0, 0, 0, 0, 255, 255, 0, - 255, 0, 0, 0, 0, 0, 0, 234, 234, 234, - 234, 234, 234, 234, 234, 0, 0, 235, 235, 0, - 0, 235, 235, 235, 235, 235, 235, 235, 0, 0, - 0, 0, 255, 0, 0, 0, 0, 209, 0, 235, - 235, 0, 235, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 255, 198, 0, 0, 209, 209, 209, 209, - 209, 0, 209, 209, 235, 0, 0, 0, 0, 0, - 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, - 210, 0, 198, 198, 198, 198, 241, 198, 198, 198, - 242, 0, 210, 210, 276, 210, 0, 276, 0, 276, - 276, 276, 276, 0, 0, 288, 0, 0, 0, 0, - 294, 0, 0, 0, 0, 276, 276, 0, 276, 242, - 242, 242, 242, 242, 242, 242, 242, 210, 0, 247, - 275, 275, 0, 0, 275, 275, 0, 275, 0, 275, - 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 276, 0, 275, 275, 0, 275, 0, 210, 247, 247, - 247, 247, 247, 247, 247, 247, 0, 264, 264, 0, - 0, 264, 264, 264, 264, 264, 264, 264, 0, 0, - 276, 0, 0, 0, 0, 0, 0, 275, 0, 264, - 264, 0, 264, 0, 0, 0, 338, 339, 0, 0, - 0, 255, 0, 0, 265, 265, 0, 0, 265, 265, - 265, 265, 265, 265, 265, 0, 0, 275, 0, 0, - 0, 0, 0, 0, 264, 0, 265, 265, 0, 265, - 255, 255, 255, 255, 255, 255, 255, 255, 364, 0, - 266, 266, 367, 235, 266, 266, 266, 266, 266, 266, - 266, 0, 0, 0, 264, 0, 0, 0, 0, 267, - 267, 265, 266, 267, 267, 267, 267, 267, 267, 267, - 0, 0, 235, 235, 235, 235, 235, 235, 235, 235, - 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 265, 0, 0, 0, 268, 268, 266, 0, 268, - 268, 268, 268, 268, 268, 268, 210, 0, 0, 0, - 0, 0, 413, 414, 0, 0, 267, 268, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 266, 0, 276, - 164, 0, 0, 0, 0, 210, 210, 210, 210, 210, - 0, 210, 210, 0, 0, 0, 267, 0, 0, 164, - 0, 0, 268, 0, 0, 0, 0, 0, 276, 276, - 276, 276, 276, 276, 276, 276, 275, 277, 0, 0, - 277, 0, 277, 277, 277, 277, 0, 0, 0, 0, - 0, 0, 268, 0, 0, 0, 0, 0, 277, 277, - 0, 277, 0, 0, 0, 275, 275, 275, 275, 275, - 275, 275, 275, 264, 278, 0, 0, 278, 0, 278, - 278, 278, 278, 164, 0, 164, 0, 0, 0, 0, - 0, 0, 0, 277, 0, 278, 278, 0, 278, 0, - 0, 0, 0, 264, 264, 0, 264, 264, 264, 264, - 265, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 0, 277, 0, 0, 0, 252, 252, 0, - 278, 252, 252, 252, 252, 252, 252, 252, 205, 0, - 265, 265, 0, 265, 265, 265, 265, 0, 0, 252, - 252, 0, 252, 0, 0, 0, 0, 0, 0, 0, - 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 266, 0, 0, 266, 266, - 266, 266, 266, 0, 252, 0, 0, 0, 207, 0, - 0, 0, 0, 0, 267, 0, 0, 267, 267, 267, - 267, 267, 136, 0, 206, 0, 0, 205, 0, 0, - 0, 0, 0, 0, 252, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 195, 0, 207, - 268, 164, 164, 268, 268, 268, 268, 268, 0, 0, - 0, 0, 0, 164, 0, 164, 0, 164, 205, 0, - 0, 0, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 0, 207, 0, 0, 0, 0, 164, 164, - 0, 136, 277, 298, 0, 0, 0, 0, 0, 0, - 0, 0, 205, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, - 0, 277, 277, 277, 277, 277, 277, 277, 277, 278, - 0, 0, 136, 0, 318, 0, 0, 205, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 207, 0, 0, 0, 0, 0, 0, 0, 278, 278, - 278, 278, 278, 278, 278, 278, 136, 0, 369, 205, - 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 190, 252, 191, 0, 192, 0, 0, 0, - 207, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 136, 0, 370, 0, 0, 0, 203, 204, 205, - 0, 0, 252, 252, 252, 252, 252, 252, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 0, 136, 0, 415, 0, 0, 0, 188, - 189, 0, 0, 0, 0, 0, 0, 0, 205, 0, - 0, 190, 0, 191, 0, 192, 0, 0, 0, 0, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 0, 0, 0, 136, 0, 0, 203, 204, 0, 0, - 188, 189, 136, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 190, 0, 191, 0, 192, 0, 0, 0, - 136, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 0, 136, 0, 188, 189, 0, 203, 204, 0, - 0, 0, 0, 0, 84, 0, 190, 84, 191, 0, - 192, 0, 0, 0, 0, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 0, 0, 0, 0, 188, - 189, 203, 204, 84, 0, 0, 0, 61, 0, 0, - 0, 190, 0, 191, 0, 192, 0, 0, 0, 0, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 0, 188, 189, 0, 0, 0, 203, 204, 0, 150, - 0, 0, 171, 190, 0, 191, 0, 192, 0, 0, - 0, 0, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 0, 0, 0, 0, 0, 0, 203, 204, - 0, 188, 437, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 190, 0, 191, 0, 192, 0, 0, - 0, 0, 438, 194, 195, 196, 197, 198, 199, 200, - 201, 11, 0, 0, 0, 0, 0, 0, 203, 204, - 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 190, 0, 191, 0, 192, 0, 0, 0, - 0, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 11, 0, 0, 0, 0, 136, 0, 203, 204, 0, - 0, 136, 0, 0, 0, 0, 0, 136, 0, 0, - 0, 0, 0, 0, 136, 136, 136, 136, 136, 136, - 0, 1, 136, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 3, 0, 0, 136, - 4, 5, 6, 4, 5, 6, 0, 0, 81, 0, - 1, 10, 0, 0, 61, 82, 0, 0, 82, 0, - 0, 0, 3, 0, 0, 83, 61, 0, 112, 4, - 5, 6, 139, 61, 61, 61, 144, 10, 0, 0, - 0, 61, 0, 0, 161, 440, 0, 0, 61, 158, - 163, 447, 0, 0, 112, 0, 0, 451, 61, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, - 158, 163, 0, 0, 0, 0, 0, 462, 463, 0, - 465, 0, 0, 0, 0, 471, 0, 0, 0, 472, - 0, 473, 474, 249, 0, 250, 0, 0, 0, 0, - 478, 440, 447, 0, 0, 0, 471, 0, 0, 0, - 0, 291, 0, 0, 295, 0, 0, 0, 0, 0, - 0, 0, 0, 250, 0, 295, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 365, 366, - }; - protected short yyCheck[] = new short[2845]; -} -class yyCheck0 { - protected static final short yyCheck0 [] = { 42, - 0, 140, 46, 213, 49, 50, 41, 7, 8, 60, - 46, 41, 81, 46, 59, 59, 63, 156, 41, 88, - 166, 61, 22, 148, 84, 46, 123, 60, 155, 123, - 123, 44, 44, 46, 59, 123, 40, 41, 38, 60, - 44, 41, 46, 59, 59, 123, 59, 60, 61, 49, - 50, 51, 44, 62, 51, 59, 60, 61, 91, 59, - 60, 106, 71, 190, 59, 309, 23, 268, 207, 40, - 91, 53, 316, 60, 125, 46, 301, 122, 91, 0, - 136, 43, 59, 45, 285, 59, 86, 91, 70, 299, - 60, 91, 301, 60, 91, 62, 59, 51, 40, 136, - 100, 22, 99, 148, 156, 244, 106, 123, 59, 59, - 166, 123, 41, 100, 114, 44, 301, 38, 118, 61, - 41, 121, 122, 132, 124, 125, 126, 114, 123, 166, - 51, 123, 257, 133, 121, 59, 136, 91, 136, 60, - 140, 124, 125, 100, 114, 99, 123, 129, 148, 123, - 133, 395, 51, 59, 300, 207, 156, 213, 59, 59, - 123, 371, 162, 91, 121, 86, 166, 164, 166, 60, - 91, 268, 123, 123, 268, 59, 213, 304, 305, 100, - 268, 420, 99, 310, 428, 282, 46, 247, 282, 282, - 268, 145, 91, 114, 60, 322, 335, 118, 152, 123, - 121, 100, 136, 203, 204, 126, 257, 207, 18, 25, - 46, 44, 257, 213, 211, 213, 341, 123, 269, 140, - 36, 136, 123, 123, 60, 276, 277, 278, 145, 62, - 44, 47, 166, 284, 301, 156, 46, 476, 477, 136, - 291, 162, 481, 299, 300, 372, 93, 374, 62, 44, - 301, 166, 44, 322, 301, 301, 72, 257, 301, 259, - 260, 261, 299, 300, 308, 309, 301, 62, 301, 166, - 62, 301, 308, 309, 314, 315, 316, 317, 301, 213, - 301, 321, 51, 308, 309, 123, 207, 268, 301, 40, - 417, 60, 419, 308, 309, 422, 341, 301, 213, 299, - 300, 299, 300, 303, 308, 309, 273, 434, 435, 136, - 314, 315, 316, 317, 44, 371, 213, 321, 40, 59, - 303, 301, 91, 291, 46, 59, 44, 44, 44, 59, - 457, 458, 459, 301, 371, 335, 303, 304, 60, 166, - 289, 341, 59, 59, 62, 114, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 61, 420, 299, 300, 44, 351, 61, - 426, 371, 106, 371, 44, 40, 432, 46, 46, 18, - 44, 301, 59, 420, 299, 300, 213, 26, 122, 426, - 59, 59, 62, 91, 123, 432, 452, 453, 62, 455, - 476, 477, 299, 300, 460, 481, 59, 46, 464, 44, - 466, 467, 308, 309, 335, 452, 453, 59, 455, 475, - 476, 477, 420, 460, 59, 481, 61, 464, 426, 466, - 467, 38, 302, 291, 432, 305, 301, 371, 475, 476, - 477, 33, 37, 301, 481, 349, 350, 42, 40, 356, - 357, 43, 47, 45, 452, 453, 371, 455, 352, 353, - 354, 355, 460, 40, 301, 40, 464, 59, 466, 467, - 40, 40, 299, 300, 371, 40, 44, 475, 476, 477, - 59, 33, 41, 481, 41, 44, 420, 44, 40, 257, - 329, 43, 426, 45, 41, 263, 41, 44, 432, 44, - 41, 269, 46, 44, 59, 420, 59, 59, 276, 277, - 278, 426, 280, 281, 44, 38, 284, 432, 452, 453, - 94, 455, 41, 420, 33, 44, 460, 124, 307, 426, - 464, 40, 466, 467, 43, 432, 45, 452, 453, 306, - 455, 475, 476, 477, 371, 460, 59, 481, 301, 464, - 59, 466, 467, 301, 41, 452, 453, 44, 455, 40, - 475, 476, 477, 460, 59, 41, 481, 464, 59, 466, - 467, 59, 41, 40, 59, 33, 59, 59, 475, 476, - 477, 59, 40, 41, 481, 43, 41, 45, 203, 204, - 37, 38, 40, 420, 41, 42, 43, 44, 45, 426, - 47, 40, 59, 301, 267, 432, 41, 41, 41, 41, - 308, 309, 59, 60, 61, 62, 314, 315, 316, 317, - 41, 267, 33, 321, 0, 452, 453, 0, 455, 40, - 41, 0, 43, 460, 45, 59, 0, 464, 41, 466, - 467, 59, 59, 114, 259, 260, 261, 94, 475, 476, - 477, 33, 42, 91, 481, 43, 26, 70, 40, 41, - 335, 43, 71, 45, 358, 360, 359, 257, 33, 134, - 361, 333, 362, 263, 333, 40, 165, 124, 43, 269, - 45, 58, 166, 275, 100, 126, 276, 277, 278, 279, - 280, 281, -1, -1, 284, 287, -1, -1, 53, 54, - -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, 301, 33, -1, -1, 70, 308, 309, -1, 40, - 41, -1, 43, 275, 45, -1, -1, -1, -1, -1, - -1, 346, 347, 348, -1, 287, -1, -1, -1, -1, - 60, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 105, -1, 33, -1, -1, -1, 308, 309, 123, 40, - 41, -1, 43, -1, 45, -1, 275, -1, -1, 33, - -1, -1, -1, -1, 129, 130, 40, -1, 287, 43, - -1, 45, -1, -1, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, -1, 59, 33, -1, -1, 308, - 309, -1, -1, 40, 41, 125, 43, -1, 45, -1, - -1, -1, -1, 33, -1, -1, -1, 275, -1, -1, - 40, 41, -1, 43, -1, 45, 273, 182, -1, 287, - -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, - 308, 309, -1, -1, -1, 302, 303, 304, 305, 306, - 307, 308, 309, -1, 275, 33, -1, 314, 315, 316, - 317, -1, 40, 41, 321, 43, 287, 45, -1, -1, - -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, 33, 275, -1, -1, -1, 308, 309, 40, - 41, -1, 43, -1, 45, 287, -1, -1, -1, -1, - 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, 287, -1, -1, -1, 308, 309, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 257, 33, -1, - -1, -1, -1, 308, 309, 40, -1, -1, 43, 269, - 45, -1, -1, -1, 275, 33, 276, 277, 278, -1, - -1, -1, 40, -1, 284, 43, 287, 45, -1, -1, - -1, 291, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 301, -1, 257, -1, -1, -1, 308, 309, 263, - -1, -1, -1, -1, 275, 269, -1, -1, -1, -1, - }; -} -class yyCheck1 { - protected static final short yyCheck1 [] = { -1, - -1, 276, 277, 278, -1, 287, 281, -1, -1, 284, - 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, 287, -1, -1, -1, 308, 309, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 275, -1, -1, - -1, -1, -1, 308, 309, -1, -1, -1, -1, 287, - -1, -1, -1, -1, 275, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, 287, -1, -1, -1, - 308, 309, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, -1, -1, -1, -1, 308, 309, 37, - 38, -1, 40, 41, 42, 43, 44, 45, -1, 47, - -1, -1, -1, -1, -1, -1, 275, -1, -1, -1, - -1, 59, -1, -1, 62, -1, -1, -1, 287, -1, - -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 275, -1, -1, -1, -1, -1, 308, - 309, -1, -1, 91, -1, 287, 94, -1, -1, -1, - -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, -1, 37, 38, 308, 309, 41, 42, - 43, 44, 45, 46, 47, 123, 124, -1, -1, 275, - -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, - -1, 287, -1, -1, -1, -1, -1, 293, 294, 295, - 296, 297, 298, 299, 300, 301, -1, -1, 287, -1, - -1, -1, 308, 309, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, -1, -1, -1, 37, 38, 308, - 309, 41, 42, 43, 44, 45, 37, 47, -1, -1, - 41, 42, 43, 44, 45, 46, 47, -1, 257, 59, - 60, 124, 62, -1, 263, -1, -1, -1, 59, 60, - 269, 62, -1, -1, -1, -1, -1, 276, 277, 278, - -1, -1, 281, -1, -1, 284, -1, -1, -1, -1, - -1, 37, 38, -1, 94, 41, 42, 43, 44, 45, - 46, 47, -1, 94, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, 60, -1, 62, -1, -1, 257, - -1, -1, -1, -1, 124, 263, -1, -1, -1, -1, - -1, 269, -1, 124, -1, 273, -1, -1, 276, 277, - 278, 279, 280, 281, 282, -1, 284, -1, 94, -1, - 37, 38, -1, -1, 41, 42, 43, 44, 45, 46, - 47, -1, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 59, 60, -1, 62, 37, 38, -1, -1, - 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, - -1, 62, -1, -1, -1, -1, -1, 94, -1, -1, - 273, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, -1, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, -1, 59, 60, 124, 62, 302, - 303, 304, 305, 306, 307, 308, 309, -1, -1, -1, - -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, - 45, 46, 47, 124, -1, -1, -1, -1, -1, -1, - 94, -1, -1, 273, 59, 60, -1, 62, -1, -1, - -1, -1, 273, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 124, -1, 302, 303, 304, 305, 306, 307, 308, 309, - -1, 302, 303, 304, 305, 306, 307, 308, 309, -1, - -1, -1, -1, -1, 37, -1, -1, 273, 41, 42, - 43, 44, 45, 46, 47, -1, -1, -1, -1, 124, - -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, - -1, -1, -1, -1, -1, -1, 302, 303, 304, 305, - 306, 307, 308, 309, -1, -1, 37, 38, -1, -1, - 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, - -1, 94, -1, -1, -1, -1, 273, -1, 59, 60, - -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 124, 273, -1, -1, 302, 303, 304, 305, 306, - -1, 308, 309, 94, -1, -1, -1, -1, -1, 37, - 38, -1, -1, 41, 42, 43, 44, 45, 46, 47, - -1, 302, 303, 304, 305, 139, 307, 308, 309, 273, - -1, 59, 60, 38, 62, -1, 41, -1, 43, 44, - 45, 46, -1, -1, 158, -1, -1, -1, -1, 163, - -1, -1, -1, -1, 59, 60, -1, 62, 302, 303, - 304, 305, 306, 307, 308, 309, 94, -1, 273, 37, - 38, -1, -1, 41, 42, -1, 44, -1, 46, 47, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, - -1, 59, 60, -1, 62, -1, 124, 302, 303, 304, - 305, 306, 307, 308, 309, -1, 37, 38, -1, -1, - 41, 42, 43, 44, 45, 46, 47, -1, -1, 124, - -1, -1, -1, -1, -1, -1, 94, -1, 59, 60, - -1, 62, -1, -1, -1, 249, 250, -1, -1, -1, - 273, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, -1, 124, -1, -1, -1, - -1, -1, -1, 94, -1, 59, 60, -1, 62, 302, - 303, 304, 305, 306, 307, 308, 309, 291, -1, 37, - 38, 295, 273, 41, 42, 43, 44, 45, 46, 47, - -1, -1, -1, 124, -1, -1, -1, -1, 37, 38, - 94, 59, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 302, 303, 304, 305, 306, 307, 308, 309, -1, - 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 124, -1, -1, -1, 37, 38, 94, -1, 41, 42, - 43, 44, 45, 46, 47, 273, -1, -1, -1, -1, - -1, 365, 366, -1, -1, 94, 59, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 124, -1, 273, 40, - -1, -1, -1, -1, 302, 303, 304, 305, 306, -1, - 308, 309, -1, -1, -1, 124, -1, -1, 59, -1, - -1, 94, -1, -1, -1, -1, -1, 302, 303, 304, - 305, 306, 307, 308, 309, 273, 38, -1, -1, 41, - -1, 43, 44, 45, 46, -1, -1, -1, -1, -1, - -1, 124, -1, -1, -1, -1, -1, 59, 60, -1, - 62, -1, -1, -1, 302, 303, 304, 305, 306, 307, - 308, 309, 273, 38, -1, -1, 41, -1, 43, 44, - 45, 46, 123, -1, 125, -1, -1, -1, -1, -1, - -1, -1, 94, -1, 59, 60, -1, 62, -1, -1, - -1, -1, 303, 304, -1, 306, 307, 308, 309, 273, - -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, - }; -} -class yyCheck2 { - protected static final short yyCheck2 [] = { -1, - -1, 124, -1, -1, -1, 37, 38, -1, 94, 41, - 42, 43, 44, 45, 46, 47, 59, -1, 303, 304, - -1, 306, 307, 308, 309, -1, -1, 59, 60, -1, - 62, -1, -1, -1, -1, -1, -1, -1, 124, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 302, -1, -1, 305, 306, 307, 308, - 309, -1, 94, -1, -1, -1, 40, -1, -1, -1, - -1, -1, 302, -1, -1, 305, 306, 307, 308, 309, - 123, -1, 125, -1, -1, 59, -1, -1, -1, -1, - -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 267, -1, 40, 302, 271, - 272, 305, 306, 307, 308, 309, -1, -1, -1, -1, - -1, 283, -1, 285, -1, 287, 59, -1, -1, -1, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, 40, -1, -1, -1, -1, 308, 309, -1, 123, - 273, 125, -1, -1, -1, -1, -1, -1, -1, -1, - 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 40, -1, -1, 302, - 303, 304, 305, 306, 307, 308, 309, 273, -1, -1, - 123, -1, 125, -1, -1, 59, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, - -1, -1, -1, -1, -1, -1, 302, 303, 304, 305, - 306, 307, 308, 309, 123, -1, 125, 59, 271, 272, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 283, 273, 285, -1, 287, -1, -1, -1, 40, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 123, - -1, 125, -1, -1, -1, 308, 309, 59, -1, -1, - 302, 303, 304, 305, 306, 307, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, - -1, 123, -1, 125, -1, -1, -1, 271, 272, -1, - -1, -1, -1, -1, -1, -1, 59, -1, -1, 283, - -1, 285, -1, 287, -1, -1, -1, -1, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, - -1, 123, -1, -1, 308, 309, -1, -1, 271, 272, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 283, -1, 285, -1, 287, -1, -1, -1, 62, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - 123, -1, 271, 272, -1, 308, 309, -1, -1, -1, - -1, -1, 60, -1, 283, 60, 285, -1, 287, -1, - -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, -1, -1, -1, 271, 272, 308, - 309, 60, -1, -1, -1, 60, -1, -1, -1, 283, - -1, 285, -1, 287, -1, -1, -1, -1, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, 271, - 272, -1, -1, -1, 308, 309, -1, 125, -1, -1, - 125, 283, -1, 285, -1, 287, -1, -1, -1, -1, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, -1, -1, -1, 308, 309, -1, 271, - 272, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 283, -1, 285, -1, 287, -1, -1, -1, -1, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, -1, -1, -1, 308, 309, 271, 272, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 283, -1, 285, -1, 287, -1, -1, -1, -1, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, -1, 257, -1, 308, 309, -1, -1, 263, - -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, - -1, -1, 276, 277, 278, 279, 280, 281, -1, 257, - 284, -1, 257, -1, -1, -1, -1, -1, -1, -1, - -1, 269, -1, -1, 269, -1, -1, 301, 276, 277, - 278, 276, 277, 278, -1, -1, 284, -1, 257, 284, - -1, -1, 257, 291, -1, -1, 291, -1, -1, -1, - 269, -1, -1, 301, 269, -1, 301, 276, 277, 278, - 82, 276, 277, 278, 86, 284, -1, -1, -1, 284, - -1, -1, 291, 420, -1, -1, 291, 99, 100, 426, - -1, -1, 301, -1, -1, 432, 301, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 118, -1, 120, 121, - -1, -1, -1, -1, -1, 452, 453, -1, 455, -1, - -1, -1, -1, 460, -1, -1, -1, 464, -1, 466, - 467, 143, -1, 145, -1, -1, -1, -1, 475, 476, - 477, -1, -1, -1, 481, -1, -1, -1, -1, 161, - -1, -1, 164, -1, -1, -1, -1, -1, -1, -1, - -1, 173, -1, 175, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 292, 293, - }; -} -class yyCheckInit { - static short[] yyCheck = new short[2845]; - protected static void yyCheckInit () { - int numyycheck; - int yyCheckerun = 0; - for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 2845) { - yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck]; - yyCheckerun++; - } - } - for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 2845) { - yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck]; - yyCheckerun++; - } - } - for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 2845) { - yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck]; - yyCheckerun++; - } - } -} -} - diff --git a/src/de/dhbwstuttgart/parser/JavaParser.jay b/src/de/dhbwstuttgart/parser/JavaParser.jay deleted file mode 100755 index db28b802..00000000 --- a/src/de/dhbwstuttgart/parser/JavaParser.jay +++ /dev/null @@ -1,2381 +0,0 @@ -%{ - -/* -Backup von JavaParser.jay 10.April 17 Uhr -*/ - -package de.dhbwstuttgart.parser; - -import de.dhbwstuttgart.core.AClassOrInterface; -import de.dhbwstuttgart.syntaxtree.Class; -import de.dhbwstuttgart.logger.Section; -import de.dhbwstuttgart.syntaxtree.ImportDeclarations; -import de.dhbwstuttgart.syntaxtree.Interface; -import de.dhbwstuttgart.syntaxtree.SourceFile; -import de.dhbwstuttgart.syntaxtree.misc.UsedId; -import de.dhbwstuttgart.typeinference.Pair; -import de.dhbwstuttgart.syntaxtree.type.Type; -import de.dhbwstuttgart.syntaxtree.type.Void; -import de.dhbwstuttgart.*; -import de.dhbwstuttgart.syntaxtree.*; -import de.dhbwstuttgart.syntaxtree.misc.*; -import de.dhbwstuttgart.syntaxtree.modifier.*; -import de.dhbwstuttgart.syntaxtree.operator.*; -import de.dhbwstuttgart.syntaxtree.type.*; -import de.dhbwstuttgart.syntaxtree.statement.*; -import de.dhbwstuttgart.typeinference.Menge; - -public class JavaParser{ -public Menge path = new Menge(); - -//PL 05-07-30 eingefuegt. ANFANG -private Menge containedTypes = new Menge(); -private Menge usedIdsToCheck = new Menge(); - //Vektor aller Typdeklarationen die in aktueller Klasse vorkommen. - //wird nach Beendigung der Klasse des Attributs der jeweiligen - //Klasse zugeordnet - //nach dem Parsen wird mit wandleGeneric2RefType die - //die RefTypes gesetzt. -void initContainedTypes() { - this.containedTypes = new Menge(); -} -void initUsedIdsToCheck() { - this.usedIdsToCheck = new Menge(); -} -//PL 05-07-30 eingefuegt. ENDE - -//LUAR 07-05-29 Anfang f�r Wildcard Test -public Menge testPair = new Menge(); -//LUAR 07-05-29 Ende -%} - -%token ABSTRACT -%token BOOLEAN -%token BREAK -%token CASE -%token CATCH -%token CHAR -%token CLASS -%token CONTINUE -%token DEFAULT -%token DO -%token ELSE -%token EXTENDS -%token FINAL -%token FINALLY -%token FOR -%token IF -%token INSTANCEOF -%token INT -%token NEW -%token PRIVATE -%token PROTECTED -%token PUBLIC -%token PACKAGE -%token IMPORT -%token INTERFACE -%token IMPLEMENTS -%token RETURN -%token STATIC -%token SUPER -%token SWITCH -%token THIS -%token THROW -%token THROWS -%token TRY -%token VOID -%token WHILE -%token INTLITERAL -%token LONGLITERAL -%token DOUBLELITERAL -%token FLOATLITERAL -%token BOOLLITERAL -%token JNULL -%token CHARLITERAL -%token STRINGLITERAL -%token IDENTIFIER -%token EQUAL -%token LESSEQUAL -%token GREATEREQUAL -%token NOTEQUAL -%token LOGICALOR -%token LOGICALAND -%token INCREMENT -%token DECREMENT -%token SHIFTLEFT -%token SHIFTRIGHT -%token UNSIGNEDSHIFTRIGHT -%token SIGNEDSHIFTRIGHT -%token PLUSEQUAL -%token MINUSEQUAL -%token TIMESEQUAL -%token DIVIDEEQUAL -%token ANDEQUAL -%token OREQUAL -%token XOREQUAL -%token MODULOEQUAL -%token SHIFTLEFTEQUAL -%token SIGNEDSHIFTRIGHTEQUAL -%token UNSIGNEDSHIFTRIGHTEQUAL -%token BRACE -%token RELOP -%token OP -%token EOF -%token LAMBDAASSIGNMENT -%token ENDOFGENERICVARDECLARATION - -%type classdeclaration -%type interfacedeclaration -%type interfacebody -%type interfacememberdeclarations -%type interfacememberdeclaration -%type abstractmethoddeclaration -%type classbody -%type classidentifier -%type interfaceidentifier -%type constantdeclaration -%type genericdeclarationlist -%type fielddeclaration -%type methodheader -%type methoddeclaration -%type methoddeclarator -%type classbodydeclarations -%type classbodydeclaration -%type classmemberdeclaration -%type variabledeclarators -%type fielddeclarator; -%type variabledeclarator -%type variabledeclaratorid -%type simplename -%type qualifiedname -%type importqualifiedname -%type importdeclaration -%type importdeclarations -%type name -%type super -%type classtype -%type classorinterfacetype -%type interfacetype -%type interfaces -%type extendsinterfaces -/* -%type integraltype -%type numerictype -%type primitivetype -*/ -%type referencetype -%type classtypelist -%type type -%type modifiers -%type modifier -%type block -%type methodbody -%type blockstatements -%type lambdabody -%type localvariabledeclarationstatement -%type localvariabledeclaration -%type throws -%type formalparameter -%type formalparameterlist -%type lambdaexpressionparameter -%type literal -%type primarynonewarray -%type primary -%type postfixexpression -%type unaryexpressionnotplusminus -%type unaryexpression -%type multiplicativeexpression -%type additiveexpression -%type shiftexpression -%type relationalexpression -%type equalityexpression -%type andexpression -%type exclusiveorexpression -%type inclusiveorexpression -%type conditionalandexpression -%type conditionalorexpression -%type conditionalexpression -%type assignmentexpression -%type lambdaexpression /*added by Andreas Stadelmeier*/ -%type expression -%type statementexpression -%type preincrementexpression -%type predecrementexpression -%type postincrementexpression -%type postdecrementexpression -%type expressionstatement -%type variableinitializer -%type statementwithouttrailingsubstatement -%type blockstatement -%type statement -%type statementnoshortif -%type whilestatement -%type forstatement -%type whilestatementnoshortif -%type ifthenstatement -%type ifthenelsestatement -%type ifthenelsestatementnoshortif -%type emptystatement -%type returnstatement -%type classinstancecreationexpression -%type compilationunit -%type typedeclarations -%type boundedMethodParameter; -%type boundedClassParameter; -%type boundedclassidentifierlist //Menge -%type boundedMethodParameters; // Menge -%type boundedClassParameters; // ParaList -%type packagedeclaration -%type assignment -%type assignmentoperator -%type lambdaassignmentoperator /*added by Andreas Stadelmeier*/ -%type lefthandside -%type argumentlist -%type methodinvocation -%type typedeclaration -%type constructordeclaration -%type constructordeclarator -%type constructorbody -%type explicitconstructorinvocation -%type staticinitializer -// %type castexpression // auskommentiert von Andreas Stadelmeier -%type paralist -%type typelist parameter -%type wildcardparameter -%left ',' -%% - -compilationunit : typedeclarations - { - $$=$1; - } - |importdeclarations typedeclarations - { - $2.addImports($1); - $$=$2; - } - | packagedeclaration importdeclarations typedeclarations - { - // SCJU: Package - $3.setPackageName($1); - $3.addImports($2); - $$=$3; - } - | packagedeclaration typedeclarations - { - // SCJU: Package - $2.setPackageName($1); - $$=$2; - } - | type type compilationunit - { - this.testPair.add(new Pair($1,$2)); - $$=$3; - } - -packagedeclaration : PACKAGE name ';' ; - { - // SCJU: Package - $$ = $2; - } - -importdeclarations :importdeclaration - { - ImportDeclarations declarations=new ImportDeclarations(); - declarations.addElement($1); - $$=declarations; - } - |importdeclarations importdeclaration - { - $1.addElement($2); - $$=$1; - } - -importdeclaration : IMPORT importqualifiedname ';' - { - $$=$2; - } - -typedeclarations :typedeclaration - { - SourceFile Scfile = new SourceFile(); - Scfile.addElement($1); - $$=Scfile; - } - |typedeclarations typedeclaration - { - $1.addElement($2); - $$=$1; - } - -name :qualifiedname - { - $$=$1; - } - |simplename - { - $$=$1; - } - -typedeclaration :classdeclaration - { - $$=$1; - } - | interfacedeclaration - { - // SCJU: Interface - $$=$1; - } - - -qualifiedname : name '.' IDENTIFIER - { - $1.set_Name($3.getLexem()); - $1.setOffset($1.getOffset()); - $$=$1; - } - -importqualifiedname : name '.' IDENTIFIER - { - $1.set_Name($3.getLexem()); - $1.setOffset($1.getOffset()); - $$=$1; - } - | name '.' '*' - { - $1.set_Name("*"); - $1.setOffset($1.getOffset()); - $$=$1; - } - - -simplename : IDENTIFIER - { - UsedId UI = new UsedId($1.getOffset()); - UI.set_Name( $1.getLexem() ); - UI.setOffset($1.getOffset());//hinzugef�gt hoth: 07.04.2006 - $$ = UI; - } - -classdeclaration : CLASS classidentifier classbody - { - // SCJU: Um das hier uebersichtlicher zu halten, - // gibt es einen allumfassenden Konstruktor fuer Class - // Parameter: - // String name, - // Modifiers mod, - // ClassBody classbody, - // Menge containedtypes, - // UsedId superclass, - // Menge SuperInterfaces, - // Menge Parameterliste - - $$ = new Class($2.getName(), null, $3, containedTypes, null, $2.getParaMenge(), $1.getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - | modifiers CLASS classidentifier classbody - { - $$ = new Class($3.getName(), $1, $4, containedTypes, null, $3.getParaMenge(), $2.getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - | CLASS classidentifier super classbody - { - $$ = new Class($2.getName(), null, $4, containedTypes, $3, null, $2.getParaMenge(), $1.getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - | modifiers CLASS classidentifier super classbody - { - $$ = new Class($3.getName(), $1, $5, containedTypes, $4, null, $3.getParaMenge(), $2.getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - ///* auskommentiert von Andreas Stadelmeier A10023 - | CLASS classidentifier interfaces classbody - { - $$ = new Class($2.getName(), null, $4, containedTypes, $3.getTypeMenge(), $2.getParaMenge(), $1.getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - | modifiers CLASS classidentifier interfaces classbody - { - $$ = new Class($3.getName(), $1, $5, containedTypes, $4.getTypeMenge(), $3.getParaMenge(), $2.getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - | CLASS classidentifier super interfaces classbody - { - $$ = new Class($2.getName(), null, $5, containedTypes, $3, $4.getTypeMenge(), $2.getParaMenge(), $1.getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - | modifiers CLASS classidentifier super interfaces classbody - { - $$ = new Class($3.getName(), $1, $6, containedTypes, $4, $5.getTypeMenge(), $3.getParaMenge(), $2.getOffset()); - this.initContainedTypes(); - this.initUsedIdsToCheck(); - } - //*/ -interfaceidentifier : IDENTIFIER - { - // HOTI - // Verbindet den Namen eines Interfaces mit einer optionalen Parameterliste - $$ = new InterfaceAndParameter($1.getLexem()); - } - | IDENTIFIER '<' boundedClassParameters '>' - { - $$ = new InterfaceAndParameter($1.getLexem(), $3); - } - -classidentifier : IDENTIFIER - { - // SCJU: Hilfskonstrukt, um die Grammatik ueberschaubar zu halten - // Verbindet den Namen einer Klasse mit einer optionalen Parameterliste - $$ = new ClassAndParameter($1.getLexem()); - } - | IDENTIFIER '<' boundedClassParameters '>' - { - $$ = new ClassAndParameter($1.getLexem(), $3); - } - -interfacedeclaration: INTERFACE interfaceidentifier interfacebody - { - // SCJU: Interface - Interface ic = new Interface($2.getName(), $1.getOffset()); - ic.setParaList($2.getParaMenge()); - ic.setInterfaceBody($3); - ic.setContainedTypes(containedTypes); - initContainedTypes(); - $$ = ic; - } - | modifiers INTERFACE interfaceidentifier interfacebody - { - Interface ic = new Interface($3.getName(), $1, $2.getOffset()); - ic.setInterfaceBody($4); - ic.setParaList($3.getParaMenge()); - ic.setContainedTypes(containedTypes); - initContainedTypes(); - $$ = ic; - } - | INTERFACE interfaceidentifier extendsinterfaces interfacebody - { - Interface ic = new Interface($2.getName(), $1.getOffset()); - ic.setParaList($2.getParaMenge()); - //ic.setSuperInterfaces($3.getMenge()); - ic.setInterfaceBody($4); - ic.setContainedTypes(containedTypes); - initContainedTypes(); - $$ = ic; - } - | modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody ; - { - Interface ic = new Interface($3.getName(), $1, $2.getOffset()); - ic.setParaList($3.getParaMenge()); - //ic.setSuperInterfaces($4.getMenge()); - ic.setInterfaceBody($5); - ic.setContainedTypes(containedTypes); - initContainedTypes(); - $$ = ic; - } - -paralist : IDENTIFIER - { - ParaList pl = new ParaList(); - /* #JB# 05.04.2005 */ - /* ########################################################### */ - pl.getParalist().addElement(new GenericTypeVar($1.getLexem(),null, $1.getOffset())); - //pl.getParalist().addElement( new TypePlaceholder($1.getLexem()) ); - /* ########################################################### */ - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "IDENTIFIER --> Paralist f�r " + $1.getLexem() + " TV", Section.PARSER); - $$ = pl; - } - | IDENTIFIER '<' paralist '>' - { - ParaList pl = new ParaList(); - RefType t = new RefType( $1.getLexem(),null,$1.getOffset() ); - t.set_ParaList( $3.get_ParaList() ); - pl.getParalist().addElement(t); - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "IDENTIFIER '<' paralist '>' --> Paralist f�r " + $1.getLexem() + ": RefType", Section.PARSER); - $$ = pl; - } - | wildcardparameter - { - ParaList pl = new ParaList(); - pl.getParalist().addElement($1); - $$ = pl; - } - | paralist ',' IDENTIFIER - { - - /* #JB# 05.04.2005 */ - /* ########################################################### */ - $1.getParalist().addElement(new GenericTypeVar($3.getLexem(), null,$3.getOffset())); - //$1.getParalist().addElement(new TypePlaceholder($3.getLexem())); - /* ########################################################### */ - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER --> Paralist f�r " + $3.getLexem() + ": TV", Section.PARSER); - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "paralist: " + $1.getParalist(), Section.PARSER); - $$=$1; - } - - | paralist ',' IDENTIFIER '<' paralist '>' - { - RefType t = new RefType( $3.getLexem(),null ,$3.getOffset() ); - t.set_ParaList( $5.get_ParaList() ); - $1.getParalist().addElement(t); - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER '<' paralist '>' --> Paralist f�r " + $3.getLexem() + ": RefType", Section.PARSER); - $$=$1; - } - | paralist ',' wildcardparameter - { - $1.getParalist().addElement($3); - $$=$1; - } - -wildcardparameter : '?' - { - //Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden - WildcardType wc = new WildcardType(null,null,-1); - $$ = wc; - } - | '?' EXTENDS referencetype - { - ExtendsWildcardType ewc = new ExtendsWildcardType($2.getOffset(),$3); - $$ = ewc; - } - | '?' SUPER referencetype - { - SuperWildcardType swc = new SuperWildcardType($2.getOffset(),$3); - $$ = swc; - } - -classbody : '{' '}' - { - ClassBody CB = new ClassBody(); - $$ = CB; - } - - | '{' classbodydeclarations '}' - { - $$ = $2; - } - -modifiers :modifier - { - Modifiers Mod = new Modifiers(); - Mod.addModifier($1); - $$ = Mod; - } - |modifiers modifier - { - $1.addModifier($2); - $$ = $1; - } - -super :EXTENDS classtype - { - $$ = $2; - } - -interfaces : IMPLEMENTS interfacetype - { - // SCJU: Interface - InterfaceList il = new InterfaceList(); - il.addInterface($2); - $$ = il; - } - | interfaces ',' interfacetype ; - { - $1.addInterface($3); - $$ = $1; - } - -interfacebody : '{' '}' - { - // SCJU: Interface - $$ = new InterfaceBody(); - } - | '{' interfacememberdeclarations '}' - { - $$ = $2; - } - - - -extendsinterfaces : EXTENDS interfacetype - { - // SCJU: Interface - InterfaceList il = new InterfaceList(); - il.addInterface($2); - $$ = il; - } - | extendsinterfaces ',' interfacetype ; - { - $1.addInterface($3); - $$ = $1; - } - - -classbodydeclarations : classbodydeclaration - { - ClassBody CB = new ClassBody(); - CB.addField( $1 ); - $$=CB; - } - | classbodydeclarations classbodydeclaration - { - $1.addField($2); - $$ = $1; - } - - -modifier : PUBLIC - { - Public Pub = new Public(); - $$=Pub; - } - | PROTECTED - { - Protected Pro = new Protected(); - $$=Pro; - } - | PRIVATE - { - Private Pri = new Private(); - $$=Pri; - } - | STATIC - { - Static Sta = new Static(); - $$=Sta; - } - | ABSTRACT - { - Abstract Abs = new Abstract(); - $$=Abs; - } - | FINAL - { Final fin = new Final(); - $$ = fin; - } - - -classtype : classorinterfacetype - { - $$ = $1; - } - - -interfacememberdeclarations : interfacememberdeclaration - { - // SCJU: Interface - InterfaceBody ib = new InterfaceBody(); - ib.addElement($1); - $$ = ib; - } - | interfacememberdeclarations interfacememberdeclaration ; - { - $1.addElement($2); - $$ = $1; - } - -interfacetype : classorinterfacetype ; - { - // SCJU: Interfaces - $$ = $1; - } - -classbodydeclaration : classmemberdeclaration - { - $$=$1; - } - ///* auskommentiert von Andreas Stadelmeier a10023 - | staticinitializer - { - $$=$1; - } - | constructordeclaration - { - $$=$1; - } - //*/ - -classorinterfacetype : name parameter - { - if ($2 != null) { - //$1.set_ParaList($2.get_ParaList()); - $1.set_ParaList($2);//�nderung von Andreas Stadelmeier. Type statt GenericVarType - /* otth: originale (also diese) Parameterliste retten */ - //((UsedId)$1).vParaOrg = new Menge( $2.get_ParaList() ); - } - $$=$1; - } - -typelist : type - { - Menge tl = new Menge(); - tl.add($1); - $$ = tl; - } - | typelist ',' type - { - $1.add($3); - $$=$1; - } - | typelist ',' wildcardparameter - { - $1.add($3); - $$=$1; - } - | wildcardparameter - { - Menge tl = new Menge(); - tl.add($1); - $$ = tl; - } - -/* PL 05-07-28 erg�nzt, weil jeder classorinterfacetype auch parametrisiert sein kann */ -//TODO: Das hier ist m�glicherweise falsch. Ein Typ hat keine parameterliste, nur eine Liste von RefTypes -parameter : { $$ = null; } - | '<' typelist '>' //'<'paralist'>'//typelist statt - { - $$ = $2; - } - -interfacememberdeclaration : constantdeclaration - { - // SCJU: Interfaces, Spezialform Konstantendef. - $$ = $1; - } - | abstractmethoddeclaration - { - $$ = $1; - } - -classmemberdeclaration : fielddeclaration - { - $$=$1; - } - | methoddeclaration - { - $$=$1; - } - -staticinitializer : STATIC block - { - Method STAT = new Method($1.getOffset()); - DeclId DST = new DeclId(); - DST.set_Name($1.getLexem()); - STAT.set_DeclId(DST); - Static ST = new Static(); - Modifiers MOD = new Modifiers(); - MOD.addModifier(ST); - STAT.set_Modifiers(MOD); - STAT.set_Block($2); - $$=STAT; - } - -constructordeclaration : constructordeclarator constructorbody - { - $1.set_Block($2); - $$ = $1; - } - | modifiers constructordeclarator constructorbody - { - $2.set_Block($3); - $2.set_Modifiers($1); - $$ = $2; - } - -constantdeclaration : modifiers type IDENTIFIER '=' expression';' ; - { - // SCJU: Interface - Constant c = new Constant($3.getLexem(), $1); - c.setType($2); - c.setValue($5); - $$ = c; - } - -abstractmethoddeclaration : methodheader ';' ; - { - // SCJU: Interface - $$ = $1; - } - -/* -added by Andreas Stadelmeier, a10023 -Bei Lokalen Variablen ist eine initialisierung der Variablen w�hrend der Deklarisierung nicht erlaubt. -Beispiel: var = 2; -Bei einer lokalen Variable l�sst sich hier nicht ermitteln ob die Variable deklariert werden soll oder bereits deklariert wurde und ihr nur ein Wert zugewiesen werden soll. -Dieses Problem ist bei Feldern nicht der Fall. -*/ -fielddeclarator : - /* - type variabledeclarator '=' expression - { - FieldDeclaration ret = new FieldDeclaration($2.getOffset()); - ret.setType($1); - ret.set_DeclId($2); - ret.setWert($4); - $$=ret; - } - | - */ - variabledeclarator '=' expression - { - FieldDeclaration ret = new FieldDeclaration($1.getOffset()); - ret.set_DeclId($1); - ret.setWert($3); - $$=ret; - } - | variabledeclarator - { - FieldDeclaration ret = new FieldDeclaration($1.getOffset()); - ret.set_DeclId($1); - $$=ret; - } - -genericdeclarationlist : '<' boundedMethodParameters '>' - { - GenericDeclarationList ret = new GenericDeclarationList($2.getElements(),$2.getEndOffset()); - $$ = ret; - } - - -fielddeclaration : type fielddeclarator ';' - { - $2.setType($1); - $$=$2; - } - | fielddeclarator ';' - { - $$=$1; - } - | genericdeclarationlist type fielddeclarator ';' - {//angef�gt von Andreas Stadelmeier - $3.setType($2); - $3.setGenericParameter($1); - $$=$3; - } - | - variabledeclarators ';' - { - $$=$1; - } - | - type variabledeclarators ';' - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + $1, Section.PARSER); - $2.setType($1); - $$ = $2; - } - - | modifiers type variabledeclarators ';' - { - $3.setType($2); - for(int i=0;i<($3.getDeclIdMenge().size());i++) - { - $3.getDeclIdMenge().elementAt(i).modifiers=$1; - } - $$ = $3; - } - -methoddeclaration : methodheader methodbody - { - $1.set_Block($2); - $$=$1; - } - -block : '{' '}' - - { - Block Bl = new Block(); - $$=Bl; - } - - | '{' blockstatements '}' - { - $$=$2; - } - -constructordeclarator : simplename '(' ')' - { - Constructor CON = new Constructor(null,null); //TODO: Der Parser kann sowieso nicht zwischen einem Konstruktor und einer Methode unterscheiden. Das hier kann wegfallen... - DeclId DIDCon = new DeclId(); - DIDCon.set_Name($1.get_Name_1Element()); - CON.set_DeclId(DIDCon); - $$=CON; - } - | simplename '('formalparameterlist')' - { - Constructor CONpara = new Constructor(null,null); - DeclId DIconpara = new DeclId(); - DIconpara.set_Name($1.get_Name_1Element()); - CONpara.set_DeclId(DIconpara); - CONpara.setParameterList($3); - $$=CONpara; - } - -constructorbody : '{' '}' - { - Block CBL = new Block(); - $$=CBL; - } - | '{' explicitconstructorinvocation '}' - { - Block CBLexpl = new Block(); - CBLexpl.set_Statement($2); - $$=CBLexpl; - } - | '{' blockstatements '}' - { - $$=$2; - } - | '{'explicitconstructorinvocation blockstatements '}' - { - Block CBes = new Block(); - CBes.set_Statement($2); - for(int j=0;j<$3.statements.size();j++) - { - CBes.set_Statement((Statement)$3.statements.elementAt(j)); - } - $$=CBes; - } - -throws : THROWS classtypelist - { - ExceptionList EL = new ExceptionList(); - EL.set_addElem($2); - $$=EL; - } - -boundedClassParameter : boundedMethodParameter - { - $$ = $1; - } - -boundedClassParameters : boundedClassParameter - { - ParaList p = new ParaList(); - p.add_ParaList($1); - $$=p; - } - | boundedClassParameters ',' boundedClassParameter - { - $1.add_ParaList($3); - $$=$1; - } - -// returns GenericTypeVar -boundedMethodParameter : IDENTIFIER - { - $$=new GenericTypeVar($1.getLexem(),null,$1.getOffset()); - } - | IDENTIFIER EXTENDS boundedclassidentifierlist - { - BoundedGenericTypeVar gtv=new BoundedGenericTypeVar($1.getLexem(), $3,null, $1.getOffset() ,$3.getEndOffset()); - //gtv.setBounds($3); - $$=gtv; - } -// returns Menge -boundedclassidentifierlist : referencetype - { - Menge vec=new Menge(); - vec.addElement($1); - containedTypes.addElement($1); - $$=new BoundedClassIdentifierList(vec, $1.getOffset()+$1.getName().toString().length()); - } - | boundedclassidentifierlist '&' referencetype - { - $1.addElement($3); - $1.addOffsetOff($3); - containedTypes.addElement($3); - $$=$1; - } -// returns Menge -boundedMethodParameters : boundedMethodParameter - { - GenericVarDeclarationList vec=new GenericVarDeclarationList(); - vec.addElement($1); - $$=vec; - } - | boundedMethodParameters ',' boundedMethodParameter - { - $1.addElement($3); - $$=$1; - } - - -// returns Method -methodheader :genericdeclarationlist type methoddeclarator - { - $3.setType($2); - $3.setGenericParameter($1); - $$=$3; - } - | type methoddeclarator - { - $2.setType($1); - $$=$2; - } - | modifiers type methoddeclarator - { - $3.set_Modifiers($1); - $3.setType($2); - $$=$3; - } - | modifiers genericdeclarationlist type methoddeclarator - { - $4.set_Modifiers($1); - $4.setGenericParameter($2); - $4.setType($3); - $$=$4; - } - | type methoddeclarator throws - { - $2.setType($1); - $2.set_ExceptionList($3); - $$=$2; - } - | genericdeclarationlist type methoddeclarator throws - { - $3.setGenericParameter($1); - $3.setType($2); - $3.set_ExceptionList($4); - $$=$3; - } - | modifiers type methoddeclarator throws - { - $3.set_Modifiers($1); - $3.setType($2); - $3.set_ExceptionList($4); - $$=$3; - } - | modifiers genericdeclarationlist type methoddeclarator throws - { - $4.set_Modifiers($1); - $4.setGenericParameter($2); - $4.setType($3); - $4.set_ExceptionList($5); - $$=$4; - } - | VOID methoddeclarator - { - Void Voit = new Void($2,$1.getOffset()); - $2.setType(Voit); - $$=$2; - } - | modifiers VOID methoddeclarator - { - Void voit = new Void($3,$2.getOffset()); - $3.set_Modifiers($1); - $3.setType(voit); - $$=$3; - } - | VOID methoddeclarator throws - { - Void voyt = new Void($2,$1.getOffset()); - $2.setType(voyt); - $2.set_ExceptionList($3); - $$=$2; - } - | modifiers VOID methoddeclarator throws - { - Void voyd = new Void($3,$2.getOffset()); - $3.set_Modifiers($1); - $3.setType(voyd); - $3.set_ExceptionList($4); - $$=$3; - } - | genericdeclarationlist VOID methoddeclarator - { - Void Voit = new Void($3,$2.getOffset()); - $3.setType(Voit); - $3.setGenericParameter($1); - $$=$3; - } - | modifiers genericdeclarationlist VOID methoddeclarator - { - Void voit = new Void($4,$3.getOffset()); - $4.set_Modifiers($1); - $4.setType(voit); - $4.setGenericParameter($2); - $$=$4; - } - | genericdeclarationlist VOID methoddeclarator throws - { - Void voyt = new Void($3,$2.getOffset()); - $3.setType(voyt); - $3.set_ExceptionList($4); - $3.setGenericParameter($1); - $$=$3; - } - | modifiers genericdeclarationlist VOID methoddeclarator throws - { - Void voyd = new Void($4,$3.getOffset()); - $4.set_Modifiers($1); - $4.setType(voyd); - $4.set_ExceptionList($5); - $4.setGenericParameter($2); - $$=$4; - } - - | methoddeclarator - { - //auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); - $$=$1; - } - | genericdeclarationlist methoddeclarator - { - //auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh()); - $2.setGenericParameter($1); - $$=$2; - } - - | modifiers methoddeclarator - { - $2.set_Modifiers($1); - //auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh()); - $$=$2; - } - | methoddeclarator throws - { - //auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); - $1.set_ExceptionList($2); - $$=$1; - } - | modifiers methoddeclarator throws - { - $2.set_Modifiers($1); - //auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh()); - $2.set_ExceptionList($3); - $$=$2; - } - - -type : referencetype - { - $$=$1; - } - |referencetype '[' ']' - { - $1.setArray(true); - } - /* auskommentiert von Andreas Stadelmeier - |primitivetype - { - $$=$1; - } - |primitivetype '[' ']' - { - $1.setArray(true); - } - */ - -variabledeclarators : variabledeclarator - { - FieldDeclaration IVD = new FieldDeclaration($1.getOffset()); - IVD.getDeclIdMenge().addElement( $1 ); - IVD.setOffset($1.getOffset()); - $$ = IVD; - } - | variabledeclarators ',' variabledeclarator - { - $1.getDeclIdMenge().addElement($3); - $$=$1; - } - -methodbody : block - { - $$=$1; - } - -blockstatements : blockstatement - { - Block Blstat = new Block(); - Blstat.set_Statement($1); - $$=Blstat; - } - - | blockstatements blockstatement - { - $1.set_Statement($2); - $$=$1; - } - -formalparameterlist :formalparameter - { - ParameterList PL = new ParameterList(); - PL.set_AddParameter($1); - $$ = PL; - } - |formalparameterlist ',' formalparameter - { - $1.set_AddParameter($3); - $$ = $1; - } - -explicitconstructorinvocation : THIS '(' ')' ';' - { - ThisCall THCON = new ThisCall($1.getOffset(),$1.getLexem().length()); - $$=THCON; - } - |THIS '(' argumentlist ')' ';' - { - ThisCall THCONargl = new ThisCall($1.getOffset(),$1.getLexem().length()); - THCONargl.set_ArgumentList($3); - $$=THCONargl; - } - |SUPER '(' ')' ';' - { - SuperCall sCall = new SuperCall($1.getOffset(),$1.getLexem().length()); - $$=sCall; - } - |SUPER '(' argumentlist ')' ';' - { - SuperCall sCall = new SuperCall($1.getOffset(),$1.getLexem().length()); - sCall.set_ArgumentList($3); - $$=sCall; - } - -classtypelist : classtype - { - //RefType RT = new RefType(RT.get_UsedId().get_Name_1Element(),null,-1); - RefType RT = new RefType($1.get_Name_1Element(),null,-1); - //RT.set_UsedId($1); - //RT.setName(RT.get_UsedId().get_Name_1Element()); - $$=RT; - } - | classtypelist ',' classtype - { - $1.set_UsedId($3); - $1.setName($1.get_UsedId().get_Name_1Element()); - $$=$1; - } - -methoddeclarator :IDENTIFIER '(' ')' - { - Method met = new Method($1.getOffset()); - /* #JB# 10.04.2005 */ - /* ########################################################### */ - met.setLineNumber($1.getLineNumber()); - met.setOffset($1.getOffset());//hinzugef�gt hoth: 07.04.2006 - /* ########################################################### */ - DeclId DImethod = new DeclId(); - DImethod.set_Name($1.getLexem()); - met.set_DeclId(DImethod); - $$ = met; - } - |IDENTIFIER '(' formalparameterlist ')' - { - Method met_para = new Method($1.getOffset()); - /* #JB# 10.04.2005 */ - /* ########################################################### */ - met_para.setLineNumber($1.getLineNumber()); - met_para.setOffset($1.getOffset());//hinzugef�gt hoth: 07.04.2006 - /* ########################################################### */ - DeclId Dimet_para = new DeclId(); - Dimet_para.set_Name($1.getLexem()); - met_para.set_DeclId(Dimet_para); - met_para.setParameterList($3); - $$ = met_para; - } - -/* auskommentiert von Andreas Stadelmeier -primitivetype :BOOLEAN - { - BooleanType BT = new BooleanType(null); - $$=BT; - } - - |numerictype - { - $$=$1; - } -*/ - -referencetype :classorinterfacetype - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("T->Parser->referenctype: " + $1, Section.PARSER); - RefType RT = new RefType($1.getQualifiedName(),null,$1.getOffset()); - - //ausgetauscht PL 05-07-30 - //RT.set_UsedId($1); - //RT.setName(RT.get_UsedId().get_Name_1Element()); - RT.set_ParaList($1.get_RealParaList()); - //RT.setName($1.getQualifiedName()); - - - //PL 05-07-30 eingefuegt containedTypes ANFANG - containedTypes.addElement(RT); - //PL 05-07-30 eingefuegt containedTypes ENDE - - $$=RT; - } - - -/* 05-07-28 PL Parameterdeklarationen zur classorinterfacetype verschoben */ - -variabledeclarator : variabledeclaratorid - { - $$=$1; - } - /* auskommentiert von Andreas Stadelmeier, a10023: - eine Variable mit Initialisierung wird sowieso nicht geparst. - | variabledeclaratorid '=' variableinitializer - { - $1.set_Wert($3); - $$=$1; - } - */ -/* 05-07-28 PL auskommentiert - wird nicht ben�tigt aufgrund neuer classorinterfacetype declaration - | '<' paralist'>' variabledeclaratorid '=' variableinitializer - { - $4.set_Wert($6); - $4.set_Paratyp($2.get_ParaList()); - $$=$4; - } -*/ -blockstatement :localvariabledeclarationstatement - { - $$=$1; - } - |statement - { - $$=$1; - } - -formalparameter : type variabledeclaratorid - { - FormalParameter FP = new FormalParameter($2); - FP.setType($1); - //FP.set_DeclId($2); //auskommentiert von Andreas Stadelmeier. DeclId wird nun dem Konstruktor von FormalParameter �bergeben. - $$=FP; - } - - /* otth: Methodenargumente koennen hiermit auch polymorph sein. */ -/* 05-07-28 PL auskommentiert - wird nicht ben�tigt aufgrund neuer classorinterfacetype declaration - | type '<'paralist'>' variabledeclaratorid - { - Parameterliste setzen - $5.set_Paratyp($3.get_ParaList()); - - FormalParameter FP = new FormalParameter($5); - FP.setType($1); - //FP.set_DeclId($5); - $$=FP; - - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("P->Polymorphes Methodenargument hinzugefuegt: Name = " + $5.get_Name() + " Typ = " + $1.getName(), Section.PARSER); - } -*/ - - | variabledeclaratorid - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + $1.name, Section.PARSER); - - FormalParameter FP = new FormalParameter($1); - - // #JB# 31.03.2005 - // ########################################################### - //Type T = TypePlaceholder.fresh(); //auskommentiert von Andreas Stadelmeier - // Type T = new TypePlaceholder(""); /* otth: Name wird automatisch berechnet */ - // ########################################################### - //de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\n--> berechneter Name: " + T.getName(), Section.PARSER); - - //auskommentiert von Andreas Stadelmeier (a10023) FP.setType( T ); - //FP.set_DeclId($1); - - $$=FP; - } - -argumentlist : expression - { - ArgumentList AL = new ArgumentList(); - AL.expr.addElement($1); - $$=AL; - } - |argumentlist ',' expression - { - $1.expr.addElement($3); - $$=$1; - } -/* auskommentiert von Andreas Stadelmeier -numerictype :integraltype - { - $$=$1; - } -*/ - -variabledeclaratorid : IDENTIFIER - { - DeclId DI = new DeclId(); - /* #JB# 10.04.2005 */ - /* ########################################################### */ - DI.setLineNumber($1.getLineNumber()); - DI.setOffset($1.getOffset());//hinzugef�gt hoth: 07.04.2006 - /* ########################################################### */ - DI.set_Name($1.getLexem()); - $$=DI; - } - -variableinitializer :expression - { - $$=$1; - } - -localvariabledeclarationstatement :localvariabledeclaration ';' - { - $$=$1; - } - -statement :statementwithouttrailingsubstatement - { - $$=$1; - } - |ifthenstatement - { - $$=$1; - } - |ifthenelsestatement - { - $$=$1; - } - |whilestatement - { - $$=$1; - } - |forstatement - { - $$=$1; - }| explicitconstructorinvocation - { - $$=$1; - } - -expression :assignmentexpression - { - $$=$1; - } - |classinstancecreationexpression - { - $$=$1; - } - -/* auskommentiert von Andreas Stadelmeier -integraltype :INT - { - IntegerType IT = new IntegerType(null); - $$=IT; - } - | CHAR - { - CharacterType CT = new CharacterType(null); - $$=CT; - } -*/ - -localvariabledeclaration : type variabledeclarators - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!", Section.PARSER); - LocalVarDecl LVD = new LocalVarDecl($1.getOffset(),$1.getVariableLength()); - LVD.setType($1); - LVD.setDeclidMenge($2.getDeclIdMenge()); - $$ = LVD; - } - - /* #JB# 31.03.2005 */ - /* ########################################################### */ - |variabledeclarators - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!", Section.PARSER); - LocalVarDecl LVD = new LocalVarDecl($1.getOffset(),$1.getVariableLength()); - //auskommentiert von Andreas Stadelmeier (a10023) LVD.setType(TypePlaceholder.fresh()); - LVD.setDeclidMenge($1.getDeclIdMenge()); - $$ = LVD; - } - /* ########################################################### */ - -statementwithouttrailingsubstatement : block - { - $$=$1; - } - | emptystatement - { - $$=$1; - } - | expressionstatement - { - $$=$1; - } - | returnstatement - { - $$=$1; - } - -ifthenstatement : IF '(' expression ')' statement - { - IfStmt Ifst = new IfStmt($3.getOffset(),$3.getVariableLength()); - Ifst.set_Expr($3); - Ifst.set_Then_block($5); - $$=Ifst; - } - -ifthenelsestatement : IF '('expression ')'statementnoshortif ELSE statement - { - IfStmt IfstElst = new IfStmt($3.getOffset(),$3.getVariableLength()); - IfstElst.set_Expr($3); - IfstElst.set_Then_block($5); - IfstElst.set_Else_block($7); - $$=IfstElst; - } - -whilestatement : WHILE '(' expression ')' statement - { - WhileStmt Whlst = new WhileStmt($3.getOffset(),$3.getVariableLength()); - Whlst.set_Expr($3); - Whlst.set_Loop_block($5); - $$=Whlst; - } - -//forschleife -forstatement - //Bsp: for(i=0 ; i<10 ; i++){System.out.println(i)} - : FOR '(' expression ';' expression ';' expression ')' statement - { - ForStmt Fst = new ForStmt($3.getOffset(),$3.getVariableLength()); - Fst.set_head_Initializer($3); - Fst.set_head_Condition($5); - Fst.set_head_Loop_expr($7); - Fst.set_body_Loop_block($9); - - //Typannahme - $$ = Fst; - } - //Bsp: for(i=0 ; i<10 ; ){System.out.println(i)} - | FOR '(' expression ';' expression ';' ')' statement - { - ForStmt Fst = new ForStmt($3.getOffset(),$3.getVariableLength()); - Fst.set_head_Initializer($3); - Fst.set_head_Condition($5); - Fst.set_body_Loop_block($8); - - //Typannahme - $$ = Fst; - } - //Bsp: for(i=0 ; ; i++){System.out.println(i)} - | FOR '(' expression ';' ';' expression ')' statement - { - ForStmt Fst = new ForStmt($3.getOffset(),$3.getVariableLength()); - Fst.set_head_Initializer($3); - Fst.set_head_Loop_expr($6); - Fst.set_body_Loop_block($8); - - //Typannahme - $$ = Fst; - } - //Bsp: for( ; i<10 ; i++){System.out.println(i)} - | FOR '(' ';' expression ';' expression ')' statement - { - ForStmt Fst = new ForStmt($4.getOffset(),$4.getVariableLength()); - Fst.set_head_Condition($4); - Fst.set_head_Loop_expr($6); - Fst.set_body_Loop_block($8); - - //Typannahme - $$ = Fst; - } - //Bsp: for(i=0 ; ; ){System.out.println(i)} - | FOR '(' expression ';' ';' ')' statement - { - ForStmt Fst = new ForStmt($3.getOffset(),$3.getVariableLength()); - Fst.set_head_Initializer($3); - Fst.set_body_Loop_block($7); - - //Typannahme - $$ = Fst; - } - //Bsp: for( ; i<10 ; ){System.out.println(i)} - | FOR '(' ';' expression ';' ')' statement - { - ForStmt Fst = new ForStmt($4.getOffset(),$4.getVariableLength()); - Fst.set_head_Condition($4); - Fst.set_body_Loop_block($7); - - //Typannahme - $$ = Fst; - } - //Bsp: for( ; ; i++){System.out.println(i)} - | FOR '(' ';' ';' expression ')' statement - { - ForStmt Fst = new ForStmt($5.getOffset(),$5.getVariableLength()); - Fst.set_head_Loop_expr($5); - Fst.set_body_Loop_block($7); - - //Typannahme - $$ = Fst; - } - //Bsp: for( ; ; ){System.out.println(i)} - | FOR '(' ';' ';' ')' statement - { - ForStmt Fst = new ForStmt($6.getOffset(),$6.getVariableLength()); - Fst.set_body_Loop_block($6); - - //Typannahme - $$ = Fst; - } - -assignmentexpression : conditionalexpression - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("conditionalexpression", Section.PARSER); - $$=$1; - } - | assignment - { - $$=$1; - } - - -emptystatement : ';' - { - EmptyStmt Empst = new EmptyStmt(); - $$=Empst; - } - -expressionstatement : statementexpression ';' - { - $$=$1; - } - -returnstatement : RETURN ';' - { - Return ret = new Return(-1,-1); - $$= ret; - } - | RETURN expression ';' - { - Return retexp = new Return($2.getOffset(),$2.getVariableLength()); - retexp.set_ReturnExpr($2); - $$=retexp; - } - -statementnoshortif :statementwithouttrailingsubstatement - { - $$=$1; - } - | ifthenelsestatementnoshortif - { - $$=$1; - } - | whilestatementnoshortif - { - $$=$1; - } - -conditionalexpression :conditionalorexpression - { - $$=$1; - } - // | conditionalorexpression '?' expression ':' conditionalexpression - -assignment :lefthandside assignmentoperator assignmentexpression - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n", Section.PARSER); - Assign Ass = new Assign($1.getOffset(),$1.getVariableLength()); - LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname($1.getOffset(),$1.getVariableLength()); - LOFV.set_UsedId($1); - //auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh()); - //auskommentiert von Andreas Stadelmeier (a10023) Ass.setType(TypePlaceholder.fresh()); - if( $2 == null ) - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nParser --> Zuweisung1 --> " + $3 + " \n", Section.PARSER); - Ass.set_Expr( LOFV,$3 ); - } - else - { - Binary Bin = new Binary($3.getOffset(),$3.getVariableLength()); - Bin.set_Expr1(LOFV); - Bin.set_Operator($2); - Bin.set_Expr2($3); - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("\nParser --> Zuweisung1 --> Binary\n", Section.PARSER); - //auskommentiert von Andreas Stadelmeier (a10023) Bin.setType(TypePlaceholder.fresh()); - Ass.set_Expr( LOFV, Bin ); - } - $$=Ass; - } - | lefthandside assignmentoperator classinstancecreationexpression - { - Assign Ass =new Assign($1.getOffset(),$1.getVariableLength()); - LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname($1.getOffset(),$1.getVariableLength()); - LOFV.set_UsedId($1); - //auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh()); - //auskommentiert von Andreas Stadelmeier (a10023) Ass.setType(TypePlaceholder.fresh()); - if($2==null) - { - Ass.set_Expr(LOFV,$3); - } - else - { - Binary Bin = new Binary($3.getOffset(),$3.getVariableLength()); - Bin.set_Expr1(LOFV); - Bin.set_Operator($2); - //auskommentiert von Andreas Stadelmeier (a10023) Bin.setType(TypePlaceholder.fresh()); - Bin.set_Expr2($3); - Ass.set_Expr(LOFV,Bin); - } - $$=Ass; - } - -statementexpression :assignment - { - $$=$1; - } - | preincrementexpression - { - $$=$1; - } - | predecrementexpression - { - $$=$1; - } - | postincrementexpression - { - $$=$1; - } - | postdecrementexpression - { - $$=$1; - } - | methodinvocation - { - $$=$1; - } -/* | classinstancecreationexpression - { - $$=$1; - } -*/ - -ifthenelsestatementnoshortif :IF '(' expression ')' statementnoshortif - ELSE statementnoshortif - { - IfStmt IfElno = new IfStmt($3.getOffset(),$3.getVariableLength()); - IfElno.set_Expr($3); - IfElno.set_Then_block($5); - IfElno.set_Else_block($7); - $$=IfElno; - } - -whilestatementnoshortif :WHILE '(' expression ')' statementnoshortif - { - WhileStmt Whstno = new WhileStmt($3.getOffset(),$3.getVariableLength()); - Whstno.set_Expr($3); - Whstno.set_Loop_block($5); - $$=Whstno; - } - -conditionalorexpression : conditionalandexpression - { - $$=$1; - } - | conditionalorexpression LOGICALOR conditionalandexpression - { - Binary LogOr = new Binary($1.getOffset(),$1.getVariableLength()); - OrOp OrO = new OrOp($1.getOffset(),$1.getVariableLength()); - LogOr.set_Expr1($1); - LogOr.set_Expr2($3); - LogOr.set_Operator(OrO); - //auskommentiert von Andreas Stadelmeier (a10023) LogOr.setType(TypePlaceholder.fresh()); - $$=LogOr; - } - -// LambdaExpression eingef�gt von Andreas Stadelmeier, a10023: - -lambdaassignmentoperator : LAMBDAASSIGNMENT - { - $$=null; - } - -lambdabody : block - { - $$=$1; - } - | expression - { - //Lambdabody kann auch nur aus einer Expression bestehen. In diesem Fall wird ein Block erstellt, welcher als einziges Statement ein return statment mit der expression hat. - //Bsp.: Aus der Expression |var=="hallo"| wird: |{return var=="hallo";}| - Block ret=new Block(); - ret.statements.add((Statement)new Return(0,0).set_ReturnExpr($1)); - //ret.statements.add((ExprStmt)$1); - $$=ret; - } - -lambdaexpressionparameter : '(' ')' - { - $$=null; - } - | '(' formalparameterlist ')' - { - $$=$2; - } - -lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody - { - LambdaExpression lambda = new LambdaExpression(/*((ParameSterList)$2).getOffset(),((ParameterList)$2).getVariableLength()*/0,0); - if($1!=null)lambda.setParameterList($1); - lambda.setBody((Block)$3); - $$=lambda; - } - - /* - | '(' ')' lambdaassignmentoperator lambdabody - { - LambdaExpression lambda = new LambdaExpression(0,0); //hier noch fixen - lambda.setBody((Block)$4); - $$=lambda; - } - */ - - - -lefthandside :name - { - $$=$1; - } - -assignmentoperator : '=' - { - $$=null; - } - | TIMESEQUAL - { - TimesOp TEO = new TimesOp(-1,-1); - $$=TEO; - } - | DIVIDEEQUAL - { - DivideOp DEO = new DivideOp(-1,-1); - $$=DEO; - } - | MODULOEQUAL - { - ModuloOp MEO = new ModuloOp(-1,-1); - $$=MEO; - } - | PLUSEQUAL - { - PlusOp PEO = new PlusOp(-1,-1); - $$=PEO; - } - | MINUSEQUAL - { - MinusOp MEO = new MinusOp(-1,-1); - $$=MEO; - } - // | SHIFTLEFTEQUAL - // | SIGNEDSHIFTRIGHTEQUAL - // | UNSIGNEDSHIFTRIGHTEQUAL - // | ANDEQUAL - // | XOREQUAL - // | OREQUAL - -preincrementexpression :INCREMENT unaryexpression - { - PreIncExpr PRINC = new PreIncExpr($2.getOffset(),$2.getVariableLength()); - PRINC.set_Expr($2); - $$=PRINC; - } - -predecrementexpression :DECREMENT unaryexpression - { - PreDecExpr PRDEC = new PreDecExpr($2.getOffset(),$2.getVariableLength()); - PRDEC.set_Expr($2); - $$=PRDEC; - } - -postincrementexpression :postfixexpression INCREMENT - { - PostIncExpr PIE = new PostIncExpr($1.getOffset(),$1.getVariableLength()); - PIE.set_Expr($1); - $$=PIE; - } - -postdecrementexpression :postfixexpression DECREMENT - { - PostDecExpr PDE = new PostDecExpr($1.getOffset(),$1.getVariableLength()); - PDE.set_Expr($1); - $$=PDE; - } - -methodinvocation: - name '(' ')' - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M1", Section.PARSER); - MethodCall MC = new MethodCall($1.getOffset(),$1.getVariableLength()); - UsedId udidmeth = new UsedId($1.getOffset()); - udidmeth.set_Name((String)(($1.get_Name()).elementAt($1.get_Name().size()-1))); - MC.set_UsedId(udidmeth); - Receiver rec = null; - if ($1.get_Name().size() > 2) { - - $1.removeLast(); - - //macht aus der Liste von Strings - //in usedid.name einen InstVar - InstVar INSTVA = new InstVar($1,$1.getOffset(),$1.getVariableLength()); - - //auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh()); - rec = new Receiver(INSTVA); - } - else if ($1.get_Name().size() == 2) { - LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname($1.getOffset(),$1.getVariableLength()); - $1.removeLast(); - LOFV.set_UsedId($1); - //auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh()); - rec = new Receiver(LOFV); - } - MC.set_Receiver(rec); - //auskommentiert von Andreas Stadelmeier (a10023) MC.setType(TypePlaceholder.fresh()); - $$=MC; - } - | name '('argumentlist')' - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M2", Section.PARSER); - MethodCall MCarg = new MethodCall($1.getOffset(),$1.getVariableLength()); - UsedId udidmeth = new UsedId($1.getOffset()); - udidmeth.set_Name((String)(($1.get_Name()).elementAt($1.get_Name().size()-1))); - MCarg.set_UsedId(udidmeth); - Receiver rec = null; - if ($1.get_Name().size() > 2) { - - $1.removeLast(); - - //macht aus der Liste von Strings - //in usedid.name einen InstVar - InstVar INSTVA = new InstVar($1,$1.getOffset(),$1.getVariableLength()); - - //auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh()); - rec = new Receiver(INSTVA); - } - else if ($1.get_Name().size() == 2) { - LocalOrFieldVarOrClassname LOFV = new LocalOrFieldVarOrClassname($1.getOffset(),$1.getVariableLength()); - $1.removeLast(); - LOFV.set_UsedId($1); - //auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh()); - rec = new Receiver(LOFV); - } - MCarg.set_Receiver(rec); - MCarg.set_ArgumentList($3); - //auskommentiert von Andreas Stadelmeier (a10023) MCarg.setType(TypePlaceholder.fresh()); - $$=MCarg; - } - | primary '.' IDENTIFIER '(' ')' - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M3", Section.PARSER); - MethodCall MCpr = new MethodCall($1.getOffset(),$1.getVariableLength()); - - // PL 05-08-21 primary ist kein UsedId - //$1.usedid.set_Name($3.getLexem()); - //MCpr.set_UsedId($1.get_UsedId()); - UsedId udidmeth = new UsedId($1.getOffset()); - udidmeth.set_Name($3.getLexem()); - MCpr.set_UsedId(udidmeth); - - /* #JB# 04.06.2005 */ - /* ########################################################### */ - MCpr.set_Receiver(new Receiver($1)); - /* ########################################################### */ - //auskommentiert von Andreas Stadelmeier (a10023) MCpr.setType(TypePlaceholder.fresh()); - $$=MCpr; - } - | primary '.' IDENTIFIER '('argumentlist ')' - { - de.dhbwstuttgart.logger.Logger.getLogger("parser").debug("M4", Section.PARSER); - MethodCall MCPA = new MethodCall($1.getOffset(),$1.getVariableLength()); - - // PL 05-08-21 primary ist kein UsedId - //$1.usedid.set_Name($3.getLexem()); - //MCPA.set_UsedId($1.get_UsedId()); - UsedId udidmeth = new UsedId($3.getOffset()); - udidmeth.set_Name($3.getLexem()); - MCPA.set_UsedId(udidmeth); - - /* #JB# 04.06.2005 */ - /* ########################################################### */ - MCPA.set_Receiver(new Receiver($1)); - /* ########################################################### */ - MCPA.set_ArgumentList($5); - //auskommentiert von Andreas Stadelmeier (a10023) MCPA.setType(TypePlaceholder.fresh()); - $$=MCPA; - } - // | SUPER '.' IDENTIFIER '(' ')' - // | SUPER '.' IDENTIFIER '('argumentlist')' - -classinstancecreationexpression : NEW classtype '(' ')' - { - NewClass NC = new NewClass($2.getOffset(),$2.getVariableLength()); - NC.set_UsedId($2); - - usedIdsToCheck.addElement($2); - //auskommentiert von Andreas Stadelmeier (a10023) NC.setType(TypePlaceholder.fresh()); - $$=NC; - } - | NEW classtype '(' argumentlist ')' - { - NewClass NCarg = new NewClass($2.getOffset(),$2.getVariableLength()); - NCarg.set_UsedId($2); - usedIdsToCheck.addElement($2); - NCarg.set_ArgumentList($4); - //auskommentiert von Andreas Stadelmeier (a10023) NCarg.setType(TypePlaceholder.fresh()); - $$=NCarg; - } - -conditionalandexpression : inclusiveorexpression - { - $$=$1; - } - | conditionalandexpression LOGICALAND inclusiveorexpression - { - Binary And = new Binary($1.getOffset(),$1.getVariableLength()); - AndOp AndO = new AndOp($1.getOffset(),$1.getVariableLength()); - And.set_Expr1($1); - And.set_Expr2($3); - And.set_Operator(AndO); - //auskommentiert von Andreas Stadelmeier (a10023) And.setType(TypePlaceholder.fresh()); - $$=And; - } - -/* -fieldaccess :primary '.' IDENTIFIER - | SUPER '.' IDENTIFIER -*/ - -unaryexpression : preincrementexpression - { - $$=$1; - } - | predecrementexpression - { - $$=$1; - } - | '+' unaryexpression - { - PositivExpr POSEX=new PositivExpr($2.getOffset(),$2.getVariableLength()); - UnaryPlus UP= new UnaryPlus(); - POSEX.set_UnaryPlus(UP); - POSEX.set_Expr($2); - $$=POSEX; - } - | '-' unaryexpression - { - NegativeExpr NEGEX=new NegativeExpr($2.getOffset(),$2.getVariableLength()); - UnaryMinus UM=new UnaryMinus(); - NEGEX.set_UnaryMinus(UM); - NEGEX.set_Expr($2); - $$=NEGEX; - } - | unaryexpressionnotplusminus - { - $$=$1; - } - -postfixexpression :primary - { - $$=$1; - } - | name - { - if ($1.get_Name().size() > 1) { - - //macht aus der Liste von Strings - //in usedid.name einen InstVar - InstVar INSTVA = new InstVar($1,$1.getOffset(),$1.getVariableLength()); - - //auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh()); - $$ = INSTVA; - } - else { - LocalOrFieldVarOrClassname Postincexpr = new LocalOrFieldVarOrClassname($1.getOffset(),$1.getVariableLength()); - Postincexpr.set_UsedId($1); - //auskommentiert von Andreas Stadelmeier (a10023) Postincexpr.setType(TypePlaceholder.fresh()); - $$=Postincexpr; - } - } - | postincrementexpression - { - $$=$1; - } - | postdecrementexpression - { - $$=$1; - } - -primary : primarynonewarray - { - $$=$1; - } - -inclusiveorexpression : exclusiveorexpression - { - $$=$1; - } - | inclusiveorexpression '|' exclusiveorexpression - -primarynonewarray : literal - { - $$=$1; - } - | THIS - { - This T = new This($1.getOffset(),$1.getLexem().length()); - UsedId UT = new UsedId($1.getOffset()); - UT.set_Name($1.getLexem()); - T.set_UsedId(UT); - $$=T; - } -/* auskommentiert von Andreas Stadelmeier - | '('expression')' - { - $$=$2; - } - */ -/* - | classinstancecreationexpression - { - $$=$1; - } - | fieldaccess -*/ - | methodinvocation - { - $$=$1; - } - |lambdaexpression - { - $$=$1; - } - - -unaryexpressionnotplusminus : postfixexpression {$$=$1;} - // | '~' unaryexpression - | '!' unaryexpression {NotExpr NE=new NotExpr($2.getOffset(),$2.getVariableLength()); - UnaryNot UN=new UnaryNot(); - NE.set_UnaryNot(UN); - NE.set_Expr($2); - $$=NE; - } - /* auskommentiert von Andreas Stadelmeier - | castexpression {$$=$1;} - */ - -exclusiveorexpression :andexpression {$$=$1;} - | exclusiveorexpression '^' andexpression //{ - // - //} - -literal : INTLITERAL {IntLiteral IL = new IntLiteral(); - IL.set_Int($1.String2Int()); - $$ = IL; - } - - | BOOLLITERAL {BoolLiteral BL = new BoolLiteral(); - BL.set_Bool($1.String2Bool()); - $$ = BL; - } - | CHARLITERAL {CharLiteral CL = new CharLiteral(); - CL.set_Char($1.CharInString()); - $$=CL; - } - | STRINGLITERAL - { - StringLiteral ST = new StringLiteral(); - ST.set_String($1.get_String()); - $$=ST; - } - | LONGLITERAL { LongLiteral LL = new LongLiteral(); - LL.set_Long($1.String2Long()); - $$ = LL; - } - | FLOATLITERAL { - FloatLiteral FL = new FloatLiteral(); - FL.set_Float($1.String2Float()); - $$ = FL; - } - | DOUBLELITERAL { - DoubleLiteral DL = new DoubleLiteral(); - DL.set_Double($1.String2Double()); - $$ = DL; - } - | JNULL; - { - Null NN = new Null(); - $$=NN; - } - -/* auskommentiert von Andreas Stadelmeier -//Anmerkung: Ursprünglich Stand hier: "castexpression : '(' primitivetype ')' unaryexpression" -//Dies ist allerdings falsch. Der jetzige Stand führt jedoch zu reduce-Konflikt mit Lambda Expression -castexpression : '(' type ')' unaryexpression - { - CastExpr CaEx=new CastExpr($4.getOffset(),$4.getVariableLength()); - CaEx.set_Type($2); - CaEx.set_Expr($4); - $$=CaEx; - } -*/ - //| '(' expression ')' unaryexpressionnotplusminus - -andexpression :equalityexpression - { - $$=$1; - } - | andexpression '&' equalityexpression - { - } - -equalityexpression : relationalexpression - { - $$=$1; - } - | equalityexpression EQUAL relationalexpression - { - Binary EQ = new Binary($1.getOffset(),$1.getVariableLength()); - EqualOp EO = new EqualOp($1.getOffset(),$1.getVariableLength()); - EQ.set_Expr1($1); - EQ.set_Expr2($3); - EQ.set_Operator(EO); - //auskommentiert von Andreas Stadelmeier (a10023) EQ.setType(TypePlaceholder.fresh()); - $$=EQ; - } - | equalityexpression NOTEQUAL relationalexpression - { - Binary NEQ = new Binary($1.getOffset(),$1.getVariableLength()); - NotEqualOp NEO = new NotEqualOp($1.getOffset(),$1.getVariableLength()); - NEQ.set_Expr1($1); - NEQ.set_Expr2($3); - NEQ.set_Operator(NEO); - //auskommentiert von Andreas Stadelmeier (a10023) NEQ.setType(TypePlaceholder.fresh()); - $$=NEQ; - } - -relationalexpression : shiftexpression - { - $$=$1; - } - | relationalexpression '<' shiftexpression - { - Binary LO = new Binary($1.getOffset(),$1.getVariableLength()); - LessOp LOO = new LessOp($1.getOffset(),$1.getVariableLength()); - LO.set_Expr1($1); - LO.set_Expr2($3); - LO.set_Operator(LOO); - //auskommentiert von Andreas Stadelmeier (a10023) LO.setType(TypePlaceholder.fresh()); - $$=LO; - } - | relationalexpression '>' shiftexpression - { - Binary GO = new Binary($1.getOffset(),$1.getVariableLength()); - GreaterOp GOO = new GreaterOp($1.getOffset(),$1.getVariableLength()); - GO.set_Expr1($1); - GO.set_Expr2($3); - GO.set_Operator( GOO ); - //auskommentiert von Andreas Stadelmeier (a10023) GO.setType(TypePlaceholder.fresh()); - $$=GO; - } - | relationalexpression LESSEQUAL shiftexpression - { - Binary LE = new Binary($1.getOffset(),$1.getVariableLength()); - LessEquOp LEO = new LessEquOp($1.getOffset(),$1.getVariableLength()); - LE.set_Expr1($1); - LE.set_Expr2($3); - LE.set_Operator(LEO); - //auskommentiert von Andreas Stadelmeier (a10023) LE.setType(TypePlaceholder.fresh()); - $$=LE; - } - | relationalexpression GREATEREQUAL shiftexpression - { - Binary GE = new Binary($1.getOffset(),$1.getVariableLength()); - GreaterEquOp GEO = new GreaterEquOp($1.getOffset(),$1.getVariableLength()); - GE.set_Expr1($1); - GE.set_Expr2($3); - GE.set_Operator(GEO); - //auskommentiert von Andreas Stadelmeier (a10023) GE.setType(TypePlaceholder.fresh()); - $$=GE; - } - | relationalexpression INSTANCEOF referencetype - { - InstanceOf ISO=new InstanceOf($1.getOffset(),$1.getVariableLength()); - ISO.set_Expr($1); - ISO.set_Type($3); - $$=ISO; - } - -shiftexpression : additiveexpression - { - $$=$1; - } - -additiveexpression :multiplicativeexpression - { - $$=$1; - } - | additiveexpression '+' multiplicativeexpression - { - Binary AD = new Binary($1.getOffset(),$1.getVariableLength()); - PlusOp PO = new PlusOp($1.getOffset(),$1.getVariableLength()); - AD.set_Expr1($1); - AD.set_Expr2($3); - AD.set_Operator(PO); - //auskommentiert von Andreas Stadelmeier (a10023) AD.setType(TypePlaceholder.fresh()); - $$=AD; - } - | additiveexpression '-' multiplicativeexpression - { - Binary MI = new Binary($1.getOffset(),$1.getVariableLength()); - MinusOp MO = new MinusOp($1.getOffset(),$1.getVariableLength()); - MI.set_Expr1($1); - MI.set_Expr2($3); - MI.set_Operator(MO); - //auskommentiert von Andreas Stadelmeier (a10023) MI.setType(TypePlaceholder.fresh()); - $$=MI; - } - -multiplicativeexpression : unaryexpression - { - $$=$1; - } - | multiplicativeexpression '*' unaryexpression - { - Binary ML = new Binary($1.getOffset(),$1.getVariableLength()); - TimesOp TO = new TimesOp($1.getOffset(),$1.getVariableLength()); - ML.set_Expr1($1); - ML.set_Expr2($3); - ML.set_Operator(TO); - //auskommentiert von Andreas Stadelmeier (a10023) ML.setType(TypePlaceholder.fresh()); - $$=ML; - } - | multiplicativeexpression '/' unaryexpression - { - Binary DV = new Binary($1.getOffset(),$1.getVariableLength()); - DivideOp DO = new DivideOp($1.getOffset(),$1.getVariableLength()); - DV.set_Expr1($1); - DV.set_Expr2($3); - DV.set_Operator(DO); - //auskommentiert von Andreas Stadelmeier (a10023) DV.setType(TypePlaceholder.fresh()); - $$ = DV; - } - | multiplicativeexpression '%' unaryexpression - { - Binary MD = new Binary($1.getOffset(),$1.getVariableLength()); - ModuloOp MO = new ModuloOp($1.getOffset(),$1.getVariableLength()); - MD.set_Expr1($1); - MD.set_Expr2($3); - MD.set_Operator(MO); - //auskommentiert von Andreas Stadelmeier (a10023) MD.setType(TypePlaceholder.fresh()); - $$ =MD; - } - - -%% \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/JavaParser_old.jay b/src/de/dhbwstuttgart/parser/JavaParser_old.jay deleted file mode 100755 index 04b93a75..00000000 --- a/src/de/dhbwstuttgart/parser/JavaParser_old.jay +++ /dev/null @@ -1,1567 +0,0 @@ -%{ -package mycompiler.myparser; - -import de.dhbwstuttgart.typeinference.Menge; - -import mycompiler.DeclId; -import mycompiler.ExceptionList; -import mycompiler.MyCompiler; -import mycompiler.ParaList; -import mycompiler.SourceFile; -import mycompiler.UsedId; -import mycompiler.myclass.Class; -import mycompiler.myclass.ClassBody; -import mycompiler.myclass.ClassDeclId; -import mycompiler.myclass.Constructor; -import mycompiler.myclass.FieldDecl; -import mycompiler.myclass.FormalParameter; -import mycompiler.myclass.InstVarDecl; -import mycompiler.myclass.Method; -import mycompiler.myclass.ParameterList; -import mycompiler.mymodifier.Abstract; -import mycompiler.mymodifier.Modifier; -import mycompiler.mymodifier.Modifiers; -import mycompiler.mymodifier.Private; -import mycompiler.mymodifier.Protected; -import mycompiler.mymodifier.Public; -import mycompiler.mymodifier.Static; -import mycompiler.myoperator.AndOp; -import mycompiler.myoperator.DivideOp; -import mycompiler.myoperator.EqualOp; -import mycompiler.myoperator.GreaterEquOp; -import mycompiler.myoperator.GreaterOp; -import mycompiler.myoperator.LessEquOp; -import mycompiler.myoperator.LessOp; -import mycompiler.myoperator.MinusOp; -import mycompiler.myoperator.ModuloOp; -import mycompiler.myoperator.NotEqualOp; -import mycompiler.myoperator.Operator; -import mycompiler.myoperator.OrOp; -import mycompiler.myoperator.PlusOp; -import mycompiler.myoperator.TimesOp; -import mycompiler.mystatement.ArgumentList; -import mycompiler.mystatement.Assign; -import mycompiler.mystatement.Binary; -import mycompiler.mystatement.Block; -import mycompiler.mystatement.BoolLiteral; -import mycompiler.mystatement.CastExpr; -import mycompiler.mystatement.CharLiteral; -import mycompiler.mystatement.EmptyStmt; -import mycompiler.mystatement.Expr; -import mycompiler.mystatement.ExprStmt; -import mycompiler.mystatement.IfStmt; -import mycompiler.mystatement.InstanceOf; -import mycompiler.mystatement.IntLiteral; -import mycompiler.mystatement.Literal; -import mycompiler.mystatement.LocalOrFieldVar; -import mycompiler.mystatement.LocalVarDecl; -import mycompiler.mystatement.MethodCall; -import mycompiler.mystatement.NegativeExpr; -import mycompiler.mystatement.NewClass; -import mycompiler.mystatement.NotExpr; -import mycompiler.mystatement.Null; -import mycompiler.mystatement.PositivExpr; -import mycompiler.mystatement.PostDecExpr; -import mycompiler.mystatement.PostIncExpr; -import mycompiler.mystatement.PreDecExpr; -import mycompiler.mystatement.PreIncExpr; -import mycompiler.mystatement.Return; -import mycompiler.mystatement.Statement; -import mycompiler.mystatement.StringLiteral; -import mycompiler.mystatement.This; -import mycompiler.mystatement.UnaryMinus; -import mycompiler.mystatement.UnaryNot; -import mycompiler.mystatement.UnaryPlus; -import mycompiler.mystatement.WhileStmt; -import mycompiler.mytype.BaseType; -import mycompiler.mytype.BooleanType; -import mycompiler.mytype.CharacterType; -import mycompiler.mytype.IntegerType; -import mycompiler.mytype.RefType; -import mycompiler.mytype.Type; -import mycompiler.mytype.TyploseVariable; - -public class JavaParser{ -public Menge path = new Menge(); -%} - -%token ABSTRACT -%token BOOLEAN -%token BREAK -%token CASE -%token CATCH -%token CHAR -%token CLASS -%token CONTINUE -%token DEFAULT -%token DO -%token ELSE -%token EXTENDS -%token FINALLY -%token FOR -%token IF -%token INSTANCEOF -%token INT -%token NEW -%token PRIVATE -%token PROTECTED -%token PUBLIC -%token RETURN -%token STATIC -%token SUPER -%token SWITCH -%token THIS -%token THROW -%token THROWS -%token TRY -%token VOID -%token WHILE -%token INTLITERAL -%token BOOLLITERAL -%token JNULL -%token CHARLITERAL -%token STRINGLITERAL -%token IDENTIFIER -%token EQUAL -%token LESSEQUAL -%token GREATEREQUAL -%token NOTEQUAL -%token LOGICALOR -%token LOGICALAND -%token INCREMENT -%token DECREMENT -%token SHIFTLEFT -%token SHIFTRIGHT -%token UNSIGNEDSHIFTRIGHT -%token SIGNEDSHIFTRIGHT -%token PLUSEQUAL -%token MINUSEQUAL -%token TIMESEQUAL -%token DIVIDEEQUAL -%token ANDEQUAL -%token OREQUAL -%token XOREQUAL -%token MODULOEQUAL -%token SHIFTLEFTEQUAL -%token SIGNEDSHIFTRIGHTEQUAL -%token UNSIGNEDSHIFTRIGHTEQUAL -%token BRACE -%token RELOP -%token OP -%token EOF - -%type classdeclaration -%type classbody -%type fielddeclaration -%type methodheader -%type methoddeclaration -%type methoddeclarator -%type classbodydeclarations -%type classbodydeclaration -%type classmemberdeclaration -%type variabledeclarators -%type variabledeclarator -%type variabledeclaratorid -%type simplename -%type qualifiedname -%type name -%type super -%type classtype -%type classorinterfacetype -%type integraltype -%type numerictype -%type primitivetype -%type referencetype -%type classtypelist -%type type -%type modifiers -%type modifier -%type block -%type methodbody -%type blockstatements -%type localvariabledeclarationstatement -%type localvariabledeclaration -%type throws -%type formalparameter -%type formalparameterlist -%type literal -%type primarynonewarray -%type primary -%type postfixexpression -%type unaryexpressionnotplusminus -%type unaryexpression -%type multiplicativeexpression -%type additiveexpression -%type shiftexpression -%type relationalexpression -%type equalityexpression -%type andexpression -%type exclusiveorexpression -%type inclusiveorexpression -%type conditionalandexpression -%type conditionalorexpression -%type conditionalexpression -%type assignmentexpression -%type expression -%type statementexpression -%type preincrementexpression -%type predecrementexpression -%type postincrementexpression -%type postdecrementexpression -%type expressionstatement -%type variableinitializer -%type statementwithouttrailingsubstatement -%type blockstatement -%type statement -%type statementnoshortif -%type whilestatement -%type whilestatementnoshortif -%type ifthenstatement -%type ifthenelsestatement -%type ifthenelsestatementnoshortif -%type emptystatement -%type returnstatement -%type classinstancecreationexpression -%type compilationunit -%type typedeclarations -%type assignment -%type assignmentoperator -%type lefthandside -%type argumentlist -%type methodinvocation -%type typedeclaration -%type constructordeclaration -%type constructordeclarator -%type constructorbody -%type explicitconstructorinvocation -%type staticinitializer -%type castexpression -%type paralist -%left ',' -%% - -compilationunit :typedeclarations - { - $$=$1; - } - -typedeclarations :typedeclaration - { - SourceFile Scfile = new SourceFile(); - Scfile.set_Class($1); - $$=Scfile; - } - |typedeclarations typedeclaration - { - $1.set_Class($2); - $$=$1; - } - -name :qualifiedname - { - $$=$1; - } - |simplename - { - $$=$1; - } - -typedeclaration :classdeclaration - { - $$=$1; - } - -qualifiedname : name '.' IDENTIFIER - { - $1.set_Name($3.getLexem()); - $$=$1; - } - -simplename : IDENTIFIER - { - UsedId UI = new UsedId(); - UI.set_Name( $1.getLexem() ); - $$ = UI; - } - -classdeclaration : CLASS IDENTIFIER classbody - { - MyCompiler.Debug("P->Neue Klasse: " + $2.getLexem(), 3); - Class C = new Class(); - ClassDeclId CDI = new ClassDeclId(); - CDI.set_classname( $2.getLexem() ); - C.set_ClassDeclId( CDI ); - C.set_ClassBody($3); - $$ = C; - } - - | modifiers CLASS IDENTIFIER classbody - { - Class Cmod = new Class(); - ClassDeclId CDImod = new ClassDeclId(); - CDImod.set_Modifiers($1); - CDImod.set_classname($3.getLexem()); - Cmod.set_ClassDeclId(CDImod); - Cmod.set_ClassBody($4); - $$ = Cmod; - } - - | CLASS IDENTIFIER super classbody - { - Class Csup = new Class(); - ClassDeclId CDIsup = new ClassDeclId(); - CDIsup.set_classname($2.getLexem()); - Csup.set_ClassDeclId(CDIsup); - Csup.set_UsedId($3); - Csup.set_ClassBody($4); - $$ = Csup; - } - - |modifiers CLASS IDENTIFIER super classbody - { - Class Cmodsup = new Class(); - ClassDeclId CDImodsup = new ClassDeclId(); - CDImodsup.set_Modifiers($1); - CDImodsup.set_classname($3.getLexem()); - Cmodsup.set_ClassDeclId(CDImodsup); - Cmodsup.set_UsedId($4); - Cmodsup.set_ClassBody($5); - $$ = Cmodsup; - } - | modifiers CLASS IDENTIFIER '<'paralist'>'classbody - { - Class Cmod = new Class(); - ClassDeclId CDImod = new ClassDeclId(); - CDImod.set_Modifiers($1); - CDImod.set_classname($3.getLexem()); - Cmod.set_ClassDeclId(CDImod); - Cmod.set_ParaList($5.get_ParaList()); - Cmod.set_ClassBody($7); - $$ = Cmod; - } - - |CLASS IDENTIFIER '<' paralist '>'classbody - { - Class C = new Class(); - ClassDeclId CDI = new ClassDeclId(); - CDI.set_classname($2.getLexem()); - C.set_ClassDeclId(CDI); - C.set_ClassBody($6); - C.set_ParaList($4.get_ParaList()); - $$ = C; - } - - | CLASS IDENTIFIER '<' paralist '>'super classbody - { - MyCompiler.Debug( "Klassendefinition: Basisklassen-Parameter = " + $4.get_ParaList(), 3 ); - MyCompiler.Debug( "Klassendefinition: Superklassen-Parameter = " + $6.get_ParaList(), 3 ); - MyCompiler.Debug( "Klassendefinition: Superklassen-Parameter = " + $6.get_ParaList().hashCode(), 3 ); - Class Csup = new Class(); - ClassDeclId CDIsup = new ClassDeclId(); - CDIsup.set_classname($2.getLexem()); - Csup.set_ClassDeclId(CDIsup); - Csup.set_ParaList($4.get_ParaList()); - Csup.set_UsedId($6); - Csup.set_ClassBody($7); - $$ = Csup; - } - - |modifiers CLASS IDENTIFIER '<'paralist'>'super classbody - { - Class Cmodsup = new Class(); - ClassDeclId CDImodsup = new ClassDeclId(); - CDImodsup.set_Modifiers($1); - CDImodsup.set_classname($3.getLexem()); - Cmodsup.set_ClassDeclId(CDImodsup); - Cmodsup.set_ParaList($5.get_ParaList()); - Cmodsup.set_UsedId($7); - Cmodsup.set_ClassBody($8); - $$ = Cmodsup; - } - - -paralist : IDENTIFIER - { - ParaList pl = new ParaList(); - pl.paralist.addElement( new TyploseVariable($1.getLexem()) ); - MyCompiler.Debug( "IDENTIFIER --> Paralist für " + $1.getLexem() + " TV", 3 ); - $$ = pl; - } - - | IDENTIFIER '<' paralist '>' - { - ParaList pl = new ParaList(); - RefType t = new RefType( $1.getLexem() ); - t.set_ParaList( $3.get_ParaList() ); - pl.paralist.addElement(t); - MyCompiler.Debug( "IDENTIFIER '<' paralist '>' --> Paralist für " + $1.getLexem() + ": RefType", 3 ); - $$ = pl; - } - - | paralist ',' IDENTIFIER - { - $1.paralist.addElement(new TyploseVariable($3.getLexem())); - MyCompiler.Debug( "paralist ',' IDENTIFIER --> Paralist für " + $3.getLexem() + ": TV", 3 ); - MyCompiler.Debug( "paralist: " + $1.paralist, 3 ); - $$=$1; - } - - | paralist ',' IDENTIFIER '<' paralist '>' - { - RefType t = new RefType( $3.getLexem() ); - t.set_ParaList( $5.get_ParaList() ); - $1.paralist.addElement(t); - MyCompiler.Debug( "paralist ',' IDENTIFIER '<' paralist '>' --> Paralist für " + $3.getLexem() + ": RefType", 3 ); - $$=$1; - } - -classbody : '{' '}' - { - ClassBody CB = new ClassBody(); - $$ = CB; - } - - | '{'classbodydeclarations '}' - { - $$ = $2; - } - -modifiers :modifier - { - Modifiers Mod = new Modifiers(); - Mod.modifier.addElement($1); - $$ = Mod; - } - |modifiers modifier - { - $1.modifier.addElement($2); - $$ = $1; - } - -super :EXTENDS classtype - { - $$ = $2; - } - -classbodydeclarations : classbodydeclaration - { - ClassBody CB = new ClassBody(); - CB.set_FieldDecl( $1 ); - $$=CB; - } - | classbodydeclarations classbodydeclaration - { - $1.set_FieldDecl($2); - $$ = $1; - } - - -modifier : PUBLIC - { - Public Pub = new Public(); - $$=Pub; - } - | PROTECTED - { - Protected Pro = new Protected(); - $$=Pro; - } - | PRIVATE - { - Private Pri = new Private(); - $$=Pri; - } - | STATIC - { - Static Sta = new Static(); - $$=Sta; - } - | ABSTRACT - { - Abstract Abs = new Abstract(); - $$=Abs; - } - -classtype : classorinterfacetype - { - $$ = $1; - } - | classorinterfacetype '<'paralist'>' - { - $1.set_ParaList($3.get_ParaList()); - - /* otth: originale (also diese) Parameterliste retten */ - ((UsedId)$1).vParaOrg = new Menge( $3.get_ParaList() ); - - $$ = $1; - } - -classbodydeclaration : classmemberdeclaration - { - $$=$1; - } - | staticinitializer - { - $$=$1; - } - | constructordeclaration - { - $$=$1; - } - -classorinterfacetype : name - { - $$=$1; - } - -classmemberdeclaration : fielddeclaration - { - $$=$1; - } - | methoddeclaration - { - $$=$1; - } - -staticinitializer : STATIC block - { - Method STAT = new Method(); - DeclId DST = new DeclId(); - DST.set_Name($1.getLexem()); - STAT.set_DeclId(DST); - Static ST = new Static(); - Modifiers MOD = new Modifiers(); - MOD.modifier.addElement(ST); - STAT.set_Modifiers(MOD); - STAT.set_Block($2); - $$=STAT; - } - -constructordeclaration : constructordeclarator constructorbody - { - $1.set_Block($2); - $$ = $1; - } - | modifiers constructordeclarator constructorbody - { - $2.set_Block($3); - $2.set_Modifiers($1); - $$ = $2; - } - -fielddeclaration : type variabledeclarators ';' - { - MyCompiler.Debug("T->Parser->fielddeclaration ...: type " + $1, 5); - $2.set_Type($1); - $$ = $2; - } - - | modifiers type variabledeclarators ';' - { - $3.set_Type($2); - for(int i=0;i<($3.declid.size());i++) - { - $3.declid.setElementAt((((DeclId)($3.declid.elementAt(i))).modifiers=$1),i); - } - $$ = $3; - } - -methoddeclaration : methodheader methodbody - { - $1.set_Block($2); - $$=$1; - } - -block : '{' '}' - - { - Block Bl = new Block(); - $$=Bl; - } - - | '{' blockstatements '}' - { - $$=$2; - } - -constructordeclarator : simplename '(' ')' - { - Constructor CON = new Constructor(); - DeclId DIDCon = new DeclId(); - DIDCon.set_Name($1.get_Name_1Element()); - CON.set_DeclId(DIDCon); - $$=CON; - } - | simplename '('formalparameterlist')' - { - Constructor CONpara = new Constructor(); - DeclId DIconpara = new DeclId(); - DIconpara.set_Name($1.get_Name_1Element()); - CONpara.set_DeclId(DIconpara); - CONpara.set_ParaList($3); - $$=CONpara; - } - -constructorbody : '{' '}' - { - Block CBL = new Block(); - $$=CBL; - } - | '{' explicitconstructorinvocation '}' - { - Block CBLexpl = new Block(); - CBLexpl.set_Statement($2); - $$=CBLexpl; - } - | '{' blockstatements '}' - { - $$=$2; - } - | '{'explicitconstructorinvocation blockstatements '}' - { - Block CBes = new Block(); - CBes.set_Statement($2); - for(int j=0;j<$3.statements.size();j++) - { - CBes.set_Statement((Statement)$3.statements.elementAt(j)); - } - $$=CBes; - } - -throws : THROWS classtypelist - { - ExceptionList EL = new ExceptionList(); - EL.set_addElem($2); - $$=EL; - } - -methodheader : type methoddeclarator - { - $2.set_ReturnType($1); - $$=$2; - } - | modifiers type methoddeclarator - { - $3.set_Modifiers($1); - $3.set_ReturnType($2); - $$=$3; - } - | type methoddeclarator throws - { - $2.set_ReturnType($1); - $2.set_ExceptionList($3); - $$=$2; - } - | modifiers type methoddeclarator throws - { - $3.set_Modifiers($1); - $3.set_ReturnType($2); - $3.set_ExceptionList($4); - $$=$3; - } - | VOID methoddeclarator - { - Type Voit = new Type(); - Voit.set_Type($1.getLexem()); - $2.set_ReturnType(Voit); - $$=$2; - } - | modifiers VOID methoddeclarator - { - Type voit = new Type(); - voit.set_Type($2.getLexem()); - $3.set_Modifiers($1); - $3.set_ReturnType(voit); - $$=$3; - } - | VOID methoddeclarator throws - { - Type voyt = new Type(); - voyt.set_Type($1.getLexem()); - $2.set_ReturnType(voyt); - $2.set_ExceptionList($3); - $$=$2; - } - | modifiers VOID methoddeclarator throws - { - Type voyd = new Type(); - voyd.set_Type($2.getLexem()); - $3.set_Modifiers($1); - $3.set_ReturnType(voyd); - $3.set_ExceptionList($4); - $$=$3; - } - -type : primitivetype - { - $$=$1; - } - |referencetype - { - $$=$1; - } - -variabledeclarators : variabledeclarator - { - InstVarDecl IVD = new InstVarDecl(); - IVD.declid.addElement( $1 ); - $$ = IVD; - } - | variabledeclarators ',' variabledeclarator - { - $1.declid.addElement($3); - $$=$1; - } - -methodbody : block - { - $$=$1; - } - -blockstatements : blockstatement - { - Block Blstat = new Block(); - Blstat.set_Statement($1); - $$=Blstat; - } - - | blockstatements blockstatement - { - $1.set_Statement($2); - $$=$1; - } - -formalparameterlist :formalparameter - { - ParameterList PL = new ParameterList(); - PL.set_AddParameter($1); - $$ = PL; - } - |formalparameterlist ',' formalparameter - { - $1.set_AddParameter($3); - $$ = $1; - } - -explicitconstructorinvocation : THIS '(' ')' ';' - { - This THCON = new This(); - $$=THCON; - } - |THIS '(' argumentlist ')' ';' - { - This THCONargl = new This(); - THCONargl.set_ArgumentList($3); - $$=THCONargl; - } - // |SUPER '(' ')' ';' - // |SUPER '(' argumentlist ')' ';' - -classtypelist : classtype - { - RefType RT = new RefType(); - RT.set_UsedId($1); - RT.set_Type(RT.used.get_Name_1Element()); - $$=RT; - } - | classtypelist ',' classtype - { - $1.set_UsedId($3); - $1.set_Type($1.used.get_Name_1Element()); - $$=$1; - } - -methoddeclarator :IDENTIFIER '(' ')' - { - Method met = new Method(); - DeclId DImethod = new DeclId(); - DImethod.set_Name($1.getLexem()); - met.set_DeclId(DImethod); - $$ = met; - } - |IDENTIFIER '(' formalparameterlist ')' - { - Method met_para = new Method(); - DeclId Dimet_para = new DeclId(); - Dimet_para.set_Name($1.getLexem()); - met_para.set_DeclId(Dimet_para); - met_para.set_ParaList($3); - $$ = met_para; - } - -primitivetype :BOOLEAN - { - BooleanType BT = new BooleanType(); - BT.set_Type($1.getLexem()); - $$=BT; - } - |numerictype - { - $$=$1; - } - -referencetype :classorinterfacetype - { - MyCompiler.Debug("T->Parser->referenctype: " + $1, 5); - RefType RT = new RefType(); - RT.set_UsedId($1); - RT.set_Type(RT.used.get_Name_1Element()); - $$=RT; - } - -variabledeclarator : variabledeclaratorid - { - $$=$1; - } - - | variabledeclaratorid '=' variableinitializer - { - $1.set_Wert($3); - $$=$1; - } - - | '<' paralist'>' variabledeclaratorid '=' variableinitializer - { - $4.set_Wert($6); - $4.set_Paratyp($2.get_ParaList()); - $$=$4; - } - -blockstatement :localvariabledeclarationstatement - { - $$=$1; - } - |statement - { - $$=$1; - } - -formalparameter : type variabledeclaratorid - { - FormalParameter FP = new FormalParameter(); - FP.set_Type($1); - FP.set_DeclId($2); - $$=FP; - } - - /* otth: Methodenargumente koennen hiermit auch polymorph sein. */ - | type '<'paralist'>' variabledeclaratorid - { - /* Parameterliste setzen */ - $5.set_Paratyp($3.get_ParaList()); - - FormalParameter FP = new FormalParameter(); - FP.set_Type($1); - FP.set_DeclId($5); - $$=FP; - - MyCompiler.Debug("P->Polymorphes Methodenargument hinzugefuegt: Name = " + $5.get_Name() + " Typ = " + $1.get_Type(), 3); - } - -argumentlist : expression - { - ArgumentList AL = new ArgumentList(); - AL.expr.addElement($1); - $$=AL; - } - |argumentlist ',' expression - { - $1.expr.addElement($3); - $$=$1; - } - -numerictype :integraltype - { - $$=$1; - } - -variabledeclaratorid :IDENTIFIER - { - DeclId DI = new DeclId(); - DI.set_Name($1.getLexem()); - $$=DI; - } - -variableinitializer :expression - { - $$=$1; - } - -localvariabledeclarationstatement :localvariabledeclaration ';' - { - $$=$1; - } - -statement :statementwithouttrailingsubstatement - { - $$=$1; - } - |ifthenstatement - { - $$=$1; - } - |ifthenelsestatement - { - $$=$1; - } - |whilestatement - { - $$=$1; - } - -expression :assignmentexpression - { - $$=$1; - } - |classinstancecreationexpression - { - $$=$1; - } - -integraltype :INT - { - IntegerType IT = new IntegerType(); - IT.set_Type($1.getLexem()); - $$=IT; - } - | CHAR - { - CharacterType CT = new CharacterType(); - CT.set_Type($1.getLexem()); - $$=CT; - } - -localvariabledeclaration : type variabledeclarators - { - MyCompiler.Debug("P -> Lokale Variable angelegt!", 3); - LocalVarDecl LVD = new LocalVarDecl(); - LVD.set_Type($1); - LVD.declid=$2.declid; - $$ = LVD; - } - -statementwithouttrailingsubstatement : block - { - $$=$1; - } - | emptystatement - { - $$=$1; - } - | expressionstatement - { - $$=$1; - } - | returnstatement - { - $$=$1; - } - -ifthenstatement : IF '(' expression ')' statement - { - IfStmt Ifst = new IfStmt(); - Ifst.set_Expr($3); - Ifst.set_Then_block($5); - $$=Ifst; - } - -ifthenelsestatement : IF '('expression ')'statementnoshortif ELSE statement - { - IfStmt IfstElst = new IfStmt(); - IfstElst.set_Expr($3); - IfstElst.set_Then_block($5); - IfstElst.set_Else_block($7); - $$=IfstElst; - } - -whilestatement : WHILE '(' expression ')' statement - { - WhileStmt Whlst = new WhileStmt(); - Whlst.set_Expr($3); - Whlst.set_Loop_block($5); - $$=Whlst; - } - -assignmentexpression : conditionalexpression - { - $$=$1; - } - | assignment - { - $$=$1; - } - -emptystatement : ';' - { - EmptyStmt Empst = new EmptyStmt(); - $$=Empst; - } - -expressionstatement : statementexpression ';' - { - $$=$1; - } - -returnstatement : RETURN ';' - { - Return ret = new Return(); - $$= ret; - } - | RETURN expression ';' - { - Return retexp = new Return(); - retexp.set_ReturnExpr($2); - $$=retexp; - } - -statementnoshortif :statementwithouttrailingsubstatement - { - $$=$1; - } - | ifthenelsestatementnoshortif - { - $$=$1; - } - | whilestatementnoshortif - { - $$=$1; - } - -conditionalexpression :conditionalorexpression - { - $$=$1; - } - // | conditionalorexpression '?' expression ':' conditionalexpression - -assignment :lefthandside assignmentoperator assignmentexpression - { - MyCompiler.Debug("\nParser --> Zuweisung1!\n", 3); - Assign Ass = new Assign(); - LocalOrFieldVar LOFV = new LocalOrFieldVar(); - LOFV.set_UsedId($1); - if( $2 == null ) - { - MyCompiler.Debug("\nParser --> Zuweisung1 --> " + $3 + " \n", 3); - Ass.set_Expr( LOFV,$3 ); - } - else - { - Binary Bin = new Binary(); - Bin.set_Expr1(LOFV); - Bin.set_Operator($2); - Bin.set_Expr2($3); - MyCompiler.Debug("\nParser --> Zuweisung1 --> Binary\n", 3); - Ass.set_Expr( LOFV, Bin ); - } - $$=Ass; - } - | lefthandside assignmentoperator classinstancecreationexpression - { - Assign Ass =new Assign(); - LocalOrFieldVar LOFV = new LocalOrFieldVar(); - LOFV.set_UsedId($1); - if($2==null) - { - Ass.set_Expr(LOFV,$3); - } - else - { - Binary Bin = new Binary(); - Bin.set_Expr1(LOFV); - Bin.set_Operator($2); - Bin.set_Expr2($3); - Ass.set_Expr(LOFV,Bin); - } - $$=Ass; - } - -statementexpression :assignment - { - $$=$1; - } - | preincrementexpression - { - $$=$1; - } - | predecrementexpression - { - $$=$1; - } - | postincrementexpression - { - $$=$1; - } - | postdecrementexpression - { - $$=$1; - } - | methodinvocation - { - $$=$1; - } -/* | classinstancecreationexpression - { - $$=$1; - } -*/ - -ifthenelsestatementnoshortif :IF '(' expression ')' statementnoshortif - ELSE statementnoshortif - { - IfStmt IfElno = new IfStmt(); - IfElno.set_Expr($3); - IfElno.set_Then_block($5); - IfElno.set_Else_block($7); - $$=IfElno; - } - -whilestatementnoshortif :WHILE '(' expression ')' statementnoshortif - { - WhileStmt Whstno = new WhileStmt(); - Whstno.set_Expr($3); - Whstno.set_Loop_block($5); - $$=Whstno; - } - -conditionalorexpression : conditionalandexpression - { - $$=$1; - } - | conditionalorexpression LOGICALOR conditionalandexpression - { - Binary LogOr = new Binary(); - OrOp OrO = new OrOp(); - LogOr.set_Expr1($1); - LogOr.set_Expr2($3); - LogOr.set_Operator(OrO); - $$=LogOr; - } - - -lefthandside :name - { - $$=$1; - } - -assignmentoperator : '=' - { - $$=null; - } - | TIMESEQUAL - { - TimesOp TEO = new TimesOp(); - $$=TEO; - } - | DIVIDEEQUAL - { - DivideOp DEO = new DivideOp(); - $$=DEO; - } - | MODULOEQUAL - { - ModuloOp MEO = new ModuloOp(); - $$=MEO; - } - | PLUSEQUAL - { - PlusOp PEO = new PlusOp(); - $$=PEO; - } - | MINUSEQUAL - { - MinusOp MEO = new MinusOp(); - $$=MEO; - } - // | SHIFTLEFTEQUAL - // | SIGNEDSHIFTRIGHTEQUAL - // | UNSIGNEDSHIFTRIGHTEQUAL - // | ANDEQUAL - // | XOREQUAL - // | OREQUAL - -preincrementexpression :INCREMENT unaryexpression - { - PreIncExpr PRINC = new PreIncExpr(); - PRINC.set_Expr($2); - $$=PRINC; - } - -predecrementexpression :DECREMENT unaryexpression - { - PreDecExpr PRDEC = new PreDecExpr(); - PRDEC.set_Expr($2); - $$=PRDEC; - } - -postincrementexpression :postfixexpression INCREMENT - { - PostIncExpr PIE = new PostIncExpr(); - PIE.set_Expr($1); - $$=PIE; - } - -postdecrementexpression :postfixexpression DECREMENT - { - PostDecExpr PDE = new PostDecExpr(); - PDE.set_Expr($1); - $$=PDE; - } - -methodinvocation :name '(' ')' - { - MethodCall MC = new MethodCall(); - MC.set_UsedId($1); - $$=MC; - } - | name '('argumentlist')' - { - MethodCall MCarg = new MethodCall(); - MCarg.set_UsedId($1); - MCarg.set_ArgumentList($3); - $$=MCarg; - } - | primary '.' IDENTIFIER '(' ')' - { - MethodCall MCpr = new MethodCall(); - $1.usedid.set_Name($3.getLexem()); - MCpr.set_UsedId($1.get_UsedId()); - $$=MCpr; - } - | primary '.' IDENTIFIER '('argumentlist ')' - { - MethodCall MCPA = new MethodCall(); - $1.usedid.set_Name($3.getLexem()); - MCPA.set_UsedId($1.get_UsedId()); - MCPA.set_ArgumentList($5); - $$=MCPA; - } - // | SUPER '.' IDENTIFIER '(' ')' - // | SUPER '.' IDENTIFIER '('argumentlist')' - -classinstancecreationexpression : NEW classtype '(' ')' - { - NewClass NC = new NewClass(); - NC.set_UsedId($2); - $$=NC; - } - | NEW classtype '(' argumentlist ')' - { - NewClass NCarg = new NewClass(); - NCarg.set_UsedId($2); - NCarg.set_ArgumentList($4); - $$=NCarg; - } - -conditionalandexpression : inclusiveorexpression - { - $$=$1; - } - | conditionalandexpression LOGICALAND inclusiveorexpression - { - Binary And = new Binary(); - AndOp AndO = new AndOp(); - And.set_Expr1($1); - And.set_Expr2($3); - And.set_Operator(AndO); - $$=And; - } - -/* -fieldaccess :primary '.' IDENTIFIER - | SUPER '.' IDENTIFIER -*/ - -unaryexpression : preincrementexpression - { - $$=$1; - } - | predecrementexpression - { - $$=$1; - } - | '+' unaryexpression - { - PositivExpr POSEX=new PositivExpr(); - UnaryPlus UP= new UnaryPlus(); - POSEX.set_UnaryPlus(UP); - POSEX.set_Expr($2); - $$=POSEX; - } - | '-' unaryexpression - { - NegativeExpr NEGEX=new NegativeExpr(); - UnaryMinus UM=new UnaryMinus(); - NEGEX.set_UnaryMinus(UM); - NEGEX.set_Expr($2); - $$=NEGEX; - } - | unaryexpressionnotplusminus - { - $$=$1; - } - -postfixexpression :primary - { - $$=$1; - } - | name - { - LocalOrFieldVar Postincexpr = new LocalOrFieldVar(); - Postincexpr.set_UsedId($1); - $$=Postincexpr; - } - | postincrementexpression - { - $$=$1; - } - | postdecrementexpression - { - $$=$1; - } - -primary : primarynonewarray - { - $$=$1; - } - -inclusiveorexpression : exclusiveorexpression - { - $$=$1; - } - | inclusiveorexpression '|' exclusiveorexpression - -primarynonewarray : literal - { - $$=$1; - } - | THIS - { - This T = new This(); - UsedId UT = new UsedId(); - UT.set_Name($1.getLexem()); - T.set_UsedId(UT); - $$=T; - } - - | '('expression')' - { - $$=$2; - } -/* - | classinstancecreationexpression - { - $$=$1; - } - | fieldaccess -*/ - | methodinvocation - { - $$=$1; - } - -unaryexpressionnotplusminus : postfixexpression {$$=$1;} - // | '~' unaryexpression - | '!' unaryexpression {NotExpr NE=new NotExpr(); - UnaryNot UN=new UnaryNot(); - NE.set_UnaryNot(UN); - NE.set_Expr($2); - $$=NE; - } - | castexpression {$$=$1;} - -exclusiveorexpression :andexpression {$$=$1;} - | exclusiveorexpression '^' andexpression //{ - // - //} - -literal : INTLITERAL {IntLiteral IL = new IntLiteral(); - IL.set_Int($1.String2Int()); - $$ = IL; - } - - | BOOLLITERAL {BoolLiteral BL = new BoolLiteral(); - BL.set_Bool($1.String2Bool()); - $$ = BL; - } - | CHARLITERAL {CharLiteral CL = new CharLiteral(); - CL.set_Char($1.CharInString()); - $$=CL; - } - | STRINGLITERAL - { - StringLiteral ST = new StringLiteral(); - ST.set_String($1.get_String()); - $$=ST; - } - | JNULL; - { - Null NN = new Null(); - $$=NN; - } - -castexpression : '(' primitivetype ')' unaryexpression - { - CastExpr CaEx=new CastExpr(); - CaEx.set_Type($2); - CaEx.set_Expr($4); - $$=CaEx; - } - //| '(' expression ')' unaryexpressionnotplusminus - -andexpression :equalityexpression - { - $$=$1; - } - | andexpression '&' equalityexpression - { - } - -equalityexpression : relationalexpression - { - $$=$1; - } - | equalityexpression EQUAL relationalexpression - { - Binary EQ = new Binary(); - EqualOp EO = new EqualOp(); - EQ.set_Expr1($1); - EQ.set_Expr2($3); - EQ.set_Operator(EO); - $$=EQ; - } - | equalityexpression NOTEQUAL relationalexpression - { - Binary NEQ = new Binary(); - NotEqualOp NEO = new NotEqualOp(); - NEQ.set_Expr1($1); - NEQ.set_Expr2($3); - NEQ.set_Operator(NEO); - $$=NEQ; - } - -relationalexpression : shiftexpression - { - $$=$1; - } - | relationalexpression '<' shiftexpression - { - Binary LO = new Binary(); - LessOp LOO = new LessOp(); - LO.set_Expr1($1); - LO.set_Expr2($3); - LO.set_Operator(LOO); - $$=LO; - } - | relationalexpression '>' shiftexpression - { - Binary GO = new Binary(); - GreaterOp GOO = new GreaterOp(); - GO.set_Expr1($1); - GO.set_Expr2($3); - GO.set_Operator( GOO ); - $$=GO; - } - | relationalexpression LESSEQUAL shiftexpression - { - Binary LE = new Binary(); - LessEquOp LEO = new LessEquOp(); - LE.set_Expr1($1); - LE.set_Expr2($3); - LE.set_Operator(LEO); - $$=LE; - } - | relationalexpression GREATEREQUAL shiftexpression - { - Binary GE = new Binary(); - GreaterEquOp GEO = new GreaterEquOp(); - GE.set_Expr1($1); - GE.set_Expr2($3); - GE.set_Operator(GEO); - $$=GE; - } - | relationalexpression INSTANCEOF referencetype - { - InstanceOf ISO=new InstanceOf(); - ISO.set_Expr($1); - ISO.set_Type($3); - $$=ISO; - } - -shiftexpression : additiveexpression - { - $$=$1; - } - -additiveexpression :multiplicativeexpression - { - $$=$1; - } - | additiveexpression '+' multiplicativeexpression - { - Binary AD = new Binary(); - PlusOp PO = new PlusOp(); - AD.set_Expr1($1); - AD.set_Expr2($3); - AD.set_Operator(PO); - $$=AD; - } - | additiveexpression '-' multiplicativeexpression - { - Binary MI = new Binary(); - MinusOp MO = new MinusOp(); - MI.set_Expr1($1); - MI.set_Expr2($3); - MI.set_Operator(MO); - $$=MI; - } - -multiplicativeexpression : unaryexpression - { - $$=$1; - } - | multiplicativeexpression '*' unaryexpression - { - Binary ML = new Binary(); - TimesOp TO = new TimesOp(); - ML.set_Expr1($1); - ML.set_Expr2($3); - ML.set_Operator(TO); - $$=ML; - } - | multiplicativeexpression '/' unaryexpression - { - Binary DV = new Binary(); - DivideOp DO = new DivideOp(); - DV.set_Expr1($1); - DV.set_Expr2($3); - DV.set_Operator(DO); - $$ = DV; - } - | multiplicativeexpression '%' unaryexpression - { - Binary MD = new Binary(); - ModuloOp MO = new ModuloOp(); - MD.set_Expr1($1); - MD.set_Expr2($3); - MD.set_Operator(MO); - $$ =MD; - } - -/* OTTH: Methodenparametertypen müssen nicht mehr angegeben werden */ - -formalparameter : variabledeclaratorid - { - MyCompiler.Debug("\nFunktionsdeklaration mit typlosen Parametern: " + $1.name, 3); - - FormalParameter FP = new FormalParameter(); - - Type T = new TyploseVariable(""); /* otth: Name wird automatisch berechnet */ - MyCompiler.Debug("\n--> berechneter Name: " + T.get_Type(), 3); - - FP.set_Type( T ); - FP.set_DeclId($1); - - $$=FP; - } - -%% \ No newline at end of file diff --git a/src/de/dhbwstuttgart/parser/Scanner.java b/src/de/dhbwstuttgart/parser/Scanner.java deleted file mode 100755 index d8eef5c0..00000000 --- a/src/de/dhbwstuttgart/parser/Scanner.java +++ /dev/null @@ -1,54 +0,0 @@ -// ino.module.Scanner.8618.package -package de.dhbwstuttgart.parser; -// ino.end -// ino.class.Scanner.24842.declaration -public class Scanner extends JavaLexer implements JavaParser.yyInput -// ino.end -// ino.class.Scanner.24842.body -{ - // ino.method.Scanner.24847.definition - public Scanner (java.io.Reader reader) - // ino.end - // ino.method.Scanner.24847.body - { - super (reader); - } - // ino.end - - // ino.method.token.24850.definition - public int token () - // ino.end - // ino.method.token.24850.body - { - if (token.token instanceof String) - { - return (int)(((String)token.token).charAt(0)); - } - else - { - return ((Integer)token.token).intValue(); - } - } - // ino.end - - // ino.method.advance.24853.definition - public boolean advance () - throws java.io.IOException - // ino.end - // ino.method.advance.24853.body - { - boolean ret = yylex(); - return ret; - } - // ino.end - - // ino.method.value.24856.definition - public Object value () - // ino.end - // ino.method.value.24856.body - { - return this.token; - } - // ino.end -} -// ino.end diff --git a/src/de/dhbwstuttgart/parser/Token.java b/src/de/dhbwstuttgart/parser/Token.java deleted file mode 100755 index 86c9dd09..00000000 --- a/src/de/dhbwstuttgart/parser/Token.java +++ /dev/null @@ -1,177 +0,0 @@ -// ino.module.Token.8619.package -package de.dhbwstuttgart.parser; -// ino.end -// ino.class.Token.24859.declaration -public class Token -// ino.end -// ino.class.Token.24859.body -{ - // ino.attribute.token.24862.declaration - public Object token; - // ino.end - // ino.attribute.lexem.24865.declaration - private String lexem; - // ino.end - // ino.attribute.m_LineNumber.24868.declaration - private int m_LineNumber; - // ino.end - // ino.attribute.m_Offset.24871.declaration - private int m_Offset;//hinzugefügt hoth: 14.04.2006 - // ino.end - - - // ino.method.Token.24874.definition - Token (int tok, int lineNumber) - // ino.end - // ino.method.Token.24874.body - { - this.token = new Integer(tok); - m_LineNumber = lineNumber; - } - // ino.end - - // ino.method.Token.24877.definition - Token (int tok, String s, int lineNumber) - // ino.end - // ino.method.Token.24877.body - { - lexem = s; - this.token = new Integer(tok); - m_LineNumber = lineNumber; - } - // ino.end - - // ino.method.Token.24880.definition - Token (int tok, char c, int lineNumber) - // ino.end - // ino.method.Token.24880.body - { - char[] ch = new char[1]; - ch[0] = c; - this.token = new String(ch); - m_LineNumber = lineNumber; - } - // ino.end - - // ino.method.Token.24883.defdescription type=line - // hinzugefügt hoth: 14.04.2006 - // ino.end - // ino.method.Token.24883.definition - Token (int tok, String s, int lineNumber, int charOffset) - // ino.end - // ino.method.Token.24883.body - { - lexem = s; - this.token = new Integer(tok); - m_LineNumber = lineNumber; - m_Offset = charOffset; - } - // ino.end - - // ino.method.Token.24886.defdescription type=line - // hinzugefügt hoth: 14.04.2006 - // ino.end - // ino.method.Token.24886.definition - Token (int tok, char c, int lineNumber, int charOffset) - // ino.end - // ino.method.Token.24886.body - { - char[] ch = new char[1]; - ch[0] = c; - this.token = new String(ch); - m_LineNumber = lineNumber; - m_Offset = charOffset; - } - // ino.end - - // ino.method.getLineNumber.24889.definition - public int getLineNumber() - // ino.end - // ino.method.getLineNumber.24889.body - { - return m_LineNumber; - } - // ino.end - - // ino.method.getOffset.24892.definition - public int getOffset() - // ino.end - // ino.method.getOffset.24892.body - { - return m_Offset; - } - // ino.end - - - // ino.method.getLexem.24895.definition - public String getLexem () - // ino.end - // ino.method.getLexem.24895.body - { - return lexem; - } - // ino.end - - // ino.method.String2Int.24898.definition - public int String2Int() - // ino.end - // ino.method.String2Int.24898.body - { - return Integer.decode(lexem); - } - // ino.end - - public long String2Long() - { - return Long.decode(lexem); - } - - public float String2Float() - { - return Float.parseFloat(lexem); - } - - public double String2Double() - { - return Double.parseDouble(lexem); - } - - // ino.method.CharInString.24901.definition - public char CharInString() - // ino.end - // ino.method.CharInString.24901.body - { - char[] tmp = lexem.toCharArray(); - return tmp[1]; - } - // ino.end - - // ino.method.String2Bool.24904.definition - public boolean String2Bool() - // ino.end - // ino.method.String2Bool.24904.body - { - if(lexem.equals("true")) - { - return(true); - } - else - { - return(false); - } - } - // ino.end - - // ino.method.get_String.24907.definition - public String get_String() - // ino.end - // ino.method.get_String.24907.body - { - int laenge = lexem.length(); - String rueck; - rueck = lexem.substring(1,laenge-1); - return rueck; - } - // ino.end -} -// ino.end

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

nRXRA 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