From 2fb54135483657fefc9fbe2da237832f3e27b99a Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 18 Mar 2014 14:04:31 +0100 Subject: [PATCH] =?UTF-8?q?Parsen=20von=20typisierten=20Felddeklarationen?= =?UTF-8?q?=20ist=20jetzt=20m=C3=B6glich.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/mycompiler/myparser/JavaParser.jay | 22 +- src/mycompiler/myclass/FormalParameter.java | 6 + src/mycompiler/myparser/JavaParser.java | 2671 ++-- src/mycompiler/myparser/JavaParser.jay | 22 +- src/typinferenz/FunNMethod.java | 6 +- .../test/lambda/testResults/LambdaTest.log | 196 +- tools/y.output | 11607 ++++++++-------- 7 files changed, 7380 insertions(+), 7150 deletions(-) diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index 8b53e82f..de426a0d 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -867,7 +867,15 @@ 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 : variabledeclarator '=' expression +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); @@ -1361,9 +1369,9 @@ blockstatement :localvariabledeclarationstatement formalparameter : type variabledeclaratorid { - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter($2); FP.setType($1); - FP.set_DeclId($2); + //FP.set_DeclId($2); $$=FP; } @@ -1375,9 +1383,9 @@ formalparameter : type variabledeclaratorid Parameterliste setzen $5.set_Paratyp($3.get_ParaList()); - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter($5); FP.setType($1); - FP.set_DeclId($5); + //FP.set_DeclId($5); $$=FP; org.apache.log4j.Logger.getLogger("parser").debug("P->Polymorphes Methodenargument hinzugefuegt: Name = " + $5.get_Name() + " Typ = " + $1.getName()); @@ -1388,7 +1396,7 @@ formalparameter : type variabledeclaratorid { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + $1.name); - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter($1); // #JB# 31.03.2005 // ########################################################### @@ -1398,7 +1406,7 @@ formalparameter : type variabledeclaratorid //org.apache.log4j.Logger.getLogger("parser").debug("\n--> berechneter Name: " + T.getName()); //auskommentiert von Andreas Stadelmeier (a10023) FP.setType( T ); - FP.set_DeclId($1); + //FP.set_DeclId($1); $$=FP; } diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/mycompiler/myclass/FormalParameter.java index 11430ccf..e49dbef2 100755 --- a/src/mycompiler/myclass/FormalParameter.java +++ b/src/mycompiler/myclass/FormalParameter.java @@ -21,11 +21,13 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; import typinferenz.Typeable; import typinferenz.TypeInsertable; +import typinferenz.TypinferenzException; // ino.class.FormalParameter.23391.declaration public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementListener, Typeable, TypeInsertable @@ -42,6 +44,9 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL protected static Logger inferencelog = Logger.getLogger("inference"); // ino.end + public FormalParameter(DeclId name){ + this.set_DeclId(name); + } // ino.method.setType.23404.defdescription type=javadoc @@ -73,6 +78,7 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL // ino.end // ino.method.set_DeclId.23407.body { + if(did == null)throw new NullPointerException(); this.declid = did; } // ino.end diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index a0406caf..484cd11a 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -346,6 +346,7 @@ public Vector testPair = new Vector(); //t "constructordeclaration : modifiers constructordeclarator constructorbody", //t "constantdeclaration : modifiers type IDENTIFIER '=' expression ';'", //t "abstractmethoddeclaration : methodheader ';'", +//t "fielddeclarator : type variabledeclarator '=' expression", //t "fielddeclarator : variabledeclarator '=' expression", //t "fielddeclaration : fielddeclarator ';'", //t "fielddeclaration : type fielddeclarator", @@ -1368,6 +1369,7 @@ case 78: // line 871 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); + ret.setType(((Type)yyVals[-3+yyTop])); ret.set_DeclId(((DeclId)yyVals[-2+yyTop])); ret.setWert(((Expr)yyVals[0+yyTop])); yyVal=ret; @@ -1375,33 +1377,42 @@ case 78: break; case 79: // line 879 "./../src/mycompiler/myparser/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 80: + // line 887 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 80: - // line 883 "./../src/mycompiler/myparser/JavaParser.jay" +case 81: + // line 891 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((FieldDeclaration)yyVals[0+yyTop]); } break; -case 81: - // line 889 "./../src/mycompiler/myparser/JavaParser.jay" +case 82: + // line 897 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 82: - // line 894 "./../src/mycompiler/myparser/JavaParser.jay" +case 83: + // line 902 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + ((Type)yyVals[-2+yyTop])); ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 83: - // line 901 "./../src/mycompiler/myparser/JavaParser.jay" +case 84: + // line 909 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); for(int i=0;i<(((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdVector().size());i++) @@ -1411,28 +1422,28 @@ case 83: yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 84: - // line 911 "./../src/mycompiler/myparser/JavaParser.jay" +case 85: + // line 919 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 85: - // line 918 "./../src/mycompiler/myparser/JavaParser.jay" +case 86: + // line 926 "./../src/mycompiler/myparser/JavaParser.jay" { Block Bl = new Block(); yyVal=Bl; } break; -case 86: - // line 924 "./../src/mycompiler/myparser/JavaParser.jay" +case 87: + // line 932 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 87: - // line 929 "./../src/mycompiler/myparser/JavaParser.jay" +case 88: + // line 937 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CON = new Constructor(null); /*TODO: Der Parser kann sowieso nicht zwischen einem Konstruktor und einer Methode unterscheiden. Das hier kann wegfallen...*/ DeclId DIDCon = new DeclId(); @@ -1441,8 +1452,8 @@ case 87: yyVal=CON; } break; -case 88: - // line 937 "./../src/mycompiler/myparser/JavaParser.jay" +case 89: + // line 945 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CONpara = new Constructor(null); DeclId DIconpara = new DeclId(); @@ -1452,29 +1463,29 @@ case 88: yyVal=CONpara; } break; -case 89: - // line 947 "./../src/mycompiler/myparser/JavaParser.jay" +case 90: + // line 955 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBL = new Block(); yyVal=CBL; } break; -case 90: - // line 952 "./../src/mycompiler/myparser/JavaParser.jay" +case 91: + // line 960 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBLexpl = new Block(); CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop])); yyVal=CBLexpl; } break; -case 91: - // line 958 "./../src/mycompiler/myparser/JavaParser.jay" +case 92: + // line 966 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 92: - // line 962 "./../src/mycompiler/myparser/JavaParser.jay" +case 93: + // line 970 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBes = new Block(); CBes.set_Statement(((Statement)yyVals[-2+yyTop])); @@ -1485,51 +1496,51 @@ case 92: yyVal=CBes; } break; -case 93: - // line 973 "./../src/mycompiler/myparser/JavaParser.jay" +case 94: + // line 981 "./../src/mycompiler/myparser/JavaParser.jay" { ExceptionList EL = new ExceptionList(); EL.set_addElem(((RefType)yyVals[0+yyTop])); yyVal=EL; } break; -case 94: - // line 980 "./../src/mycompiler/myparser/JavaParser.jay" +case 95: + // line 988 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((GenericTypeVar)yyVals[0+yyTop]); } break; -case 95: - // line 985 "./../src/mycompiler/myparser/JavaParser.jay" +case 96: + // line 993 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList p = new ParaList(); p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=p; } break; -case 96: - // line 991 "./../src/mycompiler/myparser/JavaParser.jay" +case 97: + // line 999 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 97: - // line 998 "./../src/mycompiler/myparser/JavaParser.jay" +case 98: + // line 1006 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset()); } break; -case 98: - // line 1002 "./../src/mycompiler/myparser/JavaParser.jay" +case 99: + // line 1010 "./../src/mycompiler/myparser/JavaParser.jay" { BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(),((Token)yyVals[-2+yyTop]).getOffset()); gtv.setBounds(((Vector)yyVals[0+yyTop])); yyVal=gtv; } break; -case 99: - // line 1009 "./../src/mycompiler/myparser/JavaParser.jay" +case 100: + // line 1017 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((RefType)yyVals[0+yyTop])); @@ -1537,54 +1548,54 @@ case 99: yyVal=vec; } break; -case 100: - // line 1016 "./../src/mycompiler/myparser/JavaParser.jay" +case 101: + // line 1024 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((RefType)yyVals[0+yyTop])); containedTypes.addElement(((RefType)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 101: - // line 1023 "./../src/mycompiler/myparser/JavaParser.jay" +case 102: + // line 1031 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=vec; } break; -case 102: - // line 1029 "./../src/mycompiler/myparser/JavaParser.jay" +case 103: + // line 1037 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 103: - // line 1037 "./../src/mycompiler/myparser/JavaParser.jay" +case 104: + // line 1045 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 104: - // line 1043 "./../src/mycompiler/myparser/JavaParser.jay" +case 105: + // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 105: - // line 1048 "./../src/mycompiler/myparser/JavaParser.jay" +case 106: + // line 1056 "./../src/mycompiler/myparser/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 106: - // line 1054 "./../src/mycompiler/myparser/JavaParser.jay" +case 107: + // line 1062 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); @@ -1592,37 +1603,27 @@ case 106: yyVal=((Method)yyVals[0+yyTop]); } break; -case 107: - // line 1061 "./../src/mycompiler/myparser/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 108: - // line 1067 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1069 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+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 109: - // line 1074 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1075 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); + ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+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 110: - // line 1081 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1082 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); - ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); + ((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]); @@ -1630,14 +1631,24 @@ case 110: break; case 111: // line 1089 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); + ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+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 112: + // line 1097 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); yyVal=((Method)yyVals[0+yyTop]); } break; -case 112: - // line 1095 "./../src/mycompiler/myparser/JavaParser.jay" +case 113: + // line 1103 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1645,8 +1656,8 @@ case 112: yyVal=((Method)yyVals[0+yyTop]); } break; -case 113: - // line 1102 "./../src/mycompiler/myparser/JavaParser.jay" +case 114: + // line 1110 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1654,8 +1665,8 @@ case 113: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 114: - // line 1109 "./../src/mycompiler/myparser/JavaParser.jay" +case 115: + // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1664,8 +1675,8 @@ case 114: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 115: - // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" +case 116: + // line 1125 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); @@ -1673,8 +1684,8 @@ case 115: yyVal=((Method)yyVals[0+yyTop]); } break; -case 116: - // line 1124 "./../src/mycompiler/myparser/JavaParser.jay" +case 117: + // line 1132 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); @@ -1683,8 +1694,8 @@ case 116: yyVal=((Method)yyVals[0+yyTop]); } break; -case 117: - // line 1132 "./../src/mycompiler/myparser/JavaParser.jay" +case 118: + // line 1140 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1693,8 +1704,8 @@ case 117: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 118: - // line 1140 "./../src/mycompiler/myparser/JavaParser.jay" +case 119: + // line 1148 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); @@ -1704,39 +1715,39 @@ case 118: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 119: - // line 1150 "./../src/mycompiler/myparser/JavaParser.jay" +case 120: + // line 1158 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; -case 120: - // line 1155 "./../src/mycompiler/myparser/JavaParser.jay" +case 121: + // line 1163 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-2+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 121: - // line 1162 "./../src/mycompiler/myparser/JavaParser.jay" +case 122: + // line 1170 "./../src/mycompiler/myparser/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 122: - // line 1168 "./../src/mycompiler/myparser/JavaParser.jay" +case 123: + // line 1176 "./../src/mycompiler/myparser/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 123: - // line 1174 "./../src/mycompiler/myparser/JavaParser.jay" +case 124: + // line 1182 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ @@ -1744,32 +1755,32 @@ case 123: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 124: - // line 1183 "./../src/mycompiler/myparser/JavaParser.jay" +case 125: + // line 1191 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 125: - // line 1187 "./../src/mycompiler/myparser/JavaParser.jay" +case 126: + // line 1195 "./../src/mycompiler/myparser/JavaParser.jay" { ((BaseType)yyVals[-2+yyTop]).setArray(true); } break; -case 126: - // line 1191 "./../src/mycompiler/myparser/JavaParser.jay" +case 127: + // line 1199 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((RefType)yyVals[0+yyTop]); } break; -case 127: - // line 1195 "./../src/mycompiler/myparser/JavaParser.jay" +case 128: + // line 1203 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).setArray(true); } break; -case 128: - // line 1199 "./../src/mycompiler/myparser/JavaParser.jay" +case 129: + // line 1207 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); IVD.getDeclIdVector().addElement( ((DeclId)yyVals[0+yyTop]) ); @@ -1777,66 +1788,66 @@ case 128: yyVal = IVD; } break; -case 129: - // line 1206 "./../src/mycompiler/myparser/JavaParser.jay" +case 130: + // line 1214 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; -case 130: - // line 1212 "./../src/mycompiler/myparser/JavaParser.jay" +case 131: + // line 1220 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 131: - // line 1217 "./../src/mycompiler/myparser/JavaParser.jay" +case 132: + // line 1225 "./../src/mycompiler/myparser/JavaParser.jay" { Block Blstat = new Block(); Blstat.set_Statement(((Statement)yyVals[0+yyTop])); yyVal=Blstat; } break; -case 132: - // line 1224 "./../src/mycompiler/myparser/JavaParser.jay" +case 133: + // line 1232 "./../src/mycompiler/myparser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; -case 133: - // line 1230 "./../src/mycompiler/myparser/JavaParser.jay" +case 134: + // line 1238 "./../src/mycompiler/myparser/JavaParser.jay" { ParameterList PL = new ParameterList(); PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = PL; } break; -case 134: - // line 1236 "./../src/mycompiler/myparser/JavaParser.jay" +case 135: + // line 1244 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; -case 135: - // line 1242 "./../src/mycompiler/myparser/JavaParser.jay" +case 136: + // line 1250 "./../src/mycompiler/myparser/JavaParser.jay" { This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; -case 136: - // line 1247 "./../src/mycompiler/myparser/JavaParser.jay" +case 137: + // line 1255 "./../src/mycompiler/myparser/JavaParser.jay" { This THCONargl = new This(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); THCONargl.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop])); yyVal=THCONargl; } break; -case 137: - // line 1256 "./../src/mycompiler/myparser/JavaParser.jay" +case 138: + // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" { RefType RT = new RefType(-1); RT.set_UsedId(((UsedId)yyVals[0+yyTop])); @@ -1844,16 +1855,16 @@ case 137: yyVal=RT; } break; -case 138: - // line 1263 "./../src/mycompiler/myparser/JavaParser.jay" +case 139: + // line 1271 "./../src/mycompiler/myparser/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 139: - // line 1270 "./../src/mycompiler/myparser/JavaParser.jay" +case 140: + // line 1278 "./../src/mycompiler/myparser/JavaParser.jay" { Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1867,8 +1878,8 @@ case 139: yyVal = met; } break; -case 140: - // line 1283 "./../src/mycompiler/myparser/JavaParser.jay" +case 141: + // line 1291 "./../src/mycompiler/myparser/JavaParser.jay" { Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1883,8 +1894,8 @@ case 140: yyVal = met_para; } break; -case 141: - // line 1298 "./../src/mycompiler/myparser/JavaParser.jay" +case 142: + // line 1306 "./../src/mycompiler/myparser/JavaParser.jay" { BooleanType BT = new BooleanType(); /* #JB# 05.04.2005 */ @@ -1894,14 +1905,14 @@ case 141: yyVal=BT; } break; -case 142: - // line 1307 "./../src/mycompiler/myparser/JavaParser.jay" +case 143: + // line 1315 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 143: - // line 1313 "./../src/mycompiler/myparser/JavaParser.jay" +case 144: + // line 1321 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop])); RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getOffset()); @@ -1920,39 +1931,39 @@ case 143: yyVal=RT; } break; -case 144: - // line 1333 "./../src/mycompiler/myparser/JavaParser.jay" +case 145: + // line 1341 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; -case 145: - // line 1354 "./../src/mycompiler/myparser/JavaParser.jay" +case 146: + // line 1362 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; -case 146: - // line 1358 "./../src/mycompiler/myparser/JavaParser.jay" +case 147: + // line 1366 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 147: - // line 1363 "./../src/mycompiler/myparser/JavaParser.jay" +case 148: + // line 1371 "./../src/mycompiler/myparser/JavaParser.jay" { - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); FP.setType(((Type)yyVals[-1+yyTop])); - FP.set_DeclId(((DeclId)yyVals[0+yyTop])); + /*FP.set_DeclId($2);*/ yyVal=FP; } break; -case 148: - // line 1388 "./../src/mycompiler/myparser/JavaParser.jay" +case 149: + // line 1396 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); /* #JB# 31.03.2005*/ /* ###########################################################*/ @@ -1962,34 +1973,34 @@ case 148: /*org.apache.log4j.Logger.getLogger("parser").debug("\n--> berechneter Name: " + T.getName());*/ /*auskommentiert von Andreas Stadelmeier (a10023) FP.setType( T );*/ - FP.set_DeclId(((DeclId)yyVals[0+yyTop])); + /*FP.set_DeclId($1);*/ yyVal=FP; } break; -case 149: - // line 1407 "./../src/mycompiler/myparser/JavaParser.jay" +case 150: + // line 1415 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); AL.expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=AL; } break; -case 150: - // line 1413 "./../src/mycompiler/myparser/JavaParser.jay" +case 151: + // line 1421 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; -case 151: - // line 1419 "./../src/mycompiler/myparser/JavaParser.jay" +case 152: + // line 1427 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 152: - // line 1424 "./../src/mycompiler/myparser/JavaParser.jay" +case 153: + // line 1432 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); /* #JB# 10.04.2005 */ @@ -2001,62 +2012,62 @@ case 152: yyVal=DI; } break; -case 153: - // line 1436 "./../src/mycompiler/myparser/JavaParser.jay" +case 154: + // line 1444 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 154: - // line 1441 "./../src/mycompiler/myparser/JavaParser.jay" +case 155: + // line 1449 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; -case 155: - // line 1446 "./../src/mycompiler/myparser/JavaParser.jay" +case 156: + // line 1454 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 156: - // line 1450 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((IfStmt)yyVals[0+yyTop]); - } - break; case 157: - // line 1454 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 158: - // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1462 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((IfStmt)yyVals[0+yyTop]); + } + break; +case 159: + // line 1466 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 159: - // line 1462 "./../src/mycompiler/myparser/JavaParser.jay" +case 160: + // line 1470 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; -case 160: - // line 1467 "./../src/mycompiler/myparser/JavaParser.jay" +case 161: + // line 1475 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 161: - // line 1471 "./../src/mycompiler/myparser/JavaParser.jay" +case 162: + // line 1479 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; -case 162: - // line 1476 "./../src/mycompiler/myparser/JavaParser.jay" +case 163: + // line 1484 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); /* #JB# 05.04.2005 */ @@ -2066,8 +2077,8 @@ case 162: yyVal=IT; } break; -case 163: - // line 1485 "./../src/mycompiler/myparser/JavaParser.jay" +case 164: + // line 1493 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); /* #JB# 05.04.2005 */ @@ -2077,8 +2088,8 @@ case 163: yyVal=CT; } break; -case 164: - // line 1495 "./../src/mycompiler/myparser/JavaParser.jay" +case 165: + // line 1503 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((Type)yyVals[-1+yyTop]).getOffset(),((Type)yyVals[-1+yyTop]).getVariableLength()); @@ -2087,8 +2098,8 @@ case 164: yyVal = LVD; } break; -case 165: - // line 1506 "./../src/mycompiler/myparser/JavaParser.jay" +case 166: + // line 1514 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((FieldDeclaration)yyVals[0+yyTop]).getOffset(),((FieldDeclaration)yyVals[0+yyTop]).getVariableLength()); @@ -2097,32 +2108,32 @@ case 165: yyVal = LVD; } break; -case 166: - // line 1516 "./../src/mycompiler/myparser/JavaParser.jay" +case 167: + // line 1524 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 167: - // line 1520 "./../src/mycompiler/myparser/JavaParser.jay" +case 168: + // line 1528 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; -case 168: - // line 1524 "./../src/mycompiler/myparser/JavaParser.jay" +case 169: + // line 1532 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; -case 169: - // line 1528 "./../src/mycompiler/myparser/JavaParser.jay" +case 170: + // line 1536 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; -case 170: - // line 1533 "./../src/mycompiler/myparser/JavaParser.jay" +case 171: + // line 1541 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Ifst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2130,8 +2141,8 @@ case 170: yyVal=Ifst; } break; -case 171: - // line 1541 "./../src/mycompiler/myparser/JavaParser.jay" +case 172: + // line 1549 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfstElst.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2140,8 +2151,8 @@ case 171: yyVal=IfstElst; } break; -case 172: - // line 1550 "./../src/mycompiler/myparser/JavaParser.jay" +case 173: + // line 1558 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whlst.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2149,8 +2160,8 @@ case 172: yyVal=Whlst; } break; -case 173: - // line 1561 "./../src/mycompiler/myparser/JavaParser.jay" +case 174: + // line 1569 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-6+yyTop])); @@ -2162,8 +2173,8 @@ case 173: yyVal = Fst; } break; -case 174: - // line 1573 "./../src/mycompiler/myparser/JavaParser.jay" +case 175: + // line 1581 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2174,8 +2185,8 @@ case 174: yyVal = Fst; } break; -case 175: - // line 1584 "./../src/mycompiler/myparser/JavaParser.jay" +case 176: + // line 1592 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); @@ -2186,8 +2197,8 @@ case 175: yyVal = Fst; } break; -case 176: - // line 1595 "./../src/mycompiler/myparser/JavaParser.jay" +case 177: + // line 1603 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-4+yyTop])); @@ -2198,8 +2209,8 @@ case 176: yyVal = Fst; } break; -case 177: - // line 1606 "./../src/mycompiler/myparser/JavaParser.jay" +case 178: + // line 1614 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-4+yyTop])); @@ -2209,8 +2220,8 @@ case 177: yyVal = Fst; } break; -case 178: - // line 1616 "./../src/mycompiler/myparser/JavaParser.jay" +case 179: + // line 1624 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-3+yyTop])); @@ -2220,8 +2231,8 @@ case 178: yyVal = Fst; } break; -case 179: - // line 1626 "./../src/mycompiler/myparser/JavaParser.jay" +case 180: + // line 1634 "./../src/mycompiler/myparser/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])); @@ -2231,8 +2242,8 @@ case 179: yyVal = Fst; } break; -case 180: - // line 1636 "./../src/mycompiler/myparser/JavaParser.jay" +case 181: + // line 1644 "./../src/mycompiler/myparser/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])); @@ -2241,73 +2252,73 @@ case 180: yyVal = Fst; } break; -case 181: - // line 1645 "./../src/mycompiler/myparser/JavaParser.jay" +case 182: + // line 1653 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; -case 182: - // line 1650 "./../src/mycompiler/myparser/JavaParser.jay" +case 183: + // line 1658 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 183: - // line 1656 "./../src/mycompiler/myparser/JavaParser.jay" +case 184: + // line 1664 "./../src/mycompiler/myparser/JavaParser.jay" { EmptyStmt Empst = new EmptyStmt(); yyVal=Empst; } break; -case 184: - // line 1662 "./../src/mycompiler/myparser/JavaParser.jay" +case 185: + // line 1670 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[-1+yyTop]); } break; -case 185: - // line 1667 "./../src/mycompiler/myparser/JavaParser.jay" +case 186: + // line 1675 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; -case 186: - // line 1672 "./../src/mycompiler/myparser/JavaParser.jay" +case 187: + // line 1680 "./../src/mycompiler/myparser/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 187: - // line 1679 "./../src/mycompiler/myparser/JavaParser.jay" +case 188: + // line 1687 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 188: - // line 1683 "./../src/mycompiler/myparser/JavaParser.jay" +case 189: + // line 1691 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 189: - // line 1687 "./../src/mycompiler/myparser/JavaParser.jay" +case 190: + // line 1695 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 190: - // line 1692 "./../src/mycompiler/myparser/JavaParser.jay" +case 191: + // line 1700 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 191: - // line 1698 "./../src/mycompiler/myparser/JavaParser.jay" +case 192: + // line 1706 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n"); Assign Ass = new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2333,8 +2344,8 @@ case 191: yyVal=Ass; } break; -case 192: - // line 1723 "./../src/mycompiler/myparser/JavaParser.jay" +case 193: + // line 1731 "./../src/mycompiler/myparser/JavaParser.jay" { Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); LocalOrFieldVar LOFV = new LocalOrFieldVar(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2357,44 +2368,44 @@ case 192: yyVal=Ass; } break; -case 193: - // line 1746 "./../src/mycompiler/myparser/JavaParser.jay" +case 194: + // line 1754 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 194: - // line 1750 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 195: - // line 1754 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 196: // line 1758 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 197: +case 196: // line 1762 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 198: +case 197: // line 1766 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 198: + // line 1770 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 199: + // line 1774 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 199: - // line 1777 "./../src/mycompiler/myparser/JavaParser.jay" +case 200: + // line 1785 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfElno.set_Expr(((Expr)yyVals[-4+yyTop])); @@ -2403,8 +2414,8 @@ case 199: yyVal=IfElno; } break; -case 200: - // line 1786 "./../src/mycompiler/myparser/JavaParser.jay" +case 201: + // line 1794 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whstno.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -2412,14 +2423,14 @@ case 200: yyVal=Whstno; } break; -case 201: - // line 1794 "./../src/mycompiler/myparser/JavaParser.jay" +case 202: + // line 1802 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 202: - // line 1798 "./../src/mycompiler/myparser/JavaParser.jay" +case 203: + // line 1806 "./../src/mycompiler/myparser/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()); @@ -2430,20 +2441,20 @@ case 202: yyVal=LogOr; } break; -case 203: - // line 1811 "./../src/mycompiler/myparser/JavaParser.jay" +case 204: + // line 1819 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 204: - // line 1816 "./../src/mycompiler/myparser/JavaParser.jay" +case 205: + // line 1824 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 205: - // line 1820 "./../src/mycompiler/myparser/JavaParser.jay" +case 206: + // line 1828 "./../src/mycompiler/myparser/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";}|*/ @@ -2453,20 +2464,20 @@ case 205: yyVal=ret; } break; -case 206: - // line 1830 "./../src/mycompiler/myparser/JavaParser.jay" +case 207: + // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 207: - // line 1834 "./../src/mycompiler/myparser/JavaParser.jay" +case 208: + // line 1842 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; -case 208: - // line 1839 "./../src/mycompiler/myparser/JavaParser.jay" +case 209: + // line 1847 "./../src/mycompiler/myparser/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])); @@ -2474,87 +2485,87 @@ case 208: yyVal=lambda; } break; -case 209: - // line 1858 "./../src/mycompiler/myparser/JavaParser.jay" +case 210: + // line 1866 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; -case 210: - // line 1863 "./../src/mycompiler/myparser/JavaParser.jay" +case 211: + // line 1871 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 211: - // line 1867 "./../src/mycompiler/myparser/JavaParser.jay" +case 212: + // line 1875 "./../src/mycompiler/myparser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; -case 212: - // line 1872 "./../src/mycompiler/myparser/JavaParser.jay" +case 213: + // line 1880 "./../src/mycompiler/myparser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; -case 213: - // line 1877 "./../src/mycompiler/myparser/JavaParser.jay" +case 214: + // line 1885 "./../src/mycompiler/myparser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; -case 214: - // line 1882 "./../src/mycompiler/myparser/JavaParser.jay" +case 215: + // line 1890 "./../src/mycompiler/myparser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; -case 215: - // line 1887 "./../src/mycompiler/myparser/JavaParser.jay" +case 216: + // line 1895 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; -case 216: - // line 1899 "./../src/mycompiler/myparser/JavaParser.jay" +case 217: + // line 1907 "./../src/mycompiler/myparser/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 217: - // line 1906 "./../src/mycompiler/myparser/JavaParser.jay" +case 218: + // line 1914 "./../src/mycompiler/myparser/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 218: - // line 1913 "./../src/mycompiler/myparser/JavaParser.jay" +case 219: + // line 1921 "./../src/mycompiler/myparser/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 219: - // line 1920 "./../src/mycompiler/myparser/JavaParser.jay" +case 220: + // line 1928 "./../src/mycompiler/myparser/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 220: - // line 1928 "./../src/mycompiler/myparser/JavaParser.jay" +case 221: + // line 1936 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M1"); MethodCall MC = new MethodCall(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); @@ -2585,8 +2596,8 @@ case 220: yyVal=MC; } break; -case 221: - // line 1958 "./../src/mycompiler/myparser/JavaParser.jay" +case 222: + // line 1966 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M2"); MethodCall MCarg = new MethodCall(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); @@ -2618,8 +2629,8 @@ case 221: yyVal=MCarg; } break; -case 222: - // line 1989 "./../src/mycompiler/myparser/JavaParser.jay" +case 223: + // line 1997 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M3"); MethodCall MCpr = new MethodCall(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); @@ -2639,8 +2650,8 @@ case 222: yyVal=MCpr; } break; -case 223: - // line 2008 "./../src/mycompiler/myparser/JavaParser.jay" +case 224: + // line 2016 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M4"); MethodCall MCPA = new MethodCall(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); @@ -2661,8 +2672,8 @@ case 223: yyVal=MCPA; } break; -case 224: - // line 2031 "./../src/mycompiler/myparser/JavaParser.jay" +case 225: + // line 2039 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); NC.set_UsedId(((UsedId)yyVals[-2+yyTop])); @@ -2671,8 +2682,8 @@ case 224: yyVal=NC; } break; -case 225: - // line 2039 "./../src/mycompiler/myparser/JavaParser.jay" +case 226: + // line 2047 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); NCarg.set_UsedId(((UsedId)yyVals[-3+yyTop])); @@ -2682,14 +2693,14 @@ case 225: yyVal=NCarg; } break; -case 226: - // line 2049 "./../src/mycompiler/myparser/JavaParser.jay" +case 227: + // line 2057 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 227: - // line 2053 "./../src/mycompiler/myparser/JavaParser.jay" +case 228: + // line 2061 "./../src/mycompiler/myparser/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()); @@ -2700,20 +2711,20 @@ case 227: yyVal=And; } break; -case 228: - // line 2069 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 229: - // line 2073 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2077 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 230: - // line 2077 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2081 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 231: + // line 2085 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryPlus UP= new UnaryPlus(); @@ -2722,8 +2733,8 @@ case 230: yyVal=POSEX; } break; -case 231: - // line 2085 "./../src/mycompiler/myparser/JavaParser.jay" +case 232: + // line 2093 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryMinus UM=new UnaryMinus(); @@ -2732,20 +2743,20 @@ case 231: yyVal=NEGEX; } break; -case 232: - // line 2093 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 233: - // line 2098 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2101 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 234: - // line 2102 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2106 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 235: + // line 2110 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2764,38 +2775,38 @@ case 234: } } break; -case 235: - // line 2120 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 236: - // line 2124 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2128 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 237: - // line 2129 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2132 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 238: - // line 2134 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2137 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 240: - // line 2140 "./../src/mycompiler/myparser/JavaParser.jay" +case 239: + // line 2142 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 241: + // line 2148 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; -case 241: - // line 2144 "./../src/mycompiler/myparser/JavaParser.jay" +case 242: + // line 2152 "./../src/mycompiler/myparser/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()); @@ -2804,24 +2815,24 @@ case 241: yyVal=T; } break; -case 242: - // line 2165 "./../src/mycompiler/myparser/JavaParser.jay" +case 243: + // line 2173 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 243: - // line 2169 "./../src/mycompiler/myparser/JavaParser.jay" +case 244: + // line 2177 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 244: - // line 2174 "./../src/mycompiler/myparser/JavaParser.jay" +case 245: + // line 2182 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 245: - // line 2176 "./../src/mycompiler/myparser/JavaParser.jay" +case 246: + // line 2184 "./../src/mycompiler/myparser/JavaParser.jay" {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryNot UN=new UnaryNot(); NE.set_UnaryNot(UN); @@ -2829,75 +2840,75 @@ case 245: yyVal=NE; } break; -case 246: - // line 2182 "./../src/mycompiler/myparser/JavaParser.jay" +case 247: + // line 2190 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; -case 247: - // line 2184 "./../src/mycompiler/myparser/JavaParser.jay" +case 248: + // line 2192 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 249: - // line 2189 "./../src/mycompiler/myparser/JavaParser.jay" +case 250: + // line 2197 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; -case 250: - // line 2194 "./../src/mycompiler/myparser/JavaParser.jay" +case 251: + // line 2202 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; -case 251: - // line 2198 "./../src/mycompiler/myparser/JavaParser.jay" +case 252: + // line 2206 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; -case 252: - // line 2203 "./../src/mycompiler/myparser/JavaParser.jay" +case 253: + // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); ST.set_String(((Token)yyVals[0+yyTop]).get_String()); yyVal=ST; } break; -case 253: - // line 2208 "./../src/mycompiler/myparser/JavaParser.jay" +case 254: + // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; -case 254: - // line 2212 "./../src/mycompiler/myparser/JavaParser.jay" +case 255: + // line 2220 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); yyVal = FL; } break; -case 255: - // line 2217 "./../src/mycompiler/myparser/JavaParser.jay" +case 256: + // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); yyVal = DL; } break; -case 256: - // line 2223 "./../src/mycompiler/myparser/JavaParser.jay" +case 257: + // line 2231 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; -case 257: - // line 2229 "./../src/mycompiler/myparser/JavaParser.jay" +case 258: + // line 2237 "./../src/mycompiler/myparser/JavaParser.jay" { CastExpr CaEx=new CastExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); CaEx.set_Type(((BaseType)yyVals[-2+yyTop])); @@ -2905,25 +2916,25 @@ case 257: yyVal=CaEx; } break; -case 258: - // line 2238 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 259: - // line 2242 "./../src/mycompiler/myparser/JavaParser.jay" - { - } - break; -case 260: // line 2246 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 261: +case 260: // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" + { + } + break; +case 261: + // line 2254 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 262: + // line 2258 "./../src/mycompiler/myparser/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()); @@ -2934,8 +2945,8 @@ case 261: yyVal=EQ; } break; -case 262: - // line 2260 "./../src/mycompiler/myparser/JavaParser.jay" +case 263: + // line 2268 "./../src/mycompiler/myparser/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()); @@ -2946,14 +2957,14 @@ case 262: yyVal=NEQ; } break; -case 263: - // line 2271 "./../src/mycompiler/myparser/JavaParser.jay" +case 264: + // line 2279 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 264: - // line 2275 "./../src/mycompiler/myparser/JavaParser.jay" +case 265: + // line 2283 "./../src/mycompiler/myparser/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()); @@ -2964,8 +2975,8 @@ case 264: yyVal=LO; } break; -case 265: - // line 2285 "./../src/mycompiler/myparser/JavaParser.jay" +case 266: + // line 2293 "./../src/mycompiler/myparser/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()); @@ -2976,8 +2987,8 @@ case 265: yyVal=GO; } break; -case 266: - // line 2295 "./../src/mycompiler/myparser/JavaParser.jay" +case 267: + // line 2303 "./../src/mycompiler/myparser/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()); @@ -2988,8 +2999,8 @@ case 266: yyVal=LE; } break; -case 267: - // line 2305 "./../src/mycompiler/myparser/JavaParser.jay" +case 268: + // line 2313 "./../src/mycompiler/myparser/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()); @@ -3000,8 +3011,8 @@ case 267: yyVal=GE; } break; -case 268: - // line 2315 "./../src/mycompiler/myparser/JavaParser.jay" +case 269: + // line 2323 "./../src/mycompiler/myparser/JavaParser.jay" { InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); ISO.set_Expr(((Expr)yyVals[-2+yyTop])); @@ -3009,20 +3020,20 @@ case 268: yyVal=ISO; } break; -case 269: - // line 2323 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 270: - // line 2328 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2331 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 271: - // line 2332 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2336 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 272: + // line 2340 "./../src/mycompiler/myparser/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()); @@ -3033,8 +3044,8 @@ case 271: yyVal=AD; } break; -case 272: - // line 2342 "./../src/mycompiler/myparser/JavaParser.jay" +case 273: + // line 2350 "./../src/mycompiler/myparser/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()); @@ -3045,14 +3056,14 @@ case 272: yyVal=MI; } break; -case 273: - // line 2353 "./../src/mycompiler/myparser/JavaParser.jay" +case 274: + // line 2361 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 274: - // line 2357 "./../src/mycompiler/myparser/JavaParser.jay" +case 275: + // line 2365 "./../src/mycompiler/myparser/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()); @@ -3063,8 +3074,8 @@ case 274: yyVal=ML; } break; -case 275: - // line 2367 "./../src/mycompiler/myparser/JavaParser.jay" +case 276: + // line 2375 "./../src/mycompiler/myparser/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()); @@ -3075,8 +3086,8 @@ case 275: yyVal = DV; } break; -case 276: - // line 2377 "./../src/mycompiler/myparser/JavaParser.jay" +case 277: + // line 2385 "./../src/mycompiler/myparser/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()); @@ -3087,7 +3098,7 @@ case 276: yyVal =MD; } break; - // line 3091 "-" + // line 3102 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; @@ -3125,27 +3136,27 @@ case 276: 7, 40, 40, 28, 32, 32, 3, 3, 33, 33, 15, 15, 41, 41, 41, 41, 41, 41, 29, 4, 4, 31, 16, 16, 16, 30, 113, 113, 5, 5, - 17, 17, 110, 106, 106, 10, 6, 19, 11, 11, - 11, 11, 11, 13, 42, 42, 107, 107, 108, 108, - 108, 108, 48, 94, 97, 97, 93, 93, 95, 95, - 96, 96, 12, 12, 12, 12, 12, 12, 12, 12, + 17, 17, 110, 106, 106, 10, 6, 19, 19, 11, + 11, 11, 11, 11, 13, 42, 42, 107, 107, 108, + 108, 108, 108, 48, 94, 97, 97, 93, 93, 95, + 95, 96, 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 39, 39, 39, 39, 18, 18, 43, - 44, 44, 50, 50, 109, 109, 38, 38, 14, 14, - 36, 36, 37, 20, 80, 80, 49, 49, 103, 103, - 35, 21, 78, 46, 81, 81, 81, 81, 81, 71, - 71, 34, 34, 47, 47, 79, 79, 79, 79, 86, - 87, 83, 84, 84, 84, 84, 84, 84, 84, 84, - 69, 69, 89, 77, 90, 90, 82, 82, 82, 68, - 99, 99, 72, 72, 72, 72, 72, 72, 88, 85, - 67, 67, 101, 45, 45, 51, 51, 70, 102, 100, - 100, 100, 100, 100, 100, 73, 74, 75, 76, 104, - 104, 104, 104, 91, 91, 66, 66, 57, 57, 57, - 57, 57, 55, 55, 55, 55, 54, 65, 65, 53, - 53, 53, 53, 56, 56, 56, 64, 64, 52, 52, - 52, 52, 52, 52, 52, 52, 111, 63, 63, 62, - 62, 62, 61, 61, 61, 61, 61, 61, 60, 59, - 59, 59, 58, 58, 58, 58, + 12, 12, 12, 12, 39, 39, 39, 39, 18, 18, + 43, 44, 44, 50, 50, 109, 109, 38, 38, 14, + 14, 36, 36, 37, 20, 80, 80, 49, 49, 103, + 103, 35, 21, 78, 46, 81, 81, 81, 81, 81, + 71, 71, 34, 34, 47, 47, 79, 79, 79, 79, + 86, 87, 83, 84, 84, 84, 84, 84, 84, 84, + 84, 69, 69, 89, 77, 90, 90, 82, 82, 82, + 68, 99, 99, 72, 72, 72, 72, 72, 72, 88, + 85, 67, 67, 101, 45, 45, 51, 51, 70, 102, + 100, 100, 100, 100, 100, 100, 73, 74, 75, 76, + 104, 104, 104, 104, 91, 91, 66, 66, 57, 57, + 57, 57, 57, 55, 55, 55, 55, 54, 65, 65, + 53, 53, 53, 53, 56, 56, 56, 64, 64, 52, + 52, 52, 52, 52, 52, 52, 52, 111, 63, 63, + 62, 62, 62, 61, 61, 61, 61, 61, 61, 60, + 59, 59, 59, 58, 58, 58, 58, }; protected static final short yyLen [] = { 2, 1, 3, 1, 2, 3, 1, 2, 1, 1, 1, @@ -3155,955 +3166,1003 @@ case 276: 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, 0, 3, 1, 1, - 1, 1, 2, 2, 3, 6, 2, 3, 2, 2, - 2, 3, 4, 2, 2, 3, 3, 4, 2, 3, - 3, 4, 2, 1, 1, 3, 1, 3, 1, 3, - 1, 3, 5, 2, 3, 6, 3, 6, 4, 7, - 2, 3, 3, 4, 5, 6, 6, 7, 1, 4, - 2, 2, 3, 1, 3, 1, 3, 1, 3, 1, - 1, 2, 1, 3, 4, 5, 1, 3, 3, 4, - 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, - 1, 1, 1, 2, 1, 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, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 4, 1, 3, 1, - 3, 3, 1, 3, 3, 3, 3, 3, 1, 1, - 3, 3, 1, 3, 3, 3, + 1, 1, 2, 2, 3, 6, 2, 4, 3, 2, + 2, 2, 3, 4, 2, 2, 3, 3, 4, 2, + 3, 3, 4, 2, 1, 1, 3, 1, 3, 1, + 3, 1, 3, 5, 2, 3, 6, 3, 6, 4, + 7, 2, 3, 3, 4, 5, 6, 6, 7, 1, + 4, 2, 2, 3, 1, 3, 1, 3, 1, 3, + 1, 1, 2, 1, 3, 4, 5, 1, 3, 3, + 4, 1, 1, 1, 1, 1, 1, 2, 1, 1, + 3, 1, 1, 1, 2, 1, 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, 1, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 4, 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, 57, 0, 58, 55, 54, 53, 56, 0, 10, 0, 42, 0, 6, 0, 0, 0, 43, 7, 0, 0, - 0, 0, 15, 0, 0, 0, 0, 94, 95, 0, - 14, 0, 44, 59, 62, 45, 141, 163, 162, 0, + 0, 0, 15, 0, 0, 0, 0, 95, 96, 0, + 14, 0, 44, 59, 62, 45, 142, 164, 163, 0, 0, 0, 0, 40, 71, 0, 72, 0, 0, 51, - 63, 0, 0, 0, 144, 0, 143, 151, 142, 0, + 63, 0, 0, 0, 145, 0, 144, 152, 143, 0, 0, 0, 0, 65, 0, 64, 17, 0, 0, 19, 16, 0, 0, 0, 0, 26, 0, 66, 0, 73, - 0, 0, 0, 101, 0, 130, 84, 0, 122, 41, - 52, 0, 81, 79, 0, 0, 0, 0, 0, 0, - 0, 80, 0, 0, 0, 0, 0, 0, 0, 74, - 21, 46, 18, 0, 20, 99, 0, 96, 0, 0, - 0, 33, 0, 0, 0, 241, 0, 249, 253, 255, - 254, 250, 256, 251, 252, 0, 0, 0, 183, 85, - 0, 0, 128, 0, 8, 0, 0, 166, 0, 145, - 0, 0, 240, 237, 0, 0, 243, 0, 194, 195, - 0, 0, 168, 155, 131, 146, 158, 159, 156, 157, - 167, 169, 193, 0, 0, 113, 139, 148, 0, 133, - 0, 0, 0, 137, 0, 152, 129, 0, 0, 0, - 0, 0, 9, 0, 232, 273, 0, 0, 263, 0, - 0, 0, 0, 0, 0, 0, 181, 160, 78, 228, - 229, 235, 236, 161, 182, 242, 246, 87, 0, 125, - 127, 107, 82, 0, 0, 123, 0, 0, 75, 0, - 89, 0, 0, 22, 0, 0, 0, 0, 0, 68, - 0, 0, 185, 0, 0, 0, 216, 217, 206, 0, - 0, 0, 0, 86, 132, 154, 203, 0, 0, 218, - 219, 184, 214, 215, 211, 212, 213, 210, 0, 147, - 0, 140, 102, 0, 120, 0, 0, 0, 0, 230, - 231, 245, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, - 114, 0, 109, 83, 0, 91, 90, 0, 100, 0, - 38, 39, 0, 36, 0, 0, 0, 186, 0, 207, - 11, 220, 149, 0, 204, 208, 205, 0, 191, 192, - 134, 0, 0, 138, 0, 0, 274, 275, 276, 0, - 0, 268, 266, 267, 264, 265, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 32, 0, - 0, 0, 0, 0, 0, 0, 221, 0, 117, 108, - 224, 0, 257, 0, 0, 135, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 170, 0, 189, 188, - 172, 150, 222, 0, 225, 118, 110, 136, 35, 180, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, - 179, 178, 0, 177, 0, 0, 0, 0, 0, 171, - 176, 175, 174, 0, 0, 0, 173, 0, 200, 0, - 199, + 0, 0, 0, 102, 0, 131, 85, 0, 123, 41, + 52, 0, 82, 80, 0, 0, 0, 0, 0, 0, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 74, 21, 46, 18, 0, 20, 100, 0, 97, 0, + 0, 0, 33, 0, 0, 0, 242, 0, 250, 254, + 256, 255, 251, 257, 252, 253, 0, 0, 0, 184, + 86, 0, 0, 129, 0, 8, 0, 0, 167, 0, + 146, 0, 0, 241, 238, 0, 0, 244, 0, 195, + 196, 0, 0, 169, 156, 132, 147, 159, 160, 157, + 158, 168, 170, 194, 0, 0, 114, 140, 149, 0, + 134, 0, 0, 0, 138, 0, 153, 130, 0, 0, + 0, 0, 0, 9, 0, 233, 274, 0, 0, 264, + 0, 0, 0, 0, 0, 0, 0, 182, 161, 79, + 229, 230, 236, 237, 162, 183, 243, 247, 88, 0, + 126, 128, 108, 83, 0, 0, 0, 0, 124, 0, + 0, 0, 75, 0, 90, 0, 0, 22, 0, 0, + 0, 0, 0, 68, 0, 0, 186, 0, 0, 0, + 217, 218, 207, 0, 0, 0, 0, 87, 133, 155, + 204, 0, 0, 219, 220, 185, 215, 216, 212, 213, + 214, 211, 0, 148, 0, 141, 103, 0, 121, 0, + 0, 0, 0, 231, 232, 246, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 89, 0, 0, 115, 0, 110, 84, + 0, 92, 91, 0, 101, 0, 38, 39, 0, 36, + 0, 0, 0, 187, 0, 208, 11, 221, 150, 0, + 205, 209, 206, 0, 192, 193, 135, 0, 0, 139, + 0, 0, 275, 276, 277, 0, 0, 269, 267, 268, + 265, 266, 0, 0, 0, 0, 0, 0, 0, 78, + 0, 0, 0, 0, 93, 32, 0, 0, 0, 0, + 0, 0, 0, 222, 0, 118, 109, 225, 0, 258, + 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 171, 0, 190, 189, 173, 151, 223, + 0, 226, 119, 111, 137, 35, 181, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 180, 179, 0, + 178, 0, 0, 0, 0, 0, 172, 177, 176, 175, + 0, 0, 0, 174, 0, 201, 0, 200, }; protected static final short yyDgoto [] = { 8, 9, 0, 0, 0, 0, 0, 23, 15, 0, 0, - 45, 46, 47, 48, 49, 50, 51, 142, 53, 143, - 55, 193, 145, 0, 0, 0, 146, 24, 33, 57, - 36, 25, 0, 58, 59, 60, 61, 185, 147, 10, - 11, 148, 87, 149, 326, 150, 151, 89, 180, 250, - 152, 153, 154, 155, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 157, - 323, 158, 210, 211, 212, 213, 163, 0, 164, 165, - 166, 388, 167, 168, 389, 169, 170, 390, 171, 172, - 214, 12, 28, 29, 117, 85, 30, 0, 173, 269, - 258, 174, 324, 216, 13, 64, 65, 110, 233, 66, - 217, 121, 78, 122, + 45, 46, 47, 48, 49, 50, 51, 143, 53, 144, + 55, 194, 146, 0, 0, 0, 147, 24, 33, 57, + 36, 25, 0, 58, 59, 60, 61, 186, 148, 10, + 11, 149, 87, 150, 332, 151, 152, 89, 181, 254, + 153, 154, 155, 156, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 158, + 329, 159, 211, 212, 213, 214, 164, 0, 165, 166, + 167, 395, 168, 169, 396, 170, 171, 397, 172, 173, + 215, 12, 28, 29, 118, 85, 30, 0, 216, 273, + 262, 175, 330, 217, 13, 64, 65, 111, 237, 66, + 218, 122, 78, 123, }; - protected static final short yySindex [] = { 249, - 0, -251, 0, 0, 0, 0, 0, 0, 0, 332, - 0, 249, 0, 9, -104, -251, 0, 0, -241, -208, - -208, 1029, 0, -88, -1, -104, -170, 0, 0, 20, - 0, 100, 0, 0, 0, 0, 0, 0, 0, 33, - -139, 144, -241, 0, 0, 33, 0, -78, 1351, 0, - 0, 70, 137, 155, 0, 25, 0, 0, 0, 114, - 129, -70, 1946, 0, 99, 0, 0, -1, -208, 0, - 0, -88, -1, -208, -241, 0, -59, 0, 3006, 0, - 144, -78, -17, 0, 29, 0, 0, -208, 0, 0, - 0, -55, 0, 0, 941, -14, 165, 204, 144, -78, - 111, 0, -139, 144, -241, -78, -70, 99, 3058, 0, - 0, 0, 0, -1, 0, 0, 269, 0, 252, -73, - 42, 0, 273, 276, 462, 0, 277, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 968, 968, 0, 0, - 34, 275, 0, 100, 0, 61, -55, 0, 3110, 0, - 265, -3, 0, 0, 274, -118, 0, 268, 0, 0, + protected static final short yySindex [] = { 222, + 0, -258, 0, 0, 0, 0, 0, 0, 0, 330, + 0, 222, 0, 17, -87, -258, 0, 0, -250, -238, + -238, 3469, 0, -109, -6, -87, -201, 0, 0, 4, + 0, 36, 0, 0, 0, 0, 0, 0, 0, -4, + -138, 147, -250, 0, 0, -4, 0, -60, 3514, 0, + 0, 89, 161, 183, 0, 5, 0, 0, 0, 171, + 178, -113, 1983, 0, 126, 0, 0, -6, -238, 0, + 0, -109, -6, -238, -250, 0, -38, 0, 3079, 0, + 147, -60, -37, 0, 76, 0, 0, -238, 0, 0, + 0, -27, 0, 0, 1003, -28, 187, 198, -60, 95, + 0, 236, -27, -138, 147, -250, -60, -3, 126, 3161, + 0, 0, 0, 0, -6, 0, 0, 278, 0, 276, + -178, 88, 0, 302, 309, 462, 0, 311, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 973, 973, 0, + 0, -17, 313, 0, 36, 0, 158, -27, 0, 3270, + 0, 305, 39, 0, 0, 329, -48, 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -44, 0, 0, 0, 0, -55, 0, - 107, -241, -196, 0, 284, 0, 0, -208, 34, 968, - 968, 968, 0, -118, 0, 0, 167, 83, 0, -54, - -120, 291, 237, 208, 26, 36, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, - 0, 0, 0, -78, 59, 0, -78, 117, 0, 304, - 0, 3167, 3211, 0, -208, -59, -208, -208, -18, 0, - 579, 941, 0, 290, 941, 61, 0, 0, 0, 177, - 49, 616, 275, 0, 0, 0, 0, 426, 58, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 941, 0, - -93, 0, 0, -139, 0, -139, -208, 321, 5, 0, - 0, 0, 968, 968, 968, 968, 968, -208, 968, 968, - 968, 968, 968, 968, 968, 968, 968, 968, 968, 0, - 0, -128, 0, 0, 633, 0, 0, 3269, 0, 62, - 0, 0, 302, 0, 671, 308, 327, 0, 329, 0, - 0, 0, 0, 189, 0, 0, 0, 331, 0, 0, - 0, -78, -78, 0, 698, 968, 0, 0, 0, 167, - 167, 0, 0, 0, 0, 0, -54, -54, -120, 291, - 237, 208, 26, -139, -139, 314, 191, 0, 0, -59, - 735, 318, 778, 1489, 2205, 941, 0, 805, 0, 0, - 0, 199, 0, -78, -78, 0, 323, 71, 2205, 338, - 822, 849, 325, 340, 345, 0, 0, 119, 0, 0, - 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, - 2205, 2205, 347, 2205, 350, 904, 941, 941, 2205, 0, - 0, 0, 2205, 0, 2205, 2205, 351, 352, 355, 0, - 0, 0, 0, 2205, 1489, 1489, 0, 134, 0, 1489, - 0, + 0, 0, 0, 0, -2, 0, 0, 0, 0, -27, + 0, 56, -250, -69, 0, 336, 0, 0, -238, -17, + 973, 973, 973, 0, -48, 0, 0, 186, 163, 0, + -21, -176, 348, 295, 267, 86, 82, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, + 0, 0, 0, 0, 1003, 341, -60, 102, 0, 147, + -60, 108, 0, 363, 0, 3324, 3372, 0, -238, -38, + -238, -238, -30, 0, 623, 1003, 0, 345, 1003, 158, + 0, 0, 0, 195, 111, 433, 313, 0, 0, 0, + 0, 669, 112, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1003, 0, 66, 0, 0, -138, 0, -138, + -238, 369, 11, 0, 0, 0, 973, 973, 973, 973, + 973, -238, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 0, 0, 1003, 0, 65, 0, 0, + 732, 0, 0, 3424, 0, 121, 0, 0, 359, 0, + 760, 364, 383, 0, 384, 0, 0, 0, 0, 210, + 0, 0, 0, 387, 0, 0, 0, -60, -60, 0, + 787, 973, 0, 0, 0, 186, 186, 0, 0, 0, + 0, 0, -21, -21, -176, 348, 295, 267, 86, 0, + -138, -138, 371, 264, 0, 0, -38, 826, 374, 866, + 1053, 1221, 1003, 0, 893, 0, 0, 0, 265, 0, + -60, -60, 0, 375, 140, 1221, 399, 910, 939, 382, + 402, 404, 0, 0, 179, 0, 0, 0, 0, 0, + 294, 0, 0, 0, 0, 0, 0, 1221, 1221, 406, + 1221, 408, 956, 1003, 1003, 1221, 0, 0, 0, 1221, + 0, 1221, 1221, 409, 413, 414, 0, 0, 0, 0, + 1221, 1053, 1053, 0, 189, 0, 1053, 0, }; protected static final short yyRindex [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 403, 0, -89, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, - 0, 1123, 0, 0, 0, 0, 0, 0, 0, 2588, - 0, -23, 0, 0, 0, 0, 0, 282, 0, 0, - 0, 0, 0, 139, 0, -84, 0, 0, 0, 106, - 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 445, 0, -86, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, + 0, 1276, 0, 0, 0, 0, 0, 0, 0, 2404, + 0, 520, 0, 0, 0, 0, 0, 339, 0, 0, + 0, 0, 0, 109, 0, -84, 0, 0, 0, 107, + 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 292, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 91, 293, - 0, 0, 0, -50, 0, 297, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 76, 0, 87, 96, + 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 347, 0, + 0, 109, 0, 0, -51, 0, 354, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 153, 0, 156, + 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, + 0, 0, 400, 0, 370, 0, 579, 0, 0, 0, + 0, 0, 0, 0, 0, 1331, 0, 0, 0, 0, + 0, -53, -31, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -43, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 360, 0, 0, 0, 0, + 0, 0, 0, 0, 3215, 0, 0, 2855, 2239, 0, + 2435, 2490, 1385, 1439, 1690, 1744, 1782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, - 0, 362, 0, 320, 0, 526, 0, 0, 0, 0, - 0, 0, 0, 0, 1237, 0, 0, 0, 0, 0, - -45, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -43, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, - 0, 0, 0, 2981, 0, 0, 2708, 2152, 0, 2428, - 2254, 1292, 1398, 1543, 1602, 1671, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 361, 0, 0, 148, + 365, 0, 0, -41, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1819, + 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 301, 0, 0, 305, 0, 0, -41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1708, 0, 0, 0, 0, - 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 167, 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, 106, 0, + 0, 0, 0, 0, 1596, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 373, 388, 0, + 0, 0, 0, 0, 0, 2909, 2964, 0, 0, 0, + 0, 0, 2604, 2795, 2544, 1879, 2070, 2130, 2184, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 392, 393, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3025, 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, 97, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 317, 324, 0, 0, 0, 0, 0, 0, 2780, - 2870, 0, 0, 0, 0, 0, 2529, 2619, 2343, 1794, - 1879, 1981, 2067, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 328, 333, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1192, 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, }; protected static final short yyGindex [] = { 0, - 0, 0, 0, 0, 0, 0, 558, 398, 0, 0, - 0, 0, 0, -40, 0, 394, 0, -10, 382, 27, - -2, 465, 0, 0, 0, 0, 2657, 420, -77, 11, - 379, 53, 0, 0, 0, 266, -49, 0, -9, 35, - 37, -31, 0, -67, 0, 0, 0, -80, 187, -25, - 0, 0, 0, 0, -79, 0, -82, 3, 0, 143, - -56, 170, 164, 179, 182, 163, 0, 0, 214, 0, - 196, 0, -61, -26, -7, 48, 0, 0, -313, -116, - 944, -202, 0, 0, 0, 0, 0, 0, 0, 0, - 219, 0, -15, 402, 0, 388, 0, 0, 184, 0, - 0, 0, -276, 66, 472, 0, 431, 389, 0, 0, - 0, -192, 0, 259, + 0, 0, 0, 0, 0, 0, 62, 471, 0, 0, + 0, 0, 0, -40, 0, 444, 0, 7, 432, 33, + -49, 509, 0, 0, 0, 0, 1474, 484, -78, -9, + 450, 46, 0, 0, 0, 332, 92, 0, -5, 32, + 20, -14, 0, -95, 0, 0, 0, -80, 245, 9, + 0, 0, 0, 0, -79, 0, -118, -77, 0, 105, + -8, 225, 226, 224, 230, 231, 0, 0, 254, 0, + 292, 0, -61, -26, 6, 49, 0, 0, -329, -142, + -310, -133, 0, 0, 0, 0, 0, 0, 0, 0, + 255, 0, 3, 458, 0, 429, 0, 0, 81, 0, + 0, 0, -261, 137, 527, 0, 477, 438, 0, 0, + 0, -205, 0, 299, }; - protected static final short yyTable [] = { 156, - 82, 176, 242, 120, 241, 291, 67, 292, 80, 14, - 184, 52, 62, 196, 86, 198, 268, 159, 22, 222, - 152, 100, 106, 177, 116, 226, 218, 84, 357, 156, - 34, 35, 255, 25, 22, 152, 14, 152, 52, 62, - 14, 232, 69, 310, 120, 336, 17, 159, 54, 14, - 386, 101, 160, 107, 247, 248, 63, 181, 372, 27, - 197, 37, 224, 75, 96, 38, 227, 14, 19, 156, - 219, 161, 182, 179, 249, 54, 68, 39, 73, 35, - 178, 76, 160, 63, 77, 239, 179, 159, 54, 84, - 183, 394, 31, 178, 274, 97, 228, 74, 34, 17, - 252, 161, 182, 240, 104, 239, 251, 280, 281, 282, - 278, 386, 386, 92, 239, 255, 386, 97, 187, 98, - 302, 22, 160, 359, 114, 286, 162, 287, 93, 37, - 31, 179, 399, 38, 152, 97, 253, 98, 178, 37, - 34, 161, 275, 301, 175, 39, 303, 272, 31, 152, - 271, 152, 156, 156, 92, 79, 162, 37, 34, 77, - 92, 81, 354, 20, 37, 308, 273, 378, 38, 223, - 159, 159, 31, 276, 175, 304, 270, 21, 25, 179, - 39, 293, 128, 83, 294, 309, 178, 311, 312, 260, - 261, 255, 25, 21, 237, 94, 162, 128, 34, 334, - 337, 338, 339, 285, 97, 160, 160, 136, 283, 300, - 88, 238, 271, 284, 175, 95, 67, 320, 288, 98, - 271, 109, 428, 429, 161, 161, 325, 431, 156, 367, - 99, 377, 366, 332, 366, 333, 347, 348, 342, 395, - 37, 119, 366, 37, 38, 186, 159, 38, 289, 290, - 14, 369, 370, 373, 14, 152, 39, 220, 152, 39, - 14, 179, 235, 235, 242, 242, 241, 241, 178, 263, - 264, 265, 266, 152, 14, 14, 267, 14, 215, 162, - 162, 160, 313, 136, 156, 156, 136, 34, 340, 341, - 209, 37, 355, 396, 397, 38, 221, 175, 175, 156, - 161, 410, 159, 159, 366, 14, 235, 39, 215, 236, - 236, 236, 241, 374, 375, 242, 245, 159, 92, 259, - 244, 156, 156, 256, 156, 257, 262, 277, 295, 156, - 296, 297, 298, 156, 136, 156, 156, 160, 160, 159, - 159, 299, 159, 305, 156, 156, 156, 159, 318, 321, - 156, 159, 160, 159, 159, 162, 161, 161, 328, 9, - 335, 360, 159, 159, 159, 9, 363, 364, 159, 365, - 368, 161, 376, 175, 160, 160, 381, 160, 401, 407, - 9, 398, 160, 406, 408, 409, 160, 413, 160, 160, - 415, 424, 425, 161, 161, 426, 161, 160, 160, 160, - 430, 161, 1, 160, 119, 161, 124, 161, 161, 126, - 67, 162, 162, 26, 111, 104, 161, 161, 161, 121, - 165, 93, 161, 112, 215, 215, 162, 105, 215, 175, - 175, 343, 344, 345, 346, 215, 316, 317, 164, 115, - 319, 215, 91, 102, 175, 72, 103, 112, 162, 162, - 116, 162, 215, 327, 279, 106, 162, 331, 192, 350, - 162, 353, 162, 162, 349, 189, 175, 175, 190, 175, - 191, 162, 162, 162, 175, 351, 118, 162, 175, 352, - 175, 175, 329, 18, 32, 32, 56, 330, 215, 175, - 175, 175, 225, 108, 192, 175, 229, 314, 215, 0, - 0, 189, 0, 0, 190, 1, 191, 0, 0, 0, - 362, 2, 0, 56, 0, 14, 0, 3, 215, 0, - 243, 0, 14, 14, 4, 5, 6, 56, 14, 14, - 14, 14, 7, 32, 0, 14, 0, 0, 32, 0, - 0, 0, 0, 144, 215, 0, 215, 32, 79, 215, - 0, 215, 32, 0, 0, 0, 380, 0, 383, 0, - 32, 392, 234, 234, 215, 215, 234, 234, 234, 234, - 234, 0, 234, 144, 0, 0, 403, 405, 0, 0, - 0, 67, 70, 71, 234, 234, 209, 234, 1, 215, - 215, 215, 0, 0, 16, 0, 0, 0, 0, 0, - 3, 417, 418, 419, 0, 32, 0, 4, 5, 6, - 0, 192, 0, 144, 0, 7, 0, 0, 189, 234, - 67, 190, 0, 191, 0, 111, 0, 9, 9, 113, - 115, 0, 0, 9, 9, 9, 9, 315, 0, 0, - 9, 0, 0, 0, 0, 0, 0, 32, 192, 234, - 234, 0, 32, 32, 0, 189, 322, 0, 190, 0, - 191, 0, 0, 0, 0, 192, 0, 0, 0, 0, - 0, 234, 189, 356, 0, 190, 0, 191, 0, 0, + protected static final short yyTable [] = { 157, + 82, 177, 243, 178, 242, 197, 67, 259, 14, 185, + 34, 35, 219, 22, 236, 199, 62, 160, 223, 251, + 252, 99, 107, 253, 121, 80, 229, 198, 52, 17, + 157, 86, 121, 179, 316, 22, 25, 69, 295, 14, + 296, 393, 14, 62, 96, 84, 179, 75, 160, 364, + 27, 342, 161, 63, 54, 52, 103, 108, 272, 35, + 394, 398, 31, 227, 77, 76, 74, 231, 100, 68, + 157, 73, 284, 285, 286, 407, 19, 180, 34, 379, + 63, 54, 17, 161, 162, 67, 70, 71, 160, 241, + 180, 182, 179, 259, 102, 77, 276, 418, 419, 275, + 421, 97, 393, 393, 220, 427, 242, 393, 84, 428, + 282, 429, 430, 401, 232, 162, 22, 115, 79, 183, + 434, 394, 398, 161, 188, 297, 427, 163, 298, 112, + 274, 243, 92, 114, 116, 226, 180, 184, 92, 304, + 179, 314, 275, 279, 37, 183, 307, 93, 38, 244, + 309, 92, 129, 224, 257, 162, 157, 157, 163, 174, + 39, 385, 81, 308, 243, 117, 310, 129, 343, 344, + 345, 259, 21, 67, 160, 160, 238, 67, 280, 34, + 20, 25, 366, 243, 180, 277, 83, 42, 37, 67, + 174, 153, 38, 98, 21, 25, 99, 256, 163, 31, + 37, 406, 340, 255, 39, 290, 153, 291, 34, 161, + 161, 98, 346, 347, 99, 176, 67, 31, 37, 94, + 37, 278, 289, 380, 38, 179, 34, 287, 88, 37, + 174, 105, 288, 38, 157, 326, 39, 338, 275, 339, + 37, 162, 162, 95, 38, 39, 176, 331, 110, 14, + 374, 292, 160, 373, 236, 236, 39, 376, 377, 264, + 265, 97, 120, 137, 243, 243, 242, 242, 98, 180, + 319, 34, 137, 187, 14, 153, 237, 237, 153, 221, + 14, 293, 294, 137, 163, 163, 176, 161, 353, 354, + 222, 157, 157, 153, 14, 14, 225, 230, 435, 436, + 403, 404, 362, 438, 384, 402, 157, 373, 373, 160, + 160, 267, 268, 269, 270, 239, 174, 174, 271, 162, + 381, 382, 37, 37, 160, 14, 38, 38, 157, 157, + 315, 157, 317, 318, 417, 240, 157, 373, 39, 39, + 157, 245, 157, 157, 161, 161, 160, 160, 246, 160, + 249, 157, 157, 157, 160, 361, 92, 157, 160, 161, + 160, 160, 163, 260, 125, 31, 137, 261, 125, 160, + 160, 160, 176, 176, 263, 160, 162, 162, 266, 281, + 125, 161, 161, 348, 161, 299, 210, 303, 300, 161, + 301, 162, 302, 161, 174, 161, 161, 349, 350, 351, + 352, 306, 311, 324, 161, 161, 161, 125, 341, 9, + 161, 327, 334, 162, 162, 9, 162, 248, 367, 163, + 163, 162, 370, 371, 372, 162, 375, 162, 162, 383, + 9, 127, 388, 405, 163, 127, 162, 162, 162, 408, + 413, 414, 162, 415, 1, 416, 420, 127, 422, 431, + 176, 174, 174, 432, 433, 437, 163, 163, 166, 163, + 67, 120, 112, 165, 163, 193, 174, 125, 163, 105, + 163, 163, 190, 328, 127, 191, 122, 192, 1, 163, + 163, 163, 94, 113, 2, 163, 26, 106, 174, 174, + 3, 174, 91, 101, 193, 116, 174, 4, 5, 6, + 174, 190, 174, 174, 191, 7, 192, 176, 176, 72, + 104, 174, 174, 174, 117, 107, 305, 174, 113, 337, + 247, 283, 176, 355, 357, 356, 335, 336, 32, 32, + 56, 358, 119, 359, 228, 14, 322, 323, 18, 109, + 325, 320, 14, 14, 176, 176, 233, 176, 14, 14, + 14, 14, 176, 333, 0, 14, 176, 56, 176, 176, + 0, 0, 0, 153, 0, 0, 0, 176, 176, 176, + 32, 56, 0, 176, 0, 0, 0, 32, 153, 14, + 153, 0, 32, 0, 0, 0, 1, 145, 0, 0, + 0, 32, 16, 0, 0, 0, 32, 360, 3, 0, + 0, 0, 0, 0, 32, 4, 5, 6, 0, 0, + 14, 0, 369, 7, 0, 235, 235, 0, 145, 235, + 235, 235, 235, 235, 0, 235, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 235, 210, + 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 32, 0, 0, 0, 0, 193, 0, 0, 145, 387, + 0, 390, 190, 0, 399, 191, 0, 192, 0, 0, + 67, 0, 235, 0, 0, 0, 0, 9, 9, 410, + 412, 321, 0, 9, 9, 9, 9, 0, 0, 0, + 9, 0, 32, 0, 0, 0, 0, 32, 32, 0, + 0, 193, 235, 235, 424, 425, 426, 189, 190, 0, + 0, 191, 0, 192, 0, 0, 0, 0, 0, 127, + 0, 0, 0, 0, 0, 129, 130, 131, 132, 133, + 134, 135, 136, 31, 0, 0, 189, 0, 0, 0, + 138, 139, 0, 0, 145, 145, 0, 32, 127, 32, + 32, 0, 0, 0, 129, 130, 131, 132, 133, 134, + 135, 136, 31, 0, 193, 0, 0, 0, 0, 138, + 139, 190, 363, 0, 191, 0, 192, 14, 0, 0, + 0, 14, 0, 32, 0, 0, 0, 0, 0, 32, + 0, 79, 193, 14, 0, 0, 0, 0, 0, 190, + 32, 0, 191, 0, 192, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 32, 0, 368, 193, + 14, 0, 145, 0, 0, 0, 190, 378, 0, 191, + 0, 192, 0, 0, 0, 235, 235, 0, 0, 0, + 235, 0, 0, 0, 0, 0, 0, 235, 0, 0, + 0, 235, 235, 0, 235, 235, 235, 0, 193, 0, + 0, 0, 235, 0, 0, 190, 386, 0, 191, 235, + 192, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 0, 0, + 0, 0, 210, 210, 210, 210, 0, 189, 193, 210, + 0, 0, 0, 0, 0, 190, 0, 0, 191, 127, + 192, 0, 0, 0, 0, 129, 130, 131, 132, 133, + 134, 135, 136, 31, 389, 193, 0, 0, 0, 0, + 138, 139, 190, 400, 0, 191, 0, 192, 0, 0, + 0, 0, 193, 189, 0, 0, 0, 0, 0, 190, + 409, 0, 191, 0, 192, 127, 0, 0, 0, 0, + 0, 129, 130, 131, 132, 133, 134, 135, 136, 31, + 0, 193, 0, 0, 0, 0, 138, 139, 190, 411, + 0, 191, 0, 192, 0, 0, 0, 0, 193, 0, + 0, 0, 0, 0, 0, 190, 423, 0, 191, 0, + 192, 0, 0, 0, 0, 193, 189, 0, 0, 0, + 0, 0, 190, 0, 0, 191, 0, 192, 127, 0, + 0, 0, 0, 0, 129, 130, 131, 132, 133, 134, + 135, 136, 31, 0, 189, 193, 0, 0, 0, 138, + 139, 0, 190, 0, 0, 191, 127, 192, 0, 0, + 0, 0, 129, 130, 131, 132, 133, 134, 135, 136, + 31, 189, 0, 0, 0, 0, 0, 138, 139, 0, + 0, 0, 0, 127, 0, 0, 0, 0, 0, 129, + 130, 131, 132, 133, 134, 135, 136, 31, 0, 0, + 0, 0, 142, 0, 138, 139, 0, 0, 0, 0, + 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 140, 127, 0, 0, 0, 0, 0, 129, 130, + 131, 132, 133, 134, 135, 136, 31, 0, 0, 0, + 0, 0, 0, 138, 139, 0, 0, 0, 0, 0, + 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 127, 0, 0, 0, 0, 0, 129, 130, + 131, 132, 133, 134, 135, 136, 31, 189, 0, 0, + 0, 0, 0, 138, 139, 79, 0, 0, 0, 127, + 0, 0, 0, 0, 189, 129, 130, 131, 132, 133, + 134, 135, 136, 31, 0, 0, 127, 0, 0, 0, + 138, 139, 129, 130, 131, 132, 133, 134, 135, 136, + 31, 0, 0, 189, 0, 0, 0, 138, 139, 0, + 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, + 189, 129, 130, 131, 132, 133, 134, 135, 136, 31, + 0, 0, 127, 0, 0, 0, 138, 139, 129, 130, + 131, 132, 133, 134, 135, 136, 31, 0, 0, 127, + 142, 0, 0, 138, 139, 129, 130, 131, 132, 133, + 134, 135, 136, 31, 0, 0, 0, 189, 0, 140, + 138, 139, 0, 0, 0, 0, 0, 0, 0, 127, + 0, 0, 0, 0, 0, 129, 130, 131, 132, 133, + 134, 135, 136, 31, 0, 0, 0, 0, 0, 0, + 138, 139, 67, 67, 0, 67, 67, 67, 67, 67, + 67, 67, 67, 124, 391, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 67, 126, 0, 67, 0, 127, + 0, 0, 0, 79, 392, 129, 130, 131, 132, 133, + 134, 135, 136, 31, 0, 0, 0, 0, 0, 0, + 138, 139, 0, 0, 0, 0, 67, 234, 234, 67, + 0, 234, 234, 234, 234, 234, 0, 234, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, + 234, 0, 234, 0, 0, 0, 0, 0, 67, 67, + 67, 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, 144, 144, 0, 32, - 188, 32, 32, 192, 0, 0, 0, 0, 0, 0, - 189, 0, 126, 190, 0, 191, 0, 0, 128, 129, - 130, 131, 132, 133, 134, 135, 31, 0, 0, 361, - 192, 0, 0, 137, 138, 32, 188, 189, 371, 0, - 190, 32, 191, 0, 0, 0, 0, 0, 126, 0, - 0, 0, 32, 0, 128, 129, 130, 131, 132, 133, - 134, 135, 31, 0, 0, 0, 32, 192, 0, 137, - 138, 0, 144, 0, 189, 379, 0, 190, 0, 191, - 0, 0, 234, 234, 0, 0, 0, 234, 0, 0, - 0, 0, 0, 0, 234, 0, 0, 0, 234, 234, - 0, 234, 234, 234, 0, 0, 0, 0, 0, 234, - 192, 0, 0, 0, 0, 0, 234, 189, 0, 0, - 190, 0, 191, 0, 0, 0, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 0, 382, 192, 0, 209, - 209, 209, 209, 0, 189, 393, 209, 190, 0, 191, - 0, 0, 0, 188, 192, 0, 0, 0, 0, 0, - 0, 189, 402, 0, 190, 126, 191, 0, 0, 0, - 0, 128, 129, 130, 131, 132, 133, 134, 135, 31, - 0, 192, 0, 0, 0, 0, 137, 138, 189, 404, - 188, 190, 0, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 126, 0, 0, 0, 0, 188, 128, 129, - 130, 131, 132, 133, 134, 135, 31, 0, 0, 126, - 0, 0, 0, 137, 138, 128, 129, 130, 131, 132, - 133, 134, 135, 31, 0, 0, 192, 0, 0, 0, - 137, 138, 0, 189, 416, 188, 190, 0, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, - 0, 0, 0, 128, 129, 130, 131, 132, 133, 134, - 135, 31, 188, 192, 0, 0, 0, 0, 137, 138, - 189, 0, 0, 190, 126, 191, 0, 0, 0, 0, - 128, 129, 130, 131, 132, 133, 134, 135, 31, 0, - 192, 0, 0, 0, 0, 137, 138, 189, 0, 188, - 190, 0, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 126, 0, 0, 0, 0, 0, 128, 129, 130, - 131, 132, 133, 134, 135, 31, 0, 0, 0, 0, - 0, 0, 137, 138, 0, 0, 0, 0, 0, 0, - 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, - 128, 129, 130, 131, 132, 133, 134, 135, 31, 188, - 0, 0, 0, 0, 0, 137, 138, 0, 43, 0, - 0, 126, 0, 0, 0, 0, 188, 128, 129, 130, - 131, 132, 133, 134, 135, 31, 0, 0, 126, 0, - 0, 0, 137, 138, 128, 129, 130, 131, 132, 133, - 134, 135, 31, 188, 0, 0, 0, 0, 0, 137, - 138, 0, 0, 0, 0, 126, 0, 0, 0, 0, - 0, 128, 129, 130, 131, 132, 133, 134, 135, 31, - 0, 0, 0, 44, 0, 0, 137, 138, 0, 67, - 67, 0, 67, 67, 67, 67, 67, 67, 67, 67, - 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, - 0, 67, 0, 0, 67, 0, 0, 0, 0, 0, - 126, 0, 0, 0, 0, 0, 128, 129, 130, 131, - 132, 133, 134, 135, 31, 0, 0, 0, 0, 0, - 0, 137, 138, 67, 0, 188, 67, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, - 0, 155, 0, 128, 129, 130, 131, 132, 133, 134, - 135, 31, 0, 0, 0, 67, 67, 67, 137, 138, - 155, 0, 0, 0, 126, 0, 0, 0, 0, 0, - 128, 129, 130, 131, 132, 133, 134, 135, 31, 0, - 0, 0, 0, 233, 233, 137, 138, 233, 233, 233, - 233, 233, 0, 233, 0, 1, 37, 0, 0, 0, - 38, 0, 0, 0, 0, 233, 233, 3, 233, 0, - 0, 0, 39, 0, 4, 5, 6, 387, 391, 0, - 0, 0, 40, 0, 155, 0, 155, 0, 0, 41, - 0, 0, 400, 0, 0, 0, 0, 0, 247, 42, - 233, 0, 247, 247, 247, 247, 247, 247, 247, 0, - 0, 0, 0, 0, 411, 412, 0, 414, 0, 0, - 247, 247, 420, 247, 0, 0, 421, 0, 422, 423, - 233, 233, 0, 0, 0, 0, 0, 427, 387, 391, - 0, 0, 0, 420, 0, 0, 0, 0, 0, 67, - 67, 0, 0, 0, 67, 247, 0, 0, 0, 0, - 0, 67, 0, 0, 0, 67, 67, 0, 67, 67, - 67, 0, 0, 0, 67, 0, 67, 0, 0, 0, - 43, 0, 0, 67, 0, 247, 247, 0, 0, 0, - 0, 0, 0, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 0, 0, 238, 238, 0, 0, 238, 238, - 238, 238, 238, 238, 238, 0, 0, 0, 0, 155, - 0, 0, 0, 155, 0, 0, 238, 238, 187, 238, - 0, 0, 155, 155, 0, 155, 0, 0, 0, 0, - 0, 0, 0, 0, 155, 90, 0, 0, 155, 0, - 0, 0, 0, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 233, 233, 0, 0, 0, 233, 155, - 155, 0, 0, 0, 0, 233, 0, 0, 0, 233, - 233, 0, 233, 233, 233, 0, 0, 0, 0, 0, - 233, 238, 238, 0, 0, 0, 0, 233, 141, 0, - 0, 0, 0, 0, 0, 0, 0, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 0, 139, 247, 247, - 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, - 247, 0, 0, 0, 247, 247, 0, 247, 247, 247, - 0, 0, 0, 0, 0, 247, 0, 0, 0, 226, - 226, 0, 247, 226, 226, 226, 226, 226, 226, 226, - 0, 0, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 226, 226, 0, 226, 0, 0, 1, 37, 0, - 0, 79, 38, 0, 0, 0, 0, 0, 0, 3, - 0, 0, 0, 0, 39, 0, 4, 5, 6, 0, - 0, 0, 0, 0, 40, 0, 226, 0, 201, 201, - 0, 41, 201, 201, 201, 201, 201, 201, 201, 0, - 0, 42, 0, 0, 238, 238, 0, 0, 0, 238, - 201, 201, 0, 201, 0, 0, 238, 226, 0, 0, - 238, 238, 0, 238, 238, 238, 0, 0, 0, 0, - 0, 238, 0, 0, 0, 0, 0, 0, 238, 0, - 0, 0, 0, 0, 0, 201, 0, 0, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 190, 190, 0, - 0, 190, 190, 190, 190, 190, 190, 190, 0, 0, - 0, 0, 0, 0, 0, 201, 201, 0, 0, 190, - 190, 0, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 234, 234, 0, 0, 234, 234, - 234, 234, 234, 0, 234, 0, 0, 0, 0, 123, - 384, 0, 0, 0, 190, 0, 234, 234, 0, 234, - 0, 125, 0, 0, 0, 126, 0, 0, 0, 0, - 385, 128, 129, 130, 131, 132, 133, 134, 135, 31, - 0, 0, 0, 0, 190, 190, 137, 138, 0, 226, - 226, 234, 0, 0, 226, 0, 0, 0, 0, 0, - 0, 226, 0, 0, 0, 226, 226, 0, 226, 226, - 226, 0, 0, 0, 0, 0, 226, 0, 0, 0, - 248, 234, 234, 226, 248, 248, 248, 248, 248, 248, - 248, 0, 0, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 248, 248, 0, 248, 0, 0, 201, 201, - 0, 0, 0, 201, 0, 0, 0, 0, 0, 0, - 201, 0, 0, 0, 201, 201, 0, 201, 201, 201, - 0, 0, 0, 0, 0, 201, 0, 248, 0, 0, - 0, 0, 201, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 201, 201, 201, 201, 201, 201, 0, 201, - 201, 0, 0, 0, 0, 239, 239, 248, 248, 239, - 239, 239, 239, 239, 239, 239, 0, 190, 190, 0, - 0, 0, 190, 0, 0, 0, 0, 239, 239, 190, - 239, 0, 0, 190, 190, 0, 190, 190, 190, 0, - 0, 0, 0, 0, 190, 0, 0, 0, 0, 0, - 0, 190, 0, 0, 234, 234, 0, 0, 0, 234, - 0, 190, 190, 190, 190, 190, 234, 190, 190, 190, - 234, 234, 0, 234, 234, 234, 0, 0, 0, 0, - 0, 234, 0, 0, 0, 0, 0, 0, 234, 0, - 0, 0, 239, 239, 0, 105, 0, 0, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 227, 227, 0, - 0, 227, 227, 227, 227, 227, 227, 227, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, - 227, 0, 227, 0, 0, 0, 0, 0, 0, 0, - 248, 248, 0, 0, 0, 248, 0, 0, 0, 0, - 0, 0, 248, 0, 0, 0, 248, 248, 0, 248, - 248, 248, 0, 0, 227, 0, 0, 248, 0, 0, - 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 202, 202, 227, 0, 202, 202, 202, - 202, 202, 202, 202, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 202, 202, 0, 202, 0, - 0, 0, 0, 0, 0, 239, 239, 0, 0, 0, + 0, 248, 0, 0, 234, 248, 248, 248, 248, 248, + 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 248, 248, 0, 248, 0, 0, 0, + 0, 0, 0, 0, 234, 234, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 239, 239, 0, 248, 239, + 239, 239, 239, 239, 239, 239, 0, 0, 0, 0, + 0, 124, 125, 0, 0, 0, 0, 239, 239, 0, + 239, 0, 0, 126, 0, 0, 0, 127, 248, 248, + 0, 0, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 31, 0, 0, 0, 0, 0, 0, 138, 139, + 0, 0, 67, 67, 0, 0, 0, 67, 0, 0, + 0, 0, 0, 0, 67, 0, 0, 0, 67, 67, + 0, 67, 67, 67, 0, 0, 0, 67, 0, 67, + 0, 0, 239, 239, 0, 0, 67, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 0, 0, 234, 234, 0, + 0, 0, 234, 0, 0, 0, 0, 0, 0, 234, + 0, 0, 0, 234, 234, 0, 234, 234, 234, 0, + 0, 250, 250, 0, 234, 0, 0, 0, 0, 0, + 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 234, 234, 234, 234, 234, 234, 234, 234, 234, + 0, 248, 248, 0, 0, 0, 248, 0, 0, 0, + 0, 0, 0, 248, 78, 79, 0, 248, 248, 0, + 248, 248, 248, 0, 250, 250, 250, 0, 248, 0, + 0, 0, 0, 0, 0, 248, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 0, 239, 239, 0, 0, 0, 239, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0, 239, 239, 0, 239, 239, 239, 0, 0, 0, - 202, 0, 239, 0, 0, 0, 0, 0, 0, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 269, 269, - 202, 202, 269, 269, 0, 269, 0, 269, 269, 0, - 0, 0, 1, 37, 0, 0, 0, 38, 0, 0, - 269, 269, 0, 269, 3, 0, 0, 0, 0, 39, - 0, 4, 5, 6, 0, 0, 0, 0, 0, 7, - 0, 0, 0, 0, 0, 0, 103, 227, 227, 0, - 0, 0, 227, 0, 141, 269, 104, 0, 0, 227, - 0, 0, 0, 227, 227, 0, 227, 227, 227, 0, - 0, 0, 0, 139, 227, 0, 0, 0, 0, 0, - 0, 227, 0, 0, 0, 269, 269, 0, 0, 0, - 0, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 258, 258, 0, 0, 258, 258, 258, 258, 258, 258, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 258, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 202, 202, 0, 0, 79, 202, 0, - 0, 0, 0, 0, 0, 202, 0, 0, 0, 202, - 202, 0, 202, 202, 202, 0, 0, 258, 0, 0, - 202, 0, 0, 0, 0, 0, 0, 202, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 202, 202, 202, - 202, 202, 202, 0, 202, 202, 0, 258, 258, 259, - 259, 0, 0, 259, 259, 259, 259, 259, 259, 259, + 79, 0, 239, 0, 0, 0, 227, 227, 0, 239, + 227, 227, 227, 227, 227, 227, 227, 0, 0, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 227, 227, + 0, 227, 0, 0, 0, 0, 0, 0, 0, 0, + 250, 250, 250, 250, 250, 0, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 0, 0, 0, + 202, 202, 0, 227, 202, 202, 202, 202, 202, 202, + 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 202, 202, 0, 202, 0, 0, 0, 0, + 0, 0, 0, 0, 227, 250, 0, 0, 191, 191, + 0, 0, 191, 191, 191, 191, 191, 191, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 202, 0, 0, + 191, 191, 0, 191, 0, 0, 0, 0, 0, 0, + 0, 0, 79, 79, 0, 235, 235, 79, 0, 235, + 235, 235, 235, 235, 79, 235, 0, 202, 202, 79, + 0, 79, 79, 79, 0, 191, 0, 235, 235, 79, + 235, 0, 0, 0, 0, 0, 79, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, + 0, 0, 0, 0, 0, 191, 191, 0, 0, 0, + 0, 0, 235, 0, 0, 249, 0, 0, 0, 249, + 249, 249, 249, 249, 249, 249, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 249, 249, 0, + 249, 0, 235, 235, 0, 0, 227, 227, 0, 0, + 0, 227, 0, 0, 0, 0, 0, 0, 227, 0, + 0, 0, 227, 227, 0, 227, 227, 227, 0, 0, + 0, 0, 249, 227, 0, 0, 0, 0, 0, 0, + 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 0, + 202, 202, 249, 249, 0, 202, 0, 0, 0, 0, + 0, 0, 202, 0, 0, 0, 202, 202, 0, 202, + 202, 202, 0, 0, 0, 0, 0, 202, 0, 0, + 0, 0, 0, 0, 202, 0, 0, 0, 191, 191, + 0, 0, 106, 191, 202, 202, 202, 202, 202, 202, + 191, 202, 202, 0, 191, 191, 0, 191, 191, 191, + 0, 0, 0, 0, 0, 191, 0, 0, 0, 0, + 0, 0, 191, 0, 0, 235, 235, 0, 0, 0, + 235, 0, 191, 191, 191, 191, 191, 235, 191, 191, + 191, 235, 235, 0, 235, 235, 235, 0, 0, 0, + 0, 0, 235, 0, 0, 0, 240, 240, 0, 235, + 240, 240, 240, 240, 240, 240, 240, 0, 0, 235, + 235, 235, 235, 235, 235, 235, 235, 235, 240, 240, + 0, 240, 0, 0, 0, 249, 249, 0, 0, 0, + 249, 0, 0, 0, 0, 0, 0, 249, 0, 0, + 0, 249, 249, 0, 249, 249, 249, 0, 0, 0, + 0, 0, 249, 0, 0, 0, 228, 228, 0, 249, + 228, 228, 228, 228, 228, 228, 228, 0, 0, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 228, 228, + 0, 228, 0, 240, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 259, 259, 0, 259, 0, 0, 0, 269, 269, - 0, 0, 0, 269, 0, 0, 0, 0, 0, 0, - 269, 0, 0, 0, 269, 269, 0, 269, 269, 269, - 0, 0, 0, 0, 0, 269, 259, 0, 0, 0, - 0, 0, 269, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 269, 269, 269, 269, 269, 269, 269, 269, - 269, 0, 0, 0, 260, 260, 259, 259, 260, 260, - 260, 260, 260, 260, 260, 123, 124, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 260, 125, 0, 0, - 0, 126, 0, 0, 0, 0, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 31, 0, 0, 0, 0, - 258, 258, 137, 138, 0, 258, 0, 0, 0, 0, - 0, 260, 258, 0, 0, 0, 258, 258, 0, 258, - 258, 258, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 260, 260, 0, 258, 0, 258, 258, 0, 258, - 258, 258, 258, 0, 0, 261, 261, 0, 0, 261, - 261, 261, 261, 261, 261, 261, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, - 259, 0, 0, 0, 259, 0, 0, 0, 0, 0, - 0, 259, 0, 0, 0, 259, 259, 0, 259, 259, - 259, 0, 261, 0, 0, 0, 259, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 203, 203, 0, 228, 203, 203, 203, 203, 203, 203, + 203, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 37, 0, 203, 203, 38, 203, 0, 0, 0, 0, + 0, 3, 0, 0, 228, 0, 39, 0, 4, 5, + 6, 0, 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 104, 0, 270, 270, 203, 0, 270, + 270, 0, 270, 105, 270, 270, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 270, 270, 0, + 270, 0, 0, 0, 0, 0, 0, 203, 203, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 240, 240, 0, 0, + 0, 240, 270, 0, 0, 0, 0, 0, 240, 0, + 0, 0, 240, 240, 0, 240, 240, 240, 0, 0, + 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, + 240, 0, 270, 270, 0, 0, 0, 0, 0, 0, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 0, + 0, 0, 0, 0, 0, 0, 228, 228, 0, 0, + 0, 228, 0, 0, 0, 0, 0, 0, 228, 0, + 0, 0, 228, 228, 0, 228, 228, 228, 0, 0, + 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, + 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 0, + 203, 203, 0, 0, 0, 203, 0, 0, 0, 0, + 0, 0, 203, 0, 0, 0, 203, 203, 0, 203, + 203, 203, 0, 56, 0, 0, 0, 203, 0, 0, + 0, 261, 261, 0, 203, 261, 261, 261, 261, 261, + 261, 261, 0, 0, 203, 203, 203, 203, 203, 203, + 0, 203, 203, 261, 0, 270, 270, 0, 0, 0, + 270, 0, 0, 0, 0, 0, 0, 270, 0, 0, + 0, 270, 270, 0, 270, 270, 270, 0, 0, 0, + 0, 0, 270, 0, 0, 0, 259, 259, 261, 270, + 259, 259, 259, 259, 259, 259, 259, 0, 0, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 259, 259, + 0, 259, 0, 0, 0, 0, 0, 0, 261, 261, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 260, 260, 0, 259, 260, 260, 260, 260, 260, 260, + 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 260, 260, 0, 260, 0, 0, 0, 0, + 0, 0, 0, 259, 259, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 260, 0, 0, + 262, 262, 0, 0, 262, 262, 262, 262, 262, 262, + 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 56, 262, 0, 0, 56, 0, 260, 260, 0, + 0, 0, 56, 0, 0, 0, 0, 56, 0, 56, + 56, 56, 0, 0, 0, 0, 0, 56, 0, 0, + 0, 261, 261, 0, 56, 0, 261, 262, 0, 0, + 0, 0, 0, 261, 56, 0, 0, 0, 261, 0, + 261, 261, 261, 0, 0, 0, 0, 0, 261, 0, + 0, 0, 0, 0, 0, 261, 0, 262, 262, 0, + 0, 0, 0, 0, 0, 261, 261, 0, 0, 261, + 261, 261, 261, 261, 0, 0, 259, 259, 0, 0, + 0, 259, 0, 0, 0, 0, 0, 0, 259, 0, + 0, 0, 259, 259, 0, 259, 259, 259, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 259, 0, 259, 259, 56, 259, 259, - 259, 259, 261, 261, 0, 262, 262, 0, 0, 262, - 262, 262, 262, 262, 262, 262, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, - 0, 0, 0, 0, 260, 260, 0, 0, 0, 260, - 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, - 0, 260, 0, 260, 260, 260, 0, 0, 0, 0, - 0, 260, 262, 0, 0, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 260, 260, - 0, 0, 260, 260, 260, 260, 260, 0, 0, 0, - 0, 0, 262, 262, 0, 270, 0, 0, 270, 0, - 270, 270, 270, 270, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 270, 270, 0, 270, + 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 0, 259, 259, 0, 259, 259, 259, 259, 0, + 260, 260, 0, 0, 0, 260, 0, 0, 0, 0, + 0, 0, 260, 0, 0, 0, 260, 260, 0, 260, + 260, 260, 0, 0, 0, 0, 0, 260, 0, 0, + 0, 263, 263, 0, 260, 263, 263, 263, 263, 263, + 263, 263, 0, 0, 260, 0, 260, 260, 0, 260, + 260, 260, 260, 263, 0, 0, 0, 0, 0, 0, + 262, 262, 0, 0, 0, 262, 0, 0, 0, 0, + 0, 0, 262, 0, 0, 0, 0, 262, 0, 262, + 262, 262, 0, 0, 0, 0, 0, 262, 263, 0, + 0, 0, 271, 0, 262, 271, 0, 271, 271, 271, + 271, 0, 0, 0, 262, 262, 0, 0, 262, 262, + 262, 262, 262, 271, 271, 0, 271, 0, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 261, 261, 0, 0, 0, - 261, 0, 0, 246, 246, 0, 0, 261, 0, 0, - 0, 270, 261, 0, 261, 261, 261, 0, 0, 0, - 0, 0, 261, 0, 0, 0, 0, 271, 0, 261, - 271, 0, 271, 271, 271, 271, 0, 0, 0, 261, - 261, 270, 270, 261, 261, 261, 261, 261, 271, 271, - 0, 271, 0, 0, 56, 56, 246, 246, 246, 56, - 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, - 0, 56, 0, 56, 56, 56, 0, 0, 0, 0, - 0, 56, 0, 271, 0, 262, 262, 0, 56, 0, - 262, 0, 0, 0, 0, 0, 0, 262, 56, 0, - 0, 0, 262, 0, 262, 262, 262, 0, 0, 0, - 0, 0, 262, 271, 271, 0, 0, 272, 0, 262, - 272, 0, 272, 272, 272, 272, 0, 0, 0, 262, - 262, 0, 0, 262, 262, 262, 262, 262, 272, 272, - 0, 272, 0, 0, 0, 0, 0, 0, 0, 246, - 246, 246, 246, 246, 0, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 0, 0, 0, 0, - 0, 0, 0, 272, 270, 270, 0, 0, 0, 270, - 0, 0, 0, 0, 0, 0, 270, 0, 0, 0, - 270, 270, 0, 270, 270, 270, 0, 0, 0, 0, - 0, 270, 246, 272, 272, 0, 0, 0, 270, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 244, 244, 0, - 0, 244, 244, 244, 244, 244, 244, 244, 0, 0, - 0, 0, 0, 0, 0, 0, 271, 271, 0, 244, - 244, 271, 244, 0, 0, 141, 0, 0, 271, 0, - 0, 0, 271, 271, 0, 271, 271, 271, 0, 0, - 0, 0, 0, 271, 139, 0, 0, 0, 0, 0, - 271, 0, 0, 0, 244, 0, 0, 0, 0, 0, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 0, - 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, - 0, 0, 0, 0, 244, 244, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 272, 272, 79, 0, - 140, 272, 0, 0, 0, 0, 0, 0, 272, 0, - 0, 0, 272, 272, 0, 272, 272, 272, 0, 141, - 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, - 272, 0, 0, 0, 0, 0, 0, 0, 139, 0, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 0, - 79, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 272, 0, 271, 272, + 0, 272, 272, 272, 272, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 272, 272, 0, + 272, 0, 0, 0, 0, 0, 0, 0, 271, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, - 0, 0, 79, 0, 254, 0, 0, 244, 244, 0, - 0, 0, 244, 0, 0, 0, 0, 0, 0, 244, - 141, 0, 0, 244, 244, 0, 244, 244, 244, 0, - 0, 0, 0, 37, 244, 0, 0, 38, 0, 139, - 0, 244, 0, 0, 0, 0, 123, 124, 0, 39, - 0, 244, 244, 244, 244, 244, 244, 244, 125, 79, - 0, 306, 126, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 0, 141, 0, - 0, 0, 0, 137, 138, 37, 0, 0, 0, 38, - 0, 0, 0, 0, 0, 0, 0, 139, 123, 124, - 0, 39, 0, 79, 0, 307, 0, 0, 0, 0, - 125, 0, 0, 0, 230, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 0, - 0, 0, 0, 0, 0, 137, 138, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 273, 272, 0, 273, 0, 273, 273, 273, 273, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 273, 273, 0, 273, 0, 0, 0, 0, + 0, 0, 272, 272, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 263, 263, 0, 0, 0, 263, 273, 0, 0, + 0, 0, 0, 263, 156, 0, 0, 0, 263, 0, + 263, 263, 263, 0, 0, 0, 0, 0, 263, 0, + 0, 0, 0, 156, 0, 263, 0, 273, 273, 0, + 0, 0, 0, 0, 0, 263, 263, 0, 0, 263, + 263, 263, 263, 263, 0, 0, 0, 0, 0, 0, + 0, 271, 271, 0, 0, 0, 271, 0, 142, 0, + 0, 0, 0, 271, 0, 0, 0, 271, 271, 0, + 271, 271, 271, 0, 0, 0, 0, 140, 271, 0, + 0, 0, 0, 0, 0, 271, 0, 156, 0, 156, + 0, 0, 0, 0, 0, 271, 271, 271, 271, 271, + 271, 271, 271, 271, 0, 272, 272, 0, 0, 0, + 272, 0, 0, 0, 0, 0, 0, 272, 0, 0, + 0, 272, 272, 0, 272, 272, 272, 0, 0, 0, + 0, 0, 272, 0, 0, 0, 0, 0, 0, 272, + 142, 79, 0, 141, 0, 0, 0, 0, 0, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 0, 140, + 273, 273, 0, 0, 0, 273, 0, 0, 0, 0, + 0, 0, 273, 0, 0, 0, 273, 273, 0, 273, + 273, 273, 0, 0, 0, 0, 0, 273, 0, 0, + 0, 245, 245, 0, 273, 245, 245, 245, 245, 245, + 245, 245, 0, 0, 273, 273, 273, 273, 273, 273, + 273, 273, 273, 245, 245, 0, 245, 0, 0, 0, + 0, 0, 156, 79, 0, 235, 156, 0, 0, 0, + 0, 188, 0, 0, 0, 156, 156, 0, 156, 0, + 0, 0, 0, 0, 0, 0, 0, 156, 245, 142, + 0, 156, 0, 0, 0, 0, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 0, 0, 140, 0, + 0, 0, 156, 156, 0, 0, 37, 0, 245, 245, + 38, 0, 0, 0, 0, 0, 0, 0, 0, 124, + 125, 0, 39, 0, 0, 0, 0, 0, 0, 0, + 0, 126, 0, 142, 0, 127, 0, 0, 0, 0, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 0, 0, 140, 0, 0, 0, 138, 139, 0, 0, + 0, 0, 79, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 142, 0, 0, 0, 0, 0, 0, 37, 0, + 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, + 140, 124, 125, 0, 39, 0, 0, 0, 0, 0, + 0, 0, 0, 126, 0, 0, 79, 234, 312, 0, + 0, 0, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 0, 142, 0, 0, 0, 0, 138, 139, + 0, 245, 245, 0, 0, 0, 245, 0, 0, 0, + 0, 0, 140, 245, 0, 0, 0, 245, 245, 0, + 245, 245, 245, 0, 79, 0, 313, 0, 245, 0, + 0, 0, 0, 0, 0, 245, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 245, 245, 245, 245, 245, + 245, 245, 0, 0, 0, 0, 0, 37, 43, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 124, 0, 39, 0, 0, 0, 0, 0, 0, - 0, 79, 125, 358, 0, 0, 126, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 0, 0, 0, 0, 0, 0, 137, 138, 0, - 0, 0, 0, 0, 37, 0, 0, 0, 38, 0, - 0, 0, 0, 0, 0, 0, 0, 123, 124, 0, - 39, 0, 0, 0, 0, 0, 0, 0, 0, 125, - 0, 0, 0, 126, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 37, 0, - 0, 0, 38, 0, 137, 138, 0, 0, 0, 0, - 0, 123, 124, 0, 39, 0, 0, 0, 0, 0, - 0, 0, 0, 125, 0, 0, 0, 126, 0, 0, - 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 0, 0, 0, 0, 0, 0, 137, 138, - 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, - 38, 0, 0, 0, 0, 0, 0, 0, 0, 123, - 124, 0, 39, 0, 0, 0, 0, 0, 0, 0, - 0, 125, 0, 0, 0, 126, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 0, 0, 0, 0, 0, 0, 137, 138, + 124, 125, 0, 39, 0, 0, 79, 0, 365, 0, + 0, 0, 126, 0, 0, 0, 127, 0, 0, 0, + 0, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 0, 0, 43, 0, 0, 0, 138, 139, 0, + 0, 37, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 44, 124, 125, 0, 39, 0, 0, + 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, + 127, 0, 0, 0, 0, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 0, 0, 0, 0, 37, + 0, 138, 139, 38, 0, 0, 0, 0, 90, 0, + 0, 0, 124, 125, 0, 39, 0, 0, 0, 0, + 0, 0, 0, 0, 126, 0, 0, 0, 127, 0, + 0, 0, 0, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 0, 0, 0, 0, 0, 0, 138, + 139, 37, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 0, 124, 125, 0, 39, 0, 0, + 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, + 127, 0, 0, 0, 0, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 1, 37, 0, 0, 0, + 38, 138, 139, 0, 0, 0, 0, 3, 0, 0, + 0, 0, 39, 0, 4, 5, 6, 0, 0, 0, + 0, 0, 40, 0, 0, 0, 0, 0, 0, 41, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, + 1, 37, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, 0, 39, 0, 4, + 5, 6, 0, 0, 0, 0, 0, 40, 0, 0, + 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 42, }; - protected short yyCheck[] = new short[3579]; + protected short yyCheck[] = new short[3816]; } class yyCheck0 { protected static final short yyCheck0 [] = { 79, - 41, 82, 46, 63, 46, 60, 91, 62, 40, 60, - 88, 22, 22, 59, 46, 59, 61, 79, 123, 100, - 44, 62, 63, 41, 74, 106, 41, 43, 305, 109, - 20, 21, 149, 123, 123, 59, 60, 61, 49, 49, - 91, 109, 44, 236, 63, 41, 10, 109, 22, 301, - 364, 62, 79, 63, 137, 138, 22, 83, 335, 301, - 59, 258, 103, 44, 40, 262, 107, 91, 60, 149, - 96, 79, 44, 83, 41, 49, 24, 274, 26, 69, - 83, 62, 109, 49, 60, 44, 96, 149, 62, 105, - 62, 368, 301, 96, 291, 91, 107, 268, 88, 63, - 40, 109, 44, 62, 301, 44, 46, 190, 191, 192, - 188, 425, 426, 44, 44, 232, 430, 44, 92, 44, - 62, 123, 149, 62, 72, 43, 79, 45, 59, 258, - 44, 141, 62, 262, 44, 62, 147, 62, 141, 44, - 44, 149, 183, 224, 79, 274, 227, 41, 62, 59, - 44, 61, 232, 233, 44, 123, 109, 62, 62, 60, - 44, 301, 291, 268, 258, 233, 182, 360, 262, 59, - 232, 233, 301, 183, 109, 59, 179, 282, 268, 189, - 274, 302, 44, 40, 305, 235, 189, 237, 238, 308, - 309, 308, 282, 282, 268, 59, 149, 59, 188, 277, - 283, 284, 285, 37, 91, 232, 233, 301, 42, 41, - 289, 285, 44, 47, 149, 61, 301, 41, 273, 91, - 44, 123, 425, 426, 232, 233, 258, 430, 308, 41, - 301, 41, 44, 274, 44, 276, 293, 294, 288, 41, - 258, 301, 44, 258, 262, 301, 308, 262, 303, 304, - 301, 332, 333, 336, 40, 41, 274, 93, 44, 274, - 46, 271, 308, 309, 308, 309, 308, 309, 271, 314, - 315, 316, 317, 59, 60, 61, 321, 301, 95, 232, - 233, 308, 301, 301, 364, 365, 301, 277, 286, 287, - 95, 258, 302, 374, 375, 262, 93, 232, 233, 379, - 308, 41, 364, 365, 44, 91, 38, 274, 125, 308, - 309, 60, 40, 354, 355, 40, 40, 379, 44, 46, - 125, 401, 402, 59, 404, 329, 59, 44, 38, 409, - 94, 124, 307, 413, 301, 415, 416, 364, 365, 401, - 402, 306, 404, 40, 424, 425, 426, 409, 59, 301, - 430, 413, 379, 415, 416, 308, 364, 365, 301, 40, - 40, 60, 424, 425, 426, 46, 59, 41, 430, 41, - 40, 379, 59, 308, 401, 402, 59, 404, 41, 40, - 61, 59, 409, 59, 40, 267, 413, 41, 415, 416, - 41, 41, 41, 401, 402, 41, 404, 424, 425, 426, - 267, 409, 0, 430, 123, 413, 301, 415, 416, 301, - 91, 364, 365, 16, 123, 123, 424, 425, 426, 123, - 59, 123, 430, 123, 241, 242, 379, 123, 245, 364, - 365, 289, 290, 291, 292, 252, 241, 242, 59, 123, - 245, 258, 49, 62, 379, 26, 123, 69, 401, 402, - 123, 404, 269, 258, 189, 123, 409, 271, 33, 296, - 413, 299, 415, 416, 295, 40, 401, 402, 43, 404, - 45, 424, 425, 426, 409, 297, 75, 430, 413, 298, - 415, 416, 269, 12, 20, 21, 22, 269, 305, 424, - 425, 426, 105, 63, 33, 430, 108, 239, 315, -1, - -1, 40, -1, -1, 43, 257, 45, -1, -1, -1, - 315, 263, -1, 49, -1, 301, -1, 269, 335, -1, - 59, -1, 308, 309, 276, 277, 278, 63, 314, 315, - 316, 317, 284, 69, -1, 321, -1, -1, 74, -1, - -1, -1, -1, 79, 361, -1, 363, 83, 123, 366, - -1, 368, 88, -1, -1, -1, 361, -1, 363, -1, - 96, 366, 37, 38, 381, 382, 41, 42, 43, 44, - 45, -1, 47, 109, -1, -1, 381, 382, -1, -1, - -1, 24, 25, 26, 59, 60, 61, 62, 257, 406, - 407, 408, -1, -1, 263, -1, -1, -1, -1, -1, - 269, 406, 407, 408, -1, 141, -1, 276, 277, 278, - -1, 33, -1, 149, -1, 284, -1, -1, 40, 94, - 301, 43, -1, 45, -1, 68, -1, 308, 309, 72, - 73, -1, -1, 314, 315, 316, 317, 59, -1, -1, - 321, -1, -1, -1, -1, -1, -1, 183, 33, 124, - 125, -1, 188, 189, -1, 40, 41, -1, 43, -1, - 45, -1, -1, -1, -1, 33, -1, -1, -1, -1, - -1, 114, 40, 41, -1, 43, -1, 45, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 232, 233, -1, 235, - 275, 237, 238, 33, -1, -1, -1, -1, -1, -1, - 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, 271, 275, 40, 41, -1, - 43, 277, 45, -1, -1, -1, -1, -1, 287, -1, - -1, -1, 288, -1, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, -1, -1, 302, 33, -1, 308, - 309, -1, 308, -1, 40, 41, -1, 43, -1, 45, - -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 33, -1, -1, -1, -1, -1, 291, 40, -1, -1, - 43, -1, 45, -1, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, -1, 59, 33, -1, 314, - 315, 316, 317, -1, 40, 41, 321, 43, -1, 45, - -1, -1, -1, 275, 33, -1, -1, -1, -1, -1, - -1, 40, 41, -1, 43, 287, 45, -1, -1, -1, + 41, 82, 46, 41, 46, 59, 91, 150, 60, 88, + 20, 21, 41, 123, 110, 59, 22, 79, 99, 138, + 139, 62, 63, 41, 63, 40, 107, 59, 22, 10, + 110, 46, 63, 83, 240, 123, 123, 44, 60, 91, + 62, 371, 301, 49, 40, 43, 96, 44, 110, 311, + 301, 41, 79, 22, 22, 49, 62, 63, 61, 69, + 371, 372, 301, 104, 60, 62, 268, 108, 62, 24, + 150, 26, 191, 192, 193, 386, 60, 83, 88, 341, + 49, 49, 63, 110, 79, 24, 25, 26, 150, 268, + 96, 83, 142, 236, 62, 60, 41, 408, 409, 44, + 411, 91, 432, 433, 96, 416, 285, 437, 106, 420, + 189, 422, 423, 375, 108, 110, 123, 72, 123, 44, + 431, 432, 433, 150, 92, 302, 437, 79, 305, 68, + 180, 44, 44, 72, 73, 103, 142, 62, 44, 41, + 190, 237, 44, 184, 258, 44, 227, 59, 262, 62, + 231, 44, 44, 59, 148, 150, 236, 237, 110, 79, + 274, 367, 301, 62, 44, 74, 59, 59, 287, 288, + 289, 314, 282, 258, 236, 237, 115, 262, 184, 189, + 268, 268, 62, 44, 190, 183, 40, 301, 258, 274, + 110, 44, 262, 44, 282, 282, 44, 40, 150, 44, + 44, 62, 281, 46, 274, 43, 59, 45, 44, 236, + 237, 62, 290, 291, 62, 79, 301, 62, 62, 59, + 258, 291, 37, 342, 262, 275, 62, 42, 289, 258, + 150, 301, 47, 262, 314, 41, 274, 278, 44, 280, + 258, 236, 237, 61, 262, 274, 110, 262, 123, 301, + 41, 273, 314, 44, 308, 309, 274, 338, 339, 308, + 309, 91, 301, 301, 308, 309, 308, 309, 91, 275, + 301, 281, 301, 301, 40, 41, 308, 309, 44, 93, + 46, 303, 304, 301, 236, 237, 150, 314, 297, 298, + 93, 371, 372, 59, 60, 61, 61, 301, 432, 433, + 381, 382, 308, 437, 41, 41, 386, 44, 44, 371, + 372, 314, 315, 316, 317, 38, 236, 237, 321, 314, + 361, 362, 258, 258, 386, 91, 262, 262, 408, 409, + 239, 411, 241, 242, 41, 60, 416, 44, 274, 274, + 420, 40, 422, 423, 371, 372, 408, 409, 40, 411, + 40, 431, 432, 433, 416, 291, 44, 437, 420, 386, + 422, 423, 314, 59, 258, 301, 301, 329, 262, 431, + 432, 433, 236, 237, 46, 437, 371, 372, 59, 44, + 274, 408, 409, 292, 411, 38, 95, 306, 94, 416, + 124, 386, 307, 420, 314, 422, 423, 293, 294, 295, + 296, 61, 40, 59, 431, 432, 433, 301, 40, 40, + 437, 301, 301, 408, 409, 46, 411, 126, 60, 371, + 372, 416, 59, 41, 41, 420, 40, 422, 423, 59, + 61, 258, 59, 59, 386, 262, 431, 432, 433, 41, + 59, 40, 437, 40, 0, 267, 41, 274, 41, 41, + 314, 371, 372, 41, 41, 267, 408, 409, 59, 411, + 91, 123, 123, 59, 416, 33, 386, 301, 420, 123, + 422, 423, 40, 41, 301, 43, 123, 45, 257, 431, + 432, 433, 123, 123, 263, 437, 16, 123, 408, 409, + 269, 411, 49, 62, 33, 123, 416, 276, 277, 278, + 420, 40, 422, 423, 43, 284, 45, 371, 372, 26, + 123, 431, 432, 433, 123, 123, 225, 437, 69, 275, + 59, 190, 386, 299, 301, 300, 273, 273, 20, 21, + 22, 302, 75, 303, 106, 301, 245, 246, 12, 63, + 249, 243, 308, 309, 408, 409, 109, 411, 314, 315, + 316, 317, 416, 262, -1, 321, 420, 49, 422, 423, + -1, -1, -1, 44, -1, -1, -1, 431, 432, 433, + 62, 63, -1, 437, -1, -1, -1, 69, 59, 60, + 61, -1, 74, -1, -1, -1, 257, 79, -1, -1, + -1, 83, 263, -1, -1, -1, 88, 306, 269, -1, + -1, -1, -1, -1, 96, 276, 277, 278, -1, -1, + 91, -1, 321, 284, -1, 37, 38, -1, 110, 41, + 42, 43, 44, 45, -1, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 59, 60, 61, + 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 142, -1, -1, -1, -1, 33, -1, -1, 150, 368, + -1, 370, 40, -1, 373, 43, -1, 45, -1, -1, + 301, -1, 94, -1, -1, -1, -1, 308, 309, 388, + 389, 59, -1, 314, 315, 316, 317, -1, -1, -1, + 321, -1, 184, -1, -1, -1, -1, 189, 190, -1, + -1, 33, 124, 125, 413, 414, 415, 275, 40, -1, + -1, 43, -1, 45, -1, -1, -1, -1, -1, 287, + -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, -1, 275, -1, -1, -1, + 308, 309, -1, -1, 236, 237, -1, 239, 287, 241, + 242, -1, -1, -1, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, 33, -1, -1, -1, -1, 308, + 309, 40, 41, -1, 43, -1, 45, 258, -1, -1, + -1, 262, -1, 275, -1, -1, -1, -1, -1, 281, + -1, 123, 33, 274, -1, -1, -1, -1, -1, 40, + 292, -1, 43, -1, 45, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 308, -1, 59, 33, + 301, -1, 314, -1, -1, -1, 40, 41, -1, 43, + -1, 45, -1, -1, -1, 257, 258, -1, -1, -1, + 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, + -1, 273, 274, -1, 276, 277, 278, -1, 33, -1, + -1, -1, 284, -1, -1, 40, 41, -1, 43, 291, + 45, -1, -1, -1, -1, -1, -1, -1, -1, 301, + 302, 303, 304, 305, 306, 307, 308, 309, -1, -1, + -1, -1, 314, 315, 316, 317, -1, 275, 33, 321, + -1, -1, -1, -1, -1, 40, -1, -1, 43, 287, + 45, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 59, 33, -1, -1, -1, -1, + 308, 309, 40, 41, -1, 43, -1, 45, -1, -1, + -1, -1, 33, 275, -1, -1, -1, -1, -1, 40, + 41, -1, 43, -1, 45, 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, 33, -1, -1, -1, -1, 308, 309, 40, 41, - 275, 43, -1, 45, -1, -1, -1, -1, -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, 33, -1, -1, -1, - 308, 309, -1, 40, 41, 275, 43, -1, 45, -1, - -1, -1, -1, -1, -1, -1, -1, 287, -1, -1, - -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 275, 33, -1, -1, -1, -1, 308, 309, - 40, -1, -1, 43, 287, 45, -1, -1, -1, -1, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, + -1, 43, -1, 45, -1, -1, -1, -1, 33, -1, + -1, -1, -1, -1, -1, 40, 41, -1, 43, -1, }; } class yyCheck1 { - protected static final short yyCheck1 [] = { 33, - -1, -1, -1, -1, 308, 309, 40, -1, 275, 43, - -1, 45, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, - -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, - -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, 60, -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, 275, -1, -1, -1, -1, -1, 308, 309, - -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, + protected static final short yyCheck1 [] = { 45, + -1, -1, -1, -1, 33, 275, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, 45, 287, -1, -1, + -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, 275, 33, -1, -1, -1, 308, 309, + -1, 40, -1, -1, 43, 287, 45, -1, -1, -1, + -1, 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, -1, 293, 294, + 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, + -1, 40, -1, 308, 309, -1, -1, -1, -1, 275, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 59, 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, -1, -1, 275, + -1, -1, -1, -1, -1, -1, -1, -1, -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, 123, -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, 275, -1, -1, -1, 308, 309, -1, -1, + -1, -1, -1, -1, 287, -1, -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, 125, -1, -1, 308, 309, -1, 37, 38, - -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, - -1, -1, -1, -1, -1, -1, -1, 275, -1, -1, - 59, -1, -1, 62, -1, -1, -1, -1, -1, 287, - -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, - 308, 309, 91, -1, 275, 94, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, - 40, -1, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, -1, 123, 124, 125, 308, 309, 59, - -1, -1, -1, 287, -1, -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, -1, 47, -1, 257, 258, -1, -1, -1, 262, - -1, -1, -1, -1, 59, 60, 269, 62, -1, -1, - -1, 274, -1, 276, 277, 278, 364, 365, -1, -1, - -1, 284, -1, 123, -1, 125, -1, -1, 291, -1, - -1, 379, -1, -1, -1, -1, -1, 37, 301, 94, + -1, 287, -1, -1, -1, 308, 309, 293, 294, 295, + 296, 297, 298, 299, 300, 301, -1, -1, 287, 40, + -1, -1, 308, 309, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, -1, 275, -1, 59, 308, + 309, -1, -1, -1, -1, -1, -1, -1, 287, -1, + -1, -1, -1, -1, 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, + 46, 47, 271, 272, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 59, 283, -1, 62, -1, 287, -1, + -1, -1, 123, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, -1, -1, -1, -1, 308, + 309, -1, -1, -1, -1, 91, 37, 38, 94, -1, + 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, + -1, 62, -1, -1, -1, -1, -1, 123, 124, 125, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 37, -1, -1, 94, 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, -1, -1, 124, 125, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 37, 38, -1, 94, 41, 42, + 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, + 271, 272, -1, -1, -1, -1, 59, 60, -1, 62, + -1, -1, 283, -1, -1, -1, 287, 124, 125, -1, + -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, -1, -1, -1, -1, -1, -1, 308, 309, -1, + -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, + -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, + 276, 277, 278, -1, -1, -1, 282, -1, 284, -1, + -1, 124, 125, -1, -1, 291, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, + 306, 307, 308, 309, -1, -1, 257, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, + -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, + 138, 139, -1, 284, -1, -1, -1, -1, -1, -1, + 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, + 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, + -1, -1, 269, 59, 60, -1, 273, 274, -1, 276, + 277, 278, -1, 191, 192, 193, -1, 284, -1, -1, + -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, + 307, 308, 309, -1, 257, 258, -1, -1, -1, 262, + -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, -1, -1, -1, 125, + -1, 284, -1, -1, -1, 37, 38, -1, 291, 41, + 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 59, 60, -1, + 62, -1, -1, -1, -1, -1, -1, -1, -1, 287, + 288, 289, 290, 291, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, -1, -1, -1, 37, + 38, -1, 94, 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, + -1, -1, -1, 125, 342, -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, -1, -1, 401, 402, -1, 404, -1, -1, 59, - 60, 409, 62, -1, -1, 413, -1, 415, 416, 124, - 125, -1, -1, -1, -1, -1, 424, 425, 426, -1, - -1, -1, 430, -1, -1, -1, -1, -1, 257, 258, - -1, -1, -1, 262, 94, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 94, -1, -1, 59, + 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, + -1, 257, 258, -1, 37, 38, 262, -1, 41, 42, + 43, 44, 45, 269, 47, -1, 124, 125, 274, -1, + 276, 277, 278, -1, 94, -1, 59, 60, 284, 62, + -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 301, -1, -1, -1, -1, + -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, + -1, 94, -1, -1, 37, -1, -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, 124, 125, -1, -1, 257, 258, -1, -1, -1, + 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, + -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, + -1, 94, 284, -1, -1, -1, -1, -1, -1, 291, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, + 302, 303, 304, 305, 306, 307, 308, 309, -1, 257, + }; +} +class yyCheck2 { + protected static final short yyCheck2 [] = { 258, + 124, 125, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, 282, -1, 284, -1, -1, -1, 60, - -1, -1, 291, -1, 124, 125, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, + -1, -1, 291, -1, -1, -1, 257, 258, -1, -1, + 60, 262, 301, 302, 303, 304, 305, 306, 269, 308, + 309, -1, 273, 274, -1, 276, 277, 278, -1, -1, + -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, + 291, -1, -1, 257, 258, -1, -1, -1, 262, -1, + 301, 302, 303, 304, 305, 269, 307, 308, 309, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, + 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, + -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, + 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, + -1, 124, 125, -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, 37, 38, + -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, + -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, + 59, 60, 262, 62, -1, -1, -1, -1, -1, 269, + -1, -1, 125, -1, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, + -1, 291, -1, 37, 38, 94, -1, 41, 42, -1, + 44, 301, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, + -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, + 94, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, + -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, + 124, 125, -1, -1, -1, -1, -1, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, -1, -1, -1, + -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, + -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, + -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, -1, 257, 258, + -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, + 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, + -1, 60, -1, -1, -1, 284, -1, -1, -1, 37, + 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, + -1, -1, 301, 302, 303, 304, 305, 306, -1, 308, + 309, 59, -1, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, 37, 38, 94, 291, 41, 42, + 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, + -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, + -1, 94, 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, -1, + -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 94, -1, -1, 37, 38, + -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, + 59, -1, -1, 262, -1, 124, 125, -1, -1, -1, + 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, + -1, -1, -1, -1, -1, 284, -1, -1, -1, 257, + 258, -1, 291, -1, 262, 94, -1, -1, -1, -1, + -1, 269, 301, -1, -1, -1, 274, -1, 276, 277, + 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, + -1, -1, -1, 291, -1, 124, 125, -1, -1, -1, + -1, -1, -1, 301, 302, -1, -1, 305, 306, 307, + 308, 309, -1, -1, 257, 258, -1, -1, -1, 262, + -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, + -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 301, -1, + 303, 304, -1, 306, 307, 308, 309, -1, 257, 258, + -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, + 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, + -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, + 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, + -1, -1, 301, -1, 303, 304, -1, 306, 307, 308, + 309, 59, -1, -1, -1, -1, -1, -1, 257, 258, + -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, + 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, + -1, -1, -1, -1, -1, 284, 94, -1, -1, -1, + 38, -1, 291, 41, -1, 43, 44, 45, 46, -1, + -1, -1, 301, 302, -1, -1, 305, 306, 307, 308, + 309, 59, 60, -1, 62, -1, 124, 125, -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, 38, -1, 94, 41, -1, 43, + 44, 45, 46, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, + -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, + }; +} +class yyCheck3 { + protected static final short yyCheck3 [] = { 94, + -1, 41, -1, 43, 44, 45, 46, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + 60, -1, 62, -1, -1, -1, -1, -1, -1, 124, + 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, + -1, -1, -1, 262, 94, -1, -1, -1, -1, -1, + 269, 40, -1, -1, -1, 274, -1, 276, 277, 278, + -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, + 59, -1, 291, -1, 124, 125, -1, -1, -1, -1, + -1, -1, 301, 302, -1, -1, 305, 306, 307, 308, + 309, -1, -1, -1, -1, -1, -1, -1, 257, 258, + -1, -1, -1, 262, -1, 40, -1, -1, -1, -1, + 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, + -1, -1, -1, -1, 59, 284, -1, -1, -1, -1, + -1, -1, 291, -1, 123, -1, 125, -1, -1, -1, -1, -1, 301, 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, 258, -1, - -1, -1, 262, -1, -1, 59, 60, 267, 62, -1, - -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, - -1, -1, -1, 283, 125, -1, -1, 287, -1, -1, - -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 257, 258, -1, -1, -1, 262, 308, 309, + 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 124, 125, -1, -1, -1, -1, 291, 40, -1, -1, - -1, -1, -1, -1, -1, -1, 301, 302, 303, 304, + -1, -1, -1, -1, -1, -1, 291, 40, 123, -1, + 125, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, 59, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 59, 60, -1, 62, -1, -1, 257, 258, -1, -1, - 123, 262, -1, -1, -1, -1, -1, -1, 269, -1, - -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, 94, -1, 37, 38, -1, - 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, - 301, -1, -1, 257, 258, -1, -1, -1, 262, 59, - 60, -1, 62, -1, -1, 269, 125, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, 94, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 37, 38, -1, -1, - 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, - -1, -1, -1, -1, 124, 125, -1, -1, 59, 60, - -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, -1, 47, -1, -1, -1, -1, 271, 272, - -1, -1, -1, 94, -1, 59, 60, -1, 62, -1, - 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, -1, 124, 125, 308, 309, -1, 257, 258, - 94, -1, -1, 262, -1, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, - 124, 125, 291, 41, 42, 43, 44, 45, 46, 47, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 59, 60, -1, 62, -1, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, 94, -1, -1, -1, - -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 301, 302, 303, 304, 305, 306, -1, 308, 309, - -1, -1, -1, -1, 37, 38, 124, 125, 41, 42, - 43, 44, 45, 46, 47, -1, 257, 258, -1, -1, - -1, 262, -1, -1, -1, -1, 59, 60, 269, 62, - -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, - 291, -1, -1, 257, 258, -1, -1, -1, 262, -1, - 301, 302, 303, 304, 305, 269, 307, 308, 309, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - }; -} -class yyCheck2 { - protected static final short yyCheck2 [] = { -1, - 124, 125, -1, 60, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 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, -1, -1, 257, 258, - -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, 94, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 37, 38, 125, -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, -1, 257, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, 94, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 37, 38, 124, 125, - 41, 42, -1, 44, -1, 46, 47, -1, -1, -1, - 257, 258, -1, -1, -1, 262, -1, -1, 59, 60, - -1, 62, 269, -1, -1, -1, -1, 274, -1, 276, - 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, - -1, -1, -1, -1, 291, 257, 258, -1, -1, -1, - 262, -1, 40, 94, 301, -1, -1, 269, -1, -1, - -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, - -1, 59, 284, -1, -1, -1, -1, -1, -1, 291, - -1, -1, -1, 124, 125, -1, -1, -1, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 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, -1, - -1, 257, 258, -1, -1, 123, 262, -1, -1, -1, - -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, - 276, 277, 278, -1, -1, 94, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, - 306, -1, 308, 309, -1, 124, 125, 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, 257, 258, -1, -1, - -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, - -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, 94, -1, -1, -1, -1, -1, - 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, - -1, -1, 37, 38, 124, 125, 41, 42, 43, 44, - 45, 46, 47, 271, 272, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 283, -1, -1, -1, 287, - -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, -1, -1, 257, 258, - 308, 309, -1, 262, -1, -1, -1, -1, -1, 94, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, -1, -1, -1, -1, -1, 124, - 125, -1, 301, -1, 303, 304, -1, 306, 307, 308, - 309, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - 94, -1, -1, -1, 284, -1, -1, -1, -1, -1, - -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 301, -1, 303, 304, 60, 306, 307, 308, 309, - 124, 125, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, - -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 94, -1, -1, -1, -1, -1, 291, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 301, 302, -1, -1, - 305, 306, 307, 308, 309, -1, -1, -1, -1, -1, - 124, 125, -1, 38, -1, -1, 41, -1, 43, 44, - 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, - -1, 137, 138, -1, -1, 269, -1, -1, -1, 94, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, -1, -1, -1, -1, 38, -1, 291, 41, -1, - 43, 44, 45, 46, -1, -1, -1, 301, 302, 124, - 125, 305, 306, 307, 308, 309, 59, 60, -1, 62, - -1, -1, 257, 258, 190, 191, 192, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - -1, 94, -1, 257, 258, -1, 291, -1, 262, -1, - -1, -1, -1, -1, -1, 269, 301, -1, -1, -1, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, 124, 125, -1, -1, 38, -1, 291, 41, -1, - 43, 44, 45, 46, -1, -1, -1, 301, 302, -1, - -1, 305, 306, 307, 308, 309, 59, 60, -1, 62, - -1, -1, -1, -1, -1, -1, -1, 283, 284, 285, - 286, 287, -1, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, -1, -1, -1, -1, -1, -1, - -1, 94, 257, 258, -1, -1, -1, 262, -1, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, - -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, - 336, 124, 125, -1, -1, -1, 291, -1, -1, -1, - }; -} -class yyCheck3 { - protected static final short yyCheck3 [] = { -1, - -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 37, 38, -1, -1, 41, 42, - 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, -1, 59, 60, 262, 62, - -1, -1, 40, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, 59, -1, -1, -1, -1, -1, 291, -1, -1, - -1, 94, -1, -1, -1, -1, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, -1, -1, -1, -1, - -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, - -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, 123, -1, 125, 262, -1, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, - 274, -1, 276, 277, 278, -1, 40, -1, -1, -1, - 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, - -1, -1, -1, -1, -1, 59, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, -1, 123, -1, 125, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 59, -1, -1, -1, -1, -1, -1, 123, - -1, 125, -1, -1, 257, 258, -1, -1, -1, 262, - -1, -1, -1, -1, -1, -1, 269, 40, -1, -1, - 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, - 258, 284, -1, -1, 262, -1, 59, -1, 291, -1, - -1, -1, -1, 271, 272, -1, 274, -1, 301, 302, - 303, 304, 305, 306, 307, 283, 123, -1, 125, 287, - -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, 40, -1, -1, -1, -1, - 308, 309, 258, -1, -1, -1, 262, -1, -1, -1, - -1, -1, -1, -1, 59, 271, 272, -1, 274, -1, - 123, -1, 125, -1, -1, -1, -1, 283, -1, -1, - -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, - -1, -1, 308, 309, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, -1, -1, 271, 272, -1, - 274, -1, -1, -1, -1, -1, -1, -1, 123, 283, - 125, -1, -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, -1, -1, -1, - -1, 258, -1, -1, -1, 262, -1, -1, -1, -1, - -1, -1, -1, -1, 271, 272, -1, 274, -1, -1, - -1, -1, -1, -1, -1, -1, 283, -1, -1, -1, - 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 258, -1, -1, -1, 262, - -1, 308, 309, -1, -1, -1, -1, -1, 271, 272, - -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, - 283, -1, -1, -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, -1, -1, - -1, -1, -1, 258, -1, -1, -1, 262, -1, -1, + 59, 60, -1, 62, -1, -1, -1, -1, -1, 258, + 123, -1, 125, 262, -1, -1, -1, -1, 267, -1, + -1, -1, 271, 272, -1, 274, -1, -1, -1, -1, + -1, -1, -1, -1, 283, 94, 40, -1, 287, -1, + -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, 59, -1, -1, -1, 308, + 309, -1, -1, 258, -1, 124, 125, 262, -1, -1, -1, -1, -1, -1, -1, -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, - -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, - -1, -1, -1, 308, 309, + 40, -1, 287, -1, -1, -1, -1, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, -1, -1, 59, + -1, -1, -1, 308, 309, -1, -1, -1, -1, 123, + -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, + -1, -1, -1, -1, -1, 258, -1, -1, -1, 262, + -1, -1, -1, -1, -1, -1, -1, 59, 271, 272, + -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, + 283, -1, -1, 123, 287, 125, -1, -1, -1, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, + 40, -1, -1, -1, -1, 308, 309, -1, 257, 258, + -1, -1, -1, 262, -1, -1, -1, -1, -1, 59, + 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, + -1, 123, -1, 125, -1, 284, -1, -1, -1, -1, + -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 301, 302, 303, 304, 305, 306, 307, -1, + -1, -1, -1, -1, 258, 60, -1, -1, 262, -1, + -1, -1, -1, -1, -1, -1, -1, 271, 272, -1, + 274, -1, -1, 123, -1, 125, -1, -1, -1, 283, + -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, + 60, -1, -1, -1, 308, 309, -1, -1, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, + 125, 271, 272, -1, 274, -1, -1, -1, -1, -1, + -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, + -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, -1, -1, -1, 258, -1, 308, 309, + 262, -1, -1, -1, -1, 125, -1, -1, -1, 271, + 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, + -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, -1, -1, -1, 308, 309, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, + -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, + -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, + -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 257, 258, -1, -1, -1, 262, 308, 309, + -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, + -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, + -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 301, 257, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, + -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, + -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 301, }; } class yyCheckInit { - static short[] yyCheck = new short[3579]; + static short[] yyCheck = new short[3816]; protected static void yyCheckInit () { int numyycheck; int yyCheckerun = 0; for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3579) { + if (yyCheckerun < 3816) { yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3579) { + if (yyCheckerun < 3816) { yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3579) { + if (yyCheckerun < 3816) { yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3579) { + if (yyCheckerun < 3816) { yyCheck[yyCheckerun] = yyCheck3.yyCheck3[numyycheck]; yyCheckerun++; } diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index 8b53e82f..de426a0d 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -867,7 +867,15 @@ 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 : variabledeclarator '=' expression +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); @@ -1361,9 +1369,9 @@ blockstatement :localvariabledeclarationstatement formalparameter : type variabledeclaratorid { - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter($2); FP.setType($1); - FP.set_DeclId($2); + //FP.set_DeclId($2); $$=FP; } @@ -1375,9 +1383,9 @@ formalparameter : type variabledeclaratorid Parameterliste setzen $5.set_Paratyp($3.get_ParaList()); - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter($5); FP.setType($1); - FP.set_DeclId($5); + //FP.set_DeclId($5); $$=FP; org.apache.log4j.Logger.getLogger("parser").debug("P->Polymorphes Methodenargument hinzugefuegt: Name = " + $5.get_Name() + " Typ = " + $1.getName()); @@ -1388,7 +1396,7 @@ formalparameter : type variabledeclaratorid { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + $1.name); - FormalParameter FP = new FormalParameter(); + FormalParameter FP = new FormalParameter($1); // #JB# 31.03.2005 // ########################################################### @@ -1398,7 +1406,7 @@ formalparameter : type variabledeclaratorid //org.apache.log4j.Logger.getLogger("parser").debug("\n--> berechneter Name: " + T.getName()); //auskommentiert von Andreas Stadelmeier (a10023) FP.setType( T ); - FP.set_DeclId($1); + //FP.set_DeclId($1); $$=FP; } diff --git a/src/typinferenz/FunNMethod.java b/src/typinferenz/FunNMethod.java index 7d14317e..bfb70782 100644 --- a/src/typinferenz/FunNMethod.java +++ b/src/typinferenz/FunNMethod.java @@ -17,10 +17,10 @@ public class FunNMethod extends Method{ ParameterList pl = new ParameterList(); Vector fpList = new Vector(); for(int i = 0;i null { [null Return null (f.apply( [ null (this(null)), m, ]))]) +Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH L Return TPH F (( [ TPH E f, ]) -> TPH K { [TPH K Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ]))]) Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A -[(Klasse1 <. Klasse1), (Klasse1 <. Klasse1), ] -Klasse1 < TPH A -TPH A < TPH I -[(int <. TPH J), (TPH A <. Klasse1), (int <. TPH J), (TPH A <. Klasse1), ] -TPH J < TPH K -TPH K < TPH B +[(TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. FunN), ] +TPH G < TPH K +Fun1< TPH K, TPH E > < TPH F +TPH F < TPH L +Fun1< TPH L, TPH C > < TPH D +TPH D < TPH A -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)], [(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)], [(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)], [(TPH A <. TPH A), (Klasse1 <. Klasse1), (Klasse1 <. TPH A), (TPH A <. TPH I), (int <. TPH J), (TPH A <. Klasse1), (TPH J <. TPH K), (TPH K <. TPH B)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (TPH H <. TPH G), (Matrix <. TPH I), (TPH C <. TPH J), (TPH E <. FunN), (TPH G <. TPH K), (Fun1< TPH K, TPH E > <. TPH F), (TPH F <. TPH L), (Fun1< TPH L, TPH C > <. TPH D), (TPH D <. TPH A)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Matrix), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)], [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)]] SourceFile DEBUG [Typeinference] JavaFiles: -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Matrix), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] class Klasse2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Klasse1 var1; -int testMethode() -{ -var1 = new Klasse1(); -return var1.getVar1();; -} -Klasse2 Klasse2() +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] - -SourceFile DEBUG [Typeinference] class Klasse2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Klasse1 var1; -int testMethode() -{ -var1 = new Klasse1(); -return var1.getVar1();; -} -Klasse2 Klasse2() +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] - -SourceFile DEBUG [Typeinference] class Klasse2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Klasse1 var1; -int testMethode() -{ -var1 = new Klasse1(); -return var1.getVar1();; -} -Klasse2 Klasse2() +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? extends GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH B = int), (TPH I = Klasse1), (TPH K = int), (TPH A = Klasse1), (TPH J = int)] - -SourceFile DEBUG [Typeinference] class Klasse2 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -Klasse1 var1; -int testMethode() -{ -var1 = new Klasse1(); -return var1.getVar1();; -} -Klasse2 Klasse2() +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -Block DEBUG [Typeinference] Prozessing statement: null Return var1 -Block DEBUG [Typeinference] Prozessing statement: TPH L Return var1: TPH D -Class DEBUG [Typeinference] Erstellte Constraints: TPH D < TPH D -TPH D < TPH L -TPH L < int +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? extends Vector< ? super GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH D <. TPH D), (TPH D <. TPH L), (TPH L <. int)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH D = int), (TPH L = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH D = int), (TPH L = int)] - -SourceFile DEBUG [Typeinference] class Klasse1 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -int var1; -int getVar1() -{ -return var1; -} -Klasse1 Klasse1() +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } -Class DEBUG [Typeinference] Erstellte Assumptions: this: Klasse1Method Assumptions: -[MethodAssumption: int int { [null Return var1], MethodAssumption: Klasse1 null { []] -FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@744578e0] -LocalVar Assumptions: -[] -Parameter Assumptions: -[] +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Vector< GTV Integer > >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] -Block DEBUG [Typeinference] Prozessing statement: null Return var1 -Block DEBUG [Typeinference] Prozessing statement: TPH M Return var1: TPH F -Class DEBUG [Typeinference] Erstellte Constraints: TPH F < TPH F -TPH F < TPH M -TPH M < int - -SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH F <. TPH F), (TPH F <. TPH M), (TPH M <. int)]] -SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [[(TPH F = int), (TPH M = int)]] -SourceFile DEBUG [Typeinference] -JavaFiles: - -SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH F = int), (TPH M = int)] - -SourceFile DEBUG [Typeinference] class Klasse1 extends Object +SourceFile DEBUG [Typeinference] class Matrix extends Vector> { -int var1; -int getVar1() -{ -return var1; -} -Klasse1 Klasse1() +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() +{ +} +} + +SourceFile DEBUG [Typeinference] JavaFile für ResultSet Unified Constraints: [(TPH H <. TPH G), (TPH C <. TPH J), (TPH G <. TPH K), (TPH L = Fun1< TPH K, FunN >), (TPH A = Fun1< Fun1< TPH K, FunN >, TPH C >), (TPH I = Vector< ? super Matrix >), (TPH E = FunN), (TPH F = Fun1< TPH K, FunN >), (TPH D = Fun1< Fun1< TPH K, FunN >, TPH C >)] + +SourceFile DEBUG [Typeinference] class Matrix extends Vector> +{ +Fun1, C> op = (C m) -> { +return (FunN f) -> { +return f.apply(this, m);; +}; +}; +Matrix Matrix() { } } diff --git a/tools/y.output b/tools/y.output index 048aeef5..0eae7260 100644 --- a/tools/y.output +++ b/tools/y.output @@ -113,283 +113,284 @@ 77 abstractmethoddeclaration : methodheader ';' - 78 fielddeclarator : variabledeclarator '=' expression + 78 fielddeclarator : type variabledeclarator '=' expression + 79 | variabledeclarator '=' expression - 79 fielddeclaration : fielddeclarator ';' - 80 | type fielddeclarator - 81 | variabledeclarators ';' - 82 | type variabledeclarators ';' - 83 | modifiers type variabledeclarators ';' + 80 fielddeclaration : fielddeclarator ';' + 81 | type fielddeclarator + 82 | variabledeclarators ';' + 83 | type variabledeclarators ';' + 84 | modifiers type variabledeclarators ';' - 84 methoddeclaration : methodheader methodbody + 85 methoddeclaration : methodheader methodbody - 85 block : '{' '}' - 86 | '{' blockstatements '}' + 86 block : '{' '}' + 87 | '{' blockstatements '}' - 87 constructordeclarator : simplename '(' ')' - 88 | simplename '(' formalparameterlist ')' + 88 constructordeclarator : simplename '(' ')' + 89 | simplename '(' formalparameterlist ')' - 89 constructorbody : '{' '}' - 90 | '{' explicitconstructorinvocation '}' - 91 | '{' blockstatements '}' - 92 | '{' explicitconstructorinvocation blockstatements '}' + 90 constructorbody : '{' '}' + 91 | '{' explicitconstructorinvocation '}' + 92 | '{' blockstatements '}' + 93 | '{' explicitconstructorinvocation blockstatements '}' - 93 throws : THROWS classtypelist + 94 throws : THROWS classtypelist - 94 boundedClassParameter : boundedMethodParameter + 95 boundedClassParameter : boundedMethodParameter - 95 boundedClassParameters : boundedClassParameter - 96 | boundedClassParameters ',' boundedClassParameter + 96 boundedClassParameters : boundedClassParameter + 97 | boundedClassParameters ',' boundedClassParameter - 97 boundedMethodParameter : IDENTIFIER - 98 | IDENTIFIER EXTENDS boundedclassidentifierlist + 98 boundedMethodParameter : IDENTIFIER + 99 | IDENTIFIER EXTENDS boundedclassidentifierlist - 99 boundedclassidentifierlist : referencetype - 100 | boundedclassidentifierlist '&' referencetype + 100 boundedclassidentifierlist : referencetype + 101 | boundedclassidentifierlist '&' referencetype - 101 boundedMethodParameters : boundedMethodParameter - 102 | boundedMethodParameters ',' boundedMethodParameter + 102 boundedMethodParameters : boundedMethodParameter + 103 | boundedMethodParameters ',' boundedMethodParameter - 103 methodheader : '<' boundedMethodParameters '>' type methoddeclarator - 104 | type methoddeclarator - 105 | modifiers type methoddeclarator - 106 | modifiers '<' boundedMethodParameters '>' type methoddeclarator - 107 | type methoddeclarator throws - 108 | '<' boundedMethodParameters '>' type methoddeclarator throws - 109 | modifiers type methoddeclarator throws - 110 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws - 111 | VOID methoddeclarator - 112 | modifiers VOID methoddeclarator - 113 | VOID methoddeclarator throws - 114 | modifiers VOID methoddeclarator throws - 115 | '<' boundedMethodParameters '>' VOID methoddeclarator - 116 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator - 117 | '<' boundedMethodParameters '>' VOID methoddeclarator throws - 118 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws - 119 | methoddeclarator - 120 | '<' boundedMethodParameters '>' methoddeclarator - 121 | modifiers methoddeclarator - 122 | methoddeclarator throws - 123 | modifiers methoddeclarator throws + 104 methodheader : '<' boundedMethodParameters '>' type methoddeclarator + 105 | type methoddeclarator + 106 | modifiers type methoddeclarator + 107 | modifiers '<' boundedMethodParameters '>' type methoddeclarator + 108 | type methoddeclarator throws + 109 | '<' boundedMethodParameters '>' type methoddeclarator throws + 110 | modifiers type methoddeclarator throws + 111 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws + 112 | VOID methoddeclarator + 113 | modifiers VOID methoddeclarator + 114 | VOID methoddeclarator throws + 115 | modifiers VOID methoddeclarator throws + 116 | '<' boundedMethodParameters '>' VOID methoddeclarator + 117 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator + 118 | '<' boundedMethodParameters '>' VOID methoddeclarator throws + 119 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws + 120 | methoddeclarator + 121 | '<' boundedMethodParameters '>' methoddeclarator + 122 | modifiers methoddeclarator + 123 | methoddeclarator throws + 124 | modifiers methoddeclarator throws - 124 type : primitivetype - 125 | primitivetype '[' ']' - 126 | referencetype - 127 | referencetype '[' ']' + 125 type : primitivetype + 126 | primitivetype '[' ']' + 127 | referencetype + 128 | referencetype '[' ']' - 128 variabledeclarators : variabledeclarator - 129 | variabledeclarators ',' variabledeclarator + 129 variabledeclarators : variabledeclarator + 130 | variabledeclarators ',' variabledeclarator - 130 methodbody : block + 131 methodbody : block - 131 blockstatements : blockstatement - 132 | blockstatements blockstatement + 132 blockstatements : blockstatement + 133 | blockstatements blockstatement - 133 formalparameterlist : formalparameter - 134 | formalparameterlist ',' formalparameter + 134 formalparameterlist : formalparameter + 135 | formalparameterlist ',' formalparameter - 135 explicitconstructorinvocation : THIS '(' ')' ';' - 136 | THIS '(' argumentlist ')' ';' + 136 explicitconstructorinvocation : THIS '(' ')' ';' + 137 | THIS '(' argumentlist ')' ';' - 137 classtypelist : classtype - 138 | classtypelist ',' classtype + 138 classtypelist : classtype + 139 | classtypelist ',' classtype - 139 methoddeclarator : IDENTIFIER '(' ')' - 140 | IDENTIFIER '(' formalparameterlist ')' + 140 methoddeclarator : IDENTIFIER '(' ')' + 141 | IDENTIFIER '(' formalparameterlist ')' - 141 primitivetype : BOOLEAN - 142 | numerictype + 142 primitivetype : BOOLEAN + 143 | numerictype - 143 referencetype : classorinterfacetype + 144 referencetype : classorinterfacetype - 144 variabledeclarator : variabledeclaratorid + 145 variabledeclarator : variabledeclaratorid - 145 blockstatement : localvariabledeclarationstatement - 146 | statement + 146 blockstatement : localvariabledeclarationstatement + 147 | statement - 147 formalparameter : type variabledeclaratorid - 148 | variabledeclaratorid + 148 formalparameter : type variabledeclaratorid + 149 | variabledeclaratorid - 149 argumentlist : expression - 150 | argumentlist ',' expression + 150 argumentlist : expression + 151 | argumentlist ',' expression - 151 numerictype : integraltype + 152 numerictype : integraltype - 152 variabledeclaratorid : IDENTIFIER + 153 variabledeclaratorid : IDENTIFIER - 153 variableinitializer : expression + 154 variableinitializer : expression - 154 localvariabledeclarationstatement : localvariabledeclaration ';' + 155 localvariabledeclarationstatement : localvariabledeclaration ';' - 155 statement : statementwithouttrailingsubstatement - 156 | ifthenstatement - 157 | ifthenelsestatement - 158 | whilestatement - 159 | forstatement + 156 statement : statementwithouttrailingsubstatement + 157 | ifthenstatement + 158 | ifthenelsestatement + 159 | whilestatement + 160 | forstatement - 160 expression : assignmentexpression - 161 | classinstancecreationexpression + 161 expression : assignmentexpression + 162 | classinstancecreationexpression - 162 integraltype : INT - 163 | CHAR + 163 integraltype : INT + 164 | CHAR - 164 localvariabledeclaration : type variabledeclarators - 165 | variabledeclarators + 165 localvariabledeclaration : type variabledeclarators + 166 | variabledeclarators - 166 statementwithouttrailingsubstatement : block - 167 | emptystatement - 168 | expressionstatement - 169 | returnstatement + 167 statementwithouttrailingsubstatement : block + 168 | emptystatement + 169 | expressionstatement + 170 | returnstatement - 170 ifthenstatement : IF '(' expression ')' statement + 171 ifthenstatement : IF '(' expression ')' statement - 171 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement + 172 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement - 172 whilestatement : WHILE '(' expression ')' statement + 173 whilestatement : WHILE '(' expression ')' statement - 173 forstatement : FOR '(' expression ';' expression ';' expression ')' statement - 174 | FOR '(' expression ';' expression ';' ')' statement - 175 | FOR '(' expression ';' ';' expression ')' statement - 176 | FOR '(' ';' expression ';' expression ')' statement - 177 | FOR '(' expression ';' ';' ')' statement - 178 | FOR '(' ';' expression ';' ')' statement - 179 | FOR '(' ';' ';' expression ')' statement - 180 | FOR '(' ';' ';' ')' statement + 174 forstatement : FOR '(' expression ';' expression ';' expression ')' statement + 175 | FOR '(' expression ';' expression ';' ')' statement + 176 | FOR '(' expression ';' ';' expression ')' statement + 177 | FOR '(' ';' expression ';' expression ')' statement + 178 | FOR '(' expression ';' ';' ')' statement + 179 | FOR '(' ';' expression ';' ')' statement + 180 | FOR '(' ';' ';' expression ')' statement + 181 | FOR '(' ';' ';' ')' statement - 181 assignmentexpression : conditionalexpression - 182 | assignment + 182 assignmentexpression : conditionalexpression + 183 | assignment - 183 emptystatement : ';' + 184 emptystatement : ';' - 184 expressionstatement : statementexpression ';' + 185 expressionstatement : statementexpression ';' - 185 returnstatement : RETURN ';' - 186 | RETURN expression ';' + 186 returnstatement : RETURN ';' + 187 | RETURN expression ';' - 187 statementnoshortif : statementwithouttrailingsubstatement - 188 | ifthenelsestatementnoshortif - 189 | whilestatementnoshortif + 188 statementnoshortif : statementwithouttrailingsubstatement + 189 | ifthenelsestatementnoshortif + 190 | whilestatementnoshortif - 190 conditionalexpression : conditionalorexpression + 191 conditionalexpression : conditionalorexpression - 191 assignment : lefthandside assignmentoperator assignmentexpression - 192 | lefthandside assignmentoperator classinstancecreationexpression + 192 assignment : lefthandside assignmentoperator assignmentexpression + 193 | lefthandside assignmentoperator classinstancecreationexpression - 193 statementexpression : assignment - 194 | preincrementexpression - 195 | predecrementexpression - 196 | postincrementexpression - 197 | postdecrementexpression - 198 | methodinvocation + 194 statementexpression : assignment + 195 | preincrementexpression + 196 | predecrementexpression + 197 | postincrementexpression + 198 | postdecrementexpression + 199 | methodinvocation - 199 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif + 200 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif - 200 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif + 201 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif - 201 conditionalorexpression : conditionalandexpression - 202 | conditionalorexpression LOGICALOR conditionalandexpression + 202 conditionalorexpression : conditionalandexpression + 203 | conditionalorexpression LOGICALOR conditionalandexpression - 203 lambdaassignmentoperator : LAMBDAASSIGNMENT + 204 lambdaassignmentoperator : LAMBDAASSIGNMENT - 204 lambdabody : block - 205 | expression + 205 lambdabody : block + 206 | expression - 206 lambdaexpressionparameter : '(' ')' - 207 | '(' formalparameterlist ')' + 207 lambdaexpressionparameter : '(' ')' + 208 | '(' formalparameterlist ')' - 208 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody + 209 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody - 209 lefthandside : name + 210 lefthandside : name - 210 assignmentoperator : '=' - 211 | TIMESEQUAL - 212 | DIVIDEEQUAL - 213 | MODULOEQUAL - 214 | PLUSEQUAL - 215 | MINUSEQUAL + 211 assignmentoperator : '=' + 212 | TIMESEQUAL + 213 | DIVIDEEQUAL + 214 | MODULOEQUAL + 215 | PLUSEQUAL + 216 | MINUSEQUAL - 216 preincrementexpression : INCREMENT unaryexpression + 217 preincrementexpression : INCREMENT unaryexpression - 217 predecrementexpression : DECREMENT unaryexpression + 218 predecrementexpression : DECREMENT unaryexpression - 218 postincrementexpression : postfixexpression INCREMENT + 219 postincrementexpression : postfixexpression INCREMENT - 219 postdecrementexpression : postfixexpression DECREMENT + 220 postdecrementexpression : postfixexpression DECREMENT - 220 methodinvocation : name '(' ')' - 221 | name '(' argumentlist ')' - 222 | primary '.' IDENTIFIER '(' ')' - 223 | primary '.' IDENTIFIER '(' argumentlist ')' + 221 methodinvocation : name '(' ')' + 222 | name '(' argumentlist ')' + 223 | primary '.' IDENTIFIER '(' ')' + 224 | primary '.' IDENTIFIER '(' argumentlist ')' - 224 classinstancecreationexpression : NEW classtype '(' ')' - 225 | NEW classtype '(' argumentlist ')' + 225 classinstancecreationexpression : NEW classtype '(' ')' + 226 | NEW classtype '(' argumentlist ')' - 226 conditionalandexpression : inclusiveorexpression - 227 | conditionalandexpression LOGICALAND inclusiveorexpression + 227 conditionalandexpression : inclusiveorexpression + 228 | conditionalandexpression LOGICALAND inclusiveorexpression - 228 unaryexpression : preincrementexpression - 229 | predecrementexpression - 230 | '+' unaryexpression - 231 | '-' unaryexpression - 232 | unaryexpressionnotplusminus + 229 unaryexpression : preincrementexpression + 230 | predecrementexpression + 231 | '+' unaryexpression + 232 | '-' unaryexpression + 233 | unaryexpressionnotplusminus - 233 postfixexpression : primary - 234 | name - 235 | postincrementexpression - 236 | postdecrementexpression + 234 postfixexpression : primary + 235 | name + 236 | postincrementexpression + 237 | postdecrementexpression - 237 primary : primarynonewarray + 238 primary : primarynonewarray - 238 inclusiveorexpression : exclusiveorexpression - 239 | inclusiveorexpression '|' exclusiveorexpression + 239 inclusiveorexpression : exclusiveorexpression + 240 | inclusiveorexpression '|' exclusiveorexpression - 240 primarynonewarray : literal - 241 | THIS - 242 | methodinvocation - 243 | lambdaexpression + 241 primarynonewarray : literal + 242 | THIS + 243 | methodinvocation + 244 | lambdaexpression - 244 unaryexpressionnotplusminus : postfixexpression - 245 | '!' unaryexpression - 246 | castexpression + 245 unaryexpressionnotplusminus : postfixexpression + 246 | '!' unaryexpression + 247 | castexpression - 247 exclusiveorexpression : andexpression - 248 | exclusiveorexpression '^' andexpression + 248 exclusiveorexpression : andexpression + 249 | exclusiveorexpression '^' andexpression - 249 literal : INTLITERAL - 250 | BOOLLITERAL - 251 | CHARLITERAL - 252 | STRINGLITERAL - 253 | LONGLITERAL - 254 | FLOATLITERAL - 255 | DOUBLELITERAL - 256 | JNULL + 250 literal : INTLITERAL + 251 | BOOLLITERAL + 252 | CHARLITERAL + 253 | STRINGLITERAL + 254 | LONGLITERAL + 255 | FLOATLITERAL + 256 | DOUBLELITERAL + 257 | JNULL - 257 castexpression : '(' primitivetype ')' unaryexpression + 258 castexpression : '(' primitivetype ')' unaryexpression - 258 andexpression : equalityexpression - 259 | andexpression '&' equalityexpression + 259 andexpression : equalityexpression + 260 | andexpression '&' equalityexpression - 260 equalityexpression : relationalexpression - 261 | equalityexpression EQUAL relationalexpression - 262 | equalityexpression NOTEQUAL relationalexpression + 261 equalityexpression : relationalexpression + 262 | equalityexpression EQUAL relationalexpression + 263 | equalityexpression NOTEQUAL relationalexpression - 263 relationalexpression : shiftexpression - 264 | relationalexpression '<' shiftexpression - 265 | relationalexpression '>' shiftexpression - 266 | relationalexpression LESSEQUAL shiftexpression - 267 | relationalexpression GREATEREQUAL shiftexpression - 268 | relationalexpression INSTANCEOF referencetype + 264 relationalexpression : shiftexpression + 265 | relationalexpression '<' shiftexpression + 266 | relationalexpression '>' shiftexpression + 267 | relationalexpression LESSEQUAL shiftexpression + 268 | relationalexpression GREATEREQUAL shiftexpression + 269 | relationalexpression INSTANCEOF referencetype - 269 shiftexpression : additiveexpression + 270 shiftexpression : additiveexpression - 270 additiveexpression : multiplicativeexpression - 271 | additiveexpression '+' multiplicativeexpression - 272 | additiveexpression '-' multiplicativeexpression + 271 additiveexpression : multiplicativeexpression + 272 | additiveexpression '+' multiplicativeexpression + 273 | additiveexpression '-' multiplicativeexpression - 273 multiplicativeexpression : unaryexpression - 274 | multiplicativeexpression '*' unaryexpression - 275 | multiplicativeexpression '/' unaryexpression - 276 | multiplicativeexpression '%' unaryexpression + 274 multiplicativeexpression : unaryexpression + 275 | multiplicativeexpression '*' unaryexpression + 276 | multiplicativeexpression '/' unaryexpression + 277 | multiplicativeexpression '%' unaryexpression state 0 $accept : . compilationunit $end (0) @@ -694,29 +695,29 @@ state 26 state 27 - boundedMethodParameter : IDENTIFIER . (97) - boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (98) + boundedMethodParameter : IDENTIFIER . (98) + boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (99) EXTENDS shift 74 - ',' reduce 97 - '>' reduce 97 + ',' reduce 98 + '>' reduce 98 state 28 - boundedClassParameter : boundedMethodParameter . (94) - - . reduce 94 - - -state 29 - boundedClassParameters : boundedClassParameter . (95) + boundedClassParameter : boundedMethodParameter . (95) . reduce 95 +state 29 + boundedClassParameters : boundedClassParameter . (96) + + . reduce 96 + + state 30 classidentifier : IDENTIFIER '<' boundedClassParameters . '>' (26) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (96) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (97) ',' shift 75 '>' shift 76 @@ -802,21 +803,21 @@ state 36 state 37 - primitivetype : BOOLEAN . (141) + primitivetype : BOOLEAN . (142) - . reduce 141 + . reduce 142 state 38 - integraltype : CHAR . (163) + integraltype : CHAR . (164) - . reduce 163 + . reduce 164 state 39 - integraltype : INT . (162) + integraltype : INT . (163) - . reduce 162 + . reduce 163 state 40 @@ -841,8 +842,8 @@ state 40 state 41 - methodheader : VOID . methoddeclarator (111) - methodheader : VOID . methoddeclarator throws (113) + methodheader : VOID . methoddeclarator (112) + methodheader : VOID . methoddeclarator throws (114) IDENTIFIER shift 81 . error @@ -853,25 +854,28 @@ state 41 42: shift/reduce conflict (shift 83, reduce 14) on '(' state 42 simplename : IDENTIFIER . (14) - methoddeclarator : IDENTIFIER . '(' ')' (139) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (140) - variabledeclaratorid : IDENTIFIER . (152) + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) + variabledeclaratorid : IDENTIFIER . (153) '(' shift 83 + BOOLEAN reduce 14 + CHAR reduce 14 + INT reduce 14 IDENTIFIER reduce 14 - ',' reduce 152 - ';' reduce 152 + ',' reduce 153 + ';' reduce 153 '<' reduce 14 - '=' reduce 152 + '=' reduce 153 '[' reduce 14 state 43 - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (103) - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (108) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (115) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (117) - methodheader : '<' . boundedMethodParameters '>' methoddeclarator (120) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (104) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (109) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (116) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (118) + methodheader : '<' . boundedMethodParameters '>' methoddeclarator (121) IDENTIFIER shift 27 . error @@ -893,7 +897,7 @@ state 45 state 46 - methoddeclaration : methodheader . methodbody (84) + methoddeclaration : methodheader . methodbody (85) '{' shift 79 . error @@ -909,11 +913,11 @@ state 47 state 48 - methodheader : methoddeclarator . (119) - methodheader : methoddeclarator . throws (122) + methodheader : methoddeclarator . (120) + methodheader : methoddeclarator . throws (123) THROWS shift 88 - '{' reduce 119 + '{' reduce 120 throws goto 89 @@ -974,8 +978,8 @@ state 51 state 52 - fielddeclaration : variabledeclarators . ';' (81) - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) + fielddeclaration : variabledeclarators . ';' (82) + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) ',' shift 92 ';' shift 93 @@ -983,35 +987,38 @@ state 52 state 53 - fielddeclaration : fielddeclarator . ';' (79) + fielddeclaration : fielddeclarator . ';' (80) ';' shift 94 . error state 54 - fielddeclarator : variabledeclarator . '=' expression (78) - variabledeclarators : variabledeclarator . (128) + fielddeclarator : variabledeclarator . '=' expression (79) + variabledeclarators : variabledeclarator . (129) '=' shift 95 - ',' reduce 128 - ';' reduce 128 + ',' reduce 129 + ';' reduce 129 state 55 - variabledeclarator : variabledeclaratorid . (144) + variabledeclarator : variabledeclaratorid . (145) - . reduce 144 + . reduce 145 state 56 classorinterfacetype : simplename . parameter (66) - constructordeclarator : simplename . '(' ')' (87) - constructordeclarator : simplename . '(' formalparameterlist ')' (88) + constructordeclarator : simplename . '(' ')' (88) + constructordeclarator : simplename . '(' formalparameterlist ')' (89) parameter : . (67) '<' shift 77 '(' shift 96 + BOOLEAN reduce 67 + CHAR reduce 67 + INT reduce 67 IDENTIFIER reduce 67 '[' reduce 67 @@ -1019,69 +1026,86 @@ state 56 state 57 - referencetype : classorinterfacetype . (143) + referencetype : classorinterfacetype . (144) + + . reduce 144 + + +state 58 + numerictype : integraltype . (152) + + . reduce 152 + + +state 59 + primitivetype : numerictype . (143) . reduce 143 -state 58 - numerictype : integraltype . (151) - - . reduce 151 - - -state 59 - primitivetype : numerictype . (142) - - . reduce 142 - - state 60 - type : primitivetype . (124) - type : primitivetype . '[' ']' (125) + type : primitivetype . (125) + type : primitivetype . '[' ']' (126) '[' shift 97 - IDENTIFIER reduce 124 + BOOLEAN reduce 125 + CHAR reduce 125 + INT reduce 125 + IDENTIFIER reduce 125 state 61 - type : referencetype . (126) - type : referencetype . '[' ']' (127) + type : referencetype . (127) + type : referencetype . '[' ']' (128) '[' shift 98 - IDENTIFIER reduce 126 + BOOLEAN reduce 127 + CHAR reduce 127 + INT reduce 127 + IDENTIFIER reduce 127 state 62 - fielddeclaration : type . fielddeclarator (80) - fielddeclaration : type . variabledeclarators ';' (82) - methodheader : type . methoddeclarator (104) - methodheader : type . methoddeclarator throws (107) + fielddeclarator : type . variabledeclarator '=' expression (78) + fielddeclaration : type . fielddeclarator (81) + fielddeclaration : type . variabledeclarators ';' (83) + methodheader : type . methoddeclarator (105) + methodheader : type . methoddeclarator throws (108) - IDENTIFIER shift 99 + BOOLEAN shift 37 + CHAR shift 38 + INT shift 39 + IDENTIFIER shift 42 . error - methoddeclarator goto 100 - variabledeclarators goto 101 - fielddeclarator goto 102 - variabledeclarator goto 54 + methoddeclarator goto 99 + variabledeclarators goto 100 + fielddeclarator goto 101 + variabledeclarator goto 102 variabledeclaratorid goto 55 + simplename goto 32 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 103 state 63 modifiers : modifiers . modifier (43) constructordeclaration : modifiers . constructordeclarator constructorbody (75) - fielddeclaration : modifiers . type variabledeclarators ';' (83) - methodheader : modifiers . type methoddeclarator (105) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (106) - methodheader : modifiers . type methoddeclarator throws (109) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (110) - methodheader : modifiers . VOID methoddeclarator (112) - methodheader : modifiers . VOID methoddeclarator throws (114) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (116) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (118) - methodheader : modifiers . methoddeclarator (121) - methodheader : modifiers . methoddeclarator throws (123) + fielddeclaration : modifiers . type variabledeclarators ';' (84) + methodheader : modifiers . type methoddeclarator (106) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (107) + methodheader : modifiers . type methoddeclarator throws (110) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (111) + methodheader : modifiers . VOID methoddeclarator (113) + methodheader : modifiers . VOID methoddeclarator throws (115) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (117) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (119) + methodheader : modifiers . methoddeclarator (122) + methodheader : modifiers . methoddeclarator throws (124) ABSTRACT shift 1 BOOLEAN shift 37 @@ -1092,21 +1116,21 @@ state 63 PROTECTED shift 5 PUBLIC shift 6 STATIC shift 7 - VOID shift 103 - IDENTIFIER shift 104 - '<' shift 105 + VOID shift 104 + IDENTIFIER shift 105 + '<' shift 106 . error - methoddeclarator goto 106 + methoddeclarator goto 107 simplename goto 56 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 107 + type goto 108 modifier goto 17 - constructordeclarator goto 108 + constructordeclarator goto 109 state 64 @@ -1118,10 +1142,10 @@ state 64 state 65 constructordeclaration : constructordeclarator . constructorbody (74) - '{' shift 109 + '{' shift 110 . error - constructorbody goto 110 + constructorbody goto 111 state 66 @@ -1144,7 +1168,7 @@ state 68 '{' shift 22 . error - classbody goto 111 + classbody goto 112 state 69 @@ -1155,7 +1179,7 @@ state 69 simplename goto 32 classorinterfacetype goto 35 - interfacetype goto 112 + interfacetype goto 113 state 70 @@ -1178,8 +1202,8 @@ state 72 '{' shift 22 . error - classbody goto 113 - interfaces goto 114 + classbody goto 114 + interfaces goto 115 state 73 @@ -1190,29 +1214,29 @@ state 73 '{' shift 22 . error - classbody goto 115 + classbody goto 116 state 74 - boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (98) + boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (99) IDENTIFIER shift 31 . error simplename goto 32 classorinterfacetype goto 57 - referencetype goto 116 - boundedclassidentifierlist goto 117 + referencetype goto 117 + boundedclassidentifierlist goto 118 state 75 - boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (96) + boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (97) IDENTIFIER shift 27 . error boundedMethodParameter goto 28 - boundedClassParameter goto 118 + boundedClassParameter goto 119 state 76 @@ -1224,12 +1248,12 @@ state 76 state 77 parameter : '<' . paralist '>' (68) - IDENTIFIER shift 119 - '?' shift 120 + IDENTIFIER shift 120 + '?' shift 121 . error - paralist goto 121 - wildcardparameter goto 122 + paralist goto 122 + wildcardparameter goto 123 state 78 @@ -1239,74 +1263,74 @@ state 78 state 79 - block : '{' . '}' (85) - block : '{' . blockstatements '}' (86) + block : '{' . '}' (86) + block : '{' . blockstatements '}' (87) BOOLEAN shift 37 CHAR shift 38 - FOR shift 123 - IF shift 124 + FOR shift 124 + IF shift 125 INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 137 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 '{' shift 79 - '}' shift 140 - '(' shift 141 + '}' shift 141 + '(' shift 142 . error - variabledeclarators goto 142 - variabledeclarator goto 143 + variabledeclarators goto 143 + variabledeclarator goto 144 variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 + simplename goto 145 + qualifiedname goto 146 + name goto 147 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 147 - block goto 148 - blockstatements goto 149 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 165 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 + type goto 148 + block goto 149 + blockstatements goto 150 + localvariabledeclarationstatement goto 151 + localvariabledeclaration goto 152 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + blockstatement goto 166 + statement goto 167 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 state 80 @@ -1316,93 +1340,93 @@ state 80 state 81 - methoddeclarator : IDENTIFIER . '(' ')' (139) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (140) + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) '(' shift 83 . error state 82 - methodheader : VOID methoddeclarator . (111) - methodheader : VOID methoddeclarator . throws (113) + methodheader : VOID methoddeclarator . (112) + methodheader : VOID methoddeclarator . throws (114) THROWS shift 88 - '{' reduce 111 + '{' reduce 112 - throws goto 176 + throws goto 177 state 83 - methoddeclarator : IDENTIFIER '(' . ')' (139) - methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (140) + methoddeclarator : IDENTIFIER '(' . ')' (140) + methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (141) BOOLEAN shift 37 CHAR shift 38 INT shift 39 - IDENTIFIER shift 136 - ')' shift 177 + IDENTIFIER shift 137 + ')' shift 178 . error - variabledeclaratorid goto 178 + variabledeclaratorid goto 179 simplename goto 32 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 179 - formalparameter goto 180 - formalparameterlist goto 181 + type goto 180 + formalparameter goto 181 + formalparameterlist goto 182 state 84 - boundedMethodParameters : boundedMethodParameter . (101) + boundedMethodParameters : boundedMethodParameter . (102) - . reduce 101 + . reduce 102 state 85 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (102) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (103) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (108) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (115) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (117) - methodheader : '<' boundedMethodParameters . '>' methoddeclarator (120) + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (103) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (104) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (109) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (116) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (118) + methodheader : '<' boundedMethodParameters . '>' methoddeclarator (121) - ',' shift 182 - '>' shift 183 + ',' shift 183 + '>' shift 184 . error state 86 - methodbody : block . (130) + methodbody : block . (131) - . reduce 130 + . reduce 131 state 87 - methoddeclaration : methodheader methodbody . (84) + methoddeclaration : methodheader methodbody . (85) - . reduce 84 + . reduce 85 state 88 - throws : THROWS . classtypelist (93) + throws : THROWS . classtypelist (94) IDENTIFIER shift 31 . error simplename goto 32 - classtype goto 184 + classtype goto 185 classorinterfacetype goto 34 - classtypelist goto 185 + classtypelist goto 186 state 89 - methodheader : methoddeclarator throws . (122) + methodheader : methoddeclarator throws . (123) - . reduce 122 + . reduce 123 state 90 @@ -1418,172 +1442,181 @@ state 91 state 92 - variabledeclarators : variabledeclarators ',' . variabledeclarator (129) + variabledeclarators : variabledeclarators ',' . variabledeclarator (130) - IDENTIFIER shift 186 + IDENTIFIER shift 187 . error - variabledeclarator goto 187 + variabledeclarator goto 188 variabledeclaratorid goto 55 state 93 - fielddeclaration : variabledeclarators ';' . (81) + fielddeclaration : variabledeclarators ';' . (82) - . reduce 81 + . reduce 82 state 94 - fielddeclaration : fielddeclarator ';' . (79) + fielddeclaration : fielddeclarator ';' . (80) - . reduce 79 + . reduce 80 state 95 - fielddeclarator : variabledeclarator '=' . expression (78) + fielddeclarator : variabledeclarator '=' . expression (79) - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 209 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 210 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 state 96 - constructordeclarator : simplename '(' . ')' (87) - constructordeclarator : simplename '(' . formalparameterlist ')' (88) + constructordeclarator : simplename '(' . ')' (88) + constructordeclarator : simplename '(' . formalparameterlist ')' (89) BOOLEAN shift 37 CHAR shift 38 INT shift 39 - IDENTIFIER shift 136 - ')' shift 218 + IDENTIFIER shift 137 + ')' shift 219 . error - variabledeclaratorid goto 178 + variabledeclaratorid goto 179 simplename goto 32 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 179 - formalparameter goto 180 - formalparameterlist goto 219 + type goto 180 + formalparameter goto 181 + formalparameterlist goto 220 state 97 - type : primitivetype '[' . ']' (125) - - ']' shift 220 - . error - - -state 98 - type : referencetype '[' . ']' (127) + type : primitivetype '[' . ']' (126) ']' shift 221 . error -state 99 - methoddeclarator : IDENTIFIER . '(' ')' (139) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (140) - variabledeclaratorid : IDENTIFIER . (152) +state 98 + type : referencetype '[' . ']' (128) - '(' shift 83 - ',' reduce 152 - ';' reduce 152 - '=' reduce 152 - - -state 100 - methodheader : type methoddeclarator . (104) - methodheader : type methoddeclarator . throws (107) - - THROWS shift 88 - '{' reduce 104 - - throws goto 222 - - -state 101 - fielddeclaration : type variabledeclarators . ';' (82) - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - - ',' shift 92 - ';' shift 223 + ']' shift 222 . error -state 102 - fielddeclaration : type fielddeclarator . (80) +state 99 + methodheader : type methoddeclarator . (105) + methodheader : type methoddeclarator . throws (108) - . reduce 80 + THROWS shift 88 + '{' reduce 105 + + throws goto 223 + + +state 100 + fielddeclaration : type variabledeclarators . ';' (83) + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) + + ',' shift 92 + ';' shift 224 + . error + + +state 101 + fielddeclaration : type fielddeclarator . (81) + + . reduce 81 + + +state 102 + fielddeclarator : type variabledeclarator . '=' expression (78) + fielddeclarator : variabledeclarator . '=' expression (79) + variabledeclarators : variabledeclarator . (129) + + '=' shift 225 + ',' reduce 129 + ';' reduce 129 state 103 - methodheader : modifiers VOID . methoddeclarator (112) - methodheader : modifiers VOID . methoddeclarator throws (114) + fielddeclarator : type . variabledeclarator '=' expression (78) + + IDENTIFIER shift 187 + . error + + variabledeclarator goto 226 + variabledeclaratorid goto 55 + + +state 104 + methodheader : modifiers VOID . methoddeclarator (113) + methodheader : modifiers VOID . methoddeclarator throws (115) IDENTIFIER shift 81 . error - methoddeclarator goto 224 + methoddeclarator goto 227 -104: shift/reduce conflict (shift 83, reduce 14) on '(' -state 104 +105: shift/reduce conflict (shift 83, reduce 14) on '(' +state 105 simplename : IDENTIFIER . (14) - methoddeclarator : IDENTIFIER . '(' ')' (139) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (140) + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) '(' shift 83 IDENTIFIER reduce 14 @@ -1591,151 +1624,151 @@ state 104 '[' reduce 14 -state 105 - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (106) - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (110) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (116) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (118) +state 106 + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (107) + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (111) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (117) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (119) IDENTIFIER shift 27 . error boundedMethodParameter goto 84 - boundedMethodParameters goto 225 - - -state 106 - methodheader : modifiers methoddeclarator . (121) - methodheader : modifiers methoddeclarator . throws (123) - - THROWS shift 88 - '{' reduce 121 - - throws goto 226 + boundedMethodParameters goto 228 state 107 - fielddeclaration : modifiers type . variabledeclarators ';' (83) - methodheader : modifiers type . methoddeclarator (105) - methodheader : modifiers type . methoddeclarator throws (109) + methodheader : modifiers methoddeclarator . (122) + methodheader : modifiers methoddeclarator . throws (124) - IDENTIFIER shift 99 - . error + THROWS shift 88 + '{' reduce 122 - methoddeclarator goto 227 - variabledeclarators goto 228 - variabledeclarator goto 143 - variabledeclaratorid goto 55 + throws goto 229 state 108 - constructordeclaration : modifiers constructordeclarator . constructorbody (75) + fielddeclaration : modifiers type . variabledeclarators ';' (84) + methodheader : modifiers type . methoddeclarator (106) + methodheader : modifiers type . methoddeclarator throws (110) - '{' shift 109 + IDENTIFIER shift 230 . error - constructorbody goto 229 + methoddeclarator goto 231 + variabledeclarators goto 232 + variabledeclarator goto 144 + variabledeclaratorid goto 55 state 109 - constructorbody : '{' . '}' (89) - constructorbody : '{' . explicitconstructorinvocation '}' (90) - constructorbody : '{' . blockstatements '}' (91) - constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (92) + constructordeclaration : modifiers constructordeclarator . constructorbody (75) + + '{' shift 110 + . error + + constructorbody goto 233 + + +state 110 + constructorbody : '{' . '}' (90) + constructorbody : '{' . explicitconstructorinvocation '}' (91) + constructorbody : '{' . blockstatements '}' (92) + constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (93) BOOLEAN shift 37 CHAR shift 38 - FOR shift 123 - IF shift 124 + FOR shift 124 + IF shift 125 INT shift 39 - RETURN shift 125 - THIS shift 230 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 + RETURN shift 126 + THIS shift 234 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 137 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 '{' shift 79 - '}' shift 231 - '(' shift 141 + '}' shift 235 + '(' shift 142 . error - variabledeclarators goto 142 - variabledeclarator goto 143 + variabledeclarators goto 143 + variabledeclarator goto 144 variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 + simplename goto 145 + qualifiedname goto 146 + name goto 147 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 147 - block goto 148 - blockstatements goto 232 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 165 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - explicitconstructorinvocation goto 233 + type goto 148 + block goto 149 + blockstatements goto 236 + localvariabledeclarationstatement goto 151 + localvariabledeclaration goto 152 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + blockstatement goto 166 + statement goto 167 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + explicitconstructorinvocation goto 237 -state 110 +state 111 constructordeclaration : constructordeclarator constructorbody . (74) . reduce 74 -state 111 +state 112 classdeclaration : CLASS classidentifier super interfaces classbody . (21) . reduce 21 -state 112 +state 113 interfaces : interfaces ',' interfacetype . (46) . reduce 46 -state 113 +state 114 classdeclaration : modifiers CLASS classidentifier super classbody . (18) . reduce 18 -state 114 +state 115 classdeclaration : modifiers CLASS classidentifier super interfaces . classbody (22) interfaces : interfaces . ',' interfacetype (46) @@ -1743,218 +1776,218 @@ state 114 '{' shift 22 . error - classbody goto 234 + classbody goto 238 -state 115 +state 116 classdeclaration : modifiers CLASS classidentifier interfaces classbody . (20) . reduce 20 -state 116 - boundedclassidentifierlist : referencetype . (99) - - . reduce 99 - - state 117 - boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (98) - boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (100) + boundedclassidentifierlist : referencetype . (100) - '&' shift 235 - ',' reduce 98 - '>' reduce 98 + . reduce 100 state 118 - boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (96) + boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (99) + boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (101) - . reduce 96 + '&' shift 239 + ',' reduce 99 + '>' reduce 99 state 119 + boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (97) + + . reduce 97 + + +state 120 paralist : IDENTIFIER . (31) paralist : IDENTIFIER . '<' paralist '>' (32) - '<' shift 236 + '<' shift 240 ',' reduce 31 '>' reduce 31 -state 120 +state 121 wildcardparameter : '?' . (37) wildcardparameter : '?' . EXTENDS referencetype (38) wildcardparameter : '?' . SUPER referencetype (39) - EXTENDS shift 237 - SUPER shift 238 + EXTENDS shift 241 + SUPER shift 242 ',' reduce 37 '>' reduce 37 -state 121 +state 122 paralist : paralist . ',' IDENTIFIER (34) paralist : paralist . ',' IDENTIFIER '<' paralist '>' (35) paralist : paralist . ',' wildcardparameter (36) parameter : '<' paralist . '>' (68) - ',' shift 239 - '>' shift 240 + ',' shift 243 + '>' shift 244 . error -state 122 +state 123 paralist : wildcardparameter . (33) . reduce 33 -state 123 - forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (173) - forstatement : FOR . '(' expression ';' expression ';' ')' statement (174) - forstatement : FOR . '(' expression ';' ';' expression ')' statement (175) - forstatement : FOR . '(' ';' expression ';' expression ')' statement (176) - forstatement : FOR . '(' expression ';' ';' ')' statement (177) - forstatement : FOR . '(' ';' expression ';' ')' statement (178) - forstatement : FOR . '(' ';' ';' expression ')' statement (179) - forstatement : FOR . '(' ';' ';' ')' statement (180) - - '(' shift 241 - . error - - state 124 - ifthenstatement : IF . '(' expression ')' statement (170) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (171) - - '(' shift 242 - . error - - -state 125 - returnstatement : RETURN . ';' (185) - returnstatement : RETURN . expression ';' (186) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 243 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 244 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 126 - primarynonewarray : THIS . (241) - - . reduce 241 - - -state 127 - whilestatement : WHILE . '(' expression ')' statement (172) + forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (174) + forstatement : FOR . '(' expression ';' expression ';' ')' statement (175) + forstatement : FOR . '(' expression ';' ';' expression ')' statement (176) + forstatement : FOR . '(' ';' expression ';' expression ')' statement (177) + forstatement : FOR . '(' expression ';' ';' ')' statement (178) + forstatement : FOR . '(' ';' expression ';' ')' statement (179) + forstatement : FOR . '(' ';' ';' expression ')' statement (180) + forstatement : FOR . '(' ';' ';' ')' statement (181) '(' shift 245 . error -state 128 - literal : INTLITERAL . (249) +state 125 + ifthenstatement : IF . '(' expression ')' statement (171) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (172) - . reduce 249 + '(' shift 246 + . error + + +state 126 + returnstatement : RETURN . ';' (186) + returnstatement : RETURN . expression ';' (187) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 247 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 248 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 127 + primarynonewarray : THIS . (242) + + . reduce 242 + + +state 128 + whilestatement : WHILE . '(' expression ')' statement (173) + + '(' shift 249 + . error state 129 - literal : LONGLITERAL . (253) - - . reduce 253 - - -state 130 - literal : DOUBLELITERAL . (255) - - . reduce 255 - - -state 131 - literal : FLOATLITERAL . (254) - - . reduce 254 - - -state 132 - literal : BOOLLITERAL . (250) + literal : INTLITERAL . (250) . reduce 250 -state 133 - literal : JNULL . (256) +state 130 + literal : LONGLITERAL . (254) + + . reduce 254 + + +state 131 + literal : DOUBLELITERAL . (256) . reduce 256 -state 134 - literal : CHARLITERAL . (251) +state 132 + literal : FLOATLITERAL . (255) + + . reduce 255 + + +state 133 + literal : BOOLLITERAL . (251) . reduce 251 +state 134 + literal : JNULL . (257) + + . reduce 257 + + state 135 - literal : STRINGLITERAL . (252) + literal : CHARLITERAL . (252) . reduce 252 state 136 + literal : STRINGLITERAL . (253) + + . reduce 253 + + +state 137 simplename : IDENTIFIER . (14) - variabledeclaratorid : IDENTIFIER . (152) + variabledeclaratorid : IDENTIFIER . (153) IDENTIFIER reduce 14 INCREMENT reduce 14 @@ -1964,146 +1997,146 @@ state 136 TIMESEQUAL reduce 14 DIVIDEEQUAL reduce 14 MODULOEQUAL reduce 14 - ',' reduce 152 - ';' reduce 152 + ',' reduce 153 + ';' reduce 153 '.' reduce 14 '<' reduce 14 '=' reduce 14 '(' reduce 14 - ')' reduce 152 + ')' reduce 153 '[' reduce 14 -state 137 - preincrementexpression : INCREMENT . unaryexpression (216) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 247 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - state 138 - predecrementexpression : DECREMENT . unaryexpression (217) + preincrementexpression : INCREMENT . unaryexpression (217) - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 . error - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 248 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 251 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 state 139 - emptystatement : ';' . (183) + predecrementexpression : DECREMENT . unaryexpression (218) - . reduce 183 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 252 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 state 140 - block : '{' '}' . (85) + emptystatement : ';' . (184) - . reduce 85 + . reduce 184 state 141 - lambdaexpressionparameter : '(' . ')' (206) - lambdaexpressionparameter : '(' . formalparameterlist ')' (207) + block : '{' '}' . (86) + + . reduce 86 + + +state 142 + lambdaexpressionparameter : '(' . ')' (207) + lambdaexpressionparameter : '(' . formalparameterlist ')' (208) BOOLEAN shift 37 CHAR shift 38 INT shift 39 - IDENTIFIER shift 136 - ')' shift 249 + IDENTIFIER shift 137 + ')' shift 253 . error - variabledeclaratorid goto 178 + variabledeclaratorid goto 179 simplename goto 32 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 179 - formalparameter goto 180 - formalparameterlist goto 250 - - -state 142 - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - localvariabledeclaration : variabledeclarators . (165) - - ',' shift 92 - ';' reduce 165 + type goto 180 + formalparameter goto 181 + formalparameterlist goto 254 state 143 - variabledeclarators : variabledeclarator . (128) + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) + localvariabledeclaration : variabledeclarators . (166) - . reduce 128 + ',' shift 92 + ';' reduce 166 state 144 + variabledeclarators : variabledeclarator . (129) + + . reduce 129 + + +state 145 name : simplename . (9) classorinterfacetype : simplename . parameter (66) parameter : . (67) @@ -2125,22 +2158,192 @@ state 144 parameter goto 78 -state 145 +state 146 name : qualifiedname . (8) . reduce 8 -146: shift/reduce conflict (shift 251, reduce 234) on '.' -state 146 +147: shift/reduce conflict (shift 255, reduce 235) on '.' +state 147 qualifiedname : name . '.' IDENTIFIER (11) - lefthandside : name . (209) - methodinvocation : name . '(' ')' (220) - methodinvocation : name . '(' argumentlist ')' (221) - postfixexpression : name . (234) + lefthandside : name . (210) + methodinvocation : name . '(' ')' (221) + methodinvocation : name . '(' argumentlist ')' (222) + postfixexpression : name . (235) - '.' shift 251 - '(' shift 252 + '.' shift 255 + '(' shift 256 + ABSTRACT reduce 235 + BOOLEAN reduce 235 + CHAR reduce 235 + FINAL reduce 235 + INSTANCEOF reduce 235 + INT reduce 235 + PRIVATE reduce 235 + PROTECTED reduce 235 + PUBLIC reduce 235 + STATIC reduce 235 + VOID reduce 235 + IDENTIFIER reduce 235 + EQUAL reduce 235 + LESSEQUAL reduce 235 + GREATEREQUAL reduce 235 + NOTEQUAL reduce 235 + LOGICALOR reduce 235 + LOGICALAND reduce 235 + INCREMENT reduce 235 + DECREMENT reduce 235 + PLUSEQUAL reduce 210 + MINUSEQUAL reduce 210 + TIMESEQUAL reduce 210 + DIVIDEEQUAL reduce 210 + MODULOEQUAL reduce 210 + ',' reduce 235 + ';' reduce 235 + '*' reduce 235 + '<' reduce 235 + '>' reduce 235 + '}' reduce 235 + '=' reduce 210 + ')' reduce 235 + '&' reduce 235 + '+' reduce 235 + '-' reduce 235 + '|' reduce 235 + '^' reduce 235 + '/' reduce 235 + '%' reduce 235 + + +state 148 + localvariabledeclaration : type . variabledeclarators (165) + + IDENTIFIER shift 187 + . error + + variabledeclarators goto 257 + variabledeclarator goto 144 + variabledeclaratorid goto 55 + + +state 149 + statementwithouttrailingsubstatement : block . (167) + + . reduce 167 + + +state 150 + block : '{' blockstatements . '}' (87) + blockstatements : blockstatements . blockstatement (133) + + BOOLEAN shift 37 + CHAR shift 38 + FOR shift 124 + IF shift 125 + INT shift 39 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 137 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '}' shift 258 + '(' shift 142 + . error + + variabledeclarators goto 143 + variabledeclarator goto 144 + variabledeclaratorid goto 55 + simplename goto 145 + qualifiedname goto 146 + name goto 147 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 148 + block goto 149 + localvariabledeclarationstatement goto 151 + localvariabledeclaration goto 152 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + blockstatement goto 259 + statement goto 167 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 151 + blockstatement : localvariabledeclarationstatement . (146) + + . reduce 146 + + +state 152 + localvariabledeclarationstatement : localvariabledeclaration . ';' (155) + + ';' shift 260 + . error + + +state 153 + lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (209) + + LAMBDAASSIGNMENT shift 261 + . error + + lambdaassignmentoperator goto 262 + + +state 154 + primarynonewarray : literal . (241) + + . reduce 241 + + +state 155 + primary : primarynonewarray . (238) + + . reduce 238 + + +156: shift/reduce conflict (shift 263, reduce 234) on '.' +state 156 + methodinvocation : primary . '.' IDENTIFIER '(' ')' (223) + methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (224) + postfixexpression : primary . (234) + + '.' shift 263 ABSTRACT reduce 234 BOOLEAN reduce 234 CHAR reduce 234 @@ -2161,18 +2364,12 @@ state 146 LOGICALAND reduce 234 INCREMENT reduce 234 DECREMENT reduce 234 - PLUSEQUAL reduce 209 - MINUSEQUAL reduce 209 - TIMESEQUAL reduce 209 - DIVIDEEQUAL reduce 209 - MODULOEQUAL reduce 209 ',' reduce 234 ';' reduce 234 '*' reduce 234 '<' reduce 234 '>' reduce 234 '}' reduce 234 - '=' reduce 209 ')' reduce 234 '&' reduce 234 '+' reduce 234 @@ -2183,216 +2380,43 @@ state 146 '%' reduce 234 -state 147 - localvariabledeclaration : type . variabledeclarators (164) - - IDENTIFIER shift 186 - . error - - variabledeclarators goto 253 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - - -state 148 - statementwithouttrailingsubstatement : block . (166) - - . reduce 166 - - -state 149 - block : '{' blockstatements . '}' (86) - blockstatements : blockstatements . blockstatement (132) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 254 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 255 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 150 - blockstatement : localvariabledeclarationstatement . (145) - - . reduce 145 - - -state 151 - localvariabledeclarationstatement : localvariabledeclaration . ';' (154) - - ';' shift 256 - . error - - -state 152 - lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (208) - - LAMBDAASSIGNMENT shift 257 - . error - - lambdaassignmentoperator goto 258 - - -state 153 - primarynonewarray : literal . (240) - - . reduce 240 - - -state 154 - primary : primarynonewarray . (237) - - . reduce 237 - - -155: shift/reduce conflict (shift 259, reduce 233) on '.' -state 155 - methodinvocation : primary . '.' IDENTIFIER '(' ')' (222) - methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (223) - postfixexpression : primary . (233) - - '.' shift 259 - ABSTRACT reduce 233 - BOOLEAN reduce 233 - CHAR reduce 233 - FINAL reduce 233 - INSTANCEOF reduce 233 - INT reduce 233 - PRIVATE reduce 233 - PROTECTED reduce 233 - PUBLIC reduce 233 - STATIC reduce 233 - VOID reduce 233 - IDENTIFIER reduce 233 - EQUAL reduce 233 - LESSEQUAL reduce 233 - GREATEREQUAL reduce 233 - NOTEQUAL reduce 233 - LOGICALOR reduce 233 - LOGICALAND reduce 233 - INCREMENT reduce 233 - DECREMENT reduce 233 - ',' reduce 233 - ';' reduce 233 - '*' reduce 233 - '<' reduce 233 - '>' reduce 233 - '}' reduce 233 - ')' reduce 233 - '&' reduce 233 - '+' reduce 233 - '-' reduce 233 - '|' reduce 233 - '^' reduce 233 - '/' reduce 233 - '%' reduce 233 - - -state 156 - postincrementexpression : postfixexpression . INCREMENT (218) - postdecrementexpression : postfixexpression . DECREMENT (219) - - INCREMENT shift 260 - DECREMENT shift 261 - . error - - state 157 - primarynonewarray : lambdaexpression . (243) + postincrementexpression : postfixexpression . INCREMENT (219) + postdecrementexpression : postfixexpression . DECREMENT (220) - . reduce 243 + INCREMENT shift 264 + DECREMENT shift 265 + . error state 158 - expressionstatement : statementexpression . ';' (184) + primarynonewarray : lambdaexpression . (244) - ';' shift 262 - . error + . reduce 244 state 159 - statementexpression : preincrementexpression . (194) + expressionstatement : statementexpression . ';' (185) - . reduce 194 + ';' shift 266 + . error state 160 - statementexpression : predecrementexpression . (195) + statementexpression : preincrementexpression . (195) . reduce 195 state 161 - statementexpression : postincrementexpression . (196) - postfixexpression : postincrementexpression . (235) + statementexpression : predecrementexpression . (196) - INCREMENT reduce 235 - DECREMENT reduce 235 - ';' reduce 196 + . reduce 196 state 162 - statementexpression : postdecrementexpression . (197) - postfixexpression : postdecrementexpression . (236) + statementexpression : postincrementexpression . (197) + postfixexpression : postincrementexpression . (236) INCREMENT reduce 236 DECREMENT reduce 236 @@ -2400,3118 +2424,436 @@ state 162 state 163 - statementwithouttrailingsubstatement : expressionstatement . (168) + statementexpression : postdecrementexpression . (198) + postfixexpression : postdecrementexpression . (237) - . reduce 168 + INCREMENT reduce 237 + DECREMENT reduce 237 + ';' reduce 198 state 164 - statement : statementwithouttrailingsubstatement . (155) + statementwithouttrailingsubstatement : expressionstatement . (169) - . reduce 155 + . reduce 169 state 165 - blockstatements : blockstatement . (131) + statement : statementwithouttrailingsubstatement . (156) - . reduce 131 + . reduce 156 state 166 - blockstatement : statement . (146) + blockstatements : blockstatement . (132) - . reduce 146 + . reduce 132 state 167 - statement : whilestatement . (158) + blockstatement : statement . (147) - . reduce 158 + . reduce 147 state 168 - statement : forstatement . (159) + statement : whilestatement . (159) . reduce 159 state 169 - statement : ifthenstatement . (156) + statement : forstatement . (160) - . reduce 156 + . reduce 160 state 170 - statement : ifthenelsestatement . (157) + statement : ifthenstatement . (157) . reduce 157 state 171 - statementwithouttrailingsubstatement : emptystatement . (167) + statement : ifthenelsestatement . (158) - . reduce 167 + . reduce 158 state 172 - statementwithouttrailingsubstatement : returnstatement . (169) + statementwithouttrailingsubstatement : emptystatement . (168) - . reduce 169 + . reduce 168 state 173 - statementexpression : assignment . (193) + statementwithouttrailingsubstatement : returnstatement . (170) - . reduce 193 + . reduce 170 state 174 - assignment : lefthandside . assignmentoperator assignmentexpression (191) - assignment : lefthandside . assignmentoperator classinstancecreationexpression (192) + statementexpression : assignment . (194) - PLUSEQUAL shift 263 - MINUSEQUAL shift 264 - TIMESEQUAL shift 265 - DIVIDEEQUAL shift 266 - MODULOEQUAL shift 267 - '=' shift 268 - . error - - assignmentoperator goto 269 + . reduce 194 state 175 - statementexpression : methodinvocation . (198) - primarynonewarray : methodinvocation . (242) + assignment : lefthandside . assignmentoperator assignmentexpression (192) + assignment : lefthandside . assignmentoperator classinstancecreationexpression (193) - INCREMENT reduce 242 - DECREMENT reduce 242 - ';' reduce 198 - '.' reduce 242 + PLUSEQUAL shift 267 + MINUSEQUAL shift 268 + TIMESEQUAL shift 269 + DIVIDEEQUAL shift 270 + MODULOEQUAL shift 271 + '=' shift 272 + . error + + assignmentoperator goto 273 state 176 - methodheader : VOID methoddeclarator throws . (113) + statementexpression : methodinvocation . (199) + primarynonewarray : methodinvocation . (243) - . reduce 113 + INCREMENT reduce 243 + DECREMENT reduce 243 + ';' reduce 199 + '.' reduce 243 state 177 - methoddeclarator : IDENTIFIER '(' ')' . (139) + methodheader : VOID methoddeclarator throws . (114) - . reduce 139 + . reduce 114 state 178 - formalparameter : variabledeclaratorid . (148) + methoddeclarator : IDENTIFIER '(' ')' . (140) - . reduce 148 + . reduce 140 state 179 - formalparameter : type . variabledeclaratorid (147) + formalparameter : variabledeclaratorid . (149) - IDENTIFIER shift 186 - . error - - variabledeclaratorid goto 270 + . reduce 149 state 180 - formalparameterlist : formalparameter . (133) + formalparameter : type . variabledeclaratorid (148) - . reduce 133 + IDENTIFIER shift 187 + . error + + variabledeclaratorid goto 274 state 181 - formalparameterlist : formalparameterlist . ',' formalparameter (134) - methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (140) + formalparameterlist : formalparameter . (134) - ',' shift 271 - ')' shift 272 - . error + . reduce 134 state 182 - boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (102) + formalparameterlist : formalparameterlist . ',' formalparameter (135) + methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (141) + + ',' shift 275 + ')' shift 276 + . error + + +state 183 + boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (103) IDENTIFIER shift 27 . error - boundedMethodParameter goto 273 + boundedMethodParameter goto 277 -state 183 - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (103) - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (108) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (115) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (117) - methodheader : '<' boundedMethodParameters '>' . methoddeclarator (120) +state 184 + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (104) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (109) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (116) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (118) + methodheader : '<' boundedMethodParameters '>' . methoddeclarator (121) BOOLEAN shift 37 CHAR shift 38 INT shift 39 - VOID shift 274 - IDENTIFIER shift 104 + VOID shift 278 + IDENTIFIER shift 105 . error - methoddeclarator goto 275 + methoddeclarator goto 279 simplename goto 32 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 primitivetype goto 60 referencetype goto 61 - type goto 276 - - -state 184 - classtypelist : classtype . (137) - - . reduce 137 + type goto 280 state 185 - throws : THROWS classtypelist . (93) - classtypelist : classtypelist . ',' classtype (138) + classtypelist : classtype . (138) - ',' shift 277 - '{' reduce 93 + . reduce 138 state 186 - variabledeclaratorid : IDENTIFIER . (152) + throws : THROWS classtypelist . (94) + classtypelist : classtypelist . ',' classtype (139) - . reduce 152 + ',' shift 281 + '{' reduce 94 state 187 - variabledeclarators : variabledeclarators ',' variabledeclarator . (129) + variabledeclaratorid : IDENTIFIER . (153) - . reduce 129 + . reduce 153 state 188 - classinstancecreationexpression : NEW . classtype '(' ')' (224) - classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (225) + variabledeclarators : variabledeclarators ',' variabledeclarator . (130) + + . reduce 130 + + +state 189 + classinstancecreationexpression : NEW . classtype '(' ')' (225) + classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (226) IDENTIFIER shift 31 . error simplename goto 32 - classtype goto 278 + classtype goto 282 classorinterfacetype goto 34 -state 189 - lambdaexpressionparameter : '(' . ')' (206) - lambdaexpressionparameter : '(' . formalparameterlist ')' (207) - castexpression : '(' . primitivetype ')' unaryexpression (257) +state 190 + lambdaexpressionparameter : '(' . ')' (207) + lambdaexpressionparameter : '(' . formalparameterlist ')' (208) + castexpression : '(' . primitivetype ')' unaryexpression (258) BOOLEAN shift 37 CHAR shift 38 INT shift 39 - IDENTIFIER shift 136 - ')' shift 249 + IDENTIFIER shift 137 + ')' shift 253 . error - variabledeclaratorid goto 178 + variabledeclaratorid goto 179 simplename goto 32 classorinterfacetype goto 57 integraltype goto 58 numerictype goto 59 - primitivetype goto 279 + primitivetype goto 283 referencetype goto 61 - type goto 179 - formalparameter goto 180 - formalparameterlist goto 250 - - -state 190 - unaryexpression : '+' . unaryexpression (230) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 280 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + type goto 180 + formalparameter goto 181 + formalparameterlist goto 254 state 191 - unaryexpression : '-' . unaryexpression (231) + unaryexpression : '+' . unaryexpression (231) - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 . error - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 281 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 284 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 state 192 - unaryexpressionnotplusminus : '!' . unaryexpression (245) + unaryexpression : '-' . unaryexpression (232) - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 . error - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 282 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 285 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 state 193 + unaryexpressionnotplusminus : '!' . unaryexpression (246) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 286 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 194 name : simplename . (9) . reduce 9 -194: shift/reduce conflict (shift 260, reduce 244) on INCREMENT -194: shift/reduce conflict (shift 261, reduce 244) on DECREMENT -state 194 - postincrementexpression : postfixexpression . INCREMENT (218) - postdecrementexpression : postfixexpression . DECREMENT (219) - unaryexpressionnotplusminus : postfixexpression . (244) - - INCREMENT shift 260 - DECREMENT shift 261 - ABSTRACT reduce 244 - BOOLEAN reduce 244 - CHAR reduce 244 - FINAL reduce 244 - INSTANCEOF reduce 244 - INT reduce 244 - PRIVATE reduce 244 - PROTECTED reduce 244 - PUBLIC reduce 244 - STATIC reduce 244 - VOID reduce 244 - IDENTIFIER reduce 244 - EQUAL reduce 244 - LESSEQUAL reduce 244 - GREATEREQUAL reduce 244 - NOTEQUAL reduce 244 - LOGICALOR reduce 244 - LOGICALAND reduce 244 - ',' reduce 244 - ';' reduce 244 - '.' reduce 244 - '*' reduce 244 - '<' reduce 244 - '>' reduce 244 - '}' reduce 244 - ')' reduce 244 - '&' reduce 244 - '+' reduce 244 - '-' reduce 244 - '|' reduce 244 - '^' reduce 244 - '/' reduce 244 - '%' reduce 244 - - +195: shift/reduce conflict (shift 264, reduce 245) on INCREMENT +195: shift/reduce conflict (shift 265, reduce 245) on DECREMENT state 195 - unaryexpression : unaryexpressionnotplusminus . (232) + postincrementexpression : postfixexpression . INCREMENT (219) + postdecrementexpression : postfixexpression . DECREMENT (220) + unaryexpressionnotplusminus : postfixexpression . (245) - . reduce 232 + INCREMENT shift 264 + DECREMENT shift 265 + ABSTRACT reduce 245 + BOOLEAN reduce 245 + CHAR reduce 245 + FINAL reduce 245 + INSTANCEOF reduce 245 + INT reduce 245 + PRIVATE reduce 245 + PROTECTED reduce 245 + PUBLIC reduce 245 + STATIC reduce 245 + VOID reduce 245 + IDENTIFIER reduce 245 + EQUAL reduce 245 + LESSEQUAL reduce 245 + GREATEREQUAL reduce 245 + NOTEQUAL reduce 245 + LOGICALOR reduce 245 + LOGICALAND reduce 245 + ',' reduce 245 + ';' reduce 245 + '.' reduce 245 + '*' reduce 245 + '<' reduce 245 + '>' reduce 245 + '}' reduce 245 + ')' reduce 245 + '&' reduce 245 + '+' reduce 245 + '-' reduce 245 + '|' reduce 245 + '^' reduce 245 + '/' reduce 245 + '%' reduce 245 state 196 - multiplicativeexpression : unaryexpression . (273) + unaryexpression : unaryexpressionnotplusminus . (233) - . reduce 273 + . reduce 233 -197: shift/reduce conflict (shift 283, reduce 270) on '*' -197: shift/reduce conflict (shift 284, reduce 270) on '/' -197: shift/reduce conflict (shift 285, reduce 270) on '%' state 197 - additiveexpression : multiplicativeexpression . (270) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (274) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (275) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (276) - - '*' shift 283 - '/' shift 284 - '%' shift 285 - ABSTRACT reduce 270 - BOOLEAN reduce 270 - CHAR reduce 270 - FINAL reduce 270 - INSTANCEOF reduce 270 - INT reduce 270 - PRIVATE reduce 270 - PROTECTED reduce 270 - PUBLIC reduce 270 - STATIC reduce 270 - VOID reduce 270 - IDENTIFIER reduce 270 - EQUAL reduce 270 - LESSEQUAL reduce 270 - GREATEREQUAL reduce 270 - NOTEQUAL reduce 270 - LOGICALOR reduce 270 - LOGICALAND reduce 270 - INCREMENT reduce 270 - DECREMENT reduce 270 - ',' reduce 270 - ';' reduce 270 - '.' reduce 270 - '<' reduce 270 - '>' reduce 270 - '}' reduce 270 - ')' reduce 270 - '&' reduce 270 - '+' reduce 270 - '-' reduce 270 - '|' reduce 270 - '^' reduce 270 - - -198: shift/reduce conflict (shift 286, reduce 269) on '+' -198: shift/reduce conflict (shift 287, reduce 269) on '-' -state 198 - shiftexpression : additiveexpression . (269) - additiveexpression : additiveexpression . '+' multiplicativeexpression (271) - additiveexpression : additiveexpression . '-' multiplicativeexpression (272) - - '+' shift 286 - '-' shift 287 - ABSTRACT reduce 269 - BOOLEAN reduce 269 - CHAR reduce 269 - FINAL reduce 269 - INSTANCEOF reduce 269 - INT reduce 269 - PRIVATE reduce 269 - PROTECTED reduce 269 - PUBLIC reduce 269 - STATIC reduce 269 - VOID reduce 269 - IDENTIFIER reduce 269 - EQUAL reduce 269 - LESSEQUAL reduce 269 - GREATEREQUAL reduce 269 - NOTEQUAL reduce 269 - LOGICALOR reduce 269 - LOGICALAND reduce 269 - INCREMENT reduce 269 - DECREMENT reduce 269 - ',' reduce 269 - ';' reduce 269 - '.' reduce 269 - '*' reduce 269 - '<' reduce 269 - '>' reduce 269 - '}' reduce 269 - ')' reduce 269 - '&' reduce 269 - '|' reduce 269 - '^' reduce 269 - '/' reduce 269 - '%' reduce 269 - - -state 199 - relationalexpression : shiftexpression . (263) - - . reduce 263 - - -200: shift/reduce conflict (shift 288, reduce 260) on INSTANCEOF -200: shift/reduce conflict (shift 289, reduce 260) on LESSEQUAL -200: shift/reduce conflict (shift 290, reduce 260) on GREATEREQUAL -200: shift/reduce conflict (shift 291, reduce 260) on '<' -200: shift/reduce conflict (shift 292, reduce 260) on '>' -state 200 - equalityexpression : relationalexpression . (260) - relationalexpression : relationalexpression . '<' shiftexpression (264) - relationalexpression : relationalexpression . '>' shiftexpression (265) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (266) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (267) - relationalexpression : relationalexpression . INSTANCEOF referencetype (268) - - INSTANCEOF shift 288 - LESSEQUAL shift 289 - GREATEREQUAL shift 290 - '<' shift 291 - '>' shift 292 - ABSTRACT reduce 260 - BOOLEAN reduce 260 - CHAR reduce 260 - FINAL reduce 260 - INT reduce 260 - PRIVATE reduce 260 - PROTECTED reduce 260 - PUBLIC reduce 260 - STATIC reduce 260 - VOID reduce 260 - IDENTIFIER reduce 260 - EQUAL reduce 260 - NOTEQUAL reduce 260 - LOGICALOR reduce 260 - LOGICALAND reduce 260 - INCREMENT reduce 260 - DECREMENT reduce 260 - ',' reduce 260 - ';' reduce 260 - '.' reduce 260 - '*' reduce 260 - '}' reduce 260 - ')' reduce 260 - '&' reduce 260 - '+' reduce 260 - '-' reduce 260 - '|' reduce 260 - '^' reduce 260 - '/' reduce 260 - '%' reduce 260 - - -201: shift/reduce conflict (shift 293, reduce 258) on EQUAL -201: shift/reduce conflict (shift 294, reduce 258) on NOTEQUAL -state 201 - andexpression : equalityexpression . (258) - equalityexpression : equalityexpression . EQUAL relationalexpression (261) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (262) - - EQUAL shift 293 - NOTEQUAL shift 294 - ABSTRACT reduce 258 - BOOLEAN reduce 258 - CHAR reduce 258 - FINAL reduce 258 - INSTANCEOF reduce 258 - INT reduce 258 - PRIVATE reduce 258 - PROTECTED reduce 258 - PUBLIC reduce 258 - STATIC reduce 258 - VOID reduce 258 - IDENTIFIER reduce 258 - LESSEQUAL reduce 258 - GREATEREQUAL reduce 258 - LOGICALOR reduce 258 - LOGICALAND reduce 258 - INCREMENT reduce 258 - DECREMENT reduce 258 - ',' reduce 258 - ';' reduce 258 - '.' reduce 258 - '*' reduce 258 - '<' reduce 258 - '>' reduce 258 - '}' reduce 258 - ')' reduce 258 - '&' reduce 258 - '+' reduce 258 - '-' reduce 258 - '|' reduce 258 - '^' reduce 258 - '/' reduce 258 - '%' reduce 258 - - -202: shift/reduce conflict (shift 295, reduce 247) on '&' -state 202 - exclusiveorexpression : andexpression . (247) - andexpression : andexpression . '&' equalityexpression (259) - - '&' shift 295 - ABSTRACT reduce 247 - BOOLEAN reduce 247 - CHAR reduce 247 - FINAL reduce 247 - INSTANCEOF reduce 247 - INT reduce 247 - PRIVATE reduce 247 - PROTECTED reduce 247 - PUBLIC reduce 247 - STATIC reduce 247 - VOID reduce 247 - IDENTIFIER reduce 247 - EQUAL reduce 247 - LESSEQUAL reduce 247 - GREATEREQUAL reduce 247 - NOTEQUAL reduce 247 - LOGICALOR reduce 247 - LOGICALAND reduce 247 - INCREMENT reduce 247 - DECREMENT reduce 247 - ',' reduce 247 - ';' reduce 247 - '.' reduce 247 - '*' reduce 247 - '<' reduce 247 - '>' reduce 247 - '}' reduce 247 - ')' reduce 247 - '+' reduce 247 - '-' reduce 247 - '|' reduce 247 - '^' reduce 247 - '/' reduce 247 - '%' reduce 247 - - -203: shift/reduce conflict (shift 296, reduce 238) on '^' -state 203 - inclusiveorexpression : exclusiveorexpression . (238) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (248) - - '^' shift 296 - ABSTRACT reduce 238 - BOOLEAN reduce 238 - CHAR reduce 238 - FINAL reduce 238 - INSTANCEOF reduce 238 - INT reduce 238 - PRIVATE reduce 238 - PROTECTED reduce 238 - PUBLIC reduce 238 - STATIC reduce 238 - VOID reduce 238 - IDENTIFIER reduce 238 - EQUAL reduce 238 - LESSEQUAL reduce 238 - GREATEREQUAL reduce 238 - NOTEQUAL reduce 238 - LOGICALOR reduce 238 - LOGICALAND reduce 238 - INCREMENT reduce 238 - DECREMENT reduce 238 - ',' reduce 238 - ';' reduce 238 - '.' reduce 238 - '*' reduce 238 - '<' reduce 238 - '>' reduce 238 - '}' reduce 238 - ')' reduce 238 - '&' reduce 238 - '+' reduce 238 - '-' reduce 238 - '|' reduce 238 - '/' reduce 238 - '%' reduce 238 - - -204: shift/reduce conflict (shift 297, reduce 226) on '|' -state 204 - conditionalandexpression : inclusiveorexpression . (226) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (239) - - '|' shift 297 - ABSTRACT reduce 226 - BOOLEAN reduce 226 - CHAR reduce 226 - FINAL reduce 226 - INSTANCEOF reduce 226 - INT reduce 226 - PRIVATE reduce 226 - PROTECTED reduce 226 - PUBLIC reduce 226 - STATIC reduce 226 - VOID reduce 226 - IDENTIFIER reduce 226 - EQUAL reduce 226 - LESSEQUAL reduce 226 - GREATEREQUAL reduce 226 - NOTEQUAL reduce 226 - LOGICALOR reduce 226 - LOGICALAND reduce 226 - INCREMENT reduce 226 - DECREMENT reduce 226 - ',' reduce 226 - ';' reduce 226 - '.' reduce 226 - '*' reduce 226 - '<' reduce 226 - '>' reduce 226 - '}' reduce 226 - ')' reduce 226 - '&' reduce 226 - '+' reduce 226 - '-' reduce 226 - '^' reduce 226 - '/' reduce 226 - '%' reduce 226 - - -205: shift/reduce conflict (shift 298, reduce 201) on LOGICALAND -state 205 - conditionalorexpression : conditionalandexpression . (201) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (227) - - LOGICALAND shift 298 - ABSTRACT reduce 201 - BOOLEAN reduce 201 - CHAR reduce 201 - FINAL reduce 201 - INSTANCEOF reduce 201 - INT reduce 201 - PRIVATE reduce 201 - PROTECTED reduce 201 - PUBLIC reduce 201 - STATIC reduce 201 - VOID reduce 201 - IDENTIFIER reduce 201 - EQUAL reduce 201 - LESSEQUAL reduce 201 - GREATEREQUAL reduce 201 - NOTEQUAL reduce 201 - LOGICALOR reduce 201 - INCREMENT reduce 201 - DECREMENT reduce 201 - ',' reduce 201 - ';' reduce 201 - '.' reduce 201 - '*' reduce 201 - '<' reduce 201 - '>' reduce 201 - '}' reduce 201 - ')' reduce 201 - '&' reduce 201 - '+' reduce 201 - '-' reduce 201 - '|' reduce 201 - '^' reduce 201 - '/' reduce 201 - '%' reduce 201 - - -206: shift/reduce conflict (shift 299, reduce 190) on LOGICALOR -state 206 - conditionalexpression : conditionalorexpression . (190) - conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (202) - - LOGICALOR shift 299 - ABSTRACT reduce 190 - BOOLEAN reduce 190 - CHAR reduce 190 - FINAL reduce 190 - INSTANCEOF reduce 190 - INT reduce 190 - PRIVATE reduce 190 - PROTECTED reduce 190 - PUBLIC reduce 190 - STATIC reduce 190 - VOID reduce 190 - IDENTIFIER reduce 190 - EQUAL reduce 190 - LESSEQUAL reduce 190 - GREATEREQUAL reduce 190 - NOTEQUAL reduce 190 - LOGICALAND reduce 190 - INCREMENT reduce 190 - DECREMENT reduce 190 - ',' reduce 190 - ';' reduce 190 - '.' reduce 190 - '*' reduce 190 - '<' reduce 190 - '>' reduce 190 - '}' reduce 190 - ')' reduce 190 - '&' reduce 190 - '+' reduce 190 - '-' reduce 190 - '|' reduce 190 - '^' reduce 190 - '/' reduce 190 - '%' reduce 190 - - -state 207 - assignmentexpression : conditionalexpression . (181) - - . reduce 181 - - -state 208 - expression : assignmentexpression . (160) - - . reduce 160 - - -state 209 - fielddeclarator : variabledeclarator '=' expression . (78) - - . reduce 78 - - -state 210 - unaryexpression : preincrementexpression . (228) - - . reduce 228 - - -state 211 - unaryexpression : predecrementexpression . (229) - - . reduce 229 - - -state 212 - postfixexpression : postincrementexpression . (235) - - . reduce 235 - - -state 213 - postfixexpression : postdecrementexpression . (236) - - . reduce 236 - - -state 214 - expression : classinstancecreationexpression . (161) - - . reduce 161 - - -state 215 - assignmentexpression : assignment . (182) - - . reduce 182 - - -state 216 - primarynonewarray : methodinvocation . (242) - - . reduce 242 - - -state 217 - unaryexpressionnotplusminus : castexpression . (246) - - . reduce 246 - - -state 218 - constructordeclarator : simplename '(' ')' . (87) - - . reduce 87 - - -state 219 - constructordeclarator : simplename '(' formalparameterlist . ')' (88) - formalparameterlist : formalparameterlist . ',' formalparameter (134) - - ',' shift 271 - ')' shift 300 - . error - - -state 220 - type : primitivetype '[' ']' . (125) - - . reduce 125 - - -state 221 - type : referencetype '[' ']' . (127) - - . reduce 127 - - -state 222 - methodheader : type methoddeclarator throws . (107) - - . reduce 107 - - -state 223 - fielddeclaration : type variabledeclarators ';' . (82) - - . reduce 82 - - -state 224 - methodheader : modifiers VOID methoddeclarator . (112) - methodheader : modifiers VOID methoddeclarator . throws (114) - - THROWS shift 88 - '{' reduce 112 - - throws goto 301 - - -state 225 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (102) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (106) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (110) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (116) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (118) - - ',' shift 182 - '>' shift 302 - . error - - -state 226 - methodheader : modifiers methoddeclarator throws . (123) - - . reduce 123 - - -state 227 - methodheader : modifiers type methoddeclarator . (105) - methodheader : modifiers type methoddeclarator . throws (109) - - THROWS shift 88 - '{' reduce 105 - - throws goto 303 - - -state 228 - fielddeclaration : modifiers type variabledeclarators . ';' (83) - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - - ',' shift 92 - ';' shift 304 - . error - - -state 229 - constructordeclaration : modifiers constructordeclarator constructorbody . (75) - - . reduce 75 - - -state 230 - explicitconstructorinvocation : THIS . '(' ')' ';' (135) - explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (136) - primarynonewarray : THIS . (241) - - '(' shift 305 - INCREMENT reduce 241 - DECREMENT reduce 241 - '.' reduce 241 - - -state 231 - constructorbody : '{' '}' . (89) - - . reduce 89 - - -state 232 - constructorbody : '{' blockstatements . '}' (91) - blockstatements : blockstatements . blockstatement (132) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 306 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 255 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 233 - constructorbody : '{' explicitconstructorinvocation . '}' (90) - constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (92) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 307 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - blockstatements goto 308 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 165 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 234 - classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (22) - - . reduce 22 - - -state 235 - boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (100) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 309 - - -state 236 - paralist : IDENTIFIER '<' . paralist '>' (32) - - IDENTIFIER shift 119 - '?' shift 120 - . error - - paralist goto 310 - wildcardparameter goto 122 - - -state 237 - wildcardparameter : '?' EXTENDS . referencetype (38) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 311 - - -state 238 - wildcardparameter : '?' SUPER . referencetype (39) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 312 - - -state 239 - paralist : paralist ',' . IDENTIFIER (34) - paralist : paralist ',' . IDENTIFIER '<' paralist '>' (35) - paralist : paralist ',' . wildcardparameter (36) - - IDENTIFIER shift 313 - '?' shift 120 - . error - - wildcardparameter goto 314 - - -state 240 - parameter : '<' paralist '>' . (68) - - . reduce 68 - - -state 241 - forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (173) - forstatement : FOR '(' . expression ';' expression ';' ')' statement (174) - forstatement : FOR '(' . expression ';' ';' expression ')' statement (175) - forstatement : FOR '(' . ';' expression ';' expression ')' statement (176) - forstatement : FOR '(' . expression ';' ';' ')' statement (177) - forstatement : FOR '(' . ';' expression ';' ')' statement (178) - forstatement : FOR '(' . ';' ';' expression ')' statement (179) - forstatement : FOR '(' . ';' ';' ')' statement (180) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 315 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 316 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 242 - ifthenstatement : IF '(' . expression ')' statement (170) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (171) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 317 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 243 - returnstatement : RETURN ';' . (185) - - . reduce 185 - - -state 244 - returnstatement : RETURN expression . ';' (186) - - ';' shift 318 - . error - - -state 245 - whilestatement : WHILE '(' . expression ')' statement (172) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 319 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -246: shift/reduce conflict (shift 251, reduce 234) on '.' -state 246 - qualifiedname : name . '.' IDENTIFIER (11) - methodinvocation : name . '(' ')' (220) - methodinvocation : name . '(' argumentlist ')' (221) - postfixexpression : name . (234) - - '.' shift 251 - '(' shift 252 - ABSTRACT reduce 234 - BOOLEAN reduce 234 - CHAR reduce 234 - FINAL reduce 234 - INSTANCEOF reduce 234 - INT reduce 234 - PRIVATE reduce 234 - PROTECTED reduce 234 - PUBLIC reduce 234 - STATIC reduce 234 - VOID reduce 234 - IDENTIFIER reduce 234 - EQUAL reduce 234 - LESSEQUAL reduce 234 - GREATEREQUAL reduce 234 - NOTEQUAL reduce 234 - LOGICALOR reduce 234 - LOGICALAND reduce 234 - INCREMENT reduce 234 - DECREMENT reduce 234 - ',' reduce 234 - ';' reduce 234 - '*' reduce 234 - '<' reduce 234 - '>' reduce 234 - '}' reduce 234 - ')' reduce 234 - '&' reduce 234 - '+' reduce 234 - '-' reduce 234 - '|' reduce 234 - '^' reduce 234 - '/' reduce 234 - '%' reduce 234 - - -state 247 - preincrementexpression : INCREMENT unaryexpression . (216) - - . reduce 216 - - -state 248 - predecrementexpression : DECREMENT unaryexpression . (217) - - . reduce 217 - - -state 249 - lambdaexpressionparameter : '(' ')' . (206) - - . reduce 206 - - -state 250 - formalparameterlist : formalparameterlist . ',' formalparameter (134) - lambdaexpressionparameter : '(' formalparameterlist . ')' (207) - - ',' shift 271 - ')' shift 320 - . error - - -state 251 - qualifiedname : name '.' . IDENTIFIER (11) - - IDENTIFIER shift 321 - . error - - -state 252 - methodinvocation : name '(' . ')' (220) - methodinvocation : name '(' . argumentlist ')' (221) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 322 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 323 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - argumentlist goto 324 - methodinvocation goto 216 - castexpression goto 217 - - -state 253 - variabledeclarators : variabledeclarators . ',' variabledeclarator (129) - localvariabledeclaration : type variabledeclarators . (164) - - ',' shift 92 - ';' reduce 164 - - -state 254 - block : '{' blockstatements '}' . (86) - - . reduce 86 - - -state 255 - blockstatements : blockstatements blockstatement . (132) - - . reduce 132 - - -state 256 - localvariabledeclarationstatement : localvariabledeclaration ';' . (154) - - . reduce 154 - - -state 257 - lambdaassignmentoperator : LAMBDAASSIGNMENT . (203) - - . reduce 203 - - -state 258 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (208) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '{' shift 79 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 325 - lambdabody goto 326 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 327 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 259 - methodinvocation : primary '.' . IDENTIFIER '(' ')' (222) - methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (223) - - IDENTIFIER shift 328 - . error - - -state 260 - postincrementexpression : postfixexpression INCREMENT . (218) - - . reduce 218 - - -state 261 - postdecrementexpression : postfixexpression DECREMENT . (219) - - . reduce 219 - - -state 262 - expressionstatement : statementexpression ';' . (184) - - . reduce 184 - - -state 263 - assignmentoperator : PLUSEQUAL . (214) - - . reduce 214 - - -state 264 - assignmentoperator : MINUSEQUAL . (215) - - . reduce 215 - - -state 265 - assignmentoperator : TIMESEQUAL . (211) - - . reduce 211 - - -state 266 - assignmentoperator : DIVIDEEQUAL . (212) - - . reduce 212 - - -state 267 - assignmentoperator : MODULOEQUAL . (213) - - . reduce 213 - - -state 268 - assignmentoperator : '=' . (210) - - . reduce 210 - - -state 269 - assignment : lefthandside assignmentoperator . assignmentexpression (191) - assignment : lefthandside assignmentoperator . classinstancecreationexpression (192) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 329 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 330 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 270 - formalparameter : type variabledeclaratorid . (147) - - . reduce 147 - - -state 271 - formalparameterlist : formalparameterlist ',' . formalparameter (134) - - BOOLEAN shift 37 - CHAR shift 38 - INT shift 39 - IDENTIFIER shift 136 - . error - - variabledeclaratorid goto 178 - simplename goto 32 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 179 - formalparameter goto 331 - - -state 272 - methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (140) - - . reduce 140 - - -state 273 - boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (102) - - . reduce 102 - - -state 274 - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (115) - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (117) - - IDENTIFIER shift 81 - . error - - methoddeclarator goto 332 - - -state 275 - methodheader : '<' boundedMethodParameters '>' methoddeclarator . (120) - - . reduce 120 - - -state 276 - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (103) - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (108) - - IDENTIFIER shift 81 - . error - - methoddeclarator goto 333 - - -state 277 - classtypelist : classtypelist ',' . classtype (138) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classtype goto 334 - classorinterfacetype goto 34 - - -state 278 - classinstancecreationexpression : NEW classtype . '(' ')' (224) - classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (225) - - '(' shift 335 - . error - - -state 279 - type : primitivetype . (124) - type : primitivetype . '[' ']' (125) - castexpression : '(' primitivetype . ')' unaryexpression (257) - - ')' shift 336 - '[' shift 97 - IDENTIFIER reduce 124 - - -state 280 - unaryexpression : '+' unaryexpression . (230) - - . reduce 230 - - -state 281 - unaryexpression : '-' unaryexpression . (231) - - . reduce 231 - - -state 282 - unaryexpressionnotplusminus : '!' unaryexpression . (245) - - . reduce 245 - - -state 283 - multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (274) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 337 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 284 - multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (275) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 338 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 285 - multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (276) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 339 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 286 - additiveexpression : additiveexpression '+' . multiplicativeexpression (271) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 340 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 287 - additiveexpression : additiveexpression '-' . multiplicativeexpression (272) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 341 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 288 - relationalexpression : relationalexpression INSTANCEOF . referencetype (268) - - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - referencetype goto 342 - - -state 289 - relationalexpression : relationalexpression LESSEQUAL . shiftexpression (266) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 343 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 290 - relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (267) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 344 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 291 - relationalexpression : relationalexpression '<' . shiftexpression (264) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 345 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 292 - relationalexpression : relationalexpression '>' . shiftexpression (265) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 346 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 293 - equalityexpression : equalityexpression EQUAL . relationalexpression (261) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 347 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 294 - equalityexpression : equalityexpression NOTEQUAL . relationalexpression (262) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 348 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 295 - andexpression : andexpression '&' . equalityexpression (259) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 349 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 296 - exclusiveorexpression : exclusiveorexpression '^' . andexpression (248) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 350 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 297 - inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (239) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 351 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 298 - conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (227) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 352 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 299 - conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (202) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 353 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 300 - constructordeclarator : simplename '(' formalparameterlist ')' . (88) - - . reduce 88 - - -state 301 - methodheader : modifiers VOID methoddeclarator throws . (114) - - . reduce 114 - - -state 302 - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (106) - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (110) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (116) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (118) - - BOOLEAN shift 37 - CHAR shift 38 - INT shift 39 - VOID shift 354 - IDENTIFIER shift 31 - . error - - simplename goto 32 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 355 - - -state 303 - methodheader : modifiers type methoddeclarator throws . (109) - - . reduce 109 - - -state 304 - fielddeclaration : modifiers type variabledeclarators ';' . (83) - - . reduce 83 - - -state 305 - explicitconstructorinvocation : THIS '(' . ')' ';' (135) - explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (136) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 356 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 323 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - argumentlist goto 357 - methodinvocation goto 216 - castexpression goto 217 - - -state 306 - constructorbody : '{' blockstatements '}' . (91) - - . reduce 91 - - -state 307 - constructorbody : '{' explicitconstructorinvocation '}' . (90) - - . reduce 90 - - -state 308 - constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (92) - blockstatements : blockstatements . blockstatement (132) - - BOOLEAN shift 37 - CHAR shift 38 - FOR shift 123 - IF shift 124 - INT shift 39 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 136 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '}' shift 358 - '(' shift 141 - . error - - variabledeclarators goto 142 - variabledeclarator goto 143 - variabledeclaratorid goto 55 - simplename goto 144 - qualifiedname goto 145 - name goto 146 - classorinterfacetype goto 57 - integraltype goto 58 - numerictype goto 59 - primitivetype goto 60 - referencetype goto 61 - type goto 147 - block goto 148 - localvariabledeclarationstatement goto 150 - localvariabledeclaration goto 151 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - blockstatement goto 255 - statement goto 166 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 309 - boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (100) - - . reduce 100 - - -state 310 - paralist : IDENTIFIER '<' paralist . '>' (32) - paralist : paralist . ',' IDENTIFIER (34) - paralist : paralist . ',' IDENTIFIER '<' paralist '>' (35) - paralist : paralist . ',' wildcardparameter (36) - - ',' shift 239 - '>' shift 359 - . error - - -state 311 - wildcardparameter : '?' EXTENDS referencetype . (38) - - . reduce 38 - - -state 312 - wildcardparameter : '?' SUPER referencetype . (39) - - . reduce 39 - - -state 313 - paralist : paralist ',' IDENTIFIER . (34) - paralist : paralist ',' IDENTIFIER . '<' paralist '>' (35) - - '<' shift 360 - ',' reduce 34 - '>' reduce 34 - - -state 314 - paralist : paralist ',' wildcardparameter . (36) - - . reduce 36 - - -state 315 - forstatement : FOR '(' ';' . expression ';' expression ')' statement (176) - forstatement : FOR '(' ';' . expression ';' ')' statement (178) - forstatement : FOR '(' ';' . ';' expression ')' statement (179) - forstatement : FOR '(' ';' . ';' ')' statement (180) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 361 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 362 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 316 - forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (173) - forstatement : FOR '(' expression . ';' expression ';' ')' statement (174) - forstatement : FOR '(' expression . ';' ';' expression ')' statement (175) - forstatement : FOR '(' expression . ';' ';' ')' statement (177) - - ';' shift 363 - . error - - -state 317 - ifthenstatement : IF '(' expression . ')' statement (170) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (171) - - ')' shift 364 - . error - - -state 318 - returnstatement : RETURN expression ';' . (186) - - . reduce 186 - - -state 319 - whilestatement : WHILE '(' expression . ')' statement (172) - - ')' shift 365 - . error - - -state 320 - lambdaexpressionparameter : '(' formalparameterlist ')' . (207) - - . reduce 207 - - -state 321 - qualifiedname : name '.' IDENTIFIER . (11) - - . reduce 11 - - -state 322 - methodinvocation : name '(' ')' . (220) - - . reduce 220 - - -state 323 - argumentlist : expression . (149) - - . reduce 149 - - -state 324 - argumentlist : argumentlist . ',' expression (150) - methodinvocation : name '(' argumentlist . ')' (221) - - ',' shift 366 - ')' shift 367 - . error - - -state 325 - lambdabody : block . (204) - - . reduce 204 - - -state 326 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (208) - - . reduce 208 - - -state 327 - lambdabody : expression . (205) - - . reduce 205 - - -state 328 - methodinvocation : primary '.' IDENTIFIER . '(' ')' (222) - methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (223) - - '(' shift 368 - . error - - -state 329 - assignment : lefthandside assignmentoperator assignmentexpression . (191) - - . reduce 191 - - -state 330 - assignment : lefthandside assignmentoperator classinstancecreationexpression . (192) - - . reduce 192 - - -state 331 - formalparameterlist : formalparameterlist ',' formalparameter . (134) - - . reduce 134 - - -state 332 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (115) - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (117) - - THROWS shift 88 - '{' reduce 115 - - throws goto 369 - - -state 333 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (103) - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (108) - - THROWS shift 88 - '{' reduce 103 - - throws goto 370 - - -state 334 - classtypelist : classtypelist ',' classtype . (138) - - . reduce 138 - - -state 335 - classinstancecreationexpression : NEW classtype '(' . ')' (224) - classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (225) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 371 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 323 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - argumentlist goto 372 - methodinvocation goto 216 - castexpression goto 217 - - -state 336 - castexpression : '(' primitivetype ')' . unaryexpression (257) - - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 246 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 373 - lambdaexpression goto 157 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - methodinvocation goto 216 - castexpression goto 217 - - -state 337 - multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (274) + multiplicativeexpression : unaryexpression . (274) . reduce 274 -state 338 - multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (275) +198: shift/reduce conflict (shift 287, reduce 271) on '*' +198: shift/reduce conflict (shift 288, reduce 271) on '/' +198: shift/reduce conflict (shift 289, reduce 271) on '%' +state 198 + additiveexpression : multiplicativeexpression . (271) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (275) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (276) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (277) - . reduce 275 - - -state 339 - multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (276) - - . reduce 276 - - -340: shift/reduce conflict (shift 283, reduce 271) on '*' -340: shift/reduce conflict (shift 284, reduce 271) on '/' -340: shift/reduce conflict (shift 285, reduce 271) on '%' -state 340 - additiveexpression : additiveexpression '+' multiplicativeexpression . (271) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (274) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (275) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (276) - - '*' shift 283 - '/' shift 284 - '%' shift 285 + '*' shift 287 + '/' shift 288 + '%' shift 289 ABSTRACT reduce 271 BOOLEAN reduce 271 CHAR reduce 271 @@ -5546,100 +2888,74 @@ state 340 '^' reduce 271 -341: shift/reduce conflict (shift 283, reduce 272) on '*' -341: shift/reduce conflict (shift 284, reduce 272) on '/' -341: shift/reduce conflict (shift 285, reduce 272) on '%' -state 341 - additiveexpression : additiveexpression '-' multiplicativeexpression . (272) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (274) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (275) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (276) +199: shift/reduce conflict (shift 290, reduce 270) on '+' +199: shift/reduce conflict (shift 291, reduce 270) on '-' +state 199 + shiftexpression : additiveexpression . (270) + additiveexpression : additiveexpression . '+' multiplicativeexpression (272) + additiveexpression : additiveexpression . '-' multiplicativeexpression (273) - '*' shift 283 - '/' shift 284 - '%' shift 285 - ABSTRACT reduce 272 - BOOLEAN reduce 272 - CHAR reduce 272 - FINAL reduce 272 - INSTANCEOF reduce 272 - INT reduce 272 - PRIVATE reduce 272 - PROTECTED reduce 272 - PUBLIC reduce 272 - STATIC reduce 272 - VOID reduce 272 - IDENTIFIER reduce 272 - EQUAL reduce 272 - LESSEQUAL reduce 272 - GREATEREQUAL reduce 272 - NOTEQUAL reduce 272 - LOGICALOR reduce 272 - LOGICALAND reduce 272 - INCREMENT reduce 272 - DECREMENT reduce 272 - ',' reduce 272 - ';' reduce 272 - '.' reduce 272 - '<' reduce 272 - '>' reduce 272 - '}' reduce 272 - ')' reduce 272 - '&' reduce 272 - '+' reduce 272 - '-' reduce 272 - '|' reduce 272 - '^' reduce 272 + '+' shift 290 + '-' shift 291 + ABSTRACT reduce 270 + BOOLEAN reduce 270 + CHAR reduce 270 + FINAL reduce 270 + INSTANCEOF reduce 270 + INT reduce 270 + PRIVATE reduce 270 + PROTECTED reduce 270 + PUBLIC reduce 270 + STATIC reduce 270 + VOID reduce 270 + IDENTIFIER reduce 270 + EQUAL reduce 270 + LESSEQUAL reduce 270 + GREATEREQUAL reduce 270 + NOTEQUAL reduce 270 + LOGICALOR reduce 270 + LOGICALAND reduce 270 + INCREMENT reduce 270 + DECREMENT reduce 270 + ',' reduce 270 + ';' reduce 270 + '.' reduce 270 + '*' reduce 270 + '<' reduce 270 + '>' reduce 270 + '}' reduce 270 + ')' reduce 270 + '&' reduce 270 + '|' reduce 270 + '^' reduce 270 + '/' reduce 270 + '%' reduce 270 -state 342 - relationalexpression : relationalexpression INSTANCEOF referencetype . (268) - - . reduce 268 - - -state 343 - relationalexpression : relationalexpression LESSEQUAL shiftexpression . (266) - - . reduce 266 - - -state 344 - relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (267) - - . reduce 267 - - -state 345 - relationalexpression : relationalexpression '<' shiftexpression . (264) +state 200 + relationalexpression : shiftexpression . (264) . reduce 264 -state 346 - relationalexpression : relationalexpression '>' shiftexpression . (265) +201: shift/reduce conflict (shift 292, reduce 261) on INSTANCEOF +201: shift/reduce conflict (shift 293, reduce 261) on LESSEQUAL +201: shift/reduce conflict (shift 294, reduce 261) on GREATEREQUAL +201: shift/reduce conflict (shift 295, reduce 261) on '<' +201: shift/reduce conflict (shift 296, reduce 261) on '>' +state 201 + equalityexpression : relationalexpression . (261) + relationalexpression : relationalexpression . '<' shiftexpression (265) + relationalexpression : relationalexpression . '>' shiftexpression (266) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (267) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (268) + relationalexpression : relationalexpression . INSTANCEOF referencetype (269) - . reduce 265 - - -347: shift/reduce conflict (shift 288, reduce 261) on INSTANCEOF -347: shift/reduce conflict (shift 289, reduce 261) on LESSEQUAL -347: shift/reduce conflict (shift 290, reduce 261) on GREATEREQUAL -347: shift/reduce conflict (shift 291, reduce 261) on '<' -347: shift/reduce conflict (shift 292, reduce 261) on '>' -state 347 - equalityexpression : equalityexpression EQUAL relationalexpression . (261) - relationalexpression : relationalexpression . '<' shiftexpression (264) - relationalexpression : relationalexpression . '>' shiftexpression (265) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (266) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (267) - relationalexpression : relationalexpression . INSTANCEOF referencetype (268) - - INSTANCEOF shift 288 - LESSEQUAL shift 289 - GREATEREQUAL shift 290 - '<' shift 291 - '>' shift 292 + INSTANCEOF shift 292 + LESSEQUAL shift 293 + GREATEREQUAL shift 294 + '<' shift 295 + '>' shift 296 ABSTRACT reduce 261 BOOLEAN reduce 261 CHAR reduce 261 @@ -5672,65 +2988,15 @@ state 347 '%' reduce 261 -348: shift/reduce conflict (shift 288, reduce 262) on INSTANCEOF -348: shift/reduce conflict (shift 289, reduce 262) on LESSEQUAL -348: shift/reduce conflict (shift 290, reduce 262) on GREATEREQUAL -348: shift/reduce conflict (shift 291, reduce 262) on '<' -348: shift/reduce conflict (shift 292, reduce 262) on '>' -state 348 - equalityexpression : equalityexpression NOTEQUAL relationalexpression . (262) - relationalexpression : relationalexpression . '<' shiftexpression (264) - relationalexpression : relationalexpression . '>' shiftexpression (265) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (266) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (267) - relationalexpression : relationalexpression . INSTANCEOF referencetype (268) +202: shift/reduce conflict (shift 297, reduce 259) on EQUAL +202: shift/reduce conflict (shift 298, reduce 259) on NOTEQUAL +state 202 + andexpression : equalityexpression . (259) + equalityexpression : equalityexpression . EQUAL relationalexpression (262) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (263) - INSTANCEOF shift 288 - LESSEQUAL shift 289 - GREATEREQUAL shift 290 - '<' shift 291 - '>' shift 292 - ABSTRACT reduce 262 - BOOLEAN reduce 262 - CHAR reduce 262 - FINAL reduce 262 - INT reduce 262 - PRIVATE reduce 262 - PROTECTED reduce 262 - PUBLIC reduce 262 - STATIC reduce 262 - VOID reduce 262 - IDENTIFIER reduce 262 - EQUAL reduce 262 - NOTEQUAL reduce 262 - LOGICALOR reduce 262 - LOGICALAND reduce 262 - INCREMENT reduce 262 - DECREMENT reduce 262 - ',' reduce 262 - ';' reduce 262 - '.' reduce 262 - '*' reduce 262 - '}' reduce 262 - ')' reduce 262 - '&' reduce 262 - '+' reduce 262 - '-' reduce 262 - '|' reduce 262 - '^' reduce 262 - '/' reduce 262 - '%' reduce 262 - - -349: shift/reduce conflict (shift 293, reduce 259) on EQUAL -349: shift/reduce conflict (shift 294, reduce 259) on NOTEQUAL -state 349 - andexpression : andexpression '&' equalityexpression . (259) - equalityexpression : equalityexpression . EQUAL relationalexpression (261) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (262) - - EQUAL shift 293 - NOTEQUAL shift 294 + EQUAL shift 297 + NOTEQUAL shift 298 ABSTRACT reduce 259 BOOLEAN reduce 259 CHAR reduce 259 @@ -5766,12 +3032,12 @@ state 349 '%' reduce 259 -350: shift/reduce conflict (shift 295, reduce 248) on '&' -state 350 - exclusiveorexpression : exclusiveorexpression '^' andexpression . (248) - andexpression : andexpression . '&' equalityexpression (259) +203: shift/reduce conflict (shift 299, reduce 248) on '&' +state 203 + exclusiveorexpression : andexpression . (248) + andexpression : andexpression . '&' equalityexpression (260) - '&' shift 295 + '&' shift 299 ABSTRACT reduce 248 BOOLEAN reduce 248 CHAR reduce 248 @@ -5808,12 +3074,12 @@ state 350 '%' reduce 248 -351: shift/reduce conflict (shift 296, reduce 239) on '^' -state 351 - inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (239) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (248) +204: shift/reduce conflict (shift 300, reduce 239) on '^' +state 204 + inclusiveorexpression : exclusiveorexpression . (239) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (249) - '^' shift 296 + '^' shift 300 ABSTRACT reduce 239 BOOLEAN reduce 239 CHAR reduce 239 @@ -5850,12 +3116,12 @@ state 351 '%' reduce 239 -352: shift/reduce conflict (shift 297, reduce 227) on '|' -state 352 - conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (227) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (239) +205: shift/reduce conflict (shift 301, reduce 227) on '|' +state 205 + conditionalandexpression : inclusiveorexpression . (227) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (240) - '|' shift 297 + '|' shift 301 ABSTRACT reduce 227 BOOLEAN reduce 227 CHAR reduce 227 @@ -5892,12 +3158,12 @@ state 352 '%' reduce 227 -353: shift/reduce conflict (shift 298, reduce 202) on LOGICALAND -state 353 - conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (202) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (227) +206: shift/reduce conflict (shift 302, reduce 202) on LOGICALAND +state 206 + conditionalorexpression : conditionalandexpression . (202) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (228) - LOGICALAND shift 298 + LOGICALAND shift 302 ABSTRACT reduce 202 BOOLEAN reduce 202 CHAR reduce 202 @@ -5934,1708 +3200,4633 @@ state 353 '%' reduce 202 -state 354 - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (116) - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (118) +207: shift/reduce conflict (shift 303, reduce 191) on LOGICALOR +state 207 + conditionalexpression : conditionalorexpression . (191) + conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (203) + + LOGICALOR shift 303 + ABSTRACT reduce 191 + BOOLEAN reduce 191 + CHAR reduce 191 + FINAL reduce 191 + INSTANCEOF reduce 191 + INT reduce 191 + PRIVATE reduce 191 + PROTECTED reduce 191 + PUBLIC reduce 191 + STATIC reduce 191 + VOID reduce 191 + IDENTIFIER reduce 191 + EQUAL reduce 191 + LESSEQUAL reduce 191 + GREATEREQUAL reduce 191 + NOTEQUAL reduce 191 + LOGICALAND reduce 191 + INCREMENT reduce 191 + DECREMENT reduce 191 + ',' reduce 191 + ';' reduce 191 + '.' reduce 191 + '*' reduce 191 + '<' reduce 191 + '>' reduce 191 + '}' reduce 191 + ')' reduce 191 + '&' reduce 191 + '+' reduce 191 + '-' reduce 191 + '|' reduce 191 + '^' reduce 191 + '/' reduce 191 + '%' reduce 191 + + +state 208 + assignmentexpression : conditionalexpression . (182) + + . reduce 182 + + +state 209 + expression : assignmentexpression . (161) + + . reduce 161 + + +state 210 + fielddeclarator : variabledeclarator '=' expression . (79) + + . reduce 79 + + +state 211 + unaryexpression : preincrementexpression . (229) + + . reduce 229 + + +state 212 + unaryexpression : predecrementexpression . (230) + + . reduce 230 + + +state 213 + postfixexpression : postincrementexpression . (236) + + . reduce 236 + + +state 214 + postfixexpression : postdecrementexpression . (237) + + . reduce 237 + + +state 215 + expression : classinstancecreationexpression . (162) + + . reduce 162 + + +state 216 + assignmentexpression : assignment . (183) + + . reduce 183 + + +state 217 + primarynonewarray : methodinvocation . (243) + + . reduce 243 + + +state 218 + unaryexpressionnotplusminus : castexpression . (247) + + . reduce 247 + + +state 219 + constructordeclarator : simplename '(' ')' . (88) + + . reduce 88 + + +state 220 + constructordeclarator : simplename '(' formalparameterlist . ')' (89) + formalparameterlist : formalparameterlist . ',' formalparameter (135) + + ',' shift 275 + ')' shift 304 + . error + + +state 221 + type : primitivetype '[' ']' . (126) + + . reduce 126 + + +state 222 + type : referencetype '[' ']' . (128) + + . reduce 128 + + +state 223 + methodheader : type methoddeclarator throws . (108) + + . reduce 108 + + +state 224 + fielddeclaration : type variabledeclarators ';' . (83) + + . reduce 83 + + +state 225 + fielddeclarator : type variabledeclarator '=' . expression (78) + fielddeclarator : variabledeclarator '=' . expression (79) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 305 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 226 + fielddeclarator : type variabledeclarator . '=' expression (78) + + '=' shift 306 + . error + + +state 227 + methodheader : modifiers VOID methoddeclarator . (113) + methodheader : modifiers VOID methoddeclarator . throws (115) + + THROWS shift 88 + '{' reduce 113 + + throws goto 307 + + +state 228 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (103) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (107) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (111) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (117) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (119) + + ',' shift 183 + '>' shift 308 + . error + + +state 229 + methodheader : modifiers methoddeclarator throws . (124) + + . reduce 124 + + +state 230 + methoddeclarator : IDENTIFIER . '(' ')' (140) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (141) + variabledeclaratorid : IDENTIFIER . (153) + + '(' shift 83 + ',' reduce 153 + ';' reduce 153 + + +state 231 + methodheader : modifiers type methoddeclarator . (106) + methodheader : modifiers type methoddeclarator . throws (110) + + THROWS shift 88 + '{' reduce 106 + + throws goto 309 + + +state 232 + fielddeclaration : modifiers type variabledeclarators . ';' (84) + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) + + ',' shift 92 + ';' shift 310 + . error + + +state 233 + constructordeclaration : modifiers constructordeclarator constructorbody . (75) + + . reduce 75 + + +state 234 + explicitconstructorinvocation : THIS . '(' ')' ';' (136) + explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (137) + primarynonewarray : THIS . (242) + + '(' shift 311 + INCREMENT reduce 242 + DECREMENT reduce 242 + '.' reduce 242 + + +state 235 + constructorbody : '{' '}' . (90) + + . reduce 90 + + +state 236 + constructorbody : '{' blockstatements . '}' (92) + blockstatements : blockstatements . blockstatement (133) + + BOOLEAN shift 37 + CHAR shift 38 + FOR shift 124 + IF shift 125 + INT shift 39 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 137 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '}' shift 312 + '(' shift 142 + . error + + variabledeclarators goto 143 + variabledeclarator goto 144 + variabledeclaratorid goto 55 + simplename goto 145 + qualifiedname goto 146 + name goto 147 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 148 + block goto 149 + localvariabledeclarationstatement goto 151 + localvariabledeclaration goto 152 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + blockstatement goto 259 + statement goto 167 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 237 + constructorbody : '{' explicitconstructorinvocation . '}' (91) + constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (93) + + BOOLEAN shift 37 + CHAR shift 38 + FOR shift 124 + IF shift 125 + INT shift 39 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 137 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '}' shift 313 + '(' shift 142 + . error + + variabledeclarators goto 143 + variabledeclarator goto 144 + variabledeclaratorid goto 55 + simplename goto 145 + qualifiedname goto 146 + name goto 147 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 148 + block goto 149 + blockstatements goto 314 + localvariabledeclarationstatement goto 151 + localvariabledeclaration goto 152 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + blockstatement goto 166 + statement goto 167 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 238 + classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (22) + + . reduce 22 + + +state 239 + boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (101) + + IDENTIFIER shift 31 + . error + + simplename goto 32 + classorinterfacetype goto 57 + referencetype goto 315 + + +state 240 + paralist : IDENTIFIER '<' . paralist '>' (32) + + IDENTIFIER shift 120 + '?' shift 121 + . error + + paralist goto 316 + wildcardparameter goto 123 + + +state 241 + wildcardparameter : '?' EXTENDS . referencetype (38) + + IDENTIFIER shift 31 + . error + + simplename goto 32 + classorinterfacetype goto 57 + referencetype goto 317 + + +state 242 + wildcardparameter : '?' SUPER . referencetype (39) + + IDENTIFIER shift 31 + . error + + simplename goto 32 + classorinterfacetype goto 57 + referencetype goto 318 + + +state 243 + paralist : paralist ',' . IDENTIFIER (34) + paralist : paralist ',' . IDENTIFIER '<' paralist '>' (35) + paralist : paralist ',' . wildcardparameter (36) + + IDENTIFIER shift 319 + '?' shift 121 + . error + + wildcardparameter goto 320 + + +state 244 + parameter : '<' paralist '>' . (68) + + . reduce 68 + + +state 245 + forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (174) + forstatement : FOR '(' . expression ';' expression ';' ')' statement (175) + forstatement : FOR '(' . expression ';' ';' expression ')' statement (176) + forstatement : FOR '(' . ';' expression ';' expression ')' statement (177) + forstatement : FOR '(' . expression ';' ';' ')' statement (178) + forstatement : FOR '(' . ';' expression ';' ')' statement (179) + forstatement : FOR '(' . ';' ';' expression ')' statement (180) + forstatement : FOR '(' . ';' ';' ')' statement (181) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 321 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 322 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 246 + ifthenstatement : IF '(' . expression ')' statement (171) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (172) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 323 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 247 + returnstatement : RETURN ';' . (186) + + . reduce 186 + + +state 248 + returnstatement : RETURN expression . ';' (187) + + ';' shift 324 + . error + + +state 249 + whilestatement : WHILE '(' . expression ')' statement (173) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 325 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +250: shift/reduce conflict (shift 255, reduce 235) on '.' +state 250 + qualifiedname : name . '.' IDENTIFIER (11) + methodinvocation : name . '(' ')' (221) + methodinvocation : name . '(' argumentlist ')' (222) + postfixexpression : name . (235) + + '.' shift 255 + '(' shift 256 + ABSTRACT reduce 235 + BOOLEAN reduce 235 + CHAR reduce 235 + FINAL reduce 235 + INSTANCEOF reduce 235 + INT reduce 235 + PRIVATE reduce 235 + PROTECTED reduce 235 + PUBLIC reduce 235 + STATIC reduce 235 + VOID reduce 235 + IDENTIFIER reduce 235 + EQUAL reduce 235 + LESSEQUAL reduce 235 + GREATEREQUAL reduce 235 + NOTEQUAL reduce 235 + LOGICALOR reduce 235 + LOGICALAND reduce 235 + INCREMENT reduce 235 + DECREMENT reduce 235 + ',' reduce 235 + ';' reduce 235 + '*' reduce 235 + '<' reduce 235 + '>' reduce 235 + '}' reduce 235 + ')' reduce 235 + '&' reduce 235 + '+' reduce 235 + '-' reduce 235 + '|' reduce 235 + '^' reduce 235 + '/' reduce 235 + '%' reduce 235 + + +state 251 + preincrementexpression : INCREMENT unaryexpression . (217) + + . reduce 217 + + +state 252 + predecrementexpression : DECREMENT unaryexpression . (218) + + . reduce 218 + + +state 253 + lambdaexpressionparameter : '(' ')' . (207) + + . reduce 207 + + +state 254 + formalparameterlist : formalparameterlist . ',' formalparameter (135) + lambdaexpressionparameter : '(' formalparameterlist . ')' (208) + + ',' shift 275 + ')' shift 326 + . error + + +state 255 + qualifiedname : name '.' . IDENTIFIER (11) + + IDENTIFIER shift 327 + . error + + +state 256 + methodinvocation : name '(' . ')' (221) + methodinvocation : name '(' . argumentlist ')' (222) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 328 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 329 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + argumentlist goto 330 + methodinvocation goto 217 + castexpression goto 218 + + +state 257 + variabledeclarators : variabledeclarators . ',' variabledeclarator (130) + localvariabledeclaration : type variabledeclarators . (165) + + ',' shift 92 + ';' reduce 165 + + +state 258 + block : '{' blockstatements '}' . (87) + + . reduce 87 + + +state 259 + blockstatements : blockstatements blockstatement . (133) + + . reduce 133 + + +state 260 + localvariabledeclarationstatement : localvariabledeclaration ';' . (155) + + . reduce 155 + + +state 261 + lambdaassignmentoperator : LAMBDAASSIGNMENT . (204) + + . reduce 204 + + +state 262 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (209) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '{' shift 79 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 331 + lambdabody goto 332 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 333 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 263 + methodinvocation : primary '.' . IDENTIFIER '(' ')' (223) + methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (224) + + IDENTIFIER shift 334 + . error + + +state 264 + postincrementexpression : postfixexpression INCREMENT . (219) + + . reduce 219 + + +state 265 + postdecrementexpression : postfixexpression DECREMENT . (220) + + . reduce 220 + + +state 266 + expressionstatement : statementexpression ';' . (185) + + . reduce 185 + + +state 267 + assignmentoperator : PLUSEQUAL . (215) + + . reduce 215 + + +state 268 + assignmentoperator : MINUSEQUAL . (216) + + . reduce 216 + + +state 269 + assignmentoperator : TIMESEQUAL . (212) + + . reduce 212 + + +state 270 + assignmentoperator : DIVIDEEQUAL . (213) + + . reduce 213 + + +state 271 + assignmentoperator : MODULOEQUAL . (214) + + . reduce 214 + + +state 272 + assignmentoperator : '=' . (211) + + . reduce 211 + + +state 273 + assignment : lefthandside assignmentoperator . assignmentexpression (192) + assignment : lefthandside assignmentoperator . classinstancecreationexpression (193) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 335 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 336 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 274 + formalparameter : type variabledeclaratorid . (148) + + . reduce 148 + + +state 275 + formalparameterlist : formalparameterlist ',' . formalparameter (135) + + BOOLEAN shift 37 + CHAR shift 38 + INT shift 39 + IDENTIFIER shift 137 + . error + + variabledeclaratorid goto 179 + simplename goto 32 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 180 + formalparameter goto 337 + + +state 276 + methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (141) + + . reduce 141 + + +state 277 + boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (103) + + . reduce 103 + + +state 278 + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (116) + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (118) IDENTIFIER shift 81 . error - methoddeclarator goto 374 + methoddeclarator goto 338 -state 355 - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (106) - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (110) +state 279 + methodheader : '<' boundedMethodParameters '>' methoddeclarator . (121) + + . reduce 121 + + +state 280 + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (104) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (109) IDENTIFIER shift 81 . error - methoddeclarator goto 375 + methoddeclarator goto 339 -state 356 - explicitconstructorinvocation : THIS '(' ')' . ';' (135) +state 281 + classtypelist : classtypelist ',' . classtype (139) - ';' shift 376 + IDENTIFIER shift 31 + . error + + simplename goto 32 + classtype goto 340 + classorinterfacetype goto 34 + + +state 282 + classinstancecreationexpression : NEW classtype . '(' ')' (225) + classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (226) + + '(' shift 341 . error -state 357 - explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (136) - argumentlist : argumentlist . ',' expression (150) +state 283 + type : primitivetype . (125) + type : primitivetype . '[' ']' (126) + castexpression : '(' primitivetype . ')' unaryexpression (258) - ',' shift 366 - ')' shift 377 + ')' shift 342 + '[' shift 97 + IDENTIFIER reduce 125 + + +state 284 + unaryexpression : '+' unaryexpression . (231) + + . reduce 231 + + +state 285 + unaryexpression : '-' unaryexpression . (232) + + . reduce 232 + + +state 286 + unaryexpressionnotplusminus : '!' unaryexpression . (246) + + . reduce 246 + + +state 287 + multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (275) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 . error + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 343 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 -state 358 - constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (92) + +state 288 + multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (276) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 344 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 289 + multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (277) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 345 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 290 + additiveexpression : additiveexpression '+' . multiplicativeexpression (272) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 346 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 291 + additiveexpression : additiveexpression '-' . multiplicativeexpression (273) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 347 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 292 + relationalexpression : relationalexpression INSTANCEOF . referencetype (269) + + IDENTIFIER shift 31 + . error + + simplename goto 32 + classorinterfacetype goto 57 + referencetype goto 348 + + +state 293 + relationalexpression : relationalexpression LESSEQUAL . shiftexpression (267) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 349 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 294 + relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (268) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 350 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 295 + relationalexpression : relationalexpression '<' . shiftexpression (265) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 351 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 296 + relationalexpression : relationalexpression '>' . shiftexpression (266) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 352 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 297 + equalityexpression : equalityexpression EQUAL . relationalexpression (262) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 353 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 298 + equalityexpression : equalityexpression NOTEQUAL . relationalexpression (263) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 354 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 299 + andexpression : andexpression '&' . equalityexpression (260) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 355 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 300 + exclusiveorexpression : exclusiveorexpression '^' . andexpression (249) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 356 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 301 + inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (240) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 357 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 302 + conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (228) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 358 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 303 + conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (203) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 359 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 304 + constructordeclarator : simplename '(' formalparameterlist ')' . (89) + + . reduce 89 + + +state 305 + fielddeclarator : type variabledeclarator '=' expression . (78) + fielddeclarator : variabledeclarator '=' expression . (79) + + ABSTRACT reduce 79 + BOOLEAN reduce 79 + CHAR reduce 79 + FINAL reduce 79 + INT reduce 79 + PRIVATE reduce 79 + PROTECTED reduce 79 + PUBLIC reduce 79 + STATIC reduce 79 + VOID reduce 79 + IDENTIFIER reduce 79 + ';' reduce 78 + '<' reduce 79 + '}' reduce 79 + + +state 306 + fielddeclarator : type variabledeclarator '=' . expression (78) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 360 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 307 + methodheader : modifiers VOID methoddeclarator throws . (115) + + . reduce 115 + + +state 308 + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (107) + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (111) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (117) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (119) + + BOOLEAN shift 37 + CHAR shift 38 + INT shift 39 + VOID shift 361 + IDENTIFIER shift 31 + . error + + simplename goto 32 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 362 + + +state 309 + methodheader : modifiers type methoddeclarator throws . (110) + + . reduce 110 + + +state 310 + fielddeclaration : modifiers type variabledeclarators ';' . (84) + + . reduce 84 + + +state 311 + explicitconstructorinvocation : THIS '(' . ')' ';' (136) + explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (137) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 363 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 329 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + argumentlist goto 364 + methodinvocation goto 217 + castexpression goto 218 + + +state 312 + constructorbody : '{' blockstatements '}' . (92) . reduce 92 +state 313 + constructorbody : '{' explicitconstructorinvocation '}' . (91) + + . reduce 91 + + +state 314 + constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (93) + blockstatements : blockstatements . blockstatement (133) + + BOOLEAN shift 37 + CHAR shift 38 + FOR shift 124 + IF shift 125 + INT shift 39 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 137 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '}' shift 365 + '(' shift 142 + . error + + variabledeclarators goto 143 + variabledeclarator goto 144 + variabledeclaratorid goto 55 + simplename goto 145 + qualifiedname goto 146 + name goto 147 + classorinterfacetype goto 57 + integraltype goto 58 + numerictype goto 59 + primitivetype goto 60 + referencetype goto 61 + type goto 148 + block goto 149 + localvariabledeclarationstatement goto 151 + localvariabledeclaration goto 152 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + blockstatement goto 259 + statement goto 167 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 315 + boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (101) + + . reduce 101 + + +state 316 + paralist : IDENTIFIER '<' paralist . '>' (32) + paralist : paralist . ',' IDENTIFIER (34) + paralist : paralist . ',' IDENTIFIER '<' paralist '>' (35) + paralist : paralist . ',' wildcardparameter (36) + + ',' shift 243 + '>' shift 366 + . error + + +state 317 + wildcardparameter : '?' EXTENDS referencetype . (38) + + . reduce 38 + + +state 318 + wildcardparameter : '?' SUPER referencetype . (39) + + . reduce 39 + + +state 319 + paralist : paralist ',' IDENTIFIER . (34) + paralist : paralist ',' IDENTIFIER . '<' paralist '>' (35) + + '<' shift 367 + ',' reduce 34 + '>' reduce 34 + + +state 320 + paralist : paralist ',' wildcardparameter . (36) + + . reduce 36 + + +state 321 + forstatement : FOR '(' ';' . expression ';' expression ')' statement (177) + forstatement : FOR '(' ';' . expression ';' ')' statement (179) + forstatement : FOR '(' ';' . ';' expression ')' statement (180) + forstatement : FOR '(' ';' . ';' ')' statement (181) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 368 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 369 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 322 + forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (174) + forstatement : FOR '(' expression . ';' expression ';' ')' statement (175) + forstatement : FOR '(' expression . ';' ';' expression ')' statement (176) + forstatement : FOR '(' expression . ';' ';' ')' statement (178) + + ';' shift 370 + . error + + +state 323 + ifthenstatement : IF '(' expression . ')' statement (171) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (172) + + ')' shift 371 + . error + + +state 324 + returnstatement : RETURN expression ';' . (187) + + . reduce 187 + + +state 325 + whilestatement : WHILE '(' expression . ')' statement (173) + + ')' shift 372 + . error + + +state 326 + lambdaexpressionparameter : '(' formalparameterlist ')' . (208) + + . reduce 208 + + +state 327 + qualifiedname : name '.' IDENTIFIER . (11) + + . reduce 11 + + +state 328 + methodinvocation : name '(' ')' . (221) + + . reduce 221 + + +state 329 + argumentlist : expression . (150) + + . reduce 150 + + +state 330 + argumentlist : argumentlist . ',' expression (151) + methodinvocation : name '(' argumentlist . ')' (222) + + ',' shift 373 + ')' shift 374 + . error + + +state 331 + lambdabody : block . (205) + + . reduce 205 + + +state 332 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (209) + + . reduce 209 + + +state 333 + lambdabody : expression . (206) + + . reduce 206 + + +state 334 + methodinvocation : primary '.' IDENTIFIER . '(' ')' (223) + methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (224) + + '(' shift 375 + . error + + +state 335 + assignment : lefthandside assignmentoperator assignmentexpression . (192) + + . reduce 192 + + +state 336 + assignment : lefthandside assignmentoperator classinstancecreationexpression . (193) + + . reduce 193 + + +state 337 + formalparameterlist : formalparameterlist ',' formalparameter . (135) + + . reduce 135 + + +state 338 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (116) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (118) + + THROWS shift 88 + '{' reduce 116 + + throws goto 376 + + +state 339 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (104) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (109) + + THROWS shift 88 + '{' reduce 104 + + throws goto 377 + + +state 340 + classtypelist : classtypelist ',' classtype . (139) + + . reduce 139 + + +state 341 + classinstancecreationexpression : NEW classtype '(' . ')' (225) + classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (226) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 378 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 329 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + argumentlist goto 379 + methodinvocation goto 217 + castexpression goto 218 + + +state 342 + castexpression : '(' primitivetype ')' . unaryexpression (258) + + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 250 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 380 + lambdaexpression goto 158 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + methodinvocation goto 217 + castexpression goto 218 + + +state 343 + multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (275) + + . reduce 275 + + +state 344 + multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (276) + + . reduce 276 + + +state 345 + multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (277) + + . reduce 277 + + +346: shift/reduce conflict (shift 287, reduce 272) on '*' +346: shift/reduce conflict (shift 288, reduce 272) on '/' +346: shift/reduce conflict (shift 289, reduce 272) on '%' +state 346 + additiveexpression : additiveexpression '+' multiplicativeexpression . (272) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (275) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (276) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (277) + + '*' shift 287 + '/' shift 288 + '%' shift 289 + ABSTRACT reduce 272 + BOOLEAN reduce 272 + CHAR reduce 272 + FINAL reduce 272 + INSTANCEOF reduce 272 + INT reduce 272 + PRIVATE reduce 272 + PROTECTED reduce 272 + PUBLIC reduce 272 + STATIC reduce 272 + VOID reduce 272 + IDENTIFIER reduce 272 + EQUAL reduce 272 + LESSEQUAL reduce 272 + GREATEREQUAL reduce 272 + NOTEQUAL reduce 272 + LOGICALOR reduce 272 + LOGICALAND reduce 272 + INCREMENT reduce 272 + DECREMENT reduce 272 + ',' reduce 272 + ';' reduce 272 + '.' reduce 272 + '<' reduce 272 + '>' reduce 272 + '}' reduce 272 + ')' reduce 272 + '&' reduce 272 + '+' reduce 272 + '-' reduce 272 + '|' reduce 272 + '^' reduce 272 + + +347: shift/reduce conflict (shift 287, reduce 273) on '*' +347: shift/reduce conflict (shift 288, reduce 273) on '/' +347: shift/reduce conflict (shift 289, reduce 273) on '%' +state 347 + additiveexpression : additiveexpression '-' multiplicativeexpression . (273) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (275) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (276) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (277) + + '*' shift 287 + '/' shift 288 + '%' shift 289 + ABSTRACT reduce 273 + BOOLEAN reduce 273 + CHAR reduce 273 + FINAL reduce 273 + INSTANCEOF reduce 273 + INT reduce 273 + PRIVATE reduce 273 + PROTECTED reduce 273 + PUBLIC reduce 273 + STATIC reduce 273 + VOID reduce 273 + IDENTIFIER reduce 273 + EQUAL reduce 273 + LESSEQUAL reduce 273 + GREATEREQUAL reduce 273 + NOTEQUAL reduce 273 + LOGICALOR reduce 273 + LOGICALAND reduce 273 + INCREMENT reduce 273 + DECREMENT reduce 273 + ',' reduce 273 + ';' reduce 273 + '.' reduce 273 + '<' reduce 273 + '>' reduce 273 + '}' reduce 273 + ')' reduce 273 + '&' reduce 273 + '+' reduce 273 + '-' reduce 273 + '|' reduce 273 + '^' reduce 273 + + +state 348 + relationalexpression : relationalexpression INSTANCEOF referencetype . (269) + + . reduce 269 + + +state 349 + relationalexpression : relationalexpression LESSEQUAL shiftexpression . (267) + + . reduce 267 + + +state 350 + relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (268) + + . reduce 268 + + +state 351 + relationalexpression : relationalexpression '<' shiftexpression . (265) + + . reduce 265 + + +state 352 + relationalexpression : relationalexpression '>' shiftexpression . (266) + + . reduce 266 + + +353: shift/reduce conflict (shift 292, reduce 262) on INSTANCEOF +353: shift/reduce conflict (shift 293, reduce 262) on LESSEQUAL +353: shift/reduce conflict (shift 294, reduce 262) on GREATEREQUAL +353: shift/reduce conflict (shift 295, reduce 262) on '<' +353: shift/reduce conflict (shift 296, reduce 262) on '>' +state 353 + equalityexpression : equalityexpression EQUAL relationalexpression . (262) + relationalexpression : relationalexpression . '<' shiftexpression (265) + relationalexpression : relationalexpression . '>' shiftexpression (266) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (267) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (268) + relationalexpression : relationalexpression . INSTANCEOF referencetype (269) + + INSTANCEOF shift 292 + LESSEQUAL shift 293 + GREATEREQUAL shift 294 + '<' shift 295 + '>' shift 296 + ABSTRACT reduce 262 + BOOLEAN reduce 262 + CHAR reduce 262 + FINAL reduce 262 + INT reduce 262 + PRIVATE reduce 262 + PROTECTED reduce 262 + PUBLIC reduce 262 + STATIC reduce 262 + VOID reduce 262 + IDENTIFIER reduce 262 + EQUAL reduce 262 + NOTEQUAL reduce 262 + LOGICALOR reduce 262 + LOGICALAND reduce 262 + INCREMENT reduce 262 + DECREMENT reduce 262 + ',' reduce 262 + ';' reduce 262 + '.' reduce 262 + '*' reduce 262 + '}' reduce 262 + ')' reduce 262 + '&' reduce 262 + '+' reduce 262 + '-' reduce 262 + '|' reduce 262 + '^' reduce 262 + '/' reduce 262 + '%' reduce 262 + + +354: shift/reduce conflict (shift 292, reduce 263) on INSTANCEOF +354: shift/reduce conflict (shift 293, reduce 263) on LESSEQUAL +354: shift/reduce conflict (shift 294, reduce 263) on GREATEREQUAL +354: shift/reduce conflict (shift 295, reduce 263) on '<' +354: shift/reduce conflict (shift 296, reduce 263) on '>' +state 354 + equalityexpression : equalityexpression NOTEQUAL relationalexpression . (263) + relationalexpression : relationalexpression . '<' shiftexpression (265) + relationalexpression : relationalexpression . '>' shiftexpression (266) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (267) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (268) + relationalexpression : relationalexpression . INSTANCEOF referencetype (269) + + INSTANCEOF shift 292 + LESSEQUAL shift 293 + GREATEREQUAL shift 294 + '<' shift 295 + '>' shift 296 + ABSTRACT reduce 263 + BOOLEAN reduce 263 + CHAR reduce 263 + FINAL reduce 263 + INT reduce 263 + PRIVATE reduce 263 + PROTECTED reduce 263 + PUBLIC reduce 263 + STATIC reduce 263 + VOID reduce 263 + IDENTIFIER reduce 263 + EQUAL reduce 263 + NOTEQUAL reduce 263 + LOGICALOR reduce 263 + LOGICALAND reduce 263 + INCREMENT reduce 263 + DECREMENT reduce 263 + ',' reduce 263 + ';' reduce 263 + '.' reduce 263 + '*' reduce 263 + '}' reduce 263 + ')' reduce 263 + '&' reduce 263 + '+' reduce 263 + '-' reduce 263 + '|' reduce 263 + '^' reduce 263 + '/' reduce 263 + '%' reduce 263 + + +355: shift/reduce conflict (shift 297, reduce 260) on EQUAL +355: shift/reduce conflict (shift 298, reduce 260) on NOTEQUAL +state 355 + andexpression : andexpression '&' equalityexpression . (260) + equalityexpression : equalityexpression . EQUAL relationalexpression (262) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (263) + + EQUAL shift 297 + NOTEQUAL shift 298 + ABSTRACT reduce 260 + BOOLEAN reduce 260 + CHAR reduce 260 + FINAL reduce 260 + INSTANCEOF reduce 260 + INT reduce 260 + PRIVATE reduce 260 + PROTECTED reduce 260 + PUBLIC reduce 260 + STATIC reduce 260 + VOID reduce 260 + IDENTIFIER reduce 260 + LESSEQUAL reduce 260 + GREATEREQUAL reduce 260 + LOGICALOR reduce 260 + LOGICALAND reduce 260 + INCREMENT reduce 260 + DECREMENT reduce 260 + ',' reduce 260 + ';' reduce 260 + '.' reduce 260 + '*' reduce 260 + '<' reduce 260 + '>' reduce 260 + '}' reduce 260 + ')' reduce 260 + '&' reduce 260 + '+' reduce 260 + '-' reduce 260 + '|' reduce 260 + '^' reduce 260 + '/' reduce 260 + '%' reduce 260 + + +356: shift/reduce conflict (shift 299, reduce 249) on '&' +state 356 + exclusiveorexpression : exclusiveorexpression '^' andexpression . (249) + andexpression : andexpression . '&' equalityexpression (260) + + '&' shift 299 + ABSTRACT reduce 249 + BOOLEAN reduce 249 + CHAR reduce 249 + FINAL reduce 249 + INSTANCEOF reduce 249 + INT reduce 249 + PRIVATE reduce 249 + PROTECTED reduce 249 + PUBLIC reduce 249 + STATIC reduce 249 + VOID reduce 249 + IDENTIFIER reduce 249 + EQUAL reduce 249 + LESSEQUAL reduce 249 + GREATEREQUAL reduce 249 + NOTEQUAL reduce 249 + LOGICALOR reduce 249 + LOGICALAND reduce 249 + INCREMENT reduce 249 + DECREMENT reduce 249 + ',' reduce 249 + ';' reduce 249 + '.' reduce 249 + '*' reduce 249 + '<' reduce 249 + '>' reduce 249 + '}' reduce 249 + ')' reduce 249 + '+' reduce 249 + '-' reduce 249 + '|' reduce 249 + '^' reduce 249 + '/' reduce 249 + '%' reduce 249 + + +357: shift/reduce conflict (shift 300, reduce 240) on '^' +state 357 + inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (240) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (249) + + '^' shift 300 + ABSTRACT reduce 240 + BOOLEAN reduce 240 + CHAR reduce 240 + FINAL reduce 240 + INSTANCEOF reduce 240 + INT reduce 240 + PRIVATE reduce 240 + PROTECTED reduce 240 + PUBLIC reduce 240 + STATIC reduce 240 + VOID reduce 240 + IDENTIFIER reduce 240 + EQUAL reduce 240 + LESSEQUAL reduce 240 + GREATEREQUAL reduce 240 + NOTEQUAL reduce 240 + LOGICALOR reduce 240 + LOGICALAND reduce 240 + INCREMENT reduce 240 + DECREMENT reduce 240 + ',' reduce 240 + ';' reduce 240 + '.' reduce 240 + '*' reduce 240 + '<' reduce 240 + '>' reduce 240 + '}' reduce 240 + ')' reduce 240 + '&' reduce 240 + '+' reduce 240 + '-' reduce 240 + '|' reduce 240 + '/' reduce 240 + '%' reduce 240 + + +358: shift/reduce conflict (shift 301, reduce 228) on '|' +state 358 + conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (228) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (240) + + '|' shift 301 + ABSTRACT reduce 228 + BOOLEAN reduce 228 + CHAR reduce 228 + FINAL reduce 228 + INSTANCEOF reduce 228 + INT reduce 228 + PRIVATE reduce 228 + PROTECTED reduce 228 + PUBLIC reduce 228 + STATIC reduce 228 + VOID reduce 228 + IDENTIFIER reduce 228 + EQUAL reduce 228 + LESSEQUAL reduce 228 + GREATEREQUAL reduce 228 + NOTEQUAL reduce 228 + LOGICALOR reduce 228 + LOGICALAND reduce 228 + INCREMENT reduce 228 + DECREMENT reduce 228 + ',' reduce 228 + ';' reduce 228 + '.' reduce 228 + '*' reduce 228 + '<' reduce 228 + '>' reduce 228 + '}' reduce 228 + ')' reduce 228 + '&' reduce 228 + '+' reduce 228 + '-' reduce 228 + '^' reduce 228 + '/' reduce 228 + '%' reduce 228 + + +359: shift/reduce conflict (shift 302, reduce 203) on LOGICALAND state 359 + conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (203) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (228) + + LOGICALAND shift 302 + ABSTRACT reduce 203 + BOOLEAN reduce 203 + CHAR reduce 203 + FINAL reduce 203 + INSTANCEOF reduce 203 + INT reduce 203 + PRIVATE reduce 203 + PROTECTED reduce 203 + PUBLIC reduce 203 + STATIC reduce 203 + VOID reduce 203 + IDENTIFIER reduce 203 + EQUAL reduce 203 + LESSEQUAL reduce 203 + GREATEREQUAL reduce 203 + NOTEQUAL reduce 203 + LOGICALOR reduce 203 + INCREMENT reduce 203 + DECREMENT reduce 203 + ',' reduce 203 + ';' reduce 203 + '.' reduce 203 + '*' reduce 203 + '<' reduce 203 + '>' reduce 203 + '}' reduce 203 + ')' reduce 203 + '&' reduce 203 + '+' reduce 203 + '-' reduce 203 + '|' reduce 203 + '^' reduce 203 + '/' reduce 203 + '%' reduce 203 + + +state 360 + fielddeclarator : type variabledeclarator '=' expression . (78) + + . reduce 78 + + +state 361 + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (117) + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (119) + + IDENTIFIER shift 81 + . error + + methoddeclarator goto 381 + + +state 362 + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (107) + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (111) + + IDENTIFIER shift 81 + . error + + methoddeclarator goto 382 + + +state 363 + explicitconstructorinvocation : THIS '(' ')' . ';' (136) + + ';' shift 383 + . error + + +state 364 + explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (137) + argumentlist : argumentlist . ',' expression (151) + + ',' shift 373 + ')' shift 384 + . error + + +state 365 + constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (93) + + . reduce 93 + + +state 366 paralist : IDENTIFIER '<' paralist '>' . (32) . reduce 32 -state 360 +state 367 paralist : paralist ',' IDENTIFIER '<' . paralist '>' (35) - IDENTIFIER shift 119 - '?' shift 120 + IDENTIFIER shift 120 + '?' shift 121 . error - paralist goto 378 - wildcardparameter goto 122 - - -state 361 - forstatement : FOR '(' ';' ';' . expression ')' statement (179) - forstatement : FOR '(' ';' ';' . ')' statement (180) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 379 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 380 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 362 - forstatement : FOR '(' ';' expression . ';' expression ')' statement (176) - forstatement : FOR '(' ';' expression . ';' ')' statement (178) - - ';' shift 381 - . error - - -state 363 - forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (173) - forstatement : FOR '(' expression ';' . expression ';' ')' statement (174) - forstatement : FOR '(' expression ';' . ';' expression ')' statement (175) - forstatement : FOR '(' expression ';' . ';' ')' statement (177) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 382 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 383 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 364 - ifthenstatement : IF '(' expression ')' . statement (170) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (171) - - FOR shift 123 - IF shift 384 - RETURN shift 125 - THIS shift 126 - WHILE shift 385 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 386 - statement goto 387 - statementnoshortif goto 388 - whilestatement goto 167 - forstatement goto 168 - whilestatementnoshortif goto 389 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - ifthenelsestatementnoshortif goto 390 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 365 - whilestatement : WHILE '(' expression ')' . statement (172) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 391 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 366 - argumentlist : argumentlist ',' . expression (150) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 392 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 367 - methodinvocation : name '(' argumentlist ')' . (221) - - . reduce 221 + paralist goto 385 + wildcardparameter goto 123 state 368 - methodinvocation : primary '.' IDENTIFIER '(' . ')' (222) - methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (223) + forstatement : FOR '(' ';' ';' . expression ')' statement (180) + forstatement : FOR '(' ';' ';' . ')' statement (181) - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 393 - '+' shift 190 - '-' shift 191 - '!' shift 192 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 386 + '+' shift 191 + '-' shift 192 + '!' shift 193 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 323 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - argumentlist goto 394 - methodinvocation goto 216 - castexpression goto 217 + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 387 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 state 369 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (117) + forstatement : FOR '(' ';' expression . ';' expression ')' statement (177) + forstatement : FOR '(' ';' expression . ';' ')' statement (179) - . reduce 117 + ';' shift 388 + . error state 370 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (108) + forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (174) + forstatement : FOR '(' expression ';' . expression ';' ')' statement (175) + forstatement : FOR '(' expression ';' . ';' expression ')' statement (176) + forstatement : FOR '(' expression ';' . ';' ')' statement (178) - . reduce 108 + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 389 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 390 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 state 371 - classinstancecreationexpression : NEW classtype '(' ')' . (224) + ifthenstatement : IF '(' expression ')' . statement (171) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (172) - . reduce 224 + FOR shift 124 + IF shift 391 + RETURN shift 126 + THIS shift 127 + WHILE shift 392 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 393 + statement goto 394 + statementnoshortif goto 395 + whilestatement goto 168 + forstatement goto 169 + whilestatementnoshortif goto 396 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + ifthenelsestatementnoshortif goto 397 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 state 372 - argumentlist : argumentlist . ',' expression (150) - classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (225) + whilestatement : WHILE '(' expression ')' . statement (173) - ',' shift 366 - ')' shift 395 + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 . error + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 398 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + state 373 - castexpression : '(' primitivetype ')' unaryexpression . (257) + argumentlist : argumentlist ',' . expression (151) - . reduce 257 + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 399 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 state 374 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (116) - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (118) + methodinvocation : name '(' argumentlist ')' . (222) - THROWS shift 88 - '{' reduce 116 - - throws goto 396 + . reduce 222 state 375 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (106) - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (110) + methodinvocation : primary '.' IDENTIFIER '(' . ')' (223) + methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (224) - THROWS shift 88 - '{' reduce 106 + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 400 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error - throws goto 397 + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 329 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + argumentlist goto 401 + methodinvocation goto 217 + castexpression goto 218 state 376 - explicitconstructorinvocation : THIS '(' ')' ';' . (135) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (118) - . reduce 135 + . reduce 118 state 377 - explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (136) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (109) - ';' shift 398 - . error + . reduce 109 state 378 + classinstancecreationexpression : NEW classtype '(' ')' . (225) + + . reduce 225 + + +state 379 + argumentlist : argumentlist . ',' expression (151) + classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (226) + + ',' shift 373 + ')' shift 402 + . error + + +state 380 + castexpression : '(' primitivetype ')' unaryexpression . (258) + + . reduce 258 + + +state 381 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (117) + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (119) + + THROWS shift 88 + '{' reduce 117 + + throws goto 403 + + +state 382 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (107) + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (111) + + THROWS shift 88 + '{' reduce 107 + + throws goto 404 + + +state 383 + explicitconstructorinvocation : THIS '(' ')' ';' . (136) + + . reduce 136 + + +state 384 + explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (137) + + ';' shift 405 + . error + + +state 385 paralist : paralist . ',' IDENTIFIER (34) paralist : paralist . ',' IDENTIFIER '<' paralist '>' (35) paralist : paralist ',' IDENTIFIER '<' paralist . '>' (35) paralist : paralist . ',' wildcardparameter (36) - ',' shift 239 - '>' shift 399 - . error - - -state 379 - forstatement : FOR '(' ';' ';' ')' . statement (180) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 400 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 380 - forstatement : FOR '(' ';' ';' expression . ')' statement (179) - - ')' shift 401 - . error - - -state 381 - forstatement : FOR '(' ';' expression ';' . expression ')' statement (176) - forstatement : FOR '(' ';' expression ';' . ')' statement (178) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 402 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 403 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 382 - forstatement : FOR '(' expression ';' ';' . expression ')' statement (175) - forstatement : FOR '(' expression ';' ';' . ')' statement (177) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 404 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 405 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 383 - forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (173) - forstatement : FOR '(' expression ';' expression . ';' ')' statement (174) - - ';' shift 406 - . error - - -state 384 - ifthenstatement : IF . '(' expression ')' statement (170) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (171) - ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (199) - - '(' shift 407 - . error - - -state 385 - whilestatement : WHILE . '(' expression ')' statement (172) - whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (200) - - '(' shift 408 + ',' shift 243 + '>' shift 406 . error state 386 - statement : statementwithouttrailingsubstatement . (155) - statementnoshortif : statementwithouttrailingsubstatement . (187) + forstatement : FOR '(' ';' ';' ')' . statement (181) - BOOLEAN reduce 155 - CHAR reduce 155 - ELSE reduce 187 - FOR reduce 155 - IF reduce 155 - INT reduce 155 - RETURN reduce 155 - THIS reduce 155 - WHILE reduce 155 - INTLITERAL reduce 155 - LONGLITERAL reduce 155 - DOUBLELITERAL reduce 155 - FLOATLITERAL reduce 155 - BOOLLITERAL reduce 155 - JNULL reduce 155 - CHARLITERAL reduce 155 - STRINGLITERAL reduce 155 - IDENTIFIER reduce 155 - INCREMENT reduce 155 - DECREMENT reduce 155 - ';' reduce 155 - '{' reduce 155 - '}' reduce 155 - '(' reduce 155 + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 407 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 state 387 - ifthenstatement : IF '(' expression ')' statement . (170) + forstatement : FOR '(' ';' ';' expression . ')' statement (180) - . reduce 170 - - -state 388 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (171) - - ELSE shift 409 + ')' shift 408 . error +state 388 + forstatement : FOR '(' ';' expression ';' . expression ')' statement (177) + forstatement : FOR '(' ';' expression ';' . ')' statement (179) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 409 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 410 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + state 389 - statementnoshortif : whilestatementnoshortif . (189) + forstatement : FOR '(' expression ';' ';' . expression ')' statement (176) + forstatement : FOR '(' expression ';' ';' . ')' statement (178) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 411 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 412 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 390 + forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (174) + forstatement : FOR '(' expression ';' expression . ';' ')' statement (175) + + ';' shift 413 + . error + + +state 391 + ifthenstatement : IF . '(' expression ')' statement (171) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (172) + ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (200) + + '(' shift 414 + . error + + +state 392 + whilestatement : WHILE . '(' expression ')' statement (173) + whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (201) + + '(' shift 415 + . error + + +state 393 + statement : statementwithouttrailingsubstatement . (156) + statementnoshortif : statementwithouttrailingsubstatement . (188) + + BOOLEAN reduce 156 + CHAR reduce 156 + ELSE reduce 188 + FOR reduce 156 + IF reduce 156 + INT reduce 156 + RETURN reduce 156 + THIS reduce 156 + WHILE reduce 156 + INTLITERAL reduce 156 + LONGLITERAL reduce 156 + DOUBLELITERAL reduce 156 + FLOATLITERAL reduce 156 + BOOLLITERAL reduce 156 + JNULL reduce 156 + CHARLITERAL reduce 156 + STRINGLITERAL reduce 156 + IDENTIFIER reduce 156 + INCREMENT reduce 156 + DECREMENT reduce 156 + ';' reduce 156 + '{' reduce 156 + '}' reduce 156 + '(' reduce 156 + + +state 394 + ifthenstatement : IF '(' expression ')' statement . (171) + + . reduce 171 + + +state 395 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (172) + + ELSE shift 416 + . error + + +state 396 + statementnoshortif : whilestatementnoshortif . (190) + + . reduce 190 + + +state 397 + statementnoshortif : ifthenelsestatementnoshortif . (189) . reduce 189 -state 390 - statementnoshortif : ifthenelsestatementnoshortif . (188) - - . reduce 188 - - -state 391 - whilestatement : WHILE '(' expression ')' statement . (172) - - . reduce 172 - - -state 392 - argumentlist : argumentlist ',' expression . (150) - - . reduce 150 - - -state 393 - methodinvocation : primary '.' IDENTIFIER '(' ')' . (222) - - . reduce 222 - - -state 394 - argumentlist : argumentlist . ',' expression (150) - methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (223) - - ',' shift 366 - ')' shift 410 - . error - - -state 395 - classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (225) - - . reduce 225 - - -state 396 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (118) - - . reduce 118 - - -state 397 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (110) - - . reduce 110 - - state 398 - explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (136) + whilestatement : WHILE '(' expression ')' statement . (173) - . reduce 136 + . reduce 173 state 399 + argumentlist : argumentlist ',' expression . (151) + + . reduce 151 + + +state 400 + methodinvocation : primary '.' IDENTIFIER '(' ')' . (223) + + . reduce 223 + + +state 401 + argumentlist : argumentlist . ',' expression (151) + methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (224) + + ',' shift 373 + ')' shift 417 + . error + + +state 402 + classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (226) + + . reduce 226 + + +state 403 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (119) + + . reduce 119 + + +state 404 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (111) + + . reduce 111 + + +state 405 + explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (137) + + . reduce 137 + + +state 406 paralist : paralist ',' IDENTIFIER '<' paralist '>' . (35) . reduce 35 -state 400 - forstatement : FOR '(' ';' ';' ')' statement . (180) +state 407 + forstatement : FOR '(' ';' ';' ')' statement . (181) + + . reduce 181 + + +state 408 + forstatement : FOR '(' ';' ';' expression ')' . statement (180) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 418 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 409 + forstatement : FOR '(' ';' expression ';' ')' . statement (179) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 419 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 410 + forstatement : FOR '(' ';' expression ';' expression . ')' statement (177) + + ')' shift 420 + . error + + +state 411 + forstatement : FOR '(' expression ';' ';' ')' . statement (178) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 421 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 412 + forstatement : FOR '(' expression ';' ';' expression . ')' statement (176) + + ')' shift 422 + . error + + +state 413 + forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (174) + forstatement : FOR '(' expression ';' expression ';' . ')' statement (175) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + ')' shift 423 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 424 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 414 + ifthenstatement : IF '(' . expression ')' statement (171) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (172) + ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (200) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 425 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 415 + whilestatement : WHILE '(' . expression ')' statement (173) + whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (201) + + NEW shift 189 + THIS shift 127 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + '(' shift 190 + '+' shift 191 + '-' shift 192 + '!' shift 193 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 195 + unaryexpressionnotplusminus goto 196 + unaryexpression goto 197 + multiplicativeexpression goto 198 + additiveexpression goto 199 + shiftexpression goto 200 + relationalexpression goto 201 + equalityexpression goto 202 + andexpression goto 203 + exclusiveorexpression goto 204 + inclusiveorexpression goto 205 + conditionalandexpression goto 206 + conditionalorexpression goto 207 + conditionalexpression goto 208 + assignmentexpression goto 209 + lambdaexpression goto 158 + expression goto 426 + preincrementexpression goto 211 + predecrementexpression goto 212 + postincrementexpression goto 213 + postdecrementexpression goto 214 + classinstancecreationexpression goto 215 + assignment goto 216 + lefthandside goto 175 + methodinvocation goto 217 + castexpression goto 218 + + +state 416 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (172) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 427 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 417 + methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (224) + + . reduce 224 + + +state 418 + forstatement : FOR '(' ';' ';' expression ')' statement . (180) . reduce 180 -state 401 - forstatement : FOR '(' ';' ';' expression ')' . statement (179) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 411 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 402 - forstatement : FOR '(' ';' expression ';' ')' . statement (178) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 412 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 403 - forstatement : FOR '(' ';' expression ';' expression . ')' statement (176) - - ')' shift 413 - . error - - -state 404 - forstatement : FOR '(' expression ';' ';' ')' . statement (177) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 414 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 405 - forstatement : FOR '(' expression ';' ';' expression . ')' statement (175) - - ')' shift 415 - . error - - -state 406 - forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (173) - forstatement : FOR '(' expression ';' expression ';' . ')' statement (174) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - ')' shift 416 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 417 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 407 - ifthenstatement : IF '(' . expression ')' statement (170) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (171) - ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (199) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 418 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 408 - whilestatement : WHILE '(' . expression ')' statement (172) - whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (200) - - NEW shift 188 - THIS shift 126 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - '(' shift 189 - '+' shift 190 - '-' shift 191 - '!' shift 192 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 194 - unaryexpressionnotplusminus goto 195 - unaryexpression goto 196 - multiplicativeexpression goto 197 - additiveexpression goto 198 - shiftexpression goto 199 - relationalexpression goto 200 - equalityexpression goto 201 - andexpression goto 202 - exclusiveorexpression goto 203 - inclusiveorexpression goto 204 - conditionalandexpression goto 205 - conditionalorexpression goto 206 - conditionalexpression goto 207 - assignmentexpression goto 208 - lambdaexpression goto 157 - expression goto 419 - preincrementexpression goto 210 - predecrementexpression goto 211 - postincrementexpression goto 212 - postdecrementexpression goto 213 - classinstancecreationexpression goto 214 - assignment goto 215 - lefthandside goto 174 - methodinvocation goto 216 - castexpression goto 217 - - -state 409 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (171) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 420 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 410 - methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (223) - - . reduce 223 - - -state 411 - forstatement : FOR '(' ';' ';' expression ')' statement . (179) +state 419 + forstatement : FOR '(' ';' expression ';' ')' statement . (179) . reduce 179 -state 412 - forstatement : FOR '(' ';' expression ';' ')' statement . (178) +state 420 + forstatement : FOR '(' ';' expression ';' expression ')' . statement (177) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 428 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 421 + forstatement : FOR '(' expression ';' ';' ')' statement . (178) . reduce 178 -state 413 - forstatement : FOR '(' ';' expression ';' expression ')' . statement (176) +state 422 + forstatement : FOR '(' expression ';' ';' expression ')' . statement (176) - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 '{' shift 79 - '(' shift 141 + '(' shift 142 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 421 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 429 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 -state 414 - forstatement : FOR '(' expression ';' ';' ')' statement . (177) +state 423 + forstatement : FOR '(' expression ';' expression ';' ')' . statement (175) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 430 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 424 + forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (174) + + ')' shift 431 + . error + + +state 425 + ifthenstatement : IF '(' expression . ')' statement (171) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (172) + ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (200) + + ')' shift 432 + . error + + +state 426 + whilestatement : WHILE '(' expression . ')' statement (173) + whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (201) + + ')' shift 433 + . error + + +state 427 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (172) + + . reduce 172 + + +state 428 + forstatement : FOR '(' ';' expression ';' expression ')' statement . (177) . reduce 177 -state 415 - forstatement : FOR '(' expression ';' ';' expression ')' . statement (175) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 422 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 416 - forstatement : FOR '(' expression ';' expression ';' ')' . statement (174) - - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 - statement goto 423 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 417 - forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (173) - - ')' shift 424 - . error - - -state 418 - ifthenstatement : IF '(' expression . ')' statement (170) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (171) - ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (199) - - ')' shift 425 - . error - - -state 419 - whilestatement : WHILE '(' expression . ')' statement (172) - whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (200) - - ')' shift 426 - . error - - -state 420 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (171) - - . reduce 171 - - -state 421 - forstatement : FOR '(' ';' expression ';' expression ')' statement . (176) +state 429 + forstatement : FOR '(' expression ';' ';' expression ')' statement . (176) . reduce 176 -state 422 - forstatement : FOR '(' expression ';' ';' expression ')' statement . (175) +state 430 + forstatement : FOR '(' expression ';' expression ';' ')' statement . (175) . reduce 175 -state 423 - forstatement : FOR '(' expression ';' expression ';' ')' statement . (174) +state 431 + forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (174) + + FOR shift 124 + IF shift 125 + RETURN shift 126 + THIS shift 127 + WHILE shift 128 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 165 + statement goto 434 + whilestatement goto 168 + forstatement goto 169 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 432 + ifthenstatement : IF '(' expression ')' . statement (171) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (172) + ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (200) + + FOR shift 124 + IF shift 391 + RETURN shift 126 + THIS shift 127 + WHILE shift 392 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 393 + statement goto 394 + statementnoshortif goto 435 + whilestatement goto 168 + forstatement goto 169 + whilestatementnoshortif goto 396 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + ifthenelsestatementnoshortif goto 397 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 433 + whilestatement : WHILE '(' expression ')' . statement (173) + whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (201) + + FOR shift 124 + IF shift 391 + RETURN shift 126 + THIS shift 127 + WHILE shift 392 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 393 + statement goto 398 + statementnoshortif goto 436 + whilestatement goto 168 + forstatement goto 169 + whilestatementnoshortif goto 396 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + ifthenelsestatementnoshortif goto 397 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 + + +state 434 + forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (174) . reduce 174 -state 424 - forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (173) +state 435 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (172) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (200) - FOR shift 123 - IF shift 124 - RETURN shift 125 - THIS shift 126 - WHILE shift 127 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 + ELSE shift 437 . error - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 164 + +state 436 + whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (201) + + . reduce 201 + + +state 437 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (172) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (200) + + FOR shift 124 + IF shift 391 + RETURN shift 126 + THIS shift 127 + WHILE shift 392 + INTLITERAL shift 129 + LONGLITERAL shift 130 + DOUBLELITERAL shift 131 + FLOATLITERAL shift 132 + BOOLLITERAL shift 133 + JNULL shift 134 + CHARLITERAL shift 135 + STRINGLITERAL shift 136 + IDENTIFIER shift 31 + INCREMENT shift 138 + DECREMENT shift 139 + ';' shift 140 + '{' shift 79 + '(' shift 142 + . error + + simplename goto 194 + qualifiedname goto 146 + name goto 147 + block goto 149 + lambdaexpressionparameter goto 153 + literal goto 154 + primarynonewarray goto 155 + primary goto 156 + postfixexpression goto 157 + lambdaexpression goto 158 + statementexpression goto 159 + preincrementexpression goto 160 + predecrementexpression goto 161 + postincrementexpression goto 162 + postdecrementexpression goto 163 + expressionstatement goto 164 + statementwithouttrailingsubstatement goto 393 statement goto 427 - whilestatement goto 167 - forstatement goto 168 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 + statementnoshortif goto 438 + whilestatement goto 168 + forstatement goto 169 + whilestatementnoshortif goto 396 + ifthenstatement goto 170 + ifthenelsestatement goto 171 + ifthenelsestatementnoshortif goto 397 + emptystatement goto 172 + returnstatement goto 173 + assignment goto 174 + lefthandside goto 175 + methodinvocation goto 176 -state 425 - ifthenstatement : IF '(' expression ')' . statement (170) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (171) - ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (199) - - FOR shift 123 - IF shift 384 - RETURN shift 125 - THIS shift 126 - WHILE shift 385 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 386 - statement goto 387 - statementnoshortif goto 428 - whilestatement goto 167 - forstatement goto 168 - whilestatementnoshortif goto 389 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - ifthenelsestatementnoshortif goto 390 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 426 - whilestatement : WHILE '(' expression ')' . statement (172) - whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (200) - - FOR shift 123 - IF shift 384 - RETURN shift 125 - THIS shift 126 - WHILE shift 385 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 386 - statement goto 391 - statementnoshortif goto 429 - whilestatement goto 167 - forstatement goto 168 - whilestatementnoshortif goto 389 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - ifthenelsestatementnoshortif goto 390 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 427 - forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (173) - - . reduce 173 - - -state 428 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (171) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (199) - - ELSE shift 430 - . error - - -state 429 - whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (200) +state 438 + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (200) . reduce 200 -state 430 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (171) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (199) - - FOR shift 123 - IF shift 384 - RETURN shift 125 - THIS shift 126 - WHILE shift 385 - INTLITERAL shift 128 - LONGLITERAL shift 129 - DOUBLELITERAL shift 130 - FLOATLITERAL shift 131 - BOOLLITERAL shift 132 - JNULL shift 133 - CHARLITERAL shift 134 - STRINGLITERAL shift 135 - IDENTIFIER shift 31 - INCREMENT shift 137 - DECREMENT shift 138 - ';' shift 139 - '{' shift 79 - '(' shift 141 - . error - - simplename goto 193 - qualifiedname goto 145 - name goto 146 - block goto 148 - lambdaexpressionparameter goto 152 - literal goto 153 - primarynonewarray goto 154 - primary goto 155 - postfixexpression goto 156 - lambdaexpression goto 157 - statementexpression goto 158 - preincrementexpression goto 159 - predecrementexpression goto 160 - postincrementexpression goto 161 - postdecrementexpression goto 162 - expressionstatement goto 163 - statementwithouttrailingsubstatement goto 386 - statement goto 420 - statementnoshortif goto 431 - whilestatement goto 167 - forstatement goto 168 - whilestatementnoshortif goto 389 - ifthenstatement goto 169 - ifthenelsestatement goto 170 - ifthenelsestatementnoshortif goto 390 - emptystatement goto 171 - returnstatement goto 172 - assignment goto 173 - lefthandside goto 174 - methodinvocation goto 175 - - -state 431 - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (199) - - . reduce 199 - - Rules never reduced: packagedeclaration : PACKAGE name ';' (2) importdeclarations : importdeclaration (3) @@ -7659,35 +7850,35 @@ Rules never reduced: interfacememberdeclaration : abstractmethoddeclaration (70) constantdeclaration : modifiers type IDENTIFIER '=' expression ';' (76) abstractmethoddeclaration : methodheader ';' (77) - variableinitializer : expression (153) + variableinitializer : expression (154) State 32 contains 1 shift/reduce conflict. State 42 contains 1 shift/reduce conflict. -State 104 contains 1 shift/reduce conflict. -State 146 contains 1 shift/reduce conflict. -State 155 contains 1 shift/reduce conflict. -State 194 contains 2 shift/reduce conflicts. -State 197 contains 3 shift/reduce conflicts. -State 198 contains 2 shift/reduce conflicts. -State 200 contains 5 shift/reduce conflicts. -State 201 contains 2 shift/reduce conflicts. -State 202 contains 1 shift/reduce conflict. +State 105 contains 1 shift/reduce conflict. +State 147 contains 1 shift/reduce conflict. +State 156 contains 1 shift/reduce conflict. +State 195 contains 2 shift/reduce conflicts. +State 198 contains 3 shift/reduce conflicts. +State 199 contains 2 shift/reduce conflicts. +State 201 contains 5 shift/reduce conflicts. +State 202 contains 2 shift/reduce conflicts. State 203 contains 1 shift/reduce conflict. State 204 contains 1 shift/reduce conflict. State 205 contains 1 shift/reduce conflict. State 206 contains 1 shift/reduce conflict. -State 246 contains 1 shift/reduce conflict. -State 340 contains 3 shift/reduce conflicts. -State 341 contains 3 shift/reduce conflicts. -State 347 contains 5 shift/reduce conflicts. -State 348 contains 5 shift/reduce conflicts. -State 349 contains 2 shift/reduce conflicts. -State 350 contains 1 shift/reduce conflict. -State 351 contains 1 shift/reduce conflict. -State 352 contains 1 shift/reduce conflict. -State 353 contains 1 shift/reduce conflict. +State 207 contains 1 shift/reduce conflict. +State 250 contains 1 shift/reduce conflict. +State 346 contains 3 shift/reduce conflicts. +State 347 contains 3 shift/reduce conflicts. +State 353 contains 5 shift/reduce conflicts. +State 354 contains 5 shift/reduce conflicts. +State 355 contains 2 shift/reduce conflicts. +State 356 contains 1 shift/reduce conflict. +State 357 contains 1 shift/reduce conflict. +State 358 contains 1 shift/reduce conflict. +State 359 contains 1 shift/reduce conflict. 97 terminals, 116 nonterminals -277 grammar rules, 432 states +278 grammar rules, 439 states