From 9784a10f84031e550241b41de0c490c98f64073f Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Thu, 27 Mar 2014 16:43:07 +0100 Subject: [PATCH] =?UTF-8?q?Fehler=20beseitigt.=20wandleRefType2GenericVari?= =?UTF-8?q?ables=20=C3=BCberarbeitet.=20getChildren()-Methode=20f=C3=BCr?= =?UTF-8?q?=20alle=20Statements=20implementiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/mycompiler/myparser/JavaParser.jay | 26 +- src/mycompiler/myclass/Class.java | 20 +- src/mycompiler/myclass/Constructor.java | 58 + .../myclass/Constructor_Backup.java | 79 - src/mycompiler/myclass/Field.java | 9 + src/mycompiler/myclass/FieldDeclaration.java | 7 +- src/mycompiler/myclass/Method.java | 6 +- src/mycompiler/myparser/JavaParser.java | 2959 ++-- src/mycompiler/myparser/JavaParser.jay | 26 +- src/mycompiler/mystatement/CastExpr.java | 11 + src/mycompiler/mystatement/EmptyStmt.java | 5 + src/mycompiler/mystatement/InstVar.java | 9 + src/mycompiler/mystatement/InstanceOf.java | 9 + .../mystatement/LambdaExpression.java | 25 +- src/mycompiler/mystatement/LocalVarDecl.java | 8 + src/mycompiler/mystatement/MethodCall.java | 2 +- src/mycompiler/mystatement/NegativeExpr.java | 11 +- src/mycompiler/mystatement/NewArray.java | 9 + src/mycompiler/mystatement/NotExpr.java | 9 + src/mycompiler/mystatement/PositivExpr.java | 9 + src/mycompiler/mystatement/PostDecExpr.java | 9 + src/mycompiler/mystatement/PostIncExpr.java | 9 + src/mycompiler/mystatement/PreDecExpr.java | 10 +- src/mycompiler/mystatement/PreIncExpr.java | 9 + src/typinferenz/FunN.java | 3 +- .../assumptions/TypeAssumptions.java | 12 +- .../test/lambda/testResults/LambdaTest.log | 26 +- .../TypeInsertTests/LambdaTest4.jav | 5 + .../TypeInsertTests/LambdaTest4.java | 18 + tools/y.output | 12285 ++++++++-------- 30 files changed, 7905 insertions(+), 7778 deletions(-) delete mode 100755 src/mycompiler/myclass/Constructor_Backup.java create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest4.jav create mode 100644 test/plugindevelopment/TypeInsertTests/LambdaTest4.java diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index ad207fae2..69dc34481 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -313,7 +313,8 @@ public Vector testPair = new Vector(); %type explicitconstructorinvocation %type staticinitializer %type castexpression -%type paralist parameter +%type paralist +%type typelist parameter %type wildcardparameter %left ',' %% @@ -785,21 +786,34 @@ classbodydeclaration : classmemberdeclaration classorinterfacetype : simplename parameter { if ($2 != null) { - $1.set_ParaList($2.get_ParaList()); - + //$1.set_ParaList($2.get_ParaList()); + $1.set_ParaList($2);//Änderung von Andreas Stadelmeier. Type statt GenericVarType /* otth: originale (also diese) Parameterliste retten */ - ((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() ); + //((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() ); } $$=$1; } +typelist : type + { + Vector tl = new Vector(); + tl.add($1); + $$ = tl; + } + | typelist ',' type + { + $1.add($3); + $$=$1; + } + /* PL 05-07-28 erg�nzt, weil jeder classorinterfacetype auch parametrisiert sein kann */ +//TODO: Das hier ist möglicherweise falsch. Ein Typ hat keine parameterliste, nur eine Liste von RefTypes parameter : { $$ = null; } - | '<'paralist'>' + | '<'typelist'>'//'<'paralist'>'//typelist statt { $$ = $2; } - + interfacememberdeclaration : constantdeclaration { // SCJU: Interfaces, Spezialform Konstantendef. diff --git a/src/mycompiler/myclass/Class.java b/src/mycompiler/myclass/Class.java index fb9e93303..ca4c87c8e 100755 --- a/src/mycompiler/myclass/Class.java +++ b/src/mycompiler/myclass/Class.java @@ -69,7 +69,7 @@ import typinferenz.UndConstraint; import typinferenz.FunN; import typinferenz.assumptions.TypeAssumptions; import typinferenz.exceptions.TypinferenzException; - +import typinferenz.*; // ino.class.Class.23010.declaration @@ -953,8 +953,10 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface // ino.end // ino.method.wandleRefTypeAttributes2GenericAttributes.23128.body { - - + for(Field f : this.getFields()){ + f.wandleRefTypeAttributes2GenericAttributes(paralist); + } + /* Vector fieldsAndMethods=this.getFields(); // Alle Methoden und Instanzvariablen durchgehen @@ -965,7 +967,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface Method method=(Method)fieldsAndMethods.get(i); method.wandleRefTypeAttributes2GenericAttributes(paralist); }// Ist es eine InstanzVariable? - /* + *//* else if(fieldsAndMethods.get(i) instanceof InstVarDecl){ InstVarDecl instVar=(InstVarDecl)fieldsAndMethods.get(i); Type type=instVar.getType(); @@ -976,8 +978,9 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface instVar.setType(pendant); } } - }*/ - } + } + + }*/ } // ino.end @@ -1302,8 +1305,11 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface Constructor standardKonstruktor = new Constructor(Method.createEmptyMethod(this.getName(), this)); this.addField(standardKonstruktor); } + + //Als RefType geparste Generische Variablen umwandeln: + this.wandleRefTypeAttributes2GenericAttributes(); } - + @Override public SyntaxTreeNode getParent() { return this; diff --git a/src/mycompiler/myclass/Constructor.java b/src/mycompiler/myclass/Constructor.java index 80e0ff486..1b1f72bad 100644 --- a/src/mycompiler/myclass/Constructor.java +++ b/src/mycompiler/myclass/Constructor.java @@ -324,3 +324,61 @@ public class Constructor extends Method { } + +/* +// ino.class.Constructor.23267.declaration +public class Constructor_Backup extends Method +// ino.end +// ino.class.Constructor.23267.body +{ + // ino.method.Constructor.23271.definition + public Constructor_Backup() + // ino.end + // ino.method.Constructor.23271.body + { + this.setParameterList(null); + // #JB# 04.06.2005 + // ########################################################### + DeclId decl = new DeclId(); + decl.set_Name(""); + this.set_DeclId(decl); + // ########################################################### + } + // ino.end + + + + // ino.method.get_codegen_Param_Type.23274.definition + public String get_codegen_Param_Type(Vector paralist) + // ino.end + // ino.method.get_codegen_Param_Type.23274.body + { + String ret = new String(); + if(this.getParameterList() == null) + { + ret += "()"; + } + else + { + ret += this.getParameterList().get_codegen_ParameterList(paralist); + } + ret += "V"; + return ret; + } + // ino.end + + + + // ino.method.codegen.23277.definition + public void codegen(ClassFile classfile, Vector paralist) + throws JVMCodeException + // ino.end + // ino.method.codegen.23277.body + { + classfile.set_constructor_founded(true); + classfile.add_method("", this.get_codegen_Param_Type(paralist), this.getParameterList(), null, get_Block(), declid.firstElement().get_access_flags(), paralist, false); + } + // ino.end + +} +*/ diff --git a/src/mycompiler/myclass/Constructor_Backup.java b/src/mycompiler/myclass/Constructor_Backup.java deleted file mode 100755 index 1969a5056..000000000 --- a/src/mycompiler/myclass/Constructor_Backup.java +++ /dev/null @@ -1,79 +0,0 @@ -// ino.module.Constructor.8557.package -package mycompiler.myclass; -// ino.end -// ino.module.Constructor.8557.import -import java.util.Iterator; -import java.util.Vector; - -import typinferenz.ConstraintsSet; -import typinferenz.assumptions.TypeAssumptions; -import mycompiler.mybytecode.ClassFile; -import mycompiler.myexception.JVMCodeException; -// ino.end -import mycompiler.mytype.TypePlaceholder; -import mycompiler.mytypereconstruction.set.CTypeAssumptionSet; -import mycompiler.mytypereconstruction.typeassumption.CInstVarTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CLocalVarTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CMethodTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CParaTypeAssumption; -import mycompiler.mytypereconstruction.typeassumption.CTypeAssumption; - - - - -// ino.class.Constructor.23267.declaration -public class Constructor_Backup extends Method -// ino.end -// ino.class.Constructor.23267.body -{ - // ino.method.Constructor.23271.definition - public Constructor_Backup() - // ino.end - // ino.method.Constructor.23271.body - { - this.setParameterList(null); - // #JB# 04.06.2005 - // ########################################################### - DeclId decl = new DeclId(); - decl.set_Name(""); - this.set_DeclId(decl); - // ########################################################### - } - // ino.end - - - - // ino.method.get_codegen_Param_Type.23274.definition - public String get_codegen_Param_Type(Vector paralist) - // ino.end - // ino.method.get_codegen_Param_Type.23274.body - { - String ret = new String(); - if(this.getParameterList() == null) - { - ret += "()"; - } - else - { - ret += this.getParameterList().get_codegen_ParameterList(paralist); - } - ret += "V"; - return ret; - } - // ino.end - - - - // ino.method.codegen.23277.definition - public void codegen(ClassFile classfile, Vector paralist) - throws JVMCodeException - // ino.end - // ino.method.codegen.23277.body - { - classfile.set_constructor_founded(true); - classfile.add_method("", this.get_codegen_Param_Type(paralist), this.getParameterList(), null, get_Block(), declid.firstElement().get_access_flags(), paralist, false); - } - // ino.end - -} -// ino.end diff --git a/src/mycompiler/myclass/Field.java b/src/mycompiler/myclass/Field.java index 6e8429a7b..0c465df23 100644 --- a/src/mycompiler/myclass/Field.java +++ b/src/mycompiler/myclass/Field.java @@ -5,6 +5,7 @@ import java.util.Vector; import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.myexception.JVMCodeException; +import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.Type; import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; @@ -104,4 +105,12 @@ public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Ty return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph), resultSet); } + public void wandleRefTypeAttributes2GenericAttributes(Vector paralist){ + // Zuerst Returntype untersuchen + Type type=getType(); + GenericTypeVar pendantReturnType=ClassHelper.findGenericType(type, paralist,new Vector()); + if(pendantReturnType!=null){ //Wenn generisch, dann modifizieren + setType(pendantReturnType); + } + } } diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/mycompiler/myclass/FieldDeclaration.java index 60ef42ca8..b4f147edc 100644 --- a/src/mycompiler/myclass/FieldDeclaration.java +++ b/src/mycompiler/myclass/FieldDeclaration.java @@ -14,6 +14,7 @@ import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.myexception.JVMCodeException; import mycompiler.mystatement.Expr; +import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.Type; import mycompiler.mytype.TypePlaceholder; import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent; @@ -127,6 +128,10 @@ public class FieldDeclaration extends Field{ return ret; } - + @Override + public void wandleRefTypeAttributes2GenericAttributes(Vector paralist){ + super.wandleRefTypeAttributes2GenericAttributes(paralist); + if(this.getWert()!=null)this.getWert().wandleRefTypeAttributes2GenericAttributes(paralist, new Vector()); //FieldDeclaration hat keine Generischen Variablen, daher leere Liste übergeben + } } diff --git a/src/mycompiler/myclass/Method.java b/src/mycompiler/myclass/Method.java index d13792c8a..97f7df39a 100755 --- a/src/mycompiler/myclass/Method.java +++ b/src/mycompiler/myclass/Method.java @@ -497,11 +497,9 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable { return isAbstract; } - // ino.end - // ino.method.wandleRefTypeAttributes2GenericAttributes.23614.definition + + @Override public void wandleRefTypeAttributes2GenericAttributes(Vector paralist) - // ino.end - // ino.method.wandleRefTypeAttributes2GenericAttributes.23614.body { // Zuerst Returntype untersuchen Type returnType=getType(); diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index fcee60fc9..ef95bad58 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -336,8 +336,10 @@ public Vector testPair = new Vector(); //t "classbodydeclaration : staticinitializer", //t "classbodydeclaration : constructordeclaration", //t "classorinterfacetype : simplename parameter", +//t "typelist : type", +//t "typelist : typelist ',' type", //t "parameter :", -//t "parameter : '<' paralist '>'", +//t "parameter : '<' typelist '>'", //t "interfacememberdeclaration : constantdeclaration", //t "interfacememberdeclaration : abstractmethoddeclaration", //t "classmemberdeclaration : fielddeclaration", @@ -747,20 +749,20 @@ public Vector testPair = new Vector(); yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]); switch (yyN) { case 1: - // line 322 "./../src/mycompiler/myparser/JavaParser.jay" + // line 323 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((SourceFile)yyVals[0+yyTop]); } break; case 2: - // line 350 "./../src/mycompiler/myparser/JavaParser.jay" + // line 351 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Package*/ yyVal = ((UsedId)yyVals[-1+yyTop]); } break; case 3: - // line 356 "./../src/mycompiler/myparser/JavaParser.jay" + // line 357 "./../src/mycompiler/myparser/JavaParser.jay" { ImportDeclarations declarations=new ImportDeclarations(); declarations.addElement(((UsedId)yyVals[0+yyTop])); @@ -768,20 +770,20 @@ case 3: } break; case 4: - // line 362 "./../src/mycompiler/myparser/JavaParser.jay" + // line 363 "./../src/mycompiler/myparser/JavaParser.jay" { ((ImportDeclarations)yyVals[-1+yyTop]).addElement(((UsedId)yyVals[0+yyTop])); yyVal=((ImportDeclarations)yyVals[-1+yyTop]); } break; case 5: - // line 368 "./../src/mycompiler/myparser/JavaParser.jay" + // line 369 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[-1+yyTop]); } break; case 6: - // line 373 "./../src/mycompiler/myparser/JavaParser.jay" + // line 374 "./../src/mycompiler/myparser/JavaParser.jay" { SourceFile Scfile = new SourceFile(); Scfile.addElement(((AClassOrInterface)yyVals[0+yyTop])); @@ -789,39 +791,39 @@ case 6: } break; case 7: - // line 379 "./../src/mycompiler/myparser/JavaParser.jay" + // line 380 "./../src/mycompiler/myparser/JavaParser.jay" { ((SourceFile)yyVals[-1+yyTop]).addElement(((AClassOrInterface)yyVals[0+yyTop])); yyVal=((SourceFile)yyVals[-1+yyTop]); } break; case 8: - // line 385 "./../src/mycompiler/myparser/JavaParser.jay" + // line 386 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; case 9: - // line 389 "./../src/mycompiler/myparser/JavaParser.jay" + // line 390 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; case 10: - // line 394 "./../src/mycompiler/myparser/JavaParser.jay" + // line 395 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Class)yyVals[0+yyTop]); } break; case 11: - // line 398 "./../src/mycompiler/myparser/JavaParser.jay" + // line 399 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal=((Interface)yyVals[0+yyTop]); } break; case 12: - // line 405 "./../src/mycompiler/myparser/JavaParser.jay" + // line 406 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem()); ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset()); @@ -829,7 +831,7 @@ case 12: } break; case 13: - // line 412 "./../src/mycompiler/myparser/JavaParser.jay" + // line 413 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem()); ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset()); @@ -837,7 +839,7 @@ case 13: } break; case 14: - // line 418 "./../src/mycompiler/myparser/JavaParser.jay" + // line 419 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name("*"); ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset()); @@ -845,7 +847,7 @@ case 14: } break; case 15: - // line 426 "./../src/mycompiler/myparser/JavaParser.jay" + // line 427 "./../src/mycompiler/myparser/JavaParser.jay" { UsedId UI = new UsedId(((Token)yyVals[0+yyTop]).getOffset()); UI.set_Name( ((Token)yyVals[0+yyTop]).getLexem() ); @@ -854,7 +856,7 @@ case 15: } break; case 16: - // line 434 "./../src/mycompiler/myparser/JavaParser.jay" + // line 435 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Um das hier uebersichtlicher zu halten,*/ /* gibt es einen allumfassenden Konstruktor fuer Class*/ @@ -873,7 +875,7 @@ case 16: } break; case 17: - // line 451 "./../src/mycompiler/myparser/JavaParser.jay" + // line 452 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, null, null, ((ClassAndParameter)yyVals[-1+yyTop]).getParaVector()); this.initContainedTypes(); @@ -881,7 +883,7 @@ case 17: } break; case 18: - // line 457 "./../src/mycompiler/myparser/JavaParser.jay" + // line 458 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); this.initContainedTypes(); @@ -889,7 +891,7 @@ case 18: } break; case 19: - // line 463 "./../src/mycompiler/myparser/JavaParser.jay" + // line 464 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); this.initContainedTypes(); @@ -897,7 +899,7 @@ case 19: } break; case 20: - // line 470 "./../src/mycompiler/myparser/JavaParser.jay" + // line 471 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, null, ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); this.initContainedTypes(); @@ -905,7 +907,7 @@ case 20: } break; case 21: - // line 476 "./../src/mycompiler/myparser/JavaParser.jay" + // line 477 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, null, ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); this.initContainedTypes(); @@ -913,7 +915,7 @@ case 21: } break; case 22: - // line 482 "./../src/mycompiler/myparser/JavaParser.jay" + // line 483 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaVector()); this.initContainedTypes(); @@ -921,7 +923,7 @@ case 22: } break; case 23: - // line 488 "./../src/mycompiler/myparser/JavaParser.jay" + // line 489 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), ((Modifiers)yyVals[-5+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaVector()); this.initContainedTypes(); @@ -929,7 +931,7 @@ case 23: } break; case 24: - // line 495 "./../src/mycompiler/myparser/JavaParser.jay" + // line 496 "./../src/mycompiler/myparser/JavaParser.jay" { /* HOTI*/ /* Verbindet den Namen eines Interfaces mit einer optionalen Parameterliste*/ @@ -937,13 +939,13 @@ case 24: } break; case 25: - // line 501 "./../src/mycompiler/myparser/JavaParser.jay" + // line 502 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new InterfaceAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop])); } break; case 26: - // line 506 "./../src/mycompiler/myparser/JavaParser.jay" + // line 507 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Hilfskonstrukt, um die Grammatik ueberschaubar zu halten*/ /* Verbindet den Namen einer Klasse mit einer optionalen Parameterliste*/ @@ -951,13 +953,13 @@ case 26: } break; case 27: - // line 512 "./../src/mycompiler/myparser/JavaParser.jay" + // line 513 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new ClassAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop])); } break; case 28: - // line 517 "./../src/mycompiler/myparser/JavaParser.jay" + // line 518 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName()); @@ -969,7 +971,7 @@ case 28: } break; case 29: - // line 527 "./../src/mycompiler/myparser/JavaParser.jay" + // line 528 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop])); ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop])); @@ -980,7 +982,7 @@ case 29: } break; case 30: - // line 536 "./../src/mycompiler/myparser/JavaParser.jay" + // line 537 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName()); ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector()); @@ -992,7 +994,7 @@ case 30: } break; case 31: - // line 546 "./../src/mycompiler/myparser/JavaParser.jay" + // line 547 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop])); ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector()); @@ -1004,7 +1006,7 @@ case 31: } break; case 32: - // line 557 "./../src/mycompiler/myparser/JavaParser.jay" + // line 558 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); /* #JB# 05.04.2005 */ @@ -1017,7 +1019,7 @@ case 32: } break; case 33: - // line 568 "./../src/mycompiler/myparser/JavaParser.jay" + // line 569 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),((Token)yyVals[-3+yyTop]).getOffset() ); @@ -1028,7 +1030,7 @@ case 33: } break; case 34: - // line 577 "./../src/mycompiler/myparser/JavaParser.jay" + // line 578 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); pl.getParalist().addElement(((WildcardType)yyVals[0+yyTop])); @@ -1036,7 +1038,7 @@ case 34: } break; case 35: - // line 583 "./../src/mycompiler/myparser/JavaParser.jay" + // line 584 "./../src/mycompiler/myparser/JavaParser.jay" { /* #JB# 05.04.2005 */ @@ -1050,7 +1052,7 @@ case 35: } break; case 36: - // line 596 "./../src/mycompiler/myparser/JavaParser.jay" + // line 597 "./../src/mycompiler/myparser/JavaParser.jay" { RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem() ,((Token)yyVals[-3+yyTop]).getOffset() ); t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() ); @@ -1060,14 +1062,14 @@ case 36: } break; case 37: - // line 604 "./../src/mycompiler/myparser/JavaParser.jay" + // line 605 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).getParalist().addElement(((WildcardType)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; case 38: - // line 610 "./../src/mycompiler/myparser/JavaParser.jay" + // line 611 "./../src/mycompiler/myparser/JavaParser.jay" { /*Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden*/ WildcardType wc = new WildcardType(-1); @@ -1075,34 +1077,34 @@ case 38: } break; case 39: - // line 616 "./../src/mycompiler/myparser/JavaParser.jay" + // line 617 "./../src/mycompiler/myparser/JavaParser.jay" { ExtendsWildcardType ewc = new ExtendsWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop])); yyVal = ewc; } break; case 40: - // line 621 "./../src/mycompiler/myparser/JavaParser.jay" + // line 622 "./../src/mycompiler/myparser/JavaParser.jay" { SuperWildcardType swc = new SuperWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop])); yyVal = swc; } break; case 41: - // line 627 "./../src/mycompiler/myparser/JavaParser.jay" + // line 628 "./../src/mycompiler/myparser/JavaParser.jay" { ClassBody CB = new ClassBody(); yyVal = CB; } break; case 42: - // line 633 "./../src/mycompiler/myparser/JavaParser.jay" + // line 634 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((ClassBody)yyVals[-1+yyTop]); } break; case 43: - // line 638 "./../src/mycompiler/myparser/JavaParser.jay" + // line 639 "./../src/mycompiler/myparser/JavaParser.jay" { Modifiers Mod = new Modifiers(); Mod.addModifier(((Modifier)yyVals[0+yyTop])); @@ -1110,20 +1112,20 @@ case 43: } break; case 44: - // line 644 "./../src/mycompiler/myparser/JavaParser.jay" + // line 645 "./../src/mycompiler/myparser/JavaParser.jay" { ((Modifiers)yyVals[-1+yyTop]).addModifier(((Modifier)yyVals[0+yyTop])); yyVal = ((Modifiers)yyVals[-1+yyTop]); } break; case 45: - // line 650 "./../src/mycompiler/myparser/JavaParser.jay" + // line 651 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((UsedId)yyVals[0+yyTop]); } break; case 46: - // line 655 "./../src/mycompiler/myparser/JavaParser.jay" + // line 656 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ InterfaceList il = new InterfaceList(); @@ -1132,27 +1134,27 @@ case 46: } break; case 47: - // line 662 "./../src/mycompiler/myparser/JavaParser.jay" + // line 663 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop])); yyVal = ((InterfaceList)yyVals[-2+yyTop]); } break; case 48: - // line 668 "./../src/mycompiler/myparser/JavaParser.jay" + // line 669 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal = new InterfaceBody(); } break; case 49: - // line 673 "./../src/mycompiler/myparser/JavaParser.jay" + // line 674 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((InterfaceBody)yyVals[-1+yyTop]); } break; case 50: - // line 680 "./../src/mycompiler/myparser/JavaParser.jay" + // line 681 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ InterfaceList il = new InterfaceList(); @@ -1161,14 +1163,14 @@ case 50: } break; case 51: - // line 687 "./../src/mycompiler/myparser/JavaParser.jay" + // line 688 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop])); yyVal = ((InterfaceList)yyVals[-2+yyTop]); } break; case 52: - // line 694 "./../src/mycompiler/myparser/JavaParser.jay" + // line 695 "./../src/mycompiler/myparser/JavaParser.jay" { ClassBody CB = new ClassBody(); CB.addField( ((Field)yyVals[0+yyTop]) ); @@ -1176,55 +1178,55 @@ case 52: } break; case 53: - // line 700 "./../src/mycompiler/myparser/JavaParser.jay" + // line 701 "./../src/mycompiler/myparser/JavaParser.jay" { ((ClassBody)yyVals[-1+yyTop]).addField(((Field)yyVals[0+yyTop])); yyVal = ((ClassBody)yyVals[-1+yyTop]); } break; case 54: - // line 707 "./../src/mycompiler/myparser/JavaParser.jay" + // line 708 "./../src/mycompiler/myparser/JavaParser.jay" { Public Pub = new Public(); yyVal=Pub; } break; case 55: - // line 712 "./../src/mycompiler/myparser/JavaParser.jay" + // line 713 "./../src/mycompiler/myparser/JavaParser.jay" { Protected Pro = new Protected(); yyVal=Pro; } break; case 56: - // line 717 "./../src/mycompiler/myparser/JavaParser.jay" + // line 718 "./../src/mycompiler/myparser/JavaParser.jay" { Private Pri = new Private(); yyVal=Pri; } break; case 57: - // line 722 "./../src/mycompiler/myparser/JavaParser.jay" + // line 723 "./../src/mycompiler/myparser/JavaParser.jay" { Static Sta = new Static(); yyVal=Sta; } break; case 58: - // line 727 "./../src/mycompiler/myparser/JavaParser.jay" + // line 728 "./../src/mycompiler/myparser/JavaParser.jay" { Abstract Abs = new Abstract(); yyVal=Abs; } break; case 59: - // line 732 "./../src/mycompiler/myparser/JavaParser.jay" + // line 733 "./../src/mycompiler/myparser/JavaParser.jay" { Final fin = new Final(); yyVal = fin; } break; case 60: - // line 738 "./../src/mycompiler/myparser/JavaParser.jay" + // line 739 "./../src/mycompiler/myparser/JavaParser.jay" { /*PL 05-07-30 eingefuegt containedTypes ANFANG*/ RefType RT = new RefType(-1); @@ -1239,7 +1241,7 @@ case 60: } break; case 61: - // line 753 "./../src/mycompiler/myparser/JavaParser.jay" + // line 754 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ InterfaceBody ib = new InterfaceBody(); @@ -1248,86 +1250,101 @@ case 61: } break; case 62: - // line 760 "./../src/mycompiler/myparser/JavaParser.jay" + // line 761 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceBody)yyVals[-1+yyTop]).addElement(((Field)yyVals[0+yyTop])); yyVal = ((InterfaceBody)yyVals[-1+yyTop]); } break; case 63: - // line 766 "./../src/mycompiler/myparser/JavaParser.jay" + // line 767 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interfaces*/ yyVal = ((UsedId)yyVals[0+yyTop]); } break; case 64: - // line 772 "./../src/mycompiler/myparser/JavaParser.jay" + // line 773 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; case 65: - // line 777 "./../src/mycompiler/myparser/JavaParser.jay" + // line 778 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Method)yyVals[0+yyTop]); } break; case 66: - // line 781 "./../src/mycompiler/myparser/JavaParser.jay" + // line 782 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; case 67: - // line 786 "./../src/mycompiler/myparser/JavaParser.jay" + // line 787 "./../src/mycompiler/myparser/JavaParser.jay" { - if (((ParaList)yyVals[0+yyTop]) != null) { - ((UsedId)yyVals[-1+yyTop]).set_ParaList(((ParaList)yyVals[0+yyTop]).get_ParaList()); - + if (((Vector)yyVals[0+yyTop]) != null) { + /*$1.set_ParaList($2.get_ParaList());*/ + ((UsedId)yyVals[-1+yyTop]).set_ParaList(((Vector)yyVals[0+yyTop]));/*Änderung von Andreas Stadelmeier. Type statt GenericVarType*/ /* otth: originale (also diese) Parameterliste retten */ - ((UsedId)((UsedId)yyVals[-1+yyTop])).vParaOrg = new Vector( ((ParaList)yyVals[0+yyTop]).get_ParaList() ); + /*((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() );*/ } yyVal=((UsedId)yyVals[-1+yyTop]); } break; case 68: - // line 797 "./../src/mycompiler/myparser/JavaParser.jay" - { yyVal = null; } + // line 798 "./../src/mycompiler/myparser/JavaParser.jay" + { + Vector tl = new Vector(); + tl.add(((Type)yyVals[0+yyTop])); + yyVal = tl; + } break; case 69: - // line 799 "./../src/mycompiler/myparser/JavaParser.jay" + // line 804 "./../src/mycompiler/myparser/JavaParser.jay" { - yyVal = ((ParaList)yyVals[-1+yyTop]); - } + ((Vector)yyVals[-2+yyTop]).add(((Type)yyVals[0+yyTop])); + yyVal=((Vector)yyVals[-2+yyTop]); + } break; case 70: - // line 804 "./../src/mycompiler/myparser/JavaParser.jay" + // line 811 "./../src/mycompiler/myparser/JavaParser.jay" + { yyVal = null; } + break; +case 71: + // line 813 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal = ((Vector)yyVals[-1+yyTop]); + } + break; +case 72: + // line 818 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interfaces, Spezialform Konstantendef.*/ yyVal = ((Constant)yyVals[0+yyTop]); } break; -case 71: - // line 809 "./../src/mycompiler/myparser/JavaParser.jay" +case 73: + // line 823 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((Method)yyVals[0+yyTop]); } break; -case 72: - // line 814 "./../src/mycompiler/myparser/JavaParser.jay" +case 74: + // line 828 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; -case 73: - // line 818 "./../src/mycompiler/myparser/JavaParser.jay" +case 75: + // line 832 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Method)yyVals[0+yyTop]); } break; -case 74: - // line 823 "./../src/mycompiler/myparser/JavaParser.jay" +case 76: + // line 837 "./../src/mycompiler/myparser/JavaParser.jay" { Method STAT = new Method(((Token)yyVals[-1+yyTop]).getOffset()); DeclId DST = new DeclId(); @@ -1341,23 +1358,23 @@ case 74: yyVal=STAT; } break; -case 75: - // line 837 "./../src/mycompiler/myparser/JavaParser.jay" +case 77: + // line 851 "./../src/mycompiler/myparser/JavaParser.jay" { ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal = ((Constructor)yyVals[-1+yyTop]); } break; -case 76: - // line 842 "./../src/mycompiler/myparser/JavaParser.jay" +case 78: + // line 856 "./../src/mycompiler/myparser/JavaParser.jay" { ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); ((Constructor)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); yyVal = ((Constructor)yyVals[-1+yyTop]); } break; -case 77: - // line 849 "./../src/mycompiler/myparser/JavaParser.jay" +case 79: + // line 863 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ Constant c = new Constant(((Token)yyVals[-3+yyTop]).getLexem(), ((Modifiers)yyVals[-5+yyTop])); @@ -1366,15 +1383,15 @@ case 77: yyVal = c; } break; -case 78: - // line 858 "./../src/mycompiler/myparser/JavaParser.jay" +case 80: + // line 872 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal = ((Method)yyVals[-1+yyTop]); } break; -case 79: - // line 871 "./../src/mycompiler/myparser/JavaParser.jay" +case 81: + // line 885 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); ret.setType(((Type)yyVals[-3+yyTop])); @@ -1383,8 +1400,8 @@ case 79: yyVal=ret; } break; -case 80: - // line 879 "./../src/mycompiler/myparser/JavaParser.jay" +case 82: + // line 893 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); ret.set_DeclId(((DeclId)yyVals[-2+yyTop])); @@ -1392,35 +1409,35 @@ case 80: yyVal=ret; } break; -case 81: - // line 887 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((FieldDeclaration)yyVals[-1+yyTop]); - } - break; -case 82: - // line 891 "./../src/mycompiler/myparser/JavaParser.jay" - { - ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); - yyVal=((FieldDeclaration)yyVals[0+yyTop]); - } - break; case 83: - // line 897 "./../src/mycompiler/myparser/JavaParser.jay" + // line 901 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; case 84: - // line 902 "./../src/mycompiler/myparser/JavaParser.jay" + // line 905 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); + yyVal=((FieldDeclaration)yyVals[0+yyTop]); + } + break; +case 85: + // line 911 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((FieldDeclaration)yyVals[-1+yyTop]); + } + break; +case 86: + // line 916 "./../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 85: - // line 909 "./../src/mycompiler/myparser/JavaParser.jay" +case 87: + // line 923 "./../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++) @@ -1430,28 +1447,28 @@ case 85: yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 86: - // line 919 "./../src/mycompiler/myparser/JavaParser.jay" +case 88: + // line 933 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 87: - // line 926 "./../src/mycompiler/myparser/JavaParser.jay" +case 89: + // line 940 "./../src/mycompiler/myparser/JavaParser.jay" { Block Bl = new Block(); yyVal=Bl; } break; -case 88: - // line 932 "./../src/mycompiler/myparser/JavaParser.jay" +case 90: + // line 946 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 89: - // line 937 "./../src/mycompiler/myparser/JavaParser.jay" +case 91: + // line 951 "./../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(); @@ -1460,8 +1477,8 @@ case 89: yyVal=CON; } break; -case 90: - // line 945 "./../src/mycompiler/myparser/JavaParser.jay" +case 92: + // line 959 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CONpara = new Constructor(null); DeclId DIconpara = new DeclId(); @@ -1471,29 +1488,29 @@ case 90: yyVal=CONpara; } break; -case 91: - // line 955 "./../src/mycompiler/myparser/JavaParser.jay" +case 93: + // line 969 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBL = new Block(); yyVal=CBL; } break; -case 92: - // line 960 "./../src/mycompiler/myparser/JavaParser.jay" +case 94: + // line 974 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBLexpl = new Block(); CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop])); yyVal=CBLexpl; } break; -case 93: - // line 966 "./../src/mycompiler/myparser/JavaParser.jay" +case 95: + // line 980 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 94: - // line 970 "./../src/mycompiler/myparser/JavaParser.jay" +case 96: + // line 984 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBes = new Block(); CBes.set_Statement(((Statement)yyVals[-2+yyTop])); @@ -1504,51 +1521,51 @@ case 94: yyVal=CBes; } break; -case 95: - // line 981 "./../src/mycompiler/myparser/JavaParser.jay" +case 97: + // line 995 "./../src/mycompiler/myparser/JavaParser.jay" { ExceptionList EL = new ExceptionList(); EL.set_addElem(((RefType)yyVals[0+yyTop])); yyVal=EL; } break; -case 96: - // line 988 "./../src/mycompiler/myparser/JavaParser.jay" +case 98: + // line 1002 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((GenericTypeVar)yyVals[0+yyTop]); } break; -case 97: - // line 993 "./../src/mycompiler/myparser/JavaParser.jay" +case 99: + // line 1007 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList p = new ParaList(); p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=p; } break; -case 98: - // line 999 "./../src/mycompiler/myparser/JavaParser.jay" +case 100: + // line 1013 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 99: - // line 1006 "./../src/mycompiler/myparser/JavaParser.jay" +case 101: + // line 1020 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset()); } break; -case 100: - // line 1010 "./../src/mycompiler/myparser/JavaParser.jay" +case 102: + // line 1024 "./../src/mycompiler/myparser/JavaParser.jay" { BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(),((Token)yyVals[-2+yyTop]).getOffset()); gtv.setBounds(((Vector)yyVals[0+yyTop])); yyVal=gtv; } break; -case 101: - // line 1017 "./../src/mycompiler/myparser/JavaParser.jay" +case 103: + // line 1031 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((RefType)yyVals[0+yyTop])); @@ -1556,54 +1573,54 @@ case 101: yyVal=vec; } break; -case 102: - // line 1024 "./../src/mycompiler/myparser/JavaParser.jay" +case 104: + // line 1038 "./../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 103: - // line 1031 "./../src/mycompiler/myparser/JavaParser.jay" +case 105: + // line 1045 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=vec; } break; -case 104: - // line 1037 "./../src/mycompiler/myparser/JavaParser.jay" +case 106: + // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; -case 105: - // line 1045 "./../src/mycompiler/myparser/JavaParser.jay" +case 107: + // line 1059 "./../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 106: - // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" +case 108: + // line 1065 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 107: - // line 1056 "./../src/mycompiler/myparser/JavaParser.jay" +case 109: + // line 1070 "./../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 108: - // line 1062 "./../src/mycompiler/myparser/JavaParser.jay" +case 110: + // line 1076 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); @@ -1611,27 +1628,9 @@ case 108: yyVal=((Method)yyVals[0+yyTop]); } break; -case 109: - // line 1069 "./../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 110: - // line 1075 "./../src/mycompiler/myparser/JavaParser.jay" - { - ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); - ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); - ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); - yyVal=((Method)yyVals[-1+yyTop]); - } - break; case 111: - // line 1082 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1083 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); @@ -1640,7 +1639,6 @@ case 111: case 112: // line 1089 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); @@ -1648,15 +1646,34 @@ case 112: } break; case 113: - // line 1097 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1096 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); + ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); + ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); + yyVal=((Method)yyVals[-1+yyTop]); + } + break; +case 114: + // line 1103 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); + ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); + ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); + ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); + yyVal=((Method)yyVals[-1+yyTop]); + } + break; +case 115: + // line 1111 "./../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 114: - // line 1103 "./../src/mycompiler/myparser/JavaParser.jay" +case 116: + // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1664,8 +1681,8 @@ case 114: yyVal=((Method)yyVals[0+yyTop]); } break; -case 115: - // line 1110 "./../src/mycompiler/myparser/JavaParser.jay" +case 117: + // line 1124 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1673,8 +1690,8 @@ case 115: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 116: - // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" +case 118: + // line 1131 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1683,8 +1700,8 @@ case 116: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 117: - // line 1125 "./../src/mycompiler/myparser/JavaParser.jay" +case 119: + // line 1139 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); @@ -1692,8 +1709,8 @@ case 117: yyVal=((Method)yyVals[0+yyTop]); } break; -case 118: - // line 1132 "./../src/mycompiler/myparser/JavaParser.jay" +case 120: + // line 1146 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); @@ -1702,8 +1719,8 @@ case 118: yyVal=((Method)yyVals[0+yyTop]); } break; -case 119: - // line 1140 "./../src/mycompiler/myparser/JavaParser.jay" +case 121: + // line 1154 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1712,8 +1729,8 @@ case 119: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 120: - // line 1148 "./../src/mycompiler/myparser/JavaParser.jay" +case 122: + // line 1162 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); @@ -1723,39 +1740,39 @@ case 120: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 121: - // line 1158 "./../src/mycompiler/myparser/JavaParser.jay" +case 123: + // line 1172 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; -case 122: - // line 1163 "./../src/mycompiler/myparser/JavaParser.jay" +case 124: + // line 1177 "./../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 123: - // line 1170 "./../src/mycompiler/myparser/JavaParser.jay" +case 125: + // line 1184 "./../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 124: - // line 1176 "./../src/mycompiler/myparser/JavaParser.jay" +case 126: + // line 1190 "./../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 125: - // line 1182 "./../src/mycompiler/myparser/JavaParser.jay" +case 127: + // line 1196 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ @@ -1763,32 +1780,32 @@ case 125: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 126: - // line 1191 "./../src/mycompiler/myparser/JavaParser.jay" +case 128: + // line 1205 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 127: - // line 1195 "./../src/mycompiler/myparser/JavaParser.jay" +case 129: + // line 1209 "./../src/mycompiler/myparser/JavaParser.jay" { ((BaseType)yyVals[-2+yyTop]).setArray(true); } break; -case 128: - // line 1199 "./../src/mycompiler/myparser/JavaParser.jay" +case 130: + // line 1213 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((RefType)yyVals[0+yyTop]); } break; -case 129: - // line 1203 "./../src/mycompiler/myparser/JavaParser.jay" +case 131: + // line 1217 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).setArray(true); } break; -case 130: - // line 1207 "./../src/mycompiler/myparser/JavaParser.jay" +case 132: + // line 1221 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); IVD.getDeclIdVector().addElement( ((DeclId)yyVals[0+yyTop]) ); @@ -1796,66 +1813,66 @@ case 130: yyVal = IVD; } break; -case 131: - // line 1214 "./../src/mycompiler/myparser/JavaParser.jay" +case 133: + // line 1228 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; -case 132: - // line 1220 "./../src/mycompiler/myparser/JavaParser.jay" +case 134: + // line 1234 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 133: - // line 1225 "./../src/mycompiler/myparser/JavaParser.jay" +case 135: + // line 1239 "./../src/mycompiler/myparser/JavaParser.jay" { Block Blstat = new Block(); Blstat.set_Statement(((Statement)yyVals[0+yyTop])); yyVal=Blstat; } break; -case 134: - // line 1232 "./../src/mycompiler/myparser/JavaParser.jay" +case 136: + // line 1246 "./../src/mycompiler/myparser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; -case 135: - // line 1238 "./../src/mycompiler/myparser/JavaParser.jay" +case 137: + // line 1252 "./../src/mycompiler/myparser/JavaParser.jay" { ParameterList PL = new ParameterList(); PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = PL; } break; -case 136: - // line 1244 "./../src/mycompiler/myparser/JavaParser.jay" +case 138: + // line 1258 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; -case 137: - // line 1250 "./../src/mycompiler/myparser/JavaParser.jay" +case 139: + // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" { This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; -case 138: - // line 1255 "./../src/mycompiler/myparser/JavaParser.jay" +case 140: + // line 1269 "./../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 139: - // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" +case 141: + // line 1278 "./../src/mycompiler/myparser/JavaParser.jay" { RefType RT = new RefType(-1); RT.set_UsedId(((UsedId)yyVals[0+yyTop])); @@ -1863,16 +1880,16 @@ case 139: yyVal=RT; } break; -case 140: - // line 1271 "./../src/mycompiler/myparser/JavaParser.jay" +case 142: + // line 1285 "./../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 141: - // line 1278 "./../src/mycompiler/myparser/JavaParser.jay" +case 143: + // line 1292 "./../src/mycompiler/myparser/JavaParser.jay" { Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1886,8 +1903,8 @@ case 141: yyVal = met; } break; -case 142: - // line 1291 "./../src/mycompiler/myparser/JavaParser.jay" +case 144: + // line 1305 "./../src/mycompiler/myparser/JavaParser.jay" { Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1902,8 +1919,8 @@ case 142: yyVal = met_para; } break; -case 143: - // line 1306 "./../src/mycompiler/myparser/JavaParser.jay" +case 145: + // line 1320 "./../src/mycompiler/myparser/JavaParser.jay" { BooleanType BT = new BooleanType(); /* #JB# 05.04.2005 */ @@ -1913,14 +1930,14 @@ case 143: yyVal=BT; } break; -case 144: - // line 1315 "./../src/mycompiler/myparser/JavaParser.jay" +case 146: + // line 1329 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 145: - // line 1321 "./../src/mycompiler/myparser/JavaParser.jay" +case 147: + // line 1335 "./../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()); @@ -1939,26 +1956,26 @@ case 145: yyVal=RT; } break; -case 146: - // line 1341 "./../src/mycompiler/myparser/JavaParser.jay" +case 148: + // line 1355 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; -case 147: - // line 1362 "./../src/mycompiler/myparser/JavaParser.jay" +case 149: + // line 1376 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; -case 148: - // line 1366 "./../src/mycompiler/myparser/JavaParser.jay" +case 150: + // line 1380 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 149: - // line 1371 "./../src/mycompiler/myparser/JavaParser.jay" +case 151: + // line 1385 "./../src/mycompiler/myparser/JavaParser.jay" { FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); FP.setType(((Type)yyVals[-1+yyTop])); @@ -1966,8 +1983,8 @@ case 149: yyVal=FP; } break; -case 150: - // line 1396 "./../src/mycompiler/myparser/JavaParser.jay" +case 152: + // line 1410 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); @@ -1986,29 +2003,29 @@ case 150: yyVal=FP; } break; -case 151: - // line 1415 "./../src/mycompiler/myparser/JavaParser.jay" +case 153: + // line 1429 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); AL.expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=AL; } break; -case 152: - // line 1421 "./../src/mycompiler/myparser/JavaParser.jay" +case 154: + // line 1435 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; -case 153: - // line 1427 "./../src/mycompiler/myparser/JavaParser.jay" +case 155: + // line 1441 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 154: - // line 1432 "./../src/mycompiler/myparser/JavaParser.jay" +case 156: + // line 1446 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); /* #JB# 10.04.2005 */ @@ -2020,62 +2037,62 @@ case 154: yyVal=DI; } break; -case 155: - // line 1444 "./../src/mycompiler/myparser/JavaParser.jay" +case 157: + // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 156: - // line 1449 "./../src/mycompiler/myparser/JavaParser.jay" +case 158: + // line 1463 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; -case 157: - // line 1454 "./../src/mycompiler/myparser/JavaParser.jay" +case 159: + // line 1468 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 158: - // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((IfStmt)yyVals[0+yyTop]); - } - break; -case 159: - // line 1462 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((IfStmt)yyVals[0+yyTop]); - } - break; case 160: - // line 1466 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1472 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((IfStmt)yyVals[0+yyTop]); + } + break; +case 161: + // line 1476 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((IfStmt)yyVals[0+yyTop]); + } + break; +case 162: + // line 1480 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 161: - // line 1470 "./../src/mycompiler/myparser/JavaParser.jay" +case 163: + // line 1484 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; -case 162: - // line 1475 "./../src/mycompiler/myparser/JavaParser.jay" +case 164: + // line 1489 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 163: - // line 1479 "./../src/mycompiler/myparser/JavaParser.jay" +case 165: + // line 1493 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; -case 164: - // line 1484 "./../src/mycompiler/myparser/JavaParser.jay" +case 166: + // line 1498 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); /* #JB# 05.04.2005 */ @@ -2085,8 +2102,8 @@ case 164: yyVal=IT; } break; -case 165: - // line 1493 "./../src/mycompiler/myparser/JavaParser.jay" +case 167: + // line 1507 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); /* #JB# 05.04.2005 */ @@ -2096,8 +2113,8 @@ case 165: yyVal=CT; } break; -case 166: - // line 1503 "./../src/mycompiler/myparser/JavaParser.jay" +case 168: + // line 1517 "./../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()); @@ -2106,8 +2123,8 @@ case 166: yyVal = LVD; } break; -case 167: - // line 1514 "./../src/mycompiler/myparser/JavaParser.jay" +case 169: + // line 1528 "./../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()); @@ -2116,32 +2133,32 @@ case 167: yyVal = LVD; } break; -case 168: - // line 1524 "./../src/mycompiler/myparser/JavaParser.jay" +case 170: + // line 1538 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 169: - // line 1528 "./../src/mycompiler/myparser/JavaParser.jay" +case 171: + // line 1542 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; -case 170: - // line 1532 "./../src/mycompiler/myparser/JavaParser.jay" +case 172: + // line 1546 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; -case 171: - // line 1536 "./../src/mycompiler/myparser/JavaParser.jay" +case 173: + // line 1550 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; -case 172: - // line 1541 "./../src/mycompiler/myparser/JavaParser.jay" +case 174: + // line 1555 "./../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])); @@ -2149,8 +2166,8 @@ case 172: yyVal=Ifst; } break; -case 173: - // line 1549 "./../src/mycompiler/myparser/JavaParser.jay" +case 175: + // line 1563 "./../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])); @@ -2159,8 +2176,8 @@ case 173: yyVal=IfstElst; } break; -case 174: - // line 1558 "./../src/mycompiler/myparser/JavaParser.jay" +case 176: + // line 1572 "./../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])); @@ -2168,8 +2185,8 @@ case 174: yyVal=Whlst; } break; -case 175: - // line 1569 "./../src/mycompiler/myparser/JavaParser.jay" +case 177: + // line 1583 "./../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])); @@ -2181,8 +2198,8 @@ case 175: yyVal = Fst; } break; -case 176: - // line 1581 "./../src/mycompiler/myparser/JavaParser.jay" +case 178: + // line 1595 "./../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])); @@ -2193,8 +2210,8 @@ case 176: yyVal = Fst; } break; -case 177: - // line 1592 "./../src/mycompiler/myparser/JavaParser.jay" +case 179: + // line 1606 "./../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])); @@ -2205,8 +2222,8 @@ case 177: yyVal = Fst; } break; -case 178: - // line 1603 "./../src/mycompiler/myparser/JavaParser.jay" +case 180: + // line 1617 "./../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])); @@ -2217,8 +2234,8 @@ case 178: yyVal = Fst; } break; -case 179: - // line 1614 "./../src/mycompiler/myparser/JavaParser.jay" +case 181: + // line 1628 "./../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])); @@ -2228,8 +2245,8 @@ case 179: yyVal = Fst; } break; -case 180: - // line 1624 "./../src/mycompiler/myparser/JavaParser.jay" +case 182: + // line 1638 "./../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])); @@ -2239,8 +2256,8 @@ case 180: yyVal = Fst; } break; -case 181: - // line 1634 "./../src/mycompiler/myparser/JavaParser.jay" +case 183: + // line 1648 "./../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])); @@ -2250,8 +2267,8 @@ case 181: yyVal = Fst; } break; -case 182: - // line 1644 "./../src/mycompiler/myparser/JavaParser.jay" +case 184: + // line 1658 "./../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])); @@ -2260,73 +2277,73 @@ case 182: yyVal = Fst; } break; -case 183: - // line 1653 "./../src/mycompiler/myparser/JavaParser.jay" +case 185: + // line 1667 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; -case 184: - // line 1658 "./../src/mycompiler/myparser/JavaParser.jay" +case 186: + // line 1672 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 185: - // line 1664 "./../src/mycompiler/myparser/JavaParser.jay" +case 187: + // line 1678 "./../src/mycompiler/myparser/JavaParser.jay" { EmptyStmt Empst = new EmptyStmt(); yyVal=Empst; } break; -case 186: - // line 1670 "./../src/mycompiler/myparser/JavaParser.jay" +case 188: + // line 1684 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[-1+yyTop]); } break; -case 187: - // line 1675 "./../src/mycompiler/myparser/JavaParser.jay" +case 189: + // line 1689 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; -case 188: - // line 1680 "./../src/mycompiler/myparser/JavaParser.jay" +case 190: + // line 1694 "./../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 189: - // line 1687 "./../src/mycompiler/myparser/JavaParser.jay" +case 191: + // line 1701 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 190: - // line 1691 "./../src/mycompiler/myparser/JavaParser.jay" +case 192: + // line 1705 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 191: - // line 1695 "./../src/mycompiler/myparser/JavaParser.jay" +case 193: + // line 1709 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; -case 192: - // line 1700 "./../src/mycompiler/myparser/JavaParser.jay" +case 194: + // line 1714 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 193: - // line 1706 "./../src/mycompiler/myparser/JavaParser.jay" +case 195: + // line 1720 "./../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()); @@ -2352,8 +2369,8 @@ case 193: yyVal=Ass; } break; -case 194: - // line 1731 "./../src/mycompiler/myparser/JavaParser.jay" +case 196: + // line 1745 "./../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()); @@ -2376,44 +2393,44 @@ case 194: yyVal=Ass; } break; -case 195: - // line 1754 "./../src/mycompiler/myparser/JavaParser.jay" +case 197: + // line 1768 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 196: - // line 1758 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 197: - // line 1762 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 198: - // line 1766 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1772 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 199: - // line 1770 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1776 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 200: - // line 1774 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1780 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 201: + // line 1784 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 202: + // line 1788 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 201: - // line 1785 "./../src/mycompiler/myparser/JavaParser.jay" +case 203: + // line 1799 "./../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])); @@ -2422,8 +2439,8 @@ case 201: yyVal=IfElno; } break; -case 202: - // line 1794 "./../src/mycompiler/myparser/JavaParser.jay" +case 204: + // line 1808 "./../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])); @@ -2431,14 +2448,14 @@ case 202: yyVal=Whstno; } break; -case 203: - // line 1802 "./../src/mycompiler/myparser/JavaParser.jay" +case 205: + // line 1816 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 204: - // line 1806 "./../src/mycompiler/myparser/JavaParser.jay" +case 206: + // line 1820 "./../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()); @@ -2449,20 +2466,20 @@ case 204: yyVal=LogOr; } break; -case 205: - // line 1819 "./../src/mycompiler/myparser/JavaParser.jay" +case 207: + // line 1833 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 206: - // line 1824 "./../src/mycompiler/myparser/JavaParser.jay" +case 208: + // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 207: - // line 1828 "./../src/mycompiler/myparser/JavaParser.jay" +case 209: + // line 1842 "./../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";}|*/ @@ -2472,20 +2489,20 @@ case 207: yyVal=ret; } break; -case 208: - // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" +case 210: + // line 1852 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 209: - // line 1842 "./../src/mycompiler/myparser/JavaParser.jay" +case 211: + // line 1856 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; -case 210: - // line 1847 "./../src/mycompiler/myparser/JavaParser.jay" +case 212: + // line 1861 "./../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])); @@ -2493,87 +2510,87 @@ case 210: yyVal=lambda; } break; -case 211: - // line 1866 "./../src/mycompiler/myparser/JavaParser.jay" +case 213: + // line 1880 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; -case 212: - // line 1871 "./../src/mycompiler/myparser/JavaParser.jay" +case 214: + // line 1885 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 213: - // line 1875 "./../src/mycompiler/myparser/JavaParser.jay" +case 215: + // line 1889 "./../src/mycompiler/myparser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; -case 214: - // line 1880 "./../src/mycompiler/myparser/JavaParser.jay" +case 216: + // line 1894 "./../src/mycompiler/myparser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; -case 215: - // line 1885 "./../src/mycompiler/myparser/JavaParser.jay" +case 217: + // line 1899 "./../src/mycompiler/myparser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; -case 216: - // line 1890 "./../src/mycompiler/myparser/JavaParser.jay" +case 218: + // line 1904 "./../src/mycompiler/myparser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; -case 217: - // line 1895 "./../src/mycompiler/myparser/JavaParser.jay" +case 219: + // line 1909 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; -case 218: - // line 1907 "./../src/mycompiler/myparser/JavaParser.jay" +case 220: + // line 1921 "./../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 219: - // line 1914 "./../src/mycompiler/myparser/JavaParser.jay" +case 221: + // line 1928 "./../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 220: - // line 1921 "./../src/mycompiler/myparser/JavaParser.jay" +case 222: + // line 1935 "./../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 221: - // line 1928 "./../src/mycompiler/myparser/JavaParser.jay" +case 223: + // line 1942 "./../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 222: - // line 1936 "./../src/mycompiler/myparser/JavaParser.jay" +case 224: + // line 1950 "./../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()); @@ -2604,8 +2621,8 @@ case 222: yyVal=MC; } break; -case 223: - // line 1966 "./../src/mycompiler/myparser/JavaParser.jay" +case 225: + // line 1980 "./../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()); @@ -2637,8 +2654,8 @@ case 223: yyVal=MCarg; } break; -case 224: - // line 1997 "./../src/mycompiler/myparser/JavaParser.jay" +case 226: + // line 2011 "./../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()); @@ -2658,8 +2675,8 @@ case 224: yyVal=MCpr; } break; -case 225: - // line 2016 "./../src/mycompiler/myparser/JavaParser.jay" +case 227: + // line 2030 "./../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()); @@ -2680,8 +2697,8 @@ case 225: yyVal=MCPA; } break; -case 226: - // line 2039 "./../src/mycompiler/myparser/JavaParser.jay" +case 228: + // line 2053 "./../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])); @@ -2690,8 +2707,8 @@ case 226: yyVal=NC; } break; -case 227: - // line 2047 "./../src/mycompiler/myparser/JavaParser.jay" +case 229: + // line 2061 "./../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])); @@ -2701,14 +2718,14 @@ case 227: yyVal=NCarg; } break; -case 228: - // line 2057 "./../src/mycompiler/myparser/JavaParser.jay" +case 230: + // line 2071 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 229: - // line 2061 "./../src/mycompiler/myparser/JavaParser.jay" +case 231: + // line 2075 "./../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()); @@ -2719,20 +2736,20 @@ case 229: yyVal=And; } break; -case 230: - // line 2077 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 231: - // line 2081 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 232: - // line 2085 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2091 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 233: + // line 2095 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 234: + // line 2099 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryPlus UP= new UnaryPlus(); @@ -2741,8 +2758,8 @@ case 232: yyVal=POSEX; } break; -case 233: - // line 2093 "./../src/mycompiler/myparser/JavaParser.jay" +case 235: + // line 2107 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryMinus UM=new UnaryMinus(); @@ -2751,20 +2768,20 @@ case 233: yyVal=NEGEX; } break; -case 234: - // line 2101 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 235: - // line 2106 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 236: - // line 2110 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2115 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 237: + // line 2120 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 238: + // line 2124 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2783,38 +2800,38 @@ case 236: } } break; -case 237: - // line 2128 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 238: - // line 2132 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 239: - // line 2137 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 240: // line 2142 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; +case 240: + // line 2146 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 241: + // line 2151 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; case 242: - // line 2148 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2156 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 244: + // line 2162 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; -case 243: - // line 2152 "./../src/mycompiler/myparser/JavaParser.jay" +case 245: + // line 2166 "./../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()); @@ -2823,24 +2840,24 @@ case 243: yyVal=T; } break; -case 244: - // line 2173 "./../src/mycompiler/myparser/JavaParser.jay" +case 246: + // line 2187 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 245: - // line 2177 "./../src/mycompiler/myparser/JavaParser.jay" +case 247: + // line 2191 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 246: - // line 2182 "./../src/mycompiler/myparser/JavaParser.jay" +case 248: + // line 2196 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 247: - // line 2184 "./../src/mycompiler/myparser/JavaParser.jay" +case 249: + // line 2198 "./../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); @@ -2848,75 +2865,75 @@ case 247: yyVal=NE; } break; -case 248: - // line 2190 "./../src/mycompiler/myparser/JavaParser.jay" +case 250: + // line 2204 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; -case 249: - // line 2192 "./../src/mycompiler/myparser/JavaParser.jay" +case 251: + // line 2206 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 251: - // line 2197 "./../src/mycompiler/myparser/JavaParser.jay" +case 253: + // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; -case 252: - // line 2202 "./../src/mycompiler/myparser/JavaParser.jay" +case 254: + // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; -case 253: - // line 2206 "./../src/mycompiler/myparser/JavaParser.jay" +case 255: + // line 2220 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; -case 254: - // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" +case 256: + // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); ST.set_String(((Token)yyVals[0+yyTop]).get_String()); yyVal=ST; } break; -case 255: - // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" +case 257: + // line 2230 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; -case 256: - // line 2220 "./../src/mycompiler/myparser/JavaParser.jay" +case 258: + // line 2234 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); yyVal = FL; } break; -case 257: - // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" +case 259: + // line 2239 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); yyVal = DL; } break; -case 258: - // line 2231 "./../src/mycompiler/myparser/JavaParser.jay" +case 260: + // line 2245 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; -case 259: - // line 2237 "./../src/mycompiler/myparser/JavaParser.jay" +case 261: + // line 2251 "./../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])); @@ -2924,25 +2941,25 @@ case 259: yyVal=CaEx; } break; -case 260: - // line 2246 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 261: - // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" - { - } - break; case 262: - // line 2254 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2260 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 263: - // line 2258 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2264 "./../src/mycompiler/myparser/JavaParser.jay" + { + } + break; +case 264: + // line 2268 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 265: + // line 2272 "./../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()); @@ -2953,8 +2970,8 @@ case 263: yyVal=EQ; } break; -case 264: - // line 2268 "./../src/mycompiler/myparser/JavaParser.jay" +case 266: + // line 2282 "./../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()); @@ -2965,14 +2982,14 @@ case 264: yyVal=NEQ; } break; -case 265: - // line 2279 "./../src/mycompiler/myparser/JavaParser.jay" +case 267: + // line 2293 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 266: - // line 2283 "./../src/mycompiler/myparser/JavaParser.jay" +case 268: + // line 2297 "./../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()); @@ -2983,8 +3000,8 @@ case 266: yyVal=LO; } break; -case 267: - // line 2293 "./../src/mycompiler/myparser/JavaParser.jay" +case 269: + // line 2307 "./../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()); @@ -2995,8 +3012,8 @@ case 267: yyVal=GO; } break; -case 268: - // line 2303 "./../src/mycompiler/myparser/JavaParser.jay" +case 270: + // line 2317 "./../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()); @@ -3007,8 +3024,8 @@ case 268: yyVal=LE; } break; -case 269: - // line 2313 "./../src/mycompiler/myparser/JavaParser.jay" +case 271: + // line 2327 "./../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()); @@ -3019,8 +3036,8 @@ case 269: yyVal=GE; } break; -case 270: - // line 2323 "./../src/mycompiler/myparser/JavaParser.jay" +case 272: + // line 2337 "./../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])); @@ -3028,20 +3045,20 @@ case 270: yyVal=ISO; } break; -case 271: - // line 2331 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; -case 272: - // line 2336 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 273: - // line 2340 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2345 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 274: + // line 2350 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 275: + // line 2354 "./../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()); @@ -3052,8 +3069,8 @@ case 273: yyVal=AD; } break; -case 274: - // line 2350 "./../src/mycompiler/myparser/JavaParser.jay" +case 276: + // line 2364 "./../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()); @@ -3064,14 +3081,14 @@ case 274: yyVal=MI; } break; -case 275: - // line 2361 "./../src/mycompiler/myparser/JavaParser.jay" +case 277: + // line 2375 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 276: - // line 2365 "./../src/mycompiler/myparser/JavaParser.jay" +case 278: + // line 2379 "./../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()); @@ -3082,8 +3099,8 @@ case 276: yyVal=ML; } break; -case 277: - // line 2375 "./../src/mycompiler/myparser/JavaParser.jay" +case 279: + // line 2389 "./../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()); @@ -3094,8 +3111,8 @@ case 277: yyVal = DV; } break; -case 278: - // line 2385 "./../src/mycompiler/myparser/JavaParser.jay" +case 280: + // line 2399 "./../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()); @@ -3106,7 +3123,7 @@ case 278: yyVal =MD; } break; - // line 3110 "-" + // line 3127 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; @@ -3140,31 +3157,31 @@ case 278: 0, 98, 26, 26, 25, 92, 92, 27, 27, 105, 105, 23, 24, 24, 22, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 8, 8, 2, 2, 2, - 2, 112, 112, 112, 112, 112, 112, 114, 114, 114, + 2, 112, 112, 112, 112, 112, 112, 115, 115, 115, 7, 7, 40, 40, 28, 32, 32, 3, 3, 33, 33, 15, 15, 41, 41, 41, 41, 41, 41, 29, - 4, 4, 31, 16, 16, 16, 30, 113, 113, 5, - 5, 17, 17, 110, 106, 106, 10, 6, 19, 19, - 11, 11, 11, 11, 11, 13, 42, 42, 107, 107, - 108, 108, 108, 108, 48, 94, 97, 97, 93, 93, - 95, 95, 96, 96, 12, 12, 12, 12, 12, 12, + 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, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 39, 39, 39, 39, 18, - 18, 43, 44, 44, 50, 50, 109, 109, 38, 38, - 14, 14, 36, 36, 37, 20, 80, 80, 49, 49, - 103, 103, 35, 21, 78, 46, 81, 81, 81, 81, - 81, 71, 71, 34, 34, 47, 47, 79, 79, 79, - 79, 86, 87, 83, 84, 84, 84, 84, 84, 84, - 84, 84, 69, 69, 89, 77, 90, 90, 82, 82, - 82, 68, 99, 99, 72, 72, 72, 72, 72, 72, - 88, 85, 67, 67, 101, 45, 45, 51, 51, 70, - 102, 100, 100, 100, 100, 100, 100, 73, 74, 75, - 76, 104, 104, 104, 104, 91, 91, 66, 66, 57, - 57, 57, 57, 57, 55, 55, 55, 55, 54, 65, - 65, 53, 53, 53, 53, 56, 56, 56, 64, 64, - 52, 52, 52, 52, 52, 52, 52, 52, 111, 63, - 63, 62, 62, 62, 61, 61, 61, 61, 61, 61, - 60, 59, 59, 59, 58, 58, 58, 58, + 12, 12, 12, 12, 12, 12, 12, 39, 39, 39, + 39, 18, 18, 43, 44, 44, 50, 50, 109, 109, + 38, 38, 14, 14, 36, 36, 37, 20, 80, 80, + 49, 49, 103, 103, 35, 21, 78, 46, 81, 81, + 81, 81, 81, 71, 71, 34, 34, 47, 47, 79, + 79, 79, 79, 86, 87, 83, 84, 84, 84, 84, + 84, 84, 84, 84, 69, 69, 89, 77, 90, 90, + 82, 82, 82, 68, 99, 99, 72, 72, 72, 72, + 72, 72, 88, 85, 67, 67, 101, 45, 45, 51, + 51, 70, 102, 100, 100, 100, 100, 100, 100, 73, + 74, 75, 76, 104, 104, 104, 104, 91, 91, 66, + 66, 57, 57, 57, 57, 57, 55, 55, 55, 55, + 54, 65, 65, 53, 53, 53, 53, 56, 56, 56, + 64, 64, 52, 52, 52, 52, 52, 52, 52, 52, + 111, 63, 63, 62, 62, 62, 61, 61, 61, 61, + 61, 61, 60, 59, 59, 59, 58, 58, 58, 58, }; protected static final short yyLen [] = { 2, 1, 3, 1, 2, 3, 1, 2, 1, 1, 1, @@ -3173,1027 +3190,1023 @@ case 278: 5, 1, 4, 1, 3, 6, 3, 1, 3, 3, 2, 3, 1, 2, 2, 2, 3, 2, 3, 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 1, 2, 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, + 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, }; protected static final short yyDefRed [] = { 0, 58, 0, 59, 56, 55, 54, 0, 57, 0, 10, 11, 0, 43, 0, 6, 0, 0, 0, 0, 0, 0, 44, 7, 0, 0, 0, 0, 16, 0, 0, - 0, 0, 0, 28, 0, 0, 0, 0, 96, 97, - 0, 15, 0, 45, 60, 63, 46, 143, 165, 164, - 0, 0, 0, 0, 41, 72, 0, 73, 0, 0, - 52, 64, 0, 0, 0, 146, 0, 145, 153, 144, + 0, 0, 0, 28, 0, 0, 0, 0, 98, 99, + 0, 15, 0, 45, 60, 63, 46, 145, 167, 166, + 0, 0, 0, 0, 41, 74, 0, 75, 0, 0, + 52, 64, 0, 0, 0, 148, 0, 147, 155, 146, 0, 0, 0, 0, 66, 0, 65, 18, 0, 0, - 20, 0, 50, 0, 48, 0, 61, 71, 70, 0, + 20, 0, 50, 0, 48, 0, 61, 73, 72, 0, 0, 0, 0, 30, 17, 0, 0, 29, 0, 0, - 0, 27, 0, 67, 0, 74, 0, 0, 0, 103, - 0, 132, 86, 0, 124, 42, 53, 0, 83, 81, - 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, - 0, 0, 0, 0, 0, 75, 22, 47, 25, 49, - 62, 78, 0, 51, 19, 0, 21, 31, 101, 0, - 98, 0, 0, 0, 34, 0, 0, 0, 243, 0, - 251, 255, 257, 256, 252, 258, 253, 254, 0, 0, - 0, 185, 87, 0, 0, 130, 0, 8, 0, 0, - 168, 0, 147, 0, 0, 242, 239, 0, 0, 245, - 0, 196, 197, 0, 0, 170, 157, 133, 148, 160, - 161, 158, 159, 169, 171, 195, 0, 0, 115, 141, - 150, 0, 135, 0, 0, 0, 139, 0, 154, 131, - 0, 0, 0, 0, 0, 9, 0, 234, 275, 0, - 0, 265, 0, 0, 0, 0, 0, 0, 0, 183, - 162, 80, 230, 231, 237, 238, 163, 184, 244, 248, - 89, 0, 127, 129, 109, 84, 0, 0, 0, 0, - 125, 0, 0, 0, 76, 0, 91, 0, 0, 0, - 23, 0, 0, 0, 0, 0, 69, 0, 0, 187, - 0, 0, 0, 218, 219, 208, 0, 0, 0, 0, - 88, 134, 156, 205, 0, 0, 220, 221, 186, 216, - 217, 213, 214, 215, 212, 0, 149, 0, 142, 104, - 0, 122, 0, 0, 0, 0, 232, 233, 247, 0, + 0, 27, 0, 67, 0, 76, 0, 0, 0, 105, + 0, 134, 88, 0, 126, 42, 53, 0, 85, 83, + 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, + 0, 0, 0, 0, 0, 77, 22, 47, 25, 49, + 62, 80, 0, 51, 19, 0, 21, 31, 103, 0, + 100, 68, 0, 0, 0, 0, 245, 0, 253, 257, + 259, 258, 254, 260, 255, 256, 0, 0, 0, 187, + 89, 0, 0, 132, 0, 8, 0, 0, 170, 0, + 149, 0, 0, 244, 241, 0, 0, 247, 0, 198, + 199, 0, 0, 172, 159, 135, 150, 162, 163, 160, + 161, 171, 173, 197, 0, 0, 117, 143, 152, 0, + 137, 0, 0, 0, 141, 0, 156, 133, 0, 0, + 0, 0, 0, 9, 0, 236, 277, 0, 0, 267, + 0, 0, 0, 0, 0, 0, 0, 185, 164, 82, + 232, 233, 239, 240, 165, 186, 246, 250, 91, 0, + 129, 131, 111, 86, 0, 0, 0, 0, 127, 0, + 0, 0, 78, 0, 93, 0, 0, 0, 23, 0, + 0, 71, 0, 0, 189, 0, 0, 0, 220, 221, + 210, 0, 0, 0, 0, 90, 136, 158, 207, 0, + 0, 222, 223, 188, 218, 219, 215, 216, 217, 214, + 0, 151, 0, 144, 106, 0, 124, 0, 0, 0, + 0, 234, 235, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 90, 0, 0, 116, - 0, 111, 85, 0, 93, 92, 0, 0, 102, 0, - 39, 40, 0, 37, 0, 0, 0, 188, 0, 209, - 12, 222, 151, 0, 206, 210, 207, 0, 193, 194, - 136, 0, 0, 140, 0, 0, 276, 277, 278, 0, - 0, 270, 268, 269, 266, 267, 0, 0, 0, 0, - 0, 0, 0, 79, 0, 0, 0, 0, 94, 0, - 33, 0, 0, 0, 0, 0, 0, 0, 223, 0, - 119, 110, 226, 0, 259, 0, 0, 137, 0, 77, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, - 0, 191, 190, 174, 152, 224, 0, 227, 120, 112, - 138, 36, 182, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 181, 180, 0, 179, 0, 0, 0, - 0, 0, 173, 178, 177, 176, 0, 0, 0, 175, - 0, 202, 0, 201, + 0, 92, 0, 0, 118, 0, 113, 87, 0, 95, + 94, 0, 0, 104, 69, 0, 0, 0, 190, 0, + 211, 12, 224, 153, 0, 208, 212, 209, 0, 195, + 196, 138, 0, 0, 142, 0, 0, 278, 279, 280, + 0, 0, 272, 270, 271, 268, 269, 0, 0, 0, + 0, 0, 0, 0, 81, 0, 0, 0, 0, 96, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 121, + 112, 228, 0, 261, 0, 0, 139, 0, 79, 0, + 0, 0, 0, 0, 0, 0, 0, 174, 0, 193, + 192, 176, 154, 226, 0, 229, 122, 114, 140, 184, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, + 183, 182, 0, 181, 0, 0, 0, 0, 0, 175, + 180, 179, 178, 0, 0, 0, 177, 0, 204, 0, + 203, }; protected static final short yyDgoto [] = { 9, 10, 11, 34, 86, 87, 88, 28, 17, 19, 89, - 56, 57, 58, 59, 60, 61, 62, 175, 64, 176, - 66, 226, 178, 0, 0, 0, 179, 29, 44, 68, - 47, 30, 35, 69, 70, 71, 72, 218, 180, 12, - 13, 181, 113, 182, 366, 183, 184, 115, 213, 287, - 185, 186, 187, 188, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 190, - 363, 191, 243, 244, 245, 246, 196, 0, 197, 198, - 199, 431, 200, 201, 432, 202, 203, 433, 204, 205, - 247, 14, 39, 40, 150, 111, 41, 0, 248, 306, - 295, 207, 364, 249, 15, 75, 76, 136, 269, 77, - 250, 154, 104, 155, + 56, 57, 58, 59, 60, 61, 62, 173, 64, 174, + 66, 224, 176, 0, 0, 0, 177, 29, 44, 68, + 47, 30, 35, 69, 70, 71, 72, 216, 178, 12, + 13, 179, 113, 180, 357, 181, 182, 115, 211, 282, + 183, 184, 185, 186, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 188, + 354, 189, 241, 242, 243, 244, 194, 0, 195, 196, + 197, 419, 198, 199, 420, 200, 201, 421, 202, 203, + 245, 14, 39, 40, 150, 111, 41, 0, 246, 301, + 290, 205, 355, 247, 15, 75, 76, 136, 267, 77, + 248, 0, 153, 104, 0, }; - protected static final short yySindex [] = { 363, - 0, -245, 0, 0, 0, 0, -200, 0, 0, 0, - 0, 431, 0, 363, 0, 88, -114, 132, -80, -245, - -200, 0, 0, -81, -74, -74, 3463, 0, -98, 5, - -81, -74, 3508, 0, 8, -114, -80, -54, 0, 0, - 9, 0, 171, 0, 0, 0, 0, 0, 0, 0, - 123, -34, 211, -81, 0, 0, 123, 0, 11, 3543, - 0, 0, 118, 203, 228, 0, 87, 0, 0, 0, - 222, 268, 312, 747, 0, 238, 0, 0, 5, -74, - 0, 22, 0, 211, 0, 3571, 0, 0, 0, 307, - -34, 747, -74, 0, 0, -98, 5, 0, 8, -74, - -81, 0, -62, 0, 3073, 0, 211, 11, -30, 0, - 74, 0, 0, -74, 0, 0, 0, 69, 0, 0, - 997, -24, 282, 291, 11, 139, 0, 322, 69, -34, - -81, 11, 84, 238, 3155, 0, 0, 0, 0, 0, - 0, 0, 89, 0, 0, 5, 0, 0, 0, 355, - 0, 343, -64, 95, 0, 366, 368, 478, 0, 373, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, - 101, 0, 0, -6, 361, 0, 171, 0, 115, 69, - 0, 3264, 0, 356, 91, 0, 0, 370, 47, 0, - 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, - 0, 69, 0, 26, -81, 159, 0, 380, 0, 0, - -74, -6, 101, 101, 101, 0, 47, 0, 0, 274, - 305, 0, 25, 10, 389, 337, 304, 131, 133, 0, + protected static final short yySindex [] = { 350, + 0, -263, 0, 0, 0, 0, -230, 0, 0, 0, + 0, 548, 0, 350, 0, 29, -99, 61, -92, -263, + -230, 0, 0, -155, -133, -133, 3458, 0, -89, -9, + -155, -133, 3503, 0, -7, -99, -92, -93, 0, 0, + 3, 0, 144, 0, 0, 0, 0, 0, 0, 0, + 88, -85, 193, -155, 0, 0, 88, 0, -42, 3538, + 0, 0, 143, 212, 211, 0, 73, 0, 0, 0, + 187, 188, 276, 396, 0, 174, 0, 0, -9, -133, + 0, 127, 0, 193, 0, 3566, 0, 0, 0, 243, + -85, 396, -133, 0, 0, -89, -9, 0, -7, -133, + -155, 0, 296, 0, 3068, 0, 193, -42, -39, 0, + 137, 0, 0, -133, 0, 0, 0, 21, 0, 0, + 992, -28, 242, 273, -42, 150, 0, 275, 21, -85, + -155, -42, 71, 174, 3150, 0, 0, 0, 0, 0, + 0, 0, 86, 0, 0, -9, 0, 0, 0, 266, + 0, 0, 177, 334, 336, 597, 0, 351, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1039, 1039, 0, + 0, -13, 361, 0, 144, 0, 91, 21, 0, 3259, + 0, 335, 89, 0, 0, 376, -248, 0, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 997, 390, 11, 141, - 0, 211, 11, 181, 0, 416, 0, 3318, 3366, 36, - 0, -74, -62, -74, -74, -37, 0, 528, 997, 0, - 400, 997, 115, 0, 0, 0, 266, 165, 461, 361, - 0, 0, 0, 0, 560, 166, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 997, 0, 321, 0, 0, - -34, 0, -34, -74, 428, 41, 0, 0, 0, 101, - 101, 101, 101, 101, -74, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 0, 0, 997, 0, - 187, 0, 0, 681, 0, 0, 3418, 997, 0, 147, - 0, 0, 409, 0, 757, 415, 434, 0, 435, 0, - 0, 0, 0, 289, 0, 0, 0, 439, 0, 0, - 0, 11, 11, 0, 800, 101, 0, 0, 0, 274, - 274, 0, 0, 0, 0, 0, 25, 25, 10, 389, - 337, 304, 131, 0, -34, -34, 421, 290, 0, 424, - 0, -62, 839, 427, 871, 1051, 1595, 997, 0, 898, - 0, 0, 0, 297, 0, 11, 11, 0, 430, 0, - 150, 1595, 449, 926, 953, 432, 455, 460, 0, 0, - 245, 0, 0, 0, 0, 0, 308, 0, 0, 0, - 0, 0, 0, 1595, 1595, 464, 1595, 469, 970, 997, - 997, 1595, 0, 0, 0, 1595, 0, 1595, 1595, 475, - 476, 485, 0, 0, 0, 0, 1595, 1051, 1051, 0, - 262, 0, 1051, 0, + 0, 0, 0, 0, 117, 0, 0, 0, 0, 21, + 0, 53, -155, 186, 0, 391, 0, 0, -133, -13, + 1039, 1039, 1039, 0, -248, 0, 0, 399, 303, 0, + -3, 23, 401, 353, 321, 151, 155, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, + 0, 0, 0, 0, 992, 403, -42, 181, 0, 193, + -42, 259, 0, 422, 0, 3313, 3361, 22, 0, -133, + 296, 0, 624, 992, 0, 412, 992, 91, 0, 0, + 0, 341, 171, 651, 361, 0, 0, 0, 0, 668, + 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 992, 0, 299, 0, 0, -85, 0, -85, -133, 444, + 15, 0, 0, 0, 1039, 1039, 1039, 1039, 1039, -133, + 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 0, 0, 992, 0, 236, 0, 0, 695, 0, + 0, 3413, 992, 0, 0, 722, 426, 447, 0, 448, + 0, 0, 0, 0, 354, 0, 0, 0, 451, 0, + 0, 0, -42, -42, 0, 752, 1039, 0, 0, 0, + 399, 399, 0, 0, 0, 0, 0, -3, -3, 23, + 401, 353, 321, 151, 0, -85, -85, 436, 365, 0, + 437, 769, 440, 814, 1100, 1590, 992, 0, 867, 0, + 0, 0, 373, 0, -42, -42, 0, 449, 0, 1590, + 472, 894, 938, 455, 475, 480, 0, 0, 261, 0, + 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, + 1590, 1590, 490, 1590, 494, 965, 992, 992, 1590, 0, + 0, 0, 1590, 0, 1590, 1590, 499, 504, 505, 0, + 0, 0, 0, 1590, 1100, 1100, 0, 269, 0, 1100, + 0, }; protected static final short yyRindex [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 532, 0, -110, 0, -78, 0, 0, + 0, 0, 0, 549, 0, -96, 0, -83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 179, 0, 0, - 0, 0, 1270, 0, 0, 0, 0, 0, 0, 0, - 1977, 0, 690, 0, 0, 0, 0, 0, -13, 0, - 0, 0, 0, 0, 244, 0, -29, 0, 0, 0, - 334, 344, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -52, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 230, 0, 0, + 0, 0, 1265, 0, 0, 0, 0, 0, 0, 0, + 495, 0, -38, 0, 0, 0, 0, 0, 17, 0, + 0, 0, 0, 0, 271, 0, 286, 0, 0, 0, + 126, 166, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 15, 0, 0, 244, 0, 0, - 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, - 0, 193, 242, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, - 0, 0, 0, 0, 479, 0, 402, 0, 619, 0, - 0, 0, 0, 0, 0, 0, 0, 1325, 0, 0, - 0, 0, 0, -27, -25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -43, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, - 0, 0, 0, 0, 0, 0, 3209, 0, 0, 2849, - 2233, 0, 2429, 2484, 1379, 1433, 1684, 1738, 1776, 0, + 0, 0, 0, 0, 27, 0, 0, 271, 0, 0, + 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, - 0, 247, 37, 0, 0, -39, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 409, 0, 0, 0, + 0, 0, 492, 0, 208, 0, 561, 0, 0, 0, + 0, 0, 0, 0, 0, 1320, 0, 0, 0, 0, + 0, -58, -52, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -27, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, + 0, 0, 0, 0, 3204, 0, 0, 2844, 2228, 0, + 2424, 2479, 1374, 1428, 1679, 1733, 1771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1813, 0, 0, 0, 0, 0, 0, 480, + 0, 0, 0, 0, 0, 0, 75, 0, 0, 272, + 83, 0, 0, -43, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1808, 0, 0, + 0, 0, 0, 0, 497, 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, 239, 0, 0, 0, 0, + 262, 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, 1240, 0, 0, + 0, 0, 1235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 55, 0, 0, 0, 0, 0, 0, 2903, - 2958, 0, 0, 0, 0, 0, 2598, 2789, 2538, 1873, - 2064, 2124, 2178, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 84, 85, 0, 0, 0, 0, 0, 0, + 2898, 2953, 0, 0, 0, 0, 0, 2593, 2784, 2533, + 1868, 2059, 2119, 2173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 56, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3019, 0, + 0, 0, 0, 0, 95, 115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, + 0, }; protected static final short yyGindex [] = { 0, - 0, 0, 24, 0, 459, 0, 28, 526, 533, 0, - 0, 70, 0, -50, 0, 487, 0, 38, 486, 77, - -82, 524, 0, 0, 0, 0, 1131, 522, -95, -20, - 49, 39, 525, 0, 0, 341, -67, 0, -23, 73, - 17, -36, 0, -99, 0, 0, 0, -94, 257, 102, - 0, 0, 0, 0, -105, 0, 365, 13, 0, -2, - 48, 237, 249, 265, 256, 236, 0, 0, 272, 0, - 246, 0, -87, -33, -15, 40, 0, 0, -352, -160, - 1343, -176, 0, 0, 0, 0, 0, 0, 0, 0, - 301, 0, -26, 508, 0, 481, 549, 0, 75, 0, - 0, 0, -297, 108, 597, 0, 540, 489, 0, 0, - 0, -229, 0, 339, + 0, 0, 37, 0, 476, 0, 51, 544, 553, 0, + 0, 55, 0, -23, 0, 515, 0, 18, 503, 6, + -5, 479, 0, 0, 0, 0, 1432, 542, -97, -16, + 12, 13, 543, 0, 0, 363, -80, 0, -19, 279, + 34, -46, 0, -109, 0, 0, 0, 7, 278, 202, + 0, 0, 0, 0, -105, 0, -57, -190, 0, 245, + -84, 258, 263, 257, 260, 264, 0, 0, 288, 0, + -117, 0, -87, -53, -35, 20, 0, 0, -337, -165, + 1791, -123, 0, 0, 0, 0, 0, 0, 0, 0, + 291, 0, -29, 493, 0, 465, 578, 0, 47, 0, + 0, 0, -303, 87, 596, 0, 537, 478, 0, 0, + 0, 0, 0, 0, 0, }; - protected static final short yyTable [] = { 189, - 153, 108, 244, 73, 45, 46, 243, 15, 27, 91, - 210, 46, 26, 209, 106, 200, 251, 192, 217, 305, - 112, 292, 125, 132, 27, 153, 211, 110, 22, 189, - 255, 198, 149, 199, 286, 268, 73, 261, 15, 211, - 125, 132, 33, 350, 24, 121, 398, 192, 80, 129, - 133, 93, 101, 429, 113, 16, 78, 81, 94, 46, - 98, 68, 91, 95, 63, 101, 309, 79, 143, 308, - 102, 193, 46, 106, 97, 109, 189, 414, 123, 259, - 83, 376, 263, 139, 328, 212, 329, 95, 114, 194, - 22, 211, 263, 45, 192, 107, 348, 63, 212, 74, - 18, 193, 90, 65, 110, 92, 137, 292, 22, 121, - 126, 117, 437, 105, 118, 429, 429, 215, 113, 194, - 429, 108, 148, 145, 147, 315, 122, 27, 138, 307, - 33, 123, 74, 225, 146, 216, 65, 106, 276, 211, - 222, 144, 123, 223, 195, 224, 103, 24, 193, 128, - 212, 95, 114, 25, 289, 90, 277, 26, 92, 107, - 288, 118, 189, 189, 340, 312, 194, 26, 342, 347, - 264, 26, 421, 271, 195, 117, 119, 105, 118, 206, - 192, 192, 118, 26, 215, 108, 292, 32, 310, 24, - 276, 31, 313, 276, 220, 15, 154, 256, 212, 154, - 45, 15, 341, 274, 349, 258, 351, 352, 401, 206, - 214, 442, 208, 100, 154, 15, 15, 290, 374, 38, - 275, 195, 99, 252, 118, 211, 42, 48, 68, 100, - 103, 49, 68, 48, 193, 193, 32, 49, 152, 343, - 99, 189, 208, 50, 68, 105, 15, 100, 15, 50, - 109, 48, 194, 194, 32, 49, 206, 382, 365, 192, - 372, 120, 373, 353, 244, 244, 107, 50, 243, 243, - 169, 68, 300, 301, 302, 303, 169, 411, 412, 304, - 237, 237, 238, 238, 212, 38, 35, 130, 121, 208, - 154, 471, 472, 45, 169, 337, 474, 325, 308, 114, - 189, 189, 130, 38, 35, 154, 360, 195, 195, 308, - 322, 330, 123, 193, 331, 320, 189, 396, 192, 192, - 321, 439, 440, 383, 384, 385, 386, 326, 327, 409, - 419, 194, 408, 408, 192, 380, 381, 438, 189, 189, - 408, 189, 206, 206, 416, 417, 189, 323, 453, 324, - 189, 408, 189, 189, 297, 298, 192, 192, 124, 192, - 135, 189, 189, 189, 192, 142, 242, 189, 192, 219, - 192, 192, 193, 193, 253, 208, 208, 387, 388, 192, - 192, 192, 257, 254, 262, 192, 195, 159, 193, 270, - 194, 194, 272, 161, 162, 163, 164, 165, 166, 167, - 168, 42, 273, 281, 118, 278, 194, 279, 170, 171, - 193, 193, 282, 193, 293, 296, 48, 299, 193, 294, - 49, 206, 193, 314, 193, 193, 332, 334, 194, 194, - 333, 194, 50, 193, 193, 193, 194, 335, 336, 193, - 194, 9, 194, 194, 48, 195, 195, 9, 49, 311, - 339, 194, 194, 194, 208, 344, 15, 194, 358, 84, - 50, 195, 9, 15, 15, 361, 368, 375, 402, 15, - 15, 15, 15, 405, 406, 407, 15, 395, 410, 418, - 206, 206, 420, 195, 195, 424, 195, 42, 441, 444, - 449, 195, 68, 225, 450, 195, 206, 195, 195, 451, - 222, 362, 338, 223, 456, 224, 195, 195, 195, 458, - 225, 452, 195, 208, 208, 467, 468, 222, 206, 206, - 223, 206, 224, 356, 357, 469, 206, 359, 473, 208, - 206, 1, 206, 206, 284, 285, 280, 167, 166, 126, - 367, 206, 206, 206, 141, 36, 117, 206, 43, 43, - 67, 208, 208, 37, 208, 43, 43, 96, 127, 208, - 225, 99, 316, 208, 371, 208, 208, 222, 389, 48, - 223, 393, 224, 49, 208, 208, 208, 369, 48, 82, - 208, 390, 49, 67, 394, 50, 355, 317, 318, 319, - 392, 126, 225, 400, 50, 126, 43, 67, 391, 222, - 404, 128, 223, 43, 224, 128, 370, 126, 151, 43, - 23, 260, 53, 134, 354, 43, 43, 128, 0, 1, - 0, 169, 265, 43, 0, 2, 0, 0, 177, 0, - 0, 3, 43, 0, 126, 0, 0, 43, 4, 5, - 6, 0, 0, 7, 128, 43, 8, 0, 423, 0, - 426, 0, 0, 435, 0, 236, 236, 0, 177, 236, - 236, 236, 236, 236, 0, 236, 0, 0, 0, 446, - 448, 0, 0, 0, 0, 0, 0, 236, 236, 211, - 236, 0, 105, 0, 377, 378, 379, 1, 0, 0, - 0, 0, 0, 20, 460, 461, 462, 43, 0, 3, - 0, 0, 68, 0, 0, 177, 4, 5, 6, 9, - 9, 21, 236, 225, 8, 9, 9, 9, 9, 0, - 222, 397, 9, 223, 0, 224, 0, 0, 0, 0, - 0, 0, 0, 154, 0, 221, 0, 0, 0, 43, - 415, 0, 236, 236, 43, 43, 0, 159, 154, 15, - 154, 0, 221, 161, 162, 163, 164, 165, 166, 167, - 168, 42, 0, 0, 159, 0, 0, 0, 170, 171, - 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, - 15, 0, 0, 0, 0, 170, 171, 0, 0, 225, - 0, 177, 177, 0, 0, 43, 222, 43, 43, 223, - 0, 224, 221, 0, 0, 0, 131, 0, 0, 0, - 0, 0, 0, 0, 159, 403, 0, 0, 0, 0, - 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, - 0, 43, 225, 0, 221, 170, 171, 43, 0, 222, - 413, 0, 223, 0, 224, 0, 159, 0, 43, 0, - 0, 0, 161, 162, 163, 164, 165, 166, 167, 168, - 42, 0, 0, 0, 43, 0, 0, 170, 171, 0, - 177, 225, 0, 0, 0, 236, 236, 0, 222, 422, - 236, 223, 0, 224, 0, 0, 0, 236, 0, 0, - 0, 236, 236, 0, 236, 236, 236, 0, 0, 0, - 0, 0, 236, 225, 0, 0, 0, 0, 0, 236, - 222, 0, 0, 223, 0, 224, 0, 0, 0, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 0, 425, - 225, 0, 211, 211, 211, 211, 0, 222, 436, 211, - 223, 0, 224, 0, 0, 0, 0, 15, 0, 0, - 0, 15, 0, 0, 0, 221, 0, 0, 225, 0, - 0, 0, 0, 15, 0, 222, 445, 159, 223, 0, - 224, 0, 0, 161, 162, 163, 164, 165, 166, 167, - 168, 42, 0, 0, 0, 225, 0, 0, 170, 171, - 15, 0, 222, 447, 0, 223, 0, 224, 0, 0, - 0, 0, 225, 1, 48, 0, 0, 0, 49, 222, - 459, 0, 223, 0, 224, 3, 0, 0, 0, 0, - 50, 0, 4, 5, 6, 0, 0, 0, 0, 225, - 8, 221, 0, 0, 0, 0, 222, 130, 0, 223, - 0, 224, 0, 159, 0, 0, 0, 84, 0, 161, - 162, 163, 164, 165, 166, 167, 168, 42, 0, 0, - 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, - 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, - 174, 0, 161, 162, 163, 164, 165, 166, 167, 168, - 42, 0, 0, 0, 0, 0, 0, 170, 171, 172, - 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, - 0, 161, 162, 163, 164, 165, 166, 167, 168, 42, - 0, 0, 0, 0, 0, 221, 170, 171, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, - 0, 0, 0, 161, 162, 163, 164, 165, 166, 167, - 168, 42, 221, 105, 0, 0, 0, 0, 170, 171, - 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, - 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, - 221, 0, 0, 0, 0, 170, 171, 0, 0, 0, - 0, 0, 159, 0, 0, 0, 0, 0, 161, 162, - 163, 164, 165, 166, 167, 168, 42, 221, 0, 0, - 0, 0, 0, 170, 171, 0, 0, 0, 0, 159, - 0, 0, 0, 0, 221, 161, 162, 163, 164, 165, - 166, 167, 168, 42, 0, 0, 159, 0, 0, 0, - 170, 171, 161, 162, 163, 164, 165, 166, 167, 168, - 42, 221, 0, 0, 0, 0, 0, 170, 171, 0, - 0, 0, 0, 159, 0, 0, 0, 0, 0, 161, - 162, 163, 164, 165, 166, 167, 168, 42, 79, 80, - 283, 283, 0, 0, 170, 171, 68, 68, 0, 68, - 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, - 0, 156, 427, 0, 0, 0, 0, 0, 68, 0, - 0, 68, 0, 158, 0, 0, 0, 159, 0, 0, - 0, 0, 428, 161, 162, 163, 164, 165, 166, 167, - 168, 42, 0, 283, 283, 283, 0, 0, 170, 171, - 68, 235, 235, 68, 80, 235, 235, 235, 235, 235, - 0, 235, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 235, 235, 0, 235, 0, 0, 0, - 0, 0, 68, 68, 68, 0, 0, 0, 0, 0, + protected static final short yyTable [] = { 187, + 200, 208, 245, 240, 106, 156, 201, 73, 45, 46, + 112, 15, 249, 91, 287, 46, 215, 190, 246, 149, + 156, 15, 156, 27, 110, 266, 26, 281, 108, 187, + 33, 202, 65, 27, 80, 389, 93, 16, 276, 24, + 73, 79, 15, 83, 63, 22, 101, 190, 97, 125, + 132, 191, 15, 129, 133, 367, 323, 417, 324, 292, + 293, 109, 403, 46, 102, 65, 91, 125, 132, 192, + 18, 94, 143, 98, 187, 123, 46, 63, 128, 78, + 81, 191, 343, 152, 115, 108, 95, 90, 24, 210, + 126, 138, 190, 304, 125, 425, 303, 45, 97, 192, + 287, 110, 210, 209, 144, 123, 257, 22, 146, 261, + 279, 280, 122, 27, 207, 33, 209, 417, 417, 261, + 31, 310, 417, 218, 193, 22, 191, 371, 372, 137, + 284, 253, 103, 116, 256, 148, 283, 333, 259, 123, + 90, 109, 119, 107, 192, 38, 145, 147, 115, 108, + 262, 204, 210, 120, 193, 347, 348, 342, 125, 350, + 187, 187, 97, 312, 313, 314, 209, 42, 25, 128, + 101, 26, 358, 110, 100, 32, 287, 300, 190, 190, + 213, 204, 26, 305, 24, 26, 118, 128, 139, 344, + 307, 206, 26, 118, 308, 285, 269, 116, 214, 193, + 210, 119, 45, 103, 302, 109, 119, 107, 254, 130, + 105, 365, 191, 191, 209, 107, 385, 120, 48, 15, + 271, 206, 49, 15, 213, 391, 204, 130, 393, 48, + 192, 192, 109, 49, 50, 15, 187, 110, 272, 373, + 378, 379, 336, 356, 48, 50, 114, 9, 49, 239, + 239, 345, 15, 9, 190, 240, 240, 368, 369, 370, + 50, 167, 15, 335, 245, 245, 206, 337, 9, 320, + 120, 121, 167, 101, 411, 102, 414, 123, 124, 423, + 246, 246, 363, 210, 364, 193, 193, 167, 191, 187, + 187, 101, 45, 102, 433, 435, 135, 209, 70, 321, + 322, 142, 118, 270, 187, 74, 192, 190, 190, 404, + 212, 92, 204, 204, 132, 156, 387, 338, 447, 448, + 449, 217, 190, 250, 325, 187, 187, 326, 187, 132, + 156, 458, 459, 187, 251, 255, 461, 187, 74, 187, + 187, 191, 191, 190, 190, 318, 190, 319, 187, 187, + 187, 190, 206, 206, 187, 190, 191, 190, 190, 192, + 192, 193, 405, 406, 92, 252, 190, 190, 190, 400, + 401, 260, 190, 273, 192, 274, 70, 191, 191, 332, + 191, 351, 303, 128, 303, 191, 268, 128, 204, 191, + 277, 191, 191, 288, 398, 192, 192, 397, 192, 128, + 191, 191, 191, 192, 118, 408, 191, 192, 397, 192, + 192, 427, 428, 426, 193, 193, 397, 289, 192, 192, + 192, 291, 440, 130, 192, 397, 128, 130, 206, 193, + 295, 296, 297, 298, 309, 317, 294, 299, 327, 130, + 315, 204, 204, 48, 329, 316, 328, 49, 15, 156, + 193, 193, 156, 193, 15, 131, 204, 330, 193, 50, + 331, 339, 193, 334, 193, 193, 130, 156, 15, 15, + 349, 352, 359, 193, 193, 193, 306, 204, 204, 193, + 204, 206, 206, 366, 394, 204, 84, 395, 396, 204, + 399, 204, 204, 48, 407, 409, 206, 49, 412, 15, + 204, 204, 204, 43, 43, 67, 204, 429, 70, 50, + 43, 43, 431, 436, 437, 9, 9, 206, 206, 438, + 206, 9, 9, 9, 9, 206, 386, 439, 9, 206, + 443, 206, 206, 48, 445, 460, 42, 49, 67, 454, + 206, 206, 206, 70, 455, 456, 206, 70, 1, 50, + 169, 43, 67, 48, 57, 168, 48, 49, 43, 70, + 49, 141, 128, 36, 43, 374, 375, 376, 377, 50, + 43, 43, 50, 37, 117, 127, 53, 96, 43, 99, + 362, 43, 311, 175, 380, 382, 70, 43, 360, 383, + 381, 361, 43, 151, 384, 258, 42, 238, 238, 167, + 43, 238, 238, 238, 238, 238, 1, 238, 82, 23, + 134, 263, 2, 175, 0, 0, 0, 0, 3, 238, + 238, 213, 238, 0, 0, 4, 5, 6, 0, 223, + 7, 0, 0, 8, 0, 0, 220, 0, 0, 221, + 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, + 43, 0, 1, 48, 238, 275, 223, 49, 175, 0, + 0, 0, 0, 220, 3, 0, 221, 0, 222, 50, + 0, 4, 5, 6, 0, 0, 0, 0, 0, 8, + 0, 0, 346, 223, 238, 238, 130, 0, 0, 0, + 220, 353, 43, 221, 0, 222, 84, 43, 43, 0, + 223, 0, 0, 0, 0, 0, 0, 220, 0, 15, + 221, 0, 222, 0, 0, 0, 15, 15, 0, 0, + 0, 0, 15, 15, 15, 15, 0, 223, 0, 15, + 0, 0, 0, 0, 220, 388, 0, 221, 0, 222, + 0, 0, 0, 0, 175, 175, 0, 0, 43, 43, + 0, 57, 57, 0, 223, 0, 57, 0, 0, 0, + 0, 220, 0, 57, 221, 0, 222, 0, 57, 0, + 57, 57, 57, 0, 0, 0, 0, 0, 57, 0, + 392, 43, 0, 0, 223, 57, 0, 43, 0, 0, + 105, 220, 402, 0, 221, 57, 222, 0, 43, 0, + 0, 223, 0, 0, 1, 0, 0, 0, 220, 410, + 20, 221, 0, 222, 43, 0, 3, 238, 238, 0, + 175, 0, 238, 4, 5, 6, 0, 0, 21, 238, + 0, 8, 0, 238, 238, 0, 238, 238, 238, 0, + 0, 0, 0, 0, 238, 0, 223, 0, 0, 0, + 0, 238, 0, 220, 0, 0, 221, 0, 222, 0, + 0, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 0, 219, 413, 0, 213, 213, 213, 213, 0, 0, + 0, 213, 0, 157, 0, 0, 0, 0, 0, 159, + 160, 161, 162, 163, 164, 165, 166, 42, 219, 223, + 0, 0, 0, 0, 168, 169, 220, 424, 0, 221, + 157, 222, 0, 0, 0, 0, 159, 160, 161, 162, + 163, 164, 165, 166, 42, 219, 223, 0, 0, 0, + 0, 168, 169, 220, 432, 0, 221, 157, 222, 0, + 0, 0, 219, 159, 160, 161, 162, 163, 164, 165, + 166, 42, 0, 0, 157, 0, 0, 0, 168, 169, + 159, 160, 161, 162, 163, 164, 165, 166, 42, 219, + 223, 0, 0, 0, 0, 168, 169, 220, 434, 0, + 221, 157, 222, 0, 0, 0, 0, 159, 160, 161, + 162, 163, 164, 165, 166, 42, 219, 223, 0, 0, + 0, 0, 168, 169, 220, 446, 0, 221, 157, 222, + 0, 0, 0, 0, 159, 160, 161, 162, 163, 164, + 165, 166, 42, 0, 223, 0, 219, 0, 0, 168, + 169, 220, 0, 0, 221, 0, 222, 0, 157, 0, + 0, 0, 0, 219, 159, 160, 161, 162, 163, 164, + 165, 166, 42, 0, 0, 157, 0, 0, 0, 168, + 169, 159, 160, 161, 162, 163, 164, 165, 166, 42, + 0, 223, 0, 0, 0, 0, 168, 169, 220, 0, + 0, 221, 0, 222, 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 249, 0, 0, 235, 249, - 249, 249, 249, 249, 249, 249, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 249, 249, 0, - 249, 0, 0, 0, 0, 0, 0, 0, 235, 235, - 283, 283, 283, 283, 283, 0, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 0, 0, 240, - 240, 0, 249, 240, 240, 240, 240, 240, 240, 240, + 157, 0, 0, 0, 0, 0, 159, 160, 161, 162, + 163, 164, 165, 166, 42, 0, 0, 0, 0, 0, + 0, 168, 169, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 0, 219, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 157, 0, 0, 0, 0, 170, 159, + 160, 161, 162, 163, 164, 165, 166, 42, 219, 0, + 0, 0, 0, 0, 168, 169, 0, 0, 0, 0, + 157, 0, 0, 0, 0, 0, 159, 160, 161, 162, + 163, 164, 165, 166, 42, 0, 0, 0, 0, 0, + 0, 168, 169, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 219, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 105, 0, 157, 0, 0, 0, 0, 0, + 159, 160, 161, 162, 163, 164, 165, 166, 42, 219, + 0, 0, 0, 0, 0, 168, 169, 0, 0, 0, + 0, 157, 0, 0, 0, 0, 0, 159, 160, 161, + 162, 163, 164, 165, 166, 42, 219, 0, 0, 0, + 0, 0, 168, 169, 0, 0, 0, 0, 157, 0, + 0, 0, 0, 0, 159, 160, 161, 162, 163, 164, + 165, 166, 42, 81, 82, 0, 0, 0, 0, 168, + 169, 70, 70, 0, 70, 70, 70, 70, 70, 70, + 70, 70, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 70, 0, 157, 70, 0, 0, 0, + 0, 159, 160, 161, 162, 163, 164, 165, 166, 42, + 0, 0, 0, 0, 0, 0, 168, 169, 0, 0, + 0, 0, 0, 0, 0, 70, 237, 237, 70, 82, + 237, 237, 237, 237, 237, 0, 237, 0, 0, 0, + 154, 415, 0, 0, 0, 0, 0, 0, 237, 237, + 0, 237, 156, 0, 0, 0, 157, 70, 70, 70, + 0, 416, 159, 160, 161, 162, 163, 164, 165, 166, + 42, 0, 0, 0, 0, 0, 0, 168, 169, 0, + 251, 0, 0, 237, 251, 251, 251, 251, 251, 251, + 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 251, 251, 0, 251, 0, 0, 0, 0, + 0, 0, 0, 237, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 240, 240, 0, 240, 0, 80, 80, 0, 0, - 0, 80, 249, 249, 0, 0, 283, 0, 80, 0, - 0, 0, 0, 80, 0, 80, 80, 80, 0, 0, - 0, 0, 0, 80, 0, 0, 68, 68, 0, 0, - 80, 68, 0, 0, 0, 0, 0, 0, 68, 0, - 80, 0, 68, 68, 0, 68, 68, 68, 0, 0, - 0, 68, 0, 68, 0, 0, 240, 240, 0, 0, - 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 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, 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, 174, 249, 249, 0, 0, 0, - 249, 0, 0, 0, 0, 0, 0, 249, 0, 0, - 0, 249, 249, 172, 249, 249, 249, 0, 0, 0, - 0, 0, 249, 0, 0, 0, 0, 0, 0, 249, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, - 249, 249, 249, 249, 249, 249, 249, 249, 0, 240, - 240, 0, 0, 0, 240, 0, 0, 0, 0, 0, - 0, 240, 0, 0, 0, 240, 240, 0, 240, 240, - 240, 0, 0, 0, 0, 0, 240, 105, 0, 0, - 228, 228, 0, 240, 228, 228, 228, 228, 228, 228, - 228, 0, 0, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 228, 228, 0, 228, 0, 0, 430, 434, + 0, 0, 0, 0, 242, 242, 0, 251, 242, 242, + 242, 242, 242, 242, 242, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 242, 242, 0, 242, + 0, 82, 82, 0, 0, 0, 82, 251, 251, 0, + 0, 0, 0, 82, 0, 0, 0, 0, 82, 0, + 82, 82, 82, 0, 0, 0, 0, 0, 82, 0, + 0, 70, 70, 0, 0, 82, 70, 0, 0, 0, + 0, 0, 0, 70, 0, 82, 0, 70, 70, 0, + 70, 70, 70, 0, 0, 0, 70, 0, 70, 0, + 0, 242, 242, 0, 0, 70, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 0, 0, 237, 237, 0, 0, + 0, 237, 0, 0, 0, 0, 0, 0, 237, 0, + 0, 0, 237, 237, 0, 237, 237, 237, 0, 278, + 278, 0, 0, 237, 0, 0, 0, 0, 0, 0, + 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 172, + 251, 251, 0, 0, 0, 251, 0, 0, 0, 0, + 0, 0, 251, 0, 0, 0, 251, 251, 170, 251, + 251, 251, 278, 278, 278, 0, 0, 251, 0, 0, + 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 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, 105, 0, 0, 230, 230, 0, 242, 230, + 230, 230, 230, 230, 230, 230, 0, 0, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 230, 230, 0, + 230, 0, 0, 0, 0, 0, 278, 278, 278, 278, + 278, 0, 278, 278, 278, 278, 278, 278, 278, 278, + 278, 278, 278, 0, 0, 0, 0, 0, 0, 205, + 205, 0, 230, 205, 205, 205, 205, 205, 205, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 443, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 203, 0, 228, 203, 203, - 203, 203, 203, 203, 203, 0, 454, 455, 0, 457, - 0, 0, 0, 0, 463, 0, 203, 203, 464, 203, - 465, 466, 0, 0, 0, 0, 0, 0, 228, 470, - 430, 434, 192, 192, 0, 463, 192, 192, 192, 192, - 192, 192, 192, 0, 0, 0, 0, 0, 0, 0, - 0, 203, 0, 0, 192, 192, 0, 192, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, - 236, 0, 0, 236, 236, 236, 236, 236, 0, 236, - 0, 203, 203, 0, 0, 156, 157, 0, 0, 192, - 0, 236, 236, 0, 236, 0, 0, 158, 0, 0, - 0, 159, 0, 0, 0, 0, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 42, 0, 0, 0, 192, - 192, 0, 170, 171, 0, 0, 236, 0, 0, 250, - 0, 0, 0, 250, 250, 250, 250, 250, 250, 250, + 0, 205, 205, 0, 205, 0, 0, 0, 278, 0, + 0, 0, 0, 230, 0, 0, 0, 194, 194, 0, + 0, 194, 194, 194, 194, 194, 194, 194, 0, 0, + 0, 0, 0, 0, 0, 0, 205, 0, 0, 194, + 194, 0, 194, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 238, 238, 0, 0, 238, 238, + 238, 238, 238, 0, 238, 0, 205, 205, 0, 0, + 154, 155, 0, 0, 194, 0, 238, 238, 0, 238, + 0, 0, 156, 0, 0, 0, 157, 0, 0, 0, + 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 42, 0, 0, 0, 194, 194, 0, 168, 169, 0, + 0, 238, 0, 0, 252, 0, 0, 0, 252, 252, + 252, 252, 252, 252, 252, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 252, 252, 0, 252, + 0, 238, 238, 0, 0, 230, 230, 0, 0, 0, + 230, 0, 0, 0, 0, 0, 0, 230, 0, 0, + 0, 230, 230, 0, 230, 230, 230, 0, 0, 0, + 0, 252, 230, 0, 0, 0, 0, 0, 0, 230, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 0, 205, + 205, 252, 252, 0, 205, 0, 0, 0, 0, 0, + 0, 205, 0, 0, 0, 205, 205, 0, 205, 205, + 205, 0, 0, 0, 0, 0, 205, 0, 0, 0, + 0, 0, 0, 205, 0, 0, 0, 194, 194, 0, + 0, 0, 194, 205, 205, 205, 205, 205, 205, 194, + 205, 205, 0, 194, 194, 0, 194, 194, 194, 0, + 0, 0, 0, 0, 194, 0, 0, 0, 0, 0, + 0, 194, 0, 0, 238, 238, 0, 0, 0, 238, + 0, 194, 194, 194, 194, 194, 238, 194, 194, 194, + 238, 238, 0, 238, 238, 238, 0, 0, 0, 0, + 0, 238, 0, 0, 0, 243, 243, 0, 238, 243, + 243, 243, 243, 243, 243, 243, 0, 0, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 243, 243, 0, + 243, 0, 0, 0, 252, 252, 0, 0, 0, 252, + 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, + 252, 252, 0, 252, 252, 252, 0, 0, 0, 0, + 0, 252, 0, 0, 0, 231, 231, 0, 252, 231, + 231, 231, 231, 231, 231, 231, 0, 0, 252, 252, + 252, 252, 252, 252, 252, 252, 252, 231, 231, 0, + 231, 0, 243, 243, 0, 418, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 250, 250, 0, 250, 0, 236, 236, 0, 0, - 228, 228, 0, 0, 0, 228, 0, 0, 0, 0, - 0, 0, 228, 0, 0, 0, 228, 228, 0, 228, - 228, 228, 0, 0, 0, 0, 250, 228, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 0, 203, 203, 250, 250, 0, 203, - 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, - 203, 203, 0, 203, 203, 203, 0, 0, 0, 0, - 0, 203, 0, 0, 0, 0, 0, 0, 203, 0, - 0, 0, 192, 192, 0, 0, 57, 192, 203, 203, - 203, 203, 203, 203, 192, 203, 203, 0, 192, 192, - 0, 192, 192, 192, 0, 0, 0, 0, 0, 192, - 0, 0, 0, 0, 0, 0, 192, 0, 0, 236, - 236, 0, 0, 0, 236, 0, 192, 192, 192, 192, - 192, 236, 192, 192, 192, 236, 236, 0, 236, 236, - 236, 0, 0, 0, 0, 0, 236, 0, 0, 0, - 241, 241, 0, 236, 241, 241, 241, 241, 241, 241, - 241, 0, 0, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 241, 241, 0, 241, 0, 0, 0, 250, - 250, 0, 0, 0, 250, 0, 0, 0, 0, 0, - 0, 250, 0, 0, 0, 250, 250, 0, 250, 250, - 250, 0, 0, 0, 0, 0, 250, 0, 0, 0, - 229, 229, 0, 250, 229, 229, 229, 229, 229, 229, - 229, 0, 0, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 229, 229, 0, 229, 0, 241, 241, 0, + 430, 0, 0, 0, 0, 0, 0, 0, 0, 206, + 206, 0, 231, 206, 206, 206, 206, 206, 206, 206, + 0, 441, 442, 0, 444, 0, 0, 0, 0, 450, + 0, 206, 206, 451, 206, 452, 453, 0, 0, 0, + 0, 0, 0, 231, 457, 418, 422, 0, 0, 0, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 273, 273, 206, 0, 273, 273, + 0, 273, 0, 273, 273, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 273, 273, 0, 273, + 0, 0, 0, 0, 0, 0, 206, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 243, 243, 0, 0, 0, + 243, 273, 0, 0, 0, 0, 0, 243, 0, 0, + 0, 243, 243, 0, 243, 243, 243, 0, 0, 0, + 0, 0, 243, 0, 0, 0, 0, 0, 0, 243, + 0, 273, 273, 0, 0, 0, 0, 0, 0, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 0, 0, + 0, 0, 0, 0, 0, 231, 231, 0, 0, 0, + 231, 0, 0, 0, 0, 0, 0, 231, 0, 0, + 0, 231, 231, 0, 231, 231, 231, 0, 0, 0, + 0, 0, 231, 0, 0, 0, 0, 0, 0, 231, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 0, 206, + 206, 0, 0, 0, 206, 0, 0, 0, 0, 0, + 0, 206, 0, 0, 0, 206, 206, 0, 206, 206, + 206, 0, 0, 0, 0, 0, 206, 0, 0, 0, + 264, 264, 0, 206, 264, 264, 264, 264, 264, 264, + 264, 0, 0, 206, 206, 206, 206, 206, 206, 0, + 206, 206, 264, 0, 273, 273, 0, 0, 0, 273, + 0, 0, 0, 0, 0, 0, 273, 0, 0, 0, + 273, 273, 0, 273, 273, 273, 0, 0, 0, 0, + 0, 273, 0, 0, 0, 262, 262, 264, 273, 262, + 262, 262, 262, 262, 262, 262, 0, 0, 273, 273, + 273, 273, 273, 273, 273, 273, 273, 262, 262, 0, + 262, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 204, 204, 0, 229, 204, 204, - 204, 204, 204, 204, 204, 0, 0, 0, 0, 0, - 0, 0, 0, 57, 57, 0, 204, 204, 57, 204, - 0, 0, 0, 0, 0, 57, 0, 0, 229, 0, - 57, 0, 57, 57, 57, 0, 0, 0, 0, 0, - 57, 0, 0, 0, 0, 0, 0, 57, 0, 271, - 271, 204, 0, 271, 271, 0, 271, 57, 271, 271, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, + 263, 0, 262, 263, 263, 263, 263, 263, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 271, 271, 0, 271, 0, 0, 0, 0, 0, - 0, 204, 204, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 241, 241, 0, 0, 0, 241, 271, 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, 271, 271, 0, 0, - 0, 0, 0, 0, 241, 241, 241, 241, 241, 241, - 241, 241, 241, 0, 0, 0, 0, 0, 0, 0, - 229, 229, 0, 0, 0, 229, 0, 0, 0, 0, - 0, 0, 229, 0, 0, 0, 229, 229, 0, 229, - 229, 229, 0, 0, 0, 0, 0, 229, 0, 0, - 0, 0, 0, 0, 229, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 0, 204, 204, 0, 0, 0, 204, - 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, - 204, 204, 0, 204, 204, 204, 0, 0, 0, 0, - 0, 204, 0, 0, 0, 262, 262, 0, 204, 262, - 262, 262, 262, 262, 262, 262, 0, 0, 204, 204, - 204, 204, 204, 204, 0, 204, 204, 262, 0, 271, - 271, 0, 0, 0, 271, 0, 0, 0, 0, 0, - 0, 271, 0, 0, 0, 271, 271, 0, 271, 271, - 271, 0, 0, 0, 0, 0, 271, 0, 0, 0, - 260, 260, 262, 271, 260, 260, 260, 260, 260, 260, - 260, 0, 0, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 260, 260, 0, 260, 0, 0, 0, 0, + 0, 263, 263, 0, 263, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 261, 261, 0, 260, 261, 261, - 261, 261, 261, 261, 261, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 261, 261, 0, 261, - 0, 0, 0, 0, 0, 0, 0, 260, 260, 0, + 0, 0, 0, 0, 0, 0, 263, 0, 0, 265, + 265, 0, 0, 265, 265, 265, 265, 265, 265, 265, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 265, 0, 0, 0, 0, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 261, 0, 0, 263, 263, 0, 0, 263, 263, - 263, 263, 263, 263, 263, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, - 0, 261, 261, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, - 262, 263, 0, 0, 0, 0, 0, 262, 0, 0, - 0, 0, 262, 0, 262, 262, 262, 0, 0, 0, + 264, 264, 0, 0, 0, 264, 265, 0, 0, 0, + 0, 0, 264, 0, 0, 0, 0, 264, 0, 264, + 264, 264, 0, 0, 0, 0, 0, 264, 0, 0, + 0, 0, 0, 0, 264, 0, 265, 265, 0, 0, + 0, 0, 0, 0, 264, 264, 0, 0, 264, 264, + 264, 264, 264, 0, 0, 262, 262, 0, 0, 0, + 262, 0, 0, 0, 0, 0, 0, 262, 0, 0, + 0, 262, 262, 0, 262, 262, 262, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 0, 0, 262, - 0, 263, 263, 0, 0, 0, 0, 0, 0, 262, - 262, 0, 0, 262, 262, 262, 262, 262, 0, 0, - 260, 260, 0, 0, 0, 260, 0, 0, 0, 0, - 0, 0, 260, 0, 0, 0, 260, 260, 0, 260, - 260, 260, 0, 0, 0, 0, 0, 260, 0, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 260, 260, 0, 260, - 260, 260, 260, 0, 261, 261, 0, 0, 0, 261, - 0, 0, 0, 0, 0, 0, 261, 0, 0, 0, - 261, 261, 0, 261, 261, 261, 0, 0, 0, 0, - 0, 261, 0, 0, 0, 264, 264, 0, 261, 264, - 264, 264, 264, 264, 264, 264, 0, 0, 261, 0, - 261, 261, 0, 261, 261, 261, 261, 264, 0, 0, - 0, 0, 0, 0, 263, 263, 0, 0, 0, 263, - 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, - 0, 263, 0, 263, 263, 263, 0, 0, 0, 0, - 0, 263, 264, 0, 0, 0, 272, 0, 263, 272, - 0, 272, 272, 272, 272, 0, 0, 0, 263, 263, - 0, 0, 263, 263, 263, 263, 263, 272, 272, 0, - 272, 0, 264, 264, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, + 0, 262, 262, 0, 262, 262, 262, 262, 0, 263, + 263, 0, 0, 0, 263, 0, 0, 0, 0, 0, + 0, 263, 0, 0, 0, 263, 263, 0, 263, 263, + 263, 0, 0, 0, 0, 0, 263, 0, 0, 0, + 266, 266, 0, 263, 266, 266, 266, 266, 266, 266, + 266, 0, 0, 263, 0, 263, 263, 0, 263, 263, + 263, 263, 266, 0, 0, 0, 0, 0, 0, 265, + 265, 0, 0, 0, 265, 0, 0, 0, 0, 0, + 0, 265, 0, 0, 0, 0, 265, 0, 265, 265, + 265, 0, 0, 0, 0, 0, 265, 266, 0, 0, + 0, 274, 0, 265, 274, 0, 274, 274, 274, 274, + 0, 0, 0, 265, 265, 0, 0, 265, 265, 265, + 265, 265, 274, 274, 0, 274, 0, 266, 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 273, 0, 272, 273, 0, 273, 273, 273, 273, 0, + 0, 0, 0, 0, 0, 275, 0, 274, 275, 0, + 275, 275, 275, 275, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 275, 275, 0, 275, + 0, 0, 0, 0, 0, 0, 0, 274, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 273, 273, 0, 273, 0, 0, 0, 0, 0, - 0, 0, 272, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 274, 273, 0, 274, 0, - 274, 274, 274, 274, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 274, 274, 0, 274, - 0, 0, 0, 0, 0, 0, 273, 273, 0, 0, + 276, 275, 0, 276, 0, 276, 276, 276, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, - 264, 274, 0, 0, 0, 0, 0, 264, 157, 0, - 0, 0, 264, 0, 264, 264, 264, 0, 0, 0, - 0, 0, 264, 0, 0, 0, 0, 157, 0, 264, - 0, 274, 274, 0, 0, 0, 0, 0, 0, 264, - 264, 0, 0, 264, 264, 264, 264, 264, 0, 0, - 0, 0, 0, 0, 0, 272, 272, 0, 0, 0, - 272, 0, 174, 0, 0, 0, 0, 272, 0, 0, - 0, 272, 272, 0, 272, 272, 272, 0, 0, 0, - 0, 172, 272, 0, 0, 0, 0, 0, 0, 272, - 0, 157, 0, 157, 0, 0, 0, 0, 0, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 0, 273, - 273, 0, 0, 0, 273, 0, 0, 0, 0, 0, - 0, 273, 0, 0, 0, 273, 273, 0, 273, 273, - 273, 0, 0, 0, 0, 0, 273, 0, 0, 0, - 0, 0, 0, 273, 174, 105, 0, 173, 0, 0, - 0, 0, 0, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 0, 172, 274, 274, 0, 0, 0, 274, - 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, - 274, 274, 0, 274, 274, 274, 0, 0, 0, 0, - 0, 274, 0, 0, 0, 246, 246, 0, 274, 246, - 246, 246, 246, 246, 246, 246, 0, 0, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 246, 246, 0, - 246, 0, 0, 0, 0, 0, 157, 105, 0, 267, - 157, 0, 0, 0, 0, 189, 0, 0, 0, 157, - 157, 0, 157, 0, 0, 0, 0, 0, 0, 0, - 0, 157, 246, 174, 0, 157, 0, 0, 0, 0, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 0, 0, 172, 0, 0, 0, 157, 157, 0, 0, - 48, 0, 246, 246, 49, 0, 0, 0, 0, 0, - 0, 0, 0, 156, 157, 0, 50, 0, 0, 0, - 0, 0, 0, 0, 0, 158, 0, 174, 0, 159, - 0, 0, 0, 0, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 0, 0, 172, 0, 0, 0, - 170, 171, 0, 0, 0, 0, 105, 0, 291, 0, + 0, 276, 276, 0, 276, 0, 0, 0, 0, 0, + 0, 275, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, - 0, 0, 48, 0, 0, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 172, 156, 157, 0, 50, 0, - 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, - 105, 266, 345, 0, 0, 0, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 0, 174, 0, 0, - 0, 0, 170, 171, 0, 246, 246, 0, 0, 0, - 246, 0, 0, 0, 0, 0, 172, 246, 0, 0, - 0, 246, 246, 0, 246, 246, 246, 0, 105, 0, - 346, 0, 246, 0, 0, 0, 0, 0, 0, 246, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, - 246, 246, 246, 246, 246, 246, 0, 0, 0, 0, - 0, 48, 54, 0, 0, 49, 0, 0, 0, 0, - 0, 0, 0, 0, 156, 157, 0, 50, 0, 0, - 105, 0, 399, 0, 0, 0, 158, 0, 0, 0, - 159, 0, 0, 0, 0, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 0, 0, 54, 0, 0, - 0, 170, 171, 0, 0, 48, 0, 0, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 55, 156, 157, + 266, 266, 0, 0, 0, 266, 276, 0, 0, 0, + 0, 0, 266, 159, 0, 0, 0, 266, 0, 266, + 266, 266, 0, 0, 0, 0, 0, 266, 0, 0, + 0, 0, 159, 0, 266, 0, 276, 276, 0, 0, + 0, 0, 0, 0, 266, 266, 0, 0, 266, 266, + 266, 266, 266, 0, 0, 0, 0, 0, 0, 0, + 274, 274, 0, 0, 0, 274, 0, 172, 0, 0, + 0, 0, 274, 0, 0, 0, 274, 274, 0, 274, + 274, 274, 0, 0, 0, 0, 170, 274, 0, 0, + 0, 0, 0, 0, 274, 0, 159, 0, 159, 0, + 0, 0, 0, 0, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 0, 275, 275, 0, 0, 0, 275, + 0, 0, 0, 0, 0, 0, 275, 0, 0, 0, + 275, 275, 0, 275, 275, 275, 0, 0, 0, 0, + 0, 275, 0, 0, 0, 0, 0, 0, 275, 172, + 105, 0, 171, 0, 0, 0, 0, 0, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 0, 170, 276, + 276, 0, 0, 0, 276, 0, 0, 0, 0, 0, + 0, 276, 0, 0, 0, 276, 276, 0, 276, 276, + 276, 0, 0, 0, 0, 0, 276, 0, 0, 0, + 248, 248, 0, 276, 248, 248, 248, 248, 248, 248, + 248, 0, 0, 276, 276, 276, 276, 276, 276, 276, + 276, 276, 248, 248, 0, 248, 0, 0, 0, 0, + 0, 159, 105, 0, 265, 159, 0, 0, 0, 0, + 191, 0, 0, 0, 159, 159, 0, 159, 0, 0, + 0, 0, 0, 0, 0, 0, 159, 248, 172, 0, + 159, 0, 0, 0, 0, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 0, 0, 170, 0, 0, + 0, 159, 159, 0, 0, 48, 0, 248, 248, 49, + 0, 0, 0, 0, 0, 0, 0, 0, 154, 155, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 158, 0, 54, 0, 159, 0, 0, 0, 0, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 0, - 0, 0, 0, 48, 0, 170, 171, 49, 0, 0, - 54, 0, 85, 0, 0, 0, 156, 157, 0, 50, - 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, - 0, 0, 159, 0, 0, 0, 0, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 116, 0, 0, - 0, 0, 0, 170, 171, 48, 0, 0, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 156, 157, - 0, 50, 0, 0, 0, 140, 0, 0, 0, 0, - 158, 0, 0, 0, 159, 0, 0, 0, 0, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 1, - 48, 0, 0, 0, 49, 170, 171, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 50, 0, 4, 5, - 6, 0, 0, 0, 0, 0, 51, 0, 0, 0, - 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 53, 1, 48, 0, 0, 0, 49, - 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 156, 0, 172, 0, 157, 0, 0, 0, 0, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 0, + 0, 170, 0, 0, 0, 168, 169, 0, 0, 0, + 0, 105, 0, 286, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 0, 0, 0, 0, 0, 0, 48, 0, 0, + 0, 49, 0, 0, 0, 0, 0, 0, 0, 170, + 154, 155, 0, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 156, 0, 0, 105, 264, 340, 0, 0, + 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 0, 172, 0, 0, 0, 0, 168, 169, 0, + 248, 248, 0, 0, 0, 248, 0, 0, 0, 0, + 0, 170, 248, 0, 0, 0, 248, 248, 0, 248, + 248, 248, 0, 105, 0, 341, 0, 248, 0, 0, + 0, 0, 0, 0, 248, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 248, 248, 248, 248, 248, 248, + 248, 0, 0, 0, 0, 0, 48, 54, 0, 0, + 49, 0, 0, 0, 0, 0, 0, 0, 0, 154, + 155, 0, 50, 0, 0, 105, 0, 390, 0, 0, + 0, 156, 0, 0, 0, 157, 0, 0, 0, 0, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 0, 0, 54, 0, 0, 0, 168, 169, 0, 0, + 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, + 0, 0, 55, 154, 155, 0, 50, 0, 0, 0, + 0, 0, 0, 0, 0, 156, 0, 54, 0, 157, + 0, 0, 0, 0, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 0, 0, 0, 0, 48, 0, + 168, 169, 49, 0, 0, 54, 0, 85, 0, 0, + 0, 154, 155, 0, 50, 0, 0, 0, 0, 0, + 0, 0, 0, 156, 0, 0, 0, 157, 0, 0, + 0, 0, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 116, 0, 0, 0, 0, 0, 168, 169, + 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, + 0, 0, 0, 154, 155, 0, 50, 0, 0, 0, + 140, 0, 0, 0, 0, 156, 0, 0, 0, 157, + 0, 0, 0, 0, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 1, 48, 0, 0, 0, 49, + 168, 169, 0, 0, 0, 0, 3, 0, 0, 0, 0, 50, 0, 4, 5, 6, 0, 0, 0, 0, - 0, 8, 0, 0, 0, 0, 0, 0, 52, 1, - 48, 0, 0, 0, 49, 0, 0, 0, 84, 0, + 0, 51, 0, 0, 0, 0, 0, 0, 52, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, + 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 50, 0, 4, 5, - 6, 0, 0, 0, 0, 0, 51, 1, 48, 0, - 0, 0, 49, 52, 0, 0, 0, 0, 0, 3, - 0, 0, 0, 53, 50, 0, 4, 5, 6, 0, - 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, - 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 84, + 6, 0, 0, 0, 0, 0, 8, 0, 0, 0, + 0, 0, 0, 52, 1, 48, 0, 0, 0, 49, + 0, 0, 0, 84, 0, 0, 3, 0, 0, 0, + 0, 50, 0, 4, 5, 6, 0, 0, 0, 0, + 0, 51, 1, 48, 0, 0, 0, 49, 52, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 53, 50, + 0, 4, 5, 6, 0, 0, 0, 0, 0, 8, + 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 84, }; - protected short yyCheck[] = new short[3873]; + protected short yyCheck[] = new short[3868]; } class yyCheck0 { protected static final short yyCheck0 [] = { 105, - 63, 52, 46, 27, 25, 26, 46, 60, 123, 33, - 41, 32, 123, 108, 51, 59, 41, 105, 114, 61, - 57, 182, 73, 74, 123, 63, 109, 54, 12, 135, - 125, 59, 100, 59, 41, 135, 60, 132, 91, 122, - 91, 92, 123, 273, 123, 59, 344, 135, 44, 73, - 74, 44, 44, 406, 59, 301, 29, 30, 35, 80, - 37, 91, 86, 36, 27, 44, 41, 29, 92, 44, - 62, 105, 93, 59, 36, 40, 182, 375, 59, 130, - 32, 41, 133, 62, 60, 109, 62, 59, 59, 105, - 74, 174, 143, 114, 182, 59, 61, 60, 122, 27, - 301, 135, 33, 27, 131, 33, 79, 268, 92, 123, - 73, 59, 410, 59, 59, 468, 469, 44, 123, 135, - 473, 59, 99, 96, 97, 221, 40, 123, 80, 212, - 123, 91, 60, 33, 96, 62, 60, 123, 44, 222, - 40, 93, 123, 43, 105, 45, 60, 60, 182, 73, - 174, 123, 123, 268, 40, 86, 62, 268, 86, 123, - 46, 44, 268, 269, 259, 216, 182, 282, 263, 269, - 133, 282, 402, 146, 135, 123, 59, 123, 123, 105, - 268, 269, 44, 282, 44, 123, 347, 268, 215, 268, - 44, 60, 216, 44, 118, 40, 41, 59, 222, 44, - 221, 46, 62, 268, 272, 129, 274, 275, 62, 135, - 109, 62, 105, 268, 59, 60, 61, 180, 314, 301, - 285, 182, 44, 122, 44, 308, 301, 258, 258, 44, - 60, 262, 262, 258, 268, 269, 44, 262, 301, 59, - 62, 347, 135, 274, 274, 123, 91, 62, 301, 274, - 40, 258, 268, 269, 62, 262, 182, 325, 295, 347, - 311, 59, 313, 301, 308, 309, 301, 274, 308, 309, - 301, 301, 314, 315, 316, 317, 301, 372, 373, 321, - 308, 309, 308, 309, 308, 44, 44, 44, 61, 182, - 44, 468, 469, 314, 301, 41, 473, 273, 44, 289, - 406, 407, 59, 62, 62, 59, 41, 268, 269, 44, - 37, 302, 91, 347, 305, 42, 422, 341, 406, 407, - 47, 416, 417, 326, 327, 328, 329, 303, 304, 41, - 41, 347, 44, 44, 422, 323, 324, 41, 444, 445, - 44, 447, 268, 269, 395, 396, 452, 43, 41, 45, - 456, 44, 458, 459, 308, 309, 444, 445, 91, 447, - 123, 467, 468, 469, 452, 59, 121, 473, 456, 301, - 458, 459, 406, 407, 93, 268, 269, 330, 331, 467, - 468, 469, 61, 93, 301, 473, 347, 287, 422, 301, - 406, 407, 38, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 60, 158, 44, 40, 422, 40, 308, 309, - 444, 445, 40, 447, 59, 46, 258, 59, 452, 329, - 262, 347, 456, 44, 458, 459, 38, 124, 444, 445, - 94, 447, 274, 467, 468, 469, 452, 307, 306, 473, - 456, 40, 458, 459, 258, 406, 407, 46, 262, 291, - 61, 467, 468, 469, 347, 40, 301, 473, 59, 301, - 274, 422, 61, 308, 309, 301, 301, 40, 60, 314, - 315, 316, 317, 59, 41, 41, 321, 291, 40, 59, - 406, 407, 59, 444, 445, 59, 447, 301, 59, 41, - 59, 452, 91, 33, 40, 456, 422, 458, 459, 40, - 40, 41, 257, 43, 41, 45, 467, 468, 469, 41, - 33, 267, 473, 406, 407, 41, 41, 40, 444, 445, - 43, 447, 45, 278, 279, 41, 452, 282, 267, 422, - 456, 0, 458, 459, 170, 171, 59, 59, 59, 301, - 295, 467, 468, 469, 86, 20, 60, 473, 25, 26, - 27, 444, 445, 21, 447, 32, 33, 36, 73, 452, - 33, 37, 222, 456, 308, 458, 459, 40, 332, 258, - 43, 336, 45, 262, 467, 468, 469, 306, 258, 31, - 473, 333, 262, 60, 339, 274, 59, 223, 224, 225, - 335, 258, 33, 348, 274, 262, 73, 74, 334, 40, - 355, 258, 43, 80, 45, 262, 306, 274, 101, 86, - 14, 131, 301, 74, 276, 92, 93, 274, -1, 257, - -1, 301, 134, 100, -1, 263, -1, -1, 105, -1, - -1, 269, 109, -1, 301, -1, -1, 114, 276, 277, - 278, -1, -1, 281, 301, 122, 284, -1, 403, -1, - 405, -1, -1, 408, -1, 37, 38, -1, 135, 41, - 42, 43, 44, 45, -1, 47, -1, -1, -1, 424, - 425, -1, -1, -1, -1, -1, -1, 59, 60, 61, - 62, -1, 123, -1, 320, 321, 322, 257, -1, -1, - -1, -1, -1, 263, 449, 450, 451, 174, -1, 269, - -1, -1, 301, -1, -1, 182, 276, 277, 278, 308, - 309, 281, 94, 33, 284, 314, 315, 316, 317, -1, - 40, 41, 321, 43, -1, 45, -1, -1, -1, -1, - -1, -1, -1, 44, -1, 275, -1, -1, -1, 216, - 376, -1, 124, 125, 221, 222, -1, 287, 59, 60, - 61, -1, 275, 293, 294, 295, 296, 297, 298, 299, + 59, 41, 46, 121, 51, 44, 59, 27, 25, 26, + 57, 60, 41, 33, 180, 32, 114, 105, 46, 100, + 59, 60, 61, 123, 54, 135, 123, 41, 52, 135, + 123, 59, 27, 123, 44, 339, 44, 301, 156, 123, + 60, 29, 91, 32, 27, 12, 44, 135, 36, 73, + 74, 105, 91, 73, 74, 41, 60, 395, 62, 308, + 309, 40, 366, 80, 62, 60, 86, 91, 92, 105, + 301, 35, 92, 37, 180, 59, 93, 60, 73, 29, + 30, 135, 61, 103, 59, 59, 36, 33, 60, 109, + 73, 80, 180, 41, 59, 399, 44, 114, 59, 135, + 266, 131, 122, 109, 93, 91, 130, 74, 96, 133, + 168, 169, 40, 123, 108, 123, 122, 455, 456, 143, + 60, 219, 460, 118, 105, 92, 180, 318, 319, 79, + 40, 125, 60, 59, 129, 99, 46, 255, 132, 123, + 86, 59, 59, 59, 180, 301, 96, 97, 123, 123, + 133, 105, 172, 59, 135, 273, 274, 267, 123, 277, + 266, 267, 123, 221, 222, 223, 172, 301, 268, 44, + 44, 268, 290, 59, 268, 268, 342, 61, 266, 267, + 44, 135, 282, 213, 268, 282, 44, 62, 62, 270, + 214, 105, 282, 44, 214, 178, 146, 123, 62, 180, + 220, 59, 219, 60, 210, 123, 123, 123, 59, 44, + 123, 309, 266, 267, 220, 301, 334, 123, 258, 258, + 44, 135, 262, 262, 44, 343, 180, 62, 346, 258, + 266, 267, 40, 262, 274, 274, 342, 123, 62, 320, + 325, 326, 62, 290, 258, 274, 289, 40, 262, 308, + 309, 271, 301, 46, 342, 308, 309, 315, 316, 317, + 274, 301, 301, 257, 308, 309, 180, 261, 61, 273, + 59, 61, 301, 44, 392, 44, 394, 91, 91, 397, + 308, 309, 306, 303, 308, 266, 267, 301, 342, 395, + 396, 62, 309, 62, 412, 413, 123, 303, 91, 303, + 304, 59, 44, 38, 410, 27, 342, 395, 396, 367, + 109, 33, 266, 267, 44, 44, 336, 59, 436, 437, + 438, 301, 410, 122, 302, 431, 432, 305, 434, 59, + 59, 455, 456, 439, 93, 61, 460, 443, 60, 445, + 446, 395, 396, 431, 432, 43, 434, 45, 454, 455, + 456, 439, 266, 267, 460, 443, 410, 445, 446, 395, + 396, 342, 386, 387, 86, 93, 454, 455, 456, 363, + 364, 301, 460, 40, 410, 40, 91, 431, 432, 41, + 434, 41, 44, 258, 44, 439, 301, 262, 342, 443, + 40, 445, 446, 59, 41, 431, 432, 44, 434, 274, + 454, 455, 456, 439, 44, 41, 460, 443, 44, 445, + 446, 405, 406, 41, 395, 396, 44, 329, 454, 455, + 456, 46, 41, 258, 460, 44, 301, 262, 342, 410, + 314, 315, 316, 317, 44, 37, 59, 321, 38, 274, + 42, 395, 396, 258, 124, 47, 94, 262, 40, 41, + 431, 432, 44, 434, 46, 60, 410, 307, 439, 274, + 306, 40, 443, 61, 445, 446, 301, 59, 60, 61, + 59, 301, 301, 454, 455, 456, 291, 431, 432, 460, + 434, 395, 396, 40, 59, 439, 301, 41, 41, 443, + 40, 445, 446, 258, 59, 59, 410, 262, 59, 91, + 454, 455, 456, 25, 26, 27, 460, 59, 301, 274, + 32, 33, 41, 59, 40, 308, 309, 431, 432, 40, + 434, 314, 315, 316, 317, 439, 291, 267, 321, 443, + 41, 445, 446, 258, 41, 267, 301, 262, 60, 41, + 454, 455, 456, 258, 41, 41, 460, 262, 0, 274, + 59, 73, 74, 258, 60, 59, 258, 262, 80, 274, + 262, 86, 301, 20, 86, 321, 322, 323, 324, 274, + 92, 93, 274, 21, 60, 73, 301, 36, 100, 37, + 303, 103, 220, 105, 327, 329, 301, 109, 301, 330, + 328, 301, 114, 101, 331, 131, 301, 37, 38, 301, + 122, 41, 42, 43, 44, 45, 257, 47, 31, 14, + 74, 134, 263, 135, -1, -1, -1, -1, 269, 59, + 60, 61, 62, -1, -1, 276, 277, 278, -1, 33, + 281, -1, -1, 284, -1, -1, 40, -1, -1, 43, + -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, + 172, -1, 257, 258, 94, 59, 33, 262, 180, -1, + -1, -1, -1, 40, 269, -1, 43, -1, 45, 274, + -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, + -1, -1, 59, 33, 124, 125, 291, -1, -1, -1, + 40, 41, 214, 43, -1, 45, 301, 219, 220, -1, + 33, -1, -1, -1, -1, -1, -1, 40, -1, 301, + 43, -1, 45, -1, -1, -1, 308, 309, -1, -1, + -1, -1, 314, 315, 316, 317, -1, 33, -1, 321, + -1, -1, -1, -1, 40, 41, -1, 43, -1, 45, + -1, -1, -1, -1, 266, 267, -1, -1, 270, 271, + -1, 257, 258, -1, 33, -1, 262, -1, -1, -1, + -1, 40, -1, 269, 43, -1, 45, -1, 274, -1, + 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, + 59, 303, -1, -1, 33, 291, -1, 309, -1, -1, + 123, 40, 41, -1, 43, 301, 45, -1, 320, -1, + -1, 33, -1, -1, 257, -1, -1, -1, 40, 41, + 263, 43, -1, 45, 336, -1, 269, 257, 258, -1, + 342, -1, 262, 276, 277, 278, -1, -1, 281, 269, + -1, 284, -1, 273, 274, -1, 276, 277, 278, -1, + -1, -1, -1, -1, 284, -1, 33, -1, -1, -1, + -1, 291, -1, 40, -1, -1, 43, -1, 45, -1, + -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, + -1, 275, 59, -1, 314, 315, 316, 317, -1, -1, + -1, 321, -1, 287, -1, -1, -1, -1, -1, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 275, 33, + -1, -1, -1, -1, 308, 309, 40, 41, -1, 43, + 287, 45, -1, -1, -1, -1, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 275, 33, -1, -1, -1, + -1, 308, 309, 40, 41, -1, 43, 287, 45, -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, - 91, -1, -1, -1, -1, 308, 309, -1, -1, 33, - -1, 268, 269, -1, -1, 272, 40, 274, 275, 43, - -1, 45, 275, -1, -1, -1, 60, -1, -1, -1, - -1, -1, -1, -1, 287, 59, -1, -1, -1, -1, - 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, 308, 33, -1, 275, 308, 309, 314, -1, 40, - 41, -1, 43, -1, 45, -1, 287, -1, 325, -1, - -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, -1, -1, 341, -1, -1, 308, 309, -1, - 347, 33, -1, -1, -1, 257, 258, -1, 40, 41, - 262, 43, -1, 45, -1, -1, -1, 269, -1, -1, - -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, - -1, -1, 284, 33, -1, -1, -1, -1, -1, 291, - 40, -1, -1, 43, -1, 45, -1, -1, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, -1, 59, - 33, -1, 314, 315, 316, 317, -1, 40, 41, 321, - 43, -1, 45, -1, -1, -1, -1, 258, -1, -1, - -1, 262, -1, -1, -1, 275, -1, -1, 33, -1, - -1, -1, -1, 274, -1, 40, 41, 287, 43, -1, - 45, -1, -1, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, -1, -1, 33, -1, -1, 308, 309, - 301, -1, 40, 41, -1, 43, -1, 45, -1, -1, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 275, + 33, -1, -1, -1, -1, 308, 309, 40, 41, -1, + 43, 287, 45, -1, -1, -1, -1, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 275, 33, -1, -1, }; } class yyCheck1 { protected static final short yyCheck1 [] = { -1, - -1, 33, 257, 258, -1, -1, -1, 262, 40, 41, - -1, 43, -1, 45, 269, -1, -1, -1, -1, 274, - -1, 276, 277, 278, -1, -1, -1, -1, 33, 284, - 275, -1, -1, -1, -1, 40, 291, -1, 43, -1, - 45, -1, 287, -1, -1, -1, 301, -1, 293, 294, - 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, - -1, -1, -1, 308, 309, -1, -1, -1, -1, -1, - -1, -1, -1, 275, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 287, -1, -1, -1, 40, - -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, -1, -1, -1, 308, 309, 59, -1, - -1, -1, 275, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, + -1, 308, 309, 40, 41, -1, 43, 287, 45, -1, + -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, 33, -1, 275, -1, -1, 308, 309, + 40, -1, -1, 43, -1, 45, -1, 287, -1, -1, + -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, + 300, 301, -1, -1, 287, -1, -1, -1, 308, 309, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, - -1, -1, -1, -1, 275, 308, 309, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, - -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 275, 123, -1, -1, -1, -1, 308, 309, -1, - -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, 275, + 33, -1, -1, -1, -1, 308, 309, 40, -1, -1, + 43, -1, 45, -1, -1, -1, -1, 275, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 287, + -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, + 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, + 275, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 287, -1, -1, -1, -1, 59, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 275, -1, -1, + -1, -1, -1, 308, 309, -1, -1, -1, -1, 287, + -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, + 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 123, -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, - -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, - 275, -1, -1, -1, -1, -1, 308, 309, -1, -1, - -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 59, 60, 170, - 171, -1, -1, 308, 309, 37, 38, -1, 40, 41, - 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, - 271, 272, -1, -1, -1, -1, -1, 59, -1, -1, - 62, -1, 283, -1, -1, -1, 287, -1, -1, -1, - -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, -1, 223, 224, 225, -1, -1, 308, 309, 91, - 37, 38, 94, 125, 41, 42, 43, 44, 45, -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, -1, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 59, 60, -1, -1, -1, -1, 308, 309, + 37, 38, -1, 40, 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, 123, 124, 125, -1, -1, -1, -1, -1, -1, + -1, -1, 59, -1, 287, 62, -1, -1, -1, -1, + 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, + -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, + -1, -1, -1, -1, 91, 37, 38, 94, 125, 41, + 42, 43, 44, 45, -1, 47, -1, -1, -1, 271, + 272, -1, -1, -1, -1, -1, -1, 59, 60, -1, + 62, 283, -1, -1, -1, 287, 123, 124, 125, -1, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, -1, -1, -1, 308, 309, -1, 37, + -1, -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 37, -1, -1, 94, 41, 42, - 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, - -1, -1, -1, -1, -1, -1, -1, 124, 125, 320, - 321, 322, 323, 324, -1, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, -1, 37, 38, - -1, 94, 41, 42, 43, 44, 45, 46, 47, -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, - 59, 60, -1, 62, -1, 257, 258, -1, -1, -1, - 262, 124, 125, -1, -1, 376, -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, 273, 274, -1, 276, 277, 278, -1, -1, -1, - 282, -1, 284, -1, -1, 124, 125, -1, -1, 291, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, -1, -1, - 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, - -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, - 277, 278, -1, -1, -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, 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, - -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, -1, -1, 406, 407, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 422, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 94, 41, 42, 43, - 44, 45, 46, 47, -1, 444, 445, -1, 447, -1, - -1, -1, -1, 452, -1, 59, 60, 456, 62, 458, - 459, -1, -1, -1, -1, -1, -1, 125, 467, 468, - 469, 37, 38, -1, 473, 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, + 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, + 257, 258, -1, -1, -1, 262, 124, 125, -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, 273, 274, -1, 276, + 277, 278, -1, -1, -1, 282, -1, 284, -1, -1, + 124, 125, -1, -1, 291, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, + 307, 308, 309, -1, -1, 257, 258, -1, -1, -1, + 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, + -1, 273, 274, -1, 276, 277, 278, -1, 168, 169, + -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, 40, 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, 269, -1, -1, -1, 273, 274, 59, 276, 277, + 278, 221, 222, 223, -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, 124, 125, -1, 262, -1, + 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, 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, + -1, -1, -1, -1, -1, 315, 316, 317, 318, 319, + -1, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, -1, -1, -1, -1, -1, -1, 37, 38, + -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 59, 60, -1, 62, -1, -1, -1, 367, -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, + 124, 125, -1, 262, -1, -1, -1, -1, -1, -1, }; } class yyCheck2 { - protected static final short yyCheck2 [] = { -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, - 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, + protected static final short yyCheck2 [] = { 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, - -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, - -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 59, 60, -1, 62, -1, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, 38, -1, 94, 41, 42, 43, 44, - 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, - -1, 257, 258, -1, 59, 60, 262, 62, -1, -1, - -1, -1, -1, 269, -1, -1, 125, -1, 274, -1, - 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, -1, 37, 38, 94, - -1, 41, 42, -1, 44, 301, 46, 47, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - 60, -1, 62, -1, -1, -1, -1, -1, -1, 124, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, - -1, -1, -1, 262, 94, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, 124, 125, -1, -1, -1, -1, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, -1, -1, -1, -1, -1, -1, -1, 257, 258, - -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, - 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, - -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, + -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, + -1, 291, -1, -1, -1, 257, 258, -1, -1, -1, + 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, -1, 308, 309, 59, -1, 257, 258, -1, + 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, + 124, 125, -1, 395, 396, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 410, -1, + -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, + 94, 41, 42, 43, 44, 45, 46, 47, -1, 431, + 432, -1, 434, -1, -1, -1, -1, 439, -1, 59, + 60, 443, 62, 445, 446, -1, -1, -1, -1, -1, + -1, 125, 454, 455, 456, -1, -1, -1, 460, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, 38, 94, -1, 41, 42, -1, 44, + -1, 46, 47, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, + -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 257, 258, -1, -1, -1, 262, 94, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, -1, -1, -1, 291, -1, 124, + 125, -1, -1, -1, -1, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, -1, -1, -1, -1, + -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, + 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, + 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, + 304, 305, 306, 307, 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, - 94, 291, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, - 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, 38, -1, 94, 41, 42, 43, 44, - 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, - -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, - -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, - 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, -1, -1, -1, -1, 124, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 257, 258, -1, -1, -1, 262, 94, - -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, 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, 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, -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, + -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, - 124, 125, -1, -1, -1, -1, -1, -1, -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, -1, - 94, 41, -1, 43, 44, 45, 46, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, + 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 38, 94, -1, 41, -1, 43, 44, + -1, -1, -1, -1, 94, -1, -1, 37, 38, -1, + -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, + -1, -1, -1, 262, 94, -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, 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, + -1, 41, -1, 43, 44, 45, 46, -1, -1, -1, }; } class yyCheck3 { - protected static final short yyCheck3 [] = { 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, + protected static final short yyCheck3 [] = { -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, 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, 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, -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, 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, 60, - -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, - -1, 271, 272, -1, 274, -1, -1, 123, -1, 125, - -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, + -1, -1, -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, 60, -1, -1, -1, 308, 309, - -1, -1, 258, -1, -1, -1, 262, -1, -1, -1, - -1, -1, -1, -1, 125, 271, 272, -1, 274, -1, - -1, -1, -1, -1, -1, -1, -1, 283, -1, 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, 60, -1, 125, - -1, -1, -1, 271, 272, -1, 274, -1, -1, -1, - -1, -1, -1, -1, -1, 283, -1, -1, -1, 287, - -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 125, -1, -1, -1, -1, -1, - 308, 309, 258, -1, -1, -1, 262, -1, -1, -1, + 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, 125, -1, -1, -1, -1, 283, -1, -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, 257, 258, -1, -1, - -1, 262, 308, 309, -1, -1, -1, -1, 269, -1, - -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, - 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 301, 257, 258, -1, -1, -1, 262, -1, -1, -1, + 296, 297, 298, 299, 300, 301, -1, -1, 59, -1, + -1, -1, 308, 309, -1, -1, -1, -1, 123, -1, + 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, + -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, -1, 59, 271, 272, -1, + 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, + -1, -1, 123, 287, 125, -1, -1, -1, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, -1, 40, + -1, -1, -1, -1, 308, 309, -1, 257, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, 59, 269, + -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, + 123, -1, 125, -1, 284, -1, -1, -1, -1, -1, + -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 301, 302, 303, 304, 305, 306, 307, -1, -1, + -1, -1, -1, 258, 60, -1, -1, 262, -1, -1, + -1, -1, -1, -1, -1, -1, 271, 272, -1, 274, + -1, -1, 123, -1, 125, -1, -1, -1, 283, -1, + -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, -1, -1, 60, + -1, -1, -1, 308, 309, -1, -1, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, -1, 125, + 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, + -1, -1, 283, -1, 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, 60, -1, 125, -1, -1, -1, 271, 272, + -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, + 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 125, + -1, -1, -1, -1, -1, 308, 309, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, + 271, 272, -1, 274, -1, -1, -1, 125, -1, -1, + -1, -1, 283, -1, -1, -1, 287, -1, -1, -1, + -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 257, 258, -1, -1, -1, 262, 308, 309, -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 291, 257, 258, -1, -1, - -1, 262, -1, -1, -1, 301, -1, -1, 269, -1, + -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 301, 257, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, - -1, -1, -1, 284, 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, 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, -1, -1, -1, + -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 301, }; } class yyCheckInit { - static short[] yyCheck = new short[3873]; + static short[] yyCheck = new short[3868]; protected static void yyCheckInit () { int numyycheck; int yyCheckerun = 0; for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3873) { + if (yyCheckerun < 3868) { yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3873) { + if (yyCheckerun < 3868) { yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3873) { + if (yyCheckerun < 3868) { yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3873) { + if (yyCheckerun < 3868) { yyCheck[yyCheckerun] = yyCheck3.yyCheck3[numyycheck]; yyCheckerun++; } diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index ad207fae2..69dc34481 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -313,7 +313,8 @@ public Vector testPair = new Vector(); %type explicitconstructorinvocation %type staticinitializer %type castexpression -%type paralist parameter +%type paralist +%type typelist parameter %type wildcardparameter %left ',' %% @@ -785,21 +786,34 @@ classbodydeclaration : classmemberdeclaration classorinterfacetype : simplename parameter { if ($2 != null) { - $1.set_ParaList($2.get_ParaList()); - + //$1.set_ParaList($2.get_ParaList()); + $1.set_ParaList($2);//Änderung von Andreas Stadelmeier. Type statt GenericVarType /* otth: originale (also diese) Parameterliste retten */ - ((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() ); + //((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() ); } $$=$1; } +typelist : type + { + Vector tl = new Vector(); + tl.add($1); + $$ = tl; + } + | typelist ',' type + { + $1.add($3); + $$=$1; + } + /* PL 05-07-28 erg�nzt, weil jeder classorinterfacetype auch parametrisiert sein kann */ +//TODO: Das hier ist möglicherweise falsch. Ein Typ hat keine parameterliste, nur eine Liste von RefTypes parameter : { $$ = null; } - | '<'paralist'>' + | '<'typelist'>'//'<'paralist'>'//typelist statt { $$ = $2; } - + interfacememberdeclaration : constantdeclaration { // SCJU: Interfaces, Spezialform Konstantendef. diff --git a/src/mycompiler/mystatement/CastExpr.java b/src/mycompiler/mystatement/CastExpr.java index fb7b7c8e1..20add38d2 100755 --- a/src/mycompiler/mystatement/CastExpr.java +++ b/src/mycompiler/mystatement/CastExpr.java @@ -6,6 +6,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -27,6 +28,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -149,6 +151,15 @@ public class CastExpr extends UnaryExpr return new JavaCodeResult("(("+this.usedid+")").attach(this.expr.printJavaCode(resultSet)).attach(")"); } + + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/EmptyStmt.java b/src/mycompiler/mystatement/EmptyStmt.java index 112063ddc..b944dcd43 100755 --- a/src/mycompiler/mystatement/EmptyStmt.java +++ b/src/mycompiler/mystatement/EmptyStmt.java @@ -114,5 +114,10 @@ public class EmptyStmt extends Statement return new JavaCodeResult(""); } + @Override + public Vector getChildren() { + return new Vector(); + } + } // ino.end diff --git a/src/mycompiler/mystatement/InstVar.java b/src/mycompiler/mystatement/InstVar.java index d196037bf..17c132367 100755 --- a/src/mycompiler/mystatement/InstVar.java +++ b/src/mycompiler/mystatement/InstVar.java @@ -7,6 +7,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -34,6 +35,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; import typinferenz.JavaCodeResult; @@ -274,5 +276,12 @@ public class InstVar extends Expr public JavaCodeResult printJavaCode(ResultSet resultSet) { return new JavaCodeResult().attach(this.expr.printJavaCode(resultSet)).attach("."+this.usedid.get_Name_1Element()); } + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/InstanceOf.java b/src/mycompiler/mystatement/InstanceOf.java index 27c04ca98..07975f8b1 100755 --- a/src/mycompiler/mystatement/InstanceOf.java +++ b/src/mycompiler/mystatement/InstanceOf.java @@ -6,6 +6,7 @@ import java.util.Enumeration; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -27,6 +28,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -150,6 +152,13 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { // TODO Auto-generated method stub return null; } + + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } } diff --git a/src/mycompiler/mystatement/LambdaExpression.java b/src/mycompiler/mystatement/LambdaExpression.java index d3181b844..c0142aa87 100755 --- a/src/mycompiler/mystatement/LambdaExpression.java +++ b/src/mycompiler/mystatement/LambdaExpression.java @@ -17,6 +17,7 @@ import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.myclass.Class; +import mycompiler.myclass.ClassHelper; import mycompiler.myclass.FormalParameter; import mycompiler.myclass.Method; import mycompiler.myclass.ParameterList; @@ -81,8 +82,28 @@ public class LambdaExpression extends Expr{ public void wandleRefTypeAttributes2GenericAttributes( Vector paralist, Vector genericMethodParameters) { - // TODO Auto-generated method stub - + Block block = this.method_body; + // Zuerst Returntype untersuchen + Type returnType=getType(); + GenericTypeVar pendantReturnType=ClassHelper.findGenericType(returnType, paralist,genericMethodParameters); + if(pendantReturnType!=null){ //Wenn generisch, dann modifizieren + setType(pendantReturnType); + } + + // Dann parameterlist untersuchen + for(FormalParameter fp : params){ + Type fpType=fp.getType(); + // Nur wenn es sich um ein RefType-Field handelt + GenericTypeVar pendantPara=ClassHelper.findGenericType(fpType,paralist,genericMethodParameters); + if(pendantPara!=null){ //Wenn generisch, dann modifizieren + fp.setType(pendantPara); + } + } + + // Zuletzt alle Lokalen Variablendeklarationen durchgehen + if(block!=null){ + block.wandleRefTypeAttributes2GenericAttributes(paralist,genericMethodParameters); + } } @Override diff --git a/src/mycompiler/mystatement/LocalVarDecl.java b/src/mycompiler/mystatement/LocalVarDecl.java index 3f5a6e08b..87cbb1d49 100755 --- a/src/mycompiler/mystatement/LocalVarDecl.java +++ b/src/mycompiler/mystatement/LocalVarDecl.java @@ -39,10 +39,12 @@ import org.apache.log4j.Logger; + import typinferenz.ConstraintsSet; import typinferenz.FreshTypeVariable; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; +import typinferenz.TypeInsertPoint; import typinferenz.TypeInsertable; import typinferenz.assumptions.LocalVarAssumption; import typinferenz.assumptions.TypeAssumptions; @@ -493,5 +495,11 @@ public class LocalVarDecl extends Statement implements TypeInsertable Vector ret = new Vector(); return ret; } + + @Override + public TypeInsertPoint createTypeInsertPoint(TypePlaceholder tph, + ResultSet resultSet) { + return new TypeInsertPoint(tph, this, resultSet.getTypeEqualTo(tph),resultSet); + } } // ino.end diff --git a/src/mycompiler/mystatement/MethodCall.java b/src/mycompiler/mystatement/MethodCall.java index 6b9d2eb7b..303c8d40a 100755 --- a/src/mycompiler/mystatement/MethodCall.java +++ b/src/mycompiler/mystatement/MethodCall.java @@ -236,7 +236,7 @@ public class MethodCall extends Expr ParameterList pl=new ParameterList(); for(int i=0;i getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/NewArray.java b/src/mycompiler/mystatement/NewArray.java index 39620b019..cf07bbc83 100755 --- a/src/mycompiler/mystatement/NewArray.java +++ b/src/mycompiler/mystatement/NewArray.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -23,6 +24,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -202,5 +204,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.addAll(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/NotExpr.java b/src/mycompiler/mystatement/NotExpr.java index 1546a3610..e7389d60c 100755 --- a/src/mycompiler/mystatement/NotExpr.java +++ b/src/mycompiler/mystatement/NotExpr.java @@ -6,6 +6,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.myclass.Class; @@ -29,6 +30,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -163,5 +165,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/PositivExpr.java b/src/mycompiler/mystatement/PositivExpr.java index 7d613ad43..d086074b8 100755 --- a/src/mycompiler/mystatement/PositivExpr.java +++ b/src/mycompiler/mystatement/PositivExpr.java @@ -5,6 +5,7 @@ package mycompiler.mystatement; import java.util.Hashtable; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.myclass.Class; @@ -22,6 +23,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -143,5 +145,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/PostDecExpr.java b/src/mycompiler/mystatement/PostDecExpr.java index 8f9b4ec51..2e9a10946 100755 --- a/src/mycompiler/mystatement/PostDecExpr.java +++ b/src/mycompiler/mystatement/PostDecExpr.java @@ -6,6 +6,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -31,6 +32,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -182,5 +184,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/PostIncExpr.java b/src/mycompiler/mystatement/PostIncExpr.java index 29e95277c..ae6ddbf54 100755 --- a/src/mycompiler/mystatement/PostIncExpr.java +++ b/src/mycompiler/mystatement/PostIncExpr.java @@ -6,6 +6,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -31,6 +32,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -182,5 +184,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/mycompiler/mystatement/PreDecExpr.java b/src/mycompiler/mystatement/PreDecExpr.java index 9fd411812..0576c46de 100755 --- a/src/mycompiler/mystatement/PreDecExpr.java +++ b/src/mycompiler/mystatement/PreDecExpr.java @@ -6,6 +6,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -31,6 +32,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -175,10 +177,16 @@ public class PreDecExpr extends UnaryExpr return null; } @Override -public JavaCodeResult printJavaCode(ResultSet resultSet) { + public JavaCodeResult printJavaCode(ResultSet resultSet) { // TODO Auto-generated method stub return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } } // ino.end diff --git a/src/mycompiler/mystatement/PreIncExpr.java b/src/mycompiler/mystatement/PreIncExpr.java index 155e57ea5..839b154fc 100755 --- a/src/mycompiler/mystatement/PreIncExpr.java +++ b/src/mycompiler/mystatement/PreIncExpr.java @@ -6,6 +6,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.SyntaxTreeNode; import mycompiler.mybytecode.ClassFile; import mycompiler.mybytecode.CodeAttribute; import mycompiler.mybytecode.JVMCode; @@ -31,6 +32,7 @@ import org.apache.log4j.Logger; // ino.end + import typinferenz.ConstraintsSet; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; @@ -183,5 +185,12 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { return null; } + @Override + public Vector getChildren() { + Vector ret = new Vector(); + ret.add(this.expr); + return ret; + } + } // ino.end diff --git a/src/typinferenz/FunN.java b/src/typinferenz/FunN.java index 5b636c305..f00ae9ec5 100755 --- a/src/typinferenz/FunN.java +++ b/src/typinferenz/FunN.java @@ -142,6 +142,7 @@ public class FunN extends RefType implements ITypeReplacementListener{ } */ + /* @Override public JavaCodeResult printJavaCode(ResultSet resultSet){ //String ret = super.printJavaCode(resultSet) + (T!=null ? this.T.size() : 0) +"<"; @@ -156,7 +157,7 @@ public class FunN extends RefType implements ITypeReplacementListener{ //ret = ret.substring(0, ret.length()-2); return ret.attach(">"); } - + */ /** * Die Clone-Methode von RefType darf von FunN NICHT überschrieben werden. @Override diff --git a/src/typinferenz/assumptions/TypeAssumptions.java b/src/typinferenz/assumptions/TypeAssumptions.java index e59cac417..0d8387116 100755 --- a/src/typinferenz/assumptions/TypeAssumptions.java +++ b/src/typinferenz/assumptions/TypeAssumptions.java @@ -265,7 +265,15 @@ public class TypeAssumptions { return new RefType(thisClassName, 0); } - - + /** + * Prüft einen Typ auf das vorhandensein in den BasicAssumptions. + * Dabei werden alle Konstruktoren nach diesem Typ durchsucht. Denn jede Klasse hat einen Konstruktor und der muss in den TypeAssumptions vorhanden sein. + * @param t + * @return + + public Type validateType(Type t){ + return null; + } + */ } diff --git a/test/mycompiler/test/lambda/testResults/LambdaTest.log b/test/mycompiler/test/lambda/testResults/LambdaTest.log index 7f8c20ab5..7a07c02f1 100644 --- a/test/mycompiler/test/lambda/testResults/LambdaTest.log +++ b/test/mycompiler/test/lambda/testResults/LambdaTest.log @@ -1,12 +1,26 @@ -Class DEBUG [Typeinference] Erstellte Assumptions: this: TestMethodCallMethod Assumptions: -[MethodAssumption: TPH B null { [null Return null (this(null))], MethodAssumption: TPH C null { [null Return null (null.getSomething( [ ]))], MethodAssumption: void void { [(var = null (null.getSomethingMore( [ ])))], MethodAssumption: TPH B null { [null Return null (this(null))], MethodAssumption: TPH C null { [null Return null (null.getSomething( [ ]))], MethodAssumption: void void { [(var = null (null.getSomethingMore( [ ])))], MethodAssumption: TPH E , MethodAssumption: TPH F , MethodAssumption: TPH H , MethodAssumption: TPH K , MethodAssumption: TPH O , MethodAssumption: TPH T , MethodAssumption: TPH B null { [null Return null (this(null))], MethodAssumption: TPH C null { [null Return null (null.getSomething( [ ]))], MethodAssumption: void void { [(var = null (null.getSomethingMore( [ ])))], MethodAssumption: TPH B null { [null Return null (this(null))], MethodAssumption: TPH C null { [null Return null (null.getSomething( [ ]))], MethodAssumption: void void { [(var = null (null.getSomethingMore( [ ])))]] +Class DEBUG [Typeinference] Erstellte Assumptions: this: MatrixMethod Assumptions: +[MethodAssumption: GTV R , MethodAssumption: GTV R , MethodAssumption: GTV R , MethodAssumption: GTV R , MethodAssumption: GTV R , MethodAssumption: GTV R ] FieldVar Assumptions: -[typinferenz.assumptions.FieldAssumption@6744719c, typinferenz.assumptions.FieldAssumption@3e7eedbb, typinferenz.assumptions.FieldAssumption@6744719c, typinferenz.assumptions.FieldAssumption@3e7eedbb] +[FieldAssumption: TPH A op, FieldAssumption: TPH A op, FieldAssumption: TPH A op, FieldAssumption: TPH A op] LocalVar Assumptions: [] Parameter Assumptions: [] -Block DEBUG [Typeinference] Prozessing statement: null Return null (this(null)) -Block DEBUG [Typeinference] Prozessing statement: TPH Z Return TestMethodCall (this(null)) -Block DEBUG [Typeinference] Prozessing statement: null Return null (null.getSomething( [ ])) +Block DEBUG [Typeinference] Prozessing statement: null Return null (( [ f, ]) -> null { [null Return null (f.apply( [ null (this(null)), m, ]))]) +Block DEBUG [Typeinference] Prozessing statement: null Return null (f.apply( [ null (this(null)), m, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH H Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ])) +Block DEBUG [Typeinference] Prozessing statement: TPH I Return TPH F (( [ TPH E f, ]) -> TPH H { [TPH H Return TPH G (f: TPH E.apply( [ Matrix (this(null)), m: TPH C, ]))]) +Class DEBUG [Typeinference] Erstellte Constraints: TPH A < TPH A +[[(R <. TPH G), (Matrix <. T1), (TPH C <. T2), (TPH E <. Fun2< GTV R, GTV T1, GTV T2 >), ]| ] +TPH G < TPH H +Fun1< TPH H, TPH E > < TPH F +TPH F < TPH I +Fun1< TPH I, TPH C > < TPH D +TPH D < TPH A + +SourceFile DEBUG [Typeinference] Karthesisches Produkt der Constraints: [[(TPH A <. TPH A), (R <. TPH G), (Matrix <. T1), (TPH C <. T2), (TPH E <. Fun2< GTV R, GTV T1, GTV T2 >), (TPH G <. TPH H), (Fun1< TPH H, TPH E > <. TPH F), (TPH F <. TPH I), (Fun1< TPH I, TPH C > <. TPH D), (TPH D <. TPH A)]] +SourceFile DEBUG [Typeinference] Unifiziertes Ergebnis: [] +SourceFile DEBUG [Typeinference] +JavaFiles: + diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest4.jav b/test/plugindevelopment/TypeInsertTests/LambdaTest4.jav new file mode 100644 index 000000000..34c32b1dd --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest4.jav @@ -0,0 +1,5 @@ +class LambdaTest{ + +Fun1 op = (var) -> {return var;}; + +} \ No newline at end of file diff --git a/test/plugindevelopment/TypeInsertTests/LambdaTest4.java b/test/plugindevelopment/TypeInsertTests/LambdaTest4.java new file mode 100644 index 000000000..b54765122 --- /dev/null +++ b/test/plugindevelopment/TypeInsertTests/LambdaTest4.java @@ -0,0 +1,18 @@ +package plugindevelopment.TypeInsertTests; + +import java.util.Vector; + +import org.junit.Test; + +public class LambdaTest4 { + + private static final String TEST_FILE = "LambdaTest4.jav"; + + @Test + public void run(){ + Vector mustContain = new Vector(); + mustContain.add("String var"); + MultipleTypesInsertTester.test(this.TEST_FILE, mustContain); + } + +} diff --git a/tools/y.output b/tools/y.output index 1b0e61763..c58f6feff 100644 --- a/tools/y.output +++ b/tools/y.output @@ -96,302 +96,305 @@ 67 classorinterfacetype : simplename parameter - 68 parameter : - 69 | '<' paralist '>' + 68 typelist : type + 69 | typelist ',' type - 70 interfacememberdeclaration : constantdeclaration - 71 | abstractmethoddeclaration + 70 parameter : + 71 | '<' typelist '>' - 72 classmemberdeclaration : fielddeclaration - 73 | methoddeclaration + 72 interfacememberdeclaration : constantdeclaration + 73 | abstractmethoddeclaration - 74 staticinitializer : STATIC block + 74 classmemberdeclaration : fielddeclaration + 75 | methoddeclaration - 75 constructordeclaration : constructordeclarator constructorbody - 76 | modifiers constructordeclarator constructorbody + 76 staticinitializer : STATIC block - 77 constantdeclaration : modifiers type IDENTIFIER '=' expression ';' + 77 constructordeclaration : constructordeclarator constructorbody + 78 | modifiers constructordeclarator constructorbody - 78 abstractmethoddeclaration : methodheader ';' + 79 constantdeclaration : modifiers type IDENTIFIER '=' expression ';' - 79 fielddeclarator : type variabledeclarator '=' expression - 80 | variabledeclarator '=' expression + 80 abstractmethoddeclaration : methodheader ';' - 81 fielddeclaration : fielddeclarator ';' - 82 | type fielddeclarator - 83 | variabledeclarators ';' - 84 | type variabledeclarators ';' - 85 | modifiers type variabledeclarators ';' + 81 fielddeclarator : type variabledeclarator '=' expression + 82 | variabledeclarator '=' expression - 86 methoddeclaration : methodheader methodbody + 83 fielddeclaration : fielddeclarator ';' + 84 | type fielddeclarator + 85 | variabledeclarators ';' + 86 | type variabledeclarators ';' + 87 | modifiers type variabledeclarators ';' - 87 block : '{' '}' - 88 | '{' blockstatements '}' + 88 methoddeclaration : methodheader methodbody - 89 constructordeclarator : simplename '(' ')' - 90 | simplename '(' formalparameterlist ')' + 89 block : '{' '}' + 90 | '{' blockstatements '}' - 91 constructorbody : '{' '}' - 92 | '{' explicitconstructorinvocation '}' - 93 | '{' blockstatements '}' - 94 | '{' explicitconstructorinvocation blockstatements '}' + 91 constructordeclarator : simplename '(' ')' + 92 | simplename '(' formalparameterlist ')' - 95 throws : THROWS classtypelist + 93 constructorbody : '{' '}' + 94 | '{' explicitconstructorinvocation '}' + 95 | '{' blockstatements '}' + 96 | '{' explicitconstructorinvocation blockstatements '}' - 96 boundedClassParameter : boundedMethodParameter + 97 throws : THROWS classtypelist - 97 boundedClassParameters : boundedClassParameter - 98 | boundedClassParameters ',' boundedClassParameter + 98 boundedClassParameter : boundedMethodParameter - 99 boundedMethodParameter : IDENTIFIER - 100 | IDENTIFIER EXTENDS boundedclassidentifierlist + 99 boundedClassParameters : boundedClassParameter + 100 | boundedClassParameters ',' boundedClassParameter - 101 boundedclassidentifierlist : referencetype - 102 | boundedclassidentifierlist '&' referencetype + 101 boundedMethodParameter : IDENTIFIER + 102 | IDENTIFIER EXTENDS boundedclassidentifierlist - 103 boundedMethodParameters : boundedMethodParameter - 104 | boundedMethodParameters ',' boundedMethodParameter + 103 boundedclassidentifierlist : referencetype + 104 | boundedclassidentifierlist '&' referencetype - 105 methodheader : '<' boundedMethodParameters '>' type methoddeclarator - 106 | type methoddeclarator - 107 | modifiers type methoddeclarator - 108 | modifiers '<' boundedMethodParameters '>' type methoddeclarator - 109 | type methoddeclarator throws - 110 | '<' boundedMethodParameters '>' type methoddeclarator throws - 111 | modifiers type methoddeclarator throws - 112 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws - 113 | VOID methoddeclarator - 114 | modifiers VOID methoddeclarator - 115 | VOID methoddeclarator throws - 116 | modifiers VOID methoddeclarator throws - 117 | '<' boundedMethodParameters '>' VOID methoddeclarator - 118 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator - 119 | '<' boundedMethodParameters '>' VOID methoddeclarator throws - 120 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws - 121 | methoddeclarator - 122 | '<' boundedMethodParameters '>' methoddeclarator - 123 | modifiers methoddeclarator - 124 | methoddeclarator throws - 125 | modifiers methoddeclarator throws + 105 boundedMethodParameters : boundedMethodParameter + 106 | boundedMethodParameters ',' boundedMethodParameter - 126 type : primitivetype - 127 | primitivetype '[' ']' - 128 | referencetype - 129 | referencetype '[' ']' + 107 methodheader : '<' boundedMethodParameters '>' type methoddeclarator + 108 | type methoddeclarator + 109 | modifiers type methoddeclarator + 110 | modifiers '<' boundedMethodParameters '>' type methoddeclarator + 111 | type methoddeclarator throws + 112 | '<' boundedMethodParameters '>' type methoddeclarator throws + 113 | modifiers type methoddeclarator throws + 114 | modifiers '<' boundedMethodParameters '>' type methoddeclarator throws + 115 | VOID methoddeclarator + 116 | modifiers VOID methoddeclarator + 117 | VOID methoddeclarator throws + 118 | modifiers VOID methoddeclarator throws + 119 | '<' boundedMethodParameters '>' VOID methoddeclarator + 120 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator + 121 | '<' boundedMethodParameters '>' VOID methoddeclarator throws + 122 | modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws + 123 | methoddeclarator + 124 | '<' boundedMethodParameters '>' methoddeclarator + 125 | modifiers methoddeclarator + 126 | methoddeclarator throws + 127 | modifiers methoddeclarator throws - 130 variabledeclarators : variabledeclarator - 131 | variabledeclarators ',' variabledeclarator + 128 type : primitivetype + 129 | primitivetype '[' ']' + 130 | referencetype + 131 | referencetype '[' ']' - 132 methodbody : block + 132 variabledeclarators : variabledeclarator + 133 | variabledeclarators ',' variabledeclarator - 133 blockstatements : blockstatement - 134 | blockstatements blockstatement + 134 methodbody : block - 135 formalparameterlist : formalparameter - 136 | formalparameterlist ',' formalparameter + 135 blockstatements : blockstatement + 136 | blockstatements blockstatement - 137 explicitconstructorinvocation : THIS '(' ')' ';' - 138 | THIS '(' argumentlist ')' ';' + 137 formalparameterlist : formalparameter + 138 | formalparameterlist ',' formalparameter - 139 classtypelist : classtype - 140 | classtypelist ',' classtype + 139 explicitconstructorinvocation : THIS '(' ')' ';' + 140 | THIS '(' argumentlist ')' ';' - 141 methoddeclarator : IDENTIFIER '(' ')' - 142 | IDENTIFIER '(' formalparameterlist ')' + 141 classtypelist : classtype + 142 | classtypelist ',' classtype - 143 primitivetype : BOOLEAN - 144 | numerictype + 143 methoddeclarator : IDENTIFIER '(' ')' + 144 | IDENTIFIER '(' formalparameterlist ')' - 145 referencetype : classorinterfacetype + 145 primitivetype : BOOLEAN + 146 | numerictype - 146 variabledeclarator : variabledeclaratorid + 147 referencetype : classorinterfacetype - 147 blockstatement : localvariabledeclarationstatement - 148 | statement + 148 variabledeclarator : variabledeclaratorid - 149 formalparameter : type variabledeclaratorid - 150 | variabledeclaratorid + 149 blockstatement : localvariabledeclarationstatement + 150 | statement - 151 argumentlist : expression - 152 | argumentlist ',' expression + 151 formalparameter : type variabledeclaratorid + 152 | variabledeclaratorid - 153 numerictype : integraltype + 153 argumentlist : expression + 154 | argumentlist ',' expression - 154 variabledeclaratorid : IDENTIFIER + 155 numerictype : integraltype - 155 variableinitializer : expression + 156 variabledeclaratorid : IDENTIFIER - 156 localvariabledeclarationstatement : localvariabledeclaration ';' + 157 variableinitializer : expression - 157 statement : statementwithouttrailingsubstatement - 158 | ifthenstatement - 159 | ifthenelsestatement - 160 | whilestatement - 161 | forstatement + 158 localvariabledeclarationstatement : localvariabledeclaration ';' - 162 expression : assignmentexpression - 163 | classinstancecreationexpression + 159 statement : statementwithouttrailingsubstatement + 160 | ifthenstatement + 161 | ifthenelsestatement + 162 | whilestatement + 163 | forstatement - 164 integraltype : INT - 165 | CHAR + 164 expression : assignmentexpression + 165 | classinstancecreationexpression - 166 localvariabledeclaration : type variabledeclarators - 167 | variabledeclarators + 166 integraltype : INT + 167 | CHAR - 168 statementwithouttrailingsubstatement : block - 169 | emptystatement - 170 | expressionstatement - 171 | returnstatement + 168 localvariabledeclaration : type variabledeclarators + 169 | variabledeclarators - 172 ifthenstatement : IF '(' expression ')' statement + 170 statementwithouttrailingsubstatement : block + 171 | emptystatement + 172 | expressionstatement + 173 | returnstatement - 173 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement + 174 ifthenstatement : IF '(' expression ')' statement - 174 whilestatement : WHILE '(' expression ')' statement + 175 ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement - 175 forstatement : FOR '(' expression ';' expression ';' expression ')' statement - 176 | FOR '(' expression ';' expression ';' ')' statement - 177 | FOR '(' expression ';' ';' expression ')' statement - 178 | FOR '(' ';' expression ';' expression ')' statement - 179 | FOR '(' expression ';' ';' ')' statement - 180 | FOR '(' ';' expression ';' ')' statement - 181 | FOR '(' ';' ';' expression ')' statement - 182 | FOR '(' ';' ';' ')' statement + 176 whilestatement : WHILE '(' expression ')' statement - 183 assignmentexpression : conditionalexpression - 184 | assignment + 177 forstatement : FOR '(' expression ';' expression ';' expression ')' statement + 178 | FOR '(' expression ';' expression ';' ')' statement + 179 | FOR '(' expression ';' ';' expression ')' statement + 180 | FOR '(' ';' expression ';' expression ')' statement + 181 | FOR '(' expression ';' ';' ')' statement + 182 | FOR '(' ';' expression ';' ')' statement + 183 | FOR '(' ';' ';' expression ')' statement + 184 | FOR '(' ';' ';' ')' statement - 185 emptystatement : ';' + 185 assignmentexpression : conditionalexpression + 186 | assignment - 186 expressionstatement : statementexpression ';' + 187 emptystatement : ';' - 187 returnstatement : RETURN ';' - 188 | RETURN expression ';' + 188 expressionstatement : statementexpression ';' - 189 statementnoshortif : statementwithouttrailingsubstatement - 190 | ifthenelsestatementnoshortif - 191 | whilestatementnoshortif + 189 returnstatement : RETURN ';' + 190 | RETURN expression ';' - 192 conditionalexpression : conditionalorexpression + 191 statementnoshortif : statementwithouttrailingsubstatement + 192 | ifthenelsestatementnoshortif + 193 | whilestatementnoshortif - 193 assignment : lefthandside assignmentoperator assignmentexpression - 194 | lefthandside assignmentoperator classinstancecreationexpression + 194 conditionalexpression : conditionalorexpression - 195 statementexpression : assignment - 196 | preincrementexpression - 197 | predecrementexpression - 198 | postincrementexpression - 199 | postdecrementexpression - 200 | methodinvocation + 195 assignment : lefthandside assignmentoperator assignmentexpression + 196 | lefthandside assignmentoperator classinstancecreationexpression - 201 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif + 197 statementexpression : assignment + 198 | preincrementexpression + 199 | predecrementexpression + 200 | postincrementexpression + 201 | postdecrementexpression + 202 | methodinvocation - 202 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif + 203 ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif - 203 conditionalorexpression : conditionalandexpression - 204 | conditionalorexpression LOGICALOR conditionalandexpression + 204 whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif - 205 lambdaassignmentoperator : LAMBDAASSIGNMENT + 205 conditionalorexpression : conditionalandexpression + 206 | conditionalorexpression LOGICALOR conditionalandexpression - 206 lambdabody : block - 207 | expression + 207 lambdaassignmentoperator : LAMBDAASSIGNMENT - 208 lambdaexpressionparameter : '(' ')' - 209 | '(' formalparameterlist ')' + 208 lambdabody : block + 209 | expression - 210 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody + 210 lambdaexpressionparameter : '(' ')' + 211 | '(' formalparameterlist ')' - 211 lefthandside : name + 212 lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody - 212 assignmentoperator : '=' - 213 | TIMESEQUAL - 214 | DIVIDEEQUAL - 215 | MODULOEQUAL - 216 | PLUSEQUAL - 217 | MINUSEQUAL + 213 lefthandside : name - 218 preincrementexpression : INCREMENT unaryexpression + 214 assignmentoperator : '=' + 215 | TIMESEQUAL + 216 | DIVIDEEQUAL + 217 | MODULOEQUAL + 218 | PLUSEQUAL + 219 | MINUSEQUAL - 219 predecrementexpression : DECREMENT unaryexpression + 220 preincrementexpression : INCREMENT unaryexpression - 220 postincrementexpression : postfixexpression INCREMENT + 221 predecrementexpression : DECREMENT unaryexpression - 221 postdecrementexpression : postfixexpression DECREMENT + 222 postincrementexpression : postfixexpression INCREMENT - 222 methodinvocation : name '(' ')' - 223 | name '(' argumentlist ')' - 224 | primary '.' IDENTIFIER '(' ')' - 225 | primary '.' IDENTIFIER '(' argumentlist ')' + 223 postdecrementexpression : postfixexpression DECREMENT - 226 classinstancecreationexpression : NEW classtype '(' ')' - 227 | NEW classtype '(' argumentlist ')' + 224 methodinvocation : name '(' ')' + 225 | name '(' argumentlist ')' + 226 | primary '.' IDENTIFIER '(' ')' + 227 | primary '.' IDENTIFIER '(' argumentlist ')' - 228 conditionalandexpression : inclusiveorexpression - 229 | conditionalandexpression LOGICALAND inclusiveorexpression + 228 classinstancecreationexpression : NEW classtype '(' ')' + 229 | NEW classtype '(' argumentlist ')' - 230 unaryexpression : preincrementexpression - 231 | predecrementexpression - 232 | '+' unaryexpression - 233 | '-' unaryexpression - 234 | unaryexpressionnotplusminus + 230 conditionalandexpression : inclusiveorexpression + 231 | conditionalandexpression LOGICALAND inclusiveorexpression - 235 postfixexpression : primary - 236 | name - 237 | postincrementexpression - 238 | postdecrementexpression + 232 unaryexpression : preincrementexpression + 233 | predecrementexpression + 234 | '+' unaryexpression + 235 | '-' unaryexpression + 236 | unaryexpressionnotplusminus - 239 primary : primarynonewarray + 237 postfixexpression : primary + 238 | name + 239 | postincrementexpression + 240 | postdecrementexpression - 240 inclusiveorexpression : exclusiveorexpression - 241 | inclusiveorexpression '|' exclusiveorexpression + 241 primary : primarynonewarray - 242 primarynonewarray : literal - 243 | THIS - 244 | methodinvocation - 245 | lambdaexpression + 242 inclusiveorexpression : exclusiveorexpression + 243 | inclusiveorexpression '|' exclusiveorexpression - 246 unaryexpressionnotplusminus : postfixexpression - 247 | '!' unaryexpression - 248 | castexpression + 244 primarynonewarray : literal + 245 | THIS + 246 | methodinvocation + 247 | lambdaexpression - 249 exclusiveorexpression : andexpression - 250 | exclusiveorexpression '^' andexpression + 248 unaryexpressionnotplusminus : postfixexpression + 249 | '!' unaryexpression + 250 | castexpression - 251 literal : INTLITERAL - 252 | BOOLLITERAL - 253 | CHARLITERAL - 254 | STRINGLITERAL - 255 | LONGLITERAL - 256 | FLOATLITERAL - 257 | DOUBLELITERAL - 258 | JNULL + 251 exclusiveorexpression : andexpression + 252 | exclusiveorexpression '^' andexpression - 259 castexpression : '(' primitivetype ')' unaryexpression + 253 literal : INTLITERAL + 254 | BOOLLITERAL + 255 | CHARLITERAL + 256 | STRINGLITERAL + 257 | LONGLITERAL + 258 | FLOATLITERAL + 259 | DOUBLELITERAL + 260 | JNULL - 260 andexpression : equalityexpression - 261 | andexpression '&' equalityexpression + 261 castexpression : '(' primitivetype ')' unaryexpression - 262 equalityexpression : relationalexpression - 263 | equalityexpression EQUAL relationalexpression - 264 | equalityexpression NOTEQUAL relationalexpression + 262 andexpression : equalityexpression + 263 | andexpression '&' equalityexpression - 265 relationalexpression : shiftexpression - 266 | relationalexpression '<' shiftexpression - 267 | relationalexpression '>' shiftexpression - 268 | relationalexpression LESSEQUAL shiftexpression - 269 | relationalexpression GREATEREQUAL shiftexpression - 270 | relationalexpression INSTANCEOF referencetype + 264 equalityexpression : relationalexpression + 265 | equalityexpression EQUAL relationalexpression + 266 | equalityexpression NOTEQUAL relationalexpression - 271 shiftexpression : additiveexpression + 267 relationalexpression : shiftexpression + 268 | relationalexpression '<' shiftexpression + 269 | relationalexpression '>' shiftexpression + 270 | relationalexpression LESSEQUAL shiftexpression + 271 | relationalexpression GREATEREQUAL shiftexpression + 272 | relationalexpression INSTANCEOF referencetype - 272 additiveexpression : multiplicativeexpression - 273 | additiveexpression '+' multiplicativeexpression - 274 | additiveexpression '-' multiplicativeexpression + 273 shiftexpression : additiveexpression - 275 multiplicativeexpression : unaryexpression - 276 | multiplicativeexpression '*' unaryexpression - 277 | multiplicativeexpression '/' unaryexpression - 278 | multiplicativeexpression '%' unaryexpression + 274 additiveexpression : multiplicativeexpression + 275 | additiveexpression '+' multiplicativeexpression + 276 | additiveexpression '-' multiplicativeexpression + + 277 multiplicativeexpression : unaryexpression + 278 | multiplicativeexpression '*' unaryexpression + 279 | multiplicativeexpression '/' unaryexpression + 280 | multiplicativeexpression '%' unaryexpression state 0 $accept : . compilationunit $end (0) @@ -837,29 +840,29 @@ state 37 state 38 - boundedMethodParameter : IDENTIFIER . (99) - boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (100) + boundedMethodParameter : IDENTIFIER . (101) + boundedMethodParameter : IDENTIFIER . EXTENDS boundedclassidentifierlist (102) EXTENDS shift 100 - ',' reduce 99 - '>' reduce 99 + ',' reduce 101 + '>' reduce 101 state 39 - boundedClassParameter : boundedMethodParameter . (96) + boundedClassParameter : boundedMethodParameter . (98) - . reduce 96 + . reduce 98 state 40 - boundedClassParameters : boundedClassParameter . (97) + boundedClassParameters : boundedClassParameter . (99) - . reduce 97 + . reduce 99 state 41 classidentifier : IDENTIFIER '<' boundedClassParameters . '>' (27) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (98) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (100) ',' shift 101 '>' shift 102 @@ -872,50 +875,50 @@ state 42 . reduce 15 -43: shift/reduce conflict (shift 103, reduce 68) on '<' +43: shift/reduce conflict (shift 103, reduce 70) on '<' state 43 classorinterfacetype : simplename . parameter (67) - parameter : . (68) + parameter : . (70) '<' shift 103 - ABSTRACT reduce 68 - BOOLEAN reduce 68 - CHAR reduce 68 - FINAL reduce 68 - INSTANCEOF reduce 68 - INT reduce 68 - PRIVATE reduce 68 - PROTECTED reduce 68 - PUBLIC reduce 68 - IMPLEMENTS reduce 68 - STATIC reduce 68 - VOID reduce 68 - IDENTIFIER reduce 68 - EQUAL reduce 68 - LESSEQUAL reduce 68 - GREATEREQUAL reduce 68 - NOTEQUAL reduce 68 - LOGICALOR reduce 68 - LOGICALAND reduce 68 - INCREMENT reduce 68 - DECREMENT reduce 68 - ',' reduce 68 - ';' reduce 68 - '.' reduce 68 - '*' reduce 68 - '>' reduce 68 - '{' reduce 68 - '}' reduce 68 - '(' reduce 68 - ')' reduce 68 - '&' reduce 68 - '[' reduce 68 - '+' reduce 68 - '-' reduce 68 - '|' reduce 68 - '^' reduce 68 - '/' reduce 68 - '%' reduce 68 + ABSTRACT reduce 70 + BOOLEAN reduce 70 + CHAR reduce 70 + FINAL reduce 70 + INSTANCEOF reduce 70 + INT reduce 70 + PRIVATE reduce 70 + PROTECTED reduce 70 + PUBLIC reduce 70 + IMPLEMENTS reduce 70 + STATIC reduce 70 + VOID reduce 70 + IDENTIFIER reduce 70 + EQUAL reduce 70 + LESSEQUAL reduce 70 + GREATEREQUAL reduce 70 + NOTEQUAL reduce 70 + LOGICALOR reduce 70 + LOGICALAND reduce 70 + INCREMENT reduce 70 + DECREMENT reduce 70 + ',' reduce 70 + ';' reduce 70 + '.' reduce 70 + '*' reduce 70 + '>' reduce 70 + '{' reduce 70 + '}' reduce 70 + '(' reduce 70 + ')' reduce 70 + '&' reduce 70 + '[' reduce 70 + '+' reduce 70 + '-' reduce 70 + '|' reduce 70 + '^' reduce 70 + '/' reduce 70 + '%' reduce 70 parameter goto 104 @@ -945,26 +948,26 @@ state 47 state 48 - primitivetype : BOOLEAN . (143) + primitivetype : BOOLEAN . (145) - . reduce 143 + . reduce 145 state 49 - integraltype : CHAR . (165) + integraltype : CHAR . (167) - . reduce 165 + . reduce 167 state 50 - integraltype : INT . (164) + integraltype : INT . (166) - . reduce 164 + . reduce 166 state 51 modifier : STATIC . (57) - staticinitializer : STATIC . block (74) + staticinitializer : STATIC . block (76) '{' shift 105 ABSTRACT reduce 57 @@ -984,8 +987,8 @@ state 51 state 52 - methodheader : VOID . methoddeclarator (113) - methodheader : VOID . methoddeclarator throws (115) + methodheader : VOID . methoddeclarator (115) + methodheader : VOID . methoddeclarator throws (117) IDENTIFIER shift 107 . error @@ -996,28 +999,28 @@ state 52 53: shift/reduce conflict (shift 109, reduce 15) on '(' state 53 simplename : IDENTIFIER . (15) - methoddeclarator : IDENTIFIER . '(' ')' (141) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (142) - variabledeclaratorid : IDENTIFIER . (154) + methoddeclarator : IDENTIFIER . '(' ')' (143) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) + variabledeclaratorid : IDENTIFIER . (156) '(' shift 109 BOOLEAN reduce 15 CHAR reduce 15 INT reduce 15 IDENTIFIER reduce 15 - ',' reduce 154 - ';' reduce 154 + ',' reduce 156 + ';' reduce 156 '<' reduce 15 - '=' reduce 154 + '=' reduce 156 '[' reduce 15 state 54 - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (105) - methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (110) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (117) - methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (119) - methodheader : '<' . boundedMethodParameters '>' methoddeclarator (122) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator (107) + methodheader : '<' . boundedMethodParameters '>' type methoddeclarator throws (112) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator (119) + methodheader : '<' . boundedMethodParameters '>' VOID methoddeclarator throws (121) + methodheader : '<' . boundedMethodParameters '>' methoddeclarator (124) IDENTIFIER shift 38 . error @@ -1033,13 +1036,13 @@ state 55 state 56 - classmemberdeclaration : fielddeclaration . (72) + classmemberdeclaration : fielddeclaration . (74) - . reduce 72 + . reduce 74 state 57 - methoddeclaration : methodheader . methodbody (86) + methoddeclaration : methodheader . methodbody (88) '{' shift 105 . error @@ -1049,18 +1052,18 @@ state 57 state 58 - classmemberdeclaration : methoddeclaration . (73) + classmemberdeclaration : methoddeclaration . (75) - . reduce 73 + . reduce 75 state 59 - methodheader : methoddeclarator . (121) - methodheader : methoddeclarator . throws (124) + methodheader : methoddeclarator . (123) + methodheader : methoddeclarator . throws (126) THROWS shift 114 - ';' reduce 121 - '{' reduce 121 + ';' reduce 123 + '{' reduce 123 throws goto 115 @@ -1121,8 +1124,8 @@ state 62 state 63 - fielddeclaration : variabledeclarators . ';' (83) - variabledeclarators : variabledeclarators . ',' variabledeclarator (131) + fielddeclaration : variabledeclarators . ';' (85) + variabledeclarators : variabledeclarators . ',' variabledeclarator (133) ',' shift 118 ';' shift 119 @@ -1130,90 +1133,94 @@ state 63 state 64 - fielddeclaration : fielddeclarator . ';' (81) + fielddeclaration : fielddeclarator . ';' (83) ';' shift 120 . error state 65 - fielddeclarator : variabledeclarator . '=' expression (80) - variabledeclarators : variabledeclarator . (130) + fielddeclarator : variabledeclarator . '=' expression (82) + variabledeclarators : variabledeclarator . (132) '=' shift 121 - ',' reduce 130 - ';' reduce 130 + ',' reduce 132 + ';' reduce 132 state 66 - variabledeclarator : variabledeclaratorid . (146) + variabledeclarator : variabledeclaratorid . (148) - . reduce 146 + . reduce 148 state 67 classorinterfacetype : simplename . parameter (67) - constructordeclarator : simplename . '(' ')' (89) - constructordeclarator : simplename . '(' formalparameterlist ')' (90) - parameter : . (68) + constructordeclarator : simplename . '(' ')' (91) + constructordeclarator : simplename . '(' formalparameterlist ')' (92) + parameter : . (70) '<' shift 103 '(' shift 122 - BOOLEAN reduce 68 - CHAR reduce 68 - INT reduce 68 - IDENTIFIER reduce 68 - '[' reduce 68 + BOOLEAN reduce 70 + CHAR reduce 70 + INT reduce 70 + IDENTIFIER reduce 70 + '[' reduce 70 parameter goto 104 state 68 - referencetype : classorinterfacetype . (145) + referencetype : classorinterfacetype . (147) - . reduce 145 + . reduce 147 state 69 - numerictype : integraltype . (153) + numerictype : integraltype . (155) - . reduce 153 + . reduce 155 state 70 - primitivetype : numerictype . (144) + primitivetype : numerictype . (146) - . reduce 144 + . reduce 146 state 71 - type : primitivetype . (126) - type : primitivetype . '[' ']' (127) + type : primitivetype . (128) + type : primitivetype . '[' ']' (129) '[' shift 123 - BOOLEAN reduce 126 - CHAR reduce 126 - INT reduce 126 - IDENTIFIER reduce 126 - - -state 72 - type : referencetype . (128) - type : referencetype . '[' ']' (129) - - '[' shift 124 BOOLEAN reduce 128 CHAR reduce 128 INT reduce 128 IDENTIFIER reduce 128 + ',' reduce 128 + '>' reduce 128 + + +state 72 + type : referencetype . (130) + type : referencetype . '[' ']' (131) + + '[' shift 124 + BOOLEAN reduce 130 + CHAR reduce 130 + INT reduce 130 + IDENTIFIER reduce 130 + ',' reduce 130 + '>' reduce 130 state 73 - fielddeclarator : type . variabledeclarator '=' expression (79) - fielddeclaration : type . fielddeclarator (82) - fielddeclaration : type . variabledeclarators ';' (84) - methodheader : type . methoddeclarator (106) - methodheader : type . methoddeclarator throws (109) + fielddeclarator : type . variabledeclarator '=' expression (81) + fielddeclaration : type . fielddeclarator (84) + fielddeclaration : type . variabledeclarators ';' (86) + methodheader : type . methoddeclarator (108) + methodheader : type . methoddeclarator throws (111) BOOLEAN shift 48 CHAR shift 49 @@ -1237,18 +1244,18 @@ state 73 state 74 modifiers : modifiers . modifier (44) - constructordeclaration : modifiers . constructordeclarator constructorbody (76) - fielddeclaration : modifiers . type variabledeclarators ';' (85) - methodheader : modifiers . type methoddeclarator (107) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (108) - methodheader : modifiers . type methoddeclarator throws (111) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (112) - methodheader : modifiers . VOID methoddeclarator (114) - methodheader : modifiers . VOID methoddeclarator throws (116) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (118) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (120) - methodheader : modifiers . methoddeclarator (123) - methodheader : modifiers . methoddeclarator throws (125) + constructordeclaration : modifiers . constructordeclarator constructorbody (78) + fielddeclaration : modifiers . type variabledeclarators ';' (87) + methodheader : modifiers . type methoddeclarator (109) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (110) + methodheader : modifiers . type methoddeclarator throws (113) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (114) + methodheader : modifiers . VOID methoddeclarator (116) + methodheader : modifiers . VOID methoddeclarator throws (118) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (120) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (122) + methodheader : modifiers . methoddeclarator (125) + methodheader : modifiers . methoddeclarator throws (127) ABSTRACT shift 1 BOOLEAN shift 48 @@ -1283,7 +1290,7 @@ state 75 state 76 - constructordeclaration : constructordeclarator . constructorbody (75) + constructordeclaration : constructordeclarator . constructorbody (77) '{' shift 135 . error @@ -1333,7 +1340,7 @@ state 81 state 82 interfaceidentifier : IDENTIFIER '<' boundedClassParameters . '>' (25) - boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (98) + boundedClassParameters : boundedClassParameters . ',' boundedClassParameter (100) ',' shift 101 '>' shift 139 @@ -1349,8 +1356,8 @@ state 83 84: shift/reduce conflict (shift 109, reduce 15) on '(' state 84 simplename : IDENTIFIER . (15) - methoddeclarator : IDENTIFIER . '(' ')' (141) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (142) + methoddeclarator : IDENTIFIER . '(' ')' (143) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) '(' shift 109 IDENTIFIER reduce 15 @@ -1406,27 +1413,27 @@ state 87 state 88 - interfacememberdeclaration : abstractmethoddeclaration . (71) + interfacememberdeclaration : abstractmethoddeclaration . (73) - . reduce 71 + . reduce 73 state 89 - interfacememberdeclaration : constantdeclaration . (70) + interfacememberdeclaration : constantdeclaration . (72) - . reduce 70 + . reduce 72 state 90 - abstractmethoddeclaration : methodheader . ';' (78) + abstractmethoddeclaration : methodheader . ';' (80) ';' shift 142 . error state 91 - methodheader : type . methoddeclarator (106) - methodheader : type . methoddeclarator throws (109) + methodheader : type . methoddeclarator (108) + methodheader : type . methoddeclarator throws (111) IDENTIFIER shift 107 . error @@ -1436,17 +1443,17 @@ state 91 state 92 modifiers : modifiers . modifier (44) - constantdeclaration : modifiers . type IDENTIFIER '=' expression ';' (77) - methodheader : modifiers . type methoddeclarator (107) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (108) - methodheader : modifiers . type methoddeclarator throws (111) - methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (112) - methodheader : modifiers . VOID methoddeclarator (114) - methodheader : modifiers . VOID methoddeclarator throws (116) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (118) - methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (120) - methodheader : modifiers . methoddeclarator (123) - methodheader : modifiers . methoddeclarator throws (125) + constantdeclaration : modifiers . type IDENTIFIER '=' expression ';' (79) + methodheader : modifiers . type methoddeclarator (109) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator (110) + methodheader : modifiers . type methoddeclarator throws (113) + methodheader : modifiers . '<' boundedMethodParameters '>' type methoddeclarator throws (114) + methodheader : modifiers . VOID methoddeclarator (116) + methodheader : modifiers . VOID methoddeclarator throws (118) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator (120) + methodheader : modifiers . '<' boundedMethodParameters '>' VOID methoddeclarator throws (122) + methodheader : modifiers . methoddeclarator (125) + methodheader : modifiers . methoddeclarator throws (127) ABSTRACT shift 1 BOOLEAN shift 48 @@ -1537,7 +1544,7 @@ state 99 state 100 - boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (100) + boundedMethodParameter : IDENTIFIER EXTENDS . boundedclassidentifierlist (102) IDENTIFIER shift 42 . error @@ -1549,7 +1556,7 @@ state 100 state 101 - boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (98) + boundedClassParameters : boundedClassParameters ',' . boundedClassParameter (100) IDENTIFIER shift 38 . error @@ -1565,14 +1572,22 @@ state 102 state 103 - parameter : '<' . paralist '>' (69) + parameter : '<' . typelist '>' (71) - IDENTIFIER shift 152 - '?' shift 153 + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + IDENTIFIER shift 42 . error - paralist goto 154 - wildcardparameter goto 155 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 152 + typelist goto 153 state 104 @@ -1582,171 +1597,171 @@ state 104 state 105 - block : '{' . '}' (87) - block : '{' . blockstatements '}' (88) + block : '{' . '}' (89) + block : '{' . blockstatements '}' (90) BOOLEAN shift 48 CHAR shift 49 - FOR shift 156 - IF shift 157 + FOR shift 154 + IF shift 155 INT shift 50 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 169 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 167 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '}' shift 173 - '(' shift 174 + '}' shift 171 + '(' shift 172 . error - variabledeclarators goto 175 - variabledeclarator goto 176 + variabledeclarators goto 173 + variabledeclarator goto 174 variabledeclaratorid goto 66 - simplename goto 177 - qualifiedname goto 178 - name goto 179 + simplename goto 175 + qualifiedname goto 176 + name goto 177 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 180 - block goto 181 - blockstatements goto 182 - localvariabledeclarationstatement goto 183 - localvariabledeclaration goto 184 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - blockstatement goto 198 - statement goto 199 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + type goto 178 + block goto 179 + blockstatements goto 180 + localvariabledeclarationstatement goto 181 + localvariabledeclaration goto 182 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + blockstatement goto 196 + statement goto 197 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 state 106 - staticinitializer : STATIC block . (74) + staticinitializer : STATIC block . (76) - . reduce 74 + . reduce 76 state 107 - methoddeclarator : IDENTIFIER . '(' ')' (141) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (142) + methoddeclarator : IDENTIFIER . '(' ')' (143) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) '(' shift 109 . error state 108 - methodheader : VOID methoddeclarator . (113) - methodheader : VOID methoddeclarator . throws (115) + methodheader : VOID methoddeclarator . (115) + methodheader : VOID methoddeclarator . throws (117) THROWS shift 114 - ';' reduce 113 - '{' reduce 113 + ';' reduce 115 + '{' reduce 115 - throws goto 209 + throws goto 207 state 109 - methoddeclarator : IDENTIFIER '(' . ')' (141) - methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (142) + methoddeclarator : IDENTIFIER '(' . ')' (143) + methoddeclarator : IDENTIFIER '(' . formalparameterlist ')' (144) BOOLEAN shift 48 CHAR shift 49 INT shift 50 - IDENTIFIER shift 169 - ')' shift 210 + IDENTIFIER shift 167 + ')' shift 208 . error - variabledeclaratorid goto 211 + variabledeclaratorid goto 209 simplename goto 43 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 212 - formalparameter goto 213 - formalparameterlist goto 214 + type goto 210 + formalparameter goto 211 + formalparameterlist goto 212 state 110 - boundedMethodParameters : boundedMethodParameter . (103) + boundedMethodParameters : boundedMethodParameter . (105) - . reduce 103 + . reduce 105 state 111 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (104) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (105) - methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (110) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (117) - methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (119) - methodheader : '<' boundedMethodParameters . '>' methoddeclarator (122) + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (106) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator (107) + methodheader : '<' boundedMethodParameters . '>' type methoddeclarator throws (112) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator (119) + methodheader : '<' boundedMethodParameters . '>' VOID methoddeclarator throws (121) + methodheader : '<' boundedMethodParameters . '>' methoddeclarator (124) - ',' shift 215 - '>' shift 216 + ',' shift 213 + '>' shift 214 . error state 112 - methodbody : block . (132) + methodbody : block . (134) - . reduce 132 + . reduce 134 state 113 - methoddeclaration : methodheader methodbody . (86) + methoddeclaration : methodheader methodbody . (88) - . reduce 86 + . reduce 88 state 114 - throws : THROWS . classtypelist (95) + throws : THROWS . classtypelist (97) IDENTIFIER shift 42 . error simplename goto 43 - classtype goto 217 + classtype goto 215 classorinterfacetype goto 45 - classtypelist goto 218 + classtypelist goto 216 state 115 - methodheader : methoddeclarator throws . (124) + methodheader : methoddeclarator throws . (126) - . reduce 124 + . reduce 126 state 116 @@ -1762,302 +1777,302 @@ state 117 state 118 - variabledeclarators : variabledeclarators ',' . variabledeclarator (131) + variabledeclarators : variabledeclarators ',' . variabledeclarator (133) - IDENTIFIER shift 219 + IDENTIFIER shift 217 . error - variabledeclarator goto 220 + variabledeclarator goto 218 variabledeclaratorid goto 66 state 119 - fielddeclaration : variabledeclarators ';' . (83) + fielddeclaration : variabledeclarators ';' . (85) + + . reduce 85 + + +state 120 + fielddeclaration : fielddeclarator ';' . (83) . reduce 83 -state 120 - fielddeclaration : fielddeclarator ';' . (81) - - . reduce 81 - - state 121 - fielddeclarator : variabledeclarator '=' . expression (80) + fielddeclarator : variabledeclarator '=' . expression (82) - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 242 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 240 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 state 122 - constructordeclarator : simplename '(' . ')' (89) - constructordeclarator : simplename '(' . formalparameterlist ')' (90) + constructordeclarator : simplename '(' . ')' (91) + constructordeclarator : simplename '(' . formalparameterlist ')' (92) BOOLEAN shift 48 CHAR shift 49 INT shift 50 - IDENTIFIER shift 169 - ')' shift 251 + IDENTIFIER shift 167 + ')' shift 249 . error - variabledeclaratorid goto 211 + variabledeclaratorid goto 209 simplename goto 43 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 212 - formalparameter goto 213 - formalparameterlist goto 252 + type goto 210 + formalparameter goto 211 + formalparameterlist goto 250 state 123 - type : primitivetype '[' . ']' (127) + type : primitivetype '[' . ']' (129) - ']' shift 253 + ']' shift 251 . error state 124 - type : referencetype '[' . ']' (129) + type : referencetype '[' . ']' (131) - ']' shift 254 + ']' shift 252 . error state 125 - methodheader : type methoddeclarator . (106) - methodheader : type methoddeclarator . throws (109) + methodheader : type methoddeclarator . (108) + methodheader : type methoddeclarator . throws (111) THROWS shift 114 - ';' reduce 106 - '{' reduce 106 + ';' reduce 108 + '{' reduce 108 - throws goto 255 + throws goto 253 state 126 - fielddeclaration : type variabledeclarators . ';' (84) - variabledeclarators : variabledeclarators . ',' variabledeclarator (131) + fielddeclaration : type variabledeclarators . ';' (86) + variabledeclarators : variabledeclarators . ',' variabledeclarator (133) ',' shift 118 - ';' shift 256 + ';' shift 254 . error state 127 - fielddeclaration : type fielddeclarator . (82) + fielddeclaration : type fielddeclarator . (84) - . reduce 82 + . reduce 84 state 128 - fielddeclarator : type variabledeclarator . '=' expression (79) - fielddeclarator : variabledeclarator . '=' expression (80) - variabledeclarators : variabledeclarator . (130) + fielddeclarator : type variabledeclarator . '=' expression (81) + fielddeclarator : variabledeclarator . '=' expression (82) + variabledeclarators : variabledeclarator . (132) - '=' shift 257 - ',' reduce 130 - ';' reduce 130 + '=' shift 255 + ',' reduce 132 + ';' reduce 132 state 129 - fielddeclarator : type . variabledeclarator '=' expression (79) + fielddeclarator : type . variabledeclarator '=' expression (81) - IDENTIFIER shift 219 + IDENTIFIER shift 217 . error - variabledeclarator goto 258 + variabledeclarator goto 256 variabledeclaratorid goto 66 state 130 - methodheader : modifiers VOID . methoddeclarator (114) - methodheader : modifiers VOID . methoddeclarator throws (116) + methodheader : modifiers VOID . methoddeclarator (116) + methodheader : modifiers VOID . methoddeclarator throws (118) IDENTIFIER shift 107 . error - methoddeclarator goto 259 + methoddeclarator goto 257 state 131 - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (108) - methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (112) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (118) - methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (120) + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator (110) + methodheader : modifiers '<' . boundedMethodParameters '>' type methoddeclarator throws (114) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator (120) + methodheader : modifiers '<' . boundedMethodParameters '>' VOID methoddeclarator throws (122) IDENTIFIER shift 38 . error boundedMethodParameter goto 110 - boundedMethodParameters goto 260 + boundedMethodParameters goto 258 state 132 - methodheader : modifiers methoddeclarator . (123) - methodheader : modifiers methoddeclarator . throws (125) + methodheader : modifiers methoddeclarator . (125) + methodheader : modifiers methoddeclarator . throws (127) THROWS shift 114 - ';' reduce 123 - '{' reduce 123 + ';' reduce 125 + '{' reduce 125 - throws goto 261 + throws goto 259 state 133 - fielddeclaration : modifiers type . variabledeclarators ';' (85) - methodheader : modifiers type . methoddeclarator (107) - methodheader : modifiers type . methoddeclarator throws (111) + fielddeclaration : modifiers type . variabledeclarators ';' (87) + methodheader : modifiers type . methoddeclarator (109) + methodheader : modifiers type . methoddeclarator throws (113) - IDENTIFIER shift 262 + IDENTIFIER shift 260 . error - methoddeclarator goto 263 - variabledeclarators goto 264 - variabledeclarator goto 176 + methoddeclarator goto 261 + variabledeclarators goto 262 + variabledeclarator goto 174 variabledeclaratorid goto 66 state 134 - constructordeclaration : modifiers constructordeclarator . constructorbody (76) + constructordeclaration : modifiers constructordeclarator . constructorbody (78) '{' shift 135 . error - constructorbody goto 265 + constructorbody goto 263 state 135 - constructorbody : '{' . '}' (91) - constructorbody : '{' . explicitconstructorinvocation '}' (92) - constructorbody : '{' . blockstatements '}' (93) - constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (94) + constructorbody : '{' . '}' (93) + constructorbody : '{' . explicitconstructorinvocation '}' (94) + constructorbody : '{' . blockstatements '}' (95) + constructorbody : '{' . explicitconstructorinvocation blockstatements '}' (96) BOOLEAN shift 48 CHAR shift 49 - FOR shift 156 - IF shift 157 + FOR shift 154 + IF shift 155 INT shift 50 - RETURN shift 158 - THIS shift 266 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 169 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + RETURN shift 156 + THIS shift 264 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 167 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '}' shift 267 - '(' shift 174 + '}' shift 265 + '(' shift 172 . error - variabledeclarators goto 175 - variabledeclarator goto 176 + variabledeclarators goto 173 + variabledeclarator goto 174 variabledeclaratorid goto 66 - simplename goto 177 - qualifiedname goto 178 - name goto 179 + simplename goto 175 + qualifiedname goto 176 + name goto 177 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 180 - block goto 181 - blockstatements goto 268 - localvariabledeclarationstatement goto 183 - localvariabledeclaration goto 184 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - blockstatement goto 198 - statement goto 199 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - explicitconstructorinvocation goto 269 + type goto 178 + block goto 179 + blockstatements goto 266 + localvariabledeclarationstatement goto 181 + localvariabledeclaration goto 182 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + blockstatement goto 196 + statement goto 197 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + explicitconstructorinvocation goto 267 state 136 - constructordeclaration : constructordeclarator constructorbody . (75) + constructordeclaration : constructordeclarator constructorbody . (77) - . reduce 75 + . reduce 77 state 137 @@ -2091,20 +2106,20 @@ state 141 state 142 - abstractmethoddeclaration : methodheader ';' . (78) + abstractmethoddeclaration : methodheader ';' . (80) - . reduce 78 + . reduce 80 state 143 - constantdeclaration : modifiers type . IDENTIFIER '=' expression ';' (77) - methodheader : modifiers type . methoddeclarator (107) - methodheader : modifiers type . methoddeclarator throws (111) + constantdeclaration : modifiers type . IDENTIFIER '=' expression ';' (79) + methodheader : modifiers type . methoddeclarator (109) + methodheader : modifiers type . methoddeclarator throws (113) - IDENTIFIER shift 270 + IDENTIFIER shift 268 . error - methoddeclarator goto 263 + methoddeclarator goto 261 state 144 @@ -2127,7 +2142,7 @@ state 146 '{' shift 27 . error - classbody goto 271 + classbody goto 269 state 147 @@ -2143,208 +2158,186 @@ state 148 state 149 - boundedclassidentifierlist : referencetype . (101) + boundedclassidentifierlist : referencetype . (103) - . reduce 101 + . reduce 103 state 150 - boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (100) - boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (102) + boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist . (102) + boundedclassidentifierlist : boundedclassidentifierlist . '&' referencetype (104) - '&' shift 272 - ',' reduce 100 - '>' reduce 100 + '&' shift 270 + ',' reduce 102 + '>' reduce 102 state 151 - boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (98) + boundedClassParameters : boundedClassParameters ',' boundedClassParameter . (100) - . reduce 98 + . reduce 100 state 152 - paralist : IDENTIFIER . (32) - paralist : IDENTIFIER . '<' paralist '>' (33) + typelist : type . (68) - '<' shift 273 - ',' reduce 32 - '>' reduce 32 + . reduce 68 state 153 - wildcardparameter : '?' . (38) - wildcardparameter : '?' . EXTENDS referencetype (39) - wildcardparameter : '?' . SUPER referencetype (40) + typelist : typelist . ',' type (69) + parameter : '<' typelist . '>' (71) - EXTENDS shift 274 - SUPER shift 275 - ',' reduce 38 - '>' reduce 38 + ',' shift 271 + '>' shift 272 + . error state 154 - paralist : paralist . ',' IDENTIFIER (35) - paralist : paralist . ',' IDENTIFIER '<' paralist '>' (36) - paralist : paralist . ',' wildcardparameter (37) - parameter : '<' paralist . '>' (69) + forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (177) + forstatement : FOR . '(' expression ';' expression ';' ')' statement (178) + forstatement : FOR . '(' expression ';' ';' expression ')' statement (179) + forstatement : FOR . '(' ';' expression ';' expression ')' statement (180) + forstatement : FOR . '(' expression ';' ';' ')' statement (181) + forstatement : FOR . '(' ';' expression ';' ')' statement (182) + forstatement : FOR . '(' ';' ';' expression ')' statement (183) + forstatement : FOR . '(' ';' ';' ')' statement (184) - ',' shift 276 - '>' shift 277 + '(' shift 273 . error state 155 - paralist : wildcardparameter . (34) + ifthenstatement : IF . '(' expression ')' statement (174) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (175) - . reduce 34 + '(' shift 274 + . error state 156 - forstatement : FOR . '(' expression ';' expression ';' expression ')' statement (175) - forstatement : FOR . '(' expression ';' expression ';' ')' statement (176) - forstatement : FOR . '(' expression ';' ';' expression ')' statement (177) - forstatement : FOR . '(' ';' expression ';' expression ')' statement (178) - forstatement : FOR . '(' expression ';' ';' ')' statement (179) - forstatement : FOR . '(' ';' expression ';' ')' statement (180) - forstatement : FOR . '(' ';' ';' expression ')' statement (181) - forstatement : FOR . '(' ';' ';' ')' statement (182) + returnstatement : RETURN . ';' (189) + returnstatement : RETURN . expression ';' (190) - '(' shift 278 + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 275 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 276 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + state 157 - ifthenstatement : IF . '(' expression ')' statement (172) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (173) + primarynonewarray : THIS . (245) - '(' shift 279 - . error + . reduce 245 state 158 - returnstatement : RETURN . ';' (187) - returnstatement : RETURN . expression ';' (188) + whilestatement : WHILE . '(' expression ')' statement (176) - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 280 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 + '(' shift 277 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 281 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - state 159 - primarynonewarray : THIS . (243) - - . reduce 243 - - -state 160 - whilestatement : WHILE . '(' expression ')' statement (174) - - '(' shift 282 - . error - - -state 161 - literal : INTLITERAL . (251) - - . reduce 251 - - -state 162 - literal : LONGLITERAL . (255) - - . reduce 255 - - -state 163 - literal : DOUBLELITERAL . (257) - - . reduce 257 - - -state 164 - literal : FLOATLITERAL . (256) - - . reduce 256 - - -state 165 - literal : BOOLLITERAL . (252) - - . reduce 252 - - -state 166 - literal : JNULL . (258) - - . reduce 258 - - -state 167 - literal : CHARLITERAL . (253) + literal : INTLITERAL . (253) . reduce 253 -state 168 - literal : STRINGLITERAL . (254) +state 160 + literal : LONGLITERAL . (257) + + . reduce 257 + + +state 161 + literal : DOUBLELITERAL . (259) + + . reduce 259 + + +state 162 + literal : FLOATLITERAL . (258) + + . reduce 258 + + +state 163 + literal : BOOLLITERAL . (254) . reduce 254 -state 169 +state 164 + literal : JNULL . (260) + + . reduce 260 + + +state 165 + literal : CHARLITERAL . (255) + + . reduce 255 + + +state 166 + literal : STRINGLITERAL . (256) + + . reduce 256 + + +state 167 simplename : IDENTIFIER . (15) - variabledeclaratorid : IDENTIFIER . (154) + variabledeclaratorid : IDENTIFIER . (156) IDENTIFIER reduce 15 INCREMENT reduce 15 @@ -2354,152 +2347,152 @@ state 169 TIMESEQUAL reduce 15 DIVIDEEQUAL reduce 15 MODULOEQUAL reduce 15 - ',' reduce 154 - ';' reduce 154 + ',' reduce 156 + ';' reduce 156 '.' reduce 15 '<' reduce 15 '=' reduce 15 '(' reduce 15 - ')' reduce 154 + ')' reduce 156 '[' reduce 15 -state 170 - preincrementexpression : INCREMENT . unaryexpression (218) +state 168 + preincrementexpression : INCREMENT . unaryexpression (220) - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 284 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 279 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 169 + predecrementexpression : DECREMENT . unaryexpression (221) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 280 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 170 + emptystatement : ';' . (187) + + . reduce 187 state 171 - predecrementexpression : DECREMENT . unaryexpression (219) + block : '{' '}' . (89) - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 285 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 + . reduce 89 state 172 - emptystatement : ';' . (185) - - . reduce 185 - - -state 173 - block : '{' '}' . (87) - - . reduce 87 - - -state 174 - lambdaexpressionparameter : '(' . ')' (208) - lambdaexpressionparameter : '(' . formalparameterlist ')' (209) + lambdaexpressionparameter : '(' . ')' (210) + lambdaexpressionparameter : '(' . formalparameterlist ')' (211) BOOLEAN shift 48 CHAR shift 49 INT shift 50 - IDENTIFIER shift 169 - ')' shift 286 + IDENTIFIER shift 167 + ')' shift 281 . error - variabledeclaratorid goto 211 + variabledeclaratorid goto 209 simplename goto 43 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 212 - formalparameter goto 213 - formalparameterlist goto 287 + type goto 210 + formalparameter goto 211 + formalparameterlist goto 282 + + +state 173 + variabledeclarators : variabledeclarators . ',' variabledeclarator (133) + localvariabledeclaration : variabledeclarators . (169) + + ',' shift 118 + ';' reduce 169 + + +state 174 + variabledeclarators : variabledeclarator . (132) + + . reduce 132 state 175 - variabledeclarators : variabledeclarators . ',' variabledeclarator (131) - localvariabledeclaration : variabledeclarators . (167) - - ',' shift 118 - ';' reduce 167 - - -state 176 - variabledeclarators : variabledeclarator . (130) - - . reduce 130 - - -state 177 name : simplename . (9) classorinterfacetype : simplename . parameter (67) - parameter : . (68) + parameter : . (70) '<' shift 103 - IDENTIFIER reduce 68 + IDENTIFIER reduce 70 INCREMENT reduce 9 DECREMENT reduce 9 PLUSEQUAL reduce 9 @@ -2510,3668 +2503,708 @@ state 177 '.' reduce 9 '=' reduce 9 '(' reduce 9 - '[' reduce 68 + '[' reduce 70 parameter goto 104 -state 178 +state 176 name : qualifiedname . (8) . reduce 8 -179: shift/reduce conflict (shift 288, reduce 236) on '.' -state 179 +177: shift/reduce conflict (shift 283, reduce 238) on '.' +state 177 qualifiedname : name . '.' IDENTIFIER (12) - lefthandside : name . (211) - methodinvocation : name . '(' ')' (222) - methodinvocation : name . '(' argumentlist ')' (223) - postfixexpression : name . (236) + lefthandside : name . (213) + methodinvocation : name . '(' ')' (224) + methodinvocation : name . '(' argumentlist ')' (225) + postfixexpression : name . (238) - '.' shift 288 - '(' shift 289 - 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 - PLUSEQUAL reduce 211 - MINUSEQUAL reduce 211 - TIMESEQUAL reduce 211 - DIVIDEEQUAL reduce 211 - MODULOEQUAL reduce 211 - ',' reduce 236 - ';' reduce 236 - '*' reduce 236 - '<' reduce 236 - '>' reduce 236 - '}' reduce 236 - '=' reduce 211 - ')' reduce 236 - '&' reduce 236 - '+' reduce 236 - '-' reduce 236 - '|' reduce 236 - '^' reduce 236 - '/' reduce 236 - '%' reduce 236 + '.' shift 283 + '(' shift 284 + ABSTRACT reduce 238 + BOOLEAN reduce 238 + CHAR reduce 238 + FINAL reduce 238 + INSTANCEOF reduce 238 + INT reduce 238 + PRIVATE reduce 238 + PROTECTED reduce 238 + PUBLIC reduce 238 + STATIC reduce 238 + VOID reduce 238 + IDENTIFIER reduce 238 + EQUAL reduce 238 + LESSEQUAL reduce 238 + GREATEREQUAL reduce 238 + NOTEQUAL reduce 238 + LOGICALOR reduce 238 + LOGICALAND reduce 238 + INCREMENT reduce 238 + DECREMENT reduce 238 + PLUSEQUAL reduce 213 + MINUSEQUAL reduce 213 + TIMESEQUAL reduce 213 + DIVIDEEQUAL reduce 213 + MODULOEQUAL reduce 213 + ',' reduce 238 + ';' reduce 238 + '*' reduce 238 + '<' reduce 238 + '>' reduce 238 + '}' reduce 238 + '=' reduce 213 + ')' reduce 238 + '&' reduce 238 + '+' reduce 238 + '-' reduce 238 + '|' reduce 238 + '^' reduce 238 + '/' reduce 238 + '%' reduce 238 + + +state 178 + localvariabledeclaration : type . variabledeclarators (168) + + IDENTIFIER shift 217 + . error + + variabledeclarators goto 285 + variabledeclarator goto 174 + variabledeclaratorid goto 66 + + +state 179 + statementwithouttrailingsubstatement : block . (170) + + . reduce 170 state 180 - localvariabledeclaration : type . variabledeclarators (166) - - IDENTIFIER shift 219 - . error - - variabledeclarators goto 290 - variabledeclarator goto 176 - variabledeclaratorid goto 66 - - -state 181 - statementwithouttrailingsubstatement : block . (168) - - . reduce 168 - - -state 182 - block : '{' blockstatements . '}' (88) - blockstatements : blockstatements . blockstatement (134) + block : '{' blockstatements . '}' (90) + blockstatements : blockstatements . blockstatement (136) BOOLEAN shift 48 CHAR shift 49 - FOR shift 156 - IF shift 157 + FOR shift 154 + IF shift 155 INT shift 50 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 169 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 167 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '}' shift 291 - '(' shift 174 + '}' shift 286 + '(' shift 172 . error - variabledeclarators goto 175 - variabledeclarator goto 176 + variabledeclarators goto 173 + variabledeclarator goto 174 variabledeclaratorid goto 66 - simplename goto 177 - qualifiedname goto 178 - name goto 179 + simplename goto 175 + qualifiedname goto 176 + name goto 177 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 180 - block goto 181 - localvariabledeclarationstatement goto 183 - localvariabledeclaration goto 184 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - blockstatement goto 292 - statement goto 199 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + type goto 178 + block goto 179 + localvariabledeclarationstatement goto 181 + localvariabledeclaration goto 182 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + blockstatement goto 287 + statement goto 197 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 181 + blockstatement : localvariabledeclarationstatement . (149) + + . reduce 149 + + +state 182 + localvariabledeclarationstatement : localvariabledeclaration . ';' (158) + + ';' shift 288 + . error state 183 - blockstatement : localvariabledeclarationstatement . (147) + lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (212) - . reduce 147 + LAMBDAASSIGNMENT shift 289 + . error + + lambdaassignmentoperator goto 290 state 184 - localvariabledeclarationstatement : localvariabledeclaration . ';' (156) + primarynonewarray : literal . (244) - ';' shift 293 - . error + . reduce 244 state 185 - lambdaexpression : lambdaexpressionparameter . lambdaassignmentoperator lambdabody (210) + primary : primarynonewarray . (241) - LAMBDAASSIGNMENT shift 294 - . error - - lambdaassignmentoperator goto 295 + . reduce 241 +186: shift/reduce conflict (shift 291, reduce 237) on '.' state 186 - primarynonewarray : literal . (242) + methodinvocation : primary . '.' IDENTIFIER '(' ')' (226) + methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (227) + postfixexpression : primary . (237) - . reduce 242 + '.' shift 291 + ABSTRACT reduce 237 + BOOLEAN reduce 237 + CHAR reduce 237 + FINAL reduce 237 + INSTANCEOF reduce 237 + INT reduce 237 + PRIVATE reduce 237 + PROTECTED reduce 237 + PUBLIC reduce 237 + STATIC reduce 237 + VOID reduce 237 + IDENTIFIER reduce 237 + EQUAL reduce 237 + LESSEQUAL reduce 237 + GREATEREQUAL reduce 237 + NOTEQUAL reduce 237 + LOGICALOR reduce 237 + LOGICALAND reduce 237 + INCREMENT reduce 237 + DECREMENT reduce 237 + ',' reduce 237 + ';' reduce 237 + '*' reduce 237 + '<' reduce 237 + '>' reduce 237 + '}' reduce 237 + ')' reduce 237 + '&' reduce 237 + '+' reduce 237 + '-' reduce 237 + '|' reduce 237 + '^' reduce 237 + '/' reduce 237 + '%' reduce 237 state 187 - primary : primarynonewarray . (239) + postincrementexpression : postfixexpression . INCREMENT (222) + postdecrementexpression : postfixexpression . DECREMENT (223) - . reduce 239 + INCREMENT shift 292 + DECREMENT shift 293 + . error -188: shift/reduce conflict (shift 296, reduce 235) on '.' state 188 - methodinvocation : primary . '.' IDENTIFIER '(' ')' (224) - methodinvocation : primary . '.' IDENTIFIER '(' argumentlist ')' (225) - postfixexpression : primary . (235) + primarynonewarray : lambdaexpression . (247) - '.' shift 296 - ABSTRACT reduce 235 - BOOLEAN reduce 235 - CHAR reduce 235 - FINAL reduce 235 - INSTANCEOF reduce 235 - INT reduce 235 - PRIVATE reduce 235 - PROTECTED reduce 235 - PUBLIC reduce 235 - STATIC reduce 235 - VOID reduce 235 - IDENTIFIER reduce 235 - EQUAL reduce 235 - LESSEQUAL reduce 235 - GREATEREQUAL reduce 235 - NOTEQUAL reduce 235 - LOGICALOR reduce 235 - LOGICALAND reduce 235 - INCREMENT reduce 235 - DECREMENT reduce 235 - ',' reduce 235 - ';' reduce 235 - '*' reduce 235 - '<' reduce 235 - '>' reduce 235 - '}' reduce 235 - ')' reduce 235 - '&' reduce 235 - '+' reduce 235 - '-' reduce 235 - '|' reduce 235 - '^' reduce 235 - '/' reduce 235 - '%' reduce 235 + . reduce 247 state 189 - postincrementexpression : postfixexpression . INCREMENT (220) - postdecrementexpression : postfixexpression . DECREMENT (221) + expressionstatement : statementexpression . ';' (188) - INCREMENT shift 297 - DECREMENT shift 298 + ';' shift 294 . error state 190 - primarynonewarray : lambdaexpression . (245) + statementexpression : preincrementexpression . (198) - . reduce 245 + . reduce 198 state 191 - expressionstatement : statementexpression . ';' (186) + statementexpression : predecrementexpression . (199) - ';' shift 299 - . error + . reduce 199 state 192 - statementexpression : preincrementexpression . (196) + statementexpression : postincrementexpression . (200) + postfixexpression : postincrementexpression . (239) - . reduce 196 + INCREMENT reduce 239 + DECREMENT reduce 239 + ';' reduce 200 state 193 - statementexpression : predecrementexpression . (197) + statementexpression : postdecrementexpression . (201) + postfixexpression : postdecrementexpression . (240) - . reduce 197 + INCREMENT reduce 240 + DECREMENT reduce 240 + ';' reduce 201 state 194 - statementexpression : postincrementexpression . (198) - postfixexpression : postincrementexpression . (237) + statementwithouttrailingsubstatement : expressionstatement . (172) - INCREMENT reduce 237 - DECREMENT reduce 237 - ';' reduce 198 + . reduce 172 state 195 - statementexpression : postdecrementexpression . (199) - postfixexpression : postdecrementexpression . (238) + statement : statementwithouttrailingsubstatement . (159) - INCREMENT reduce 238 - DECREMENT reduce 238 - ';' reduce 199 + . reduce 159 state 196 - statementwithouttrailingsubstatement : expressionstatement . (170) + blockstatements : blockstatement . (135) - . reduce 170 + . reduce 135 state 197 - statement : statementwithouttrailingsubstatement . (157) + blockstatement : statement . (150) - . reduce 157 + . reduce 150 state 198 - blockstatements : blockstatement . (133) + statement : whilestatement . (162) - . reduce 133 + . reduce 162 state 199 - blockstatement : statement . (148) + statement : forstatement . (163) - . reduce 148 + . reduce 163 state 200 - statement : whilestatement . (160) + statement : ifthenstatement . (160) . reduce 160 state 201 - statement : forstatement . (161) + statement : ifthenelsestatement . (161) . reduce 161 state 202 - statement : ifthenstatement . (158) - - . reduce 158 - - -state 203 - statement : ifthenelsestatement . (159) - - . reduce 159 - - -state 204 - statementwithouttrailingsubstatement : emptystatement . (169) - - . reduce 169 - - -state 205 - statementwithouttrailingsubstatement : returnstatement . (171) + statementwithouttrailingsubstatement : emptystatement . (171) . reduce 171 -state 206 - statementexpression : assignment . (195) +state 203 + statementwithouttrailingsubstatement : returnstatement . (173) - . reduce 195 + . reduce 173 + + +state 204 + statementexpression : assignment . (197) + + . reduce 197 + + +state 205 + assignment : lefthandside . assignmentoperator assignmentexpression (195) + assignment : lefthandside . assignmentoperator classinstancecreationexpression (196) + + PLUSEQUAL shift 295 + MINUSEQUAL shift 296 + TIMESEQUAL shift 297 + DIVIDEEQUAL shift 298 + MODULOEQUAL shift 299 + '=' shift 300 + . error + + assignmentoperator goto 301 + + +state 206 + statementexpression : methodinvocation . (202) + primarynonewarray : methodinvocation . (246) + + INCREMENT reduce 246 + DECREMENT reduce 246 + ';' reduce 202 + '.' reduce 246 state 207 - assignment : lefthandside . assignmentoperator assignmentexpression (193) - assignment : lefthandside . assignmentoperator classinstancecreationexpression (194) + methodheader : VOID methoddeclarator throws . (117) - PLUSEQUAL shift 300 - MINUSEQUAL shift 301 - TIMESEQUAL shift 302 - DIVIDEEQUAL shift 303 - MODULOEQUAL shift 304 - '=' shift 305 - . error - - assignmentoperator goto 306 + . reduce 117 state 208 - statementexpression : methodinvocation . (200) - primarynonewarray : methodinvocation . (244) + methoddeclarator : IDENTIFIER '(' ')' . (143) - INCREMENT reduce 244 - DECREMENT reduce 244 - ';' reduce 200 - '.' reduce 244 + . reduce 143 state 209 - methodheader : VOID methoddeclarator throws . (115) + formalparameter : variabledeclaratorid . (152) - . reduce 115 + . reduce 152 state 210 - methoddeclarator : IDENTIFIER '(' ')' . (141) + formalparameter : type . variabledeclaratorid (151) - . reduce 141 + IDENTIFIER shift 217 + . error + + variabledeclaratorid goto 302 state 211 - formalparameter : variabledeclaratorid . (150) + formalparameterlist : formalparameter . (137) - . reduce 150 + . reduce 137 state 212 - formalparameter : type . variabledeclaratorid (149) + formalparameterlist : formalparameterlist . ',' formalparameter (138) + methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (144) - IDENTIFIER shift 219 + ',' shift 303 + ')' shift 304 . error - variabledeclaratorid goto 307 - state 213 - formalparameterlist : formalparameter . (135) - - . reduce 135 - - -state 214 - formalparameterlist : formalparameterlist . ',' formalparameter (136) - methoddeclarator : IDENTIFIER '(' formalparameterlist . ')' (142) - - ',' shift 308 - ')' shift 309 - . error - - -state 215 - boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (104) + boundedMethodParameters : boundedMethodParameters ',' . boundedMethodParameter (106) IDENTIFIER shift 38 . error - boundedMethodParameter goto 310 + boundedMethodParameter goto 305 -state 216 - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (105) - methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (110) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (117) - methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (119) - methodheader : '<' boundedMethodParameters '>' . methoddeclarator (122) +state 214 + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator (107) + methodheader : '<' boundedMethodParameters '>' . type methoddeclarator throws (112) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator (119) + methodheader : '<' boundedMethodParameters '>' . VOID methoddeclarator throws (121) + methodheader : '<' boundedMethodParameters '>' . methoddeclarator (124) BOOLEAN shift 48 CHAR shift 49 INT shift 50 - VOID shift 311 + VOID shift 306 IDENTIFIER shift 84 . error - methoddeclarator goto 312 + methoddeclarator goto 307 simplename goto 43 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 primitivetype goto 71 referencetype goto 72 - type goto 313 + type goto 308 + + +state 215 + classtypelist : classtype . (141) + + . reduce 141 + + +state 216 + throws : THROWS classtypelist . (97) + classtypelist : classtypelist . ',' classtype (142) + + ',' shift 309 + ';' reduce 97 + '{' reduce 97 state 217 - classtypelist : classtype . (139) + variabledeclaratorid : IDENTIFIER . (156) - . reduce 139 + . reduce 156 state 218 - throws : THROWS classtypelist . (95) - classtypelist : classtypelist . ',' classtype (140) + variabledeclarators : variabledeclarators ',' variabledeclarator . (133) - ',' shift 314 - ';' reduce 95 - '{' reduce 95 + . reduce 133 state 219 - variabledeclaratorid : IDENTIFIER . (154) - - . reduce 154 - - -state 220 - variabledeclarators : variabledeclarators ',' variabledeclarator . (131) - - . reduce 131 - - -state 221 - classinstancecreationexpression : NEW . classtype '(' ')' (226) - classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (227) + classinstancecreationexpression : NEW . classtype '(' ')' (228) + classinstancecreationexpression : NEW . classtype '(' argumentlist ')' (229) IDENTIFIER shift 42 . error simplename goto 43 - classtype goto 315 + classtype goto 310 classorinterfacetype goto 45 -state 222 - lambdaexpressionparameter : '(' . ')' (208) - lambdaexpressionparameter : '(' . formalparameterlist ')' (209) - castexpression : '(' . primitivetype ')' unaryexpression (259) +state 220 + lambdaexpressionparameter : '(' . ')' (210) + lambdaexpressionparameter : '(' . formalparameterlist ')' (211) + castexpression : '(' . primitivetype ')' unaryexpression (261) BOOLEAN shift 48 CHAR shift 49 INT shift 50 - IDENTIFIER shift 169 - ')' shift 286 + IDENTIFIER shift 167 + ')' shift 281 . error - variabledeclaratorid goto 211 + variabledeclaratorid goto 209 simplename goto 43 classorinterfacetype goto 68 integraltype goto 69 numerictype goto 70 - primitivetype goto 316 + primitivetype goto 311 referencetype goto 72 - type goto 212 - formalparameter goto 213 - formalparameterlist goto 287 + type goto 210 + formalparameter goto 211 + formalparameterlist goto 282 + + +state 221 + unaryexpression : '+' . unaryexpression (234) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 312 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 222 + unaryexpression : '-' . unaryexpression (235) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 313 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 state 223 - unaryexpression : '+' . unaryexpression (232) + unaryexpressionnotplusminus : '!' . unaryexpression (249) - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 317 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 314 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 state 224 - unaryexpression : '-' . unaryexpression (233) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 318 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 225 - unaryexpressionnotplusminus : '!' . unaryexpression (247) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 319 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 226 name : simplename . (9) . reduce 9 -227: shift/reduce conflict (shift 297, reduce 246) on INCREMENT -227: shift/reduce conflict (shift 298, reduce 246) on DECREMENT +225: shift/reduce conflict (shift 292, reduce 248) on INCREMENT +225: shift/reduce conflict (shift 293, reduce 248) on DECREMENT +state 225 + postincrementexpression : postfixexpression . INCREMENT (222) + postdecrementexpression : postfixexpression . DECREMENT (223) + unaryexpressionnotplusminus : postfixexpression . (248) + + INCREMENT shift 292 + DECREMENT shift 293 + 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 + ',' 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 + + +state 226 + unaryexpression : unaryexpressionnotplusminus . (236) + + . reduce 236 + + state 227 - postincrementexpression : postfixexpression . INCREMENT (220) - postdecrementexpression : postfixexpression . DECREMENT (221) - unaryexpressionnotplusminus : postfixexpression . (246) - - INCREMENT shift 297 - DECREMENT shift 298 - 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 - ',' 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 - - -state 228 - unaryexpression : unaryexpressionnotplusminus . (234) - - . reduce 234 - - -state 229 - multiplicativeexpression : unaryexpression . (275) - - . reduce 275 - - -230: shift/reduce conflict (shift 320, reduce 272) on '*' -230: shift/reduce conflict (shift 321, reduce 272) on '/' -230: shift/reduce conflict (shift 322, reduce 272) on '%' -state 230 - additiveexpression : multiplicativeexpression . (272) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (276) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (277) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (278) - - '*' shift 320 - '/' shift 321 - '%' shift 322 - ABSTRACT reduce 272 - BOOLEAN reduce 272 - CHAR reduce 272 - FINAL reduce 272 - INSTANCEOF reduce 272 - INT reduce 272 - PRIVATE reduce 272 - PROTECTED reduce 272 - PUBLIC reduce 272 - STATIC reduce 272 - VOID reduce 272 - IDENTIFIER reduce 272 - EQUAL reduce 272 - LESSEQUAL reduce 272 - GREATEREQUAL reduce 272 - NOTEQUAL reduce 272 - LOGICALOR reduce 272 - LOGICALAND reduce 272 - INCREMENT reduce 272 - DECREMENT reduce 272 - ',' reduce 272 - ';' reduce 272 - '.' reduce 272 - '<' reduce 272 - '>' reduce 272 - '}' reduce 272 - ')' reduce 272 - '&' reduce 272 - '+' reduce 272 - '-' reduce 272 - '|' reduce 272 - '^' reduce 272 - - -231: shift/reduce conflict (shift 323, reduce 271) on '+' -231: shift/reduce conflict (shift 324, reduce 271) on '-' -state 231 - shiftexpression : additiveexpression . (271) - additiveexpression : additiveexpression . '+' multiplicativeexpression (273) - additiveexpression : additiveexpression . '-' multiplicativeexpression (274) - - '+' shift 323 - '-' shift 324 - ABSTRACT reduce 271 - BOOLEAN reduce 271 - CHAR reduce 271 - FINAL reduce 271 - INSTANCEOF 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 - LESSEQUAL reduce 271 - GREATEREQUAL 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 - - -state 232 - relationalexpression : shiftexpression . (265) - - . reduce 265 - - -233: shift/reduce conflict (shift 325, reduce 262) on INSTANCEOF -233: shift/reduce conflict (shift 326, reduce 262) on LESSEQUAL -233: shift/reduce conflict (shift 327, reduce 262) on GREATEREQUAL -233: shift/reduce conflict (shift 328, reduce 262) on '<' -233: shift/reduce conflict (shift 329, reduce 262) on '>' -state 233 - equalityexpression : relationalexpression . (262) - relationalexpression : relationalexpression . '<' shiftexpression (266) - relationalexpression : relationalexpression . '>' shiftexpression (267) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (268) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (269) - relationalexpression : relationalexpression . INSTANCEOF referencetype (270) - - INSTANCEOF shift 325 - LESSEQUAL shift 326 - GREATEREQUAL shift 327 - '<' shift 328 - '>' shift 329 - ABSTRACT reduce 262 - BOOLEAN reduce 262 - CHAR reduce 262 - FINAL reduce 262 - INT reduce 262 - PRIVATE reduce 262 - PROTECTED reduce 262 - PUBLIC reduce 262 - STATIC reduce 262 - VOID reduce 262 - IDENTIFIER reduce 262 - EQUAL reduce 262 - NOTEQUAL reduce 262 - LOGICALOR reduce 262 - LOGICALAND reduce 262 - INCREMENT reduce 262 - DECREMENT reduce 262 - ',' reduce 262 - ';' reduce 262 - '.' reduce 262 - '*' reduce 262 - '}' reduce 262 - ')' reduce 262 - '&' reduce 262 - '+' reduce 262 - '-' reduce 262 - '|' reduce 262 - '^' reduce 262 - '/' reduce 262 - '%' reduce 262 - - -234: shift/reduce conflict (shift 330, reduce 260) on EQUAL -234: shift/reduce conflict (shift 331, reduce 260) on NOTEQUAL -state 234 - andexpression : equalityexpression . (260) - equalityexpression : equalityexpression . EQUAL relationalexpression (263) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (264) - - EQUAL shift 330 - NOTEQUAL shift 331 - ABSTRACT reduce 260 - BOOLEAN reduce 260 - CHAR reduce 260 - FINAL reduce 260 - INSTANCEOF reduce 260 - INT reduce 260 - PRIVATE reduce 260 - PROTECTED reduce 260 - PUBLIC reduce 260 - STATIC reduce 260 - VOID reduce 260 - IDENTIFIER reduce 260 - LESSEQUAL reduce 260 - GREATEREQUAL reduce 260 - LOGICALOR reduce 260 - LOGICALAND reduce 260 - INCREMENT reduce 260 - DECREMENT reduce 260 - ',' reduce 260 - ';' reduce 260 - '.' reduce 260 - '*' reduce 260 - '<' reduce 260 - '>' reduce 260 - '}' reduce 260 - ')' reduce 260 - '&' reduce 260 - '+' reduce 260 - '-' reduce 260 - '|' reduce 260 - '^' reduce 260 - '/' reduce 260 - '%' reduce 260 - - -235: shift/reduce conflict (shift 332, reduce 249) on '&' -state 235 - exclusiveorexpression : andexpression . (249) - andexpression : andexpression . '&' equalityexpression (261) - - '&' shift 332 - ABSTRACT reduce 249 - BOOLEAN reduce 249 - CHAR reduce 249 - FINAL reduce 249 - INSTANCEOF reduce 249 - INT reduce 249 - PRIVATE reduce 249 - PROTECTED reduce 249 - PUBLIC reduce 249 - STATIC reduce 249 - VOID reduce 249 - IDENTIFIER reduce 249 - EQUAL reduce 249 - LESSEQUAL reduce 249 - GREATEREQUAL reduce 249 - NOTEQUAL reduce 249 - LOGICALOR reduce 249 - LOGICALAND reduce 249 - INCREMENT reduce 249 - DECREMENT reduce 249 - ',' reduce 249 - ';' reduce 249 - '.' reduce 249 - '*' reduce 249 - '<' reduce 249 - '>' reduce 249 - '}' reduce 249 - ')' reduce 249 - '+' reduce 249 - '-' reduce 249 - '|' reduce 249 - '^' reduce 249 - '/' reduce 249 - '%' reduce 249 - - -236: shift/reduce conflict (shift 333, reduce 240) on '^' -state 236 - inclusiveorexpression : exclusiveorexpression . (240) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (250) - - '^' shift 333 - ABSTRACT reduce 240 - BOOLEAN reduce 240 - CHAR reduce 240 - FINAL reduce 240 - INSTANCEOF reduce 240 - INT reduce 240 - PRIVATE reduce 240 - PROTECTED reduce 240 - PUBLIC reduce 240 - STATIC reduce 240 - VOID reduce 240 - IDENTIFIER reduce 240 - EQUAL reduce 240 - LESSEQUAL reduce 240 - GREATEREQUAL reduce 240 - NOTEQUAL reduce 240 - LOGICALOR reduce 240 - LOGICALAND reduce 240 - INCREMENT reduce 240 - DECREMENT reduce 240 - ',' reduce 240 - ';' reduce 240 - '.' reduce 240 - '*' reduce 240 - '<' reduce 240 - '>' reduce 240 - '}' reduce 240 - ')' reduce 240 - '&' reduce 240 - '+' reduce 240 - '-' reduce 240 - '|' reduce 240 - '/' reduce 240 - '%' reduce 240 - - -237: shift/reduce conflict (shift 334, reduce 228) on '|' -state 237 - conditionalandexpression : inclusiveorexpression . (228) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (241) - - '|' shift 334 - ABSTRACT reduce 228 - BOOLEAN reduce 228 - CHAR reduce 228 - FINAL reduce 228 - INSTANCEOF reduce 228 - INT reduce 228 - PRIVATE reduce 228 - PROTECTED reduce 228 - PUBLIC reduce 228 - STATIC reduce 228 - VOID reduce 228 - IDENTIFIER reduce 228 - EQUAL reduce 228 - LESSEQUAL reduce 228 - GREATEREQUAL reduce 228 - NOTEQUAL reduce 228 - LOGICALOR reduce 228 - LOGICALAND reduce 228 - INCREMENT reduce 228 - DECREMENT reduce 228 - ',' reduce 228 - ';' reduce 228 - '.' reduce 228 - '*' reduce 228 - '<' reduce 228 - '>' reduce 228 - '}' reduce 228 - ')' reduce 228 - '&' reduce 228 - '+' reduce 228 - '-' reduce 228 - '^' reduce 228 - '/' reduce 228 - '%' reduce 228 - - -238: shift/reduce conflict (shift 335, reduce 203) on LOGICALAND -state 238 - conditionalorexpression : conditionalandexpression . (203) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (229) - - LOGICALAND shift 335 - ABSTRACT reduce 203 - BOOLEAN reduce 203 - CHAR reduce 203 - FINAL reduce 203 - INSTANCEOF reduce 203 - INT reduce 203 - PRIVATE reduce 203 - PROTECTED reduce 203 - PUBLIC reduce 203 - STATIC reduce 203 - VOID reduce 203 - IDENTIFIER reduce 203 - EQUAL reduce 203 - LESSEQUAL reduce 203 - GREATEREQUAL reduce 203 - NOTEQUAL reduce 203 - LOGICALOR reduce 203 - INCREMENT reduce 203 - DECREMENT reduce 203 - ',' reduce 203 - ';' reduce 203 - '.' reduce 203 - '*' reduce 203 - '<' reduce 203 - '>' reduce 203 - '}' reduce 203 - ')' reduce 203 - '&' reduce 203 - '+' reduce 203 - '-' reduce 203 - '|' reduce 203 - '^' reduce 203 - '/' reduce 203 - '%' reduce 203 - - -239: shift/reduce conflict (shift 336, reduce 192) on LOGICALOR -state 239 - conditionalexpression : conditionalorexpression . (192) - conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (204) - - LOGICALOR shift 336 - ABSTRACT reduce 192 - BOOLEAN reduce 192 - CHAR reduce 192 - FINAL reduce 192 - INSTANCEOF reduce 192 - INT reduce 192 - PRIVATE reduce 192 - PROTECTED reduce 192 - PUBLIC reduce 192 - STATIC reduce 192 - VOID reduce 192 - IDENTIFIER reduce 192 - EQUAL reduce 192 - LESSEQUAL reduce 192 - GREATEREQUAL reduce 192 - NOTEQUAL reduce 192 - LOGICALAND reduce 192 - INCREMENT reduce 192 - DECREMENT reduce 192 - ',' reduce 192 - ';' reduce 192 - '.' reduce 192 - '*' reduce 192 - '<' reduce 192 - '>' reduce 192 - '}' reduce 192 - ')' reduce 192 - '&' reduce 192 - '+' reduce 192 - '-' reduce 192 - '|' reduce 192 - '^' reduce 192 - '/' reduce 192 - '%' reduce 192 - - -state 240 - assignmentexpression : conditionalexpression . (183) - - . reduce 183 - - -state 241 - expression : assignmentexpression . (162) - - . reduce 162 - - -state 242 - fielddeclarator : variabledeclarator '=' expression . (80) - - . reduce 80 - - -state 243 - unaryexpression : preincrementexpression . (230) - - . reduce 230 - - -state 244 - unaryexpression : predecrementexpression . (231) - - . reduce 231 - - -state 245 - postfixexpression : postincrementexpression . (237) - - . reduce 237 - - -state 246 - postfixexpression : postdecrementexpression . (238) - - . reduce 238 - - -state 247 - expression : classinstancecreationexpression . (163) - - . reduce 163 - - -state 248 - assignmentexpression : assignment . (184) - - . reduce 184 - - -state 249 - primarynonewarray : methodinvocation . (244) - - . reduce 244 - - -state 250 - unaryexpressionnotplusminus : castexpression . (248) - - . reduce 248 - - -state 251 - constructordeclarator : simplename '(' ')' . (89) - - . reduce 89 - - -state 252 - constructordeclarator : simplename '(' formalparameterlist . ')' (90) - formalparameterlist : formalparameterlist . ',' formalparameter (136) - - ',' shift 308 - ')' shift 337 - . error - - -state 253 - type : primitivetype '[' ']' . (127) - - . reduce 127 - - -state 254 - type : referencetype '[' ']' . (129) - - . reduce 129 - - -state 255 - methodheader : type methoddeclarator throws . (109) - - . reduce 109 - - -state 256 - fielddeclaration : type variabledeclarators ';' . (84) - - . reduce 84 - - -state 257 - fielddeclarator : type variabledeclarator '=' . expression (79) - fielddeclarator : variabledeclarator '=' . expression (80) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 338 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 258 - fielddeclarator : type variabledeclarator . '=' expression (79) - - '=' shift 339 - . error - - -state 259 - methodheader : modifiers VOID methoddeclarator . (114) - methodheader : modifiers VOID methoddeclarator . throws (116) - - THROWS shift 114 - ';' reduce 114 - '{' reduce 114 - - throws goto 340 - - -state 260 - boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (104) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (108) - methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (112) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (118) - methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (120) - - ',' shift 215 - '>' shift 341 - . error - - -state 261 - methodheader : modifiers methoddeclarator throws . (125) - - . reduce 125 - - -state 262 - methoddeclarator : IDENTIFIER . '(' ')' (141) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (142) - variabledeclaratorid : IDENTIFIER . (154) - - '(' shift 109 - ',' reduce 154 - ';' reduce 154 - - -state 263 - methodheader : modifiers type methoddeclarator . (107) - methodheader : modifiers type methoddeclarator . throws (111) - - THROWS shift 114 - ';' reduce 107 - '{' reduce 107 - - throws goto 342 - - -state 264 - fielddeclaration : modifiers type variabledeclarators . ';' (85) - variabledeclarators : variabledeclarators . ',' variabledeclarator (131) - - ',' shift 118 - ';' shift 343 - . error - - -state 265 - constructordeclaration : modifiers constructordeclarator constructorbody . (76) - - . reduce 76 - - -state 266 - explicitconstructorinvocation : THIS . '(' ')' ';' (137) - explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (138) - primarynonewarray : THIS . (243) - - '(' shift 344 - INCREMENT reduce 243 - DECREMENT reduce 243 - '.' reduce 243 - - -state 267 - constructorbody : '{' '}' . (91) - - . reduce 91 - - -state 268 - constructorbody : '{' blockstatements . '}' (93) - blockstatements : blockstatements . blockstatement (134) - - BOOLEAN shift 48 - CHAR shift 49 - FOR shift 156 - IF shift 157 - INT shift 50 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 169 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '}' shift 345 - '(' shift 174 - . error - - variabledeclarators goto 175 - variabledeclarator goto 176 - variabledeclaratorid goto 66 - simplename goto 177 - qualifiedname goto 178 - name goto 179 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 180 - block goto 181 - localvariabledeclarationstatement goto 183 - localvariabledeclaration goto 184 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - blockstatement goto 292 - statement goto 199 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 269 - constructorbody : '{' explicitconstructorinvocation . '}' (92) - constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (94) - - BOOLEAN shift 48 - CHAR shift 49 - FOR shift 156 - IF shift 157 - INT shift 50 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 169 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '}' shift 346 - '(' shift 174 - . error - - variabledeclarators goto 175 - variabledeclarator goto 176 - variabledeclaratorid goto 66 - simplename goto 177 - qualifiedname goto 178 - name goto 179 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 180 - block goto 181 - blockstatements goto 347 - localvariabledeclarationstatement goto 183 - localvariabledeclaration goto 184 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - blockstatement goto 198 - statement goto 199 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 270 - constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (77) - methoddeclarator : IDENTIFIER . '(' ')' (141) - methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (142) - - '=' shift 348 - '(' shift 109 - . error - - -state 271 - classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (23) - - . reduce 23 - - -state 272 - boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (102) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - referencetype goto 349 - - -state 273 - paralist : IDENTIFIER '<' . paralist '>' (33) - - IDENTIFIER shift 152 - '?' shift 153 - . error - - paralist goto 350 - wildcardparameter goto 155 - - -state 274 - wildcardparameter : '?' EXTENDS . referencetype (39) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - referencetype goto 351 - - -state 275 - wildcardparameter : '?' SUPER . referencetype (40) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - referencetype goto 352 - - -state 276 - paralist : paralist ',' . IDENTIFIER (35) - paralist : paralist ',' . IDENTIFIER '<' paralist '>' (36) - paralist : paralist ',' . wildcardparameter (37) - - IDENTIFIER shift 353 - '?' shift 153 - . error - - wildcardparameter goto 354 - - -state 277 - parameter : '<' paralist '>' . (69) - - . reduce 69 - - -state 278 - forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (175) - forstatement : FOR '(' . expression ';' expression ';' ')' statement (176) - forstatement : FOR '(' . expression ';' ';' expression ')' statement (177) - forstatement : FOR '(' . ';' expression ';' expression ')' statement (178) - forstatement : FOR '(' . expression ';' ';' ')' statement (179) - forstatement : FOR '(' . ';' expression ';' ')' statement (180) - forstatement : FOR '(' . ';' ';' expression ')' statement (181) - forstatement : FOR '(' . ';' ';' ')' statement (182) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 355 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 356 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 279 - ifthenstatement : IF '(' . expression ')' statement (172) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (173) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 357 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 280 - returnstatement : RETURN ';' . (187) - - . reduce 187 - - -state 281 - returnstatement : RETURN expression . ';' (188) - - ';' shift 358 - . error - - -state 282 - whilestatement : WHILE '(' . expression ')' statement (174) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 359 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -283: shift/reduce conflict (shift 288, reduce 236) on '.' -state 283 - qualifiedname : name . '.' IDENTIFIER (12) - methodinvocation : name . '(' ')' (222) - methodinvocation : name . '(' argumentlist ')' (223) - postfixexpression : name . (236) - - '.' shift 288 - '(' shift 289 - 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 - - -state 284 - preincrementexpression : INCREMENT unaryexpression . (218) - - . reduce 218 - - -state 285 - predecrementexpression : DECREMENT unaryexpression . (219) - - . reduce 219 - - -state 286 - lambdaexpressionparameter : '(' ')' . (208) - - . reduce 208 - - -state 287 - formalparameterlist : formalparameterlist . ',' formalparameter (136) - lambdaexpressionparameter : '(' formalparameterlist . ')' (209) - - ',' shift 308 - ')' shift 360 - . error - - -state 288 - qualifiedname : name '.' . IDENTIFIER (12) - - IDENTIFIER shift 361 - . error - - -state 289 - methodinvocation : name '(' . ')' (222) - methodinvocation : name '(' . argumentlist ')' (223) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 362 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 363 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - argumentlist goto 364 - methodinvocation goto 249 - castexpression goto 250 - - -state 290 - variabledeclarators : variabledeclarators . ',' variabledeclarator (131) - localvariabledeclaration : type variabledeclarators . (166) - - ',' shift 118 - ';' reduce 166 - - -state 291 - block : '{' blockstatements '}' . (88) - - . reduce 88 - - -state 292 - blockstatements : blockstatements blockstatement . (134) - - . reduce 134 - - -state 293 - localvariabledeclarationstatement : localvariabledeclaration ';' . (156) - - . reduce 156 - - -state 294 - lambdaassignmentoperator : LAMBDAASSIGNMENT . (205) - - . reduce 205 - - -state 295 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (210) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '{' shift 105 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 365 - lambdabody goto 366 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 367 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 296 - methodinvocation : primary '.' . IDENTIFIER '(' ')' (224) - methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (225) - - IDENTIFIER shift 368 - . error - - -state 297 - postincrementexpression : postfixexpression INCREMENT . (220) - - . reduce 220 - - -state 298 - postdecrementexpression : postfixexpression DECREMENT . (221) - - . reduce 221 - - -state 299 - expressionstatement : statementexpression ';' . (186) - - . reduce 186 - - -state 300 - assignmentoperator : PLUSEQUAL . (216) - - . reduce 216 - - -state 301 - assignmentoperator : MINUSEQUAL . (217) - - . reduce 217 - - -state 302 - assignmentoperator : TIMESEQUAL . (213) - - . reduce 213 - - -state 303 - assignmentoperator : DIVIDEEQUAL . (214) - - . reduce 214 - - -state 304 - assignmentoperator : MODULOEQUAL . (215) - - . reduce 215 - - -state 305 - assignmentoperator : '=' . (212) - - . reduce 212 - - -state 306 - assignment : lefthandside assignmentoperator . assignmentexpression (193) - assignment : lefthandside assignmentoperator . classinstancecreationexpression (194) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 369 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 370 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 307 - formalparameter : type variabledeclaratorid . (149) - - . reduce 149 - - -state 308 - formalparameterlist : formalparameterlist ',' . formalparameter (136) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - IDENTIFIER shift 169 - . error - - variabledeclaratorid goto 211 - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 212 - formalparameter goto 371 - - -state 309 - methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (142) - - . reduce 142 - - -state 310 - boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (104) - - . reduce 104 - - -state 311 - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (117) - methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (119) - - IDENTIFIER shift 107 - . error - - methoddeclarator goto 372 - - -state 312 - methodheader : '<' boundedMethodParameters '>' methoddeclarator . (122) - - . reduce 122 - - -state 313 - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (105) - methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (110) - - IDENTIFIER shift 107 - . error - - methoddeclarator goto 373 - - -state 314 - classtypelist : classtypelist ',' . classtype (140) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classtype goto 374 - classorinterfacetype goto 45 - - -state 315 - classinstancecreationexpression : NEW classtype . '(' ')' (226) - classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (227) - - '(' shift 375 - . error - - -state 316 - type : primitivetype . (126) - type : primitivetype . '[' ']' (127) - castexpression : '(' primitivetype . ')' unaryexpression (259) - - ')' shift 376 - '[' shift 123 - IDENTIFIER reduce 126 - - -state 317 - unaryexpression : '+' unaryexpression . (232) - - . reduce 232 - - -state 318 - unaryexpression : '-' unaryexpression . (233) - - . reduce 233 - - -state 319 - unaryexpressionnotplusminus : '!' unaryexpression . (247) - - . reduce 247 - - -state 320 - multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (276) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 377 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 321 - multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (277) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 378 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 322 - multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (278) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 379 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 323 - additiveexpression : additiveexpression '+' . multiplicativeexpression (273) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 380 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 324 - additiveexpression : additiveexpression '-' . multiplicativeexpression (274) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 381 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 325 - relationalexpression : relationalexpression INSTANCEOF . referencetype (270) - - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - referencetype goto 382 - - -state 326 - relationalexpression : relationalexpression LESSEQUAL . shiftexpression (268) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 383 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 327 - relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (269) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 384 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 328 - relationalexpression : relationalexpression '<' . shiftexpression (266) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 385 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 329 - relationalexpression : relationalexpression '>' . shiftexpression (267) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 386 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 330 - equalityexpression : equalityexpression EQUAL . relationalexpression (263) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 387 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 331 - equalityexpression : equalityexpression NOTEQUAL . relationalexpression (264) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 388 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 332 - andexpression : andexpression '&' . equalityexpression (261) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 389 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 333 - exclusiveorexpression : exclusiveorexpression '^' . andexpression (250) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 390 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 334 - inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (241) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 391 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 335 - conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (229) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 392 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 336 - conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (204) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 393 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 337 - constructordeclarator : simplename '(' formalparameterlist ')' . (90) - - . reduce 90 - - -state 338 - fielddeclarator : type variabledeclarator '=' expression . (79) - fielddeclarator : variabledeclarator '=' expression . (80) - - ABSTRACT reduce 80 - BOOLEAN reduce 80 - CHAR reduce 80 - FINAL reduce 80 - INT reduce 80 - PRIVATE reduce 80 - PROTECTED reduce 80 - PUBLIC reduce 80 - STATIC reduce 80 - VOID reduce 80 - IDENTIFIER reduce 80 - ';' reduce 79 - '<' reduce 80 - '}' reduce 80 - - -state 339 - fielddeclarator : type variabledeclarator '=' . expression (79) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 394 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 340 - methodheader : modifiers VOID methoddeclarator throws . (116) - - . reduce 116 - - -state 341 - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (108) - methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (112) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (118) - methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (120) - - BOOLEAN shift 48 - CHAR shift 49 - INT shift 50 - VOID shift 395 - IDENTIFIER shift 42 - . error - - simplename goto 43 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 396 - - -state 342 - methodheader : modifiers type methoddeclarator throws . (111) - - . reduce 111 - - -state 343 - fielddeclaration : modifiers type variabledeclarators ';' . (85) - - . reduce 85 - - -state 344 - explicitconstructorinvocation : THIS '(' . ')' ';' (137) - explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (138) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 397 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 363 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - argumentlist goto 398 - methodinvocation goto 249 - castexpression goto 250 - - -state 345 - constructorbody : '{' blockstatements '}' . (93) - - . reduce 93 - - -state 346 - constructorbody : '{' explicitconstructorinvocation '}' . (92) - - . reduce 92 - - -state 347 - constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (94) - blockstatements : blockstatements . blockstatement (134) - - BOOLEAN shift 48 - CHAR shift 49 - FOR shift 156 - IF shift 157 - INT shift 50 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 169 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '}' shift 399 - '(' shift 174 - . error - - variabledeclarators goto 175 - variabledeclarator goto 176 - variabledeclaratorid goto 66 - simplename goto 177 - qualifiedname goto 178 - name goto 179 - classorinterfacetype goto 68 - integraltype goto 69 - numerictype goto 70 - primitivetype goto 71 - referencetype goto 72 - type goto 180 - block goto 181 - localvariabledeclarationstatement goto 183 - localvariabledeclaration goto 184 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - blockstatement goto 292 - statement goto 199 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 348 - constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (77) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 400 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 349 - boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (102) - - . reduce 102 - - -state 350 - paralist : IDENTIFIER '<' paralist . '>' (33) - paralist : paralist . ',' IDENTIFIER (35) - paralist : paralist . ',' IDENTIFIER '<' paralist '>' (36) - paralist : paralist . ',' wildcardparameter (37) - - ',' shift 276 - '>' shift 401 - . error - - -state 351 - wildcardparameter : '?' EXTENDS referencetype . (39) - - . reduce 39 - - -state 352 - wildcardparameter : '?' SUPER referencetype . (40) - - . reduce 40 - - -state 353 - paralist : paralist ',' IDENTIFIER . (35) - paralist : paralist ',' IDENTIFIER . '<' paralist '>' (36) - - '<' shift 402 - ',' reduce 35 - '>' reduce 35 - - -state 354 - paralist : paralist ',' wildcardparameter . (37) - - . reduce 37 - - -state 355 - forstatement : FOR '(' ';' . expression ';' expression ')' statement (178) - forstatement : FOR '(' ';' . expression ';' ')' statement (180) - forstatement : FOR '(' ';' . ';' expression ')' statement (181) - forstatement : FOR '(' ';' . ';' ')' statement (182) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 403 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 404 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 356 - forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (175) - forstatement : FOR '(' expression . ';' expression ';' ')' statement (176) - forstatement : FOR '(' expression . ';' ';' expression ')' statement (177) - forstatement : FOR '(' expression . ';' ';' ')' statement (179) - - ';' shift 405 - . error - - -state 357 - ifthenstatement : IF '(' expression . ')' statement (172) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (173) - - ')' shift 406 - . error - - -state 358 - returnstatement : RETURN expression ';' . (188) - - . reduce 188 - - -state 359 - whilestatement : WHILE '(' expression . ')' statement (174) - - ')' shift 407 - . error - - -state 360 - lambdaexpressionparameter : '(' formalparameterlist ')' . (209) - - . reduce 209 - - -state 361 - qualifiedname : name '.' IDENTIFIER . (12) - - . reduce 12 - - -state 362 - methodinvocation : name '(' ')' . (222) - - . reduce 222 - - -state 363 - argumentlist : expression . (151) - - . reduce 151 - - -state 364 - argumentlist : argumentlist . ',' expression (152) - methodinvocation : name '(' argumentlist . ')' (223) - - ',' shift 408 - ')' shift 409 - . error - - -state 365 - lambdabody : block . (206) - - . reduce 206 - - -state 366 - lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (210) - - . reduce 210 - - -state 367 - lambdabody : expression . (207) - - . reduce 207 - - -state 368 - methodinvocation : primary '.' IDENTIFIER . '(' ')' (224) - methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (225) - - '(' shift 410 - . error - - -state 369 - assignment : lefthandside assignmentoperator assignmentexpression . (193) - - . reduce 193 - - -state 370 - assignment : lefthandside assignmentoperator classinstancecreationexpression . (194) - - . reduce 194 - - -state 371 - formalparameterlist : formalparameterlist ',' formalparameter . (136) - - . reduce 136 - - -state 372 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (117) - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (119) - - THROWS shift 114 - ';' reduce 117 - '{' reduce 117 - - throws goto 411 - - -state 373 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (105) - methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (110) - - THROWS shift 114 - ';' reduce 105 - '{' reduce 105 - - throws goto 412 - - -state 374 - classtypelist : classtypelist ',' classtype . (140) - - . reduce 140 - - -state 375 - classinstancecreationexpression : NEW classtype '(' . ')' (226) - classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (227) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 413 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 363 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - argumentlist goto 414 - methodinvocation goto 249 - castexpression goto 250 - - -state 376 - castexpression : '(' primitivetype ')' . unaryexpression (259) - - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 283 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 415 - lambdaexpression goto 190 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - methodinvocation goto 249 - castexpression goto 250 - - -state 377 - multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (276) - - . reduce 276 - - -state 378 - multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (277) + multiplicativeexpression : unaryexpression . (277) . reduce 277 -state 379 - multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (278) +228: shift/reduce conflict (shift 315, reduce 274) on '*' +228: shift/reduce conflict (shift 316, reduce 274) on '/' +228: shift/reduce conflict (shift 317, reduce 274) on '%' +state 228 + additiveexpression : multiplicativeexpression . (274) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (278) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (279) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (280) - . reduce 278 - - -380: shift/reduce conflict (shift 320, reduce 273) on '*' -380: shift/reduce conflict (shift 321, reduce 273) on '/' -380: shift/reduce conflict (shift 322, reduce 273) on '%' -state 380 - additiveexpression : additiveexpression '+' multiplicativeexpression . (273) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (276) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (277) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (278) - - '*' shift 320 - '/' shift 321 - '%' shift 322 - ABSTRACT reduce 273 - BOOLEAN reduce 273 - CHAR reduce 273 - FINAL reduce 273 - INSTANCEOF reduce 273 - INT reduce 273 - PRIVATE reduce 273 - PROTECTED reduce 273 - PUBLIC reduce 273 - STATIC reduce 273 - VOID reduce 273 - IDENTIFIER reduce 273 - EQUAL reduce 273 - LESSEQUAL reduce 273 - GREATEREQUAL reduce 273 - NOTEQUAL reduce 273 - LOGICALOR reduce 273 - LOGICALAND reduce 273 - INCREMENT reduce 273 - DECREMENT reduce 273 - ',' reduce 273 - ';' reduce 273 - '.' reduce 273 - '<' reduce 273 - '>' reduce 273 - '}' reduce 273 - ')' reduce 273 - '&' reduce 273 - '+' reduce 273 - '-' reduce 273 - '|' reduce 273 - '^' reduce 273 - - -381: shift/reduce conflict (shift 320, reduce 274) on '*' -381: shift/reduce conflict (shift 321, reduce 274) on '/' -381: shift/reduce conflict (shift 322, reduce 274) on '%' -state 381 - additiveexpression : additiveexpression '-' multiplicativeexpression . (274) - multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (276) - multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (277) - multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (278) - - '*' shift 320 - '/' shift 321 - '%' shift 322 + '*' shift 315 + '/' shift 316 + '%' shift 317 ABSTRACT reduce 274 BOOLEAN reduce 274 CHAR reduce 274 @@ -6206,104 +3239,74 @@ state 381 '^' reduce 274 -state 382 - relationalexpression : relationalexpression INSTANCEOF referencetype . (270) +229: shift/reduce conflict (shift 318, reduce 273) on '+' +229: shift/reduce conflict (shift 319, reduce 273) on '-' +state 229 + shiftexpression : additiveexpression . (273) + additiveexpression : additiveexpression . '+' multiplicativeexpression (275) + additiveexpression : additiveexpression . '-' multiplicativeexpression (276) - . reduce 270 + '+' shift 318 + '-' shift 319 + ABSTRACT reduce 273 + BOOLEAN reduce 273 + CHAR reduce 273 + FINAL reduce 273 + INSTANCEOF reduce 273 + INT reduce 273 + PRIVATE reduce 273 + PROTECTED reduce 273 + PUBLIC reduce 273 + STATIC reduce 273 + VOID reduce 273 + IDENTIFIER reduce 273 + EQUAL reduce 273 + LESSEQUAL reduce 273 + GREATEREQUAL reduce 273 + NOTEQUAL reduce 273 + LOGICALOR reduce 273 + LOGICALAND reduce 273 + INCREMENT reduce 273 + DECREMENT reduce 273 + ',' reduce 273 + ';' reduce 273 + '.' reduce 273 + '*' reduce 273 + '<' reduce 273 + '>' reduce 273 + '}' reduce 273 + ')' reduce 273 + '&' reduce 273 + '|' reduce 273 + '^' reduce 273 + '/' reduce 273 + '%' reduce 273 -state 383 - relationalexpression : relationalexpression LESSEQUAL shiftexpression . (268) - - . reduce 268 - - -state 384 - relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (269) - - . reduce 269 - - -state 385 - relationalexpression : relationalexpression '<' shiftexpression . (266) - - . reduce 266 - - -state 386 - relationalexpression : relationalexpression '>' shiftexpression . (267) +state 230 + relationalexpression : shiftexpression . (267) . reduce 267 -387: shift/reduce conflict (shift 325, reduce 263) on INSTANCEOF -387: shift/reduce conflict (shift 326, reduce 263) on LESSEQUAL -387: shift/reduce conflict (shift 327, reduce 263) on GREATEREQUAL -387: shift/reduce conflict (shift 328, reduce 263) on '<' -387: shift/reduce conflict (shift 329, reduce 263) on '>' -state 387 - equalityexpression : equalityexpression EQUAL relationalexpression . (263) - relationalexpression : relationalexpression . '<' shiftexpression (266) - relationalexpression : relationalexpression . '>' shiftexpression (267) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (268) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (269) - relationalexpression : relationalexpression . INSTANCEOF referencetype (270) +231: shift/reduce conflict (shift 320, reduce 264) on INSTANCEOF +231: shift/reduce conflict (shift 321, reduce 264) on LESSEQUAL +231: shift/reduce conflict (shift 322, reduce 264) on GREATEREQUAL +231: shift/reduce conflict (shift 323, reduce 264) on '<' +231: shift/reduce conflict (shift 324, reduce 264) on '>' +state 231 + equalityexpression : relationalexpression . (264) + relationalexpression : relationalexpression . '<' shiftexpression (268) + relationalexpression : relationalexpression . '>' shiftexpression (269) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (270) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (271) + relationalexpression : relationalexpression . INSTANCEOF referencetype (272) - INSTANCEOF shift 325 - LESSEQUAL shift 326 - GREATEREQUAL shift 327 - '<' shift 328 - '>' shift 329 - ABSTRACT reduce 263 - BOOLEAN reduce 263 - CHAR reduce 263 - FINAL reduce 263 - INT reduce 263 - PRIVATE reduce 263 - PROTECTED reduce 263 - PUBLIC reduce 263 - STATIC reduce 263 - VOID reduce 263 - IDENTIFIER reduce 263 - EQUAL reduce 263 - NOTEQUAL reduce 263 - LOGICALOR reduce 263 - LOGICALAND reduce 263 - INCREMENT reduce 263 - DECREMENT reduce 263 - ',' reduce 263 - ';' reduce 263 - '.' reduce 263 - '*' reduce 263 - '}' reduce 263 - ')' reduce 263 - '&' reduce 263 - '+' reduce 263 - '-' reduce 263 - '|' reduce 263 - '^' reduce 263 - '/' reduce 263 - '%' reduce 263 - - -388: shift/reduce conflict (shift 325, reduce 264) on INSTANCEOF -388: shift/reduce conflict (shift 326, reduce 264) on LESSEQUAL -388: shift/reduce conflict (shift 327, reduce 264) on GREATEREQUAL -388: shift/reduce conflict (shift 328, reduce 264) on '<' -388: shift/reduce conflict (shift 329, reduce 264) on '>' -state 388 - equalityexpression : equalityexpression NOTEQUAL relationalexpression . (264) - relationalexpression : relationalexpression . '<' shiftexpression (266) - relationalexpression : relationalexpression . '>' shiftexpression (267) - relationalexpression : relationalexpression . LESSEQUAL shiftexpression (268) - relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (269) - relationalexpression : relationalexpression . INSTANCEOF referencetype (270) - - INSTANCEOF shift 325 - LESSEQUAL shift 326 - GREATEREQUAL shift 327 - '<' shift 328 - '>' shift 329 + INSTANCEOF shift 320 + LESSEQUAL shift 321 + GREATEREQUAL shift 322 + '<' shift 323 + '>' shift 324 ABSTRACT reduce 264 BOOLEAN reduce 264 CHAR reduce 264 @@ -6336,1939 +3339,4836 @@ state 388 '%' reduce 264 -389: shift/reduce conflict (shift 330, reduce 261) on EQUAL -389: shift/reduce conflict (shift 331, reduce 261) on NOTEQUAL -state 389 - andexpression : andexpression '&' equalityexpression . (261) - equalityexpression : equalityexpression . EQUAL relationalexpression (263) - equalityexpression : equalityexpression . NOTEQUAL relationalexpression (264) +232: shift/reduce conflict (shift 325, reduce 262) on EQUAL +232: shift/reduce conflict (shift 326, reduce 262) on NOTEQUAL +state 232 + andexpression : equalityexpression . (262) + equalityexpression : equalityexpression . EQUAL relationalexpression (265) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (266) - EQUAL shift 330 - NOTEQUAL shift 331 - ABSTRACT reduce 261 - BOOLEAN reduce 261 - CHAR reduce 261 - FINAL reduce 261 - INSTANCEOF reduce 261 - INT reduce 261 - PRIVATE reduce 261 - PROTECTED reduce 261 - PUBLIC reduce 261 - STATIC reduce 261 - VOID reduce 261 - IDENTIFIER reduce 261 - LESSEQUAL reduce 261 - GREATEREQUAL reduce 261 - LOGICALOR reduce 261 - LOGICALAND reduce 261 - INCREMENT reduce 261 - DECREMENT reduce 261 - ',' reduce 261 - ';' reduce 261 - '.' reduce 261 - '*' reduce 261 - '<' reduce 261 - '>' reduce 261 - '}' reduce 261 - ')' reduce 261 - '&' reduce 261 - '+' reduce 261 - '-' reduce 261 - '|' reduce 261 - '^' reduce 261 - '/' reduce 261 - '%' reduce 261 + EQUAL shift 325 + NOTEQUAL shift 326 + ABSTRACT reduce 262 + BOOLEAN reduce 262 + CHAR reduce 262 + FINAL reduce 262 + INSTANCEOF reduce 262 + INT reduce 262 + PRIVATE reduce 262 + PROTECTED reduce 262 + PUBLIC reduce 262 + STATIC reduce 262 + VOID reduce 262 + IDENTIFIER reduce 262 + LESSEQUAL reduce 262 + GREATEREQUAL reduce 262 + LOGICALOR reduce 262 + LOGICALAND reduce 262 + INCREMENT reduce 262 + DECREMENT reduce 262 + ',' reduce 262 + ';' reduce 262 + '.' reduce 262 + '*' reduce 262 + '<' reduce 262 + '>' reduce 262 + '}' reduce 262 + ')' reduce 262 + '&' reduce 262 + '+' reduce 262 + '-' reduce 262 + '|' reduce 262 + '^' reduce 262 + '/' reduce 262 + '%' reduce 262 -390: shift/reduce conflict (shift 332, reduce 250) on '&' -state 390 - exclusiveorexpression : exclusiveorexpression '^' andexpression . (250) - andexpression : andexpression . '&' equalityexpression (261) +233: shift/reduce conflict (shift 327, reduce 251) on '&' +state 233 + exclusiveorexpression : andexpression . (251) + andexpression : andexpression . '&' equalityexpression (263) - '&' shift 332 - ABSTRACT reduce 250 - BOOLEAN reduce 250 - CHAR reduce 250 - FINAL reduce 250 - INSTANCEOF reduce 250 - INT reduce 250 - PRIVATE reduce 250 - PROTECTED reduce 250 - PUBLIC reduce 250 - STATIC reduce 250 - VOID reduce 250 - IDENTIFIER reduce 250 - EQUAL reduce 250 - LESSEQUAL reduce 250 - GREATEREQUAL reduce 250 - NOTEQUAL reduce 250 - LOGICALOR reduce 250 - LOGICALAND reduce 250 - INCREMENT reduce 250 - DECREMENT reduce 250 - ',' reduce 250 - ';' reduce 250 - '.' reduce 250 - '*' reduce 250 - '<' reduce 250 - '>' reduce 250 - '}' reduce 250 - ')' reduce 250 - '+' reduce 250 - '-' reduce 250 - '|' reduce 250 - '^' reduce 250 - '/' reduce 250 - '%' reduce 250 + '&' shift 327 + ABSTRACT reduce 251 + BOOLEAN reduce 251 + CHAR reduce 251 + FINAL reduce 251 + INSTANCEOF reduce 251 + INT reduce 251 + PRIVATE reduce 251 + PROTECTED reduce 251 + PUBLIC reduce 251 + STATIC reduce 251 + VOID reduce 251 + IDENTIFIER reduce 251 + EQUAL reduce 251 + LESSEQUAL reduce 251 + GREATEREQUAL reduce 251 + NOTEQUAL reduce 251 + LOGICALOR reduce 251 + LOGICALAND reduce 251 + INCREMENT reduce 251 + DECREMENT reduce 251 + ',' reduce 251 + ';' reduce 251 + '.' reduce 251 + '*' reduce 251 + '<' reduce 251 + '>' reduce 251 + '}' reduce 251 + ')' reduce 251 + '+' reduce 251 + '-' reduce 251 + '|' reduce 251 + '^' reduce 251 + '/' reduce 251 + '%' reduce 251 -391: shift/reduce conflict (shift 333, reduce 241) on '^' -state 391 - inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (241) - exclusiveorexpression : exclusiveorexpression . '^' andexpression (250) +234: shift/reduce conflict (shift 328, reduce 242) on '^' +state 234 + inclusiveorexpression : exclusiveorexpression . (242) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (252) - '^' shift 333 - 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 + '^' shift 328 + 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 -392: shift/reduce conflict (shift 334, reduce 229) on '|' -state 392 - conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (229) - inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (241) +235: shift/reduce conflict (shift 329, reduce 230) on '|' +state 235 + conditionalandexpression : inclusiveorexpression . (230) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (243) - '|' shift 334 - ABSTRACT reduce 229 - BOOLEAN reduce 229 - CHAR reduce 229 - FINAL reduce 229 - INSTANCEOF reduce 229 - INT reduce 229 - PRIVATE reduce 229 - PROTECTED reduce 229 - PUBLIC reduce 229 - STATIC reduce 229 - VOID reduce 229 - IDENTIFIER reduce 229 - EQUAL reduce 229 - LESSEQUAL reduce 229 - GREATEREQUAL reduce 229 - NOTEQUAL reduce 229 - LOGICALOR reduce 229 - LOGICALAND reduce 229 - INCREMENT reduce 229 - DECREMENT reduce 229 - ',' reduce 229 - ';' reduce 229 - '.' reduce 229 - '*' reduce 229 - '<' reduce 229 - '>' reduce 229 - '}' reduce 229 - ')' reduce 229 - '&' reduce 229 - '+' reduce 229 - '-' reduce 229 - '^' reduce 229 - '/' reduce 229 - '%' reduce 229 + '|' shift 329 + ABSTRACT reduce 230 + BOOLEAN reduce 230 + CHAR reduce 230 + FINAL reduce 230 + INSTANCEOF reduce 230 + INT reduce 230 + PRIVATE reduce 230 + PROTECTED reduce 230 + PUBLIC reduce 230 + STATIC reduce 230 + VOID reduce 230 + IDENTIFIER reduce 230 + EQUAL reduce 230 + LESSEQUAL reduce 230 + GREATEREQUAL reduce 230 + NOTEQUAL reduce 230 + LOGICALOR reduce 230 + LOGICALAND reduce 230 + INCREMENT reduce 230 + DECREMENT reduce 230 + ',' reduce 230 + ';' reduce 230 + '.' reduce 230 + '*' reduce 230 + '<' reduce 230 + '>' reduce 230 + '}' reduce 230 + ')' reduce 230 + '&' reduce 230 + '+' reduce 230 + '-' reduce 230 + '^' reduce 230 + '/' reduce 230 + '%' reduce 230 -393: shift/reduce conflict (shift 335, reduce 204) on LOGICALAND -state 393 - conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (204) - conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (229) +236: shift/reduce conflict (shift 330, reduce 205) on LOGICALAND +state 236 + conditionalorexpression : conditionalandexpression . (205) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (231) - LOGICALAND shift 335 - ABSTRACT reduce 204 - BOOLEAN reduce 204 - CHAR reduce 204 - FINAL reduce 204 - INSTANCEOF reduce 204 - INT reduce 204 - PRIVATE reduce 204 - PROTECTED reduce 204 - PUBLIC reduce 204 - STATIC reduce 204 - VOID reduce 204 - IDENTIFIER reduce 204 - EQUAL reduce 204 - LESSEQUAL reduce 204 - GREATEREQUAL reduce 204 - NOTEQUAL reduce 204 - LOGICALOR reduce 204 - INCREMENT reduce 204 - DECREMENT reduce 204 - ',' reduce 204 - ';' reduce 204 - '.' reduce 204 - '*' reduce 204 - '<' reduce 204 - '>' reduce 204 - '}' reduce 204 - ')' reduce 204 - '&' reduce 204 - '+' reduce 204 - '-' reduce 204 - '|' reduce 204 - '^' reduce 204 - '/' reduce 204 - '%' reduce 204 + LOGICALAND shift 330 + ABSTRACT reduce 205 + BOOLEAN reduce 205 + CHAR reduce 205 + FINAL reduce 205 + INSTANCEOF reduce 205 + INT reduce 205 + PRIVATE reduce 205 + PROTECTED reduce 205 + PUBLIC reduce 205 + STATIC reduce 205 + VOID reduce 205 + IDENTIFIER reduce 205 + EQUAL reduce 205 + LESSEQUAL reduce 205 + GREATEREQUAL reduce 205 + NOTEQUAL reduce 205 + LOGICALOR reduce 205 + INCREMENT reduce 205 + DECREMENT reduce 205 + ',' reduce 205 + ';' reduce 205 + '.' reduce 205 + '*' reduce 205 + '<' reduce 205 + '>' reduce 205 + '}' reduce 205 + ')' reduce 205 + '&' reduce 205 + '+' reduce 205 + '-' reduce 205 + '|' reduce 205 + '^' reduce 205 + '/' reduce 205 + '%' reduce 205 -state 394 - fielddeclarator : type variabledeclarator '=' expression . (79) +237: shift/reduce conflict (shift 331, reduce 194) on LOGICALOR +state 237 + conditionalexpression : conditionalorexpression . (194) + conditionalorexpression : conditionalorexpression . LOGICALOR conditionalandexpression (206) - . reduce 79 + LOGICALOR shift 331 + ABSTRACT reduce 194 + BOOLEAN reduce 194 + CHAR reduce 194 + FINAL reduce 194 + INSTANCEOF reduce 194 + INT reduce 194 + PRIVATE reduce 194 + PROTECTED reduce 194 + PUBLIC reduce 194 + STATIC reduce 194 + VOID reduce 194 + IDENTIFIER reduce 194 + EQUAL reduce 194 + LESSEQUAL reduce 194 + GREATEREQUAL reduce 194 + NOTEQUAL reduce 194 + LOGICALAND reduce 194 + INCREMENT reduce 194 + DECREMENT reduce 194 + ',' reduce 194 + ';' reduce 194 + '.' reduce 194 + '*' reduce 194 + '<' reduce 194 + '>' reduce 194 + '}' reduce 194 + ')' reduce 194 + '&' reduce 194 + '+' reduce 194 + '-' reduce 194 + '|' reduce 194 + '^' reduce 194 + '/' reduce 194 + '%' reduce 194 -state 395 - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (118) - methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (120) +state 238 + assignmentexpression : conditionalexpression . (185) - IDENTIFIER shift 107 - . error - - methoddeclarator goto 416 + . reduce 185 -state 396 - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (108) - methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (112) +state 239 + expression : assignmentexpression . (164) - IDENTIFIER shift 107 - . error - - methoddeclarator goto 417 + . reduce 164 -state 397 - explicitconstructorinvocation : THIS '(' ')' . ';' (137) +state 240 + fielddeclarator : variabledeclarator '=' expression . (82) - ';' shift 418 + . reduce 82 + + +state 241 + unaryexpression : preincrementexpression . (232) + + . reduce 232 + + +state 242 + unaryexpression : predecrementexpression . (233) + + . reduce 233 + + +state 243 + postfixexpression : postincrementexpression . (239) + + . reduce 239 + + +state 244 + postfixexpression : postdecrementexpression . (240) + + . reduce 240 + + +state 245 + expression : classinstancecreationexpression . (165) + + . reduce 165 + + +state 246 + assignmentexpression : assignment . (186) + + . reduce 186 + + +state 247 + primarynonewarray : methodinvocation . (246) + + . reduce 246 + + +state 248 + unaryexpressionnotplusminus : castexpression . (250) + + . reduce 250 + + +state 249 + constructordeclarator : simplename '(' ')' . (91) + + . reduce 91 + + +state 250 + constructordeclarator : simplename '(' formalparameterlist . ')' (92) + formalparameterlist : formalparameterlist . ',' formalparameter (138) + + ',' shift 303 + ')' shift 332 . error -state 398 - explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (138) - argumentlist : argumentlist . ',' expression (152) +state 251 + type : primitivetype '[' ']' . (129) - ',' shift 408 - ')' shift 419 - . error + . reduce 129 -state 399 - constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (94) +state 252 + type : referencetype '[' ']' . (131) - . reduce 94 + . reduce 131 -state 400 - constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (77) +state 253 + methodheader : type methoddeclarator throws . (111) - ';' shift 420 - . error + . reduce 111 -state 401 - paralist : IDENTIFIER '<' paralist '>' . (33) +state 254 + fielddeclaration : type variabledeclarators ';' . (86) - . reduce 33 + . reduce 86 -state 402 - paralist : paralist ',' IDENTIFIER '<' . paralist '>' (36) +state 255 + fielddeclarator : type variabledeclarator '=' . expression (81) + fielddeclarator : variabledeclarator '=' . expression (82) - IDENTIFIER shift 152 - '?' shift 153 - . error - - paralist goto 421 - wildcardparameter goto 155 - - -state 403 - forstatement : FOR '(' ';' ';' . expression ')' statement (181) - forstatement : FOR '(' ';' ';' . ')' statement (182) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 422 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 423 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 333 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 -state 404 - forstatement : FOR '(' ';' expression . ';' expression ')' statement (178) - forstatement : FOR '(' ';' expression . ';' ')' statement (180) +state 256 + fielddeclarator : type variabledeclarator . '=' expression (81) - ';' shift 424 + '=' shift 334 . error -state 405 - forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (175) - forstatement : FOR '(' expression ';' . expression ';' ')' statement (176) - forstatement : FOR '(' expression ';' . ';' expression ')' statement (177) - forstatement : FOR '(' expression ';' . ';' ')' statement (179) +state 257 + methodheader : modifiers VOID methoddeclarator . (116) + methodheader : modifiers VOID methoddeclarator . throws (118) - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 425 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 + THROWS shift 114 + ';' reduce 116 + '{' reduce 116 + + throws goto 335 + + +state 258 + boundedMethodParameters : boundedMethodParameters . ',' boundedMethodParameter (106) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator (110) + methodheader : modifiers '<' boundedMethodParameters . '>' type methoddeclarator throws (114) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator (120) + methodheader : modifiers '<' boundedMethodParameters . '>' VOID methoddeclarator throws (122) + + ',' shift 213 + '>' shift 336 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 426 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 + +state 259 + methodheader : modifiers methoddeclarator throws . (127) + + . reduce 127 -state 406 - ifthenstatement : IF '(' expression ')' . statement (172) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (173) +state 260 + methoddeclarator : IDENTIFIER . '(' ')' (143) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) + variabledeclaratorid : IDENTIFIER . (156) - FOR shift 156 - IF shift 427 - RETURN shift 158 - THIS shift 159 - WHILE shift 428 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + '(' shift 109 + ',' reduce 156 + ';' reduce 156 + + +state 261 + methodheader : modifiers type methoddeclarator . (109) + methodheader : modifiers type methoddeclarator . throws (113) + + THROWS shift 114 + ';' reduce 109 + '{' reduce 109 + + throws goto 337 + + +state 262 + fielddeclaration : modifiers type variabledeclarators . ';' (87) + variabledeclarators : variabledeclarators . ',' variabledeclarator (133) + + ',' shift 118 + ';' shift 338 + . error + + +state 263 + constructordeclaration : modifiers constructordeclarator constructorbody . (78) + + . reduce 78 + + +state 264 + explicitconstructorinvocation : THIS . '(' ')' ';' (139) + explicitconstructorinvocation : THIS . '(' argumentlist ')' ';' (140) + primarynonewarray : THIS . (245) + + '(' shift 339 + INCREMENT reduce 245 + DECREMENT reduce 245 + '.' reduce 245 + + +state 265 + constructorbody : '{' '}' . (93) + + . reduce 93 + + +state 266 + constructorbody : '{' blockstatements . '}' (95) + blockstatements : blockstatements . blockstatement (136) + + BOOLEAN shift 48 + CHAR shift 49 + FOR shift 154 + IF shift 155 + INT shift 50 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 167 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '(' shift 174 + '}' shift 340 + '(' shift 172 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 429 - statement goto 430 - statementnoshortif goto 431 - whilestatement goto 200 - forstatement goto 201 - whilestatementnoshortif goto 432 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - ifthenelsestatementnoshortif goto 433 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + variabledeclarators goto 173 + variabledeclarator goto 174 + variabledeclaratorid goto 66 + simplename goto 175 + qualifiedname goto 176 + name goto 177 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 178 + block goto 179 + localvariabledeclarationstatement goto 181 + localvariabledeclaration goto 182 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + blockstatement goto 287 + statement goto 197 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 -state 407 - whilestatement : WHILE '(' expression ')' . statement (174) +state 267 + constructorbody : '{' explicitconstructorinvocation . '}' (94) + constructorbody : '{' explicitconstructorinvocation . blockstatements '}' (96) - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + BOOLEAN shift 48 + CHAR shift 49 + FOR shift 154 + IF shift 155 + INT shift 50 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 167 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '(' shift 174 + '}' shift 341 + '(' shift 172 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 434 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + variabledeclarators goto 173 + variabledeclarator goto 174 + variabledeclaratorid goto 66 + simplename goto 175 + qualifiedname goto 176 + name goto 177 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 178 + block goto 179 + blockstatements goto 342 + localvariabledeclarationstatement goto 181 + localvariabledeclaration goto 182 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + blockstatement goto 196 + statement goto 197 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 -state 408 - argumentlist : argumentlist ',' . expression (152) +state 268 + constantdeclaration : modifiers type IDENTIFIER . '=' expression ';' (79) + methoddeclarator : IDENTIFIER . '(' ')' (143) + methoddeclarator : IDENTIFIER . '(' formalparameterlist ')' (144) + + '=' shift 343 + '(' shift 109 + . error + + +state 269 + classdeclaration : modifiers CLASS classidentifier super interfaces classbody . (23) + + . reduce 23 + + +state 270 + boundedclassidentifierlist : boundedclassidentifierlist '&' . referencetype (104) - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 435 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 43 + classorinterfacetype goto 68 + referencetype goto 344 -state 409 - methodinvocation : name '(' argumentlist ')' . (223) +state 271 + typelist : typelist ',' . type (69) + + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 345 + + +state 272 + parameter : '<' typelist '>' . (71) + + . reduce 71 + + +state 273 + forstatement : FOR '(' . expression ';' expression ';' expression ')' statement (177) + forstatement : FOR '(' . expression ';' expression ';' ')' statement (178) + forstatement : FOR '(' . expression ';' ';' expression ')' statement (179) + forstatement : FOR '(' . ';' expression ';' expression ')' statement (180) + forstatement : FOR '(' . expression ';' ';' ')' statement (181) + forstatement : FOR '(' . ';' expression ';' ')' statement (182) + forstatement : FOR '(' . ';' ';' expression ')' statement (183) + forstatement : FOR '(' . ';' ';' ')' statement (184) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 346 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 347 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 274 + ifthenstatement : IF '(' . expression ')' statement (174) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (175) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 348 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 275 + returnstatement : RETURN ';' . (189) + + . reduce 189 + + +state 276 + returnstatement : RETURN expression . ';' (190) + + ';' shift 349 + . error + + +state 277 + whilestatement : WHILE '(' . expression ')' statement (176) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 350 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +278: shift/reduce conflict (shift 283, reduce 238) on '.' +state 278 + qualifiedname : name . '.' IDENTIFIER (12) + methodinvocation : name . '(' ')' (224) + methodinvocation : name . '(' argumentlist ')' (225) + postfixexpression : name . (238) + + '.' shift 283 + '(' shift 284 + ABSTRACT reduce 238 + BOOLEAN reduce 238 + CHAR reduce 238 + FINAL reduce 238 + INSTANCEOF reduce 238 + INT reduce 238 + PRIVATE reduce 238 + PROTECTED reduce 238 + PUBLIC reduce 238 + STATIC reduce 238 + VOID reduce 238 + IDENTIFIER reduce 238 + EQUAL reduce 238 + LESSEQUAL reduce 238 + GREATEREQUAL reduce 238 + NOTEQUAL reduce 238 + LOGICALOR reduce 238 + LOGICALAND reduce 238 + INCREMENT reduce 238 + DECREMENT reduce 238 + ',' reduce 238 + ';' reduce 238 + '*' reduce 238 + '<' reduce 238 + '>' reduce 238 + '}' reduce 238 + ')' reduce 238 + '&' reduce 238 + '+' reduce 238 + '-' reduce 238 + '|' reduce 238 + '^' reduce 238 + '/' reduce 238 + '%' reduce 238 + + +state 279 + preincrementexpression : INCREMENT unaryexpression . (220) + + . reduce 220 + + +state 280 + predecrementexpression : DECREMENT unaryexpression . (221) + + . reduce 221 + + +state 281 + lambdaexpressionparameter : '(' ')' . (210) + + . reduce 210 + + +state 282 + formalparameterlist : formalparameterlist . ',' formalparameter (138) + lambdaexpressionparameter : '(' formalparameterlist . ')' (211) + + ',' shift 303 + ')' shift 351 + . error + + +state 283 + qualifiedname : name '.' . IDENTIFIER (12) + + IDENTIFIER shift 352 + . error + + +state 284 + methodinvocation : name '(' . ')' (224) + methodinvocation : name '(' . argumentlist ')' (225) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 353 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 354 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + argumentlist goto 355 + methodinvocation goto 247 + castexpression goto 248 + + +state 285 + variabledeclarators : variabledeclarators . ',' variabledeclarator (133) + localvariabledeclaration : type variabledeclarators . (168) + + ',' shift 118 + ';' reduce 168 + + +state 286 + block : '{' blockstatements '}' . (90) + + . reduce 90 + + +state 287 + blockstatements : blockstatements blockstatement . (136) + + . reduce 136 + + +state 288 + localvariabledeclarationstatement : localvariabledeclaration ';' . (158) + + . reduce 158 + + +state 289 + lambdaassignmentoperator : LAMBDAASSIGNMENT . (207) + + . reduce 207 + + +state 290 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator . lambdabody (212) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '{' shift 105 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 356 + lambdabody goto 357 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 358 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 291 + methodinvocation : primary '.' . IDENTIFIER '(' ')' (226) + methodinvocation : primary '.' . IDENTIFIER '(' argumentlist ')' (227) + + IDENTIFIER shift 359 + . error + + +state 292 + postincrementexpression : postfixexpression INCREMENT . (222) + + . reduce 222 + + +state 293 + postdecrementexpression : postfixexpression DECREMENT . (223) . reduce 223 -state 410 - methodinvocation : primary '.' IDENTIFIER '(' . ')' (224) - methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (225) +state 294 + expressionstatement : statementexpression ';' . (188) - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + . reduce 188 + + +state 295 + assignmentoperator : PLUSEQUAL . (218) + + . reduce 218 + + +state 296 + assignmentoperator : MINUSEQUAL . (219) + + . reduce 219 + + +state 297 + assignmentoperator : TIMESEQUAL . (215) + + . reduce 215 + + +state 298 + assignmentoperator : DIVIDEEQUAL . (216) + + . reduce 216 + + +state 299 + assignmentoperator : MODULOEQUAL . (217) + + . reduce 217 + + +state 300 + assignmentoperator : '=' . (214) + + . reduce 214 + + +state 301 + assignment : lefthandside assignmentoperator . assignmentexpression (195) + assignment : lefthandside assignmentoperator . classinstancecreationexpression (196) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 436 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 363 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - argumentlist goto 437 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 360 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 361 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 -state 411 - methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (119) +state 302 + formalparameter : type variabledeclaratorid . (151) - . reduce 119 + . reduce 151 -state 412 - methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (110) +state 303 + formalparameterlist : formalparameterlist ',' . formalparameter (138) - . reduce 110 - - -state 413 - classinstancecreationexpression : NEW classtype '(' ')' . (226) - - . reduce 226 - - -state 414 - argumentlist : argumentlist . ',' expression (152) - classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (227) - - ',' shift 408 - ')' shift 438 + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + IDENTIFIER shift 167 . error - -state 415 - castexpression : '(' primitivetype ')' unaryexpression . (259) - - . reduce 259 + variabledeclaratorid goto 209 + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 210 + formalparameter goto 362 -state 416 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (118) - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (120) +state 304 + methoddeclarator : IDENTIFIER '(' formalparameterlist ')' . (144) - THROWS shift 114 - ';' reduce 118 - '{' reduce 118 - - throws goto 439 + . reduce 144 -state 417 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (108) - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (112) +state 305 + boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter . (106) - THROWS shift 114 - ';' reduce 108 - '{' reduce 108 - - throws goto 440 + . reduce 106 -state 418 - explicitconstructorinvocation : THIS '(' ')' ';' . (137) +state 306 + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator (119) + methodheader : '<' boundedMethodParameters '>' VOID . methoddeclarator throws (121) - . reduce 137 - - -state 419 - explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (138) - - ';' shift 441 + IDENTIFIER shift 107 . error - -state 420 - constantdeclaration : modifiers type IDENTIFIER '=' expression ';' . (77) - - . reduce 77 + methoddeclarator goto 363 -state 421 - paralist : paralist . ',' IDENTIFIER (35) - paralist : paralist . ',' IDENTIFIER '<' paralist '>' (36) - paralist : paralist ',' IDENTIFIER '<' paralist . '>' (36) - paralist : paralist . ',' wildcardparameter (37) +state 307 + methodheader : '<' boundedMethodParameters '>' methoddeclarator . (124) - ',' shift 276 - '>' shift 442 + . reduce 124 + + +state 308 + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator (107) + methodheader : '<' boundedMethodParameters '>' type . methoddeclarator throws (112) + + IDENTIFIER shift 107 . error + methoddeclarator goto 364 -state 422 - forstatement : FOR '(' ';' ';' ')' . statement (182) - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 +state 309 + classtypelist : classtypelist ',' . classtype (142) + IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + . error + + simplename goto 43 + classtype goto 365 + classorinterfacetype goto 45 + + +state 310 + classinstancecreationexpression : NEW classtype . '(' ')' (228) + classinstancecreationexpression : NEW classtype . '(' argumentlist ')' (229) + + '(' shift 366 + . error + + +state 311 + type : primitivetype . (128) + type : primitivetype . '[' ']' (129) + castexpression : '(' primitivetype . ')' unaryexpression (261) + + ')' shift 367 + '[' shift 123 + IDENTIFIER reduce 128 + + +state 312 + unaryexpression : '+' unaryexpression . (234) + + . reduce 234 + + +state 313 + unaryexpression : '-' unaryexpression . (235) + + . reduce 235 + + +state 314 + unaryexpressionnotplusminus : '!' unaryexpression . (249) + + . reduce 249 + + +state 315 + multiplicativeexpression : multiplicativeexpression '*' . unaryexpression (278) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 368 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 316 + multiplicativeexpression : multiplicativeexpression '/' . unaryexpression (279) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 369 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 317 + multiplicativeexpression : multiplicativeexpression '%' . unaryexpression (280) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 370 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 318 + additiveexpression : additiveexpression '+' . multiplicativeexpression (275) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 371 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 319 + additiveexpression : additiveexpression '-' . multiplicativeexpression (276) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 372 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 320 + relationalexpression : relationalexpression INSTANCEOF . referencetype (272) + + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 68 + referencetype goto 373 + + +state 321 + relationalexpression : relationalexpression LESSEQUAL . shiftexpression (270) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 374 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 322 + relationalexpression : relationalexpression GREATEREQUAL . shiftexpression (271) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 375 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 323 + relationalexpression : relationalexpression '<' . shiftexpression (268) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 376 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 324 + relationalexpression : relationalexpression '>' . shiftexpression (269) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 377 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 325 + equalityexpression : equalityexpression EQUAL . relationalexpression (265) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 378 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 326 + equalityexpression : equalityexpression NOTEQUAL . relationalexpression (266) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 379 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 327 + andexpression : andexpression '&' . equalityexpression (263) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 380 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 328 + exclusiveorexpression : exclusiveorexpression '^' . andexpression (252) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 381 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 329 + inclusiveorexpression : inclusiveorexpression '|' . exclusiveorexpression (243) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 382 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 330 + conditionalandexpression : conditionalandexpression LOGICALAND . inclusiveorexpression (231) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 383 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 331 + conditionalorexpression : conditionalorexpression LOGICALOR . conditionalandexpression (206) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 384 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 332 + constructordeclarator : simplename '(' formalparameterlist ')' . (92) + + . reduce 92 + + +state 333 + fielddeclarator : type variabledeclarator '=' expression . (81) + fielddeclarator : variabledeclarator '=' expression . (82) + + ABSTRACT reduce 82 + BOOLEAN reduce 82 + CHAR reduce 82 + FINAL reduce 82 + INT reduce 82 + PRIVATE reduce 82 + PROTECTED reduce 82 + PUBLIC reduce 82 + STATIC reduce 82 + VOID reduce 82 + IDENTIFIER reduce 82 + ';' reduce 81 + '<' reduce 82 + '}' reduce 82 + + +state 334 + fielddeclarator : type variabledeclarator '=' . expression (81) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 385 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 335 + methodheader : modifiers VOID methoddeclarator throws . (118) + + . reduce 118 + + +state 336 + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator (110) + methodheader : modifiers '<' boundedMethodParameters '>' . type methoddeclarator throws (114) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator (120) + methodheader : modifiers '<' boundedMethodParameters '>' . VOID methoddeclarator throws (122) + + BOOLEAN shift 48 + CHAR shift 49 + INT shift 50 + VOID shift 386 + IDENTIFIER shift 42 + . error + + simplename goto 43 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 387 + + +state 337 + methodheader : modifiers type methoddeclarator throws . (113) + + . reduce 113 + + +state 338 + fielddeclaration : modifiers type variabledeclarators ';' . (87) + + . reduce 87 + + +state 339 + explicitconstructorinvocation : THIS '(' . ')' ';' (139) + explicitconstructorinvocation : THIS '(' . argumentlist ')' ';' (140) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 388 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 354 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + argumentlist goto 389 + methodinvocation goto 247 + castexpression goto 248 + + +state 340 + constructorbody : '{' blockstatements '}' . (95) + + . reduce 95 + + +state 341 + constructorbody : '{' explicitconstructorinvocation '}' . (94) + + . reduce 94 + + +state 342 + constructorbody : '{' explicitconstructorinvocation blockstatements . '}' (96) + blockstatements : blockstatements . blockstatement (136) + + BOOLEAN shift 48 + CHAR shift 49 + FOR shift 154 + IF shift 155 + INT shift 50 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 167 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '(' shift 174 + '}' shift 390 + '(' shift 172 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 443 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + variabledeclarators goto 173 + variabledeclarator goto 174 + variabledeclaratorid goto 66 + simplename goto 175 + qualifiedname goto 176 + name goto 177 + classorinterfacetype goto 68 + integraltype goto 69 + numerictype goto 70 + primitivetype goto 71 + referencetype goto 72 + type goto 178 + block goto 179 + localvariabledeclarationstatement goto 181 + localvariabledeclaration goto 182 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + blockstatement goto 287 + statement goto 197 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 -state 423 - forstatement : FOR '(' ';' ';' expression . ')' statement (181) +state 343 + constantdeclaration : modifiers type IDENTIFIER '=' . expression ';' (79) - ')' shift 444 - . error - - -state 424 - forstatement : FOR '(' ';' expression ';' . expression ')' statement (178) - forstatement : FOR '(' ';' expression ';' . ')' statement (180) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 445 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 446 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 391 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 -state 425 - forstatement : FOR '(' expression ';' ';' . expression ')' statement (177) - forstatement : FOR '(' expression ';' ';' . ')' statement (179) +state 344 + boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype . (104) - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + . reduce 104 + + +state 345 + typelist : typelist ',' type . (69) + + . reduce 69 + + +state 346 + forstatement : FOR '(' ';' . expression ';' expression ')' statement (180) + forstatement : FOR '(' ';' . expression ';' ')' statement (182) + forstatement : FOR '(' ';' . ';' expression ')' statement (183) + forstatement : FOR '(' ';' . ';' ')' statement (184) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 447 - '+' shift 223 - '-' shift 224 - '!' shift 225 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 392 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 448 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 393 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 -state 426 - forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (175) - forstatement : FOR '(' expression ';' expression . ';' ')' statement (176) +state 347 + forstatement : FOR '(' expression . ';' expression ';' expression ')' statement (177) + forstatement : FOR '(' expression . ';' expression ';' ')' statement (178) + forstatement : FOR '(' expression . ';' ';' expression ')' statement (179) + forstatement : FOR '(' expression . ';' ';' ')' statement (181) - ';' shift 449 + ';' shift 394 . error -state 427 - ifthenstatement : IF . '(' expression ')' statement (172) - ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (173) - ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (201) +state 348 + ifthenstatement : IF '(' expression . ')' statement (174) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (175) - '(' shift 450 + ')' shift 395 . error -state 428 - whilestatement : WHILE . '(' expression ')' statement (174) - whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (202) - - '(' shift 451 - . error - - -state 429 - statement : statementwithouttrailingsubstatement . (157) - statementnoshortif : statementwithouttrailingsubstatement . (189) - - BOOLEAN reduce 157 - CHAR reduce 157 - ELSE reduce 189 - FOR reduce 157 - IF reduce 157 - INT reduce 157 - RETURN reduce 157 - THIS reduce 157 - WHILE reduce 157 - INTLITERAL reduce 157 - LONGLITERAL reduce 157 - DOUBLELITERAL reduce 157 - FLOATLITERAL reduce 157 - BOOLLITERAL reduce 157 - JNULL reduce 157 - CHARLITERAL reduce 157 - STRINGLITERAL reduce 157 - IDENTIFIER reduce 157 - INCREMENT reduce 157 - DECREMENT reduce 157 - ';' reduce 157 - '{' reduce 157 - '}' reduce 157 - '(' reduce 157 - - -state 430 - ifthenstatement : IF '(' expression ')' statement . (172) - - . reduce 172 - - -state 431 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (173) - - ELSE shift 452 - . error - - -state 432 - statementnoshortif : whilestatementnoshortif . (191) - - . reduce 191 - - -state 433 - statementnoshortif : ifthenelsestatementnoshortif . (190) +state 349 + returnstatement : RETURN expression ';' . (190) . reduce 190 -state 434 - whilestatement : WHILE '(' expression ')' statement . (174) +state 350 + whilestatement : WHILE '(' expression . ')' statement (176) - . reduce 174 + ')' shift 396 + . error -state 435 - argumentlist : argumentlist ',' expression . (152) +state 351 + lambdaexpressionparameter : '(' formalparameterlist ')' . (211) - . reduce 152 + . reduce 211 -state 436 - methodinvocation : primary '.' IDENTIFIER '(' ')' . (224) +state 352 + qualifiedname : name '.' IDENTIFIER . (12) + + . reduce 12 + + +state 353 + methodinvocation : name '(' ')' . (224) . reduce 224 -state 437 - argumentlist : argumentlist . ',' expression (152) - methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (225) +state 354 + argumentlist : expression . (153) - ',' shift 408 - ')' shift 453 + . reduce 153 + + +state 355 + argumentlist : argumentlist . ',' expression (154) + methodinvocation : name '(' argumentlist . ')' (225) + + ',' shift 397 + ')' shift 398 . error -state 438 - classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (227) +state 356 + lambdabody : block . (208) - . reduce 227 + . reduce 208 -state 439 - methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (120) +state 357 + lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody . (212) - . reduce 120 + . reduce 212 -state 440 - methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (112) +state 358 + lambdabody : expression . (209) - . reduce 112 + . reduce 209 -state 441 - explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (138) +state 359 + methodinvocation : primary '.' IDENTIFIER . '(' ')' (226) + methodinvocation : primary '.' IDENTIFIER . '(' argumentlist ')' (227) + + '(' shift 399 + . error + + +state 360 + assignment : lefthandside assignmentoperator assignmentexpression . (195) + + . reduce 195 + + +state 361 + assignment : lefthandside assignmentoperator classinstancecreationexpression . (196) + + . reduce 196 + + +state 362 + formalparameterlist : formalparameterlist ',' formalparameter . (138) . reduce 138 +state 363 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . (119) + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator . throws (121) + + THROWS shift 114 + ';' reduce 119 + '{' reduce 119 + + throws goto 400 + + +state 364 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . (107) + methodheader : '<' boundedMethodParameters '>' type methoddeclarator . throws (112) + + THROWS shift 114 + ';' reduce 107 + '{' reduce 107 + + throws goto 401 + + +state 365 + classtypelist : classtypelist ',' classtype . (142) + + . reduce 142 + + +state 366 + classinstancecreationexpression : NEW classtype '(' . ')' (228) + classinstancecreationexpression : NEW classtype '(' . argumentlist ')' (229) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 402 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 354 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + argumentlist goto 403 + methodinvocation goto 247 + castexpression goto 248 + + +state 367 + castexpression : '(' primitivetype ')' . unaryexpression (261) + + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 278 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 404 + lambdaexpression goto 188 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + methodinvocation goto 247 + castexpression goto 248 + + +state 368 + multiplicativeexpression : multiplicativeexpression '*' unaryexpression . (278) + + . reduce 278 + + +state 369 + multiplicativeexpression : multiplicativeexpression '/' unaryexpression . (279) + + . reduce 279 + + +state 370 + multiplicativeexpression : multiplicativeexpression '%' unaryexpression . (280) + + . reduce 280 + + +371: shift/reduce conflict (shift 315, reduce 275) on '*' +371: shift/reduce conflict (shift 316, reduce 275) on '/' +371: shift/reduce conflict (shift 317, reduce 275) on '%' +state 371 + additiveexpression : additiveexpression '+' multiplicativeexpression . (275) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (278) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (279) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (280) + + '*' shift 315 + '/' shift 316 + '%' shift 317 + ABSTRACT reduce 275 + BOOLEAN reduce 275 + CHAR reduce 275 + FINAL reduce 275 + INSTANCEOF reduce 275 + INT reduce 275 + PRIVATE reduce 275 + PROTECTED reduce 275 + PUBLIC reduce 275 + STATIC reduce 275 + VOID reduce 275 + IDENTIFIER reduce 275 + EQUAL reduce 275 + LESSEQUAL reduce 275 + GREATEREQUAL reduce 275 + NOTEQUAL reduce 275 + LOGICALOR reduce 275 + LOGICALAND reduce 275 + INCREMENT reduce 275 + DECREMENT reduce 275 + ',' reduce 275 + ';' reduce 275 + '.' reduce 275 + '<' reduce 275 + '>' reduce 275 + '}' reduce 275 + ')' reduce 275 + '&' reduce 275 + '+' reduce 275 + '-' reduce 275 + '|' reduce 275 + '^' reduce 275 + + +372: shift/reduce conflict (shift 315, reduce 276) on '*' +372: shift/reduce conflict (shift 316, reduce 276) on '/' +372: shift/reduce conflict (shift 317, reduce 276) on '%' +state 372 + additiveexpression : additiveexpression '-' multiplicativeexpression . (276) + multiplicativeexpression : multiplicativeexpression . '*' unaryexpression (278) + multiplicativeexpression : multiplicativeexpression . '/' unaryexpression (279) + multiplicativeexpression : multiplicativeexpression . '%' unaryexpression (280) + + '*' shift 315 + '/' shift 316 + '%' shift 317 + ABSTRACT reduce 276 + BOOLEAN reduce 276 + CHAR reduce 276 + FINAL reduce 276 + INSTANCEOF reduce 276 + INT reduce 276 + PRIVATE reduce 276 + PROTECTED reduce 276 + PUBLIC reduce 276 + STATIC reduce 276 + VOID reduce 276 + IDENTIFIER reduce 276 + EQUAL reduce 276 + LESSEQUAL reduce 276 + GREATEREQUAL reduce 276 + NOTEQUAL reduce 276 + LOGICALOR reduce 276 + LOGICALAND reduce 276 + INCREMENT reduce 276 + DECREMENT reduce 276 + ',' reduce 276 + ';' reduce 276 + '.' reduce 276 + '<' reduce 276 + '>' reduce 276 + '}' reduce 276 + ')' reduce 276 + '&' reduce 276 + '+' reduce 276 + '-' reduce 276 + '|' reduce 276 + '^' reduce 276 + + +state 373 + relationalexpression : relationalexpression INSTANCEOF referencetype . (272) + + . reduce 272 + + +state 374 + relationalexpression : relationalexpression LESSEQUAL shiftexpression . (270) + + . reduce 270 + + +state 375 + relationalexpression : relationalexpression GREATEREQUAL shiftexpression . (271) + + . reduce 271 + + +state 376 + relationalexpression : relationalexpression '<' shiftexpression . (268) + + . reduce 268 + + +state 377 + relationalexpression : relationalexpression '>' shiftexpression . (269) + + . reduce 269 + + +378: shift/reduce conflict (shift 320, reduce 265) on INSTANCEOF +378: shift/reduce conflict (shift 321, reduce 265) on LESSEQUAL +378: shift/reduce conflict (shift 322, reduce 265) on GREATEREQUAL +378: shift/reduce conflict (shift 323, reduce 265) on '<' +378: shift/reduce conflict (shift 324, reduce 265) on '>' +state 378 + equalityexpression : equalityexpression EQUAL relationalexpression . (265) + relationalexpression : relationalexpression . '<' shiftexpression (268) + relationalexpression : relationalexpression . '>' shiftexpression (269) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (270) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (271) + relationalexpression : relationalexpression . INSTANCEOF referencetype (272) + + INSTANCEOF shift 320 + LESSEQUAL shift 321 + GREATEREQUAL shift 322 + '<' shift 323 + '>' shift 324 + ABSTRACT reduce 265 + BOOLEAN reduce 265 + CHAR reduce 265 + FINAL reduce 265 + INT reduce 265 + PRIVATE reduce 265 + PROTECTED reduce 265 + PUBLIC reduce 265 + STATIC reduce 265 + VOID reduce 265 + IDENTIFIER reduce 265 + EQUAL reduce 265 + NOTEQUAL reduce 265 + LOGICALOR reduce 265 + LOGICALAND reduce 265 + INCREMENT reduce 265 + DECREMENT reduce 265 + ',' reduce 265 + ';' reduce 265 + '.' reduce 265 + '*' reduce 265 + '}' reduce 265 + ')' reduce 265 + '&' reduce 265 + '+' reduce 265 + '-' reduce 265 + '|' reduce 265 + '^' reduce 265 + '/' reduce 265 + '%' reduce 265 + + +379: shift/reduce conflict (shift 320, reduce 266) on INSTANCEOF +379: shift/reduce conflict (shift 321, reduce 266) on LESSEQUAL +379: shift/reduce conflict (shift 322, reduce 266) on GREATEREQUAL +379: shift/reduce conflict (shift 323, reduce 266) on '<' +379: shift/reduce conflict (shift 324, reduce 266) on '>' +state 379 + equalityexpression : equalityexpression NOTEQUAL relationalexpression . (266) + relationalexpression : relationalexpression . '<' shiftexpression (268) + relationalexpression : relationalexpression . '>' shiftexpression (269) + relationalexpression : relationalexpression . LESSEQUAL shiftexpression (270) + relationalexpression : relationalexpression . GREATEREQUAL shiftexpression (271) + relationalexpression : relationalexpression . INSTANCEOF referencetype (272) + + INSTANCEOF shift 320 + LESSEQUAL shift 321 + GREATEREQUAL shift 322 + '<' shift 323 + '>' shift 324 + ABSTRACT reduce 266 + BOOLEAN reduce 266 + CHAR reduce 266 + FINAL reduce 266 + INT reduce 266 + PRIVATE reduce 266 + PROTECTED reduce 266 + PUBLIC reduce 266 + STATIC reduce 266 + VOID reduce 266 + IDENTIFIER reduce 266 + EQUAL reduce 266 + NOTEQUAL 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 + + +380: shift/reduce conflict (shift 325, reduce 263) on EQUAL +380: shift/reduce conflict (shift 326, reduce 263) on NOTEQUAL +state 380 + andexpression : andexpression '&' equalityexpression . (263) + equalityexpression : equalityexpression . EQUAL relationalexpression (265) + equalityexpression : equalityexpression . NOTEQUAL relationalexpression (266) + + EQUAL shift 325 + NOTEQUAL shift 326 + ABSTRACT reduce 263 + BOOLEAN reduce 263 + CHAR reduce 263 + FINAL reduce 263 + INSTANCEOF reduce 263 + INT reduce 263 + PRIVATE reduce 263 + PROTECTED reduce 263 + PUBLIC reduce 263 + STATIC reduce 263 + VOID reduce 263 + IDENTIFIER reduce 263 + LESSEQUAL reduce 263 + GREATEREQUAL reduce 263 + LOGICALOR reduce 263 + LOGICALAND reduce 263 + INCREMENT reduce 263 + DECREMENT reduce 263 + ',' reduce 263 + ';' reduce 263 + '.' reduce 263 + '*' reduce 263 + '<' reduce 263 + '>' reduce 263 + '}' reduce 263 + ')' reduce 263 + '&' reduce 263 + '+' reduce 263 + '-' reduce 263 + '|' reduce 263 + '^' reduce 263 + '/' reduce 263 + '%' reduce 263 + + +381: shift/reduce conflict (shift 327, reduce 252) on '&' +state 381 + exclusiveorexpression : exclusiveorexpression '^' andexpression . (252) + andexpression : andexpression . '&' equalityexpression (263) + + '&' shift 327 + 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 + INCREMENT reduce 252 + DECREMENT 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 + + +382: shift/reduce conflict (shift 328, reduce 243) on '^' +state 382 + inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression . (243) + exclusiveorexpression : exclusiveorexpression . '^' andexpression (252) + + '^' shift 328 + 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 + + +383: shift/reduce conflict (shift 329, reduce 231) on '|' +state 383 + conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression . (231) + inclusiveorexpression : inclusiveorexpression . '|' exclusiveorexpression (243) + + '|' shift 329 + ABSTRACT reduce 231 + BOOLEAN reduce 231 + CHAR reduce 231 + FINAL reduce 231 + INSTANCEOF reduce 231 + INT reduce 231 + PRIVATE reduce 231 + PROTECTED reduce 231 + PUBLIC reduce 231 + STATIC reduce 231 + VOID reduce 231 + IDENTIFIER reduce 231 + EQUAL reduce 231 + LESSEQUAL reduce 231 + GREATEREQUAL reduce 231 + NOTEQUAL reduce 231 + LOGICALOR reduce 231 + LOGICALAND reduce 231 + INCREMENT reduce 231 + DECREMENT reduce 231 + ',' reduce 231 + ';' reduce 231 + '.' reduce 231 + '*' reduce 231 + '<' reduce 231 + '>' reduce 231 + '}' reduce 231 + ')' reduce 231 + '&' reduce 231 + '+' reduce 231 + '-' reduce 231 + '^' reduce 231 + '/' reduce 231 + '%' reduce 231 + + +384: shift/reduce conflict (shift 330, reduce 206) on LOGICALAND +state 384 + conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression . (206) + conditionalandexpression : conditionalandexpression . LOGICALAND inclusiveorexpression (231) + + LOGICALAND shift 330 + ABSTRACT reduce 206 + BOOLEAN reduce 206 + CHAR reduce 206 + FINAL reduce 206 + INSTANCEOF reduce 206 + INT reduce 206 + PRIVATE reduce 206 + PROTECTED reduce 206 + PUBLIC reduce 206 + STATIC reduce 206 + VOID reduce 206 + IDENTIFIER reduce 206 + EQUAL reduce 206 + LESSEQUAL reduce 206 + GREATEREQUAL reduce 206 + NOTEQUAL reduce 206 + LOGICALOR reduce 206 + INCREMENT reduce 206 + DECREMENT reduce 206 + ',' reduce 206 + ';' reduce 206 + '.' reduce 206 + '*' reduce 206 + '<' reduce 206 + '>' reduce 206 + '}' reduce 206 + ')' reduce 206 + '&' reduce 206 + '+' reduce 206 + '-' reduce 206 + '|' reduce 206 + '^' reduce 206 + '/' reduce 206 + '%' reduce 206 + + +state 385 + fielddeclarator : type variabledeclarator '=' expression . (81) + + . reduce 81 + + +state 386 + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator (120) + methodheader : modifiers '<' boundedMethodParameters '>' VOID . methoddeclarator throws (122) + + IDENTIFIER shift 107 + . error + + methoddeclarator goto 405 + + +state 387 + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator (110) + methodheader : modifiers '<' boundedMethodParameters '>' type . methoddeclarator throws (114) + + IDENTIFIER shift 107 + . error + + methoddeclarator goto 406 + + +state 388 + explicitconstructorinvocation : THIS '(' ')' . ';' (139) + + ';' shift 407 + . error + + +state 389 + explicitconstructorinvocation : THIS '(' argumentlist . ')' ';' (140) + argumentlist : argumentlist . ',' expression (154) + + ',' shift 397 + ')' shift 408 + . error + + +state 390 + constructorbody : '{' explicitconstructorinvocation blockstatements '}' . (96) + + . reduce 96 + + +state 391 + constantdeclaration : modifiers type IDENTIFIER '=' expression . ';' (79) + + ';' shift 409 + . error + + +state 392 + forstatement : FOR '(' ';' ';' . expression ')' statement (183) + forstatement : FOR '(' ';' ';' . ')' statement (184) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 410 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 411 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 393 + forstatement : FOR '(' ';' expression . ';' expression ')' statement (180) + forstatement : FOR '(' ';' expression . ';' ')' statement (182) + + ';' shift 412 + . error + + +state 394 + forstatement : FOR '(' expression ';' . expression ';' expression ')' statement (177) + forstatement : FOR '(' expression ';' . expression ';' ')' statement (178) + forstatement : FOR '(' expression ';' . ';' expression ')' statement (179) + forstatement : FOR '(' expression ';' . ';' ')' statement (181) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 413 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 414 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 395 + ifthenstatement : IF '(' expression ')' . statement (174) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (175) + + FOR shift 154 + IF shift 415 + RETURN shift 156 + THIS shift 157 + WHILE shift 416 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 417 + statement goto 418 + statementnoshortif goto 419 + whilestatement goto 198 + forstatement goto 199 + whilestatementnoshortif goto 420 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + ifthenelsestatementnoshortif goto 421 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 396 + whilestatement : WHILE '(' expression ')' . statement (176) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 422 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 397 + argumentlist : argumentlist ',' . expression (154) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 423 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 398 + methodinvocation : name '(' argumentlist ')' . (225) + + . reduce 225 + + +state 399 + methodinvocation : primary '.' IDENTIFIER '(' . ')' (226) + methodinvocation : primary '.' IDENTIFIER '(' . argumentlist ')' (227) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 424 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 354 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + argumentlist goto 425 + methodinvocation goto 247 + castexpression goto 248 + + +state 400 + methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws . (121) + + . reduce 121 + + +state 401 + methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws . (112) + + . reduce 112 + + +state 402 + classinstancecreationexpression : NEW classtype '(' ')' . (228) + + . reduce 228 + + +state 403 + argumentlist : argumentlist . ',' expression (154) + classinstancecreationexpression : NEW classtype '(' argumentlist . ')' (229) + + ',' shift 397 + ')' shift 426 + . error + + +state 404 + castexpression : '(' primitivetype ')' unaryexpression . (261) + + . reduce 261 + + +state 405 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . (120) + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator . throws (122) + + THROWS shift 114 + ';' reduce 120 + '{' reduce 120 + + throws goto 427 + + +state 406 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . (110) + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator . throws (114) + + THROWS shift 114 + ';' reduce 110 + '{' reduce 110 + + throws goto 428 + + +state 407 + explicitconstructorinvocation : THIS '(' ')' ';' . (139) + + . reduce 139 + + +state 408 + explicitconstructorinvocation : THIS '(' argumentlist ')' . ';' (140) + + ';' shift 429 + . error + + +state 409 + constantdeclaration : modifiers type IDENTIFIER '=' expression ';' . (79) + + . reduce 79 + + +state 410 + forstatement : FOR '(' ';' ';' ')' . statement (184) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 430 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 411 + forstatement : FOR '(' ';' ';' expression . ')' statement (183) + + ')' shift 431 + . error + + +state 412 + forstatement : FOR '(' ';' expression ';' . expression ')' statement (180) + forstatement : FOR '(' ';' expression ';' . ')' statement (182) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 432 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 433 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 413 + forstatement : FOR '(' expression ';' ';' . expression ')' statement (179) + forstatement : FOR '(' expression ';' ';' . ')' statement (181) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 434 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 435 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 414 + forstatement : FOR '(' expression ';' expression . ';' expression ')' statement (177) + forstatement : FOR '(' expression ';' expression . ';' ')' statement (178) + + ';' shift 436 + . error + + +state 415 + ifthenstatement : IF . '(' expression ')' statement (174) + ifthenelsestatement : IF . '(' expression ')' statementnoshortif ELSE statement (175) + ifthenelsestatementnoshortif : IF . '(' expression ')' statementnoshortif ELSE statementnoshortif (203) + + '(' shift 437 + . error + + +state 416 + whilestatement : WHILE . '(' expression ')' statement (176) + whilestatementnoshortif : WHILE . '(' expression ')' statementnoshortif (204) + + '(' shift 438 + . error + + +state 417 + statement : statementwithouttrailingsubstatement . (159) + statementnoshortif : statementwithouttrailingsubstatement . (191) + + BOOLEAN reduce 159 + CHAR reduce 159 + ELSE reduce 191 + FOR reduce 159 + IF reduce 159 + INT reduce 159 + RETURN reduce 159 + THIS reduce 159 + WHILE reduce 159 + INTLITERAL reduce 159 + LONGLITERAL reduce 159 + DOUBLELITERAL reduce 159 + FLOATLITERAL reduce 159 + BOOLLITERAL reduce 159 + JNULL reduce 159 + CHARLITERAL reduce 159 + STRINGLITERAL reduce 159 + IDENTIFIER reduce 159 + INCREMENT reduce 159 + DECREMENT reduce 159 + ';' reduce 159 + '{' reduce 159 + '}' reduce 159 + '(' reduce 159 + + +state 418 + ifthenstatement : IF '(' expression ')' statement . (174) + + . reduce 174 + + +state 419 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (175) + + ELSE shift 439 + . error + + +state 420 + statementnoshortif : whilestatementnoshortif . (193) + + . reduce 193 + + +state 421 + statementnoshortif : ifthenelsestatementnoshortif . (192) + + . reduce 192 + + +state 422 + whilestatement : WHILE '(' expression ')' statement . (176) + + . reduce 176 + + +state 423 + argumentlist : argumentlist ',' expression . (154) + + . reduce 154 + + +state 424 + methodinvocation : primary '.' IDENTIFIER '(' ')' . (226) + + . reduce 226 + + +state 425 + argumentlist : argumentlist . ',' expression (154) + methodinvocation : primary '.' IDENTIFIER '(' argumentlist . ')' (227) + + ',' shift 397 + ')' shift 440 + . error + + +state 426 + classinstancecreationexpression : NEW classtype '(' argumentlist ')' . (229) + + . reduce 229 + + +state 427 + methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws . (122) + + . reduce 122 + + +state 428 + methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws . (114) + + . reduce 114 + + +state 429 + explicitconstructorinvocation : THIS '(' argumentlist ')' ';' . (140) + + . reduce 140 + + +state 430 + forstatement : FOR '(' ';' ';' ')' statement . (184) + + . reduce 184 + + +state 431 + forstatement : FOR '(' ';' ';' expression ')' . statement (183) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 441 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 432 + forstatement : FOR '(' ';' expression ';' ')' . statement (182) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 442 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 433 + forstatement : FOR '(' ';' expression ';' expression . ')' statement (180) + + ')' shift 443 + . error + + +state 434 + forstatement : FOR '(' expression ';' ';' ')' . statement (181) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 444 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 435 + forstatement : FOR '(' expression ';' ';' expression . ')' statement (179) + + ')' shift 445 + . error + + +state 436 + forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (177) + forstatement : FOR '(' expression ';' expression ';' . ')' statement (178) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + ')' shift 446 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 447 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 437 + ifthenstatement : IF '(' . expression ')' statement (174) + ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (175) + ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (203) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 448 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 438 + whilestatement : WHILE '(' . expression ')' statement (176) + whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (204) + + NEW shift 219 + THIS shift 157 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + '(' shift 220 + '+' shift 221 + '-' shift 222 + '!' shift 223 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 225 + unaryexpressionnotplusminus goto 226 + unaryexpression goto 227 + multiplicativeexpression goto 228 + additiveexpression goto 229 + shiftexpression goto 230 + relationalexpression goto 231 + equalityexpression goto 232 + andexpression goto 233 + exclusiveorexpression goto 234 + inclusiveorexpression goto 235 + conditionalandexpression goto 236 + conditionalorexpression goto 237 + conditionalexpression goto 238 + assignmentexpression goto 239 + lambdaexpression goto 188 + expression goto 449 + preincrementexpression goto 241 + predecrementexpression goto 242 + postincrementexpression goto 243 + postdecrementexpression goto 244 + classinstancecreationexpression goto 245 + assignment goto 246 + lefthandside goto 205 + methodinvocation goto 247 + castexpression goto 248 + + +state 439 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (175) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 450 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 440 + methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (227) + + . reduce 227 + + +state 441 + forstatement : FOR '(' ';' ';' expression ')' statement . (183) + + . reduce 183 + + state 442 - paralist : paralist ',' IDENTIFIER '<' paralist '>' . (36) - - . reduce 36 - - -state 443 - forstatement : FOR '(' ';' ';' ')' statement . (182) + forstatement : FOR '(' ';' expression ';' ')' statement . (182) . reduce 182 -state 444 - forstatement : FOR '(' ';' ';' expression ')' . statement (181) +state 443 + forstatement : FOR '(' ';' expression ';' expression ')' . statement (180) - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '(' shift 174 + '(' shift 172 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 454 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 451 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 444 + forstatement : FOR '(' expression ';' ';' ')' statement . (181) + + . reduce 181 state 445 - forstatement : FOR '(' ';' expression ';' ')' . statement (180) + forstatement : FOR '(' expression ';' ';' expression ')' . statement (179) - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '(' shift 174 + '(' shift 172 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 455 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 452 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 state 446 - forstatement : FOR '(' ';' expression ';' expression . ')' statement (178) + forstatement : FOR '(' expression ';' expression ';' ')' . statement (178) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 453 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 447 + forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (177) + + ')' shift 454 + . error + + +state 448 + ifthenstatement : IF '(' expression . ')' statement (174) + ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (175) + ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (203) + + ')' shift 455 + . error + + +state 449 + whilestatement : WHILE '(' expression . ')' statement (176) + whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (204) ')' shift 456 . error -state 447 - forstatement : FOR '(' expression ';' ';' ')' . statement (179) - - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 457 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 448 - forstatement : FOR '(' expression ';' ';' expression . ')' statement (177) - - ')' shift 458 - . error - - -state 449 - forstatement : FOR '(' expression ';' expression ';' . expression ')' statement (175) - forstatement : FOR '(' expression ';' expression ';' . ')' statement (176) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - ')' shift 459 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 460 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - state 450 - ifthenstatement : IF '(' . expression ')' statement (172) - ifthenelsestatement : IF '(' . expression ')' statementnoshortif ELSE statement (173) - ifthenelsestatementnoshortif : IF '(' . expression ')' statementnoshortif ELSE statementnoshortif (201) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 461 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 451 - whilestatement : WHILE '(' . expression ')' statement (174) - whilestatementnoshortif : WHILE '(' . expression ')' statementnoshortif (202) - - NEW shift 221 - THIS shift 159 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - '(' shift 222 - '+' shift 223 - '-' shift 224 - '!' shift 225 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 227 - unaryexpressionnotplusminus goto 228 - unaryexpression goto 229 - multiplicativeexpression goto 230 - additiveexpression goto 231 - shiftexpression goto 232 - relationalexpression goto 233 - equalityexpression goto 234 - andexpression goto 235 - exclusiveorexpression goto 236 - inclusiveorexpression goto 237 - conditionalandexpression goto 238 - conditionalorexpression goto 239 - conditionalexpression goto 240 - assignmentexpression goto 241 - lambdaexpression goto 190 - expression goto 462 - preincrementexpression goto 243 - predecrementexpression goto 244 - postincrementexpression goto 245 - postdecrementexpression goto 246 - classinstancecreationexpression goto 247 - assignment goto 248 - lefthandside goto 207 - methodinvocation goto 249 - castexpression goto 250 - - -state 452 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (173) - - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 463 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 453 - methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')' . (225) - - . reduce 225 - - -state 454 - forstatement : FOR '(' ';' ';' expression ')' statement . (181) - - . reduce 181 - - -state 455 - forstatement : FOR '(' ';' expression ';' ')' statement . (180) - - . reduce 180 - - -state 456 - forstatement : FOR '(' ';' expression ';' expression ')' . statement (178) - - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 464 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 457 - forstatement : FOR '(' expression ';' ';' ')' statement . (179) - - . reduce 179 - - -state 458 - forstatement : FOR '(' expression ';' ';' expression ')' . statement (177) - - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 465 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 459 - forstatement : FOR '(' expression ';' expression ';' ')' . statement (176) - - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 466 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 460 - forstatement : FOR '(' expression ';' expression ';' expression . ')' statement (175) - - ')' shift 467 - . error - - -state 461 - ifthenstatement : IF '(' expression . ')' statement (172) - ifthenelsestatement : IF '(' expression . ')' statementnoshortif ELSE statement (173) - ifthenelsestatementnoshortif : IF '(' expression . ')' statementnoshortif ELSE statementnoshortif (201) - - ')' shift 468 - . error - - -state 462 - whilestatement : WHILE '(' expression . ')' statement (174) - whilestatementnoshortif : WHILE '(' expression . ')' statementnoshortif (202) - - ')' shift 469 - . error - - -state 463 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (173) - - . reduce 173 - - -state 464 - forstatement : FOR '(' ';' expression ';' expression ')' statement . (178) - - . reduce 178 - - -state 465 - forstatement : FOR '(' expression ';' ';' expression ')' statement . (177) - - . reduce 177 - - -state 466 - forstatement : FOR '(' expression ';' expression ';' ')' statement . (176) - - . reduce 176 - - -state 467 - forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (175) - - FOR shift 156 - IF shift 157 - RETURN shift 158 - THIS shift 159 - WHILE shift 160 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 197 - statement goto 470 - whilestatement goto 200 - forstatement goto 201 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 468 - ifthenstatement : IF '(' expression ')' . statement (172) - ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (173) - ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (201) - - FOR shift 156 - IF shift 427 - RETURN shift 158 - THIS shift 159 - WHILE shift 428 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 429 - statement goto 430 - statementnoshortif goto 471 - whilestatement goto 200 - forstatement goto 201 - whilestatementnoshortif goto 432 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - ifthenelsestatementnoshortif goto 433 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 469 - whilestatement : WHILE '(' expression ')' . statement (174) - whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (202) - - FOR shift 156 - IF shift 427 - RETURN shift 158 - THIS shift 159 - WHILE shift 428 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 - IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 - '{' shift 105 - '(' shift 174 - . error - - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 429 - statement goto 434 - statementnoshortif goto 472 - whilestatement goto 200 - forstatement goto 201 - whilestatementnoshortif goto 432 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - ifthenelsestatementnoshortif goto 433 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 - - -state 470 - forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (175) + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement . (175) . reduce 175 -state 471 - ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (173) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (201) +state 451 + forstatement : FOR '(' ';' expression ';' expression ')' statement . (180) - ELSE shift 473 - . error + . reduce 180 -state 472 - whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (202) +state 452 + forstatement : FOR '(' expression ';' ';' expression ')' statement . (179) - . reduce 202 + . reduce 179 -state 473 - ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (173) - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (201) +state 453 + forstatement : FOR '(' expression ';' expression ';' ')' statement . (178) - FOR shift 156 - IF shift 427 - RETURN shift 158 - THIS shift 159 - WHILE shift 428 - INTLITERAL shift 161 - LONGLITERAL shift 162 - DOUBLELITERAL shift 163 - FLOATLITERAL shift 164 - BOOLLITERAL shift 165 - JNULL shift 166 - CHARLITERAL shift 167 - STRINGLITERAL shift 168 + . reduce 178 + + +state 454 + forstatement : FOR '(' expression ';' expression ';' expression ')' . statement (177) + + FOR shift 154 + IF shift 155 + RETURN shift 156 + THIS shift 157 + WHILE shift 158 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 IDENTIFIER shift 42 - INCREMENT shift 170 - DECREMENT shift 171 - ';' shift 172 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 '{' shift 105 - '(' shift 174 + '(' shift 172 . error - simplename goto 226 - qualifiedname goto 178 - name goto 179 - block goto 181 - lambdaexpressionparameter goto 185 - literal goto 186 - primarynonewarray goto 187 - primary goto 188 - postfixexpression goto 189 - lambdaexpression goto 190 - statementexpression goto 191 - preincrementexpression goto 192 - predecrementexpression goto 193 - postincrementexpression goto 194 - postdecrementexpression goto 195 - expressionstatement goto 196 - statementwithouttrailingsubstatement goto 429 - statement goto 463 - statementnoshortif goto 474 - whilestatement goto 200 - forstatement goto 201 - whilestatementnoshortif goto 432 - ifthenstatement goto 202 - ifthenelsestatement goto 203 - ifthenelsestatementnoshortif goto 433 - emptystatement goto 204 - returnstatement goto 205 - assignment goto 206 - lefthandside goto 207 - methodinvocation goto 208 + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 195 + statement goto 457 + whilestatement goto 198 + forstatement goto 199 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 -state 474 - ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (201) +state 455 + ifthenstatement : IF '(' expression ')' . statement (174) + ifthenelsestatement : IF '(' expression ')' . statementnoshortif ELSE statement (175) + ifthenelsestatementnoshortif : IF '(' expression ')' . statementnoshortif ELSE statementnoshortif (203) - . reduce 201 + FOR shift 154 + IF shift 415 + RETURN shift 156 + THIS shift 157 + WHILE shift 416 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 417 + statement goto 418 + statementnoshortif goto 458 + whilestatement goto 198 + forstatement goto 199 + whilestatementnoshortif goto 420 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + ifthenelsestatementnoshortif goto 421 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 456 + whilestatement : WHILE '(' expression ')' . statement (176) + whilestatementnoshortif : WHILE '(' expression ')' . statementnoshortif (204) + + FOR shift 154 + IF shift 415 + RETURN shift 156 + THIS shift 157 + WHILE shift 416 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 417 + statement goto 422 + statementnoshortif goto 459 + whilestatement goto 198 + forstatement goto 199 + whilestatementnoshortif goto 420 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + ifthenelsestatementnoshortif goto 421 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 457 + forstatement : FOR '(' expression ';' expression ';' expression ')' statement . (177) + + . reduce 177 + + +state 458 + ifthenelsestatement : IF '(' expression ')' statementnoshortif . ELSE statement (175) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif . ELSE statementnoshortif (203) + + ELSE shift 460 + . error + + +state 459 + whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif . (204) + + . reduce 204 + + +state 460 + ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE . statement (175) + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE . statementnoshortif (203) + + FOR shift 154 + IF shift 415 + RETURN shift 156 + THIS shift 157 + WHILE shift 416 + INTLITERAL shift 159 + LONGLITERAL shift 160 + DOUBLELITERAL shift 161 + FLOATLITERAL shift 162 + BOOLLITERAL shift 163 + JNULL shift 164 + CHARLITERAL shift 165 + STRINGLITERAL shift 166 + IDENTIFIER shift 42 + INCREMENT shift 168 + DECREMENT shift 169 + ';' shift 170 + '{' shift 105 + '(' shift 172 + . error + + simplename goto 224 + qualifiedname goto 176 + name goto 177 + block goto 179 + lambdaexpressionparameter goto 183 + literal goto 184 + primarynonewarray goto 185 + primary goto 186 + postfixexpression goto 187 + lambdaexpression goto 188 + statementexpression goto 189 + preincrementexpression goto 190 + predecrementexpression goto 191 + postincrementexpression goto 192 + postdecrementexpression goto 193 + expressionstatement goto 194 + statementwithouttrailingsubstatement goto 417 + statement goto 450 + statementnoshortif goto 461 + whilestatement goto 198 + forstatement goto 199 + whilestatementnoshortif goto 420 + ifthenstatement goto 200 + ifthenelsestatement goto 201 + ifthenelsestatementnoshortif goto 421 + emptystatement goto 202 + returnstatement goto 203 + assignment goto 204 + lefthandside goto 205 + methodinvocation goto 206 + + +state 461 + ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif . (203) + + . reduce 203 Rules never reduced: @@ -8278,35 +8178,44 @@ Rules never reduced: importdeclaration : IMPORT importqualifiedname ';' (5) importqualifiedname : name '.' IDENTIFIER (13) importqualifiedname : name '.' '*' (14) - variableinitializer : expression (155) + paralist : IDENTIFIER (32) + paralist : IDENTIFIER '<' paralist '>' (33) + paralist : wildcardparameter (34) + paralist : paralist ',' IDENTIFIER (35) + paralist : paralist ',' IDENTIFIER '<' paralist '>' (36) + paralist : paralist ',' wildcardparameter (37) + wildcardparameter : '?' (38) + wildcardparameter : '?' EXTENDS referencetype (39) + wildcardparameter : '?' SUPER referencetype (40) + variableinitializer : expression (157) State 43 contains 1 shift/reduce conflict. State 53 contains 1 shift/reduce conflict. State 84 contains 1 shift/reduce conflict. -State 179 contains 1 shift/reduce conflict. -State 188 contains 1 shift/reduce conflict. -State 227 contains 2 shift/reduce conflicts. -State 230 contains 3 shift/reduce conflicts. -State 231 contains 2 shift/reduce conflicts. -State 233 contains 5 shift/reduce conflicts. -State 234 contains 2 shift/reduce conflicts. +State 177 contains 1 shift/reduce conflict. +State 186 contains 1 shift/reduce conflict. +State 225 contains 2 shift/reduce conflicts. +State 228 contains 3 shift/reduce conflicts. +State 229 contains 2 shift/reduce conflicts. +State 231 contains 5 shift/reduce conflicts. +State 232 contains 2 shift/reduce conflicts. +State 233 contains 1 shift/reduce conflict. +State 234 contains 1 shift/reduce conflict. State 235 contains 1 shift/reduce conflict. State 236 contains 1 shift/reduce conflict. State 237 contains 1 shift/reduce conflict. -State 238 contains 1 shift/reduce conflict. -State 239 contains 1 shift/reduce conflict. -State 283 contains 1 shift/reduce conflict. -State 380 contains 3 shift/reduce conflicts. -State 381 contains 3 shift/reduce conflicts. -State 387 contains 5 shift/reduce conflicts. -State 388 contains 5 shift/reduce conflicts. -State 389 contains 2 shift/reduce conflicts. -State 390 contains 1 shift/reduce conflict. -State 391 contains 1 shift/reduce conflict. -State 392 contains 1 shift/reduce conflict. -State 393 contains 1 shift/reduce conflict. +State 278 contains 1 shift/reduce conflict. +State 371 contains 3 shift/reduce conflicts. +State 372 contains 3 shift/reduce conflicts. +State 378 contains 5 shift/reduce conflicts. +State 379 contains 5 shift/reduce conflicts. +State 380 contains 2 shift/reduce conflicts. +State 381 contains 1 shift/reduce conflict. +State 382 contains 1 shift/reduce conflict. +State 383 contains 1 shift/reduce conflict. +State 384 contains 1 shift/reduce conflict. -97 terminals, 116 nonterminals -279 grammar rules, 475 states +97 terminals, 117 nonterminals +281 grammar rules, 462 states