From 258c172f80e10ab91372a7b4d2acf629da48b862 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 16 Apr 2014 17:34:35 +0200 Subject: [PATCH] Modifikation am Parser. Auch Felder sind Generisc. --- bin/mycompiler/myparser/JavaParser.jay | 10 +- src/mycompiler/myclass/Field.java | 2 +- src/mycompiler/myclass/FieldDeclaration.java | 6 + src/mycompiler/myclass/Generic.java | 14 + src/mycompiler/myclass/Method.java | 5 + src/mycompiler/myparser/JavaParser.java | 2727 ++-- src/mycompiler/myparser/JavaParser.jay | 10 +- .../mytype/BoundedGenericTypeVar.java | 6 +- src/typinferenz/TypeInsertSet.java | 5 +- test/parser/BoundedParameter.jav | 3 + test/parser/GeneralParserTest.java | 5 +- test/plugindevelopment/TRMEqualTest.java | 2 +- tools/y.output | 12171 ++++++++-------- 13 files changed, 7570 insertions(+), 7396 deletions(-) create mode 100644 src/mycompiler/myclass/Generic.java create mode 100644 test/parser/BoundedParameter.jav diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index 5f0306837..fb9c4897d 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -906,6 +906,12 @@ fielddeclaration : fielddeclarator ';' $2.setType($1); $$=$2; } + | '<' boundedMethodParameters '>' type fielddeclarator + {//angefügt von Andreas Stadelmeier + $5.setGenericParameter($2); + $5.setType($4); + $$=$5; + } | variabledeclarators ';' { @@ -1022,8 +1028,8 @@ boundedMethodParameter : IDENTIFIER } | IDENTIFIER EXTENDS boundedclassidentifierlist { - BoundedGenericTypeVar gtv=new BoundedGenericTypeVar($1.getLexem(),$1.getOffset()); - gtv.setBounds($3); + BoundedGenericTypeVar gtv=new BoundedGenericTypeVar($1.getLexem(),$3,$1.getOffset()); + //gtv.setBounds($3); $$=gtv; } // returns Vector diff --git a/src/mycompiler/myclass/Field.java b/src/mycompiler/myclass/Field.java index c736a3514..b645d636e 100644 --- a/src/mycompiler/myclass/Field.java +++ b/src/mycompiler/myclass/Field.java @@ -18,7 +18,7 @@ import typinferenz.Typeable; import typinferenz.TypeInsertable; import typinferenz.assumptions.TypeAssumptions; -public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Typeable{ +public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Typeable, Generic{ protected Vector declid = new Vector(); // Vector, da 'int a, b, c, ...' auch eingeparst werden muss diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java index a878284a5..c96ef69c6 100644 --- a/src/mycompiler/myclass/FieldDeclaration.java +++ b/src/mycompiler/myclass/FieldDeclaration.java @@ -30,6 +30,7 @@ public class FieldDeclaration extends Field{ private Expr wert; //private Type type; + private Vector parameter; /** * Dieser Konstruktor der FieldDeclaration erstellt den Syntaxknoten vollständig. @@ -160,4 +161,9 @@ public class FieldDeclaration extends Field{ if(this.getWert()!=null)this.getWert().wandleRefTypeAttributes2GenericAttributes(paralist, new Vector()); //FieldDeclaration hat keine Generischen Variablen, daher leere Liste übergeben } + @Override + public void setGenericParameter(Vector params) { + this.parameter = params; + } + } diff --git a/src/mycompiler/myclass/Generic.java b/src/mycompiler/myclass/Generic.java new file mode 100644 index 000000000..b26a2257d --- /dev/null +++ b/src/mycompiler/myclass/Generic.java @@ -0,0 +1,14 @@ +package mycompiler.myclass; + +import java.util.Vector; + +import mycompiler.mytype.GenericTypeVar; + +/** + * Wird von allen Klassen implementiert, welche generische Parameter halten können. (Class, Method und Field) + * @author janulrich + * + */ +public interface Generic { + public void setGenericParameter(Vector params); +} diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index 0f8141ba5..bcb94f155 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -736,6 +736,11 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable return super.equals(obj); } + @Override + public void setGenericParameter(Vector params) { + this.genericMethodParameters = params; + } + } diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index a586a203b..b7062e2ec 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -357,6 +357,7 @@ public Vector testPair = new Vector(); //t "fielddeclarator : variabledeclarator '=' expression", //t "fielddeclaration : fielddeclarator ';'", //t "fielddeclaration : type fielddeclarator", +//t "fielddeclaration : '<' boundedMethodParameters '>' type fielddeclarator", //t "fielddeclaration : variabledeclarators ';'", //t "fielddeclaration : type variabledeclarators ';'", //t "fielddeclaration : modifiers type variabledeclarators ';'", @@ -1458,21 +1459,29 @@ case 88: } break; case 89: - // line 911 "./../src/mycompiler/myparser/JavaParser.jay" + // line 910 "./../src/mycompiler/myparser/JavaParser.jay" + {/*angefügt von Andreas Stadelmeier*/ + ((FieldDeclaration)yyVals[0+yyTop]).setGenericParameter(((Vector)yyVals[-3+yyTop])); + ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); + yyVal=((FieldDeclaration)yyVals[0+yyTop]); + } + break; +case 90: + // line 917 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 90: - // line 916 "./../src/mycompiler/myparser/JavaParser.jay" +case 91: + // line 922 "./../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 91: - // line 923 "./../src/mycompiler/myparser/JavaParser.jay" +case 92: + // line 929 "./../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++) @@ -1482,28 +1491,28 @@ case 91: yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 92: - // line 933 "./../src/mycompiler/myparser/JavaParser.jay" +case 93: + // line 939 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 93: - // line 940 "./../src/mycompiler/myparser/JavaParser.jay" +case 94: + // line 946 "./../src/mycompiler/myparser/JavaParser.jay" { Block Bl = new Block(); yyVal=Bl; } break; -case 94: - // line 946 "./../src/mycompiler/myparser/JavaParser.jay" +case 95: + // line 952 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 95: - // line 951 "./../src/mycompiler/myparser/JavaParser.jay" +case 96: + // line 957 "./../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(); @@ -1512,8 +1521,8 @@ case 95: yyVal=CON; } break; -case 96: - // line 959 "./../src/mycompiler/myparser/JavaParser.jay" +case 97: + // line 965 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CONpara = new Constructor(null); DeclId DIconpara = new DeclId(); @@ -1523,29 +1532,29 @@ case 96: yyVal=CONpara; } break; -case 97: - // line 969 "./../src/mycompiler/myparser/JavaParser.jay" +case 98: + // line 975 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBL = new Block(); yyVal=CBL; } break; -case 98: - // line 974 "./../src/mycompiler/myparser/JavaParser.jay" +case 99: + // line 980 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBLexpl = new Block(); CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop])); yyVal=CBLexpl; } break; -case 99: - // line 980 "./../src/mycompiler/myparser/JavaParser.jay" +case 100: + // line 986 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 100: - // line 984 "./../src/mycompiler/myparser/JavaParser.jay" +case 101: + // line 990 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBes = new Block(); CBes.set_Statement(((Statement)yyVals[-2+yyTop])); @@ -1556,51 +1565,51 @@ case 100: yyVal=CBes; } break; -case 101: - // line 995 "./../src/mycompiler/myparser/JavaParser.jay" +case 102: + // line 1001 "./../src/mycompiler/myparser/JavaParser.jay" { ExceptionList EL = new ExceptionList(); EL.set_addElem(((RefType)yyVals[0+yyTop])); yyVal=EL; } break; -case 102: - // line 1002 "./../src/mycompiler/myparser/JavaParser.jay" +case 103: + // line 1008 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((GenericTypeVar)yyVals[0+yyTop]); } break; -case 103: - // line 1007 "./../src/mycompiler/myparser/JavaParser.jay" +case 104: + // line 1013 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList p = new ParaList(); p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=p; } break; -case 104: - // line 1013 "./../src/mycompiler/myparser/JavaParser.jay" +case 105: + // line 1019 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 105: - // line 1020 "./../src/mycompiler/myparser/JavaParser.jay" +case 106: + // line 1026 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset()); } break; -case 106: - // line 1024 "./../src/mycompiler/myparser/JavaParser.jay" +case 107: + // line 1030 "./../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])); + BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(),((Vector)yyVals[0+yyTop]),((Token)yyVals[-2+yyTop]).getOffset()); + /*gtv.setBounds($3);*/ yyVal=gtv; } break; -case 107: - // line 1031 "./../src/mycompiler/myparser/JavaParser.jay" +case 108: + // line 1037 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((RefType)yyVals[0+yyTop])); @@ -1608,54 +1617,54 @@ case 107: yyVal=vec; } break; -case 108: - // line 1038 "./../src/mycompiler/myparser/JavaParser.jay" +case 109: + // line 1044 "./../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 109: - // line 1045 "./../src/mycompiler/myparser/JavaParser.jay" +case 110: + // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=vec; } break; -case 110: - // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" +case 111: + // line 1057 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 111: - // line 1059 "./../src/mycompiler/myparser/JavaParser.jay" +case 112: + // line 1065 "./../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 112: - // line 1065 "./../src/mycompiler/myparser/JavaParser.jay" - { - ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); - yyVal=((Method)yyVals[0+yyTop]); - } - break; case 113: - // line 1070 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1071 "./../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 114: // line 1076 "./../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 115: + // line 1082 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); @@ -1663,16 +1672,16 @@ case 114: yyVal=((Method)yyVals[0+yyTop]); } break; -case 115: - // line 1083 "./../src/mycompiler/myparser/JavaParser.jay" +case 116: + // line 1089 "./../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 116: - // line 1089 "./../src/mycompiler/myparser/JavaParser.jay" +case 117: + // line 1095 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1680,8 +1689,8 @@ case 116: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 117: - // line 1096 "./../src/mycompiler/myparser/JavaParser.jay" +case 118: + // line 1102 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1689,8 +1698,8 @@ case 117: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 118: - // line 1103 "./../src/mycompiler/myparser/JavaParser.jay" +case 119: + // line 1109 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); @@ -1699,16 +1708,16 @@ case 118: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 119: - // line 1111 "./../src/mycompiler/myparser/JavaParser.jay" +case 120: + // line 1117 "./../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 120: - // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" +case 121: + // line 1123 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1716,8 +1725,8 @@ case 120: yyVal=((Method)yyVals[0+yyTop]); } break; -case 121: - // line 1124 "./../src/mycompiler/myparser/JavaParser.jay" +case 122: + // line 1130 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1725,8 +1734,8 @@ case 121: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 122: - // line 1131 "./../src/mycompiler/myparser/JavaParser.jay" +case 123: + // line 1137 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1735,8 +1744,8 @@ case 122: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 123: - // line 1139 "./../src/mycompiler/myparser/JavaParser.jay" +case 124: + // line 1145 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); @@ -1744,8 +1753,8 @@ case 123: yyVal=((Method)yyVals[0+yyTop]); } break; -case 124: - // line 1146 "./../src/mycompiler/myparser/JavaParser.jay" +case 125: + // line 1152 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); @@ -1754,8 +1763,8 @@ case 124: yyVal=((Method)yyVals[0+yyTop]); } break; -case 125: - // line 1154 "./../src/mycompiler/myparser/JavaParser.jay" +case 126: + // line 1160 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1764,8 +1773,8 @@ case 125: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 126: - // line 1162 "./../src/mycompiler/myparser/JavaParser.jay" +case 127: + // line 1168 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); @@ -1775,39 +1784,39 @@ case 126: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 127: - // line 1172 "./../src/mycompiler/myparser/JavaParser.jay" +case 128: + // line 1178 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; -case 128: - // line 1177 "./../src/mycompiler/myparser/JavaParser.jay" +case 129: + // line 1183 "./../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 129: - // line 1184 "./../src/mycompiler/myparser/JavaParser.jay" +case 130: + // line 1190 "./../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 130: - // line 1190 "./../src/mycompiler/myparser/JavaParser.jay" +case 131: + // line 1196 "./../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 131: - // line 1196 "./../src/mycompiler/myparser/JavaParser.jay" +case 132: + // line 1202 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ @@ -1815,32 +1824,32 @@ case 131: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 132: - // line 1205 "./../src/mycompiler/myparser/JavaParser.jay" +case 133: + // line 1211 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 133: - // line 1209 "./../src/mycompiler/myparser/JavaParser.jay" +case 134: + // line 1215 "./../src/mycompiler/myparser/JavaParser.jay" { ((BaseType)yyVals[-2+yyTop]).setArray(true); } break; -case 134: - // line 1213 "./../src/mycompiler/myparser/JavaParser.jay" +case 135: + // line 1219 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((RefType)yyVals[0+yyTop]); } break; -case 135: - // line 1217 "./../src/mycompiler/myparser/JavaParser.jay" +case 136: + // line 1223 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).setArray(true); } break; -case 136: - // line 1221 "./../src/mycompiler/myparser/JavaParser.jay" +case 137: + // line 1227 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); IVD.getDeclIdVector().addElement( ((DeclId)yyVals[0+yyTop]) ); @@ -1848,66 +1857,66 @@ case 136: yyVal = IVD; } break; -case 137: - // line 1228 "./../src/mycompiler/myparser/JavaParser.jay" +case 138: + // line 1234 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; -case 138: - // line 1234 "./../src/mycompiler/myparser/JavaParser.jay" +case 139: + // line 1240 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 139: - // line 1239 "./../src/mycompiler/myparser/JavaParser.jay" +case 140: + // line 1245 "./../src/mycompiler/myparser/JavaParser.jay" { Block Blstat = new Block(); Blstat.set_Statement(((Statement)yyVals[0+yyTop])); yyVal=Blstat; } break; -case 140: - // line 1246 "./../src/mycompiler/myparser/JavaParser.jay" +case 141: + // line 1252 "./../src/mycompiler/myparser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; -case 141: - // line 1252 "./../src/mycompiler/myparser/JavaParser.jay" +case 142: + // line 1258 "./../src/mycompiler/myparser/JavaParser.jay" { ParameterList PL = new ParameterList(); PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = PL; } break; -case 142: - // line 1258 "./../src/mycompiler/myparser/JavaParser.jay" +case 143: + // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; -case 143: - // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" +case 144: + // line 1270 "./../src/mycompiler/myparser/JavaParser.jay" { This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; -case 144: - // line 1269 "./../src/mycompiler/myparser/JavaParser.jay" +case 145: + // line 1275 "./../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 145: - // line 1278 "./../src/mycompiler/myparser/JavaParser.jay" +case 146: + // line 1284 "./../src/mycompiler/myparser/JavaParser.jay" { RefType RT = new RefType(-1); RT.set_UsedId(((UsedId)yyVals[0+yyTop])); @@ -1915,16 +1924,16 @@ case 145: yyVal=RT; } break; -case 146: - // line 1285 "./../src/mycompiler/myparser/JavaParser.jay" +case 147: + // line 1291 "./../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 147: - // line 1292 "./../src/mycompiler/myparser/JavaParser.jay" +case 148: + // line 1298 "./../src/mycompiler/myparser/JavaParser.jay" { Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1938,8 +1947,8 @@ case 147: yyVal = met; } break; -case 148: - // line 1305 "./../src/mycompiler/myparser/JavaParser.jay" +case 149: + // line 1311 "./../src/mycompiler/myparser/JavaParser.jay" { Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1954,8 +1963,8 @@ case 148: yyVal = met_para; } break; -case 149: - // line 1320 "./../src/mycompiler/myparser/JavaParser.jay" +case 150: + // line 1326 "./../src/mycompiler/myparser/JavaParser.jay" { BooleanType BT = new BooleanType(); /* #JB# 05.04.2005 */ @@ -1965,14 +1974,14 @@ case 149: yyVal=BT; } break; -case 150: - // line 1329 "./../src/mycompiler/myparser/JavaParser.jay" +case 151: + // line 1335 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 151: - // line 1334 "./../src/mycompiler/myparser/JavaParser.jay" +case 152: + // line 1340 "./../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()); @@ -1991,26 +2000,26 @@ case 151: yyVal=RT; } break; -case 152: - // line 1354 "./../src/mycompiler/myparser/JavaParser.jay" +case 153: + // line 1360 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; -case 153: - // line 1375 "./../src/mycompiler/myparser/JavaParser.jay" +case 154: + // line 1381 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; -case 154: - // line 1379 "./../src/mycompiler/myparser/JavaParser.jay" +case 155: + // line 1385 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 155: - // line 1384 "./../src/mycompiler/myparser/JavaParser.jay" +case 156: + // line 1390 "./../src/mycompiler/myparser/JavaParser.jay" { FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); FP.setType(((Type)yyVals[-1+yyTop])); @@ -2018,8 +2027,8 @@ case 155: yyVal=FP; } break; -case 156: - // line 1409 "./../src/mycompiler/myparser/JavaParser.jay" +case 157: + // line 1415 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); @@ -2038,29 +2047,29 @@ case 156: yyVal=FP; } break; -case 157: - // line 1428 "./../src/mycompiler/myparser/JavaParser.jay" +case 158: + // line 1434 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); AL.expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=AL; } break; -case 158: - // line 1434 "./../src/mycompiler/myparser/JavaParser.jay" +case 159: + // line 1440 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; -case 159: - // line 1440 "./../src/mycompiler/myparser/JavaParser.jay" +case 160: + // line 1446 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 160: - // line 1445 "./../src/mycompiler/myparser/JavaParser.jay" +case 161: + // line 1451 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); /* #JB# 10.04.2005 */ @@ -2072,62 +2081,62 @@ case 160: yyVal=DI; } break; -case 161: - // line 1457 "./../src/mycompiler/myparser/JavaParser.jay" +case 162: + // line 1463 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 162: - // line 1462 "./../src/mycompiler/myparser/JavaParser.jay" +case 163: + // line 1468 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; -case 163: - // line 1467 "./../src/mycompiler/myparser/JavaParser.jay" +case 164: + // line 1473 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 164: - // line 1471 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((IfStmt)yyVals[0+yyTop]); - } - break; case 165: - // line 1475 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1477 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 166: - // line 1479 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1481 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((IfStmt)yyVals[0+yyTop]); + } + break; +case 167: + // line 1485 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 167: - // line 1483 "./../src/mycompiler/myparser/JavaParser.jay" +case 168: + // line 1489 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; -case 168: - // line 1488 "./../src/mycompiler/myparser/JavaParser.jay" +case 169: + // line 1494 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 169: - // line 1492 "./../src/mycompiler/myparser/JavaParser.jay" +case 170: + // line 1498 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; -case 170: - // line 1497 "./../src/mycompiler/myparser/JavaParser.jay" +case 171: + // line 1503 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); /* #JB# 05.04.2005 */ @@ -2137,8 +2146,8 @@ case 170: yyVal=IT; } break; -case 171: - // line 1506 "./../src/mycompiler/myparser/JavaParser.jay" +case 172: + // line 1512 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); /* #JB# 05.04.2005 */ @@ -2148,8 +2157,8 @@ case 171: yyVal=CT; } break; -case 172: - // line 1516 "./../src/mycompiler/myparser/JavaParser.jay" +case 173: + // line 1522 "./../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()); @@ -2158,8 +2167,8 @@ case 172: yyVal = LVD; } break; -case 173: - // line 1527 "./../src/mycompiler/myparser/JavaParser.jay" +case 174: + // line 1533 "./../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()); @@ -2168,32 +2177,32 @@ case 173: yyVal = LVD; } break; -case 174: - // line 1537 "./../src/mycompiler/myparser/JavaParser.jay" +case 175: + // line 1543 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 175: - // line 1541 "./../src/mycompiler/myparser/JavaParser.jay" +case 176: + // line 1547 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; -case 176: - // line 1545 "./../src/mycompiler/myparser/JavaParser.jay" +case 177: + // line 1551 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; -case 177: - // line 1549 "./../src/mycompiler/myparser/JavaParser.jay" +case 178: + // line 1555 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; -case 178: - // line 1554 "./../src/mycompiler/myparser/JavaParser.jay" +case 179: + // line 1560 "./../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])); @@ -2201,8 +2210,8 @@ case 178: yyVal=Ifst; } break; -case 179: - // line 1562 "./../src/mycompiler/myparser/JavaParser.jay" +case 180: + // line 1568 "./../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])); @@ -2211,8 +2220,8 @@ case 179: yyVal=IfstElst; } break; -case 180: - // line 1571 "./../src/mycompiler/myparser/JavaParser.jay" +case 181: + // line 1577 "./../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])); @@ -2220,8 +2229,8 @@ case 180: yyVal=Whlst; } break; -case 181: - // line 1582 "./../src/mycompiler/myparser/JavaParser.jay" +case 182: + // line 1588 "./../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])); @@ -2233,8 +2242,8 @@ case 181: yyVal = Fst; } break; -case 182: - // line 1594 "./../src/mycompiler/myparser/JavaParser.jay" +case 183: + // line 1600 "./../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])); @@ -2245,8 +2254,8 @@ case 182: yyVal = Fst; } break; -case 183: - // line 1605 "./../src/mycompiler/myparser/JavaParser.jay" +case 184: + // line 1611 "./../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])); @@ -2257,8 +2266,8 @@ case 183: yyVal = Fst; } break; -case 184: - // line 1616 "./../src/mycompiler/myparser/JavaParser.jay" +case 185: + // line 1622 "./../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])); @@ -2269,8 +2278,8 @@ case 184: yyVal = Fst; } break; -case 185: - // line 1627 "./../src/mycompiler/myparser/JavaParser.jay" +case 186: + // line 1633 "./../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])); @@ -2280,8 +2289,8 @@ case 185: yyVal = Fst; } break; -case 186: - // line 1637 "./../src/mycompiler/myparser/JavaParser.jay" +case 187: + // line 1643 "./../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])); @@ -2291,8 +2300,8 @@ case 186: yyVal = Fst; } break; -case 187: - // line 1647 "./../src/mycompiler/myparser/JavaParser.jay" +case 188: + // line 1653 "./../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])); @@ -2302,8 +2311,8 @@ case 187: yyVal = Fst; } break; -case 188: - // line 1657 "./../src/mycompiler/myparser/JavaParser.jay" +case 189: + // line 1663 "./../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])); @@ -2312,73 +2321,73 @@ case 188: yyVal = Fst; } break; -case 189: - // line 1666 "./../src/mycompiler/myparser/JavaParser.jay" +case 190: + // line 1672 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; -case 190: - // line 1671 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Assign)yyVals[0+yyTop]); - } - break; case 191: // line 1677 "./../src/mycompiler/myparser/JavaParser.jay" { - EmptyStmt Empst = new EmptyStmt(); - yyVal=Empst; + yyVal=((Assign)yyVals[0+yyTop]); } break; case 192: // line 1683 "./../src/mycompiler/myparser/JavaParser.jay" { - yyVal=((Expr)yyVals[-1+yyTop]); + EmptyStmt Empst = new EmptyStmt(); + yyVal=Empst; } break; case 193: - // line 1688 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1689 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[-1+yyTop]); + } + break; +case 194: + // line 1694 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; -case 194: - // line 1693 "./../src/mycompiler/myparser/JavaParser.jay" +case 195: + // line 1699 "./../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 195: - // line 1700 "./../src/mycompiler/myparser/JavaParser.jay" +case 196: + // line 1706 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 196: - // line 1704 "./../src/mycompiler/myparser/JavaParser.jay" +case 197: + // line 1710 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 197: - // line 1708 "./../src/mycompiler/myparser/JavaParser.jay" +case 198: + // line 1714 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 198: - // line 1713 "./../src/mycompiler/myparser/JavaParser.jay" +case 199: + // line 1719 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 199: - // line 1719 "./../src/mycompiler/myparser/JavaParser.jay" +case 200: + // line 1725 "./../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()); @@ -2404,8 +2413,8 @@ case 199: yyVal=Ass; } break; -case 200: - // line 1744 "./../src/mycompiler/myparser/JavaParser.jay" +case 201: + // line 1750 "./../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()); @@ -2428,44 +2437,44 @@ case 200: yyVal=Ass; } break; -case 201: - // line 1767 "./../src/mycompiler/myparser/JavaParser.jay" +case 202: + // line 1773 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 202: - // line 1771 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 203: - // line 1775 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1777 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 204: - // line 1779 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1781 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 205: - // line 1783 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1785 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 206: - // line 1787 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1789 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 207: + // line 1793 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 207: - // line 1798 "./../src/mycompiler/myparser/JavaParser.jay" +case 208: + // line 1804 "./../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])); @@ -2474,8 +2483,8 @@ case 207: yyVal=IfElno; } break; -case 208: - // line 1807 "./../src/mycompiler/myparser/JavaParser.jay" +case 209: + // line 1813 "./../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])); @@ -2483,14 +2492,14 @@ case 208: yyVal=Whstno; } break; -case 209: - // line 1815 "./../src/mycompiler/myparser/JavaParser.jay" +case 210: + // line 1821 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 210: - // line 1819 "./../src/mycompiler/myparser/JavaParser.jay" +case 211: + // line 1825 "./../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()); @@ -2501,20 +2510,20 @@ case 210: yyVal=LogOr; } break; -case 211: - // line 1832 "./../src/mycompiler/myparser/JavaParser.jay" +case 212: + // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 212: - // line 1837 "./../src/mycompiler/myparser/JavaParser.jay" +case 213: + // line 1843 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 213: - // line 1841 "./../src/mycompiler/myparser/JavaParser.jay" +case 214: + // line 1847 "./../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";}|*/ @@ -2524,20 +2533,20 @@ case 213: yyVal=ret; } break; -case 214: - // line 1851 "./../src/mycompiler/myparser/JavaParser.jay" +case 215: + // line 1857 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 215: - // line 1855 "./../src/mycompiler/myparser/JavaParser.jay" +case 216: + // line 1861 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; -case 216: - // line 1860 "./../src/mycompiler/myparser/JavaParser.jay" +case 217: + // line 1866 "./../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])); @@ -2545,87 +2554,87 @@ case 216: yyVal=lambda; } break; -case 217: - // line 1879 "./../src/mycompiler/myparser/JavaParser.jay" +case 218: + // line 1885 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; -case 218: - // line 1884 "./../src/mycompiler/myparser/JavaParser.jay" +case 219: + // line 1890 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 219: - // line 1888 "./../src/mycompiler/myparser/JavaParser.jay" +case 220: + // line 1894 "./../src/mycompiler/myparser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; -case 220: - // line 1893 "./../src/mycompiler/myparser/JavaParser.jay" +case 221: + // line 1899 "./../src/mycompiler/myparser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; -case 221: - // line 1898 "./../src/mycompiler/myparser/JavaParser.jay" +case 222: + // line 1904 "./../src/mycompiler/myparser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; -case 222: - // line 1903 "./../src/mycompiler/myparser/JavaParser.jay" +case 223: + // line 1909 "./../src/mycompiler/myparser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; -case 223: - // line 1908 "./../src/mycompiler/myparser/JavaParser.jay" +case 224: + // line 1914 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; -case 224: - // line 1920 "./../src/mycompiler/myparser/JavaParser.jay" +case 225: + // line 1926 "./../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 225: - // line 1927 "./../src/mycompiler/myparser/JavaParser.jay" +case 226: + // line 1933 "./../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 226: - // line 1934 "./../src/mycompiler/myparser/JavaParser.jay" +case 227: + // line 1940 "./../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 227: - // line 1941 "./../src/mycompiler/myparser/JavaParser.jay" +case 228: + // line 1947 "./../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 228: - // line 1949 "./../src/mycompiler/myparser/JavaParser.jay" +case 229: + // line 1955 "./../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()); @@ -2656,8 +2665,8 @@ case 228: yyVal=MC; } break; -case 229: - // line 1979 "./../src/mycompiler/myparser/JavaParser.jay" +case 230: + // line 1985 "./../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()); @@ -2689,8 +2698,8 @@ case 229: yyVal=MCarg; } break; -case 230: - // line 2010 "./../src/mycompiler/myparser/JavaParser.jay" +case 231: + // line 2016 "./../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()); @@ -2710,8 +2719,8 @@ case 230: yyVal=MCpr; } break; -case 231: - // line 2029 "./../src/mycompiler/myparser/JavaParser.jay" +case 232: + // line 2035 "./../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()); @@ -2732,8 +2741,8 @@ case 231: yyVal=MCPA; } break; -case 232: - // line 2052 "./../src/mycompiler/myparser/JavaParser.jay" +case 233: + // line 2058 "./../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])); @@ -2742,8 +2751,8 @@ case 232: yyVal=NC; } break; -case 233: - // line 2060 "./../src/mycompiler/myparser/JavaParser.jay" +case 234: + // line 2066 "./../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])); @@ -2753,14 +2762,14 @@ case 233: yyVal=NCarg; } break; -case 234: - // line 2070 "./../src/mycompiler/myparser/JavaParser.jay" +case 235: + // line 2076 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 235: - // line 2074 "./../src/mycompiler/myparser/JavaParser.jay" +case 236: + // line 2080 "./../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()); @@ -2771,20 +2780,20 @@ case 235: yyVal=And; } break; -case 236: - // line 2090 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 237: - // line 2094 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2096 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 238: - // line 2098 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2100 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 239: + // line 2104 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryPlus UP= new UnaryPlus(); @@ -2793,8 +2802,8 @@ case 238: yyVal=POSEX; } break; -case 239: - // line 2106 "./../src/mycompiler/myparser/JavaParser.jay" +case 240: + // line 2112 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryMinus UM=new UnaryMinus(); @@ -2803,20 +2812,20 @@ case 239: yyVal=NEGEX; } break; -case 240: - // line 2114 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 241: - // line 2119 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2120 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 242: - // line 2123 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2125 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 243: + // line 2129 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2835,38 +2844,38 @@ case 242: } } break; -case 243: - // line 2141 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 244: - // line 2145 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2147 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 245: - // line 2150 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2151 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 246: - // line 2155 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2156 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 248: +case 247: // line 2161 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 249: + // line 2167 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; -case 249: - // line 2165 "./../src/mycompiler/myparser/JavaParser.jay" +case 250: + // line 2171 "./../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()); @@ -2875,24 +2884,24 @@ case 249: yyVal=T; } break; -case 250: - // line 2186 "./../src/mycompiler/myparser/JavaParser.jay" +case 251: + // line 2192 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 251: - // line 2190 "./../src/mycompiler/myparser/JavaParser.jay" +case 252: + // line 2196 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 252: - // line 2195 "./../src/mycompiler/myparser/JavaParser.jay" +case 253: + // line 2201 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 253: - // line 2197 "./../src/mycompiler/myparser/JavaParser.jay" +case 254: + // line 2203 "./../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); @@ -2900,75 +2909,75 @@ case 253: yyVal=NE; } break; -case 254: - // line 2203 "./../src/mycompiler/myparser/JavaParser.jay" +case 255: + // line 2209 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; -case 255: - // line 2205 "./../src/mycompiler/myparser/JavaParser.jay" +case 256: + // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 257: - // line 2210 "./../src/mycompiler/myparser/JavaParser.jay" +case 258: + // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; -case 258: - // line 2215 "./../src/mycompiler/myparser/JavaParser.jay" +case 259: + // line 2221 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; -case 259: - // line 2219 "./../src/mycompiler/myparser/JavaParser.jay" +case 260: + // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; -case 260: - // line 2224 "./../src/mycompiler/myparser/JavaParser.jay" +case 261: + // line 2230 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); ST.set_String(((Token)yyVals[0+yyTop]).get_String()); yyVal=ST; } break; -case 261: - // line 2229 "./../src/mycompiler/myparser/JavaParser.jay" +case 262: + // line 2235 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; -case 262: - // line 2233 "./../src/mycompiler/myparser/JavaParser.jay" +case 263: + // line 2239 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); yyVal = FL; } break; -case 263: - // line 2238 "./../src/mycompiler/myparser/JavaParser.jay" +case 264: + // line 2244 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); yyVal = DL; } break; -case 264: - // line 2244 "./../src/mycompiler/myparser/JavaParser.jay" +case 265: + // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; -case 265: - // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" +case 266: + // line 2256 "./../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])); @@ -2976,25 +2985,25 @@ case 265: yyVal=CaEx; } break; -case 266: - // line 2259 "./../src/mycompiler/myparser/JavaParser.jay" +case 267: + // line 2265 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 267: - // line 2263 "./../src/mycompiler/myparser/JavaParser.jay" - { - } - break; case 268: - // line 2267 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2269 "./../src/mycompiler/myparser/JavaParser.jay" + { + } + break; +case 269: + // line 2273 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 269: - // line 2271 "./../src/mycompiler/myparser/JavaParser.jay" +case 270: + // line 2277 "./../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()); @@ -3005,8 +3014,8 @@ case 269: yyVal=EQ; } break; -case 270: - // line 2281 "./../src/mycompiler/myparser/JavaParser.jay" +case 271: + // line 2287 "./../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()); @@ -3017,14 +3026,14 @@ case 270: yyVal=NEQ; } break; -case 271: - // line 2292 "./../src/mycompiler/myparser/JavaParser.jay" +case 272: + // line 2298 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 272: - // line 2296 "./../src/mycompiler/myparser/JavaParser.jay" +case 273: + // line 2302 "./../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()); @@ -3035,8 +3044,8 @@ case 272: yyVal=LO; } break; -case 273: - // line 2306 "./../src/mycompiler/myparser/JavaParser.jay" +case 274: + // line 2312 "./../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()); @@ -3047,8 +3056,8 @@ case 273: yyVal=GO; } break; -case 274: - // line 2316 "./../src/mycompiler/myparser/JavaParser.jay" +case 275: + // line 2322 "./../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()); @@ -3059,8 +3068,8 @@ case 274: yyVal=LE; } break; -case 275: - // line 2326 "./../src/mycompiler/myparser/JavaParser.jay" +case 276: + // line 2332 "./../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()); @@ -3071,8 +3080,8 @@ case 275: yyVal=GE; } break; -case 276: - // line 2336 "./../src/mycompiler/myparser/JavaParser.jay" +case 277: + // line 2342 "./../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])); @@ -3080,20 +3089,20 @@ case 276: yyVal=ISO; } break; -case 277: - // line 2344 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 278: - // line 2349 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2350 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 279: - // line 2353 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2355 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 280: + // line 2359 "./../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()); @@ -3104,8 +3113,8 @@ case 279: yyVal=AD; } break; -case 280: - // line 2363 "./../src/mycompiler/myparser/JavaParser.jay" +case 281: + // line 2369 "./../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()); @@ -3116,14 +3125,14 @@ case 280: yyVal=MI; } break; -case 281: - // line 2374 "./../src/mycompiler/myparser/JavaParser.jay" +case 282: + // line 2380 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 282: - // line 2378 "./../src/mycompiler/myparser/JavaParser.jay" +case 283: + // line 2384 "./../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()); @@ -3134,8 +3143,8 @@ case 282: yyVal=ML; } break; -case 283: - // line 2388 "./../src/mycompiler/myparser/JavaParser.jay" +case 284: + // line 2394 "./../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()); @@ -3146,8 +3155,8 @@ case 283: yyVal = DV; } break; -case 284: - // line 2398 "./../src/mycompiler/myparser/JavaParser.jay" +case 285: + // line 2404 "./../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()); @@ -3158,7 +3167,7 @@ case 284: yyVal =MD; } break; - // line 3162 "-" + // line 3171 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; @@ -3198,26 +3207,26 @@ case 284: 41, 41, 41, 29, 4, 4, 31, 16, 16, 16, 30, 113, 113, 114, 114, 5, 5, 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, + 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, 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, 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, 2, 3, 2, 3, 3, 1, 2, 3, 1, @@ -3228,1014 +3237,1038 @@ case 284: 3, 2, 3, 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 3, 0, 3, 1, 1, 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, + 2, 3, 6, 2, 4, 3, 2, 2, 5, 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, - 62, 149, 171, 0, 63, 170, 60, 59, 58, 0, + 62, 150, 172, 0, 63, 171, 60, 59, 58, 0, 0, 0, 61, 19, 0, 14, 15, 0, 7, 0, - 151, 159, 150, 0, 0, 0, 0, 47, 0, 0, + 152, 160, 151, 0, 0, 0, 0, 47, 0, 0, 10, 0, 0, 13, 12, 0, 0, 0, 0, 0, 0, 71, 8, 0, 0, 0, 0, 0, 0, 48, 11, 0, 0, 0, 0, 0, 0, 20, 0, 0, 6, 0, 9, 0, 0, 0, 0, 32, 0, 72, - 0, 133, 135, 5, 0, 0, 0, 0, 102, 103, + 0, 134, 136, 5, 0, 0, 0, 0, 103, 104, 0, 49, 64, 67, 50, 0, 0, 0, 0, 45, 78, 0, 79, 0, 0, 56, 68, 0, 0, 0, - 152, 0, 0, 0, 70, 0, 69, 22, 0, 0, - 24, 16, 0, 18, 0, 54, 0, 52, 0, 65, - 77, 76, 0, 0, 0, 0, 34, 0, 75, 21, - 0, 0, 33, 0, 0, 0, 31, 0, 80, 0, - 0, 0, 109, 0, 138, 92, 0, 130, 46, 57, - 0, 89, 87, 0, 0, 0, 0, 88, 0, 0, - 0, 0, 0, 0, 0, 0, 81, 26, 51, 29, - 53, 66, 84, 0, 55, 73, 23, 0, 25, 35, - 107, 0, 104, 0, 0, 0, 249, 0, 257, 261, - 263, 262, 258, 264, 259, 260, 0, 0, 0, 191, - 93, 0, 0, 136, 0, 0, 0, 174, 0, 153, - 0, 0, 248, 245, 0, 0, 251, 0, 202, 203, - 0, 0, 176, 163, 139, 154, 166, 167, 164, 165, - 175, 177, 201, 0, 0, 121, 147, 156, 0, 141, - 0, 0, 0, 145, 0, 160, 137, 0, 0, 0, - 0, 0, 0, 240, 281, 0, 0, 271, 0, 0, - 0, 0, 0, 0, 0, 189, 168, 86, 236, 237, - 243, 244, 169, 190, 250, 254, 95, 0, 115, 90, - 0, 0, 0, 0, 131, 0, 0, 0, 82, 0, - 97, 0, 0, 0, 27, 0, 0, 0, 193, 0, - 0, 0, 224, 225, 214, 0, 0, 0, 94, 140, - 162, 211, 0, 0, 226, 227, 192, 222, 223, 219, - 220, 221, 218, 0, 155, 0, 148, 110, 0, 128, - 0, 0, 0, 0, 238, 239, 253, 0, 0, 0, + 153, 0, 0, 0, 70, 0, 69, 22, 0, 0, + 24, 16, 0, 18, 0, 54, 0, 0, 52, 0, + 65, 77, 76, 0, 0, 0, 0, 34, 0, 75, + 21, 0, 0, 33, 0, 0, 0, 31, 0, 80, + 0, 0, 0, 110, 0, 139, 93, 0, 131, 46, + 57, 0, 90, 87, 0, 0, 0, 0, 88, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 26, 51, + 29, 0, 53, 66, 84, 0, 55, 73, 23, 0, + 25, 35, 108, 0, 105, 0, 0, 0, 250, 0, + 258, 262, 264, 263, 259, 265, 260, 261, 0, 0, + 0, 192, 94, 0, 0, 137, 0, 0, 0, 175, + 0, 154, 0, 0, 249, 246, 0, 0, 252, 0, + 203, 204, 0, 0, 177, 164, 140, 155, 167, 168, + 165, 166, 176, 178, 202, 0, 0, 122, 148, 157, + 0, 142, 0, 0, 0, 146, 0, 161, 138, 0, + 0, 0, 0, 0, 0, 241, 282, 0, 0, 272, + 0, 0, 0, 0, 0, 0, 0, 190, 169, 86, + 237, 238, 244, 245, 170, 191, 251, 255, 96, 0, + 116, 91, 0, 0, 0, 0, 132, 0, 0, 0, + 82, 0, 98, 0, 0, 0, 0, 27, 0, 0, + 0, 194, 0, 0, 0, 225, 226, 215, 0, 0, + 0, 95, 141, 163, 212, 0, 0, 227, 228, 193, + 223, 224, 220, 221, 222, 219, 0, 156, 0, 149, + 111, 0, 129, 0, 0, 0, 0, 239, 240, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 96, 0, 0, 122, 0, 117, - 91, 0, 99, 98, 0, 0, 108, 0, 0, 0, - 194, 0, 215, 228, 157, 0, 212, 216, 213, 0, - 199, 200, 142, 0, 0, 146, 0, 0, 282, 283, - 284, 0, 0, 276, 274, 275, 272, 273, 0, 0, - 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, - 100, 0, 0, 0, 0, 0, 0, 0, 229, 0, - 125, 116, 232, 0, 265, 0, 0, 143, 0, 83, - 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, - 197, 196, 180, 158, 230, 0, 233, 126, 118, 144, - 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 231, 187, 186, 0, 185, 0, 0, 0, 0, 0, - 179, 184, 183, 182, 0, 0, 0, 181, 0, 208, - 0, 207, + 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, + 123, 0, 118, 92, 0, 100, 99, 0, 0, 0, + 109, 0, 0, 0, 195, 0, 216, 229, 158, 0, + 213, 217, 214, 0, 200, 201, 143, 0, 0, 89, + 0, 147, 0, 0, 283, 284, 285, 0, 0, 277, + 275, 276, 273, 274, 0, 0, 0, 0, 0, 0, + 0, 85, 0, 0, 0, 0, 101, 0, 0, 0, + 0, 0, 0, 0, 230, 0, 126, 117, 233, 0, + 266, 0, 0, 144, 0, 83, 0, 0, 0, 0, + 0, 0, 0, 0, 179, 0, 198, 197, 181, 159, + 231, 0, 234, 127, 119, 145, 189, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 232, 188, 187, 0, + 186, 0, 0, 0, 0, 0, 180, 185, 184, 183, + 0, 0, 0, 182, 0, 209, 0, 208, }; protected static final short yyDgoto [] = { 15, - 16, 17, 68, 119, 120, 121, 58, 33, 40, 122, - 91, 92, 93, 94, 95, 96, 97, 203, 99, 204, - 101, 34, 35, 37, 19, 20, 206, 59, 82, 21, - 85, 60, 69, 22, 23, 24, 25, 245, 207, 27, - 28, 208, 146, 209, 378, 210, 211, 148, 240, 306, - 212, 213, 214, 215, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 217, - 375, 218, 269, 270, 271, 272, 223, 0, 224, 225, - 226, 440, 227, 228, 441, 229, 230, 442, 231, 232, - 273, 29, 79, 80, 182, 144, 81, 30, 274, 324, - 313, 234, 376, 275, 31, 105, 106, 167, 293, 107, - 276, 0, 71, 42, 0, + 16, 17, 68, 120, 121, 122, 58, 33, 40, 123, + 91, 92, 93, 94, 95, 96, 97, 205, 99, 206, + 101, 34, 35, 37, 19, 20, 208, 59, 82, 21, + 85, 60, 69, 22, 23, 24, 25, 247, 209, 27, + 28, 210, 147, 211, 382, 212, 213, 149, 242, 309, + 214, 215, 216, 217, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 219, + 379, 220, 271, 272, 273, 274, 225, 0, 226, 227, + 228, 446, 229, 230, 447, 231, 232, 448, 233, 234, + 275, 29, 79, 80, 184, 145, 81, 30, 276, 327, + 316, 236, 380, 277, 31, 105, 106, 168, 295, 107, + 278, 0, 71, 42, 0, }; - protected static final short yySindex [] = { 1561, - 0, 0, 0, -265, 0, 0, 0, 0, 0, -248, - -248, -239, 0, 0, 0, 0, 0, 8, 0, 504, - 0, 0, 0, 36, 83, 191, 361, 0, 1049, 504, - 0, 48, -97, 0, 0, 38, 125, 154, 149, -88, - 191, 0, 0, 1049, 127, 160, 1561, -265, -239, 0, - 0, 504, 1049, -42, -248, -248, 2581, 0, -104, -4, - 0, -26, 0, -37, -42, -248, 3380, 0, -3, 0, - 159, 0, 0, 0, -97, -88, 1049, 57, 0, 0, - 163, 0, 0, 0, 0, 185, 61, 326, -42, 0, - 0, 185, 0, 86, 3408, 0, 0, 93, 311, 329, - 0, 25, 223, 3471, 0, 259, 0, 0, -4, -248, - 0, 0, 0, 0, 168, 0, 326, 0, 3443, 0, - 0, 0, 336, 61, 3471, -248, 0, 191, 0, 0, - -104, -4, 0, -3, -248, -42, 0, 2993, 0, 326, - 86, -8, 0, 187, 0, 0, -248, 0, 0, 0, - 96, 0, 0, 1041, 173, 86, 235, 0, 359, 96, - 61, -42, 86, 138, 259, 3054, 0, 0, 0, 0, - 0, 0, 0, 139, 0, 0, 0, -4, 0, 0, - 0, 410, 0, 411, 412, 572, 0, 414, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 923, 923, 0, - 0, 176, 413, 0, 8, 56, 96, 0, 3110, 0, - 396, 130, 0, 0, 420, 68, 0, 408, 0, 0, + protected static final short yySindex [] = { 1495, + 0, 0, 0, -257, 0, 0, 0, 0, 0, -242, + -242, -236, 0, 0, 0, 0, 0, 44, 0, 493, + 0, 0, 0, -9, 70, 105, 998, 0, 1182, 493, + 0, 143, -94, 0, 0, 75, 156, 200, 190, -111, + 105, 0, 0, 1182, 208, 233, 1495, -257, -236, 0, + 0, 493, 1182, 61, -242, -242, 3511, 0, -119, -5, + 0, 76, 0, -36, 61, -242, 3548, 0, 5, 0, + 48, 0, 0, 0, -94, -111, 1182, 9, 0, 0, + 149, 0, 0, 0, 0, 226, 85, 333, 61, 0, + 0, 226, 0, 103, 3578, 0, 0, 155, 335, 339, + 0, 24, 106, 1982, 0, 279, 0, 0, -5, -242, + 0, 0, 0, 0, 178, 0, 333, 61, 0, 3614, + 0, 0, 0, 355, 85, 1982, -242, 0, 105, 0, + 0, -119, -5, 0, 5, -242, 61, 0, 3078, 0, + 333, 103, -27, 0, 243, 0, 0, -242, 0, 0, + 0, 114, 0, 0, 1056, -13, 103, 169, 0, 363, + 114, 85, 61, 103, 115, 279, 3160, 0, 0, 0, + 0, 250, 0, 0, 0, 136, 0, 0, 0, -5, + 0, 0, 0, 401, 0, 424, 426, 538, 0, 428, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 878, + 878, 0, 0, 127, 432, 0, 44, 342, 114, 0, + 3269, 0, 436, 168, 0, 0, 459, -182, 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 40, 0, 0, 0, 0, 96, 0, - 72, -42, 249, 0, 424, 0, 0, -248, 176, 923, - 923, 923, 68, 0, 0, 459, 304, 0, -6, -211, - 437, 384, 366, 179, 182, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, - 1041, 438, 86, 245, 0, 326, 86, 262, 0, 460, - 0, 3154, 3198, 92, 0, -248, 601, 1041, 0, 446, - 1041, 56, 0, 0, 0, 167, 618, 413, 0, 0, - 0, 0, 678, 209, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1041, 0, 321, 0, 0, 61, 0, - 61, -248, 475, 42, 0, 0, 0, 923, 923, 923, - 923, 923, -248, 923, 923, 923, 923, 923, 923, 923, - 923, 923, 923, 923, 0, 0, 1041, 0, 291, 0, - 0, 714, 0, 0, 3255, 1041, 0, 731, 457, 487, - 0, 488, 0, 0, 0, 260, 0, 0, 0, 490, - 0, 0, 0, 86, 86, 0, 771, 923, 0, 0, - 0, 459, 459, 0, 0, 0, 0, 0, -6, -6, - -211, 437, 384, 366, 179, 0, 61, 61, 473, 323, - 0, 476, 808, 477, 844, 1169, 1447, 1041, 0, 888, - 0, 0, 0, 347, 0, 86, 86, 0, 478, 0, - 1447, 500, 905, 950, 486, 506, 507, 0, 0, 284, - 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, - 0, 1447, 1447, 511, 1447, 513, 1002, 1041, 1041, 1447, - 0, 0, 0, 1447, 0, 1447, 1447, 514, 517, 518, - 0, 0, 0, 0, 1447, 1169, 1169, 0, 296, 0, - 1169, 0, + 0, 0, 0, 0, 0, -24, 0, 0, 0, 0, + 114, 0, 17, 61, 186, 0, 466, 0, 0, -242, + 127, 878, 878, 878, -182, 0, 0, 329, 108, 0, + 7, 25, 476, 425, 394, 215, 218, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, + 0, 0, 1056, 464, 103, 254, 0, 333, 103, 175, + 0, 489, 0, 3323, 3371, 186, 120, 0, -242, 570, + 1056, 0, 471, 1056, 342, 0, 0, 0, 392, 720, + 432, 0, 0, 0, 0, 752, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1056, 0, 232, 0, + 0, 85, 0, 106, -242, 496, -11, 0, 0, 0, + 878, 878, 878, 878, 878, -242, 878, 878, 878, 878, + 878, 878, 878, 878, 878, 878, 878, 0, 0, 1056, + 0, 207, 0, 0, 769, 0, 0, 3423, 85, 1056, + 0, 815, 478, 497, 0, 498, 0, 0, 0, 413, + 0, 0, 0, 502, 0, 0, 0, 103, 103, 0, + 339, 0, 843, 878, 0, 0, 0, 329, 329, 0, + 0, 0, 0, 0, 7, 7, 25, 476, 425, 394, + 215, 0, 85, 85, 487, 415, 0, 491, 860, 495, + 907, 1600, 2324, 1056, 0, 934, 0, 0, 0, 439, + 0, 103, 103, 0, 501, 0, 2324, 515, 951, 990, + 503, 517, 521, 0, 0, 297, 0, 0, 0, 0, + 0, 460, 0, 0, 0, 0, 0, 2324, 2324, 524, + 2324, 528, 1039, 1056, 1056, 2324, 0, 0, 0, 2324, + 0, 2324, 2324, 529, 531, 532, 0, 0, 0, 0, + 2324, 1600, 1600, 0, 307, 0, 1600, 0, }; protected static final short yyRindex [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, - 0, 0, 0, 3312, 3352, 0, 0, 0, 568, 0, - 0, -92, 0, 0, 0, 0, 0, 0, -71, 0, - 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, - 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1329, 0, 0, + 0, 0, 0, 724, 1123, 0, 0, 0, 575, 0, + 0, -90, 0, 0, 0, 0, 0, 0, -98, 0, + 0, 0, 0, 580, 0, 0, 0, 0, 0, 0, + 0, 0, 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 578, 247, 0, 0, - 0, 0, 0, 0, 0, 3499, 0, 122, 0, 0, - 0, 0, 0, -12, 0, 0, 0, 0, 0, 267, - 0, -64, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 299, 0, 0, 0, -54, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 585, 258, 0, 0, + 0, 0, 0, 0, 0, 2403, 0, 402, 0, 0, + 0, 0, 0, -23, 0, 0, 0, 0, 0, 263, + 0, -50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 212, 0, 0, 0, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5, 0, 0, 267, 0, - 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, + 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -4, 0, 0, 263, + 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -31, 0, 0, 0, - 0, 0, 336, 0, 155, 529, 0, 0, 0, 0, - 0, 0, 0, 0, 1117, 0, 0, 0, 0, 0, - -57, -51, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, - 0, 0, 2968, 0, 0, 2693, 2216, 0, 2342, 2306, - 1318, 1391, 1503, 1592, 1664, 0, 0, 0, 0, 0, + 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 507, 0, + 0, 0, 0, 0, 527, 0, 332, 655, 0, 0, + 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0, + 0, 0, -56, -49, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, + 0, 0, 0, 0, 3214, 0, 0, 2854, 2238, 0, + 2434, 2489, 1384, 1438, 1689, 1743, 1781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 34, 0, 0, 274, 50, 0, 0, -21, + 0, 0, 0, 0, 43, 0, 0, 315, 50, 0, + 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1818, 0, 0, 0, 0, 0, + 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1754, 0, 0, 0, 0, 0, 521, 0, 0, + 0, 0, 0, 0, 0, 0, 286, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 280, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 71, 72, 0, + 0, 0, 0, 0, 0, 0, 0, 2908, 2963, 0, + 0, 0, 0, 0, 2603, 2794, 2543, 1878, 2069, 2129, + 2183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1825, 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, 76, 79, 0, 0, 0, 0, 0, - 0, 2782, 2894, 0, 0, 0, 0, 0, 2507, 2617, - 2417, 1865, 1940, 2030, 2141, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 120, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2838, 0, 0, + 0, 79, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, }; - protected static final short yyGindex [] = { 546, - 0, 0, 2, 0, 481, 0, 386, 553, 545, 0, - 0, -16, 0, 131, 0, 508, 0, -15, 499, 9, - -11, 20, 0, 0, 3, 576, -10, 532, -126, -52, - -28, -2, 533, 0, 0, 365, -128, 0, 22, 205, - 17, -74, 0, -123, 0, 0, 0, -124, 287, 77, - 0, 0, 0, 0, -66, 0, 174, 80, 0, 240, - 65, 276, 277, 275, 282, 286, 0, 0, 319, 0, - 335, 0, -48, 27, 67, 144, 0, 0, -371, -193, - 2296, -154, 0, 0, 0, 0, 0, 0, 0, 0, - 328, 29, -55, 519, 0, 485, 591, 0, 233, 0, - 0, 0, -139, 264, 364, 0, 558, 492, 0, 0, + protected static final short yyGindex [] = { 545, + 0, 0, -42, 0, 473, 0, 383, 546, 547, 0, + 0, 22, 0, 113, 0, 500, 0, -22, -80, -55, + -45, 19, 0, 0, 51, 574, -10, 533, -137, -40, + 110, 4, 535, 0, 0, 358, -128, 0, 21, 87, + -14, -35, 0, -115, 0, 0, 0, -133, 283, 153, + 0, 0, 0, 0, -62, 0, -158, -118, 0, 123, + 18, 261, 262, 267, 268, 260, 0, 0, 291, 0, + 319, 0, -32, 30, 62, 118, 0, 0, -350, -179, + 1033, -65, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 256, -72, 490, 0, -64, 561, 0, 184, 0, + 0, 0, -343, 264, 275, 0, 526, 462, 0, 0, 0, 0, 0, 0, 0, }; protected static final short yyTable [] = { 36, - 38, 204, 83, 84, 114, 19, 181, 205, 19, 160, - 250, 139, 160, 84, 19, 310, 236, 145, 57, 18, - 244, 26, 43, 206, 249, 57, 74, 160, 19, 19, - 30, 279, 237, 143, 67, 32, 19, 116, 285, 110, - 126, 98, 292, 50, 438, 18, 127, 47, 44, 119, - 123, 28, 14, 346, 43, 347, 109, 84, 53, 19, - 18, 39, 70, 112, 155, 100, 18, 41, 26, 129, - 127, 216, 132, 84, 18, 18, 102, 133, 103, 98, - 77, 169, 388, 62, 41, 18, 18, 157, 124, 219, - 348, 101, 120, 349, 83, 307, 61, 175, 310, 216, - 323, 62, 123, 100, 438, 438, 143, 54, 113, 438, - 127, 159, 327, 119, 102, 326, 103, 219, 57, 67, - 50, 333, 18, 102, 160, 164, 45, 112, 178, 18, - 238, 142, 45, 129, 123, 180, 151, 111, 18, 124, - 124, 50, 216, 238, 18, 18, 174, 18, 288, 176, - 355, 152, 366, 326, 18, 101, 120, 205, 358, 247, - 219, 18, 360, 239, 220, 160, 18, 367, 282, 365, - 55, 310, 113, 46, 18, 30, 239, 56, 114, 66, - 160, 19, 160, 63, 56, 205, 328, 302, 302, 30, - 238, 308, 220, 74, 13, 83, 28, 74, 123, 64, - 13, 111, 128, 124, 221, 386, 136, 373, 65, 74, - 326, 136, 19, 277, 394, 13, 305, 141, 241, 72, - 129, 18, 410, 239, 137, 216, 216, 325, 205, 170, - 242, 278, 221, 156, 163, 220, 74, 238, 377, 302, - 302, 302, 114, 219, 219, 74, 19, 424, 243, 2, - 243, 243, 73, 3, 156, 163, 244, 244, 78, 421, - 422, 104, 18, 113, 331, 6, 343, 18, 18, 19, - 239, 125, 250, 250, 112, 221, 19, 19, 151, 83, - 446, 222, 19, 19, 19, 19, 249, 249, 242, 19, - 105, 283, 197, 280, 287, 106, 344, 345, 216, 104, - 419, 448, 449, 418, 287, 151, 359, 138, 105, 222, - 136, 205, 205, 106, 238, 18, 219, 160, 220, 220, - 361, 479, 480, 125, 135, 136, 482, 302, 302, 302, - 302, 302, 160, 302, 302, 302, 302, 302, 302, 302, - 302, 302, 302, 302, 16, 18, 341, 239, 342, 216, - 216, 18, 222, 318, 319, 320, 321, 17, 221, 221, - 322, 140, 18, 429, 216, 142, 418, 219, 219, 153, - 233, 303, 304, 330, 147, 315, 316, 302, 18, 19, - 408, 166, 219, 19, 205, 216, 216, 447, 216, 154, - 418, 220, 51, 216, 173, 19, 246, 216, 233, 216, - 216, 235, 461, 219, 219, 418, 219, 51, 216, 216, - 216, 219, 399, 400, 216, 219, 51, 219, 219, 281, - 392, 393, 19, 335, 336, 337, 219, 219, 219, 235, - 2, 221, 219, 2, 3, 222, 222, 3, 286, 294, - 51, 233, 220, 220, 108, 111, 6, 296, 2, 6, - 297, 298, 3, 301, 311, 74, 151, 220, 312, 384, - 130, 385, 13, 13, 6, 314, 317, 332, 13, 13, - 13, 13, 235, 197, 350, 13, 197, 351, 220, 220, - 2, 220, 221, 221, 3, 353, 220, 354, 268, 352, - 220, 14, 220, 220, 168, 340, 6, 221, 357, 362, - 338, 220, 220, 220, 371, 339, 2, 220, 222, 380, - 3, 389, 390, 391, 387, 415, 177, 179, 221, 221, - 300, 221, 6, 88, 233, 233, 221, 416, 417, 420, - 221, 428, 221, 221, 430, 433, 450, 426, 427, 329, - 452, 221, 221, 221, 457, 458, 459, 221, 2, 117, - 460, 464, 3, 466, 475, 235, 235, 476, 477, 222, - 222, 425, 481, 295, 6, 242, 242, 1, 2, 242, - 242, 242, 242, 242, 222, 242, 4, 3, 2, 172, - 132, 407, 3, 395, 396, 397, 398, 242, 242, 217, - 242, 14, 74, 76, 6, 222, 222, 233, 222, 172, - 75, 158, 150, 222, 252, 52, 131, 222, 134, 222, - 222, 249, 383, 334, 250, 356, 251, 1, 222, 222, - 222, 197, 242, 48, 222, 401, 403, 402, 235, 5, - 299, 369, 370, 252, 404, 372, 7, 8, 9, 405, - 249, 49, 381, 250, 13, 251, 284, 379, 233, 233, - 252, 382, 242, 242, 183, 115, 289, 249, 374, 368, - 250, 165, 251, 233, 0, 0, 0, 0, 0, 0, + 38, 100, 205, 57, 251, 114, 19, 183, 238, 206, + 246, 67, 50, 239, 83, 84, 144, 207, 18, 250, + 26, 416, 159, 281, 28, 84, 128, 279, 57, 394, + 287, 313, 30, 134, 98, 128, 326, 19, 110, 100, + 74, 306, 307, 32, 18, 144, 47, 160, 127, 430, + 140, 294, 120, 172, 113, 130, 146, 330, 14, 18, + 329, 70, 109, 156, 39, 18, 349, 26, 350, 84, + 43, 444, 98, 18, 18, 102, 218, 103, 133, 45, + 158, 45, 452, 41, 18, 18, 84, 125, 124, 50, + 144, 129, 182, 338, 339, 340, 249, 240, 286, 128, + 102, 121, 43, 41, 218, 284, 221, 83, 114, 130, + 240, 50, 336, 102, 313, 103, 120, 57, 113, 130, + 62, 18, 102, 161, 165, 318, 319, 67, 18, 124, + 112, 444, 444, 61, 221, 180, 444, 125, 18, 115, + 125, 124, 290, 104, 18, 18, 176, 18, 218, 178, + 344, 361, 345, 126, 18, 363, 66, 207, 240, 143, + 46, 18, 56, 241, 102, 121, 18, 308, 222, 28, + 371, 331, 114, 55, 18, 116, 241, 30, 221, 368, + 370, 104, 395, 396, 397, 207, 311, 56, 313, 305, + 305, 30, 137, 124, 112, 328, 222, 392, 152, 142, + 223, 125, 54, 115, 19, 240, 126, 74, 19, 83, + 138, 74, 152, 153, 63, 157, 164, 400, 152, 170, + 19, 137, 18, 74, 241, 398, 399, 282, 223, 207, + 2, 218, 218, 364, 3, 431, 177, 157, 164, 171, + 222, 305, 305, 305, 2, 64, 6, 19, 3, 65, + 74, 244, 244, 390, 427, 428, 224, 16, 245, 245, + 6, 221, 221, 18, 113, 334, 251, 251, 18, 18, + 17, 241, 223, 199, 285, 44, 136, 289, 391, 346, + 381, 250, 250, 240, 224, 53, 244, 199, 289, 321, + 322, 323, 324, 244, 83, 243, 325, 244, 454, 455, + 72, 106, 107, 51, 245, 218, 137, 77, 280, 347, + 348, 296, 207, 207, 18, 362, 369, 18, 51, 106, + 107, 137, 235, 222, 222, 73, 351, 51, 224, 352, + 305, 305, 305, 305, 305, 221, 305, 305, 305, 305, + 305, 305, 305, 305, 305, 305, 305, 18, 139, 241, + 235, 51, 18, 18, 161, 223, 223, 333, 161, 218, + 218, 78, 2, 2, 18, 343, 3, 3, 405, 406, + 341, 13, 143, 161, 218, 342, 112, 13, 6, 6, + 18, 310, 414, 305, 2, 141, 207, 62, 3, 221, + 221, 148, 13, 154, 235, 218, 218, 222, 218, 155, + 6, 167, 237, 218, 221, 14, 88, 218, 333, 218, + 218, 224, 224, 175, 248, 288, 485, 486, 218, 218, + 218, 488, 74, 283, 218, 221, 221, 199, 221, 223, + 237, 358, 377, 221, 329, 329, 297, 221, 299, 221, + 221, 108, 111, 2, 388, 161, 389, 3, 221, 221, + 221, 222, 222, 425, 221, 435, 424, 131, 424, 6, + 161, 19, 161, 300, 2, 301, 222, 304, 3, 401, + 402, 403, 404, 270, 237, 152, 332, 235, 235, 453, + 6, 389, 424, 223, 223, 224, 117, 222, 222, 2, + 222, 169, 19, 3, 314, 222, 315, 413, 223, 222, + 467, 222, 222, 424, 317, 6, 303, 14, 320, 335, + 222, 222, 222, 353, 179, 181, 222, 355, 354, 223, + 223, 356, 223, 357, 360, 432, 433, 223, 365, 375, + 384, 223, 199, 223, 223, 393, 421, 422, 423, 224, + 224, 426, 223, 223, 223, 434, 19, 161, 223, 436, + 161, 235, 19, 439, 224, 458, 464, 237, 237, 456, + 465, 463, 298, 466, 470, 161, 19, 19, 472, 481, + 254, 482, 483, 487, 1, 224, 224, 251, 224, 2, + 252, 4, 253, 224, 3, 174, 133, 224, 173, 224, + 224, 74, 174, 75, 151, 76, 302, 19, 224, 224, + 224, 359, 254, 52, 224, 235, 235, 132, 337, 251, + 135, 387, 252, 407, 253, 408, 411, 385, 373, 374, + 235, 409, 376, 410, 386, 115, 185, 291, 372, 166, + 0, 237, 74, 0, 383, 0, 0, 0, 0, 13, + 13, 235, 235, 0, 235, 13, 13, 13, 13, 235, + 0, 0, 13, 235, 0, 235, 235, 0, 0, 19, + 0, 0, 0, 19, 235, 235, 235, 0, 0, 0, + 235, 0, 0, 0, 0, 19, 0, 0, 412, 0, + 0, 0, 0, 0, 0, 237, 237, 0, 418, 0, + 420, 243, 243, 0, 0, 243, 243, 243, 243, 243, + 237, 243, 19, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 243, 243, 218, 243, 0, 0, 0, + 0, 237, 237, 0, 237, 0, 0, 0, 0, 237, + 0, 0, 0, 237, 0, 237, 237, 438, 0, 441, + 0, 0, 450, 0, 237, 237, 237, 0, 243, 1, + 237, 0, 254, 0, 0, 4, 0, 460, 462, 251, + 378, 5, 252, 0, 253, 0, 0, 133, 7, 8, + 9, 0, 11, 12, 0, 0, 13, 0, 243, 243, + 0, 474, 475, 476, 254, 133, 0, 0, 0, 0, + 0, 251, 0, 0, 252, 0, 253, 0, 0, 0, + 0, 254, 0, 0, 0, 0, 0, 19, 251, 415, + 0, 252, 250, 253, 19, 19, 0, 0, 0, 0, + 19, 19, 19, 19, 189, 0, 0, 19, 0, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 14, 0, + 0, 0, 0, 0, 250, 200, 201, 254, 0, 0, + 0, 0, 0, 0, 251, 0, 189, 252, 0, 253, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 14, 0, 0, 419, 139, 254, 0, 200, 201, 0, + 0, 0, 251, 429, 0, 252, 0, 253, 0, 0, + 0, 0, 254, 0, 0, 0, 0, 0, 0, 251, + 437, 0, 252, 0, 253, 0, 0, 0, 0, 0, + 254, 243, 243, 0, 0, 0, 243, 251, 0, 0, + 252, 0, 253, 243, 0, 0, 0, 243, 243, 0, + 243, 243, 243, 0, 0, 0, 0, 0, 243, 254, + 0, 0, 0, 0, 0, 243, 251, 0, 0, 252, + 0, 253, 0, 0, 0, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 0, 440, 254, 0, 218, 218, + 218, 218, 0, 251, 451, 218, 252, 0, 253, 0, + 133, 133, 0, 254, 0, 133, 133, 0, 0, 0, + 251, 459, 133, 252, 250, 253, 0, 133, 0, 133, + 133, 133, 133, 133, 133, 0, 189, 133, 0, 0, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 14, 0, 254, 0, 133, 0, 250, 200, 201, 251, + 461, 0, 252, 0, 253, 0, 0, 0, 189, 0, + 0, 0, 0, 250, 191, 192, 193, 194, 195, 196, + 197, 198, 14, 0, 0, 189, 0, 0, 0, 200, + 201, 191, 192, 193, 194, 195, 196, 197, 198, 14, + 0, 254, 0, 0, 0, 0, 200, 201, 251, 473, + 0, 252, 0, 253, 0, 0, 0, 0, 254, 250, + 0, 0, 0, 0, 0, 251, 0, 0, 252, 0, + 253, 189, 0, 0, 0, 0, 0, 191, 192, 193, + 194, 195, 196, 197, 198, 14, 0, 250, 0, 0, + 0, 0, 200, 201, 0, 0, 0, 0, 0, 189, + 0, 0, 0, 0, 250, 191, 192, 193, 194, 195, + 196, 197, 198, 14, 0, 0, 189, 0, 0, 0, + 200, 201, 191, 192, 193, 194, 195, 196, 197, 198, + 14, 0, 0, 0, 189, 0, 135, 200, 201, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 14, 0, + 0, 250, 0, 0, 135, 200, 201, 0, 0, 0, + 0, 0, 0, 189, 0, 0, 0, 0, 0, 191, + 192, 193, 194, 195, 196, 197, 198, 14, 250, 0, + 0, 0, 0, 0, 200, 201, 0, 0, 0, 0, + 189, 0, 0, 0, 0, 250, 191, 192, 193, 194, + 195, 196, 197, 198, 14, 0, 0, 189, 0, 0, + 0, 200, 201, 191, 192, 193, 194, 195, 196, 197, + 198, 14, 0, 0, 1, 0, 0, 0, 200, 201, + 48, 0, 0, 0, 250, 0, 5, 0, 0, 0, + 0, 0, 0, 7, 8, 9, 189, 0, 49, 0, + 0, 13, 191, 192, 193, 194, 195, 196, 197, 198, + 14, 0, 0, 0, 0, 0, 0, 200, 201, 0, + 0, 242, 242, 0, 0, 242, 242, 242, 242, 242, + 0, 242, 0, 250, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 242, 242, 189, 242, 0, 0, 0, + 250, 191, 192, 193, 194, 195, 196, 197, 198, 14, + 0, 0, 189, 0, 0, 0, 200, 201, 191, 192, + 193, 194, 195, 196, 197, 198, 14, 0, 242, 0, + 0, 0, 0, 200, 201, 74, 74, 0, 74, 74, + 74, 74, 74, 74, 74, 74, 0, 0, 0, 135, + 135, 0, 0, 0, 135, 135, 0, 74, 242, 242, + 74, 135, 0, 0, 0, 0, 135, 0, 135, 135, + 135, 135, 135, 135, 0, 0, 135, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, + 256, 0, 74, 135, 256, 256, 256, 256, 256, 256, + 256, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 256, 256, 4, 256, 0, 0, 0, 0, + 5, 74, 74, 74, 445, 449, 0, 7, 8, 9, + 0, 0, 12, 0, 0, 13, 0, 0, 0, 457, + 0, 0, 0, 0, 247, 247, 0, 256, 247, 247, + 247, 247, 247, 247, 247, 0, 0, 0, 0, 0, + 468, 469, 0, 471, 0, 0, 247, 247, 477, 247, + 0, 0, 478, 0, 479, 480, 0, 256, 256, 0, + 0, 0, 0, 484, 445, 449, 0, 0, 0, 477, + 0, 242, 242, 0, 0, 0, 242, 0, 0, 0, + 0, 0, 0, 242, 0, 0, 0, 242, 242, 0, + 242, 242, 242, 0, 0, 0, 0, 0, 242, 0, + 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, + 0, 247, 247, 0, 0, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 74, 74, 0, 0, 0, + 74, 74, 0, 0, 0, 0, 0, 74, 0, 0, + 0, 74, 74, 0, 74, 74, 74, 74, 74, 74, + 74, 0, 74, 0, 0, 0, 0, 0, 0, 74, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 0, 204, + 256, 256, 0, 0, 0, 256, 0, 0, 0, 0, + 0, 0, 256, 0, 0, 0, 256, 256, 202, 256, + 256, 256, 0, 0, 0, 0, 0, 256, 0, 0, + 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 256, 256, 256, 256, 256, 256, + 256, 256, 256, 0, 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, 139, 0, 0, 235, 235, 0, 247, 235, + 235, 235, 235, 235, 235, 235, 0, 0, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 235, 235, 0, + 235, 1, 2, 0, 0, 0, 3, 4, 0, 0, + 0, 0, 0, 5, 0, 0, 0, 0, 6, 0, + 7, 8, 9, 10, 11, 12, 0, 0, 13, 210, + 210, 0, 235, 210, 210, 210, 210, 210, 210, 210, + 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, + 0, 210, 210, 0, 210, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 0, 0, 0, 199, 199, 0, + 0, 199, 199, 199, 199, 199, 199, 199, 0, 0, + 0, 0, 0, 0, 0, 0, 210, 0, 0, 199, + 199, 0, 199, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 243, 243, 0, 0, 243, 243, + 243, 243, 243, 0, 243, 0, 210, 210, 0, 0, + 186, 442, 0, 0, 199, 0, 243, 243, 0, 243, + 0, 0, 188, 0, 0, 0, 189, 0, 0, 0, + 0, 443, 191, 192, 193, 194, 195, 196, 197, 198, + 14, 0, 0, 0, 199, 199, 0, 200, 201, 0, + 0, 243, 0, 0, 257, 0, 0, 0, 257, 257, + 257, 257, 257, 257, 257, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 257, 257, 0, 257, + 0, 243, 243, 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, 0, 0, + 0, 257, 235, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 235, 0, 0, 0, 233, 233, 0, 233, 0, 0, - 0, 406, 233, 0, 235, 0, 233, 0, 233, 233, - 412, 0, 414, 0, 0, 0, 0, 233, 233, 233, - 252, 0, 0, 233, 0, 235, 235, 249, 235, 0, - 250, 0, 251, 235, 0, 0, 0, 235, 0, 235, - 235, 0, 0, 0, 0, 0, 0, 0, 235, 235, - 235, 0, 0, 0, 235, 0, 252, 432, 0, 435, - 0, 0, 444, 249, 409, 0, 250, 0, 251, 0, - 1, 0, 0, 252, 0, 0, 4, 454, 456, 0, - 249, 0, 5, 250, 0, 251, 0, 0, 0, 7, - 8, 9, 0, 11, 12, 242, 242, 13, 0, 413, - 242, 468, 469, 470, 0, 0, 0, 242, 0, 0, - 138, 242, 242, 252, 242, 242, 242, 0, 0, 0, - 249, 423, 242, 250, 0, 251, 0, 0, 0, 242, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 0, 0, - 252, 0, 217, 217, 217, 217, 248, 249, 431, 217, - 250, 0, 251, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 189, 190, 191, 192, 193, 194, - 195, 196, 14, 0, 0, 248, 252, 0, 0, 198, - 199, 0, 0, 249, 0, 0, 250, 187, 251, 0, - 0, 0, 248, 189, 190, 191, 192, 193, 194, 195, - 196, 14, 434, 0, 187, 0, 0, 0, 198, 199, - 189, 190, 191, 192, 193, 194, 195, 196, 14, 0, - 252, 0, 0, 0, 0, 198, 199, 249, 445, 0, - 250, 0, 251, 0, 0, 0, 0, 252, 0, 0, - 0, 0, 0, 0, 249, 453, 0, 250, 0, 251, - 0, 0, 248, 0, 0, 252, 0, 0, 0, 0, - 0, 0, 249, 0, 187, 250, 0, 251, 0, 0, - 189, 190, 191, 192, 193, 194, 195, 196, 14, 0, - 0, 0, 252, 0, 0, 198, 199, 0, 248, 249, - 455, 0, 250, 0, 251, 0, 0, 0, 0, 0, - 187, 0, 0, 0, 0, 248, 189, 190, 191, 192, - 193, 194, 195, 196, 14, 0, 0, 187, 0, 0, - 0, 198, 199, 189, 190, 191, 192, 193, 194, 195, - 196, 14, 0, 0, 252, 0, 0, 0, 198, 199, - 0, 249, 467, 0, 250, 248, 251, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 189, 190, 191, 192, 193, 194, 195, - 196, 14, 0, 252, 0, 0, 0, 0, 198, 199, - 249, 0, 248, 250, 0, 251, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, - 189, 190, 191, 192, 193, 194, 195, 196, 14, 0, - 0, 0, 0, 0, 0, 198, 199, 0, 248, 0, + 235, 235, 235, 235, 235, 235, 235, 235, 0, 210, + 210, 257, 257, 0, 210, 0, 0, 0, 0, 0, + 0, 210, 0, 0, 0, 210, 210, 0, 210, 210, + 210, 0, 0, 0, 0, 0, 210, 0, 0, 0, + 0, 0, 0, 210, 0, 0, 0, 199, 199, 0, + 0, 163, 199, 210, 210, 210, 210, 210, 210, 199, + 210, 210, 0, 199, 199, 0, 199, 199, 199, 0, + 0, 0, 0, 0, 199, 0, 0, 0, 0, 0, + 0, 199, 0, 0, 243, 243, 0, 0, 0, 243, + 0, 199, 199, 199, 199, 199, 243, 199, 199, 199, + 243, 243, 0, 243, 243, 243, 0, 0, 0, 0, + 0, 243, 0, 0, 0, 248, 248, 0, 243, 248, + 248, 248, 248, 248, 248, 248, 0, 0, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 248, 248, 0, + 248, 0, 0, 0, 257, 257, 0, 0, 0, 257, + 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, + 257, 257, 0, 257, 257, 257, 0, 0, 0, 0, + 0, 257, 0, 0, 0, 236, 236, 0, 257, 236, + 236, 236, 236, 236, 236, 236, 0, 0, 257, 257, + 257, 257, 257, 257, 257, 257, 257, 236, 236, 0, + 236, 0, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 187, 0, 0, 0, 0, 0, 189, 190, 191, 192, - 193, 194, 195, 196, 14, 0, 0, 0, 0, 0, - 0, 198, 199, 241, 241, 0, 0, 241, 241, 241, - 241, 241, 248, 241, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 241, 241, 0, 241, 248, - 189, 190, 191, 192, 193, 194, 195, 196, 14, 0, - 0, 187, 0, 0, 0, 198, 199, 189, 190, 191, - 192, 193, 194, 195, 196, 14, 0, 0, 202, 187, - 241, 0, 198, 199, 0, 189, 190, 191, 192, 193, - 194, 195, 196, 14, 248, 0, 0, 200, 0, 0, - 198, 199, 0, 0, 0, 0, 187, 0, 0, 0, - 241, 241, 189, 190, 191, 192, 193, 194, 195, 196, - 14, 0, 0, 0, 0, 0, 0, 198, 199, 74, - 74, 0, 74, 74, 74, 74, 74, 74, 74, 74, - 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, - 0, 74, 0, 0, 74, 0, 0, 0, 187, 0, - 0, 138, 0, 0, 189, 190, 191, 192, 193, 194, - 195, 196, 14, 0, 0, 1, 0, 0, 0, 198, - 199, 4, 0, 74, 0, 248, 74, 5, 0, 0, - 0, 0, 0, 0, 7, 8, 9, 187, 0, 12, - 0, 0, 13, 189, 190, 191, 192, 193, 194, 195, - 196, 14, 0, 0, 0, 74, 74, 74, 198, 199, - 0, 0, 0, 0, 255, 0, 0, 0, 255, 255, - 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, - 0, 0, 0, 241, 241, 0, 255, 255, 241, 255, - 0, 0, 0, 0, 0, 241, 0, 0, 0, 241, - 241, 0, 241, 241, 241, 0, 0, 0, 0, 0, - 241, 0, 0, 0, 0, 0, 0, 241, 0, 0, - 0, 255, 0, 0, 0, 0, 0, 241, 241, 241, - 241, 241, 241, 241, 241, 241, 0, 246, 246, 0, - 0, 246, 246, 246, 246, 246, 246, 246, 0, 184, - 436, 255, 255, 0, 0, 0, 0, 0, 0, 246, - 246, 186, 246, 0, 0, 187, 0, 0, 0, 0, - 437, 189, 190, 191, 192, 193, 194, 195, 196, 14, - 0, 0, 0, 0, 0, 0, 198, 199, 0, 74, - 74, 0, 0, 0, 74, 74, 202, 0, 0, 0, - 0, 74, 0, 0, 0, 74, 74, 0, 74, 74, - 74, 74, 74, 74, 74, 200, 74, 0, 0, 0, - 0, 0, 0, 74, 246, 246, 0, 0, 0, 0, - 0, 0, 0, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 0, 0, 0, 0, 0, 0, 0, 234, - 234, 0, 0, 234, 234, 234, 234, 234, 234, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, + 211, 0, 236, 211, 211, 211, 211, 211, 211, 211, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, + 0, 211, 211, 3, 211, 0, 0, 0, 0, 0, + 5, 0, 0, 236, 0, 6, 0, 7, 8, 9, + 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, + 0, 0, 162, 0, 278, 278, 211, 0, 278, 278, + 0, 278, 117, 278, 278, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 278, 0, 278, + 0, 0, 0, 0, 0, 0, 211, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 234, 234, 0, 234, 0, 0, 0, 0, 138, - 0, 0, 0, 0, 255, 255, 0, 0, 0, 255, - 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, - 255, 255, 0, 255, 255, 255, 234, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 234, 209, 209, - 0, 0, 209, 209, 209, 209, 209, 209, 209, 0, - 0, 0, 0, 0, 0, 0, 0, 246, 246, 0, - 209, 209, 246, 209, 0, 0, 0, 0, 0, 246, - 0, 0, 0, 246, 246, 0, 246, 246, 246, 0, - 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, - 0, 246, 0, 0, 0, 209, 0, 0, 0, 0, - 0, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 198, 198, 0, 0, 198, 198, 198, 198, 198, 198, - 198, 0, 0, 0, 0, 209, 209, 184, 185, 0, - 0, 0, 198, 198, 0, 198, 0, 0, 0, 186, - 0, 0, 0, 187, 0, 0, 0, 0, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 14, 0, 0, - 0, 0, 0, 0, 198, 199, 0, 198, 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, 198, 198, 0, - 242, 242, 0, 234, 242, 242, 242, 242, 242, 0, - 242, 0, 0, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 242, 242, 0, 242, 0, 1, 2, 0, - 0, 0, 3, 4, 0, 0, 0, 0, 0, 5, - 0, 0, 0, 0, 6, 0, 7, 8, 9, 10, - 11, 12, 0, 0, 13, 0, 0, 242, 209, 209, - 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, - 209, 14, 0, 0, 209, 209, 0, 209, 209, 209, - 0, 0, 0, 0, 0, 209, 0, 242, 242, 0, - 0, 0, 209, 85, 86, 0, 0, 0, 0, 0, - 0, 0, 209, 209, 209, 209, 209, 209, 0, 209, - 209, 256, 0, 0, 0, 256, 256, 256, 256, 256, - 256, 256, 0, 0, 0, 0, 0, 0, 0, 0, - 198, 198, 0, 256, 256, 198, 256, 0, 0, 0, - 0, 0, 198, 0, 0, 0, 198, 198, 0, 198, - 198, 198, 0, 0, 0, 0, 0, 198, 0, 86, - 0, 0, 0, 0, 198, 0, 0, 0, 256, 0, - 0, 0, 0, 0, 198, 198, 198, 198, 198, 0, - 198, 198, 198, 0, 0, 0, 247, 247, 0, 0, - 247, 247, 247, 247, 247, 247, 247, 0, 256, 256, - 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, - 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 242, 242, 0, 0, 0, 242, 0, 0, 0, 0, - 0, 0, 242, 0, 0, 0, 242, 242, 0, 242, - 242, 242, 0, 0, 0, 0, 0, 242, 0, 0, - 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 247, 247, 0, 235, 235, 0, 0, - 235, 235, 235, 235, 235, 235, 235, 0, 0, 0, - 0, 86, 86, 0, 0, 0, 86, 0, 235, 235, - 0, 235, 0, 86, 0, 0, 0, 0, 86, 0, - 86, 86, 86, 0, 0, 0, 0, 0, 86, 0, - 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, - 0, 256, 256, 235, 0, 86, 256, 0, 0, 0, - 0, 0, 0, 256, 0, 0, 0, 256, 256, 0, - 256, 256, 256, 0, 0, 0, 0, 0, 256, 0, - 0, 0, 0, 0, 235, 256, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 0, 0, 0, 210, 210, 0, - 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, - 0, 0, 0, 0, 0, 0, 247, 247, 0, 210, - 210, 247, 210, 0, 0, 0, 0, 0, 247, 0, - 0, 0, 247, 247, 0, 247, 247, 247, 0, 0, - 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, - 247, 0, 0, 0, 210, 0, 0, 0, 0, 0, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 0, - 0, 0, 277, 277, 0, 0, 277, 277, 0, 277, - 0, 277, 277, 0, 210, 210, 0, 0, 0, 0, - 0, 0, 0, 0, 277, 277, 0, 277, 0, 0, - 0, 0, 0, 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, 277, - 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, - 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 277, - 277, 0, 266, 266, 0, 0, 266, 266, 266, 266, - 266, 266, 266, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 266, 266, 0, 266, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, - 0, 0, 268, 268, 268, 268, 268, 268, 268, 0, - 0, 0, 0, 0, 0, 0, 0, 210, 210, 266, - 268, 0, 210, 0, 0, 0, 0, 0, 0, 210, - 0, 0, 0, 210, 210, 0, 210, 210, 210, 0, - 0, 0, 0, 0, 210, 0, 0, 0, 0, 266, - 266, 210, 0, 0, 0, 268, 0, 0, 0, 0, - 0, 210, 210, 210, 210, 210, 210, 0, 210, 210, - 0, 0, 0, 267, 267, 0, 0, 267, 267, 267, - 267, 267, 267, 267, 0, 268, 268, 0, 0, 0, - 0, 0, 277, 277, 0, 267, 267, 277, 267, 0, - 0, 0, 0, 0, 277, 0, 0, 0, 277, 277, - 0, 277, 277, 277, 0, 0, 0, 0, 0, 277, - 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, - 267, 0, 0, 0, 0, 0, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 248, 248, 0, 0, 0, + 248, 278, 0, 0, 0, 0, 0, 248, 0, 0, + 0, 248, 248, 0, 248, 248, 248, 0, 0, 0, + 0, 0, 248, 0, 0, 0, 0, 0, 0, 248, + 0, 278, 278, 204, 0, 0, 0, 0, 0, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 0, 0, + 0, 0, 202, 0, 0, 236, 236, 0, 0, 0, + 236, 0, 0, 0, 0, 0, 0, 236, 0, 0, + 0, 236, 236, 0, 236, 236, 236, 0, 0, 0, + 0, 0, 236, 0, 0, 0, 0, 0, 0, 236, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 0, 211, + 211, 0, 0, 0, 211, 0, 139, 0, 0, 0, + 0, 211, 0, 0, 0, 211, 211, 0, 211, 211, + 211, 0, 61, 0, 0, 0, 211, 0, 0, 0, + 269, 269, 0, 211, 269, 269, 269, 269, 269, 269, + 269, 0, 0, 211, 211, 211, 211, 211, 211, 0, + 211, 211, 269, 0, 278, 278, 0, 0, 0, 278, + 0, 0, 0, 0, 0, 0, 278, 0, 0, 0, + 278, 278, 0, 278, 278, 278, 0, 0, 0, 0, + 0, 278, 0, 0, 0, 267, 267, 269, 278, 267, + 267, 267, 267, 267, 267, 267, 0, 0, 278, 278, + 278, 278, 278, 278, 278, 278, 278, 267, 267, 0, + 267, 0, 0, 0, 0, 0, 0, 269, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 267, 267, 0, 269, 269, 0, 0, 269, 269, 269, - 269, 269, 269, 269, 0, 0, 0, 0, 0, 0, - 0, 0, 266, 266, 0, 269, 0, 266, 0, 0, - 0, 0, 0, 0, 266, 0, 0, 0, 266, 266, - 0, 266, 266, 266, 0, 0, 0, 0, 0, 266, - 0, 0, 0, 0, 0, 0, 266, 0, 268, 268, - 269, 0, 0, 268, 0, 0, 266, 0, 266, 266, - 268, 266, 266, 266, 266, 268, 0, 268, 268, 268, - 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, - 269, 269, 268, 0, 0, 0, 0, 0, 0, 0, - 89, 0, 268, 268, 0, 0, 268, 268, 268, 268, - 268, 0, 0, 270, 270, 0, 0, 270, 270, 270, - 270, 270, 270, 270, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 267, 267, 270, 0, 0, 267, 0, - 0, 0, 0, 0, 0, 267, 0, 0, 0, 267, - 267, 0, 267, 267, 267, 0, 0, 0, 0, 0, - 267, 0, 0, 0, 0, 90, 0, 267, 0, 0, - 270, 439, 443, 0, 0, 0, 0, 267, 0, 267, - 267, 0, 267, 267, 267, 267, 451, 0, 0, 0, - 278, 0, 0, 278, 0, 278, 278, 278, 278, 0, - 270, 270, 0, 0, 0, 0, 0, 462, 463, 0, - 465, 278, 278, 0, 278, 471, 0, 0, 0, 472, - 0, 473, 474, 269, 269, 0, 0, 0, 269, 0, - 478, 439, 443, 0, 0, 269, 471, 0, 0, 0, - 269, 0, 269, 269, 269, 0, 278, 0, 0, 0, - 269, 0, 0, 0, 0, 0, 0, 269, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 269, 269, 0, - 0, 269, 269, 269, 269, 269, 278, 278, 0, 279, - 0, 0, 279, 0, 279, 279, 279, 279, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, - 279, 279, 3, 279, 0, 0, 0, 0, 0, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, + 268, 0, 267, 268, 268, 268, 268, 268, 268, 268, + 0, 0, 0, 0, 186, 187, 0, 0, 0, 0, + 0, 268, 268, 0, 268, 0, 188, 0, 0, 0, + 189, 0, 267, 267, 0, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 14, 0, 0, 0, 0, 0, + 0, 200, 201, 0, 0, 0, 268, 0, 0, 270, + 270, 0, 0, 270, 270, 270, 270, 270, 270, 270, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, + 61, 270, 0, 0, 61, 0, 268, 268, 0, 0, + 0, 61, 0, 0, 0, 0, 61, 0, 61, 61, + 61, 0, 0, 0, 0, 0, 61, 0, 0, 0, + 269, 269, 0, 61, 0, 269, 270, 0, 0, 0, + 0, 0, 269, 61, 0, 0, 0, 269, 0, 269, + 269, 269, 0, 0, 0, 0, 0, 269, 0, 0, + 0, 0, 0, 0, 269, 0, 270, 270, 0, 0, + 0, 0, 0, 0, 269, 269, 0, 0, 269, 269, + 269, 269, 269, 0, 0, 267, 267, 0, 0, 0, + 267, 0, 0, 0, 0, 0, 0, 267, 0, 0, + 0, 267, 267, 0, 267, 267, 267, 0, 0, 0, + 0, 0, 267, 0, 0, 0, 0, 0, 0, 267, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, + 0, 267, 267, 0, 267, 267, 267, 267, 0, 268, + 268, 0, 0, 0, 268, 0, 0, 0, 0, 0, + 0, 268, 0, 0, 0, 268, 268, 0, 268, 268, + 268, 0, 0, 0, 0, 0, 268, 0, 0, 0, + 271, 271, 0, 268, 271, 271, 271, 271, 271, 271, + 271, 0, 0, 268, 0, 268, 268, 0, 268, 268, + 268, 268, 271, 0, 0, 0, 0, 0, 0, 270, + 270, 0, 0, 0, 270, 0, 0, 0, 0, 0, + 0, 270, 0, 0, 0, 0, 270, 0, 270, 270, + 270, 0, 0, 0, 0, 0, 270, 271, 0, 0, + 0, 279, 0, 270, 279, 0, 279, 279, 279, 279, + 0, 0, 0, 270, 270, 0, 0, 270, 270, 270, + 270, 270, 279, 279, 0, 279, 0, 271, 271, 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, 280, 0, 279, 280, 0, + 280, 280, 280, 280, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 280, 280, 0, 280, + 0, 0, 0, 0, 0, 0, 0, 279, 279, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 281, 280, 0, 281, 0, 281, 281, 281, 281, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 281, 281, 0, 281, 0, 0, 0, 0, 0, + 0, 280, 280, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 271, 271, 0, 0, 0, 271, 281, 0, 0, 0, + 0, 0, 271, 164, 0, 0, 0, 271, 0, 271, + 271, 271, 0, 0, 0, 0, 0, 271, 0, 0, + 0, 0, 164, 0, 271, 0, 281, 281, 0, 0, + 0, 0, 0, 0, 271, 271, 0, 0, 271, 271, + 271, 271, 271, 0, 0, 0, 0, 0, 0, 0, + 279, 279, 0, 0, 0, 279, 0, 204, 0, 0, + 0, 0, 279, 0, 0, 0, 279, 279, 0, 279, + 279, 279, 0, 0, 0, 0, 202, 279, 0, 0, + 0, 0, 0, 0, 279, 0, 164, 0, 164, 0, + 0, 0, 0, 0, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 0, 280, 280, 0, 0, 0, 280, + 0, 0, 0, 0, 0, 0, 280, 0, 0, 0, + 280, 280, 0, 280, 280, 280, 0, 0, 0, 0, + 0, 280, 0, 0, 0, 0, 0, 0, 280, 204, + 139, 0, 203, 0, 0, 0, 0, 0, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 0, 202, 281, + 281, 0, 0, 0, 281, 0, 0, 0, 0, 0, + 0, 281, 0, 0, 0, 281, 281, 0, 281, 281, + 281, 0, 0, 0, 0, 0, 281, 0, 0, 0, + 253, 253, 0, 281, 253, 253, 253, 253, 253, 253, + 253, 0, 0, 281, 281, 281, 281, 281, 281, 281, + 281, 281, 253, 253, 0, 253, 0, 0, 0, 0, + 0, 164, 139, 0, 293, 164, 0, 0, 0, 0, + 196, 0, 0, 0, 164, 164, 0, 164, 0, 0, + 0, 0, 0, 0, 0, 0, 164, 253, 204, 0, + 164, 0, 0, 0, 0, 164, 164, 164, 164, 164, + 164, 164, 164, 164, 164, 0, 0, 202, 0, 0, + 0, 164, 164, 0, 0, 2, 0, 253, 253, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 186, 187, + 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 0, 204, 0, 189, 0, 0, 0, 0, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 0, + 0, 202, 0, 0, 0, 200, 201, 0, 0, 0, + 0, 139, 0, 312, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 204, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 0, 3, 0, 0, 0, 0, 0, 0, 0, 202, + 186, 187, 0, 6, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 0, 0, 139, 292, 366, 0, 0, + 0, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 0, 204, 0, 0, 0, 0, 200, 201, 0, + 253, 253, 0, 0, 0, 253, 0, 0, 0, 0, + 0, 202, 253, 0, 0, 0, 253, 253, 0, 253, + 253, 253, 0, 139, 0, 367, 0, 253, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 253, 253, 253, 253, 253, + 253, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 85, 86, 0, 0, 0, 186, + 187, 0, 6, 0, 0, 139, 0, 417, 0, 0, + 0, 188, 0, 0, 0, 189, 0, 0, 0, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 89, 0, 0, 0, 0, 0, 200, 201, 0, 0, + 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 186, 187, 0, 6, 0, 0, 0, + 86, 0, 0, 0, 0, 188, 0, 118, 0, 189, + 0, 0, 0, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 0, 0, 0, 0, 2, 0, + 200, 201, 3, 0, 0, 90, 0, 89, 0, 0, + 0, 186, 187, 0, 6, 0, 0, 0, 0, 0, + 0, 0, 0, 188, 0, 0, 0, 189, 0, 0, + 0, 0, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 119, 118, 0, 0, 0, 0, 200, 201, + 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 186, 187, 0, 6, 0, 0, 0, + 0, 0, 150, 0, 0, 188, 0, 0, 0, 189, + 0, 0, 0, 0, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 0, 0, 0, 0, 0, 0, + 200, 201, 86, 86, 0, 0, 0, 86, 173, 0, + 0, 0, 0, 0, 86, 0, 0, 0, 0, 86, + 0, 86, 86, 86, 0, 0, 0, 0, 0, 86, + 0, 0, 0, 0, 0, 0, 86, 1, 2, 0, + 0, 0, 3, 0, 0, 0, 86, 0, 0, 5, 0, 0, 0, 0, 6, 0, 7, 8, 9, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, - 0, 87, 0, 270, 270, 279, 0, 163, 270, 0, - 0, 88, 0, 0, 0, 270, 0, 0, 0, 0, - 270, 0, 270, 270, 270, 0, 163, 0, 0, 0, - 270, 0, 0, 0, 0, 279, 279, 270, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 270, 270, 0, - 0, 270, 270, 270, 270, 270, 0, 0, 0, 0, - 0, 280, 0, 0, 280, 0, 280, 280, 280, 280, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, - 278, 0, 280, 280, 278, 280, 0, 0, 0, 0, - 163, 278, 163, 0, 0, 278, 278, 0, 278, 278, - 278, 0, 0, 0, 0, 0, 278, 0, 0, 0, - 0, 0, 0, 278, 0, 0, 0, 280, 0, 0, - 0, 0, 0, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 0, 0, 252, 252, 0, 0, 252, 252, - 252, 252, 252, 252, 252, 0, 0, 280, 280, 0, - 0, 0, 0, 0, 0, 0, 252, 252, 0, 252, - 0, 0, 202, 0, 0, 0, 0, 0, 279, 279, - 0, 0, 0, 279, 0, 0, 0, 0, 0, 0, - 279, 200, 0, 0, 279, 279, 0, 279, 279, 279, - 0, 252, 0, 0, 0, 279, 0, 0, 0, 0, - 0, 0, 279, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 252, 252, 202, 0, 163, 0, 0, 0, 163, - 0, 0, 0, 0, 195, 0, 0, 0, 163, 163, - 0, 163, 200, 0, 0, 138, 0, 201, 0, 0, - 163, 0, 0, 0, 163, 0, 0, 0, 0, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 0, - 0, 0, 0, 0, 0, 163, 163, 0, 0, 202, - 280, 280, 0, 0, 0, 280, 0, 0, 0, 0, - 0, 0, 280, 0, 0, 0, 280, 280, 200, 280, - 280, 280, 0, 0, 0, 0, 138, 280, 291, 0, - 0, 0, 0, 0, 280, 0, 0, 0, 0, 0, - 0, 0, 0, 202, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 252, 252, 0, 0, 0, 252, - 0, 0, 138, 0, 309, 0, 252, 202, 0, 0, - 252, 252, 0, 252, 252, 252, 0, 0, 0, 0, - 2, 252, 0, 0, 3, 0, 200, 0, 252, 0, - 0, 0, 0, 184, 185, 0, 6, 0, 252, 252, - 252, 252, 252, 252, 252, 186, 138, 0, 363, 187, - 0, 0, 0, 0, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 202, 0, 0, 0, 0, 0, - 198, 199, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 0, 200, 0, 3, 0, 0, 0, 0, - 138, 0, 364, 0, 184, 185, 0, 6, 0, 0, - 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, - 290, 0, 0, 0, 0, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 132, 0, 0, 0, 0, - 0, 198, 199, 0, 0, 0, 0, 2, 0, 0, - 0, 3, 0, 132, 0, 0, 0, 138, 0, 411, - 184, 185, 0, 6, 0, 0, 0, 0, 0, 0, - 0, 0, 186, 0, 0, 134, 187, 0, 0, 0, - 0, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 2, 0, 134, 0, 3, 0, 198, 199, 0, - 0, 0, 0, 0, 184, 185, 0, 6, 0, 0, - 0, 0, 0, 0, 0, 0, 186, 0, 0, 89, - 187, 0, 0, 0, 0, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 2, 0, 0, 0, 3, - 0, 198, 199, 0, 0, 0, 0, 89, 184, 185, - 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, - 186, 0, 0, 0, 187, 0, 0, 0, 0, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 0, - 0, 0, 89, 0, 118, 198, 199, 0, 0, 0, - 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 184, 185, 0, 6, 0, - 162, 0, 149, 0, 0, 0, 0, 186, 0, 0, - 0, 187, 0, 0, 0, 0, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 0, 0, 61, 0, - 0, 0, 198, 199, 0, 0, 0, 171, 132, 132, - 0, 0, 0, 132, 132, 0, 0, 0, 0, 0, - 132, 0, 0, 0, 0, 132, 0, 132, 132, 132, - 132, 132, 132, 0, 0, 132, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 134, 134, - 0, 0, 132, 134, 134, 0, 0, 0, 0, 0, - 134, 0, 0, 0, 0, 134, 0, 134, 134, 134, - 134, 134, 134, 0, 0, 134, 1, 2, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 5, 0, - 0, 0, 134, 6, 0, 7, 8, 9, 0, 0, - 0, 0, 0, 13, 1, 2, 0, 0, 0, 3, - 87, 0, 0, 0, 0, 0, 5, 0, 0, 0, - 117, 6, 0, 7, 8, 9, 0, 0, 0, 0, - 0, 86, 0, 0, 0, 0, 0, 0, 87, 1, - 2, 0, 0, 0, 3, 0, 0, 0, 88, 0, - 0, 5, 0, 0, 0, 0, 6, 0, 7, 8, - 9, 0, 0, 0, 0, 0, 13, 1, 2, 0, - 0, 0, 3, 87, 0, 0, 0, 0, 0, 5, - 0, 0, 0, 117, 6, 0, 7, 8, 9, 0, - 0, 0, 0, 0, 13, 61, 61, 0, 0, 0, - 61, 161, 0, 0, 0, 0, 0, 61, 0, 0, - 0, 117, 61, 0, 61, 61, 61, 0, 0, 0, - 0, 0, 61, 0, 0, 0, 0, 0, 0, 61, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, + 0, 87, 0, 0, 1, 2, 0, 0, 0, 3, + 0, 88, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 6, 0, 7, 8, 9, 0, 0, 0, 0, + 0, 13, 0, 0, 1, 2, 0, 0, 87, 3, + 0, 0, 0, 0, 0, 0, 5, 0, 117, 0, + 0, 6, 0, 7, 8, 9, 0, 0, 0, 0, + 0, 86, 0, 0, 0, 0, 0, 0, 87, 0, + 1, 2, 0, 0, 0, 3, 0, 0, 88, 0, + 0, 0, 5, 0, 0, 0, 0, 6, 0, 7, + 8, 9, 0, 0, 0, 0, 0, 13, 0, 0, + 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 117, }; - protected short yyCheck[] = new short[3801]; + protected short yyCheck[] = new short[3916]; } class yyCheck0 { protected static final short yyCheck0 [] = { 10, - 11, 59, 55, 56, 42, 60, 135, 59, 40, 41, - 46, 86, 44, 66, 46, 209, 141, 92, 123, 0, - 147, 0, 20, 59, 46, 123, 91, 59, 60, 61, - 123, 156, 41, 89, 123, 301, 91, 66, 163, 44, - 44, 57, 166, 27, 416, 26, 59, 26, 20, 59, - 67, 123, 301, 60, 52, 62, 59, 110, 30, 91, - 41, 301, 41, 59, 40, 57, 47, 60, 47, 59, - 69, 138, 75, 126, 55, 56, 57, 76, 57, 95, - 52, 110, 41, 46, 60, 66, 67, 103, 67, 138, - 302, 59, 59, 305, 147, 40, 59, 126, 292, 166, - 61, 46, 119, 95, 476, 477, 162, 60, 59, 481, - 123, 103, 41, 123, 95, 44, 95, 166, 123, 123, - 104, 248, 103, 104, 103, 104, 91, 123, 131, 110, - 142, 40, 91, 123, 59, 134, 44, 59, 119, 59, - 119, 125, 209, 155, 125, 126, 125, 128, 164, 128, - 41, 59, 61, 44, 135, 123, 123, 138, 283, 151, - 209, 142, 287, 142, 138, 44, 147, 296, 160, 293, - 268, 365, 123, 91, 155, 268, 155, 282, 59, 268, - 59, 60, 61, 59, 282, 166, 242, 198, 199, 282, - 202, 207, 166, 258, 40, 248, 268, 262, 123, 46, - 46, 123, 44, 123, 138, 332, 44, 41, 60, 274, - 44, 44, 91, 41, 343, 61, 41, 87, 142, 93, - 62, 202, 362, 202, 62, 292, 293, 239, 209, 62, - 44, 155, 166, 103, 104, 209, 301, 249, 313, 250, - 251, 252, 123, 292, 293, 91, 301, 387, 62, 258, - 308, 309, 93, 262, 124, 125, 308, 309, 301, 384, - 385, 57, 243, 301, 243, 274, 273, 248, 249, 301, - 249, 67, 308, 309, 301, 209, 308, 309, 44, 332, - 420, 138, 314, 315, 316, 317, 308, 309, 44, 321, - 44, 161, 301, 59, 164, 44, 303, 304, 365, 95, - 41, 426, 427, 44, 174, 44, 62, 123, 62, 166, - 44, 292, 293, 62, 326, 296, 365, 44, 292, 293, - 59, 476, 477, 119, 268, 59, 481, 338, 339, 340, - 341, 342, 59, 344, 345, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 46, 326, 43, 326, 45, 416, - 417, 332, 209, 314, 315, 316, 317, 59, 292, 293, - 321, 301, 343, 41, 431, 40, 44, 416, 417, 59, - 138, 198, 199, 243, 289, 308, 309, 388, 359, 258, - 359, 123, 431, 262, 365, 452, 453, 41, 455, 61, - 44, 365, 29, 460, 59, 274, 301, 464, 166, 466, - 467, 138, 41, 452, 453, 44, 455, 44, 475, 476, - 477, 460, 348, 349, 481, 464, 53, 466, 467, 61, - 341, 342, 301, 250, 251, 252, 475, 476, 477, 166, - 258, 365, 481, 258, 262, 292, 293, 262, 301, 301, - 77, 209, 416, 417, 59, 60, 274, 38, 258, 274, - 40, 40, 262, 40, 59, 301, 44, 431, 329, 329, - 75, 331, 308, 309, 274, 46, 59, 44, 314, 315, - 316, 317, 209, 301, 38, 321, 301, 94, 452, 453, - 258, 455, 416, 417, 262, 307, 460, 306, 154, 124, - 464, 301, 466, 467, 109, 37, 274, 431, 61, 40, - 42, 475, 476, 477, 59, 47, 258, 481, 365, 301, - 262, 338, 339, 340, 40, 59, 131, 132, 452, 453, - 186, 455, 274, 301, 292, 293, 460, 41, 41, 40, - 464, 59, 466, 467, 59, 59, 59, 407, 408, 291, - 41, 475, 476, 477, 59, 40, 40, 481, 258, 301, - 267, 41, 262, 41, 41, 292, 293, 41, 41, 416, - 417, 388, 267, 178, 274, 37, 38, 0, 0, 41, - 42, 43, 44, 45, 431, 47, 0, 0, 258, 59, - 301, 291, 262, 344, 345, 346, 347, 59, 60, 61, - 62, 301, 47, 49, 274, 452, 453, 365, 455, 119, - 48, 103, 95, 460, 33, 30, 75, 464, 76, 466, - 467, 40, 326, 249, 43, 281, 45, 257, 475, 476, - 477, 301, 94, 263, 481, 350, 352, 351, 365, 269, - 59, 297, 298, 33, 353, 301, 276, 277, 278, 354, - 40, 281, 324, 43, 284, 45, 162, 313, 416, 417, - 33, 324, 124, 125, 136, 65, 165, 40, 41, 59, - 43, 104, 45, 431, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 416, - 417, -1, -1, -1, 452, 453, -1, 455, -1, -1, - -1, 357, 460, -1, 431, -1, 464, -1, 466, 467, - 366, -1, 368, -1, -1, -1, -1, 475, 476, 477, - 33, -1, -1, 481, -1, 452, 453, 40, 455, -1, - 43, -1, 45, 460, -1, -1, -1, 464, -1, 466, - 467, -1, -1, -1, -1, -1, -1, -1, 475, 476, - 477, -1, -1, -1, 481, -1, 33, 413, -1, 415, - -1, -1, 418, 40, 41, -1, 43, -1, 45, -1, - 257, -1, -1, 33, -1, -1, 263, 433, 434, -1, - 40, -1, 269, 43, -1, 45, -1, -1, -1, 276, - 277, 278, -1, 280, 281, 257, 258, 284, -1, 59, - 262, 457, 458, 459, -1, -1, -1, 269, -1, -1, - 123, 273, 274, 33, 276, 277, 278, -1, -1, -1, - 40, 41, 284, 43, -1, 45, -1, -1, -1, 291, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, -1, -1, - 33, -1, 314, 315, 316, 317, 275, 40, 41, 321, - 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, 33, -1, -1, 308, - 309, -1, -1, 40, -1, -1, 43, 287, 45, -1, - -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 59, -1, 287, -1, -1, -1, 308, 309, + 11, 57, 59, 123, 46, 42, 60, 136, 142, 59, + 148, 123, 27, 41, 55, 56, 89, 59, 0, 46, + 0, 365, 103, 157, 123, 66, 69, 41, 123, 41, + 164, 211, 123, 76, 57, 59, 61, 91, 44, 95, + 91, 200, 201, 301, 26, 118, 26, 103, 44, 393, + 86, 167, 59, 118, 59, 59, 92, 41, 301, 41, + 44, 41, 59, 40, 301, 47, 60, 47, 62, 110, + 20, 422, 95, 55, 56, 57, 139, 57, 75, 91, + 103, 91, 426, 60, 66, 67, 127, 67, 67, 104, + 163, 44, 135, 252, 253, 254, 152, 143, 163, 123, + 59, 59, 52, 60, 167, 161, 139, 148, 59, 62, + 156, 126, 250, 95, 294, 95, 123, 123, 123, 123, + 46, 103, 104, 103, 104, 308, 309, 123, 110, 59, + 59, 482, 483, 59, 167, 132, 487, 59, 120, 59, + 120, 120, 165, 57, 126, 127, 126, 129, 211, 129, + 43, 285, 45, 67, 136, 289, 268, 139, 204, 40, + 91, 143, 282, 143, 123, 123, 148, 41, 139, 268, + 299, 244, 123, 268, 156, 66, 156, 268, 211, 295, + 61, 95, 341, 342, 343, 167, 209, 282, 368, 200, + 201, 282, 44, 123, 123, 241, 167, 335, 44, 87, + 139, 123, 60, 123, 258, 251, 120, 258, 262, 250, + 62, 262, 44, 59, 59, 103, 104, 346, 44, 110, + 274, 44, 204, 274, 204, 344, 345, 59, 167, 211, + 258, 294, 295, 59, 262, 394, 127, 125, 126, 62, + 211, 252, 253, 254, 258, 46, 274, 301, 262, 60, + 301, 308, 309, 334, 388, 389, 139, 46, 308, 309, + 274, 294, 295, 245, 301, 245, 308, 309, 250, 251, + 59, 251, 211, 301, 162, 20, 268, 165, 334, 273, + 316, 308, 309, 329, 167, 30, 44, 301, 176, 314, + 315, 316, 317, 44, 335, 143, 321, 44, 432, 433, + 93, 44, 44, 29, 62, 368, 44, 52, 156, 303, + 304, 62, 294, 295, 296, 62, 296, 299, 44, 62, + 62, 59, 139, 294, 295, 93, 302, 53, 211, 305, + 341, 342, 343, 344, 345, 368, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 329, 123, 329, + 167, 77, 334, 335, 334, 294, 295, 245, 44, 422, + 423, 301, 258, 258, 346, 37, 262, 262, 351, 352, + 42, 40, 40, 59, 437, 47, 301, 46, 274, 274, + 362, 40, 362, 394, 258, 301, 368, 46, 262, 422, + 423, 289, 61, 59, 211, 458, 459, 368, 461, 61, + 274, 123, 139, 466, 437, 301, 301, 470, 296, 472, + 473, 294, 295, 59, 301, 301, 482, 483, 481, 482, + 483, 487, 91, 61, 487, 458, 459, 301, 461, 368, + 167, 41, 41, 466, 44, 44, 301, 470, 38, 472, + 473, 59, 60, 258, 332, 44, 334, 262, 481, 482, + 483, 422, 423, 41, 487, 41, 44, 75, 44, 274, + 59, 60, 61, 40, 258, 40, 437, 40, 262, 347, + 348, 349, 350, 155, 211, 44, 291, 294, 295, 41, + 274, 369, 44, 422, 423, 368, 301, 458, 459, 258, + 461, 109, 91, 262, 59, 466, 329, 291, 437, 470, + 41, 472, 473, 44, 46, 274, 188, 301, 59, 44, + 481, 482, 483, 38, 132, 133, 487, 124, 94, 458, + 459, 307, 461, 306, 61, 413, 414, 466, 40, 59, + 301, 470, 301, 472, 473, 40, 59, 41, 41, 422, + 423, 40, 481, 482, 483, 59, 40, 41, 487, 59, + 44, 368, 46, 59, 437, 41, 40, 294, 295, 59, + 40, 59, 180, 267, 41, 59, 60, 61, 41, 41, + 33, 41, 41, 267, 0, 458, 459, 40, 461, 0, + 43, 0, 45, 466, 0, 59, 301, 470, 59, 472, + 473, 47, 120, 48, 95, 49, 59, 91, 481, 482, + 483, 283, 33, 30, 487, 422, 423, 75, 251, 40, + 76, 329, 43, 353, 45, 354, 357, 327, 300, 301, + 437, 355, 304, 356, 327, 65, 137, 166, 59, 104, + -1, 368, 301, -1, 316, -1, -1, -1, -1, 308, + 309, 458, 459, -1, 461, 314, 315, 316, 317, 466, + -1, -1, 321, 470, -1, 472, 473, -1, -1, 258, + -1, -1, -1, 262, 481, 482, 483, -1, -1, -1, + 487, -1, -1, -1, -1, 274, -1, -1, 360, -1, + -1, -1, -1, -1, -1, 422, 423, -1, 370, -1, + 372, 37, 38, -1, -1, 41, 42, 43, 44, 45, + 437, 47, 301, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 59, 60, 61, 62, -1, -1, -1, + -1, 458, 459, -1, 461, -1, -1, -1, -1, 466, + -1, -1, -1, 470, -1, 472, 473, 419, -1, 421, + -1, -1, 424, -1, 481, 482, 483, -1, 94, 257, + 487, -1, 33, -1, -1, 263, -1, 439, 440, 40, + 41, 269, 43, -1, 45, -1, -1, 44, 276, 277, + 278, -1, 280, 281, -1, -1, 284, -1, 124, 125, + -1, 463, 464, 465, 33, 62, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, + -1, 33, -1, -1, -1, -1, -1, 301, 40, 41, + -1, 43, 275, 45, 308, 309, -1, -1, -1, -1, + 314, 315, 316, 317, 287, -1, -1, 321, -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, -1, -1, -1, -1, 33, -1, -1, - -1, -1, -1, -1, 40, 41, -1, 43, -1, 45, - -1, -1, 275, -1, -1, 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, -1, 33, -1, -1, 308, 309, -1, 275, 40, + -1, -1, -1, -1, 275, 308, 309, 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, 123, 33, -1, 308, 309, -1, + -1, -1, 40, 41, -1, 43, -1, 45, -1, -1, + -1, -1, 33, -1, -1, -1, -1, -1, -1, 40, 41, -1, 43, -1, 45, -1, -1, -1, -1, -1, + 33, 257, 258, -1, -1, -1, 262, 40, -1, -1, + 43, -1, 45, 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, + 257, 258, -1, 33, -1, 262, 263, -1, -1, -1, + 40, 41, 269, 43, 275, 45, -1, 274, -1, 276, }; } class yyCheck1 { - protected static final short yyCheck1 [] = { 287, + protected static final short yyCheck1 [] = { 277, + 278, 279, 280, 281, -1, 287, 284, -1, -1, -1, + -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, 33, -1, 301, -1, 275, 308, 309, 40, 41, + -1, 43, -1, 45, -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, + 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, -1, -1, 43, -1, 45, + 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, + 297, 298, 299, 300, 301, -1, 275, -1, -1, -1, + -1, 308, 309, -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, -1, 287, -1, 44, 308, 309, -1, 293, + 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, + 275, -1, -1, 62, 308, 309, -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, -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, -1, 43, 275, 45, -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, -1, 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, 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, -1, -1, -1, -1, -1, -1, - 308, 309, 37, 38, -1, -1, 41, 42, 43, 44, - 45, 275, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 287, 59, 60, -1, 62, 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, 40, 287, 94, - -1, 308, 309, -1, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 275, -1, -1, 59, -1, -1, 308, - 309, -1, -1, -1, -1, 287, -1, -1, -1, 124, - 125, 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, -1, - -1, -1, -1, -1, -1, 275, -1, -1, -1, -1, - 59, -1, -1, 62, -1, -1, -1, 287, -1, -1, - 123, -1, -1, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, -1, 257, -1, -1, -1, 308, 309, - 263, -1, 91, -1, 275, 94, 269, -1, -1, -1, - -1, -1, -1, 276, 277, 278, 287, -1, 281, -1, - -1, 284, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, -1, 123, 124, 125, 308, 309, -1, - -1, -1, -1, 37, -1, -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, -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, - 94, -1, -1, -1, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, -1, 37, 38, -1, -1, - 41, 42, 43, 44, 45, 46, 47, -1, 271, 272, - 124, 125, -1, -1, -1, -1, -1, -1, 59, 60, - 283, 62, -1, -1, 287, -1, -1, -1, -1, 292, + 301, -1, -1, 257, -1, -1, -1, 308, 309, 263, + -1, -1, -1, 275, -1, 269, -1, -1, -1, -1, + -1, -1, 276, 277, 278, 287, -1, 281, -1, -1, + 284, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, -1, -1, -1, 308, 309, -1, -1, + 37, 38, -1, -1, 41, 42, 43, 44, 45, -1, + 47, -1, 275, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 59, 60, 287, 62, -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, -1, -1, -1, 308, 309, -1, 257, 258, - -1, -1, -1, 262, 263, 40, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - 279, 280, 281, 282, 59, 284, -1, -1, -1, -1, - -1, -1, 291, 124, 125, -1, -1, -1, -1, -1, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, -1, -1, -1, -1, -1, -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, 60, -1, 62, -1, -1, -1, -1, 123, -1, - -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, + -1, 287, -1, -1, -1, 308, 309, 293, 294, 295, + 296, 297, 298, 299, 300, 301, -1, 94, -1, -1, + -1, -1, 308, 309, 37, 38, -1, 40, 41, 42, + 43, 44, 45, 46, 47, -1, -1, -1, 257, 258, + -1, -1, -1, 262, 263, -1, 59, 124, 125, 62, + 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, + 279, 280, 281, -1, -1, 284, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 91, 37, + -1, 94, 301, 41, 42, 43, 44, 45, 46, 47, + -1, -1, -1, -1, -1, -1, -1, 257, -1, -1, + -1, 59, 60, 263, 62, -1, -1, -1, -1, 269, + 123, 124, 125, 422, 423, -1, 276, 277, 278, -1, + -1, 281, -1, -1, 284, -1, -1, -1, 437, -1, + -1, -1, -1, 37, 38, -1, 94, 41, 42, 43, + 44, 45, 46, 47, -1, -1, -1, -1, -1, 458, + 459, -1, 461, -1, -1, 59, 60, 466, 62, -1, + -1, 470, -1, 472, 473, -1, 124, 125, -1, -1, + -1, -1, 481, 482, 483, -1, -1, -1, 487, -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, + 124, 125, -1, -1, 301, 302, 303, 304, 305, 306, + 307, 308, 309, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, + 263, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, 279, 280, 281, 282, + -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, 40, 257, + 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, + -1, 269, -1, -1, -1, 273, 274, 59, 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, 94, -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, 125, 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, -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, 94, -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, 124, 125, 271, 272, -1, -1, - -1, 59, 60, -1, 62, -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, 94, -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, 37, - 38, -1, 291, 41, 42, 43, 44, 45, -1, 47, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 59, 60, -1, 62, -1, 257, 258, -1, -1, - -1, 262, 263, -1, -1, -1, -1, -1, 269, -1, - -1, -1, -1, 274, -1, 276, 277, 278, 279, 280, - 281, -1, -1, 284, -1, -1, 94, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - 301, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, 124, 125, -1, -1, - -1, 291, 59, 60, -1, -1, -1, -1, -1, -1, - -1, 301, 302, 303, 304, 305, 306, -1, 308, 309, - 37, -1, -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, -1, -1, - -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, - 278, -1, -1, -1, -1, -1, 284, -1, 125, -1, - -1, -1, -1, 291, -1, -1, -1, 94, -1, -1, - -1, -1, -1, 301, 302, 303, 304, 305, -1, 307, - 308, 309, -1, -1, -1, 37, 38, -1, -1, 41, - 42, 43, 44, 45, 46, 47, -1, 124, 125, -1, - -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, 123, -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, + 257, 258, -1, -1, -1, 262, 263, -1, -1, -1, + -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, + 277, 278, 279, 280, 281, -1, -1, 284, 37, 38, + -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, + -1, -1, -1, -1, 301, -1, -1, -1, -1, -1, + 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, + -1, -1, 125, -1, -1, -1, 37, 38, -1, -1, + 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, + -1, -1, -1, -1, -1, 94, -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, 124, 125, -1, -1, 271, + 272, -1, -1, 94, -1, 59, 60, -1, 62, -1, + -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, 124, 125, -1, 308, 309, -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, 258, }; } class yyCheck2 { - protected static final short yyCheck2 [] = { 62, - -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, -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, 124, 125, -1, 37, 38, -1, -1, 41, 42, - 43, 44, 45, 46, 47, -1, -1, -1, -1, 257, - 258, -1, -1, -1, 262, -1, 59, 60, -1, 62, - -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, 257, - 258, 94, -1, 301, 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, 125, 291, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, -1, -1, -1, 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, -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, 94, -1, -1, -1, -1, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, -1, -1, -1, - 37, 38, -1, -1, 41, 42, -1, 44, -1, 46, - 47, -1, 124, 125, -1, -1, -1, -1, -1, -1, - -1, -1, 59, 60, -1, 62, -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, 302, - 303, 304, 305, 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, 60, -1, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, - 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, - -1, -1, -1, -1, -1, 257, 258, 94, 59, -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, 124, 125, 291, - -1, -1, -1, 94, -1, -1, -1, -1, -1, 301, - 302, 303, 304, 305, 306, -1, 308, 309, -1, -1, - -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, - 46, 47, -1, 124, 125, -1, -1, -1, -1, -1, - 257, 258, -1, 59, 60, 262, 62, -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, 94, -1, - -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, - -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, - 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, - 257, 258, -1, 59, -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, 257, 258, 94, -1, - -1, 262, -1, -1, 301, -1, 303, 304, 269, 306, - 307, 308, 309, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, -1, 124, 125, - 291, -1, -1, -1, -1, -1, -1, -1, 60, -1, - 301, 302, -1, -1, 305, 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, 257, 258, 59, -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, 125, -1, 291, -1, -1, 94, 416, - 417, -1, -1, -1, -1, 301, -1, 303, 304, -1, - 306, 307, 308, 309, 431, -1, -1, -1, 38, -1, - -1, 41, -1, 43, 44, 45, 46, -1, 124, 125, - -1, -1, -1, -1, -1, 452, 453, -1, 455, 59, - 60, -1, 62, 460, -1, -1, -1, 464, -1, 466, - 467, 257, 258, -1, -1, -1, 262, -1, 475, 476, - 477, -1, -1, 269, 481, -1, -1, -1, 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, 302, -1, -1, 305, - 306, 307, 308, 309, 124, 125, -1, 38, -1, -1, - 41, -1, 43, 44, 45, 46, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 257, 258, -1, 59, 60, - 262, 62, -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, 257, 258, 94, -1, 40, 262, -1, -1, 301, - -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, - 276, 277, 278, -1, 59, -1, -1, -1, 284, -1, - -1, -1, -1, 124, 125, 291, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 301, 302, -1, -1, 305, - 306, 307, 308, 309, -1, -1, -1, -1, -1, 38, - -1, -1, 41, -1, 43, 44, 45, 46, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, - 59, 60, 262, 62, -1, -1, -1, -1, 123, 269, - 125, -1, -1, 273, 274, -1, 276, 277, 278, -1, + protected static final short yyCheck2 [] = { 124, + 125, -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, 94, -1, -1, -1, -1, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, + -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, 40, -1, -1, -1, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, -1, -1, -1, -1, + 59, -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, 123, -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, 271, 272, -1, -1, -1, -1, -1, 59, + 60, -1, 62, -1, 283, -1, -1, -1, 287, -1, + 124, 125, -1, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, -1, -1, -1, -1, 308, + 309, -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, 94, }; } class yyCheck3 { protected static final short yyCheck3 [] = { -1, - -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, - 46, 47, -1, -1, 124, 125, -1, -1, -1, -1, - -1, -1, -1, 59, 60, -1, 62, -1, -1, 40, - -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, - 262, -1, -1, -1, -1, -1, -1, 269, 59, -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, - 302, 303, 304, 305, 306, 307, 308, 309, 124, 125, - 40, -1, 258, -1, -1, -1, 262, -1, -1, -1, - -1, 267, -1, -1, -1, 271, 272, -1, 274, 59, - -1, -1, 123, -1, 125, -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, 40, 257, 258, -1, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, 59, 276, 277, 278, -1, - -1, -1, -1, 123, 284, 125, -1, -1, -1, -1, - -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, - 40, 301, 302, 303, 304, 305, 306, 307, 308, 309, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + 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, 257, 258, -1, -1, -1, 262, -1, -1, 123, - -1, 125, -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, 40, -1, -1, -1, -1, -1, 308, 309, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 258, -1, - 59, -1, 262, -1, -1, -1, -1, 123, -1, 125, - -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, 44, -1, -1, -1, -1, -1, 308, 309, - -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, - 62, -1, -1, -1, 123, -1, 125, 271, 272, -1, - 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, - -1, -1, 44, 287, -1, -1, -1, -1, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 258, -1, - 62, -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, 60, 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, 60, 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, 60, - -1, 125, 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, 60, -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, 60, -1, -1, -1, 308, - 309, -1, -1, -1, 125, 257, 258, -1, -1, -1, - 262, 263, -1, -1, -1, -1, -1, 269, -1, -1, - -1, -1, 274, -1, 276, 277, 278, 279, 280, 281, - -1, -1, 284, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 257, 258, -1, -1, 301, - 262, 263, -1, -1, -1, -1, -1, 269, -1, -1, - -1, -1, 274, -1, 276, 277, 278, 279, 280, 281, - -1, -1, 284, 257, 258, -1, -1, -1, 262, -1, - -1, -1, -1, -1, -1, 269, -1, -1, -1, 301, - 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, - 284, 257, 258, -1, -1, -1, 262, 291, -1, -1, - -1, -1, -1, 269, -1, -1, -1, 301, 274, -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, 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, 257, 258, -1, -1, - -1, 262, -1, -1, -1, 301, -1, -1, 269, -1, - -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, 257, 258, -1, -1, -1, 262, - 291, -1, -1, -1, -1, -1, 269, -1, -1, -1, - 301, 274, -1, 276, 277, 278, -1, -1, -1, -1, - -1, 284, 257, 258, -1, -1, -1, 262, 291, -1, - -1, -1, -1, -1, 269, -1, -1, -1, 301, 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, -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, -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, 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, -1, -1, -1, 262, -1, -1, + -1, 59, 60, -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, 60, -1, -1, + -1, -1, -1, 308, 309, -1, -1, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, + 271, 272, -1, 274, -1, -1, -1, 125, -1, -1, + -1, -1, 283, -1, 60, -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, 125, -1, 60, -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, 125, + 60, -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, 125, + -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, 257, + 258, -1, -1, -1, 262, 125, -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, 257, 258, -1, -1, -1, 262, + -1, -1, -1, 301, -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, 257, 258, -1, -1, -1, 262, -1, 301, -1, + -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, + 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, + -1, 257, 258, -1, -1, 291, 262, -1, -1, -1, + -1, -1, -1, 269, -1, 301, -1, -1, 274, -1, + 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, + -1, -1, -1, -1, -1, 291, -1, 257, 258, -1, + -1, -1, 262, -1, -1, 301, -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[3801]; + static short[] yyCheck = new short[3916]; protected static void yyCheckInit () { int numyycheck; int yyCheckerun = 0; for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3801) { + if (yyCheckerun < 3916) { yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3801) { + if (yyCheckerun < 3916) { yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3801) { + if (yyCheckerun < 3916) { yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3801) { + if (yyCheckerun < 3916) { yyCheck[yyCheckerun] = yyCheck3.yyCheck3[numyycheck]; yyCheckerun++; } diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index 5f0306837..fb9c4897d 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -906,6 +906,12 @@ fielddeclaration : fielddeclarator ';' $2.setType($1); $$=$2; } + | '<' boundedMethodParameters '>' type fielddeclarator + {//angefügt von Andreas Stadelmeier + $5.setGenericParameter($2); + $5.setType($4); + $$=$5; + } | variabledeclarators ';' { @@ -1022,8 +1028,8 @@ boundedMethodParameter : IDENTIFIER } | IDENTIFIER EXTENDS boundedclassidentifierlist { - BoundedGenericTypeVar gtv=new BoundedGenericTypeVar($1.getLexem(),$1.getOffset()); - gtv.setBounds($3); + BoundedGenericTypeVar gtv=new BoundedGenericTypeVar($1.getLexem(),$3,$1.getOffset()); + //gtv.setBounds($3); $$=gtv; } // returns Vector diff --git a/src/mycompiler/mytype/BoundedGenericTypeVar.java b/src/mycompiler/mytype/BoundedGenericTypeVar.java index 4d2bd011d..9e63dd185 100755 --- a/src/mycompiler/mytype/BoundedGenericTypeVar.java +++ b/src/mycompiler/mytype/BoundedGenericTypeVar.java @@ -36,7 +36,7 @@ public class BoundedGenericTypeVar extends GenericTypeVar // ino.end // ino.method.BoundedGenericTypeVar.26471.definition - public BoundedGenericTypeVar(String s, int offset) + public BoundedGenericTypeVar(String s, int offset, Vector t) // ino.end // ino.method.BoundedGenericTypeVar.26471.body { @@ -51,8 +51,9 @@ public class BoundedGenericTypeVar extends GenericTypeVar // ino.method.BoundedGenericTypeVar.29409.body { super(s, offset); + if(bounds.size()>1)throw new NotImplementedException(); + this.genericTypeVar = new Pair(new RefType(s,offset),bounds.elementAt(0)); this.bounds = bounds; - throw new NotImplementedException(); } // ino.end @@ -70,6 +71,7 @@ public class BoundedGenericTypeVar extends GenericTypeVar // ino.end // ino.method.setBounds.26477.body { + this.bounds=types; } // ino.end diff --git a/src/typinferenz/TypeInsertSet.java b/src/typinferenz/TypeInsertSet.java index c732dbe86..38421a5c6 100644 --- a/src/typinferenz/TypeInsertSet.java +++ b/src/typinferenz/TypeInsertSet.java @@ -64,7 +64,9 @@ public class TypeInsertSet { //Das additional Offset noch nicht korrigieren, da die generischen Parameter noch vor den Typ müssen. //Jetzt sind die übriggebliebenen TPHs bekannt und die benötigten Generischen Variablen können berechnet werden. - Iterator it = p.getResultSet().getConstraintsFor(insertCode.getUnresolvedTPH()).iterator(); + Vector unresolvedPairs = p.getResultSet().getConstraintsFor(insertCode.getUnresolvedTPH()); + if(unresolvedPairs.size()>0){ //Nur falls es wirklich was zum Einsetzen gibt: + Iterator it = unresolvedPairs.iterator(); String genericTypeParameters = "<"; while(it.hasNext()){ genericTypeParameters += new GenericTypeVar(it.next(), 0).printJavaCode(p.getResultSet()); @@ -76,6 +78,7 @@ public class TypeInsertSet { ret = tip.insertType(insertCode.toString(), additionalOffset).toString(); //Jetzt das gesamte Offset korrigieren: additionalOffset += tip.getInsertLength(); + } additionalOffset += p.getInsertLength(); } diff --git a/test/parser/BoundedParameter.jav b/test/parser/BoundedParameter.jav new file mode 100644 index 000000000..f97bb6629 --- /dev/null +++ b/test/parser/BoundedParameter.jav @@ -0,0 +1,3 @@ +class Matrix{ + Fun1>, B> op = (m) -> ( f) -> f.apply(this, m); +} diff --git a/test/parser/GeneralParserTest.java b/test/parser/GeneralParserTest.java index 2124eb227..3b3b9de0d 100644 --- a/test/parser/GeneralParserTest.java +++ b/test/parser/GeneralParserTest.java @@ -28,8 +28,9 @@ public class GeneralParserTest{ @Test public void run(){ Vector filenames = new Vector(); - filenames.add("FieldInitializationTest.jav"); - filenames.add("ImportTest.jav"); + //filenames.add("FieldInitializationTest.jav"); + //filenames.add("ImportTest.jav"); + filenames.add("BoundedParameter.jav"); MyCompilerAPI compiler = MyCompiler.getAPI(); try{ for(String filename : filenames) diff --git a/test/plugindevelopment/TRMEqualTest.java b/test/plugindevelopment/TRMEqualTest.java index 73ade1a3e..6077ca0c4 100644 --- a/test/plugindevelopment/TRMEqualTest.java +++ b/test/plugindevelopment/TRMEqualTest.java @@ -108,7 +108,7 @@ class TestNode implements TypeInsertable{ @Override public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, ResultSet resultSet) { - return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph), resultSet); + return new TypeInsertPoint( this, resultSet.getTypeEqualTo(tph), resultSet); } @Override diff --git a/tools/y.output b/tools/y.output index 33b603905..1a9018977 100644 --- a/tools/y.output +++ b/tools/y.output @@ -126,279 +126,280 @@ 87 fielddeclaration : fielddeclarator ';' 88 | type fielddeclarator - 89 | variabledeclarators ';' - 90 | type variabledeclarators ';' - 91 | modifiers type variabledeclarators ';' + 89 | '<' boundedMethodParameters '>' type fielddeclarator + 90 | variabledeclarators ';' + 91 | type variabledeclarators ';' + 92 | modifiers type variabledeclarators ';' - 92 methoddeclaration : methodheader methodbody + 93 methoddeclaration : methodheader methodbody - 93 block : '{' '}' - 94 | '{' blockstatements '}' + 94 block : '{' '}' + 95 | '{' blockstatements '}' - 95 constructordeclarator : simplename '(' ')' - 96 | simplename '(' formalparameterlist ')' + 96 constructordeclarator : simplename '(' ')' + 97 | simplename '(' formalparameterlist ')' - 97 constructorbody : '{' '}' - 98 | '{' explicitconstructorinvocation '}' - 99 | '{' blockstatements '}' - 100 | '{' explicitconstructorinvocation blockstatements '}' + 98 constructorbody : '{' '}' + 99 | '{' explicitconstructorinvocation '}' + 100 | '{' blockstatements '}' + 101 | '{' explicitconstructorinvocation blockstatements '}' - 101 throws : THROWS classtypelist + 102 throws : THROWS classtypelist - 102 boundedClassParameter : boundedMethodParameter + 103 boundedClassParameter : boundedMethodParameter - 103 boundedClassParameters : boundedClassParameter - 104 | boundedClassParameters ',' boundedClassParameter + 104 boundedClassParameters : boundedClassParameter + 105 | boundedClassParameters ',' boundedClassParameter - 105 boundedMethodParameter : IDENTIFIER - 106 | IDENTIFIER EXTENDS boundedclassidentifierlist + 106 boundedMethodParameter : IDENTIFIER + 107 | IDENTIFIER EXTENDS boundedclassidentifierlist - 107 boundedclassidentifierlist : referencetype - 108 | boundedclassidentifierlist '&' referencetype + 108 boundedclassidentifierlist : referencetype + 109 | boundedclassidentifierlist '&' referencetype - 109 boundedMethodParameters : boundedMethodParameter - 110 | boundedMethodParameters ',' boundedMethodParameter + 110 boundedMethodParameters : boundedMethodParameter + 111 | boundedMethodParameters ',' boundedMethodParameter - 111 methodheader : '<' boundedMethodParameters '>' type methoddeclarator - 112 | type methoddeclarator - 113 | modifiers type methoddeclarator - 114 | modifiers '<' boundedMethodParameters '>' type methoddeclarator - 115 | type methoddeclarator throws - 116 | '<' boundedMethodParameters '>' type methoddeclarator throws - 117 | modifiers type methoddeclarator throws - 118 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws - 119 | VOID methoddeclarator - 120 | modifiers VOID methoddeclarator - 121 | VOID methoddeclarator throws - 122 | modifiers VOID methoddeclarator throws - 123 | '<' boundedMethodParameters '>' VOID methoddeclarator - 124 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator - 125 | '<' boundedMethodParameters '>' VOID methoddeclarator throws - 126 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws - 127 | methoddeclarator - 128 | '<' boundedMethodParameters '>' methoddeclarator - 129 | modifiers methoddeclarator - 130 | methoddeclarator throws - 131 | modifiers methoddeclarator throws + 112 methodheader : '<' boundedMethodParameters '>' type methoddeclarator + 113 | type methoddeclarator + 114 | modifiers type methoddeclarator + 115 | modifiers '<' boundedMethodParameters '>' type methoddeclarator + 116 | type methoddeclarator throws + 117 | '<' boundedMethodParameters '>' type methoddeclarator throws + 118 | modifiers type methoddeclarator throws + 119 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws + 120 | VOID methoddeclarator + 121 | modifiers VOID methoddeclarator + 122 | VOID methoddeclarator throws + 123 | modifiers VOID methoddeclarator throws + 124 | '<' boundedMethodParameters '>' VOID methoddeclarator + 125 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator + 126 | '<' boundedMethodParameters '>' VOID methoddeclarator throws + 127 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws + 128 | methoddeclarator + 129 | '<' boundedMethodParameters '>' methoddeclarator + 130 | modifiers methoddeclarator + 131 | methoddeclarator throws + 132 | modifiers methoddeclarator throws - 132 type : primitivetype - 133 | primitivetype '[' ']' - 134 | referencetype - 135 | referencetype '[' ']' + 133 type : primitivetype + 134 | primitivetype '[' ']' + 135 | referencetype + 136 | referencetype '[' ']' - 136 variabledeclarators : variabledeclarator - 137 | variabledeclarators ',' variabledeclarator + 137 variabledeclarators : variabledeclarator + 138 | variabledeclarators ',' variabledeclarator - 138 methodbody : block + 139 methodbody : block - 139 blockstatements : blockstatement - 140 | blockstatements blockstatement + 140 blockstatements : blockstatement + 141 | blockstatements blockstatement - 141 formalparameterlist : formalparameter - 142 | formalparameterlist ',' formalparameter + 142 formalparameterlist : formalparameter + 143 | formalparameterlist ',' formalparameter - 143 explicitconstructorinvocation : THIS '(' ')' ';' - 144 | THIS '(' argumentlist ')' ';' + 144 explicitconstructorinvocation : THIS '(' ')' ';' + 145 | THIS '(' argumentlist ')' ';' - 145 classtypelist : classtype - 146 | classtypelist ',' classtype + 146 classtypelist : classtype + 147 | classtypelist ',' classtype - 147 methoddeclarator : IDENTIFIER '(' ')' - 148 | IDENTIFIER '(' formalparameterlist ')' + 148 methoddeclarator : IDENTIFIER '(' ')' + 149 | IDENTIFIER '(' formalparameterlist ')' - 149 primitivetype : BOOLEAN - 150 | numerictype + 150 primitivetype : BOOLEAN + 151 | numerictype - 151 referencetype : classorinterfacetype + 152 referencetype : classorinterfacetype - 152 variabledeclarator : variabledeclaratorid + 153 variabledeclarator : variabledeclaratorid - 153 blockstatement : localvariabledeclarationstatement - 154 | statement + 154 blockstatement : localvariabledeclarationstatement + 155 | statement - 155 formalparameter : type variabledeclaratorid - 156 | variabledeclaratorid + 156 formalparameter : type variabledeclaratorid + 157 | variabledeclaratorid - 157 argumentlist : expression - 158 | argumentlist ',' expression + 158 argumentlist : expression + 159 | argumentlist ',' expression - 159 numerictype : integraltype + 160 numerictype : integraltype - 160 variabledeclaratorid : IDENTIFIER + 161 variabledeclaratorid : IDENTIFIER - 161 variableinitializer : expression + 162 variableinitializer : expression - 162 localvariabledeclarationstatement : localvariabledeclaration ';' + 163 localvariabledeclarationstatement : localvariabledeclaration ';' - 163 statement : statementwithouttrailingsubstatement - 164 | ifthenstatement - 165 | ifthenelsestatement - 166 | whilestatement - 167 | forstatement + 164 statement : statementwithouttrailingsubstatement + 165 | ifthenstatement + 166 | ifthenelsestatement + 167 | whilestatement + 168 | forstatement - 168 expression : assignmentexpression - 169 | classinstancecreationexpression + 169 expression : assignmentexpression + 170 | classinstancecreationexpression - 170 integraltype : INT - 171 | CHAR + 171 integraltype : INT + 172 | CHAR - 172 localvariabledeclaration : type variabledeclarators - 173 | variabledeclarators + 173 localvariabledeclaration : type variabledeclarators + 174 | variabledeclarators - 174 statementwithouttrailingsubstatement : block - 175 | emptystatement - 176 | expressionstatement - 177 | returnstatement + 175 statementwithouttrailingsubstatement : block + 176 | emptystatement + 177 | expressionstatement + 178 | returnstatement - 178 ifthenstatement : IF '(' expression ')' statement + 179 ifthenstatement : IF '(' expression ')' statement - 179 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement + 180 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement - 180 whilestatement : WHILE '(' expression ')' statement + 181 whilestatement : WHILE '(' expression ')' statement - 181 forstatement : FOR '(' expression ';' expression ';' expression ')' statement - 182 | FOR '(' expression ';' expression ';' ')' statement - 183 | FOR '(' expression ';' ';' expression ')' statement - 184 | FOR '(' ';' expression ';' expression ')' statement - 185 | FOR '(' expression ';' ';' ')' statement - 186 | FOR '(' ';' expression ';' ')' statement - 187 | FOR '(' ';' ';' expression ')' statement - 188 | FOR '(' ';' ';' ')' statement + 182 forstatement : FOR '(' expression ';' expression ';' expression ')' statement + 183 | FOR '(' expression ';' expression ';' ')' statement + 184 | FOR '(' expression ';' ';' expression ')' statement + 185 | FOR '(' ';' expression ';' expression ')' statement + 186 | FOR '(' expression ';' ';' ')' statement + 187 | FOR '(' ';' expression ';' ')' statement + 188 | FOR '(' ';' ';' expression ')' statement + 189 | FOR '(' ';' ';' ')' statement - 189 assignmentexpression : conditionalexpression - 190 | assignment + 190 assignmentexpression : conditionalexpression + 191 | assignment - 191 emptystatement : ';' + 192 emptystatement : ';' - 192 expressionstatement : statementexpression ';' + 193 expressionstatement : statementexpression ';' - 193 returnstatement : RETURN ';' - 194 | RETURN expression ';' + 194 returnstatement : RETURN ';' + 195 | RETURN expression ';' - 195 statementnoshortif : statementwithouttrailingsubstatement - 196 | ifthenelsestatementnoshortif - 197 | whilestatementnoshortif + 196 statementnoshortif : statementwithouttrailingsubstatement + 197 | ifthenelsestatementnoshortif + 198 | whilestatementnoshortif - 198 conditionalexpression : conditionalorexpression + 199 conditionalexpression : conditionalorexpression - 199 assignment : lefthandside assignmentoperator assignmentexpression - 200 | lefthandside assignmentoperator classinstancecreationexpression + 200 assignment : lefthandside assignmentoperator assignmentexpression + 201 | lefthandside assignmentoperator classinstancecreationexpression - 201 statementexpression : assignment - 202 | preincrementexpression - 203 | predecrementexpression - 204 | postincrementexpression - 205 | postdecrementexpression - 206 | methodinvocation + 202 statementexpression : assignment + 203 | preincrementexpression + 204 | predecrementexpression + 205 | postincrementexpression + 206 | postdecrementexpression + 207 | methodinvocation - 207 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif + 208 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif - 208 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif + 209 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif - 209 conditionalorexpression : conditionalandexpression - 210 | conditionalorexpression LOGICALOR conditionalandexpression + 210 conditionalorexpression : conditionalandexpression + 211 | conditionalorexpression LOGICALOR conditionalandexpression - 211 lambdaassignmentoperator : LAMBDAASSIGNMENT + 212 lambdaassignmentoperator : LAMBDAASSIGNMENT - 212 lambdabody : block - 213 | expression + 213 lambdabody : block + 214 | expression - 214 lambdaexpressionparameter : '(' ')' - 215 | '(' formalparameterlist ')' + 215 lambdaexpressionparameter : '(' ')' + 216 | '(' formalparameterlist ')' - 216 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody + 217 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody - 217 lefthandside : name + 218 lefthandside : name - 218 assignmentoperator : '=' - 219 | TIMESEQUAL - 220 | DIVIDEEQUAL - 221 | MODULOEQUAL - 222 | PLUSEQUAL - 223 | MINUSEQUAL + 219 assignmentoperator : '=' + 220 | TIMESEQUAL + 221 | DIVIDEEQUAL + 222 | MODULOEQUAL + 223 | PLUSEQUAL + 224 | MINUSEQUAL - 224 preincrementexpression : INCREMENT unaryexpression + 225 preincrementexpression : INCREMENT unaryexpression - 225 predecrementexpression : DECREMENT unaryexpression + 226 predecrementexpression : DECREMENT unaryexpression - 226 postincrementexpression : postfixexpression INCREMENT + 227 postincrementexpression : postfixexpression INCREMENT - 227 postdecrementexpression : postfixexpression DECREMENT + 228 postdecrementexpression : postfixexpression DECREMENT - 228 methodinvocation : name '(' ')' - 229 | name '(' argumentlist ')' - 230 | primary '.' IDENTIFIER '(' ')' - 231 | primary '.' IDENTIFIER '(' argumentlist ')' + 229 methodinvocation : name '(' ')' + 230 | name '(' argumentlist ')' + 231 | primary '.' IDENTIFIER '(' ')' + 232 | primary '.' IDENTIFIER '(' argumentlist ')' - 232 classinstancecreationexpression : NEW classtype '(' ')' - 233 | NEW classtype '(' argumentlist ')' + 233 classinstancecreationexpression : NEW classtype '(' ')' + 234 | NEW classtype '(' argumentlist ')' - 234 conditionalandexpression : inclusiveorexpression - 235 | conditionalandexpression LOGICALAND inclusiveorexpression + 235 conditionalandexpression : inclusiveorexpression + 236 | conditionalandexpression LOGICALAND inclusiveorexpression - 236 unaryexpression : preincrementexpression - 237 | predecrementexpression - 238 | '+' unaryexpression - 239 | '-' unaryexpression - 240 | unaryexpressionnotplusminus + 237 unaryexpression : preincrementexpression + 238 | predecrementexpression + 239 | '+' unaryexpression + 240 | '-' unaryexpression + 241 | unaryexpressionnotplusminus - 241 postfixexpression : primary - 242 | name - 243 | postincrementexpression - 244 | postdecrementexpression + 242 postfixexpression : primary + 243 | name + 244 | postincrementexpression + 245 | postdecrementexpression - 245 primary : primarynonewarray + 246 primary : primarynonewarray - 246 inclusiveorexpression : exclusiveorexpression - 247 | inclusiveorexpression '|' exclusiveorexpression + 247 inclusiveorexpression : exclusiveorexpression + 248 | inclusiveorexpression '|' exclusiveorexpression - 248 primarynonewarray : literal - 249 | THIS - 250 | methodinvocation - 251 | lambdaexpression + 249 primarynonewarray : literal + 250 | THIS + 251 | methodinvocation + 252 | lambdaexpression - 252 unaryexpressionnotplusminus : postfixexpression - 253 | '!' unaryexpression - 254 | castexpression + 253 unaryexpressionnotplusminus : postfixexpression + 254 | '!' unaryexpression + 255 | castexpression - 255 exclusiveorexpression : andexpression - 256 | exclusiveorexpression '^' andexpression + 256 exclusiveorexpression : andexpression + 257 | exclusiveorexpression '^' andexpression - 257 literal : INTLITERAL - 258 | BOOLLITERAL - 259 | CHARLITERAL - 260 | STRINGLITERAL - 261 | LONGLITERAL - 262 | FLOATLITERAL - 263 | DOUBLELITERAL - 264 | JNULL + 258 literal : INTLITERAL + 259 | BOOLLITERAL + 260 | CHARLITERAL + 261 | STRINGLITERAL + 262 | LONGLITERAL + 263 | FLOATLITERAL + 264 | DOUBLELITERAL + 265 | JNULL - 265 castexpression : '(' primitivetype ')' unaryexpression + 266 castexpression : '(' primitivetype ')' unaryexpression - 266 andexpression : equalityexpression - 267 | andexpression '&' equalityexpression + 267 andexpression : equalityexpression + 268 | andexpression '&' equalityexpression - 268 equalityexpression : relationalexpression - 269 | equalityexpression EQUAL relationalexpression - 270 | equalityexpression NOTEQUAL relationalexpression + 269 equalityexpression : relationalexpression + 270 | equalityexpression EQUAL relationalexpression + 271 | equalityexpression NOTEQUAL relationalexpression - 271 relationalexpression : shiftexpression - 272 | relationalexpression '<' shiftexpression - 273 | relationalexpression '>' shiftexpression - 274 | relationalexpression LESSEQUAL shiftexpression - 275 | relationalexpression GREATEREQUAL shiftexpression - 276 | relationalexpression INSTANCEOF referencetype + 272 relationalexpression : shiftexpression + 273 | relationalexpression '<' shiftexpression + 274 | relationalexpression '>' shiftexpression + 275 | relationalexpression LESSEQUAL shiftexpression + 276 | relationalexpression GREATEREQUAL shiftexpression + 277 | relationalexpression INSTANCEOF referencetype - 277 shiftexpression : additiveexpression + 278 shiftexpression : additiveexpression - 278 additiveexpression : multiplicativeexpression - 279 | additiveexpression '+' multiplicativeexpression - 280 | additiveexpression '-' multiplicativeexpression + 279 additiveexpression : multiplicativeexpression + 280 | additiveexpression '+' multiplicativeexpression + 281 | additiveexpression '-' multiplicativeexpression - 281 multiplicativeexpression : unaryexpression - 282 | multiplicativeexpression '*' unaryexpression - 283 | multiplicativeexpression '/' unaryexpression - 284 | multiplicativeexpression '%' unaryexpression + 282 multiplicativeexpression : unaryexpression + 283 | multiplicativeexpression '*' unaryexpression + 284 | multiplicativeexpression '/' unaryexpression + 285 | multiplicativeexpression '%' unaryexpression state 0 $accept : . compilationunit $end (0) @@ -445,15 +446,15 @@ state 1 state 2 - primitivetype : BOOLEAN . (149) + primitivetype : BOOLEAN . (150) - . reduce 149 + . reduce 150 state 3 - integraltype : CHAR . (171) + integraltype : CHAR . (172) - . reduce 171 + . reduce 172 state 4 @@ -475,9 +476,9 @@ state 5 state 6 - integraltype : INT . (170) + integraltype : INT . (171) - . reduce 170 + . reduce 171 state 7 @@ -644,67 +645,67 @@ state 20 state 21 - referencetype : classorinterfacetype . (151) + referencetype : classorinterfacetype . (152) + + . reduce 152 + + +state 22 + numerictype : integraltype . (160) + + . reduce 160 + + +state 23 + primitivetype : numerictype . (151) . reduce 151 -state 22 - numerictype : integraltype . (159) - - . reduce 159 - - -state 23 - primitivetype : numerictype . (150) - - . reduce 150 - - state 24 - type : primitivetype . (132) - type : primitivetype . '[' ']' (133) + type : primitivetype . (133) + type : primitivetype . '[' ']' (134) '[' shift 45 - ABSTRACT reduce 132 - BOOLEAN reduce 132 - CHAR reduce 132 - CLASS reduce 132 - FINAL reduce 132 - INT reduce 132 - PRIVATE reduce 132 - PROTECTED reduce 132 - PUBLIC reduce 132 - PACKAGE reduce 132 - IMPORT reduce 132 - INTERFACE reduce 132 - STATIC reduce 132 - IDENTIFIER reduce 132 - ',' reduce 132 - '>' reduce 132 + ABSTRACT reduce 133 + BOOLEAN reduce 133 + CHAR reduce 133 + CLASS reduce 133 + FINAL reduce 133 + INT reduce 133 + PRIVATE reduce 133 + PROTECTED reduce 133 + PUBLIC reduce 133 + PACKAGE reduce 133 + IMPORT reduce 133 + INTERFACE reduce 133 + STATIC reduce 133 + IDENTIFIER reduce 133 + ',' reduce 133 + '>' reduce 133 state 25 - type : referencetype . (134) - type : referencetype . '[' ']' (135) + type : referencetype . (135) + type : referencetype . '[' ']' (136) '[' shift 46 - ABSTRACT reduce 134 - BOOLEAN reduce 134 - CHAR reduce 134 - CLASS reduce 134 - FINAL reduce 134 - INT reduce 134 - PRIVATE reduce 134 - PROTECTED reduce 134 - PUBLIC reduce 134 - PACKAGE reduce 134 - IMPORT reduce 134 - INTERFACE reduce 134 - STATIC reduce 134 - IDENTIFIER reduce 134 - ',' reduce 134 - '>' reduce 134 + ABSTRACT reduce 135 + BOOLEAN reduce 135 + CHAR reduce 135 + CLASS reduce 135 + FINAL reduce 135 + INT reduce 135 + PRIVATE reduce 135 + PROTECTED reduce 135 + PUBLIC reduce 135 + PACKAGE reduce 135 + IMPORT reduce 135 + INTERFACE reduce 135 + STATIC reduce 135 + IDENTIFIER reduce 135 + ',' reduce 135 + '>' reduce 135 state 26 @@ -942,14 +943,14 @@ state 44 state 45 - type : primitivetype '[' . ']' (133) + type : primitivetype '[' . ']' (134) ']' shift 72 . error state 46 - type : referencetype '[' . ']' (135) + type : referencetype '[' . ']' (136) ']' shift 73 . error @@ -1244,15 +1245,15 @@ state 67 STATIC shift 13 VOID shift 87 IDENTIFIER shift 117 - '<' shift 89 - '}' shift 118 + '<' shift 118 + '}' shift 119 . error - interfacememberdeclarations goto 119 - interfacememberdeclaration goto 120 - abstractmethoddeclaration goto 121 - constantdeclaration goto 122 - methodheader goto 123 + interfacememberdeclarations goto 120 + interfacememberdeclaration goto 121 + abstractmethoddeclaration goto 122 + constantdeclaration goto 123 + methodheader goto 124 methoddeclarator goto 94 simplename goto 18 classorinterfacetype goto 21 @@ -1260,8 +1261,8 @@ state 67 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 124 - modifiers goto 125 + type goto 125 + modifiers goto 126 modifier goto 28 @@ -1275,11 +1276,11 @@ state 69 interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces . interfacebody (34) extendsinterfaces : extendsinterfaces . ',' interfacetype (55) - ',' shift 126 + ',' shift 127 '{' shift 67 . error - interfacebody goto 127 + interfacebody goto 128 state 70 @@ -1292,21 +1293,21 @@ state 71 typelist : typelist . ',' type (73) parameter : '<' typelist . '>' (75) - ',' shift 128 - '>' shift 129 + ',' shift 129 + '>' shift 130 . error state 72 - type : primitivetype '[' ']' . (133) + type : primitivetype '[' ']' . (134) - . reduce 133 + . reduce 134 state 73 - type : referencetype '[' ']' . (135) + type : referencetype '[' ']' . (136) - . reduce 135 + . reduce 136 state 74 @@ -1326,9 +1327,9 @@ state 75 '{' shift 57 . error - classbody goto 130 - super goto 131 - interfaces goto 132 + classbody goto 131 + super goto 132 + interfaces goto 133 state 76 @@ -1339,8 +1340,8 @@ state 76 '{' shift 67 . error - interfacebody goto 133 - extendsinterfaces goto 134 + interfacebody goto 134 + extendsinterfaces goto 135 state 77 @@ -1365,32 +1366,32 @@ state 77 state 78 - boundedMethodParameter : IDENTIFIER . (105) - boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (106) + boundedMethodParameter : IDENTIFIER . (106) + boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (107) - EXTENDS shift 135 - ',' reduce 105 - '>' reduce 105 + EXTENDS shift 136 + ',' reduce 106 + '>' reduce 106 state 79 - boundedClassParameter : boundedMethodParameter . (102) - - . reduce 102 - - -state 80 - boundedClassParameters : boundedClassParameter . (103) + boundedClassParameter : boundedMethodParameter . (103) . reduce 103 +state 80 + boundedClassParameters : boundedClassParameter . (104) + + . reduce 104 + + state 81 classidentifier : IDENTIFIER '<' boundedClassParameters . '>' (31) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (104) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (105) - ',' shift 136 - '>' shift 137 + ',' shift 137 + '>' shift 138 . error @@ -1422,7 +1423,7 @@ state 86 modifier : STATIC . (61) staticinitializer : STATIC . block (80) - '{' shift 138 + '{' shift 139 ABSTRACT reduce 61 BOOLEAN reduce 61 CHAR reduce 61 @@ -1436,50 +1437,51 @@ state 86 IDENTIFIER reduce 61 '<' reduce 61 - block goto 139 + block goto 140 state 87 - methodheader : VOID . methoddeclarator (119) - methodheader : VOID . methoddeclarator throws (121) + methodheader : VOID . methoddeclarator (120) + methodheader : VOID . methoddeclarator throws (122) - IDENTIFIER shift 140 + IDENTIFIER shift 141 . error - methoddeclarator goto 141 + methoddeclarator goto 142 -88: shift/reduce conflict (shift 142, reduce 19) on '(' +88: shift/reduce conflict (shift 143, reduce 19) on '(' state 88 simplename : IDENTIFIER . (19) - methoddeclarator : IDENTIFIER . '(' ')' (147) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) - variabledeclaratorid : IDENTIFIER . (160) + methoddeclarator : IDENTIFIER . '(' ')' (148) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) + variabledeclaratorid : IDENTIFIER . (161) - '(' shift 142 + '(' shift 143 BOOLEAN reduce 19 CHAR reduce 19 INT reduce 19 IDENTIFIER reduce 19 - ',' reduce 160 - ';' reduce 160 + ',' reduce 161 + ';' reduce 161 '<' reduce 19 - '=' reduce 160 + '=' reduce 161 '[' reduce 19 state 89 - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (111) - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (116) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (123) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (125) - methodheader : '<' . boundedMethodParameters '>' methoddeclarator (128) + fielddeclaration : '<' . boundedMethodParameters '>' type fielddeclarator (89) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (112) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (117) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (124) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (126) + methodheader : '<' . boundedMethodParameters '>' methoddeclarator (129) IDENTIFIER shift 78 . error - boundedMethodParameter goto 143 - boundedMethodParameters goto 144 + boundedMethodParameter goto 144 + boundedMethodParameters goto 145 state 90 @@ -1495,13 +1497,13 @@ state 91 state 92 - methoddeclaration : methodheader . methodbody (92) + methoddeclaration : methodheader . methodbody (93) - '{' shift 138 + '{' shift 139 . error - block goto 145 - methodbody goto 146 + block goto 146 + methodbody goto 147 state 93 @@ -1511,14 +1513,14 @@ state 93 state 94 - methodheader : methoddeclarator . (127) - methodheader : methoddeclarator . throws (130) + methodheader : methoddeclarator . (128) + methodheader : methoddeclarator . throws (131) - THROWS shift 147 - ';' reduce 127 - '{' reduce 127 + THROWS shift 148 + ';' reduce 128 + '{' reduce 128 - throws goto 148 + throws goto 149 state 95 @@ -1537,14 +1539,14 @@ state 95 VOID shift 87 IDENTIFIER shift 88 '<' shift 89 - '}' shift 149 + '}' shift 150 . error fielddeclaration goto 91 methodheader goto 92 methoddeclaration goto 93 methoddeclarator goto 94 - classbodydeclaration goto 150 + classbodydeclaration goto 151 classmemberdeclaration goto 97 variabledeclarators goto 98 fielddeclarator goto 99 @@ -1577,44 +1579,44 @@ state 97 state 98 - fielddeclaration : variabledeclarators . ';' (89) - variabledeclarators : variabledeclarators . ',' variabledeclarator (137) + fielddeclaration : variabledeclarators . ';' (90) + variabledeclarators : variabledeclarators . ',' variabledeclarator (138) - ',' shift 151 - ';' shift 152 + ',' shift 152 + ';' shift 153 . error state 99 fielddeclaration : fielddeclarator . ';' (87) - ';' shift 153 + ';' shift 154 . error state 100 fielddeclarator : variabledeclarator . '=' expression (86) - variabledeclarators : variabledeclarator . (136) + variabledeclarators : variabledeclarator . (137) - '=' shift 154 - ',' reduce 136 - ';' reduce 136 + '=' shift 155 + ',' reduce 137 + ';' reduce 137 state 101 - variabledeclarator : variabledeclaratorid . (152) + variabledeclarator : variabledeclaratorid . (153) - . reduce 152 + . reduce 153 state 102 classorinterfacetype : simplename . parameter (71) - constructordeclarator : simplename . '(' ')' (95) - constructordeclarator : simplename . '(' formalparameterlist ')' (96) + constructordeclarator : simplename . '(' ')' (96) + constructordeclarator : simplename . '(' formalparameterlist ')' (97) parameter : . (74) '<' shift 41 - '(' shift 155 + '(' shift 156 BOOLEAN reduce 74 CHAR reduce 74 INT reduce 74 @@ -1627,9 +1629,9 @@ state 102 state 103 fielddeclarator : type . variabledeclarator '=' expression (85) fielddeclaration : type . fielddeclarator (88) - fielddeclaration : type . variabledeclarators ';' (90) - methodheader : type . methoddeclarator (112) - methodheader : type . methoddeclarator throws (115) + fielddeclaration : type . variabledeclarators ';' (91) + methodheader : type . methoddeclarator (113) + methodheader : type . methoddeclarator throws (116) BOOLEAN shift 2 CHAR shift 3 @@ -1637,10 +1639,10 @@ state 103 IDENTIFIER shift 88 . error - methoddeclarator goto 156 - variabledeclarators goto 157 - fielddeclarator goto 158 - variabledeclarator goto 159 + methoddeclarator goto 157 + variabledeclarators goto 158 + fielddeclarator goto 159 + variabledeclarator goto 160 variabledeclaratorid goto 101 simplename goto 18 classorinterfacetype goto 21 @@ -1648,23 +1650,23 @@ state 103 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 160 + type goto 161 state 104 modifiers : modifiers . modifier (48) constructordeclaration : modifiers . constructordeclarator constructorbody (82) - fielddeclaration : modifiers . type variabledeclarators ';' (91) - methodheader : modifiers . type methoddeclarator (113) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (114) - methodheader : modifiers . type methoddeclarator throws (117) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (118) - methodheader : modifiers . VOID methoddeclarator (120) - methodheader : modifiers . VOID methoddeclarator throws (122) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (124) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (126) - methodheader : modifiers . methoddeclarator (129) - methodheader : modifiers . methoddeclarator throws (131) + fielddeclaration : modifiers . type variabledeclarators ';' (92) + methodheader : modifiers . type methoddeclarator (114) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (115) + methodheader : modifiers . type methoddeclarator throws (118) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (119) + methodheader : modifiers . VOID methoddeclarator (121) + methodheader : modifiers . VOID methoddeclarator throws (123) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (125) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (127) + methodheader : modifiers . methoddeclarator (130) + methodheader : modifiers . methoddeclarator throws (132) ABSTRACT shift 1 BOOLEAN shift 2 @@ -1675,21 +1677,21 @@ state 104 PROTECTED shift 8 PUBLIC shift 9 STATIC shift 13 - VOID shift 161 + VOID shift 162 IDENTIFIER shift 117 - '<' shift 162 + '<' shift 163 . error - methoddeclarator goto 163 + methoddeclarator goto 164 simplename goto 102 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 164 + type goto 165 modifier goto 50 - constructordeclarator goto 165 + constructordeclarator goto 166 state 105 @@ -1701,10 +1703,10 @@ state 105 state 106 constructordeclaration : constructordeclarator . constructorbody (81) - '{' shift 166 + '{' shift 167 . error - constructorbody goto 167 + constructorbody goto 168 state 107 @@ -1727,7 +1729,7 @@ state 109 '{' shift 57 . error - classbody goto 168 + classbody goto 169 state 110 @@ -1738,7 +1740,7 @@ state 110 simplename goto 18 classorinterfacetype goto 84 - interfacetype goto 169 + interfacetype goto 170 state 111 @@ -1769,10 +1771,10 @@ state 114 state 115 interfaceidentifier : IDENTIFIER '<' boundedClassParameters . '>' (29) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (104) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (105) - ',' shift 136 - '>' shift 170 + ',' shift 137 + '>' shift 171 . error @@ -1782,25 +1784,42 @@ state 116 . reduce 54 -117: shift/reduce conflict (shift 142, reduce 19) on '(' +117: shift/reduce conflict (shift 143, reduce 19) on '(' state 117 simplename : IDENTIFIER . (19) - methoddeclarator : IDENTIFIER . '(' ')' (147) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) + methoddeclarator : IDENTIFIER . '(' ')' (148) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) - '(' shift 142 + '(' shift 143 + BOOLEAN reduce 19 + CHAR reduce 19 + INT reduce 19 IDENTIFIER reduce 19 '<' reduce 19 '[' reduce 19 state 118 + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (112) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (117) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (124) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (126) + methodheader : '<' . boundedMethodParameters '>' methoddeclarator (129) + + IDENTIFIER shift 78 + . error + + boundedMethodParameter goto 144 + boundedMethodParameters goto 172 + + +state 119 interfacebody : '{' '}' . (52) . reduce 52 -state 119 +state 120 interfacebody : '{' interfacememberdeclarations . '}' (53) interfacememberdeclarations : interfacememberdeclarations . interfacememberdeclaration (66) @@ -1815,14 +1834,14 @@ state 119 STATIC shift 13 VOID shift 87 IDENTIFIER shift 117 - '<' shift 89 - '}' shift 171 + '<' shift 118 + '}' shift 173 . error - interfacememberdeclaration goto 172 - abstractmethoddeclaration goto 121 - constantdeclaration goto 122 - methodheader goto 123 + interfacememberdeclaration goto 174 + abstractmethoddeclaration goto 122 + constantdeclaration goto 123 + methodheader goto 124 methoddeclarator goto 94 simplename goto 18 classorinterfacetype goto 21 @@ -1830,59 +1849,59 @@ state 119 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 124 - modifiers goto 125 + type goto 125 + modifiers goto 126 modifier goto 28 -state 120 +state 121 interfacememberdeclarations : interfacememberdeclaration . (65) . reduce 65 -state 121 +state 122 interfacememberdeclaration : abstractmethoddeclaration . (77) . reduce 77 -state 122 +state 123 interfacememberdeclaration : constantdeclaration . (76) . reduce 76 -state 123 +state 124 abstractmethoddeclaration : methodheader . ';' (84) - ';' shift 173 + ';' shift 175 . error -state 124 - methodheader : type . methoddeclarator (112) - methodheader : type . methoddeclarator throws (115) - - IDENTIFIER shift 140 - . error - - methoddeclarator goto 156 - - state 125 + methodheader : type . methoddeclarator (113) + methodheader : type . methoddeclarator throws (116) + + IDENTIFIER shift 141 + . error + + methoddeclarator goto 157 + + +state 126 modifiers : modifiers . modifier (48) constantdeclaration : modifiers . type IDENTIFIER '=' expression ';' (83) - methodheader : modifiers . type methoddeclarator (113) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (114) - methodheader : modifiers . type methoddeclarator throws (117) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (118) - methodheader : modifiers . VOID methoddeclarator (120) - methodheader : modifiers . VOID methoddeclarator throws (122) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (124) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (126) - methodheader : modifiers . methoddeclarator (129) - methodheader : modifiers . methoddeclarator throws (131) + methodheader : modifiers . type methoddeclarator (114) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (115) + methodheader : modifiers . type methoddeclarator throws (118) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (119) + methodheader : modifiers . VOID methoddeclarator (121) + methodheader : modifiers . VOID methoddeclarator throws (123) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (125) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (127) + methodheader : modifiers . methoddeclarator (130) + methodheader : modifiers . methoddeclarator throws (132) ABSTRACT shift 1 BOOLEAN shift 2 @@ -1893,23 +1912,23 @@ state 125 PROTECTED shift 8 PUBLIC shift 9 STATIC shift 13 - VOID shift 161 + VOID shift 162 IDENTIFIER shift 117 - '<' shift 162 + '<' shift 163 . error - methoddeclarator goto 163 + methoddeclarator goto 164 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 174 + type goto 176 modifier goto 50 -state 126 +state 127 extendsinterfaces : extendsinterfaces ',' . interfacetype (55) IDENTIFIER shift 14 @@ -1917,16 +1936,16 @@ state 126 simplename goto 18 classorinterfacetype goto 84 - interfacetype goto 175 + interfacetype goto 177 -state 127 +state 128 interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces interfacebody . (34) . reduce 34 -state 128 +state 129 typelist : typelist ',' . type (73) BOOLEAN shift 2 @@ -1941,22 +1960,22 @@ state 128 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 176 + type goto 178 -state 129 +state 130 parameter : '<' typelist '>' . (75) . reduce 75 -state 130 +state 131 classdeclaration : modifiers CLASS classidentifier classbody . (21) . reduce 21 -state 131 +state 132 classdeclaration : modifiers CLASS classidentifier super . classbody (23) classdeclaration : modifiers CLASS classidentifier super . interfaces classbody (27) @@ -1964,11 +1983,11 @@ state 131 '{' shift 57 . error - classbody goto 177 - interfaces goto 178 + classbody goto 179 + interfaces goto 180 -state 132 +state 133 classdeclaration : modifiers CLASS classidentifier interfaces . classbody (25) interfaces : interfaces . ',' interfacetype (51) @@ -1976,585 +1995,599 @@ state 132 '{' shift 57 . error - classbody goto 179 + classbody goto 181 -state 133 +state 134 interfacedeclaration : modifiers INTERFACE interfaceidentifier interfacebody . (33) . reduce 33 -state 134 +state 135 interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces . interfacebody (35) extendsinterfaces : extendsinterfaces . ',' interfacetype (55) - ',' shift 126 + ',' shift 127 '{' shift 67 . error - interfacebody goto 180 + interfacebody goto 182 -state 135 - boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (106) +state 136 + boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (107) IDENTIFIER shift 14 . error simplename goto 18 classorinterfacetype goto 21 - referencetype goto 181 - boundedclassidentifierlist goto 182 + referencetype goto 183 + boundedclassidentifierlist goto 184 -state 136 - boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (104) +state 137 + boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (105) IDENTIFIER shift 78 . error boundedMethodParameter goto 79 - boundedClassParameter goto 183 + boundedClassParameter goto 185 -state 137 +state 138 classidentifier : IDENTIFIER '<' boundedClassParameters '>' . (31) . reduce 31 -state 138 - block : '{' . '}' (93) - block : '{' . blockstatements '}' (94) +state 139 + block : '{' . '}' (94) + block : '{' . blockstatements '}' (95) BOOLEAN shift 2 CHAR shift 3 - FOR shift 184 - IF shift 185 + FOR shift 186 + IF shift 187 INT shift 6 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 197 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '}' shift 201 - '(' shift 202 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 199 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '}' shift 203 + '(' shift 204 . error - variabledeclarators goto 203 - variabledeclarator goto 204 + variabledeclarators goto 205 + variabledeclarator goto 206 variabledeclaratorid goto 101 - simplename goto 205 + simplename goto 207 qualifiedname goto 35 - name goto 206 + name goto 208 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 207 - block goto 208 - blockstatements goto 209 - localvariabledeclarationstatement goto 210 - localvariabledeclaration goto 211 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - blockstatement goto 225 - statement goto 226 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 + type goto 209 + block goto 210 + blockstatements goto 211 + localvariabledeclarationstatement goto 212 + localvariabledeclaration goto 213 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + blockstatement goto 227 + statement goto 228 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 -state 139 +state 140 staticinitializer : STATIC block . (80) . reduce 80 -state 140 - methoddeclarator : IDENTIFIER . '(' ')' (147) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) +state 141 + methoddeclarator : IDENTIFIER . '(' ')' (148) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) - '(' shift 142 + '(' shift 143 . error -state 141 - methodheader : VOID methoddeclarator . (119) - methodheader : VOID methoddeclarator . throws (121) - - THROWS shift 147 - ';' reduce 119 - '{' reduce 119 - - throws goto 236 - - state 142 - methoddeclarator : IDENTIFIER '(' . ')' (147) - methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (148) + methodheader : VOID methoddeclarator . (120) + methodheader : VOID methoddeclarator . throws (122) + + THROWS shift 148 + ';' reduce 120 + '{' reduce 120 + + throws goto 238 + + +state 143 + methoddeclarator : IDENTIFIER '(' . ')' (148) + methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (149) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - IDENTIFIER shift 197 - ')' shift 237 + IDENTIFIER shift 199 + ')' shift 239 . error - variabledeclaratorid goto 238 + variabledeclaratorid goto 240 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 239 - formalparameter goto 240 - formalparameterlist goto 241 - - -state 143 - boundedMethodParameters : boundedMethodParameter . (109) - - . reduce 109 + type goto 241 + formalparameter goto 242 + formalparameterlist goto 243 state 144 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (110) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (111) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (116) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (123) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (125) - methodheader : '<' boundedMethodParameters . '>' methoddeclarator (128) + boundedMethodParameters : boundedMethodParameter . (110) - ',' shift 242 - '>' shift 243 - . error + . reduce 110 state 145 - methodbody : block . (138) + fielddeclaration : '<' boundedMethodParameters . '>' type fielddeclarator (89) + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (111) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (112) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (117) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (124) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (126) + methodheader : '<' boundedMethodParameters . '>' methoddeclarator (129) - . reduce 138 + ',' shift 244 + '>' shift 245 + . error state 146 - methoddeclaration : methodheader methodbody . (92) + methodbody : block . (139) - . reduce 92 + . reduce 139 state 147 - throws : THROWS . classtypelist (101) + methoddeclaration : methodheader methodbody . (93) + + . reduce 93 + + +state 148 + throws : THROWS . classtypelist (102) IDENTIFIER shift 14 . error simplename goto 18 - classtype goto 244 + classtype goto 246 classorinterfacetype goto 83 - classtypelist goto 245 - - -state 148 - methodheader : methoddeclarator throws . (130) - - . reduce 130 + classtypelist goto 247 state 149 + methodheader : methoddeclarator throws . (131) + + . reduce 131 + + +state 150 classbody : '{' classbodydeclarations '}' . (46) . reduce 46 -state 150 +state 151 classbodydeclarations : classbodydeclarations classbodydeclaration . (57) . reduce 57 -state 151 - variabledeclarators : variabledeclarators ',' . variabledeclarator (137) +state 152 + variabledeclarators : variabledeclarators ',' . variabledeclarator (138) - IDENTIFIER shift 246 + IDENTIFIER shift 248 . error - variabledeclarator goto 247 + variabledeclarator goto 249 variabledeclaratorid goto 101 -state 152 - fielddeclaration : variabledeclarators ';' . (89) - - . reduce 89 - - state 153 + fielddeclaration : variabledeclarators ';' . (90) + + . reduce 90 + + +state 154 fielddeclaration : fielddeclarator ';' . (87) . reduce 87 -state 154 +state 155 fielddeclarator : variabledeclarator '=' . expression (86) - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 . error simplename goto 34 qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 268 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 270 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 -state 155 - constructordeclarator : simplename '(' . ')' (95) - constructordeclarator : simplename '(' . formalparameterlist ')' (96) +state 156 + constructordeclarator : simplename '(' . ')' (96) + constructordeclarator : simplename '(' . formalparameterlist ')' (97) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - IDENTIFIER shift 197 - ')' shift 277 + IDENTIFIER shift 199 + ')' shift 279 . error - variabledeclaratorid goto 238 + variabledeclaratorid goto 240 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 239 - formalparameter goto 240 - formalparameterlist goto 278 - - -state 156 - methodheader : type methoddeclarator . (112) - methodheader : type methoddeclarator . throws (115) - - THROWS shift 147 - ';' reduce 112 - '{' reduce 112 - - throws goto 279 + type goto 241 + formalparameter goto 242 + formalparameterlist goto 280 state 157 - fielddeclaration : type variabledeclarators . ';' (90) - variabledeclarators : variabledeclarators . ',' variabledeclarator (137) + methodheader : type methoddeclarator . (113) + methodheader : type methoddeclarator . throws (116) - ',' shift 151 - ';' shift 280 - . error + THROWS shift 148 + ';' reduce 113 + '{' reduce 113 + + throws goto 281 state 158 + fielddeclaration : type variabledeclarators . ';' (91) + variabledeclarators : variabledeclarators . ',' variabledeclarator (138) + + ',' shift 152 + ';' shift 282 + . error + + +state 159 fielddeclaration : type fielddeclarator . (88) . reduce 88 -state 159 +state 160 fielddeclarator : type variabledeclarator . '=' expression (85) fielddeclarator : variabledeclarator . '=' expression (86) - variabledeclarators : variabledeclarator . (136) + variabledeclarators : variabledeclarator . (137) - '=' shift 281 - ',' reduce 136 - ';' reduce 136 - - -state 160 - fielddeclarator : type . variabledeclarator '=' expression (85) - - IDENTIFIER shift 246 - . error - - variabledeclarator goto 282 - variabledeclaratorid goto 101 + '=' shift 283 + ',' reduce 137 + ';' reduce 137 state 161 - methodheader : modifiers VOID . methoddeclarator (120) - methodheader : modifiers VOID . methoddeclarator throws (122) + fielddeclarator : type . variabledeclarator '=' expression (85) - IDENTIFIER shift 140 + IDENTIFIER shift 248 . error - methoddeclarator goto 283 + variabledeclarator goto 284 + variabledeclaratorid goto 101 state 162 - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (114) - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (118) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (124) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (126) + methodheader : modifiers VOID . methoddeclarator (121) + methodheader : modifiers VOID . methoddeclarator throws (123) + + IDENTIFIER shift 141 + . error + + methoddeclarator goto 285 + + +state 163 + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (115) + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (119) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (125) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (127) IDENTIFIER shift 78 . error - boundedMethodParameter goto 143 - boundedMethodParameters goto 284 - - -state 163 - methodheader : modifiers methoddeclarator . (129) - methodheader : modifiers methoddeclarator . throws (131) - - THROWS shift 147 - ';' reduce 129 - '{' reduce 129 - - throws goto 285 + boundedMethodParameter goto 144 + boundedMethodParameters goto 286 state 164 - fielddeclaration : modifiers type . variabledeclarators ';' (91) - methodheader : modifiers type . methoddeclarator (113) - methodheader : modifiers type . methoddeclarator throws (117) + methodheader : modifiers methoddeclarator . (130) + methodheader : modifiers methoddeclarator . throws (132) - IDENTIFIER shift 286 - . error + THROWS shift 148 + ';' reduce 130 + '{' reduce 130 - methoddeclarator goto 287 - variabledeclarators goto 288 - variabledeclarator goto 204 - variabledeclaratorid goto 101 + throws goto 287 state 165 - constructordeclaration : modifiers constructordeclarator . constructorbody (82) + fielddeclaration : modifiers type . variabledeclarators ';' (92) + methodheader : modifiers type . methoddeclarator (114) + methodheader : modifiers type . methoddeclarator throws (118) - '{' shift 166 + IDENTIFIER shift 288 . error - constructorbody goto 289 + methoddeclarator goto 289 + variabledeclarators goto 290 + variabledeclarator goto 206 + variabledeclaratorid goto 101 state 166 - constructorbody : '{' . '}' (97) - constructorbody : '{' . explicitconstructorinvocation '}' (98) - constructorbody : '{' . blockstatements '}' (99) - constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (100) + constructordeclaration : modifiers constructordeclarator . constructorbody (82) + + '{' shift 167 + . error + + constructorbody goto 291 + + +state 167 + constructorbody : '{' . '}' (98) + constructorbody : '{' . explicitconstructorinvocation '}' (99) + constructorbody : '{' . blockstatements '}' (100) + constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (101) BOOLEAN shift 2 CHAR shift 3 - FOR shift 184 - IF shift 185 + FOR shift 186 + IF shift 187 INT shift 6 - RETURN shift 186 - THIS shift 290 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 197 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '}' shift 291 - '(' shift 202 + RETURN shift 188 + THIS shift 292 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 199 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '}' shift 293 + '(' shift 204 . error - variabledeclarators goto 203 - variabledeclarator goto 204 + variabledeclarators goto 205 + variabledeclarator goto 206 variabledeclaratorid goto 101 - simplename goto 205 + simplename goto 207 qualifiedname goto 35 - name goto 206 + name goto 208 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 207 - block goto 208 - blockstatements goto 292 - localvariabledeclarationstatement goto 210 - localvariabledeclaration goto 211 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - blockstatement goto 225 - statement goto 226 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - explicitconstructorinvocation goto 293 + type goto 209 + block goto 210 + blockstatements goto 294 + localvariabledeclarationstatement goto 212 + localvariabledeclaration goto 213 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + blockstatement goto 227 + statement goto 228 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + explicitconstructorinvocation goto 295 -state 167 +state 168 constructordeclaration : constructordeclarator constructorbody . (81) . reduce 81 -state 168 +state 169 classdeclaration : CLASS classidentifier super interfaces classbody . (26) . reduce 26 -state 169 +state 170 interfaces : interfaces ',' interfacetype . (51) . reduce 51 -state 170 +state 171 interfaceidentifier : IDENTIFIER '<' boundedClassParameters '>' . (29) . reduce 29 -state 171 +state 172 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (111) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (112) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (117) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (124) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (126) + methodheader : '<' boundedMethodParameters . '>' methoddeclarator (129) + + ',' shift 244 + '>' shift 296 + . error + + +state 173 interfacebody : '{' interfacememberdeclarations '}' . (53) . reduce 53 -state 172 +state 174 interfacememberdeclarations : interfacememberdeclarations interfacememberdeclaration . (66) . reduce 66 -state 173 +state 175 abstractmethoddeclaration : methodheader ';' . (84) . reduce 84 -state 174 +state 176 constantdeclaration : modifiers type . IDENTIFIER '=' expression ';' (83) - methodheader : modifiers type . methoddeclarator (113) - methodheader : modifiers type . methoddeclarator throws (117) + methodheader : modifiers type . methoddeclarator (114) + methodheader : modifiers type . methoddeclarator throws (118) - IDENTIFIER shift 294 + IDENTIFIER shift 297 . error - methoddeclarator goto 287 + methoddeclarator goto 289 -state 175 +state 177 extendsinterfaces : extendsinterfaces ',' interfacetype . (55) . reduce 55 -state 176 +state 178 typelist : typelist ',' type . (73) . reduce 73 -state 177 +state 179 classdeclaration : modifiers CLASS classidentifier super classbody . (23) . reduce 23 -state 178 +state 180 classdeclaration : modifiers CLASS classidentifier super interfaces . classbody (27) interfaces : interfaces . ',' interfacetype (51) @@ -2562,187 +2595,187 @@ state 178 '{' shift 57 . error - classbody goto 295 + classbody goto 298 -state 179 +state 181 classdeclaration : modifiers CLASS classidentifier interfaces classbody . (25) . reduce 25 -state 180 +state 182 interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody . (35) . reduce 35 -state 181 - boundedclassidentifierlist : referencetype . (107) - - . reduce 107 - - -state 182 - boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (106) - boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (108) - - '&' shift 296 - ',' reduce 106 - '>' reduce 106 - - state 183 - boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (104) + boundedclassidentifierlist : referencetype . (108) - . reduce 104 + . reduce 108 state 184 - forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (181) - forstatement : FOR . '(' expression ';' expression ';' ')' statement (182) - forstatement : FOR . '(' expression ';' ';' expression ')' statement (183) - forstatement : FOR . '(' ';' expression ';' expression ')' statement (184) - forstatement : FOR . '(' expression ';' ';' ')' statement (185) - forstatement : FOR . '(' ';' expression ';' ')' statement (186) - forstatement : FOR . '(' ';' ';' expression ')' statement (187) - forstatement : FOR . '(' ';' ';' ')' statement (188) + boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (107) + boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (109) - '(' shift 297 - . error + '&' shift 299 + ',' reduce 107 + '>' reduce 107 state 185 - ifthenstatement : IF . '(' expression ')' statement (178) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (179) + boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (105) - '(' shift 298 - . error + . reduce 105 state 186 - returnstatement : RETURN . ';' (193) - returnstatement : RETURN . expression ';' (194) + forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (182) + forstatement : FOR . '(' expression ';' expression ';' ')' statement (183) + forstatement : FOR . '(' expression ';' ';' expression ')' statement (184) + forstatement : FOR . '(' ';' expression ';' expression ')' statement (185) + forstatement : FOR . '(' expression ';' ';' ')' statement (186) + forstatement : FOR . '(' ';' expression ';' ')' statement (187) + forstatement : FOR . '(' ';' ';' expression ')' statement (188) + forstatement : FOR . '(' ';' ';' ')' statement (189) - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 299 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 + '(' shift 300 . error - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 300 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - state 187 - primarynonewarray : THIS . (249) - - . reduce 249 - - -state 188 - whilestatement : WHILE . '(' expression ')' statement (180) + ifthenstatement : IF . '(' expression ')' statement (179) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (180) '(' shift 301 . error -state 189 - literal : INTLITERAL . (257) +state 188 + returnstatement : RETURN . ';' (194) + returnstatement : RETURN . expression ';' (195) - . reduce 257 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 302 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 303 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 189 + primarynonewarray : THIS . (250) + + . reduce 250 state 190 - literal : LONGLITERAL . (261) + whilestatement : WHILE . '(' expression ')' statement (181) - . reduce 261 + '(' shift 304 + . error state 191 - literal : DOUBLELITERAL . (263) + literal : INTLITERAL . (258) - . reduce 263 + . reduce 258 state 192 - literal : FLOATLITERAL . (262) + literal : LONGLITERAL . (262) . reduce 262 state 193 - literal : BOOLLITERAL . (258) - - . reduce 258 - - -state 194 - literal : JNULL . (264) + literal : DOUBLELITERAL . (264) . reduce 264 +state 194 + literal : FLOATLITERAL . (263) + + . reduce 263 + + state 195 - literal : CHARLITERAL . (259) + literal : BOOLLITERAL . (259) . reduce 259 state 196 - literal : STRINGLITERAL . (260) + literal : JNULL . (265) + + . reduce 265 + + +state 197 + literal : CHARLITERAL . (260) . reduce 260 -state 197 +state 198 + literal : STRINGLITERAL . (261) + + . reduce 261 + + +state 199 simplename : IDENTIFIER . (19) - variabledeclaratorid : IDENTIFIER . (160) + variabledeclaratorid : IDENTIFIER . (161) IDENTIFIER reduce 19 INCREMENT reduce 19 @@ -2752,146 +2785,146 @@ state 197 TIMESEQUAL reduce 19 DIVIDEEQUAL reduce 19 MODULOEQUAL reduce 19 - ',' reduce 160 - ';' reduce 160 + ',' reduce 161 + ';' reduce 161 '.' reduce 19 '<' reduce 19 '=' reduce 19 '(' reduce 19 - ')' reduce 160 + ')' reduce 161 '[' reduce 19 -state 198 - preincrementexpression : INCREMENT . unaryexpression (224) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 303 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 199 - predecrementexpression : DECREMENT . unaryexpression (225) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 304 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - state 200 - emptystatement : ';' . (191) + preincrementexpression : INCREMENT . unaryexpression (225) - . reduce 191 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 306 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 state 201 - block : '{' '}' . (93) + predecrementexpression : DECREMENT . unaryexpression (226) - . reduce 93 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 307 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 state 202 - lambdaexpressionparameter : '(' . ')' (214) - lambdaexpressionparameter : '(' . formalparameterlist ')' (215) + emptystatement : ';' . (192) + + . reduce 192 + + +state 203 + block : '{' '}' . (94) + + . reduce 94 + + +state 204 + lambdaexpressionparameter : '(' . ')' (215) + lambdaexpressionparameter : '(' . formalparameterlist ')' (216) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - IDENTIFIER shift 197 - ')' shift 305 + IDENTIFIER shift 199 + ')' shift 308 . error - variabledeclaratorid goto 238 + variabledeclaratorid goto 240 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 239 - formalparameter goto 240 - formalparameterlist goto 306 - - -state 203 - variabledeclarators : variabledeclarators . ',' variabledeclarator (137) - localvariabledeclaration : variabledeclarators . (173) - - ',' shift 151 - ';' reduce 173 - - -state 204 - variabledeclarators : variabledeclarator . (136) - - . reduce 136 + type goto 241 + formalparameter goto 242 + formalparameterlist goto 309 state 205 + variabledeclarators : variabledeclarators . ',' variabledeclarator (138) + localvariabledeclaration : variabledeclarators . (174) + + ',' shift 152 + ';' reduce 174 + + +state 206 + variabledeclarators : variabledeclarator . (137) + + . reduce 137 + + +state 207 name : simplename . (13) classorinterfacetype : simplename . parameter (71) parameter : . (74) @@ -2913,16 +2946,186 @@ state 205 parameter goto 42 -206: shift/reduce conflict (shift 62, reduce 242) on '.' -state 206 +208: shift/reduce conflict (shift 62, reduce 243) on '.' +state 208 qualifiedname : name . '.' IDENTIFIER (16) - lefthandside : name . (217) - methodinvocation : name . '(' ')' (228) - methodinvocation : name . '(' argumentlist ')' (229) - postfixexpression : name . (242) + lefthandside : name . (218) + methodinvocation : name . '(' ')' (229) + methodinvocation : name . '(' argumentlist ')' (230) + postfixexpression : name . (243) '.' shift 62 - '(' shift 307 + '(' shift 310 + ABSTRACT reduce 243 + BOOLEAN reduce 243 + CHAR reduce 243 + FINAL reduce 243 + INSTANCEOF reduce 243 + INT reduce 243 + PRIVATE reduce 243 + PROTECTED reduce 243 + PUBLIC reduce 243 + STATIC reduce 243 + VOID reduce 243 + IDENTIFIER reduce 243 + EQUAL reduce 243 + LESSEQUAL reduce 243 + GREATEREQUAL reduce 243 + NOTEQUAL reduce 243 + LOGICALOR reduce 243 + LOGICALAND reduce 243 + INCREMENT reduce 243 + DECREMENT reduce 243 + PLUSEQUAL reduce 218 + MINUSEQUAL reduce 218 + TIMESEQUAL reduce 218 + DIVIDEEQUAL reduce 218 + MODULOEQUAL reduce 218 + ',' reduce 243 + ';' reduce 243 + '*' reduce 243 + '<' reduce 243 + '>' reduce 243 + '}' reduce 243 + '=' reduce 218 + ')' reduce 243 + '&' reduce 243 + '+' reduce 243 + '-' reduce 243 + '|' reduce 243 + '^' reduce 243 + '/' reduce 243 + '%' reduce 243 + + +state 209 + localvariabledeclaration : type . variabledeclarators (173) + + IDENTIFIER shift 248 + . error + + variabledeclarators goto 311 + variabledeclarator goto 206 + variabledeclaratorid goto 101 + + +state 210 + statementwithouttrailingsubstatement : block . (175) + + . reduce 175 + + +state 211 + block : '{' blockstatements . '}' (95) + blockstatements : blockstatements . blockstatement (141) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 186 + IF shift 187 + INT shift 6 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 199 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '}' shift 312 + '(' shift 204 + . error + + variabledeclarators goto 205 + variabledeclarator goto 206 + variabledeclaratorid goto 101 + simplename goto 207 + qualifiedname goto 35 + name goto 208 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 209 + block goto 210 + localvariabledeclarationstatement goto 212 + localvariabledeclaration goto 213 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + blockstatement goto 313 + statement goto 228 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 212 + blockstatement : localvariabledeclarationstatement . (154) + + . reduce 154 + + +state 213 + localvariabledeclarationstatement : localvariabledeclaration . ';' (163) + + ';' shift 314 + . error + + +state 214 + lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (217) + + LAMBDAASSIGNMENT shift 315 + . error + + lambdaassignmentoperator goto 316 + + +state 215 + primarynonewarray : literal . (249) + + . reduce 249 + + +state 216 + primary : primarynonewarray . (246) + + . reduce 246 + + +217: shift/reduce conflict (shift 317, reduce 242) on '.' +state 217 + methodinvocation : primary . '.' IDENTIFIER '(' ')' (231) + methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (232) + postfixexpression : primary . (242) + + '.' shift 317 ABSTRACT reduce 242 BOOLEAN reduce 242 CHAR reduce 242 @@ -2943,18 +3146,12 @@ state 206 LOGICALAND reduce 242 INCREMENT reduce 242 DECREMENT reduce 242 - PLUSEQUAL reduce 217 - MINUSEQUAL reduce 217 - TIMESEQUAL reduce 217 - DIVIDEEQUAL reduce 217 - MODULOEQUAL reduce 217 ',' reduce 242 ';' reduce 242 '*' reduce 242 '<' reduce 242 '>' reduce 242 '}' reduce 242 - '=' reduce 217 ')' reduce 242 '&' reduce 242 '+' reduce 242 @@ -2965,3439 +3162,476 @@ state 206 '%' reduce 242 -state 207 - localvariabledeclaration : type . variabledeclarators (172) - - IDENTIFIER shift 246 - . error - - variabledeclarators goto 308 - variabledeclarator goto 204 - variabledeclaratorid goto 101 - - -state 208 - statementwithouttrailingsubstatement : block . (174) - - . reduce 174 - - -state 209 - block : '{' blockstatements . '}' (94) - blockstatements : blockstatements . blockstatement (140) - - BOOLEAN shift 2 - CHAR shift 3 - FOR shift 184 - IF shift 185 - INT shift 6 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 197 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '}' shift 309 - '(' shift 202 - . error - - variabledeclarators goto 203 - variabledeclarator goto 204 - variabledeclaratorid goto 101 - simplename goto 205 - qualifiedname goto 35 - name goto 206 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 207 - block goto 208 - localvariabledeclarationstatement goto 210 - localvariabledeclaration goto 211 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - blockstatement goto 310 - statement goto 226 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 210 - blockstatement : localvariabledeclarationstatement . (153) - - . reduce 153 - - -state 211 - localvariabledeclarationstatement : localvariabledeclaration . ';' (162) - - ';' shift 311 - . error - - -state 212 - lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (216) - - LAMBDAASSIGNMENT shift 312 - . error - - lambdaassignmentoperator goto 313 - - -state 213 - primarynonewarray : literal . (248) - - . reduce 248 - - -state 214 - primary : primarynonewarray . (245) - - . reduce 245 - - -215: shift/reduce conflict (shift 314, reduce 241) on '.' -state 215 - methodinvocation : primary . '.' IDENTIFIER '(' ')' (230) - methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (231) - postfixexpression : primary . (241) - - '.' shift 314 - ABSTRACT reduce 241 - BOOLEAN reduce 241 - CHAR reduce 241 - FINAL reduce 241 - INSTANCEOF reduce 241 - INT reduce 241 - PRIVATE reduce 241 - PROTECTED reduce 241 - PUBLIC reduce 241 - STATIC reduce 241 - VOID reduce 241 - IDENTIFIER reduce 241 - EQUAL reduce 241 - LESSEQUAL reduce 241 - GREATEREQUAL reduce 241 - NOTEQUAL reduce 241 - LOGICALOR reduce 241 - LOGICALAND reduce 241 - INCREMENT reduce 241 - DECREMENT reduce 241 - ',' reduce 241 - ';' reduce 241 - '*' reduce 241 - '<' reduce 241 - '>' reduce 241 - '}' reduce 241 - ')' reduce 241 - '&' reduce 241 - '+' reduce 241 - '-' reduce 241 - '|' reduce 241 - '^' reduce 241 - '/' reduce 241 - '%' reduce 241 - - -state 216 - postincrementexpression : postfixexpression . INCREMENT (226) - postdecrementexpression : postfixexpression . DECREMENT (227) - - INCREMENT shift 315 - DECREMENT shift 316 - . error - - -state 217 - primarynonewarray : lambdaexpression . (251) - - . reduce 251 - - state 218 - expressionstatement : statementexpression . ';' (192) + postincrementexpression : postfixexpression . INCREMENT (227) + postdecrementexpression : postfixexpression . DECREMENT (228) - ';' shift 317 + INCREMENT shift 318 + DECREMENT shift 319 . error state 219 - statementexpression : preincrementexpression . (202) + primarynonewarray : lambdaexpression . (252) - . reduce 202 + . reduce 252 state 220 - statementexpression : predecrementexpression . (203) + expressionstatement : statementexpression . ';' (193) + + ';' shift 320 + . error + + +state 221 + statementexpression : preincrementexpression . (203) . reduce 203 -state 221 - statementexpression : postincrementexpression . (204) - postfixexpression : postincrementexpression . (243) - - INCREMENT reduce 243 - DECREMENT reduce 243 - ';' reduce 204 - - state 222 - statementexpression : postdecrementexpression . (205) - postfixexpression : postdecrementexpression . (244) + statementexpression : predecrementexpression . (204) + + . reduce 204 + + +state 223 + statementexpression : postincrementexpression . (205) + postfixexpression : postincrementexpression . (244) INCREMENT reduce 244 DECREMENT reduce 244 ';' reduce 205 -state 223 - statementwithouttrailingsubstatement : expressionstatement . (176) - - . reduce 176 - - state 224 - statement : statementwithouttrailingsubstatement . (163) + statementexpression : postdecrementexpression . (206) + postfixexpression : postdecrementexpression . (245) - . reduce 163 + INCREMENT reduce 245 + DECREMENT reduce 245 + ';' reduce 206 state 225 - blockstatements : blockstatement . (139) - - . reduce 139 - - -state 226 - blockstatement : statement . (154) - - . reduce 154 - - -state 227 - statement : whilestatement . (166) - - . reduce 166 - - -state 228 - statement : forstatement . (167) - - . reduce 167 - - -state 229 - statement : ifthenstatement . (164) - - . reduce 164 - - -state 230 - statement : ifthenelsestatement . (165) - - . reduce 165 - - -state 231 - statementwithouttrailingsubstatement : emptystatement . (175) - - . reduce 175 - - -state 232 - statementwithouttrailingsubstatement : returnstatement . (177) + statementwithouttrailingsubstatement : expressionstatement . (177) . reduce 177 -state 233 - statementexpression : assignment . (201) +state 226 + statement : statementwithouttrailingsubstatement . (164) - . reduce 201 + . reduce 164 -state 234 - assignment : lefthandside . assignmentoperator assignmentexpression (199) - assignment : lefthandside . assignmentoperator classinstancecreationexpression (200) - - PLUSEQUAL shift 318 - MINUSEQUAL shift 319 - TIMESEQUAL shift 320 - DIVIDEEQUAL shift 321 - MODULOEQUAL shift 322 - '=' shift 323 - . error - - assignmentoperator goto 324 - - -state 235 - statementexpression : methodinvocation . (206) - primarynonewarray : methodinvocation . (250) - - INCREMENT reduce 250 - DECREMENT reduce 250 - ';' reduce 206 - '.' reduce 250 - - -state 236 - methodheader : VOID methoddeclarator throws . (121) - - . reduce 121 - - -state 237 - methoddeclarator : IDENTIFIER '(' ')' . (147) - - . reduce 147 - - -state 238 - formalparameter : variabledeclaratorid . (156) - - . reduce 156 - - -state 239 - formalparameter : type . variabledeclaratorid (155) - - IDENTIFIER shift 246 - . error - - variabledeclaratorid goto 325 - - -state 240 - formalparameterlist : formalparameter . (141) - - . reduce 141 - - -state 241 - formalparameterlist : formalparameterlist . ',' formalparameter (142) - methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (148) - - ',' shift 326 - ')' shift 327 - . error - - -state 242 - boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (110) - - IDENTIFIER shift 78 - . error - - boundedMethodParameter goto 328 - - -state 243 - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (111) - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (116) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (123) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (125) - methodheader : '<' boundedMethodParameters '>' . methoddeclarator (128) - - BOOLEAN shift 2 - CHAR shift 3 - INT shift 6 - VOID shift 329 - IDENTIFIER shift 117 - . error - - methoddeclarator goto 330 - simplename goto 18 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 331 - - -state 244 - classtypelist : classtype . (145) - - . reduce 145 - - -state 245 - throws : THROWS classtypelist . (101) - classtypelist : classtypelist . ',' classtype (146) - - ',' shift 332 - ';' reduce 101 - '{' reduce 101 - - -state 246 - variabledeclaratorid : IDENTIFIER . (160) - - . reduce 160 - - -state 247 - variabledeclarators : variabledeclarators ',' variabledeclarator . (137) - - . reduce 137 - - -state 248 - classinstancecreationexpression : NEW . classtype '(' ')' (232) - classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (233) - - IDENTIFIER shift 14 - . error - - simplename goto 18 - classtype goto 333 - classorinterfacetype goto 83 - - -state 249 - lambdaexpressionparameter : '(' . ')' (214) - lambdaexpressionparameter : '(' . formalparameterlist ')' (215) - castexpression : '(' . primitivetype ')' unaryexpression (265) - - BOOLEAN shift 2 - CHAR shift 3 - INT shift 6 - IDENTIFIER shift 197 - ')' shift 305 - . error - - variabledeclaratorid goto 238 - simplename goto 18 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 334 - referencetype goto 25 - type goto 239 - formalparameter goto 240 - formalparameterlist goto 306 - - -state 250 - unaryexpression : '+' . unaryexpression (238) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 335 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 251 - unaryexpression : '-' . unaryexpression (239) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 336 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 252 - unaryexpressionnotplusminus : '!' . unaryexpression (253) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 337 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -253: shift/reduce conflict (shift 315, reduce 252) on INCREMENT -253: shift/reduce conflict (shift 316, reduce 252) on DECREMENT -state 253 - postincrementexpression : postfixexpression . INCREMENT (226) - postdecrementexpression : postfixexpression . DECREMENT (227) - unaryexpressionnotplusminus : postfixexpression . (252) - - INCREMENT shift 315 - DECREMENT shift 316 - ABSTRACT reduce 252 - BOOLEAN reduce 252 - CHAR reduce 252 - FINAL reduce 252 - INSTANCEOF reduce 252 - INT reduce 252 - PRIVATE reduce 252 - PROTECTED reduce 252 - PUBLIC reduce 252 - STATIC reduce 252 - VOID reduce 252 - IDENTIFIER reduce 252 - EQUAL reduce 252 - LESSEQUAL reduce 252 - GREATEREQUAL reduce 252 - NOTEQUAL reduce 252 - LOGICALOR reduce 252 - LOGICALAND reduce 252 - ',' reduce 252 - ';' reduce 252 - '.' reduce 252 - '*' reduce 252 - '<' reduce 252 - '>' reduce 252 - '}' reduce 252 - ')' reduce 252 - '&' reduce 252 - '+' reduce 252 - '-' reduce 252 - '|' reduce 252 - '^' reduce 252 - '/' reduce 252 - '%' reduce 252 - - -state 254 - unaryexpression : unaryexpressionnotplusminus . (240) - - . reduce 240 - - -state 255 - multiplicativeexpression : unaryexpression . (281) - - . reduce 281 - - -256: shift/reduce conflict (shift 338, reduce 278) on '*' -256: shift/reduce conflict (shift 339, reduce 278) on '/' -256: shift/reduce conflict (shift 340, reduce 278) on '%' -state 256 - additiveexpression : multiplicativeexpression . (278) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (282) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (283) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (284) - - '*' shift 338 - '/' shift 339 - '%' shift 340 - ABSTRACT reduce 278 - BOOLEAN reduce 278 - CHAR reduce 278 - FINAL reduce 278 - INSTANCEOF reduce 278 - INT reduce 278 - PRIVATE reduce 278 - PROTECTED reduce 278 - PUBLIC reduce 278 - STATIC reduce 278 - VOID reduce 278 - IDENTIFIER reduce 278 - EQUAL reduce 278 - LESSEQUAL reduce 278 - GREATEREQUAL reduce 278 - NOTEQUAL reduce 278 - LOGICALOR reduce 278 - LOGICALAND reduce 278 - INCREMENT reduce 278 - DECREMENT reduce 278 - ',' reduce 278 - ';' reduce 278 - '.' reduce 278 - '<' reduce 278 - '>' reduce 278 - '}' reduce 278 - ')' reduce 278 - '&' reduce 278 - '+' reduce 278 - '-' reduce 278 - '|' reduce 278 - '^' reduce 278 - - -257: shift/reduce conflict (shift 341, reduce 277) on '+' -257: shift/reduce conflict (shift 342, reduce 277) on '-' -state 257 - shiftexpression : additiveexpression . (277) - additiveexpression : additiveexpression . '+' multiplicativeexpression (279) - additiveexpression : additiveexpression . '-' multiplicativeexpression (280) - - '+' shift 341 - '-' shift 342 - ABSTRACT reduce 277 - BOOLEAN reduce 277 - CHAR reduce 277 - FINAL reduce 277 - INSTANCEOF reduce 277 - INT reduce 277 - PRIVATE reduce 277 - PROTECTED reduce 277 - PUBLIC reduce 277 - STATIC reduce 277 - VOID reduce 277 - IDENTIFIER reduce 277 - EQUAL reduce 277 - LESSEQUAL reduce 277 - GREATEREQUAL reduce 277 - NOTEQUAL reduce 277 - LOGICALOR reduce 277 - LOGICALAND reduce 277 - INCREMENT reduce 277 - DECREMENT reduce 277 - ',' reduce 277 - ';' reduce 277 - '.' reduce 277 - '*' reduce 277 - '<' reduce 277 - '>' reduce 277 - '}' reduce 277 - ')' reduce 277 - '&' reduce 277 - '|' reduce 277 - '^' reduce 277 - '/' reduce 277 - '%' reduce 277 - - -state 258 - relationalexpression : shiftexpression . (271) - - . reduce 271 - - -259: shift/reduce conflict (shift 343, reduce 268) on INSTANCEOF -259: shift/reduce conflict (shift 344, reduce 268) on LESSEQUAL -259: shift/reduce conflict (shift 345, reduce 268) on GREATEREQUAL -259: shift/reduce conflict (shift 346, reduce 268) on '<' -259: shift/reduce conflict (shift 347, reduce 268) on '>' -state 259 - equalityexpression : relationalexpression . (268) - relationalexpression : relationalexpression . '<' shiftexpression (272) - relationalexpression : relationalexpression . '>' shiftexpression (273) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (274) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (275) - relationalexpression : relationalexpression . INSTANCEOF referencetype (276) - - INSTANCEOF shift 343 - LESSEQUAL shift 344 - GREATEREQUAL shift 345 - '<' shift 346 - '>' shift 347 - ABSTRACT reduce 268 - BOOLEAN reduce 268 - CHAR reduce 268 - FINAL reduce 268 - INT reduce 268 - PRIVATE reduce 268 - PROTECTED reduce 268 - PUBLIC reduce 268 - STATIC reduce 268 - VOID reduce 268 - IDENTIFIER reduce 268 - EQUAL reduce 268 - NOTEQUAL reduce 268 - LOGICALOR reduce 268 - LOGICALAND reduce 268 - INCREMENT reduce 268 - DECREMENT reduce 268 - ',' reduce 268 - ';' reduce 268 - '.' reduce 268 - '*' reduce 268 - '}' reduce 268 - ')' reduce 268 - '&' reduce 268 - '+' reduce 268 - '-' reduce 268 - '|' reduce 268 - '^' reduce 268 - '/' reduce 268 - '%' reduce 268 - - -260: shift/reduce conflict (shift 348, reduce 266) on EQUAL -260: shift/reduce conflict (shift 349, reduce 266) on NOTEQUAL -state 260 - andexpression : equalityexpression . (266) - equalityexpression : equalityexpression . EQUAL relationalexpression (269) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (270) - - EQUAL shift 348 - NOTEQUAL shift 349 - ABSTRACT reduce 266 - BOOLEAN reduce 266 - CHAR reduce 266 - FINAL reduce 266 - INSTANCEOF reduce 266 - INT reduce 266 - PRIVATE reduce 266 - PROTECTED reduce 266 - PUBLIC reduce 266 - STATIC reduce 266 - VOID reduce 266 - IDENTIFIER reduce 266 - LESSEQUAL reduce 266 - GREATEREQUAL reduce 266 - LOGICALOR reduce 266 - LOGICALAND reduce 266 - INCREMENT reduce 266 - DECREMENT reduce 266 - ',' reduce 266 - ';' reduce 266 - '.' reduce 266 - '*' reduce 266 - '<' reduce 266 - '>' reduce 266 - '}' reduce 266 - ')' reduce 266 - '&' reduce 266 - '+' reduce 266 - '-' reduce 266 - '|' reduce 266 - '^' reduce 266 - '/' reduce 266 - '%' reduce 266 - - -261: shift/reduce conflict (shift 350, reduce 255) on '&' -state 261 - exclusiveorexpression : andexpression . (255) - andexpression : andexpression . '&' equalityexpression (267) - - '&' shift 350 - ABSTRACT reduce 255 - BOOLEAN reduce 255 - CHAR reduce 255 - FINAL reduce 255 - INSTANCEOF reduce 255 - INT reduce 255 - PRIVATE reduce 255 - PROTECTED reduce 255 - PUBLIC reduce 255 - STATIC reduce 255 - VOID reduce 255 - IDENTIFIER reduce 255 - EQUAL reduce 255 - LESSEQUAL reduce 255 - GREATEREQUAL reduce 255 - NOTEQUAL reduce 255 - LOGICALOR reduce 255 - LOGICALAND reduce 255 - INCREMENT reduce 255 - DECREMENT reduce 255 - ',' reduce 255 - ';' reduce 255 - '.' reduce 255 - '*' reduce 255 - '<' reduce 255 - '>' reduce 255 - '}' reduce 255 - ')' reduce 255 - '+' reduce 255 - '-' reduce 255 - '|' reduce 255 - '^' reduce 255 - '/' reduce 255 - '%' reduce 255 - - -262: shift/reduce conflict (shift 351, reduce 246) on '^' -state 262 - inclusiveorexpression : exclusiveorexpression . (246) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (256) - - '^' shift 351 - ABSTRACT reduce 246 - BOOLEAN reduce 246 - CHAR reduce 246 - FINAL reduce 246 - INSTANCEOF reduce 246 - INT reduce 246 - PRIVATE reduce 246 - PROTECTED reduce 246 - PUBLIC reduce 246 - STATIC reduce 246 - VOID reduce 246 - IDENTIFIER reduce 246 - EQUAL reduce 246 - LESSEQUAL reduce 246 - GREATEREQUAL reduce 246 - NOTEQUAL reduce 246 - LOGICALOR reduce 246 - LOGICALAND reduce 246 - INCREMENT reduce 246 - DECREMENT reduce 246 - ',' reduce 246 - ';' reduce 246 - '.' reduce 246 - '*' reduce 246 - '<' reduce 246 - '>' reduce 246 - '}' reduce 246 - ')' reduce 246 - '&' reduce 246 - '+' reduce 246 - '-' reduce 246 - '|' reduce 246 - '/' reduce 246 - '%' reduce 246 - - -263: shift/reduce conflict (shift 352, reduce 234) on '|' -state 263 - conditionalandexpression : inclusiveorexpression . (234) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (247) - - '|' shift 352 - 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 - - -264: shift/reduce conflict (shift 353, reduce 209) on LOGICALAND -state 264 - conditionalorexpression : conditionalandexpression . (209) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (235) - - LOGICALAND shift 353 - ABSTRACT reduce 209 - BOOLEAN reduce 209 - CHAR reduce 209 - FINAL reduce 209 - INSTANCEOF reduce 209 - INT reduce 209 - PRIVATE reduce 209 - PROTECTED reduce 209 - PUBLIC reduce 209 - STATIC reduce 209 - VOID reduce 209 - IDENTIFIER reduce 209 - EQUAL reduce 209 - LESSEQUAL reduce 209 - GREATEREQUAL reduce 209 - NOTEQUAL reduce 209 - LOGICALOR reduce 209 - INCREMENT reduce 209 - DECREMENT reduce 209 - ',' reduce 209 - ';' reduce 209 - '.' reduce 209 - '*' reduce 209 - '<' reduce 209 - '>' reduce 209 - '}' reduce 209 - ')' reduce 209 - '&' reduce 209 - '+' reduce 209 - '-' reduce 209 - '|' reduce 209 - '^' reduce 209 - '/' reduce 209 - '%' reduce 209 - - -265: shift/reduce conflict (shift 354, reduce 198) on LOGICALOR -state 265 - conditionalexpression : conditionalorexpression . (198) - conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (210) - - LOGICALOR shift 354 - ABSTRACT reduce 198 - BOOLEAN reduce 198 - CHAR reduce 198 - FINAL reduce 198 - INSTANCEOF reduce 198 - INT reduce 198 - PRIVATE reduce 198 - PROTECTED reduce 198 - PUBLIC reduce 198 - STATIC reduce 198 - VOID reduce 198 - IDENTIFIER reduce 198 - EQUAL reduce 198 - LESSEQUAL reduce 198 - GREATEREQUAL reduce 198 - NOTEQUAL reduce 198 - LOGICALAND reduce 198 - INCREMENT reduce 198 - DECREMENT reduce 198 - ',' reduce 198 - ';' reduce 198 - '.' reduce 198 - '*' reduce 198 - '<' reduce 198 - '>' reduce 198 - '}' reduce 198 - ')' reduce 198 - '&' reduce 198 - '+' reduce 198 - '-' reduce 198 - '|' reduce 198 - '^' reduce 198 - '/' reduce 198 - '%' reduce 198 - - -state 266 - assignmentexpression : conditionalexpression . (189) - - . reduce 189 - - -state 267 - expression : assignmentexpression . (168) - - . reduce 168 - - -state 268 - fielddeclarator : variabledeclarator '=' expression . (86) - - . reduce 86 - - -state 269 - unaryexpression : preincrementexpression . (236) - - . reduce 236 - - -state 270 - unaryexpression : predecrementexpression . (237) - - . reduce 237 - - -state 271 - postfixexpression : postincrementexpression . (243) - - . reduce 243 - - -state 272 - postfixexpression : postdecrementexpression . (244) - - . reduce 244 - - -state 273 - expression : classinstancecreationexpression . (169) - - . reduce 169 - - -state 274 - assignmentexpression : assignment . (190) - - . reduce 190 - - -state 275 - primarynonewarray : methodinvocation . (250) - - . reduce 250 - - -state 276 - unaryexpressionnotplusminus : castexpression . (254) - - . reduce 254 - - -state 277 - constructordeclarator : simplename '(' ')' . (95) - - . reduce 95 - - -state 278 - constructordeclarator : simplename '(' formalparameterlist . ')' (96) - formalparameterlist : formalparameterlist . ',' formalparameter (142) - - ',' shift 326 - ')' shift 355 - . error - - -state 279 - methodheader : type methoddeclarator throws . (115) - - . reduce 115 - - -state 280 - fielddeclaration : type variabledeclarators ';' . (90) - - . reduce 90 - - -state 281 - fielddeclarator : type variabledeclarator '=' . expression (85) - fielddeclarator : variabledeclarator '=' . expression (86) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 356 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 282 - fielddeclarator : type variabledeclarator . '=' expression (85) - - '=' shift 357 - . error - - -state 283 - methodheader : modifiers VOID methoddeclarator . (120) - methodheader : modifiers VOID methoddeclarator . throws (122) - - THROWS shift 147 - ';' reduce 120 - '{' reduce 120 - - throws goto 358 - - -state 284 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (110) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (114) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (118) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (124) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (126) - - ',' shift 242 - '>' shift 359 - . error - - -state 285 - methodheader : modifiers methoddeclarator throws . (131) - - . reduce 131 - - -state 286 - methoddeclarator : IDENTIFIER . '(' ')' (147) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) - variabledeclaratorid : IDENTIFIER . (160) - - '(' shift 142 - ',' reduce 160 - ';' reduce 160 - - -state 287 - methodheader : modifiers type methoddeclarator . (113) - methodheader : modifiers type methoddeclarator . throws (117) - - THROWS shift 147 - ';' reduce 113 - '{' reduce 113 - - throws goto 360 - - -state 288 - fielddeclaration : modifiers type variabledeclarators . ';' (91) - variabledeclarators : variabledeclarators . ',' variabledeclarator (137) - - ',' shift 151 - ';' shift 361 - . error - - -state 289 - constructordeclaration : modifiers constructordeclarator constructorbody . (82) - - . reduce 82 - - -state 290 - explicitconstructorinvocation : THIS . '(' ')' ';' (143) - explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (144) - primarynonewarray : THIS . (249) - - '(' shift 362 - INCREMENT reduce 249 - DECREMENT reduce 249 - '.' reduce 249 - - -state 291 - constructorbody : '{' '}' . (97) - - . reduce 97 - - -state 292 - constructorbody : '{' blockstatements . '}' (99) - blockstatements : blockstatements . blockstatement (140) - - BOOLEAN shift 2 - CHAR shift 3 - FOR shift 184 - IF shift 185 - INT shift 6 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 197 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '}' shift 363 - '(' shift 202 - . error - - variabledeclarators goto 203 - variabledeclarator goto 204 - variabledeclaratorid goto 101 - simplename goto 205 - qualifiedname goto 35 - name goto 206 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 207 - block goto 208 - localvariabledeclarationstatement goto 210 - localvariabledeclaration goto 211 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - blockstatement goto 310 - statement goto 226 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 293 - constructorbody : '{' explicitconstructorinvocation . '}' (98) - constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (100) - - BOOLEAN shift 2 - CHAR shift 3 - FOR shift 184 - IF shift 185 - INT shift 6 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 197 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '}' shift 364 - '(' shift 202 - . error - - variabledeclarators goto 203 - variabledeclarator goto 204 - variabledeclaratorid goto 101 - simplename goto 205 - qualifiedname goto 35 - name goto 206 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 207 - block goto 208 - blockstatements goto 365 - localvariabledeclarationstatement goto 210 - localvariabledeclaration goto 211 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - blockstatement goto 225 - statement goto 226 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 294 - constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (83) - methoddeclarator : IDENTIFIER . '(' ')' (147) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (148) - - '=' shift 366 - '(' shift 142 - . error - - -state 295 - classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (27) - - . reduce 27 - - -state 296 - boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (108) - - IDENTIFIER shift 14 - . error - - simplename goto 18 - classorinterfacetype goto 21 - referencetype goto 367 - - -state 297 - forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (181) - forstatement : FOR '(' . expression ';' expression ';' ')' statement (182) - forstatement : FOR '(' . expression ';' ';' expression ')' statement (183) - forstatement : FOR '(' . ';' expression ';' expression ')' statement (184) - forstatement : FOR '(' . expression ';' ';' ')' statement (185) - forstatement : FOR '(' . ';' expression ';' ')' statement (186) - forstatement : FOR '(' . ';' ';' expression ')' statement (187) - forstatement : FOR '(' . ';' ';' ')' statement (188) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 368 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 369 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 298 - ifthenstatement : IF '(' . expression ')' statement (178) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (179) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 370 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 299 - returnstatement : RETURN ';' . (193) - - . reduce 193 - - -state 300 - returnstatement : RETURN expression . ';' (194) - - ';' shift 371 - . error - - -state 301 - whilestatement : WHILE '(' . expression ')' statement (180) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 372 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -302: shift/reduce conflict (shift 62, reduce 242) on '.' -state 302 - qualifiedname : name . '.' IDENTIFIER (16) - methodinvocation : name . '(' ')' (228) - methodinvocation : name . '(' argumentlist ')' (229) - postfixexpression : name . (242) - - '.' shift 62 - '(' shift 307 - ABSTRACT reduce 242 - BOOLEAN reduce 242 - CHAR reduce 242 - FINAL reduce 242 - INSTANCEOF reduce 242 - INT reduce 242 - PRIVATE reduce 242 - PROTECTED reduce 242 - PUBLIC reduce 242 - STATIC reduce 242 - VOID reduce 242 - IDENTIFIER reduce 242 - EQUAL reduce 242 - LESSEQUAL reduce 242 - GREATEREQUAL reduce 242 - NOTEQUAL reduce 242 - LOGICALOR reduce 242 - LOGICALAND reduce 242 - INCREMENT reduce 242 - DECREMENT reduce 242 - ',' reduce 242 - ';' reduce 242 - '*' reduce 242 - '<' reduce 242 - '>' reduce 242 - '}' reduce 242 - ')' reduce 242 - '&' reduce 242 - '+' reduce 242 - '-' reduce 242 - '|' reduce 242 - '^' reduce 242 - '/' reduce 242 - '%' reduce 242 - - -state 303 - preincrementexpression : INCREMENT unaryexpression . (224) - - . reduce 224 - - -state 304 - predecrementexpression : DECREMENT unaryexpression . (225) - - . reduce 225 - - -state 305 - lambdaexpressionparameter : '(' ')' . (214) - - . reduce 214 - - -state 306 - formalparameterlist : formalparameterlist . ',' formalparameter (142) - lambdaexpressionparameter : '(' formalparameterlist . ')' (215) - - ',' shift 326 - ')' shift 373 - . error - - -state 307 - methodinvocation : name '(' . ')' (228) - methodinvocation : name '(' . argumentlist ')' (229) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 374 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 375 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - argumentlist goto 376 - methodinvocation goto 275 - castexpression goto 276 - - -state 308 - variabledeclarators : variabledeclarators . ',' variabledeclarator (137) - localvariabledeclaration : type variabledeclarators . (172) - - ',' shift 151 - ';' reduce 172 - - -state 309 - block : '{' blockstatements '}' . (94) - - . reduce 94 - - -state 310 - blockstatements : blockstatements blockstatement . (140) +state 227 + blockstatements : blockstatement . (140) . reduce 140 -state 311 - localvariabledeclarationstatement : localvariabledeclaration ';' . (162) - - . reduce 162 - - -state 312 - lambdaassignmentoperator : LAMBDAASSIGNMENT . (211) - - . reduce 211 - - -state 313 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (216) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '{' shift 138 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 377 - lambdabody goto 378 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 379 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 314 - methodinvocation : primary '.' . IDENTIFIER '(' ')' (230) - methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (231) - - IDENTIFIER shift 380 - . error - - -state 315 - postincrementexpression : postfixexpression INCREMENT . (226) - - . reduce 226 - - -state 316 - postdecrementexpression : postfixexpression DECREMENT . (227) - - . reduce 227 - - -state 317 - expressionstatement : statementexpression ';' . (192) - - . reduce 192 - - -state 318 - assignmentoperator : PLUSEQUAL . (222) - - . reduce 222 - - -state 319 - assignmentoperator : MINUSEQUAL . (223) - - . reduce 223 - - -state 320 - assignmentoperator : TIMESEQUAL . (219) - - . reduce 219 - - -state 321 - assignmentoperator : DIVIDEEQUAL . (220) - - . reduce 220 - - -state 322 - assignmentoperator : MODULOEQUAL . (221) - - . reduce 221 - - -state 323 - assignmentoperator : '=' . (218) - - . reduce 218 - - -state 324 - assignment : lefthandside assignmentoperator . assignmentexpression (199) - assignment : lefthandside assignmentoperator . classinstancecreationexpression (200) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 381 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 382 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 325 - formalparameter : type variabledeclaratorid . (155) +state 228 + blockstatement : statement . (155) . reduce 155 -state 326 - formalparameterlist : formalparameterlist ',' . formalparameter (142) +state 229 + statement : whilestatement . (167) - BOOLEAN shift 2 - CHAR shift 3 - INT shift 6 - IDENTIFIER shift 197 + . reduce 167 + + +state 230 + statement : forstatement . (168) + + . reduce 168 + + +state 231 + statement : ifthenstatement . (165) + + . reduce 165 + + +state 232 + statement : ifthenelsestatement . (166) + + . reduce 166 + + +state 233 + statementwithouttrailingsubstatement : emptystatement . (176) + + . reduce 176 + + +state 234 + statementwithouttrailingsubstatement : returnstatement . (178) + + . reduce 178 + + +state 235 + statementexpression : assignment . (202) + + . reduce 202 + + +state 236 + assignment : lefthandside . assignmentoperator assignmentexpression (200) + assignment : lefthandside . assignmentoperator classinstancecreationexpression (201) + + PLUSEQUAL shift 321 + MINUSEQUAL shift 322 + TIMESEQUAL shift 323 + DIVIDEEQUAL shift 324 + MODULOEQUAL shift 325 + '=' shift 326 . error - variabledeclaratorid goto 238 - simplename goto 18 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 239 - formalparameter goto 383 + assignmentoperator goto 327 -state 327 - methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (148) +state 237 + statementexpression : methodinvocation . (207) + primarynonewarray : methodinvocation . (251) - . reduce 148 + INCREMENT reduce 251 + DECREMENT reduce 251 + ';' reduce 207 + '.' reduce 251 -state 328 - boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (110) - - . reduce 110 - - -state 329 - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (123) - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (125) - - IDENTIFIER shift 140 - . error - - methoddeclarator goto 384 - - -state 330 - methodheader : '<' boundedMethodParameters '>' methoddeclarator . (128) - - . reduce 128 - - -state 331 - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (111) - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (116) - - IDENTIFIER shift 140 - . error - - methoddeclarator goto 385 - - -state 332 - classtypelist : classtypelist ',' . classtype (146) - - IDENTIFIER shift 14 - . error - - simplename goto 18 - classtype goto 386 - classorinterfacetype goto 83 - - -state 333 - classinstancecreationexpression : NEW classtype . '(' ')' (232) - classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (233) - - '(' shift 387 - . error - - -state 334 - type : primitivetype . (132) - type : primitivetype . '[' ']' (133) - castexpression : '(' primitivetype . ')' unaryexpression (265) - - ')' shift 388 - '[' shift 45 - IDENTIFIER reduce 132 - - -state 335 - unaryexpression : '+' unaryexpression . (238) - - . reduce 238 - - -state 336 - unaryexpression : '-' unaryexpression . (239) - - . reduce 239 - - -state 337 - unaryexpressionnotplusminus : '!' unaryexpression . (253) - - . reduce 253 - - -state 338 - multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (282) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 389 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 339 - multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (283) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 390 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 340 - multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (284) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 391 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 341 - additiveexpression : additiveexpression '+' . multiplicativeexpression (279) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 392 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 342 - additiveexpression : additiveexpression '-' . multiplicativeexpression (280) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 393 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 343 - relationalexpression : relationalexpression INSTANCEOF . referencetype (276) - - IDENTIFIER shift 14 - . error - - simplename goto 18 - classorinterfacetype goto 21 - referencetype goto 394 - - -state 344 - relationalexpression : relationalexpression LESSEQUAL . shiftexpression (274) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 395 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 345 - relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (275) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 396 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 346 - relationalexpression : relationalexpression '<' . shiftexpression (272) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 397 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 347 - relationalexpression : relationalexpression '>' . shiftexpression (273) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 398 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 348 - equalityexpression : equalityexpression EQUAL . relationalexpression (269) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 399 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 349 - equalityexpression : equalityexpression NOTEQUAL . relationalexpression (270) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 400 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 350 - andexpression : andexpression '&' . equalityexpression (267) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 401 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 351 - exclusiveorexpression : exclusiveorexpression '^' . andexpression (256) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 402 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 352 - inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (247) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 403 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 353 - conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (235) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 404 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 354 - conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (210) - - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 405 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 - - -state 355 - constructordeclarator : simplename '(' formalparameterlist ')' . (96) - - . reduce 96 - - -state 356 - fielddeclarator : type variabledeclarator '=' expression . (85) - fielddeclarator : variabledeclarator '=' expression . (86) - - ABSTRACT reduce 86 - BOOLEAN reduce 86 - CHAR reduce 86 - FINAL reduce 86 - INT reduce 86 - PRIVATE reduce 86 - PROTECTED reduce 86 - PUBLIC reduce 86 - STATIC reduce 86 - VOID reduce 86 - IDENTIFIER reduce 86 - ';' reduce 85 - '<' reduce 86 - '}' reduce 86 - - -state 357 - fielddeclarator : type variabledeclarator '=' . expression (85) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 406 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 358 - methodheader : modifiers VOID methoddeclarator throws . (122) +state 238 + methodheader : VOID methoddeclarator throws . (122) . reduce 122 -state 359 - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (114) - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (118) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (124) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (126) +state 239 + methoddeclarator : IDENTIFIER '(' ')' . (148) + + . reduce 148 + + +state 240 + formalparameter : variabledeclaratorid . (157) + + . reduce 157 + + +state 241 + formalparameter : type . variabledeclaratorid (156) + + IDENTIFIER shift 248 + . error + + variabledeclaratorid goto 328 + + +state 242 + formalparameterlist : formalparameter . (142) + + . reduce 142 + + +state 243 + formalparameterlist : formalparameterlist . ',' formalparameter (143) + methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (149) + + ',' shift 329 + ')' shift 330 + . error + + +state 244 + boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (111) + + IDENTIFIER shift 78 + . error + + boundedMethodParameter goto 331 + + +state 245 + fielddeclaration : '<' boundedMethodParameters '>' . type fielddeclarator (89) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (112) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (117) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (124) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (126) + methodheader : '<' boundedMethodParameters '>' . methoddeclarator (129) BOOLEAN shift 2 CHAR shift 3 INT shift 6 - VOID shift 407 - IDENTIFIER shift 14 + VOID shift 332 + IDENTIFIER shift 117 . error + methoddeclarator goto 333 simplename goto 18 classorinterfacetype goto 21 integraltype goto 22 numerictype goto 23 primitivetype goto 24 referencetype goto 25 - type goto 408 + type goto 334 -state 360 - methodheader : modifiers type methoddeclarator throws . (117) - - . reduce 117 - - -state 361 - fielddeclaration : modifiers type variabledeclarators ';' . (91) - - . reduce 91 - - -state 362 - explicitconstructorinvocation : THIS '(' . ')' ';' (143) - explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (144) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 409 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 375 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - argumentlist goto 410 - methodinvocation goto 275 - castexpression goto 276 - - -state 363 - constructorbody : '{' blockstatements '}' . (99) - - . reduce 99 - - -state 364 - constructorbody : '{' explicitconstructorinvocation '}' . (98) - - . reduce 98 - - -state 365 - constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (100) - blockstatements : blockstatements . blockstatement (140) - - BOOLEAN shift 2 - CHAR shift 3 - FOR shift 184 - IF shift 185 - INT shift 6 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 197 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '}' shift 411 - '(' shift 202 - . error - - variabledeclarators goto 203 - variabledeclarator goto 204 - variabledeclaratorid goto 101 - simplename goto 205 - qualifiedname goto 35 - name goto 206 - classorinterfacetype goto 21 - integraltype goto 22 - numerictype goto 23 - primitivetype goto 24 - referencetype goto 25 - type goto 207 - block goto 208 - localvariabledeclarationstatement goto 210 - localvariabledeclaration goto 211 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - blockstatement goto 310 - statement goto 226 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 366 - constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (83) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 412 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 367 - boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (108) - - . reduce 108 - - -state 368 - forstatement : FOR '(' ';' . expression ';' expression ')' statement (184) - forstatement : FOR '(' ';' . expression ';' ')' statement (186) - forstatement : FOR '(' ';' . ';' expression ')' statement (187) - forstatement : FOR '(' ';' . ';' ')' statement (188) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 413 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 414 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 369 - forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (181) - forstatement : FOR '(' expression . ';' expression ';' ')' statement (182) - forstatement : FOR '(' expression . ';' ';' expression ')' statement (183) - forstatement : FOR '(' expression . ';' ';' ')' statement (185) - - ';' shift 415 - . error - - -state 370 - ifthenstatement : IF '(' expression . ')' statement (178) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (179) - - ')' shift 416 - . error - - -state 371 - returnstatement : RETURN expression ';' . (194) - - . reduce 194 - - -state 372 - whilestatement : WHILE '(' expression . ')' statement (180) - - ')' shift 417 - . error - - -state 373 - lambdaexpressionparameter : '(' formalparameterlist ')' . (215) - - . reduce 215 - - -state 374 - methodinvocation : name '(' ')' . (228) - - . reduce 228 - - -state 375 - argumentlist : expression . (157) - - . reduce 157 - - -state 376 - argumentlist : argumentlist . ',' expression (158) - methodinvocation : name '(' argumentlist . ')' (229) - - ',' shift 418 - ')' shift 419 - . error - - -state 377 - lambdabody : block . (212) - - . reduce 212 - - -state 378 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (216) - - . reduce 216 - - -state 379 - lambdabody : expression . (213) - - . reduce 213 - - -state 380 - methodinvocation : primary '.' IDENTIFIER . '(' ')' (230) - methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (231) - - '(' shift 420 - . error - - -state 381 - assignment : lefthandside assignmentoperator assignmentexpression . (199) - - . reduce 199 - - -state 382 - assignment : lefthandside assignmentoperator classinstancecreationexpression . (200) - - . reduce 200 - - -state 383 - formalparameterlist : formalparameterlist ',' formalparameter . (142) - - . reduce 142 - - -state 384 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (123) - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (125) - - THROWS shift 147 - ';' reduce 123 - '{' reduce 123 - - throws goto 421 - - -state 385 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (111) - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (116) - - THROWS shift 147 - ';' reduce 111 - '{' reduce 111 - - throws goto 422 - - -state 386 - classtypelist : classtypelist ',' classtype . (146) +state 246 + classtypelist : classtype . (146) . reduce 146 -state 387 - classinstancecreationexpression : NEW classtype '(' . ')' (232) - classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (233) +state 247 + throws : THROWS classtypelist . (102) + classtypelist : classtypelist . ',' classtype (147) + + ',' shift 335 + ';' reduce 102 + '{' reduce 102 + + +state 248 + variabledeclaratorid : IDENTIFIER . (161) + + . reduce 161 + + +state 249 + variabledeclarators : variabledeclarators ',' variabledeclarator . (138) + + . reduce 138 + + +state 250 + classinstancecreationexpression : NEW . classtype '(' ')' (233) + classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (234) - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 423 - '+' shift 250 - '-' shift 251 - '!' shift 252 + . error + + simplename goto 18 + classtype goto 336 + classorinterfacetype goto 83 + + +state 251 + lambdaexpressionparameter : '(' . ')' (215) + lambdaexpressionparameter : '(' . formalparameterlist ')' (216) + castexpression : '(' . primitivetype ')' unaryexpression (266) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 199 + ')' shift 308 + . error + + variabledeclaratorid goto 240 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 337 + referencetype goto 25 + type goto 241 + formalparameter goto 242 + formalparameterlist goto 309 + + +state 252 + unaryexpression : '+' . unaryexpression (239) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 . error simplename goto 34 qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 375 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - argumentlist goto 424 - methodinvocation goto 275 - castexpression goto 276 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 338 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 -state 388 - castexpression : '(' primitivetype ')' . unaryexpression (265) +state 253 + unaryexpression : '-' . unaryexpression (240) - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 . error simplename goto 34 qualifiedname goto 35 - name goto 302 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 425 - lambdaexpression goto 217 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - methodinvocation goto 275 - castexpression goto 276 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 339 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 -state 389 - multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (282) +state 254 + unaryexpressionnotplusminus : '!' . unaryexpression (254) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 340 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +255: shift/reduce conflict (shift 318, reduce 253) on INCREMENT +255: shift/reduce conflict (shift 319, reduce 253) on DECREMENT +state 255 + postincrementexpression : postfixexpression . INCREMENT (227) + postdecrementexpression : postfixexpression . DECREMENT (228) + unaryexpressionnotplusminus : postfixexpression . (253) + + INCREMENT shift 318 + DECREMENT shift 319 + ABSTRACT reduce 253 + BOOLEAN reduce 253 + CHAR reduce 253 + FINAL reduce 253 + INSTANCEOF reduce 253 + INT reduce 253 + PRIVATE reduce 253 + PROTECTED reduce 253 + PUBLIC reduce 253 + STATIC reduce 253 + VOID reduce 253 + IDENTIFIER reduce 253 + EQUAL reduce 253 + LESSEQUAL reduce 253 + GREATEREQUAL reduce 253 + NOTEQUAL reduce 253 + LOGICALOR reduce 253 + LOGICALAND reduce 253 + ',' reduce 253 + ';' reduce 253 + '.' reduce 253 + '*' reduce 253 + '<' reduce 253 + '>' reduce 253 + '}' reduce 253 + ')' reduce 253 + '&' reduce 253 + '+' reduce 253 + '-' reduce 253 + '|' reduce 253 + '^' reduce 253 + '/' reduce 253 + '%' reduce 253 + + +state 256 + unaryexpression : unaryexpressionnotplusminus . (241) + + . reduce 241 + + +state 257 + multiplicativeexpression : unaryexpression . (282) . reduce 282 -state 390 - multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (283) +258: shift/reduce conflict (shift 341, reduce 279) on '*' +258: shift/reduce conflict (shift 342, reduce 279) on '/' +258: shift/reduce conflict (shift 343, reduce 279) on '%' +state 258 + additiveexpression : multiplicativeexpression . (279) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (283) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (284) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (285) - . reduce 283 - - -state 391 - multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (284) - - . reduce 284 - - -392: shift/reduce conflict (shift 338, reduce 279) on '*' -392: shift/reduce conflict (shift 339, reduce 279) on '/' -392: shift/reduce conflict (shift 340, reduce 279) on '%' -state 392 - additiveexpression : additiveexpression '+' multiplicativeexpression . (279) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (282) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (283) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (284) - - '*' shift 338 - '/' shift 339 - '%' shift 340 + '*' shift 341 + '/' shift 342 + '%' shift 343 ABSTRACT reduce 279 BOOLEAN reduce 279 CHAR reduce 279 @@ -6432,100 +3666,74 @@ state 392 '^' reduce 279 -393: shift/reduce conflict (shift 338, reduce 280) on '*' -393: shift/reduce conflict (shift 339, reduce 280) on '/' -393: shift/reduce conflict (shift 340, reduce 280) on '%' -state 393 - additiveexpression : additiveexpression '-' multiplicativeexpression . (280) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (282) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (283) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (284) +259: shift/reduce conflict (shift 344, reduce 278) on '+' +259: shift/reduce conflict (shift 345, reduce 278) on '-' +state 259 + shiftexpression : additiveexpression . (278) + additiveexpression : additiveexpression . '+' multiplicativeexpression (280) + additiveexpression : additiveexpression . '-' multiplicativeexpression (281) - '*' shift 338 - '/' shift 339 - '%' shift 340 - ABSTRACT reduce 280 - BOOLEAN reduce 280 - CHAR reduce 280 - FINAL reduce 280 - INSTANCEOF reduce 280 - INT reduce 280 - PRIVATE reduce 280 - PROTECTED reduce 280 - PUBLIC reduce 280 - STATIC reduce 280 - VOID reduce 280 - IDENTIFIER reduce 280 - EQUAL reduce 280 - LESSEQUAL reduce 280 - GREATEREQUAL reduce 280 - NOTEQUAL reduce 280 - LOGICALOR reduce 280 - LOGICALAND reduce 280 - INCREMENT reduce 280 - DECREMENT reduce 280 - ',' reduce 280 - ';' reduce 280 - '.' reduce 280 - '<' reduce 280 - '>' reduce 280 - '}' reduce 280 - ')' reduce 280 - '&' reduce 280 - '+' reduce 280 - '-' reduce 280 - '|' reduce 280 - '^' reduce 280 + '+' shift 344 + '-' shift 345 + ABSTRACT reduce 278 + BOOLEAN reduce 278 + CHAR reduce 278 + FINAL reduce 278 + INSTANCEOF reduce 278 + INT reduce 278 + PRIVATE reduce 278 + PROTECTED reduce 278 + PUBLIC reduce 278 + STATIC reduce 278 + VOID reduce 278 + IDENTIFIER reduce 278 + EQUAL reduce 278 + LESSEQUAL reduce 278 + GREATEREQUAL reduce 278 + NOTEQUAL reduce 278 + LOGICALOR reduce 278 + LOGICALAND reduce 278 + INCREMENT reduce 278 + DECREMENT reduce 278 + ',' reduce 278 + ';' reduce 278 + '.' reduce 278 + '*' reduce 278 + '<' reduce 278 + '>' reduce 278 + '}' reduce 278 + ')' reduce 278 + '&' reduce 278 + '|' reduce 278 + '^' reduce 278 + '/' reduce 278 + '%' reduce 278 -state 394 - relationalexpression : relationalexpression INSTANCEOF referencetype . (276) - - . reduce 276 - - -state 395 - relationalexpression : relationalexpression LESSEQUAL shiftexpression . (274) - - . reduce 274 - - -state 396 - relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (275) - - . reduce 275 - - -state 397 - relationalexpression : relationalexpression '<' shiftexpression . (272) +state 260 + relationalexpression : shiftexpression . (272) . reduce 272 -state 398 - relationalexpression : relationalexpression '>' shiftexpression . (273) +261: shift/reduce conflict (shift 346, reduce 269) on INSTANCEOF +261: shift/reduce conflict (shift 347, reduce 269) on LESSEQUAL +261: shift/reduce conflict (shift 348, reduce 269) on GREATEREQUAL +261: shift/reduce conflict (shift 349, reduce 269) on '<' +261: shift/reduce conflict (shift 350, reduce 269) on '>' +state 261 + equalityexpression : relationalexpression . (269) + relationalexpression : relationalexpression . '<' shiftexpression (273) + relationalexpression : relationalexpression . '>' shiftexpression (274) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (275) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (276) + relationalexpression : relationalexpression . INSTANCEOF referencetype (277) - . reduce 273 - - -399: shift/reduce conflict (shift 343, reduce 269) on INSTANCEOF -399: shift/reduce conflict (shift 344, reduce 269) on LESSEQUAL -399: shift/reduce conflict (shift 345, reduce 269) on GREATEREQUAL -399: shift/reduce conflict (shift 346, reduce 269) on '<' -399: shift/reduce conflict (shift 347, reduce 269) on '>' -state 399 - equalityexpression : equalityexpression EQUAL relationalexpression . (269) - relationalexpression : relationalexpression . '<' shiftexpression (272) - relationalexpression : relationalexpression . '>' shiftexpression (273) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (274) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (275) - relationalexpression : relationalexpression . INSTANCEOF referencetype (276) - - INSTANCEOF shift 343 - LESSEQUAL shift 344 - GREATEREQUAL shift 345 - '<' shift 346 - '>' shift 347 + INSTANCEOF shift 346 + LESSEQUAL shift 347 + GREATEREQUAL shift 348 + '<' shift 349 + '>' shift 350 ABSTRACT reduce 269 BOOLEAN reduce 269 CHAR reduce 269 @@ -6558,65 +3766,15 @@ state 399 '%' reduce 269 -400: shift/reduce conflict (shift 343, reduce 270) on INSTANCEOF -400: shift/reduce conflict (shift 344, reduce 270) on LESSEQUAL -400: shift/reduce conflict (shift 345, reduce 270) on GREATEREQUAL -400: shift/reduce conflict (shift 346, reduce 270) on '<' -400: shift/reduce conflict (shift 347, reduce 270) on '>' -state 400 - equalityexpression : equalityexpression NOTEQUAL relationalexpression . (270) - relationalexpression : relationalexpression . '<' shiftexpression (272) - relationalexpression : relationalexpression . '>' shiftexpression (273) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (274) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (275) - relationalexpression : relationalexpression . INSTANCEOF referencetype (276) +262: shift/reduce conflict (shift 351, reduce 267) on EQUAL +262: shift/reduce conflict (shift 352, reduce 267) on NOTEQUAL +state 262 + andexpression : equalityexpression . (267) + equalityexpression : equalityexpression . EQUAL relationalexpression (270) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (271) - INSTANCEOF shift 343 - LESSEQUAL shift 344 - GREATEREQUAL shift 345 - '<' shift 346 - '>' shift 347 - ABSTRACT reduce 270 - BOOLEAN reduce 270 - CHAR reduce 270 - FINAL 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 - 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 - - -401: shift/reduce conflict (shift 348, reduce 267) on EQUAL -401: shift/reduce conflict (shift 349, reduce 267) on NOTEQUAL -state 401 - andexpression : andexpression '&' equalityexpression . (267) - equalityexpression : equalityexpression . EQUAL relationalexpression (269) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (270) - - EQUAL shift 348 - NOTEQUAL shift 349 + EQUAL shift 351 + NOTEQUAL shift 352 ABSTRACT reduce 267 BOOLEAN reduce 267 CHAR reduce 267 @@ -6652,12 +3810,12 @@ state 401 '%' reduce 267 -402: shift/reduce conflict (shift 350, reduce 256) on '&' -state 402 - exclusiveorexpression : exclusiveorexpression '^' andexpression . (256) - andexpression : andexpression . '&' equalityexpression (267) +263: shift/reduce conflict (shift 353, reduce 256) on '&' +state 263 + exclusiveorexpression : andexpression . (256) + andexpression : andexpression . '&' equalityexpression (268) - '&' shift 350 + '&' shift 353 ABSTRACT reduce 256 BOOLEAN reduce 256 CHAR reduce 256 @@ -6694,12 +3852,12 @@ state 402 '%' reduce 256 -403: shift/reduce conflict (shift 351, reduce 247) on '^' -state 403 - inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (247) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (256) +264: shift/reduce conflict (shift 354, reduce 247) on '^' +state 264 + inclusiveorexpression : exclusiveorexpression . (247) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (257) - '^' shift 351 + '^' shift 354 ABSTRACT reduce 247 BOOLEAN reduce 247 CHAR reduce 247 @@ -6736,12 +3894,12 @@ state 403 '%' reduce 247 -404: shift/reduce conflict (shift 352, reduce 235) on '|' -state 404 - conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (235) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (247) +265: shift/reduce conflict (shift 355, reduce 235) on '|' +state 265 + conditionalandexpression : inclusiveorexpression . (235) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (248) - '|' shift 352 + '|' shift 355 ABSTRACT reduce 235 BOOLEAN reduce 235 CHAR reduce 235 @@ -6778,12 +3936,12 @@ state 404 '%' reduce 235 -405: shift/reduce conflict (shift 353, reduce 210) on LOGICALAND -state 405 - conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (210) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (235) +266: shift/reduce conflict (shift 356, reduce 210) on LOGICALAND +state 266 + conditionalorexpression : conditionalandexpression . (210) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (236) - LOGICALAND shift 353 + LOGICALAND shift 356 ABSTRACT reduce 210 BOOLEAN reduce 210 CHAR reduce 210 @@ -6820,1693 +3978,4630 @@ state 405 '%' reduce 210 +267: shift/reduce conflict (shift 357, reduce 199) on LOGICALOR +state 267 + conditionalexpression : conditionalorexpression . (199) + conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (211) + + LOGICALOR shift 357 + ABSTRACT reduce 199 + BOOLEAN reduce 199 + CHAR reduce 199 + FINAL reduce 199 + INSTANCEOF reduce 199 + INT reduce 199 + PRIVATE reduce 199 + PROTECTED reduce 199 + PUBLIC reduce 199 + STATIC reduce 199 + VOID reduce 199 + IDENTIFIER reduce 199 + EQUAL reduce 199 + LESSEQUAL reduce 199 + GREATEREQUAL reduce 199 + NOTEQUAL reduce 199 + LOGICALAND reduce 199 + INCREMENT reduce 199 + DECREMENT reduce 199 + ',' reduce 199 + ';' reduce 199 + '.' reduce 199 + '*' reduce 199 + '<' reduce 199 + '>' reduce 199 + '}' reduce 199 + ')' reduce 199 + '&' reduce 199 + '+' reduce 199 + '-' reduce 199 + '|' reduce 199 + '^' reduce 199 + '/' reduce 199 + '%' reduce 199 + + +state 268 + assignmentexpression : conditionalexpression . (190) + + . reduce 190 + + +state 269 + expression : assignmentexpression . (169) + + . reduce 169 + + +state 270 + fielddeclarator : variabledeclarator '=' expression . (86) + + . reduce 86 + + +state 271 + unaryexpression : preincrementexpression . (237) + + . reduce 237 + + +state 272 + unaryexpression : predecrementexpression . (238) + + . reduce 238 + + +state 273 + postfixexpression : postincrementexpression . (244) + + . reduce 244 + + +state 274 + postfixexpression : postdecrementexpression . (245) + + . reduce 245 + + +state 275 + expression : classinstancecreationexpression . (170) + + . reduce 170 + + +state 276 + assignmentexpression : assignment . (191) + + . reduce 191 + + +state 277 + primarynonewarray : methodinvocation . (251) + + . reduce 251 + + +state 278 + unaryexpressionnotplusminus : castexpression . (255) + + . reduce 255 + + +state 279 + constructordeclarator : simplename '(' ')' . (96) + + . reduce 96 + + +state 280 + constructordeclarator : simplename '(' formalparameterlist . ')' (97) + formalparameterlist : formalparameterlist . ',' formalparameter (143) + + ',' shift 329 + ')' shift 358 + . error + + +state 281 + methodheader : type methoddeclarator throws . (116) + + . reduce 116 + + +state 282 + fielddeclaration : type variabledeclarators ';' . (91) + + . reduce 91 + + +state 283 + fielddeclarator : type variabledeclarator '=' . expression (85) + fielddeclarator : variabledeclarator '=' . expression (86) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 359 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 284 + fielddeclarator : type variabledeclarator . '=' expression (85) + + '=' shift 360 + . error + + +state 285 + methodheader : modifiers VOID methoddeclarator . (121) + methodheader : modifiers VOID methoddeclarator . throws (123) + + THROWS shift 148 + ';' reduce 121 + '{' reduce 121 + + throws goto 361 + + +state 286 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (111) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (115) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (119) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (125) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (127) + + ',' shift 244 + '>' shift 362 + . error + + +state 287 + methodheader : modifiers methoddeclarator throws . (132) + + . reduce 132 + + +state 288 + methoddeclarator : IDENTIFIER . '(' ')' (148) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) + variabledeclaratorid : IDENTIFIER . (161) + + '(' shift 143 + ',' reduce 161 + ';' reduce 161 + + +state 289 + methodheader : modifiers type methoddeclarator . (114) + methodheader : modifiers type methoddeclarator . throws (118) + + THROWS shift 148 + ';' reduce 114 + '{' reduce 114 + + throws goto 363 + + +state 290 + fielddeclaration : modifiers type variabledeclarators . ';' (92) + variabledeclarators : variabledeclarators . ',' variabledeclarator (138) + + ',' shift 152 + ';' shift 364 + . error + + +state 291 + constructordeclaration : modifiers constructordeclarator constructorbody . (82) + + . reduce 82 + + +state 292 + explicitconstructorinvocation : THIS . '(' ')' ';' (144) + explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (145) + primarynonewarray : THIS . (250) + + '(' shift 365 + INCREMENT reduce 250 + DECREMENT reduce 250 + '.' reduce 250 + + +state 293 + constructorbody : '{' '}' . (98) + + . reduce 98 + + +state 294 + constructorbody : '{' blockstatements . '}' (100) + blockstatements : blockstatements . blockstatement (141) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 186 + IF shift 187 + INT shift 6 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 199 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '}' shift 366 + '(' shift 204 + . error + + variabledeclarators goto 205 + variabledeclarator goto 206 + variabledeclaratorid goto 101 + simplename goto 207 + qualifiedname goto 35 + name goto 208 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 209 + block goto 210 + localvariabledeclarationstatement goto 212 + localvariabledeclaration goto 213 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + blockstatement goto 313 + statement goto 228 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 295 + constructorbody : '{' explicitconstructorinvocation . '}' (99) + constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (101) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 186 + IF shift 187 + INT shift 6 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 199 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '}' shift 367 + '(' shift 204 + . error + + variabledeclarators goto 205 + variabledeclarator goto 206 + variabledeclaratorid goto 101 + simplename goto 207 + qualifiedname goto 35 + name goto 208 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 209 + block goto 210 + blockstatements goto 368 + localvariabledeclarationstatement goto 212 + localvariabledeclaration goto 213 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + blockstatement goto 227 + statement goto 228 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 296 + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (112) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (117) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (124) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (126) + methodheader : '<' boundedMethodParameters '>' . methoddeclarator (129) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + VOID shift 332 + IDENTIFIER shift 117 + . error + + methoddeclarator goto 333 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 369 + + +state 297 + constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (83) + methoddeclarator : IDENTIFIER . '(' ')' (148) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (149) + + '=' shift 370 + '(' shift 143 + . error + + +state 298 + classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (27) + + . reduce 27 + + +state 299 + boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (109) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + referencetype goto 371 + + +state 300 + forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (182) + forstatement : FOR '(' . expression ';' expression ';' ')' statement (183) + forstatement : FOR '(' . expression ';' ';' expression ')' statement (184) + forstatement : FOR '(' . ';' expression ';' expression ')' statement (185) + forstatement : FOR '(' . expression ';' ';' ')' statement (186) + forstatement : FOR '(' . ';' expression ';' ')' statement (187) + forstatement : FOR '(' . ';' ';' expression ')' statement (188) + forstatement : FOR '(' . ';' ';' ')' statement (189) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 372 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 373 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 301 + ifthenstatement : IF '(' . expression ')' statement (179) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (180) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 374 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 302 + returnstatement : RETURN ';' . (194) + + . reduce 194 + + +state 303 + returnstatement : RETURN expression . ';' (195) + + ';' shift 375 + . error + + +state 304 + whilestatement : WHILE '(' . expression ')' statement (181) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 376 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +305: shift/reduce conflict (shift 62, reduce 243) on '.' +state 305 + qualifiedname : name . '.' IDENTIFIER (16) + methodinvocation : name . '(' ')' (229) + methodinvocation : name . '(' argumentlist ')' (230) + postfixexpression : name . (243) + + '.' shift 62 + '(' shift 310 + ABSTRACT reduce 243 + BOOLEAN reduce 243 + CHAR reduce 243 + FINAL reduce 243 + INSTANCEOF reduce 243 + INT reduce 243 + PRIVATE reduce 243 + PROTECTED reduce 243 + PUBLIC reduce 243 + STATIC reduce 243 + VOID reduce 243 + IDENTIFIER reduce 243 + EQUAL reduce 243 + LESSEQUAL reduce 243 + GREATEREQUAL reduce 243 + NOTEQUAL reduce 243 + LOGICALOR reduce 243 + LOGICALAND reduce 243 + INCREMENT reduce 243 + DECREMENT reduce 243 + ',' reduce 243 + ';' reduce 243 + '*' reduce 243 + '<' reduce 243 + '>' reduce 243 + '}' reduce 243 + ')' reduce 243 + '&' reduce 243 + '+' reduce 243 + '-' reduce 243 + '|' reduce 243 + '^' reduce 243 + '/' reduce 243 + '%' reduce 243 + + +state 306 + preincrementexpression : INCREMENT unaryexpression . (225) + + . reduce 225 + + +state 307 + predecrementexpression : DECREMENT unaryexpression . (226) + + . reduce 226 + + +state 308 + lambdaexpressionparameter : '(' ')' . (215) + + . reduce 215 + + +state 309 + formalparameterlist : formalparameterlist . ',' formalparameter (143) + lambdaexpressionparameter : '(' formalparameterlist . ')' (216) + + ',' shift 329 + ')' shift 377 + . error + + +state 310 + methodinvocation : name '(' . ')' (229) + methodinvocation : name '(' . argumentlist ')' (230) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 378 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 379 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + argumentlist goto 380 + methodinvocation goto 277 + castexpression goto 278 + + +state 311 + variabledeclarators : variabledeclarators . ',' variabledeclarator (138) + localvariabledeclaration : type variabledeclarators . (173) + + ',' shift 152 + ';' reduce 173 + + +state 312 + block : '{' blockstatements '}' . (95) + + . reduce 95 + + +state 313 + blockstatements : blockstatements blockstatement . (141) + + . reduce 141 + + +state 314 + localvariabledeclarationstatement : localvariabledeclaration ';' . (163) + + . reduce 163 + + +state 315 + lambdaassignmentoperator : LAMBDAASSIGNMENT . (212) + + . reduce 212 + + +state 316 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (217) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '{' shift 139 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 381 + lambdabody goto 382 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 383 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 317 + methodinvocation : primary '.' . IDENTIFIER '(' ')' (231) + methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (232) + + IDENTIFIER shift 384 + . error + + +state 318 + postincrementexpression : postfixexpression INCREMENT . (227) + + . reduce 227 + + +state 319 + postdecrementexpression : postfixexpression DECREMENT . (228) + + . reduce 228 + + +state 320 + expressionstatement : statementexpression ';' . (193) + + . reduce 193 + + +state 321 + assignmentoperator : PLUSEQUAL . (223) + + . reduce 223 + + +state 322 + assignmentoperator : MINUSEQUAL . (224) + + . reduce 224 + + +state 323 + assignmentoperator : TIMESEQUAL . (220) + + . reduce 220 + + +state 324 + assignmentoperator : DIVIDEEQUAL . (221) + + . reduce 221 + + +state 325 + assignmentoperator : MODULOEQUAL . (222) + + . reduce 222 + + +state 326 + assignmentoperator : '=' . (219) + + . reduce 219 + + +state 327 + assignment : lefthandside assignmentoperator . assignmentexpression (200) + assignment : lefthandside assignmentoperator . classinstancecreationexpression (201) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 385 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 386 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 328 + formalparameter : type variabledeclaratorid . (156) + + . reduce 156 + + +state 329 + formalparameterlist : formalparameterlist ',' . formalparameter (143) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 199 + . error + + variabledeclaratorid goto 240 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 241 + formalparameter goto 387 + + +state 330 + methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (149) + + . reduce 149 + + +state 331 + boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (111) + + . reduce 111 + + +state 332 + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (124) + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (126) + + IDENTIFIER shift 141 + . error + + methoddeclarator goto 388 + + +state 333 + methodheader : '<' boundedMethodParameters '>' methoddeclarator . (129) + + . reduce 129 + + +state 334 + fielddeclaration : '<' boundedMethodParameters '>' type . fielddeclarator (89) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (112) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (117) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + IDENTIFIER shift 88 + . error + + methoddeclarator goto 389 + fielddeclarator goto 390 + variabledeclarator goto 391 + variabledeclaratorid goto 101 + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 161 + + +state 335 + classtypelist : classtypelist ',' . classtype (147) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classtype goto 392 + classorinterfacetype goto 83 + + +state 336 + classinstancecreationexpression : NEW classtype . '(' ')' (233) + classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (234) + + '(' shift 393 + . error + + +state 337 + type : primitivetype . (133) + type : primitivetype . '[' ']' (134) + castexpression : '(' primitivetype . ')' unaryexpression (266) + + ')' shift 394 + '[' shift 45 + IDENTIFIER reduce 133 + + +state 338 + unaryexpression : '+' unaryexpression . (239) + + . reduce 239 + + +state 339 + unaryexpression : '-' unaryexpression . (240) + + . reduce 240 + + +state 340 + unaryexpressionnotplusminus : '!' unaryexpression . (254) + + . reduce 254 + + +state 341 + multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (283) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 395 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 342 + multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (284) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 396 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 343 + multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (285) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 397 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 344 + additiveexpression : additiveexpression '+' . multiplicativeexpression (280) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 398 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 345 + additiveexpression : additiveexpression '-' . multiplicativeexpression (281) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 399 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 346 + relationalexpression : relationalexpression INSTANCEOF . referencetype (277) + + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + referencetype goto 400 + + +state 347 + relationalexpression : relationalexpression LESSEQUAL . shiftexpression (275) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 401 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 348 + relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (276) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 402 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 349 + relationalexpression : relationalexpression '<' . shiftexpression (273) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 403 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 350 + relationalexpression : relationalexpression '>' . shiftexpression (274) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 404 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 351 + equalityexpression : equalityexpression EQUAL . relationalexpression (270) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 405 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 352 + equalityexpression : equalityexpression NOTEQUAL . relationalexpression (271) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 406 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 353 + andexpression : andexpression '&' . equalityexpression (268) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 407 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 354 + exclusiveorexpression : exclusiveorexpression '^' . andexpression (257) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 408 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 355 + inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (248) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 409 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 356 + conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (236) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 410 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 357 + conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (211) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 411 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 358 + constructordeclarator : simplename '(' formalparameterlist ')' . (97) + + . reduce 97 + + +state 359 + fielddeclarator : type variabledeclarator '=' expression . (85) + fielddeclarator : variabledeclarator '=' expression . (86) + + ABSTRACT reduce 86 + BOOLEAN reduce 86 + CHAR reduce 86 + FINAL reduce 86 + INT reduce 86 + PRIVATE reduce 86 + PROTECTED reduce 86 + PUBLIC reduce 86 + STATIC reduce 86 + VOID reduce 86 + IDENTIFIER reduce 86 + ';' reduce 85 + '<' reduce 86 + '}' reduce 86 + + +state 360 + fielddeclarator : type variabledeclarator '=' . expression (85) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 412 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 361 + methodheader : modifiers VOID methoddeclarator throws . (123) + + . reduce 123 + + +state 362 + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (115) + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (119) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (125) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (127) + + BOOLEAN shift 2 + CHAR shift 3 + INT shift 6 + VOID shift 413 + IDENTIFIER shift 14 + . error + + simplename goto 18 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 414 + + +state 363 + methodheader : modifiers type methoddeclarator throws . (118) + + . reduce 118 + + +state 364 + fielddeclaration : modifiers type variabledeclarators ';' . (92) + + . reduce 92 + + +state 365 + explicitconstructorinvocation : THIS '(' . ')' ';' (144) + explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (145) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 415 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 379 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + argumentlist goto 416 + methodinvocation goto 277 + castexpression goto 278 + + +state 366 + constructorbody : '{' blockstatements '}' . (100) + + . reduce 100 + + +state 367 + constructorbody : '{' explicitconstructorinvocation '}' . (99) + + . reduce 99 + + +state 368 + constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (101) + blockstatements : blockstatements . blockstatement (141) + + BOOLEAN shift 2 + CHAR shift 3 + FOR shift 186 + IF shift 187 + INT shift 6 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 199 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '}' shift 417 + '(' shift 204 + . error + + variabledeclarators goto 205 + variabledeclarator goto 206 + variabledeclaratorid goto 101 + simplename goto 207 + qualifiedname goto 35 + name goto 208 + classorinterfacetype goto 21 + integraltype goto 22 + numerictype goto 23 + primitivetype goto 24 + referencetype goto 25 + type goto 209 + block goto 210 + localvariabledeclarationstatement goto 212 + localvariabledeclaration goto 213 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + blockstatement goto 313 + statement goto 228 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 369 + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (112) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (117) + + IDENTIFIER shift 141 + . error + + methoddeclarator goto 389 + + +state 370 + constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (83) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 418 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 371 + boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (109) + + . reduce 109 + + +state 372 + forstatement : FOR '(' ';' . expression ';' expression ')' statement (185) + forstatement : FOR '(' ';' . expression ';' ')' statement (187) + forstatement : FOR '(' ';' . ';' expression ')' statement (188) + forstatement : FOR '(' ';' . ';' ')' statement (189) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 419 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 420 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 373 + forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (182) + forstatement : FOR '(' expression . ';' expression ';' ')' statement (183) + forstatement : FOR '(' expression . ';' ';' expression ')' statement (184) + forstatement : FOR '(' expression . ';' ';' ')' statement (186) + + ';' shift 421 + . error + + +state 374 + ifthenstatement : IF '(' expression . ')' statement (179) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (180) + + ')' shift 422 + . error + + +state 375 + returnstatement : RETURN expression ';' . (195) + + . reduce 195 + + +state 376 + whilestatement : WHILE '(' expression . ')' statement (181) + + ')' shift 423 + . error + + +state 377 + lambdaexpressionparameter : '(' formalparameterlist ')' . (216) + + . reduce 216 + + +state 378 + methodinvocation : name '(' ')' . (229) + + . reduce 229 + + +state 379 + argumentlist : expression . (158) + + . reduce 158 + + +state 380 + argumentlist : argumentlist . ',' expression (159) + methodinvocation : name '(' argumentlist . ')' (230) + + ',' shift 424 + ')' shift 425 + . error + + +state 381 + lambdabody : block . (213) + + . reduce 213 + + +state 382 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (217) + + . reduce 217 + + +state 383 + lambdabody : expression . (214) + + . reduce 214 + + +state 384 + methodinvocation : primary '.' IDENTIFIER . '(' ')' (231) + methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (232) + + '(' shift 426 + . error + + +state 385 + assignment : lefthandside assignmentoperator assignmentexpression . (200) + + . reduce 200 + + +state 386 + assignment : lefthandside assignmentoperator classinstancecreationexpression . (201) + + . reduce 201 + + +state 387 + formalparameterlist : formalparameterlist ',' formalparameter . (143) + + . reduce 143 + + +state 388 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (124) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (126) + + THROWS shift 148 + ';' reduce 124 + '{' reduce 124 + + throws goto 427 + + +state 389 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (112) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (117) + + THROWS shift 148 + ';' reduce 112 + '{' reduce 112 + + throws goto 428 + + +state 390 + fielddeclaration : '<' boundedMethodParameters '>' type fielddeclarator . (89) + + . reduce 89 + + +state 391 + fielddeclarator : variabledeclarator . '=' expression (86) + + '=' shift 155 + . error + + +state 392 + classtypelist : classtypelist ',' classtype . (147) + + . reduce 147 + + +state 393 + classinstancecreationexpression : NEW classtype '(' . ')' (233) + classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (234) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 429 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 379 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + argumentlist goto 430 + methodinvocation goto 277 + castexpression goto 278 + + +state 394 + castexpression : '(' primitivetype ')' . unaryexpression (266) + + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 305 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 431 + lambdaexpression goto 219 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + methodinvocation goto 277 + castexpression goto 278 + + +state 395 + multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (283) + + . reduce 283 + + +state 396 + multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (284) + + . reduce 284 + + +state 397 + multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (285) + + . reduce 285 + + +398: shift/reduce conflict (shift 341, reduce 280) on '*' +398: shift/reduce conflict (shift 342, reduce 280) on '/' +398: shift/reduce conflict (shift 343, reduce 280) on '%' +state 398 + additiveexpression : additiveexpression '+' multiplicativeexpression . (280) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (283) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (284) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (285) + + '*' shift 341 + '/' shift 342 + '%' shift 343 + ABSTRACT reduce 280 + BOOLEAN reduce 280 + CHAR reduce 280 + FINAL reduce 280 + INSTANCEOF reduce 280 + INT reduce 280 + PRIVATE reduce 280 + PROTECTED reduce 280 + PUBLIC reduce 280 + STATIC reduce 280 + VOID reduce 280 + IDENTIFIER reduce 280 + EQUAL reduce 280 + LESSEQUAL reduce 280 + GREATEREQUAL reduce 280 + NOTEQUAL reduce 280 + LOGICALOR reduce 280 + LOGICALAND reduce 280 + INCREMENT reduce 280 + DECREMENT reduce 280 + ',' reduce 280 + ';' reduce 280 + '.' reduce 280 + '<' reduce 280 + '>' reduce 280 + '}' reduce 280 + ')' reduce 280 + '&' reduce 280 + '+' reduce 280 + '-' reduce 280 + '|' reduce 280 + '^' reduce 280 + + +399: shift/reduce conflict (shift 341, reduce 281) on '*' +399: shift/reduce conflict (shift 342, reduce 281) on '/' +399: shift/reduce conflict (shift 343, reduce 281) on '%' +state 399 + additiveexpression : additiveexpression '-' multiplicativeexpression . (281) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (283) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (284) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (285) + + '*' shift 341 + '/' shift 342 + '%' shift 343 + ABSTRACT reduce 281 + BOOLEAN reduce 281 + CHAR reduce 281 + FINAL reduce 281 + INSTANCEOF reduce 281 + INT reduce 281 + PRIVATE reduce 281 + PROTECTED reduce 281 + PUBLIC reduce 281 + STATIC reduce 281 + VOID reduce 281 + IDENTIFIER reduce 281 + EQUAL reduce 281 + LESSEQUAL reduce 281 + GREATEREQUAL reduce 281 + NOTEQUAL reduce 281 + LOGICALOR reduce 281 + LOGICALAND reduce 281 + INCREMENT reduce 281 + DECREMENT reduce 281 + ',' reduce 281 + ';' reduce 281 + '.' reduce 281 + '<' reduce 281 + '>' reduce 281 + '}' reduce 281 + ')' reduce 281 + '&' reduce 281 + '+' reduce 281 + '-' reduce 281 + '|' reduce 281 + '^' reduce 281 + + +state 400 + relationalexpression : relationalexpression INSTANCEOF referencetype . (277) + + . reduce 277 + + +state 401 + relationalexpression : relationalexpression LESSEQUAL shiftexpression . (275) + + . reduce 275 + + +state 402 + relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (276) + + . reduce 276 + + +state 403 + relationalexpression : relationalexpression '<' shiftexpression . (273) + + . reduce 273 + + +state 404 + relationalexpression : relationalexpression '>' shiftexpression . (274) + + . reduce 274 + + +405: shift/reduce conflict (shift 346, reduce 270) on INSTANCEOF +405: shift/reduce conflict (shift 347, reduce 270) on LESSEQUAL +405: shift/reduce conflict (shift 348, reduce 270) on GREATEREQUAL +405: shift/reduce conflict (shift 349, reduce 270) on '<' +405: shift/reduce conflict (shift 350, reduce 270) on '>' +state 405 + equalityexpression : equalityexpression EQUAL relationalexpression . (270) + relationalexpression : relationalexpression . '<' shiftexpression (273) + relationalexpression : relationalexpression . '>' shiftexpression (274) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (275) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (276) + relationalexpression : relationalexpression . INSTANCEOF referencetype (277) + + INSTANCEOF shift 346 + LESSEQUAL shift 347 + GREATEREQUAL shift 348 + '<' shift 349 + '>' shift 350 + ABSTRACT reduce 270 + BOOLEAN reduce 270 + CHAR reduce 270 + FINAL 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 + 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 + + +406: shift/reduce conflict (shift 346, reduce 271) on INSTANCEOF +406: shift/reduce conflict (shift 347, reduce 271) on LESSEQUAL +406: shift/reduce conflict (shift 348, reduce 271) on GREATEREQUAL +406: shift/reduce conflict (shift 349, reduce 271) on '<' +406: shift/reduce conflict (shift 350, reduce 271) on '>' state 406 + equalityexpression : equalityexpression NOTEQUAL relationalexpression . (271) + relationalexpression : relationalexpression . '<' shiftexpression (273) + relationalexpression : relationalexpression . '>' shiftexpression (274) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (275) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (276) + relationalexpression : relationalexpression . INSTANCEOF referencetype (277) + + INSTANCEOF shift 346 + LESSEQUAL shift 347 + GREATEREQUAL shift 348 + '<' shift 349 + '>' shift 350 + ABSTRACT reduce 271 + BOOLEAN reduce 271 + CHAR reduce 271 + FINAL reduce 271 + INT reduce 271 + PRIVATE reduce 271 + PROTECTED reduce 271 + PUBLIC reduce 271 + STATIC reduce 271 + VOID reduce 271 + IDENTIFIER reduce 271 + EQUAL reduce 271 + NOTEQUAL reduce 271 + LOGICALOR reduce 271 + LOGICALAND reduce 271 + INCREMENT reduce 271 + DECREMENT reduce 271 + ',' reduce 271 + ';' reduce 271 + '.' reduce 271 + '*' reduce 271 + '}' reduce 271 + ')' reduce 271 + '&' reduce 271 + '+' reduce 271 + '-' reduce 271 + '|' reduce 271 + '^' reduce 271 + '/' reduce 271 + '%' reduce 271 + + +407: shift/reduce conflict (shift 351, reduce 268) on EQUAL +407: shift/reduce conflict (shift 352, reduce 268) on NOTEQUAL +state 407 + andexpression : andexpression '&' equalityexpression . (268) + equalityexpression : equalityexpression . EQUAL relationalexpression (270) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (271) + + EQUAL shift 351 + NOTEQUAL shift 352 + ABSTRACT reduce 268 + BOOLEAN reduce 268 + CHAR reduce 268 + FINAL reduce 268 + INSTANCEOF reduce 268 + INT reduce 268 + PRIVATE reduce 268 + PROTECTED reduce 268 + PUBLIC reduce 268 + STATIC reduce 268 + VOID reduce 268 + IDENTIFIER reduce 268 + LESSEQUAL reduce 268 + GREATEREQUAL reduce 268 + LOGICALOR reduce 268 + LOGICALAND reduce 268 + INCREMENT reduce 268 + DECREMENT reduce 268 + ',' reduce 268 + ';' reduce 268 + '.' reduce 268 + '*' reduce 268 + '<' reduce 268 + '>' reduce 268 + '}' reduce 268 + ')' reduce 268 + '&' reduce 268 + '+' reduce 268 + '-' reduce 268 + '|' reduce 268 + '^' reduce 268 + '/' reduce 268 + '%' reduce 268 + + +408: shift/reduce conflict (shift 353, reduce 257) on '&' +state 408 + exclusiveorexpression : exclusiveorexpression '^' andexpression . (257) + andexpression : andexpression . '&' equalityexpression (268) + + '&' shift 353 + ABSTRACT reduce 257 + BOOLEAN reduce 257 + CHAR reduce 257 + FINAL reduce 257 + INSTANCEOF reduce 257 + INT reduce 257 + PRIVATE reduce 257 + PROTECTED reduce 257 + PUBLIC reduce 257 + STATIC reduce 257 + VOID reduce 257 + IDENTIFIER reduce 257 + EQUAL reduce 257 + LESSEQUAL reduce 257 + GREATEREQUAL reduce 257 + NOTEQUAL reduce 257 + LOGICALOR reduce 257 + LOGICALAND reduce 257 + INCREMENT reduce 257 + DECREMENT reduce 257 + ',' reduce 257 + ';' reduce 257 + '.' reduce 257 + '*' reduce 257 + '<' reduce 257 + '>' reduce 257 + '}' reduce 257 + ')' reduce 257 + '+' reduce 257 + '-' reduce 257 + '|' reduce 257 + '^' reduce 257 + '/' reduce 257 + '%' reduce 257 + + +409: shift/reduce conflict (shift 354, reduce 248) on '^' +state 409 + inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (248) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (257) + + '^' shift 354 + ABSTRACT reduce 248 + BOOLEAN reduce 248 + CHAR reduce 248 + FINAL reduce 248 + INSTANCEOF reduce 248 + INT reduce 248 + PRIVATE reduce 248 + PROTECTED reduce 248 + PUBLIC reduce 248 + STATIC reduce 248 + VOID reduce 248 + IDENTIFIER reduce 248 + EQUAL reduce 248 + LESSEQUAL reduce 248 + GREATEREQUAL reduce 248 + NOTEQUAL reduce 248 + LOGICALOR reduce 248 + LOGICALAND reduce 248 + INCREMENT reduce 248 + DECREMENT reduce 248 + ',' reduce 248 + ';' reduce 248 + '.' reduce 248 + '*' reduce 248 + '<' reduce 248 + '>' reduce 248 + '}' reduce 248 + ')' reduce 248 + '&' reduce 248 + '+' reduce 248 + '-' reduce 248 + '|' reduce 248 + '/' reduce 248 + '%' reduce 248 + + +410: shift/reduce conflict (shift 355, reduce 236) on '|' +state 410 + conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (236) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (248) + + '|' shift 355 + ABSTRACT reduce 236 + BOOLEAN reduce 236 + CHAR reduce 236 + FINAL reduce 236 + INSTANCEOF reduce 236 + INT reduce 236 + PRIVATE reduce 236 + PROTECTED reduce 236 + PUBLIC reduce 236 + STATIC reduce 236 + VOID reduce 236 + IDENTIFIER reduce 236 + EQUAL reduce 236 + LESSEQUAL reduce 236 + GREATEREQUAL reduce 236 + NOTEQUAL reduce 236 + LOGICALOR reduce 236 + LOGICALAND reduce 236 + INCREMENT reduce 236 + DECREMENT reduce 236 + ',' reduce 236 + ';' reduce 236 + '.' reduce 236 + '*' reduce 236 + '<' reduce 236 + '>' reduce 236 + '}' reduce 236 + ')' reduce 236 + '&' reduce 236 + '+' reduce 236 + '-' reduce 236 + '^' reduce 236 + '/' reduce 236 + '%' reduce 236 + + +411: shift/reduce conflict (shift 356, reduce 211) on LOGICALAND +state 411 + conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (211) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (236) + + LOGICALAND shift 356 + ABSTRACT reduce 211 + BOOLEAN reduce 211 + CHAR reduce 211 + FINAL reduce 211 + INSTANCEOF reduce 211 + INT reduce 211 + PRIVATE reduce 211 + PROTECTED reduce 211 + PUBLIC reduce 211 + STATIC reduce 211 + VOID reduce 211 + IDENTIFIER reduce 211 + EQUAL reduce 211 + LESSEQUAL reduce 211 + GREATEREQUAL reduce 211 + NOTEQUAL reduce 211 + LOGICALOR reduce 211 + INCREMENT reduce 211 + DECREMENT reduce 211 + ',' reduce 211 + ';' reduce 211 + '.' reduce 211 + '*' reduce 211 + '<' reduce 211 + '>' reduce 211 + '}' reduce 211 + ')' reduce 211 + '&' reduce 211 + '+' reduce 211 + '-' reduce 211 + '|' reduce 211 + '^' reduce 211 + '/' reduce 211 + '%' reduce 211 + + +state 412 fielddeclarator : type variabledeclarator '=' expression . (85) . reduce 85 -state 407 - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (124) - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (126) - - IDENTIFIER shift 140 - . error - - methoddeclarator goto 426 - - -state 408 - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (114) - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (118) - - IDENTIFIER shift 140 - . error - - methoddeclarator goto 427 - - -state 409 - explicitconstructorinvocation : THIS '(' ')' . ';' (143) - - ';' shift 428 - . error - - -state 410 - explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (144) - argumentlist : argumentlist . ',' expression (158) - - ',' shift 418 - ')' shift 429 - . error - - -state 411 - constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (100) - - . reduce 100 - - -state 412 - constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (83) - - ';' shift 430 - . error - - state 413 - forstatement : FOR '(' ';' ';' . expression ')' statement (187) - forstatement : FOR '(' ';' ';' . ')' statement (188) + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (125) + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (127) - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 431 - '+' shift 250 - '-' shift 251 - '!' shift 252 + IDENTIFIER shift 141 . error - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 432 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 + methoddeclarator goto 432 state 414 - forstatement : FOR '(' ';' expression . ';' expression ')' statement (184) - forstatement : FOR '(' ';' expression . ';' ')' statement (186) + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (115) + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (119) - ';' shift 433 + IDENTIFIER shift 141 . error + methoddeclarator goto 433 + state 415 - forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (181) - forstatement : FOR '(' expression ';' . expression ';' ')' statement (182) - forstatement : FOR '(' expression ';' . ';' expression ')' statement (183) - forstatement : FOR '(' expression ';' . ';' ')' statement (185) + explicitconstructorinvocation : THIS '(' ')' . ';' (144) - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 ';' shift 434 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 . error - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 435 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - state 416 - ifthenstatement : IF '(' expression ')' . statement (178) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (179) + explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (145) + argumentlist : argumentlist . ',' expression (159) - FOR shift 184 - IF shift 436 - RETURN shift 186 - THIS shift 187 - WHILE shift 437 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 + ',' shift 424 + ')' shift 435 . error - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 438 - statement goto 439 - statementnoshortif goto 440 - whilestatement goto 227 - forstatement goto 228 - whilestatementnoshortif goto 441 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - ifthenelsestatementnoshortif goto 442 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - state 417 - whilestatement : WHILE '(' expression ')' . statement (180) + constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (101) - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 443 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 + . reduce 101 state 418 - argumentlist : argumentlist ',' . expression (158) + constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (83) - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 + ';' shift 436 . error - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 444 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - state 419 - methodinvocation : name '(' argumentlist ')' . (229) + forstatement : FOR '(' ';' ';' . expression ')' statement (188) + forstatement : FOR '(' ';' ';' . ')' statement (189) - . reduce 229 - - -state 420 - methodinvocation : primary '.' IDENTIFIER '(' . ')' (230) - methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (231) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 445 - '+' shift 250 - '-' shift 251 - '!' shift 252 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 437 + '+' shift 252 + '-' shift 253 + '!' shift 254 . error simplename goto 34 qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 375 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - argumentlist goto 446 - methodinvocation goto 275 - castexpression goto 276 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 438 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 420 + forstatement : FOR '(' ';' expression . ';' expression ')' statement (185) + forstatement : FOR '(' ';' expression . ';' ')' statement (187) + + ';' shift 439 + . error state 421 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (125) + forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (182) + forstatement : FOR '(' expression ';' . expression ';' ')' statement (183) + forstatement : FOR '(' expression ';' . ';' expression ')' statement (184) + forstatement : FOR '(' expression ';' . ';' ')' statement (186) - . reduce 125 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 440 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 441 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 state 422 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (116) + ifthenstatement : IF '(' expression ')' . statement (179) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (180) - . reduce 116 + FOR shift 186 + IF shift 442 + RETURN shift 188 + THIS shift 189 + WHILE shift 443 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 444 + statement goto 445 + statementnoshortif goto 446 + whilestatement goto 229 + forstatement goto 230 + whilestatementnoshortif goto 447 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + ifthenelsestatementnoshortif goto 448 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 state 423 - classinstancecreationexpression : NEW classtype '(' ')' . (232) + whilestatement : WHILE '(' expression ')' . statement (181) - . reduce 232 + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 449 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 state 424 - argumentlist : argumentlist . ',' expression (158) - classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (233) + argumentlist : argumentlist ',' . expression (159) - ',' shift 418 - ')' shift 447 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 . error + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 450 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + state 425 - castexpression : '(' primitivetype ')' unaryexpression . (265) + methodinvocation : name '(' argumentlist ')' . (230) - . reduce 265 + . reduce 230 state 426 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (124) - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (126) + methodinvocation : primary '.' IDENTIFIER '(' . ')' (231) + methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (232) - THROWS shift 147 - ';' reduce 124 - '{' reduce 124 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 451 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error - throws goto 448 + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 379 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + argumentlist goto 452 + methodinvocation goto 277 + castexpression goto 278 state 427 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (114) - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (118) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (126) - THROWS shift 147 - ';' reduce 114 - '{' reduce 114 - - throws goto 449 + . reduce 126 state 428 - explicitconstructorinvocation : THIS '(' ')' ';' . (143) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (117) - . reduce 143 + . reduce 117 state 429 - explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (144) + classinstancecreationexpression : NEW classtype '(' ')' . (233) - ';' shift 450 - . error + . reduce 233 state 430 + argumentlist : argumentlist . ',' expression (159) + classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (234) + + ',' shift 424 + ')' shift 453 + . error + + +state 431 + castexpression : '(' primitivetype ')' unaryexpression . (266) + + . reduce 266 + + +state 432 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (125) + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (127) + + THROWS shift 148 + ';' reduce 125 + '{' reduce 125 + + throws goto 454 + + +state 433 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (115) + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (119) + + THROWS shift 148 + ';' reduce 115 + '{' reduce 115 + + throws goto 455 + + +state 434 + explicitconstructorinvocation : THIS '(' ')' ';' . (144) + + . reduce 144 + + +state 435 + explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (145) + + ';' shift 456 + . error + + +state 436 constantdeclaration : modifiers type IDENTIFIER '=' expression ';' . (83) . reduce 83 -state 431 - forstatement : FOR '(' ';' ';' ')' . statement (188) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 451 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 432 - forstatement : FOR '(' ';' ';' expression . ')' statement (187) - - ')' shift 452 - . error - - -state 433 - forstatement : FOR '(' ';' expression ';' . expression ')' statement (184) - forstatement : FOR '(' ';' expression ';' . ')' statement (186) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 453 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 454 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 434 - forstatement : FOR '(' expression ';' ';' . expression ')' statement (183) - forstatement : FOR '(' expression ';' ';' . ')' statement (185) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 455 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 456 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 435 - forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (181) - forstatement : FOR '(' expression ';' expression . ';' ')' statement (182) - - ';' shift 457 - . error - - -state 436 - ifthenstatement : IF . '(' expression ')' statement (178) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (179) - ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (207) - - '(' shift 458 - . error - - state 437 - whilestatement : WHILE . '(' expression ')' statement (180) - whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (208) + forstatement : FOR '(' ';' ';' ')' . statement (189) - '(' shift 459 + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 . error + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 457 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + state 438 - statement : statementwithouttrailingsubstatement . (163) - statementnoshortif : statementwithouttrailingsubstatement . (195) + forstatement : FOR '(' ';' ';' expression . ')' statement (188) - BOOLEAN reduce 163 - CHAR reduce 163 - ELSE reduce 195 - FOR reduce 163 - IF reduce 163 - INT reduce 163 - RETURN reduce 163 - THIS reduce 163 - WHILE reduce 163 - INTLITERAL reduce 163 - LONGLITERAL reduce 163 - DOUBLELITERAL reduce 163 - FLOATLITERAL reduce 163 - BOOLLITERAL reduce 163 - JNULL reduce 163 - CHARLITERAL reduce 163 - STRINGLITERAL reduce 163 - IDENTIFIER reduce 163 - INCREMENT reduce 163 - DECREMENT reduce 163 - ';' reduce 163 - '{' reduce 163 - '}' reduce 163 - '(' reduce 163 + ')' shift 458 + . error state 439 - ifthenstatement : IF '(' expression ')' statement . (178) + forstatement : FOR '(' ';' expression ';' . expression ')' statement (185) + forstatement : FOR '(' ';' expression ';' . ')' statement (187) - . reduce 178 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 459 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 460 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 state 440 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (179) + forstatement : FOR '(' expression ';' ';' . expression ')' statement (184) + forstatement : FOR '(' expression ';' ';' . ')' statement (186) - ELSE shift 460 + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 461 + '+' shift 252 + '-' shift 253 + '!' shift 254 . error + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 462 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + state 441 - statementnoshortif : whilestatementnoshortif . (197) + forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (182) + forstatement : FOR '(' expression ';' expression . ';' ')' statement (183) - . reduce 197 + ';' shift 463 + . error state 442 - statementnoshortif : ifthenelsestatementnoshortif . (196) + ifthenstatement : IF . '(' expression ')' statement (179) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (180) + ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (208) - . reduce 196 + '(' shift 464 + . error state 443 - whilestatement : WHILE '(' expression ')' statement . (180) + whilestatement : WHILE . '(' expression ')' statement (181) + whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (209) - . reduce 180 + '(' shift 465 + . error state 444 - argumentlist : argumentlist ',' expression . (158) + statement : statementwithouttrailingsubstatement . (164) + statementnoshortif : statementwithouttrailingsubstatement . (196) - . reduce 158 + BOOLEAN reduce 164 + CHAR reduce 164 + ELSE reduce 196 + FOR reduce 164 + IF reduce 164 + INT reduce 164 + RETURN reduce 164 + THIS reduce 164 + WHILE reduce 164 + INTLITERAL reduce 164 + LONGLITERAL reduce 164 + DOUBLELITERAL reduce 164 + FLOATLITERAL reduce 164 + BOOLLITERAL reduce 164 + JNULL reduce 164 + CHARLITERAL reduce 164 + STRINGLITERAL reduce 164 + IDENTIFIER reduce 164 + INCREMENT reduce 164 + DECREMENT reduce 164 + ';' reduce 164 + '{' reduce 164 + '}' reduce 164 + '(' reduce 164 state 445 - methodinvocation : primary '.' IDENTIFIER '(' ')' . (230) - - . reduce 230 - - -state 446 - argumentlist : argumentlist . ',' expression (158) - methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (231) - - ',' shift 418 - ')' shift 461 - . error - - -state 447 - classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (233) - - . reduce 233 - - -state 448 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (126) - - . reduce 126 - - -state 449 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (118) - - . reduce 118 - - -state 450 - explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (144) - - . reduce 144 - - -state 451 - forstatement : FOR '(' ';' ';' ')' statement . (188) - - . reduce 188 - - -state 452 - forstatement : FOR '(' ';' ';' expression ')' . statement (187) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 462 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 453 - forstatement : FOR '(' ';' expression ';' ')' . statement (186) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 463 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 454 - forstatement : FOR '(' ';' expression ';' expression . ')' statement (184) - - ')' shift 464 - . error - - -state 455 - forstatement : FOR '(' expression ';' ';' ')' . statement (185) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 465 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 456 - forstatement : FOR '(' expression ';' ';' expression . ')' statement (183) - - ')' shift 466 - . error - - -state 457 - forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (181) - forstatement : FOR '(' expression ';' expression ';' . ')' statement (182) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - ')' shift 467 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 468 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 458 - ifthenstatement : IF '(' . expression ')' statement (178) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (179) - ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (207) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 469 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 459 - whilestatement : WHILE '(' . expression ')' statement (180) - whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (208) - - NEW shift 248 - THIS shift 187 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - '(' shift 249 - '+' shift 250 - '-' shift 251 - '!' shift 252 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 253 - unaryexpressionnotplusminus goto 254 - unaryexpression goto 255 - multiplicativeexpression goto 256 - additiveexpression goto 257 - shiftexpression goto 258 - relationalexpression goto 259 - equalityexpression goto 260 - andexpression goto 261 - exclusiveorexpression goto 262 - inclusiveorexpression goto 263 - conditionalandexpression goto 264 - conditionalorexpression goto 265 - conditionalexpression goto 266 - assignmentexpression goto 267 - lambdaexpression goto 217 - expression goto 470 - preincrementexpression goto 269 - predecrementexpression goto 270 - postincrementexpression goto 271 - postdecrementexpression goto 272 - classinstancecreationexpression goto 273 - assignment goto 274 - lefthandside goto 234 - methodinvocation goto 275 - castexpression goto 276 - - -state 460 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (179) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 471 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 461 - methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (231) - - . reduce 231 - - -state 462 - forstatement : FOR '(' ';' ';' expression ')' statement . (187) - - . reduce 187 - - -state 463 - forstatement : FOR '(' ';' expression ';' ')' statement . (186) - - . reduce 186 - - -state 464 - forstatement : FOR '(' ';' expression ';' expression ')' . statement (184) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 472 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 465 - forstatement : FOR '(' expression ';' ';' ')' statement . (185) - - . reduce 185 - - -state 466 - forstatement : FOR '(' expression ';' ';' expression ')' . statement (183) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 473 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 467 - forstatement : FOR '(' expression ';' expression ';' ')' . statement (182) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 474 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 468 - forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (181) - - ')' shift 475 - . error - - -state 469 - ifthenstatement : IF '(' expression . ')' statement (178) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (179) - ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (207) - - ')' shift 476 - . error - - -state 470 - whilestatement : WHILE '(' expression . ')' statement (180) - whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (208) - - ')' shift 477 - . error - - -state 471 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (179) + ifthenstatement : IF '(' expression ')' statement . (179) . reduce 179 -state 472 - forstatement : FOR '(' ';' expression ';' expression ')' statement . (184) +state 446 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (180) - . reduce 184 - - -state 473 - forstatement : FOR '(' expression ';' ';' expression ')' statement . (183) - - . reduce 183 - - -state 474 - forstatement : FOR '(' expression ';' expression ';' ')' statement . (182) - - . reduce 182 - - -state 475 - forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (181) - - FOR shift 184 - IF shift 185 - RETURN shift 186 - THIS shift 187 - WHILE shift 188 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 + ELSE shift 466 . error - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 224 - statement goto 478 - whilestatement goto 227 - forstatement goto 228 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 + +state 447 + statementnoshortif : whilestatementnoshortif . (198) + + . reduce 198 -state 476 - ifthenstatement : IF '(' expression ')' . statement (178) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (179) - ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (207) +state 448 + statementnoshortif : ifthenelsestatementnoshortif . (197) - FOR shift 184 - IF shift 436 - RETURN shift 186 - THIS shift 187 - WHILE shift 437 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 438 - statement goto 439 - statementnoshortif goto 479 - whilestatement goto 227 - forstatement goto 228 - whilestatementnoshortif goto 441 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - ifthenelsestatementnoshortif goto 442 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 + . reduce 197 -state 477 - whilestatement : WHILE '(' expression ')' . statement (180) - whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (208) - - FOR shift 184 - IF shift 436 - RETURN shift 186 - THIS shift 187 - WHILE shift 437 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 - IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 - . error - - simplename goto 34 - qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 438 - statement goto 443 - statementnoshortif goto 480 - whilestatement goto 227 - forstatement goto 228 - whilestatementnoshortif goto 441 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - ifthenelsestatementnoshortif goto 442 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 - - -state 478 - forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (181) +state 449 + whilestatement : WHILE '(' expression ')' statement . (181) . reduce 181 -state 479 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (179) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (207) +state 450 + argumentlist : argumentlist ',' expression . (159) - ELSE shift 481 + . reduce 159 + + +state 451 + methodinvocation : primary '.' IDENTIFIER '(' ')' . (231) + + . reduce 231 + + +state 452 + argumentlist : argumentlist . ',' expression (159) + methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (232) + + ',' shift 424 + ')' shift 467 . error -state 480 - whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (208) +state 453 + classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (234) - . reduce 208 + . reduce 234 -state 481 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (179) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (207) +state 454 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (127) - FOR shift 184 - IF shift 436 - RETURN shift 186 - THIS shift 187 - WHILE shift 437 - INTLITERAL shift 189 - LONGLITERAL shift 190 - DOUBLELITERAL shift 191 - FLOATLITERAL shift 192 - BOOLLITERAL shift 193 - JNULL shift 194 - CHARLITERAL shift 195 - STRINGLITERAL shift 196 + . reduce 127 + + +state 455 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (119) + + . reduce 119 + + +state 456 + explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (145) + + . reduce 145 + + +state 457 + forstatement : FOR '(' ';' ';' ')' statement . (189) + + . reduce 189 + + +state 458 + forstatement : FOR '(' ';' ';' expression ')' . statement (188) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 IDENTIFIER shift 14 - INCREMENT shift 198 - DECREMENT shift 199 - ';' shift 200 - '{' shift 138 - '(' shift 202 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 . error simplename goto 34 qualifiedname goto 35 - name goto 206 - block goto 208 - lambdaexpressionparameter goto 212 - literal goto 213 - primarynonewarray goto 214 - primary goto 215 - postfixexpression goto 216 - lambdaexpression goto 217 - statementexpression goto 218 - preincrementexpression goto 219 - predecrementexpression goto 220 - postincrementexpression goto 221 - postdecrementexpression goto 222 - expressionstatement goto 223 - statementwithouttrailingsubstatement goto 438 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 468 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 459 + forstatement : FOR '(' ';' expression ';' ')' . statement (187) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 469 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 460 + forstatement : FOR '(' ';' expression ';' expression . ')' statement (185) + + ')' shift 470 + . error + + +state 461 + forstatement : FOR '(' expression ';' ';' ')' . statement (186) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 statement goto 471 - statementnoshortif goto 482 - whilestatement goto 227 - forstatement goto 228 - whilestatementnoshortif goto 441 - ifthenstatement goto 229 - ifthenelsestatement goto 230 - ifthenelsestatementnoshortif goto 442 - emptystatement goto 231 - returnstatement goto 232 - assignment goto 233 - lefthandside goto 234 - methodinvocation goto 235 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 462 + forstatement : FOR '(' expression ';' ';' expression . ')' statement (184) + + ')' shift 472 + . error + + +state 463 + forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (182) + forstatement : FOR '(' expression ';' expression ';' . ')' statement (183) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + ')' shift 473 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 474 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 464 + ifthenstatement : IF '(' . expression ')' statement (179) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (180) + ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (208) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 475 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 465 + whilestatement : WHILE '(' . expression ')' statement (181) + whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (209) + + NEW shift 250 + THIS shift 189 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + '(' shift 251 + '+' shift 252 + '-' shift 253 + '!' shift 254 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 255 + unaryexpressionnotplusminus goto 256 + unaryexpression goto 257 + multiplicativeexpression goto 258 + additiveexpression goto 259 + shiftexpression goto 260 + relationalexpression goto 261 + equalityexpression goto 262 + andexpression goto 263 + exclusiveorexpression goto 264 + inclusiveorexpression goto 265 + conditionalandexpression goto 266 + conditionalorexpression goto 267 + conditionalexpression goto 268 + assignmentexpression goto 269 + lambdaexpression goto 219 + expression goto 476 + preincrementexpression goto 271 + predecrementexpression goto 272 + postincrementexpression goto 273 + postdecrementexpression goto 274 + classinstancecreationexpression goto 275 + assignment goto 276 + lefthandside goto 236 + methodinvocation goto 277 + castexpression goto 278 + + +state 466 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (180) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 477 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 467 + methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (232) + + . reduce 232 + + +state 468 + forstatement : FOR '(' ';' ';' expression ')' statement . (188) + + . reduce 188 + + +state 469 + forstatement : FOR '(' ';' expression ';' ')' statement . (187) + + . reduce 187 + + +state 470 + forstatement : FOR '(' ';' expression ';' expression ')' . statement (185) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 478 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 471 + forstatement : FOR '(' expression ';' ';' ')' statement . (186) + + . reduce 186 + + +state 472 + forstatement : FOR '(' expression ';' ';' expression ')' . statement (184) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 479 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 473 + forstatement : FOR '(' expression ';' expression ';' ')' . statement (183) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 480 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 474 + forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (182) + + ')' shift 481 + . error + + +state 475 + ifthenstatement : IF '(' expression . ')' statement (179) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (180) + ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (208) + + ')' shift 482 + . error + + +state 476 + whilestatement : WHILE '(' expression . ')' statement (181) + whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (209) + + ')' shift 483 + . error + + +state 477 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (180) + + . reduce 180 + + +state 478 + forstatement : FOR '(' ';' expression ';' expression ')' statement . (185) + + . reduce 185 + + +state 479 + forstatement : FOR '(' expression ';' ';' expression ')' statement . (184) + + . reduce 184 + + +state 480 + forstatement : FOR '(' expression ';' expression ';' ')' statement . (183) + + . reduce 183 + + +state 481 + forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (182) + + FOR shift 186 + IF shift 187 + RETURN shift 188 + THIS shift 189 + WHILE shift 190 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 226 + statement goto 484 + whilestatement goto 229 + forstatement goto 230 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 state 482 - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (207) + ifthenstatement : IF '(' expression ')' . statement (179) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (180) + ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (208) - . reduce 207 + FOR shift 186 + IF shift 442 + RETURN shift 188 + THIS shift 189 + WHILE shift 443 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 444 + statement goto 445 + statementnoshortif goto 485 + whilestatement goto 229 + forstatement goto 230 + whilestatementnoshortif goto 447 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + ifthenelsestatementnoshortif goto 448 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 483 + whilestatement : WHILE '(' expression ')' . statement (181) + whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (209) + + FOR shift 186 + IF shift 442 + RETURN shift 188 + THIS shift 189 + WHILE shift 443 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 444 + statement goto 449 + statementnoshortif goto 486 + whilestatement goto 229 + forstatement goto 230 + whilestatementnoshortif goto 447 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + ifthenelsestatementnoshortif goto 448 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 484 + forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (182) + + . reduce 182 + + +state 485 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (180) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (208) + + ELSE shift 487 + . error + + +state 486 + whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (209) + + . reduce 209 + + +state 487 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (180) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (208) + + FOR shift 186 + IF shift 442 + RETURN shift 188 + THIS shift 189 + WHILE shift 443 + INTLITERAL shift 191 + LONGLITERAL shift 192 + DOUBLELITERAL shift 193 + FLOATLITERAL shift 194 + BOOLLITERAL shift 195 + JNULL shift 196 + CHARLITERAL shift 197 + STRINGLITERAL shift 198 + IDENTIFIER shift 14 + INCREMENT shift 200 + DECREMENT shift 201 + ';' shift 202 + '{' shift 139 + '(' shift 204 + . error + + simplename goto 34 + qualifiedname goto 35 + name goto 208 + block goto 210 + lambdaexpressionparameter goto 214 + literal goto 215 + primarynonewarray goto 216 + primary goto 217 + postfixexpression goto 218 + lambdaexpression goto 219 + statementexpression goto 220 + preincrementexpression goto 221 + predecrementexpression goto 222 + postincrementexpression goto 223 + postdecrementexpression goto 224 + expressionstatement goto 225 + statementwithouttrailingsubstatement goto 444 + statement goto 477 + statementnoshortif goto 488 + whilestatement goto 229 + forstatement goto 230 + whilestatementnoshortif goto 447 + ifthenstatement goto 231 + ifthenelsestatement goto 232 + ifthenelsestatementnoshortif goto 448 + emptystatement goto 233 + returnstatement goto 234 + assignment goto 235 + lefthandside goto 236 + methodinvocation goto 237 + + +state 488 + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (208) + + . reduce 208 Rules never reduced: @@ -8519,35 +8614,35 @@ Rules never reduced: wildcardparameter : '?' (42) wildcardparameter : '?' EXTENDS referencetype (43) wildcardparameter : '?' SUPER referencetype (44) - variableinitializer : expression (161) + variableinitializer : expression (162) State 18 contains 1 shift/reduce conflict. State 88 contains 1 shift/reduce conflict. State 117 contains 1 shift/reduce conflict. -State 206 contains 1 shift/reduce conflict. -State 215 contains 1 shift/reduce conflict. -State 253 contains 2 shift/reduce conflicts. -State 256 contains 3 shift/reduce conflicts. -State 257 contains 2 shift/reduce conflicts. -State 259 contains 5 shift/reduce conflicts. -State 260 contains 2 shift/reduce conflicts. -State 261 contains 1 shift/reduce conflict. -State 262 contains 1 shift/reduce conflict. +State 208 contains 1 shift/reduce conflict. +State 217 contains 1 shift/reduce conflict. +State 255 contains 2 shift/reduce conflicts. +State 258 contains 3 shift/reduce conflicts. +State 259 contains 2 shift/reduce conflicts. +State 261 contains 5 shift/reduce conflicts. +State 262 contains 2 shift/reduce conflicts. State 263 contains 1 shift/reduce conflict. State 264 contains 1 shift/reduce conflict. State 265 contains 1 shift/reduce conflict. -State 302 contains 1 shift/reduce conflict. -State 392 contains 3 shift/reduce conflicts. -State 393 contains 3 shift/reduce conflicts. -State 399 contains 5 shift/reduce conflicts. -State 400 contains 5 shift/reduce conflicts. -State 401 contains 2 shift/reduce conflicts. -State 402 contains 1 shift/reduce conflict. -State 403 contains 1 shift/reduce conflict. -State 404 contains 1 shift/reduce conflict. -State 405 contains 1 shift/reduce conflict. +State 266 contains 1 shift/reduce conflict. +State 267 contains 1 shift/reduce conflict. +State 305 contains 1 shift/reduce conflict. +State 398 contains 3 shift/reduce conflicts. +State 399 contains 3 shift/reduce conflicts. +State 405 contains 5 shift/reduce conflicts. +State 406 contains 5 shift/reduce conflicts. +State 407 contains 2 shift/reduce conflicts. +State 408 contains 1 shift/reduce conflict. +State 409 contains 1 shift/reduce conflict. +State 410 contains 1 shift/reduce conflict. +State 411 contains 1 shift/reduce conflict. 97 terminals, 117 nonterminals -285 grammar rules, 483 states +286 grammar rules, 489 states