From bbb3cf76d957f9fe471271be815f4535cdae7a79 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 9 Jul 2014 15:07:40 +0200 Subject: [PATCH] =?UTF-8?q?Parser=20ge=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/.gitignore | 7 +- bin/mycompiler/myparser/JavaLexer.lex | 1 - bin/mycompiler/myparser/JavaParser.jay | 15 +- .../myclass/GenericDeclarationList.java | 11 +- .../myparser/GenericVarDeclarationList.java | 26 + src/mycompiler/myparser/JavaLexer.lex | 1 - src/mycompiler/myparser/JavaParser.java | 2359 ++++++++--------- src/mycompiler/myparser/JavaParser.jay | 15 +- src/mycompiler/mytype/RefType.java | 1 + test/parser/GeneralParserTest.java | 4 +- 10 files changed, 1219 insertions(+), 1221 deletions(-) create mode 100644 src/mycompiler/myparser/GenericVarDeclarationList.java diff --git a/bin/.gitignore b/bin/.gitignore index ed918c09..865e7f60 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,9 +1,6 @@ /bytecode -/log4jTesting.xml /mycompiler -/typinferenz -/userinterface -/myJvmDisassembler -/parser /plugindevelopment /syntaxTree +/typinferenz +/parser diff --git a/bin/mycompiler/myparser/JavaLexer.lex b/bin/mycompiler/myparser/JavaLexer.lex index 98de6371..cae5b2ce 100755 --- a/bin/mycompiler/myparser/JavaLexer.lex +++ b/bin/mycompiler/myparser/JavaLexer.lex @@ -169,6 +169,5 @@ null { {ws}|\n { /* System.out.print(yytext()); */ } \\.\n {org.apache.log4j.Logger.getLogger("parser").debug("Kommentar: "+yytext());} "->" {this.token = new Token(JavaParser.LAMBDAASSIGNMENT, yytext(), yyline, yychar);return true;} -">" {this.token = new Token(JavaParser.ENDOFGENERICVARDECLARATION, yytext(), yyline, yychar);return true;} diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay index d6ad2af1..c7ebfbdc 100755 --- a/bin/mycompiler/myparser/JavaParser.jay +++ b/bin/mycompiler/myparser/JavaParser.jay @@ -300,7 +300,7 @@ public Vector testPair = new Vector(); %type boundedMethodParameter; %type boundedClassParameter; %type boundedclassidentifierlist //Vector -%type boundedMethodParameters; // Vector +%type boundedMethodParameters; // Vector %type boundedClassParameters; // ParaList %type packagedeclaration %type assignment @@ -903,11 +903,16 @@ fielddeclarator : ret.setWert($3); $$=ret; } - + | variabledeclarator + { + FieldDeclaration ret = new FieldDeclaration($1.getOffset()); + ret.set_DeclId($1); + $$=ret; + } -genericdeclarationlist : '<' boundedMethodParameters ENDOFGENERICVARDECLARATION +genericdeclarationlist : '<' boundedMethodParameters '>' { - GenericDeclarationList ret = new GenericDeclarationList($2,$3.getOffset()); + GenericDeclarationList ret = new GenericDeclarationList($2.getElements(),$2.getEndOffset()); $$ = ret; } @@ -1064,7 +1069,7 @@ boundedclassidentifierlist : referencetype // returns Vector boundedMethodParameters : boundedMethodParameter { - Vector vec=new Vector(); + GenericVarDeclarationList vec=new GenericVarDeclarationList(); vec.addElement($1); $$=vec; } diff --git a/src/mycompiler/myclass/GenericDeclarationList.java b/src/mycompiler/myclass/GenericDeclarationList.java index d49a4d2c..e6d748f6 100644 --- a/src/mycompiler/myclass/GenericDeclarationList.java +++ b/src/mycompiler/myclass/GenericDeclarationList.java @@ -2,6 +2,7 @@ package mycompiler.myclass; import java.util.Vector; +import mycompiler.myparser.GenericVarDeclarationList; import mycompiler.mytype.GenericTypeVar; @@ -13,8 +14,14 @@ import mycompiler.mytype.GenericTypeVar; */ public class GenericDeclarationList extends Vector{ - public GenericDeclarationList(Vector vector, int offset) { - // TODO Auto-generated constructor stub + private int offsetOfLastElement; + + public GenericDeclarationList(Vector values, int offset) { + this.addAll(values); + this.offsetOfLastElement = offset; } + public int getOffsetOfLastElement(){ + return offsetOfLastElement; + } } diff --git a/src/mycompiler/myparser/GenericVarDeclarationList.java b/src/mycompiler/myparser/GenericVarDeclarationList.java new file mode 100644 index 00000000..db7bd1f8 --- /dev/null +++ b/src/mycompiler/myparser/GenericVarDeclarationList.java @@ -0,0 +1,26 @@ +package mycompiler.myparser; + +import java.util.Vector; + +import typinferenz.exceptions.DebugException; +import mycompiler.mytype.GenericTypeVar; + +public class GenericVarDeclarationList { + + private Vector elements = new Vector<>(); + + public void addElement(GenericTypeVar e){ + elements.addElement(e); + } + + public int getEndOffset() { + int ret; + if(elements.isEmpty())throw new DebugException("Es wurde eine GenericVarDeclarationList ohne Elemente geparst"); + ret = elements.lastElement().getOffset() + elements.lastElement().getName().length(); + return ret; + } + + public Vector getElements(){ + return elements; + } +} diff --git a/src/mycompiler/myparser/JavaLexer.lex b/src/mycompiler/myparser/JavaLexer.lex index 98de6371..cae5b2ce 100755 --- a/src/mycompiler/myparser/JavaLexer.lex +++ b/src/mycompiler/myparser/JavaLexer.lex @@ -169,6 +169,5 @@ null { {ws}|\n { /* System.out.print(yytext()); */ } \\.\n {org.apache.log4j.Logger.getLogger("parser").debug("Kommentar: "+yytext());} "->" {this.token = new Token(JavaParser.LAMBDAASSIGNMENT, yytext(), yyline, yychar);return true;} -">" {this.token = new Token(JavaParser.ENDOFGENERICVARDECLARATION, yytext(), yyline, yychar);return true;} diff --git a/src/mycompiler/myparser/JavaParser.java b/src/mycompiler/myparser/JavaParser.java index c49921c6..a23a3706 100644 --- a/src/mycompiler/myparser/JavaParser.java +++ b/src/mycompiler/myparser/JavaParser.java @@ -356,7 +356,8 @@ public Vector testPair = new Vector(); //t "constantdeclaration : modifiers type IDENTIFIER '=' expression ';'", //t "abstractmethoddeclaration : methodheader ';'", //t "fielddeclarator : variabledeclarator '=' expression", -//t "genericdeclarationlist : '<' boundedMethodParameters ENDOFGENERICVARDECLARATION", +//t "fielddeclarator : variabledeclarator", +//t "genericdeclarationlist : '<' boundedMethodParameters '>'", //t "fielddeclaration : fielddeclarator ';'", //t "fielddeclaration : type fielddeclarator ';'", //t "fielddeclaration : genericdeclarationlist type fielddeclarator ';'", @@ -1439,49 +1440,57 @@ case 85: } break; case 86: - // line 909 "./../src/mycompiler/myparser/JavaParser.jay" + // line 907 "./../src/mycompiler/myparser/JavaParser.jay" { - GenericDeclarationList ret = new GenericDeclarationList(((Vector)yyVals[-1+yyTop]),((Token)yyVals[0+yyTop]).getOffset()); + FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); + ret.set_DeclId(((DeclId)yyVals[0+yyTop])); + yyVal=ret; + } + break; +case 87: + // line 914 "./../src/mycompiler/myparser/JavaParser.jay" + { + GenericDeclarationList ret = new GenericDeclarationList(((GenericVarDeclarationList)yyVals[-1+yyTop]).getElements(),((GenericVarDeclarationList)yyVals[-1+yyTop]).getEndOffset()); yyVal = ret; } break; -case 87: - // line 916 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((FieldDeclaration)yyVals[-1+yyTop]); - } - break; case 88: - // line 920 "./../src/mycompiler/myparser/JavaParser.jay" + // line 921 "./../src/mycompiler/myparser/JavaParser.jay" { - ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; case 89: // line 925 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); + yyVal=((FieldDeclaration)yyVals[-1+yyTop]); + } + break; +case 90: + // line 930 "./../src/mycompiler/myparser/JavaParser.jay" {/*angefügt von Andreas Stadelmeier*/ ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((FieldDeclaration)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop])); yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 90: - // line 932 "./../src/mycompiler/myparser/JavaParser.jay" +case 91: + // line 937 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 91: - // line 937 "./../src/mycompiler/myparser/JavaParser.jay" +case 92: + // line 942 "./../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 92: - // line 944 "./../src/mycompiler/myparser/JavaParser.jay" +case 93: + // line 949 "./../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++) @@ -1491,28 +1500,28 @@ case 92: yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; -case 93: - // line 954 "./../src/mycompiler/myparser/JavaParser.jay" +case 94: + // line 959 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; -case 94: - // line 961 "./../src/mycompiler/myparser/JavaParser.jay" +case 95: + // line 966 "./../src/mycompiler/myparser/JavaParser.jay" { Block Bl = new Block(); yyVal=Bl; } break; -case 95: - // line 967 "./../src/mycompiler/myparser/JavaParser.jay" +case 96: + // line 972 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 96: - // line 972 "./../src/mycompiler/myparser/JavaParser.jay" +case 97: + // line 977 "./../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(); @@ -1521,8 +1530,8 @@ case 96: yyVal=CON; } break; -case 97: - // line 980 "./../src/mycompiler/myparser/JavaParser.jay" +case 98: + // line 985 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CONpara = new Constructor(null); DeclId DIconpara = new DeclId(); @@ -1532,29 +1541,29 @@ case 97: yyVal=CONpara; } break; -case 98: - // line 990 "./../src/mycompiler/myparser/JavaParser.jay" +case 99: + // line 995 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBL = new Block(); yyVal=CBL; } break; -case 99: - // line 995 "./../src/mycompiler/myparser/JavaParser.jay" +case 100: + // line 1000 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBLexpl = new Block(); CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop])); yyVal=CBLexpl; } break; -case 100: - // line 1001 "./../src/mycompiler/myparser/JavaParser.jay" +case 101: + // line 1006 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; -case 101: - // line 1005 "./../src/mycompiler/myparser/JavaParser.jay" +case 102: + // line 1010 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBes = new Block(); CBes.set_Statement(((Statement)yyVals[-2+yyTop])); @@ -1565,51 +1574,51 @@ case 101: yyVal=CBes; } break; -case 102: - // line 1016 "./../src/mycompiler/myparser/JavaParser.jay" +case 103: + // line 1021 "./../src/mycompiler/myparser/JavaParser.jay" { ExceptionList EL = new ExceptionList(); EL.set_addElem(((RefType)yyVals[0+yyTop])); yyVal=EL; } break; -case 103: - // line 1023 "./../src/mycompiler/myparser/JavaParser.jay" +case 104: + // line 1028 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((GenericTypeVar)yyVals[0+yyTop]); } break; -case 104: - // line 1028 "./../src/mycompiler/myparser/JavaParser.jay" +case 105: + // line 1033 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList p = new ParaList(); p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=p; } break; -case 105: - // line 1034 "./../src/mycompiler/myparser/JavaParser.jay" +case 106: + // line 1039 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; -case 106: - // line 1041 "./../src/mycompiler/myparser/JavaParser.jay" +case 107: + // line 1046 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset()); } break; -case 107: - // line 1045 "./../src/mycompiler/myparser/JavaParser.jay" +case 108: + // line 1050 "./../src/mycompiler/myparser/JavaParser.jay" { BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(),((Vector)yyVals[0+yyTop]),((Token)yyVals[-2+yyTop]).getOffset()); /*gtv.setBounds($3);*/ yyVal=gtv; } break; -case 108: - // line 1052 "./../src/mycompiler/myparser/JavaParser.jay" +case 109: + // line 1057 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((RefType)yyVals[0+yyTop])); @@ -1617,54 +1626,54 @@ case 108: yyVal=vec; } break; -case 109: - // line 1059 "./../src/mycompiler/myparser/JavaParser.jay" +case 110: + // line 1064 "./../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 110: - // line 1066 "./../src/mycompiler/myparser/JavaParser.jay" +case 111: + // line 1071 "./../src/mycompiler/myparser/JavaParser.jay" { - Vector vec=new Vector(); + GenericVarDeclarationList vec=new GenericVarDeclarationList(); vec.addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=vec; } break; -case 111: - // line 1072 "./../src/mycompiler/myparser/JavaParser.jay" +case 112: + // line 1077 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Vector)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); - yyVal=((Vector)yyVals[-2+yyTop]); + ((GenericVarDeclarationList)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); + yyVal=((GenericVarDeclarationList)yyVals[-2+yyTop]); } break; -case 112: - // line 1080 "./../src/mycompiler/myparser/JavaParser.jay" +case 113: + // line 1085 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 113: - // line 1086 "./../src/mycompiler/myparser/JavaParser.jay" - { - ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); - yyVal=((Method)yyVals[0+yyTop]); - } - break; case 114: // line 1091 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; case 115: - // line 1097 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1096 "./../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 116: + // line 1102 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop])); @@ -1672,25 +1681,25 @@ case 115: yyVal=((Method)yyVals[0+yyTop]); } break; -case 116: - // line 1104 "./../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 117: - // line 1110 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1109 "./../src/mycompiler/myparser/JavaParser.jay" { - ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 118: - // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1115 "./../src/mycompiler/myparser/JavaParser.jay" + { + ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop])); + ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); + ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); + yyVal=((Method)yyVals[-1+yyTop]); + } + break; +case 119: + // line 1122 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); @@ -1698,8 +1707,8 @@ case 118: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 119: - // line 1124 "./../src/mycompiler/myparser/JavaParser.jay" +case 120: + // line 1129 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop])); @@ -1708,16 +1717,16 @@ case 119: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 120: - // line 1132 "./../src/mycompiler/myparser/JavaParser.jay" +case 121: + // line 1137 "./../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 121: - // line 1138 "./../src/mycompiler/myparser/JavaParser.jay" +case 122: + // line 1143 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); @@ -1725,8 +1734,8 @@ case 121: yyVal=((Method)yyVals[0+yyTop]); } break; -case 122: - // line 1145 "./../src/mycompiler/myparser/JavaParser.jay" +case 123: + // line 1150 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1734,8 +1743,8 @@ case 122: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 123: - // line 1152 "./../src/mycompiler/myparser/JavaParser.jay" +case 124: + // line 1157 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1744,8 +1753,8 @@ case 123: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 124: - // line 1160 "./../src/mycompiler/myparser/JavaParser.jay" +case 125: + // line 1165 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); @@ -1753,8 +1762,8 @@ case 124: yyVal=((Method)yyVals[0+yyTop]); } break; -case 125: - // line 1167 "./../src/mycompiler/myparser/JavaParser.jay" +case 126: + // line 1172 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); @@ -1763,8 +1772,8 @@ case 125: yyVal=((Method)yyVals[0+yyTop]); } break; -case 126: - // line 1175 "./../src/mycompiler/myparser/JavaParser.jay" +case 127: + // line 1180 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); @@ -1773,8 +1782,8 @@ case 126: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 127: - // line 1183 "./../src/mycompiler/myparser/JavaParser.jay" +case 128: + // line 1188 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop])); @@ -1784,39 +1793,39 @@ case 127: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 128: - // line 1193 "./../src/mycompiler/myparser/JavaParser.jay" +case 129: + // line 1198 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; -case 129: - // line 1198 "./../src/mycompiler/myparser/JavaParser.jay" +case 130: + // line 1203 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; -case 130: - // line 1205 "./../src/mycompiler/myparser/JavaParser.jay" +case 131: + // line 1210 "./../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 131: - // line 1211 "./../src/mycompiler/myparser/JavaParser.jay" +case 132: + // line 1216 "./../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 132: - // line 1217 "./../src/mycompiler/myparser/JavaParser.jay" +case 133: + // line 1222 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ @@ -1824,32 +1833,32 @@ case 132: yyVal=((Method)yyVals[-1+yyTop]); } break; -case 133: - // line 1226 "./../src/mycompiler/myparser/JavaParser.jay" +case 134: + // line 1231 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 134: - // line 1230 "./../src/mycompiler/myparser/JavaParser.jay" +case 135: + // line 1235 "./../src/mycompiler/myparser/JavaParser.jay" { ((BaseType)yyVals[-2+yyTop]).setArray(true); } break; -case 135: - // line 1234 "./../src/mycompiler/myparser/JavaParser.jay" +case 136: + // line 1239 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((RefType)yyVals[0+yyTop]); } break; -case 136: - // line 1238 "./../src/mycompiler/myparser/JavaParser.jay" +case 137: + // line 1243 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).setArray(true); } break; -case 137: - // line 1242 "./../src/mycompiler/myparser/JavaParser.jay" +case 138: + // line 1247 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); IVD.getDeclIdVector().addElement( ((DeclId)yyVals[0+yyTop]) ); @@ -1857,66 +1866,66 @@ case 137: yyVal = IVD; } break; -case 138: - // line 1249 "./../src/mycompiler/myparser/JavaParser.jay" +case 139: + // line 1254 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; -case 139: - // line 1255 "./../src/mycompiler/myparser/JavaParser.jay" +case 140: + // line 1260 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 140: - // line 1260 "./../src/mycompiler/myparser/JavaParser.jay" +case 141: + // line 1265 "./../src/mycompiler/myparser/JavaParser.jay" { Block Blstat = new Block(); Blstat.set_Statement(((Statement)yyVals[0+yyTop])); yyVal=Blstat; } break; -case 141: - // line 1267 "./../src/mycompiler/myparser/JavaParser.jay" +case 142: + // line 1272 "./../src/mycompiler/myparser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; -case 142: - // line 1273 "./../src/mycompiler/myparser/JavaParser.jay" +case 143: + // line 1278 "./../src/mycompiler/myparser/JavaParser.jay" { ParameterList PL = new ParameterList(); PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = PL; } break; -case 143: - // line 1279 "./../src/mycompiler/myparser/JavaParser.jay" +case 144: + // line 1284 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; -case 144: - // line 1285 "./../src/mycompiler/myparser/JavaParser.jay" +case 145: + // line 1290 "./../src/mycompiler/myparser/JavaParser.jay" { This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; -case 145: - // line 1290 "./../src/mycompiler/myparser/JavaParser.jay" +case 146: + // line 1295 "./../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 146: - // line 1299 "./../src/mycompiler/myparser/JavaParser.jay" +case 147: + // line 1304 "./../src/mycompiler/myparser/JavaParser.jay" { RefType RT = new RefType(-1); RT.set_UsedId(((UsedId)yyVals[0+yyTop])); @@ -1924,16 +1933,16 @@ case 146: yyVal=RT; } break; -case 147: - // line 1306 "./../src/mycompiler/myparser/JavaParser.jay" +case 148: + // line 1311 "./../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 148: - // line 1313 "./../src/mycompiler/myparser/JavaParser.jay" +case 149: + // line 1318 "./../src/mycompiler/myparser/JavaParser.jay" { Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1947,8 +1956,8 @@ case 148: yyVal = met; } break; -case 149: - // line 1326 "./../src/mycompiler/myparser/JavaParser.jay" +case 150: + // line 1331 "./../src/mycompiler/myparser/JavaParser.jay" { Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); /* #JB# 10.04.2005 */ @@ -1963,8 +1972,8 @@ case 149: yyVal = met_para; } break; -case 150: - // line 1341 "./../src/mycompiler/myparser/JavaParser.jay" +case 151: + // line 1346 "./../src/mycompiler/myparser/JavaParser.jay" { BooleanType BT = new BooleanType(); /* #JB# 05.04.2005 */ @@ -1974,14 +1983,14 @@ case 150: yyVal=BT; } break; -case 151: - // line 1350 "./../src/mycompiler/myparser/JavaParser.jay" +case 152: + // line 1355 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 152: - // line 1355 "./../src/mycompiler/myparser/JavaParser.jay" +case 153: + // line 1360 "./../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()); @@ -2000,26 +2009,26 @@ case 152: yyVal=RT; } break; -case 153: - // line 1375 "./../src/mycompiler/myparser/JavaParser.jay" +case 154: + // line 1380 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; -case 154: - // line 1396 "./../src/mycompiler/myparser/JavaParser.jay" +case 155: + // line 1401 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; -case 155: - // line 1400 "./../src/mycompiler/myparser/JavaParser.jay" +case 156: + // line 1405 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 156: - // line 1405 "./../src/mycompiler/myparser/JavaParser.jay" +case 157: + // line 1410 "./../src/mycompiler/myparser/JavaParser.jay" { FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); FP.setType(((Type)yyVals[-1+yyTop])); @@ -2027,8 +2036,8 @@ case 156: yyVal=FP; } break; -case 157: - // line 1430 "./../src/mycompiler/myparser/JavaParser.jay" +case 158: + // line 1435 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); @@ -2047,29 +2056,29 @@ case 157: yyVal=FP; } break; -case 158: - // line 1449 "./../src/mycompiler/myparser/JavaParser.jay" +case 159: + // line 1454 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); AL.expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=AL; } break; -case 159: - // line 1455 "./../src/mycompiler/myparser/JavaParser.jay" +case 160: + // line 1460 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; -case 160: - // line 1461 "./../src/mycompiler/myparser/JavaParser.jay" +case 161: + // line 1466 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; -case 161: - // line 1466 "./../src/mycompiler/myparser/JavaParser.jay" +case 162: + // line 1471 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); /* #JB# 10.04.2005 */ @@ -2081,62 +2090,62 @@ case 161: yyVal=DI; } break; -case 162: - // line 1478 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 163: // line 1483 "./../src/mycompiler/myparser/JavaParser.jay" { - yyVal=((LocalVarDecl)yyVals[-1+yyTop]); + yyVal=((Expr)yyVals[0+yyTop]); } break; case 164: // line 1488 "./../src/mycompiler/myparser/JavaParser.jay" { - yyVal=((Statement)yyVals[0+yyTop]); + yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; case 165: - // line 1492 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1493 "./../src/mycompiler/myparser/JavaParser.jay" { - yyVal=((IfStmt)yyVals[0+yyTop]); + yyVal=((Statement)yyVals[0+yyTop]); } break; case 166: - // line 1496 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1497 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 167: - // line 1500 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1501 "./../src/mycompiler/myparser/JavaParser.jay" { - yyVal=((WhileStmt)yyVals[0+yyTop]); + yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 168: - // line 1504 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1505 "./../src/mycompiler/myparser/JavaParser.jay" { - yyVal=((ForStmt)yyVals[0+yyTop]); + yyVal=((WhileStmt)yyVals[0+yyTop]); } break; case 169: // line 1509 "./../src/mycompiler/myparser/JavaParser.jay" { - yyVal=((Expr)yyVals[0+yyTop]); + yyVal=((ForStmt)yyVals[0+yyTop]); } break; case 170: - // line 1513 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1514 "./../src/mycompiler/myparser/JavaParser.jay" { - yyVal=((NewClass)yyVals[0+yyTop]); + yyVal=((Expr)yyVals[0+yyTop]); } break; case 171: // line 1518 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((NewClass)yyVals[0+yyTop]); + } + break; +case 172: + // line 1523 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); /* #JB# 05.04.2005 */ @@ -2146,8 +2155,8 @@ case 171: yyVal=IT; } break; -case 172: - // line 1527 "./../src/mycompiler/myparser/JavaParser.jay" +case 173: + // line 1532 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); /* #JB# 05.04.2005 */ @@ -2157,8 +2166,8 @@ case 172: yyVal=CT; } break; -case 173: - // line 1537 "./../src/mycompiler/myparser/JavaParser.jay" +case 174: + // line 1542 "./../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()); @@ -2167,8 +2176,8 @@ case 173: yyVal = LVD; } break; -case 174: - // line 1548 "./../src/mycompiler/myparser/JavaParser.jay" +case 175: + // line 1553 "./../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()); @@ -2177,32 +2186,32 @@ case 174: yyVal = LVD; } break; -case 175: - // line 1558 "./../src/mycompiler/myparser/JavaParser.jay" +case 176: + // line 1563 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 176: - // line 1562 "./../src/mycompiler/myparser/JavaParser.jay" +case 177: + // line 1567 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; -case 177: - // line 1566 "./../src/mycompiler/myparser/JavaParser.jay" +case 178: + // line 1571 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; -case 178: - // line 1570 "./../src/mycompiler/myparser/JavaParser.jay" +case 179: + // line 1575 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; -case 179: - // line 1575 "./../src/mycompiler/myparser/JavaParser.jay" +case 180: + // line 1580 "./../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])); @@ -2210,8 +2219,8 @@ case 179: yyVal=Ifst; } break; -case 180: - // line 1583 "./../src/mycompiler/myparser/JavaParser.jay" +case 181: + // line 1588 "./../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])); @@ -2220,8 +2229,8 @@ case 180: yyVal=IfstElst; } break; -case 181: - // line 1592 "./../src/mycompiler/myparser/JavaParser.jay" +case 182: + // line 1597 "./../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])); @@ -2229,8 +2238,8 @@ case 181: yyVal=Whlst; } break; -case 182: - // line 1603 "./../src/mycompiler/myparser/JavaParser.jay" +case 183: + // line 1608 "./../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])); @@ -2242,8 +2251,8 @@ case 182: yyVal = Fst; } break; -case 183: - // line 1615 "./../src/mycompiler/myparser/JavaParser.jay" +case 184: + // line 1620 "./../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])); @@ -2254,8 +2263,8 @@ case 183: yyVal = Fst; } break; -case 184: - // line 1626 "./../src/mycompiler/myparser/JavaParser.jay" +case 185: + // line 1631 "./../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])); @@ -2266,8 +2275,8 @@ case 184: yyVal = Fst; } break; -case 185: - // line 1637 "./../src/mycompiler/myparser/JavaParser.jay" +case 186: + // line 1642 "./../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])); @@ -2278,8 +2287,8 @@ case 185: yyVal = Fst; } break; -case 186: - // line 1648 "./../src/mycompiler/myparser/JavaParser.jay" +case 187: + // line 1653 "./../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])); @@ -2289,8 +2298,8 @@ case 186: yyVal = Fst; } break; -case 187: - // line 1658 "./../src/mycompiler/myparser/JavaParser.jay" +case 188: + // line 1663 "./../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])); @@ -2300,8 +2309,8 @@ case 187: yyVal = Fst; } break; -case 188: - // line 1668 "./../src/mycompiler/myparser/JavaParser.jay" +case 189: + // line 1673 "./../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])); @@ -2311,8 +2320,8 @@ case 188: yyVal = Fst; } break; -case 189: - // line 1678 "./../src/mycompiler/myparser/JavaParser.jay" +case 190: + // line 1683 "./../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])); @@ -2321,73 +2330,73 @@ case 189: yyVal = Fst; } break; -case 190: - // line 1687 "./../src/mycompiler/myparser/JavaParser.jay" +case 191: + // line 1692 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; -case 191: - // line 1692 "./../src/mycompiler/myparser/JavaParser.jay" +case 192: + // line 1697 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 192: - // line 1698 "./../src/mycompiler/myparser/JavaParser.jay" +case 193: + // line 1703 "./../src/mycompiler/myparser/JavaParser.jay" { EmptyStmt Empst = new EmptyStmt(); yyVal=Empst; } break; -case 193: - // line 1704 "./../src/mycompiler/myparser/JavaParser.jay" +case 194: + // line 1709 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[-1+yyTop]); } break; -case 194: - // line 1709 "./../src/mycompiler/myparser/JavaParser.jay" +case 195: + // line 1714 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; -case 195: - // line 1714 "./../src/mycompiler/myparser/JavaParser.jay" +case 196: + // line 1719 "./../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 196: - // line 1721 "./../src/mycompiler/myparser/JavaParser.jay" +case 197: + // line 1726 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; -case 197: - // line 1725 "./../src/mycompiler/myparser/JavaParser.jay" +case 198: + // line 1730 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; -case 198: - // line 1729 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((WhileStmt)yyVals[0+yyTop]); - } - break; case 199: // line 1734 "./../src/mycompiler/myparser/JavaParser.jay" { - yyVal=((Expr)yyVals[0+yyTop]); + yyVal=((WhileStmt)yyVals[0+yyTop]); } break; case 200: - // line 1740 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1739 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 201: + // line 1745 "./../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()); @@ -2413,8 +2422,8 @@ case 200: yyVal=Ass; } break; -case 201: - // line 1765 "./../src/mycompiler/myparser/JavaParser.jay" +case 202: + // line 1770 "./../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()); @@ -2437,44 +2446,44 @@ case 201: yyVal=Ass; } break; -case 202: - // line 1788 "./../src/mycompiler/myparser/JavaParser.jay" +case 203: + // line 1793 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; -case 203: - // line 1792 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 204: - // line 1796 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1797 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 205: - // line 1800 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1801 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 206: - // line 1804 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1805 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 207: - // line 1808 "./../src/mycompiler/myparser/JavaParser.jay" + // line 1809 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 208: + // line 1813 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 208: - // line 1819 "./../src/mycompiler/myparser/JavaParser.jay" +case 209: + // line 1824 "./../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])); @@ -2483,8 +2492,8 @@ case 208: yyVal=IfElno; } break; -case 209: - // line 1828 "./../src/mycompiler/myparser/JavaParser.jay" +case 210: + // line 1833 "./../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])); @@ -2492,14 +2501,14 @@ case 209: yyVal=Whstno; } break; -case 210: - // line 1836 "./../src/mycompiler/myparser/JavaParser.jay" +case 211: + // line 1841 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 211: - // line 1840 "./../src/mycompiler/myparser/JavaParser.jay" +case 212: + // line 1845 "./../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()); @@ -2510,20 +2519,20 @@ case 211: yyVal=LogOr; } break; -case 212: - // line 1853 "./../src/mycompiler/myparser/JavaParser.jay" +case 213: + // line 1858 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 213: - // line 1858 "./../src/mycompiler/myparser/JavaParser.jay" +case 214: + // line 1863 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; -case 214: - // line 1862 "./../src/mycompiler/myparser/JavaParser.jay" +case 215: + // line 1867 "./../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";}|*/ @@ -2533,20 +2542,20 @@ case 214: yyVal=ret; } break; -case 215: - // line 1872 "./../src/mycompiler/myparser/JavaParser.jay" +case 216: + // line 1877 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 216: - // line 1876 "./../src/mycompiler/myparser/JavaParser.jay" +case 217: + // line 1881 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; -case 217: - // line 1881 "./../src/mycompiler/myparser/JavaParser.jay" +case 218: + // line 1886 "./../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])); @@ -2554,87 +2563,87 @@ case 217: yyVal=lambda; } break; -case 218: - // line 1900 "./../src/mycompiler/myparser/JavaParser.jay" +case 219: + // line 1905 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; -case 219: - // line 1905 "./../src/mycompiler/myparser/JavaParser.jay" +case 220: + // line 1910 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; -case 220: - // line 1909 "./../src/mycompiler/myparser/JavaParser.jay" - { - TimesOp TEO = new TimesOp(-1,-1); - yyVal=TEO; - } - break; case 221: // line 1914 "./../src/mycompiler/myparser/JavaParser.jay" { - DivideOp DEO = new DivideOp(-1,-1); - yyVal=DEO; + TimesOp TEO = new TimesOp(-1,-1); + yyVal=TEO; } break; case 222: // line 1919 "./../src/mycompiler/myparser/JavaParser.jay" { - ModuloOp MEO = new ModuloOp(-1,-1); - yyVal=MEO; + DivideOp DEO = new DivideOp(-1,-1); + yyVal=DEO; } break; case 223: // line 1924 "./../src/mycompiler/myparser/JavaParser.jay" { - PlusOp PEO = new PlusOp(-1,-1); - yyVal=PEO; + ModuloOp MEO = new ModuloOp(-1,-1); + yyVal=MEO; } break; case 224: // line 1929 "./../src/mycompiler/myparser/JavaParser.jay" + { + PlusOp PEO = new PlusOp(-1,-1); + yyVal=PEO; + } + break; +case 225: + // line 1934 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; -case 225: - // line 1941 "./../src/mycompiler/myparser/JavaParser.jay" +case 226: + // line 1946 "./../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 226: - // line 1948 "./../src/mycompiler/myparser/JavaParser.jay" +case 227: + // line 1953 "./../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 227: - // line 1955 "./../src/mycompiler/myparser/JavaParser.jay" +case 228: + // line 1960 "./../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 228: - // line 1962 "./../src/mycompiler/myparser/JavaParser.jay" +case 229: + // line 1967 "./../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 229: - // line 1970 "./../src/mycompiler/myparser/JavaParser.jay" +case 230: + // line 1975 "./../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()); @@ -2665,8 +2674,8 @@ case 229: yyVal=MC; } break; -case 230: - // line 2000 "./../src/mycompiler/myparser/JavaParser.jay" +case 231: + // line 2005 "./../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()); @@ -2698,8 +2707,8 @@ case 230: yyVal=MCarg; } break; -case 231: - // line 2031 "./../src/mycompiler/myparser/JavaParser.jay" +case 232: + // line 2036 "./../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()); @@ -2719,8 +2728,8 @@ case 231: yyVal=MCpr; } break; -case 232: - // line 2050 "./../src/mycompiler/myparser/JavaParser.jay" +case 233: + // line 2055 "./../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()); @@ -2741,8 +2750,8 @@ case 232: yyVal=MCPA; } break; -case 233: - // line 2073 "./../src/mycompiler/myparser/JavaParser.jay" +case 234: + // line 2078 "./../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])); @@ -2751,8 +2760,8 @@ case 233: yyVal=NC; } break; -case 234: - // line 2081 "./../src/mycompiler/myparser/JavaParser.jay" +case 235: + // line 2086 "./../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])); @@ -2762,14 +2771,14 @@ case 234: yyVal=NCarg; } break; -case 235: - // line 2091 "./../src/mycompiler/myparser/JavaParser.jay" +case 236: + // line 2096 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 236: - // line 2095 "./../src/mycompiler/myparser/JavaParser.jay" +case 237: + // line 2100 "./../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()); @@ -2780,20 +2789,20 @@ case 236: yyVal=And; } break; -case 237: - // line 2111 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 238: - // line 2115 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2116 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 239: - // line 2119 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2120 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 240: + // line 2124 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryPlus UP= new UnaryPlus(); @@ -2802,8 +2811,8 @@ case 239: yyVal=POSEX; } break; -case 240: - // line 2127 "./../src/mycompiler/myparser/JavaParser.jay" +case 241: + // line 2132 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryMinus UM=new UnaryMinus(); @@ -2812,12 +2821,6 @@ case 240: yyVal=NEGEX; } break; -case 241: - // line 2135 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 242: // line 2140 "./../src/mycompiler/myparser/JavaParser.jay" { @@ -2825,7 +2828,13 @@ case 242: } break; case 243: - // line 2144 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2145 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 244: + // line 2149 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { @@ -2844,14 +2853,8 @@ case 243: } } break; -case 244: - // line 2162 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 245: - // line 2166 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2167 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } @@ -2868,14 +2871,20 @@ case 247: yyVal=((Expr)yyVals[0+yyTop]); } break; -case 249: - // line 2182 "./../src/mycompiler/myparser/JavaParser.jay" +case 248: + // line 2181 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 250: + // line 2187 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; -case 250: - // line 2186 "./../src/mycompiler/myparser/JavaParser.jay" +case 251: + // line 2191 "./../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()); @@ -2884,24 +2893,24 @@ case 250: yyVal=T; } break; -case 251: - // line 2207 "./../src/mycompiler/myparser/JavaParser.jay" +case 252: + // line 2212 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; -case 252: - // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" +case 253: + // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 253: - // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" +case 254: + // line 2221 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 254: - // line 2218 "./../src/mycompiler/myparser/JavaParser.jay" +case 255: + // line 2223 "./../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); @@ -2909,75 +2918,75 @@ case 254: yyVal=NE; } break; -case 255: - // line 2224 "./../src/mycompiler/myparser/JavaParser.jay" +case 256: + // line 2229 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; -case 256: - // line 2226 "./../src/mycompiler/myparser/JavaParser.jay" +case 257: + // line 2231 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; -case 258: - // line 2231 "./../src/mycompiler/myparser/JavaParser.jay" +case 259: + // line 2236 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; -case 259: - // line 2236 "./../src/mycompiler/myparser/JavaParser.jay" +case 260: + // line 2241 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; -case 260: - // line 2240 "./../src/mycompiler/myparser/JavaParser.jay" +case 261: + // line 2245 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; -case 261: - // line 2245 "./../src/mycompiler/myparser/JavaParser.jay" +case 262: + // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); ST.set_String(((Token)yyVals[0+yyTop]).get_String()); yyVal=ST; } break; -case 262: - // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" +case 263: + // line 2255 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; -case 263: - // line 2254 "./../src/mycompiler/myparser/JavaParser.jay" +case 264: + // line 2259 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); yyVal = FL; } break; -case 264: - // line 2259 "./../src/mycompiler/myparser/JavaParser.jay" +case 265: + // line 2264 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); yyVal = DL; } break; -case 265: - // line 2265 "./../src/mycompiler/myparser/JavaParser.jay" +case 266: + // line 2270 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; -case 266: - // line 2271 "./../src/mycompiler/myparser/JavaParser.jay" +case 267: + // line 2276 "./../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])); @@ -2985,25 +2994,25 @@ case 266: yyVal=CaEx; } break; -case 267: - // line 2280 "./../src/mycompiler/myparser/JavaParser.jay" +case 268: + // line 2285 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 268: - // line 2284 "./../src/mycompiler/myparser/JavaParser.jay" - { - } - break; case 269: - // line 2288 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2289 "./../src/mycompiler/myparser/JavaParser.jay" + { + } + break; +case 270: + // line 2293 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 270: - // line 2292 "./../src/mycompiler/myparser/JavaParser.jay" +case 271: + // line 2297 "./../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()); @@ -3014,8 +3023,8 @@ case 270: yyVal=EQ; } break; -case 271: - // line 2302 "./../src/mycompiler/myparser/JavaParser.jay" +case 272: + // line 2307 "./../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()); @@ -3026,14 +3035,14 @@ case 271: yyVal=NEQ; } break; -case 272: - // line 2313 "./../src/mycompiler/myparser/JavaParser.jay" +case 273: + // line 2318 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 273: - // line 2317 "./../src/mycompiler/myparser/JavaParser.jay" +case 274: + // line 2322 "./../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()); @@ -3044,8 +3053,8 @@ case 273: yyVal=LO; } break; -case 274: - // line 2327 "./../src/mycompiler/myparser/JavaParser.jay" +case 275: + // line 2332 "./../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()); @@ -3056,8 +3065,8 @@ case 274: yyVal=GO; } break; -case 275: - // line 2337 "./../src/mycompiler/myparser/JavaParser.jay" +case 276: + // line 2342 "./../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()); @@ -3068,8 +3077,8 @@ case 275: yyVal=LE; } break; -case 276: - // line 2347 "./../src/mycompiler/myparser/JavaParser.jay" +case 277: + // line 2352 "./../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()); @@ -3080,8 +3089,8 @@ case 276: yyVal=GE; } break; -case 277: - // line 2357 "./../src/mycompiler/myparser/JavaParser.jay" +case 278: + // line 2362 "./../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])); @@ -3089,12 +3098,6 @@ case 277: yyVal=ISO; } break; -case 278: - // line 2365 "./../src/mycompiler/myparser/JavaParser.jay" - { - yyVal=((Expr)yyVals[0+yyTop]); - } - break; case 279: // line 2370 "./../src/mycompiler/myparser/JavaParser.jay" { @@ -3102,7 +3105,13 @@ case 279: } break; case 280: - // line 2374 "./../src/mycompiler/myparser/JavaParser.jay" + // line 2375 "./../src/mycompiler/myparser/JavaParser.jay" + { + yyVal=((Expr)yyVals[0+yyTop]); + } + break; +case 281: + // line 2379 "./../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()); @@ -3113,8 +3122,8 @@ case 280: yyVal=AD; } break; -case 281: - // line 2384 "./../src/mycompiler/myparser/JavaParser.jay" +case 282: + // line 2389 "./../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()); @@ -3125,14 +3134,14 @@ case 281: yyVal=MI; } break; -case 282: - // line 2395 "./../src/mycompiler/myparser/JavaParser.jay" +case 283: + // line 2400 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; -case 283: - // line 2399 "./../src/mycompiler/myparser/JavaParser.jay" +case 284: + // line 2404 "./../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()); @@ -3143,8 +3152,8 @@ case 283: yyVal=ML; } break; -case 284: - // line 2409 "./../src/mycompiler/myparser/JavaParser.jay" +case 285: + // line 2414 "./../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()); @@ -3155,8 +3164,8 @@ case 284: yyVal = DV; } break; -case 285: - // line 2419 "./../src/mycompiler/myparser/JavaParser.jay" +case 286: + // line 2424 "./../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()); @@ -3167,7 +3176,7 @@ case 285: yyVal =MD; } break; - // line 3171 "-" + // line 3180 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; @@ -3206,27 +3215,27 @@ case 285: 33, 3, 3, 34, 34, 16, 16, 42, 42, 42, 42, 42, 42, 30, 4, 4, 32, 17, 17, 17, 31, 114, 114, 115, 115, 5, 5, 18, 18, 111, - 107, 107, 10, 6, 20, 11, 12, 12, 12, 12, - 12, 12, 14, 43, 43, 108, 108, 109, 109, 109, - 109, 49, 95, 98, 98, 94, 94, 96, 96, 97, - 97, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 107, 107, 10, 6, 20, 20, 11, 12, 12, 12, + 12, 12, 12, 14, 43, 43, 108, 108, 109, 109, + 109, 109, 49, 95, 98, 98, 94, 94, 96, 96, + 97, 97, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 40, 40, 40, 40, 19, 19, 44, 45, - 45, 51, 51, 110, 110, 39, 39, 15, 15, 37, - 37, 38, 21, 81, 81, 50, 50, 104, 104, 36, - 22, 79, 47, 82, 82, 82, 82, 82, 72, 72, - 35, 35, 48, 48, 80, 80, 80, 80, 87, 88, - 84, 85, 85, 85, 85, 85, 85, 85, 85, 70, - 70, 90, 78, 91, 91, 83, 83, 83, 69, 100, - 100, 73, 73, 73, 73, 73, 73, 89, 86, 68, - 68, 102, 46, 46, 52, 52, 71, 103, 101, 101, - 101, 101, 101, 101, 74, 75, 76, 77, 105, 105, - 105, 105, 92, 92, 67, 67, 58, 58, 58, 58, - 58, 56, 56, 56, 56, 55, 66, 66, 54, 54, - 54, 54, 57, 57, 57, 65, 65, 53, 53, 53, - 53, 53, 53, 53, 53, 112, 64, 64, 63, 63, - 63, 62, 62, 62, 62, 62, 62, 61, 60, 60, - 60, 59, 59, 59, 59, + 13, 13, 13, 40, 40, 40, 40, 19, 19, 44, + 45, 45, 51, 51, 110, 110, 39, 39, 15, 15, + 37, 37, 38, 21, 81, 81, 50, 50, 104, 104, + 36, 22, 79, 47, 82, 82, 82, 82, 82, 72, + 72, 35, 35, 48, 48, 80, 80, 80, 80, 87, + 88, 84, 85, 85, 85, 85, 85, 85, 85, 85, + 70, 70, 90, 78, 91, 91, 83, 83, 83, 69, + 100, 100, 73, 73, 73, 73, 73, 73, 89, 86, + 68, 68, 102, 46, 46, 52, 52, 71, 103, 101, + 101, 101, 101, 101, 101, 74, 75, 76, 77, 105, + 105, 105, 105, 92, 92, 67, 67, 58, 58, 58, + 58, 58, 56, 56, 56, 56, 55, 66, 66, 54, + 54, 54, 54, 57, 57, 57, 65, 65, 53, 53, + 53, 53, 53, 53, 53, 53, 112, 64, 64, 63, + 63, 63, 62, 62, 62, 62, 62, 62, 61, 60, + 60, 60, 59, 59, 59, 59, }; protected static final short yyLen [] = { 2, 1, 2, 3, 2, 3, 3, 1, 2, 3, 1, @@ -3237,77 +3246,77 @@ case 285: 3, 2, 3, 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 3, 0, 3, 1, 1, 1, 1, 2, - 2, 3, 6, 2, 3, 3, 2, 3, 4, 2, - 3, 4, 2, 2, 3, 3, 4, 2, 3, 3, - 4, 2, 1, 1, 3, 1, 3, 1, 3, 1, - 3, 3, 2, 3, 4, 3, 4, 4, 5, 2, - 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, - 2, 3, 1, 3, 1, 3, 1, 3, 1, 1, - 2, 1, 3, 4, 5, 1, 3, 3, 4, 1, - 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, - 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 1, 1, 1, 1, 1, 5, 7, - 5, 9, 8, 8, 8, 7, 7, 7, 6, 1, - 1, 1, 2, 2, 3, 1, 1, 1, 1, 3, - 3, 1, 1, 1, 1, 1, 1, 7, 5, 1, - 3, 1, 1, 1, 2, 3, 3, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 3, 4, - 5, 6, 4, 5, 1, 3, 1, 1, 2, 2, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, - 1, 1, 1, 2, 1, 1, 3, 1, 1, 1, - 1, 1, 1, 1, 1, 4, 1, 3, 1, 3, - 3, 1, 3, 3, 3, 3, 3, 1, 1, 3, - 3, 1, 3, 3, 3, + 2, 3, 6, 2, 3, 1, 3, 2, 3, 4, + 2, 3, 4, 2, 2, 3, 3, 4, 2, 3, + 3, 4, 2, 1, 1, 3, 1, 3, 1, 3, + 1, 3, 3, 2, 3, 4, 3, 4, 4, 5, + 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, + 2, 2, 3, 1, 3, 1, 3, 1, 3, 1, + 1, 2, 1, 3, 4, 5, 1, 3, 3, 4, + 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, + 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 1, 1, 1, 1, 1, 5, + 7, 5, 9, 8, 8, 8, 7, 7, 7, 6, + 1, 1, 1, 2, 2, 3, 1, 1, 1, 1, + 3, 3, 1, 1, 1, 1, 1, 1, 7, 5, + 1, 3, 1, 1, 1, 2, 3, 3, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, + 4, 5, 6, 4, 5, 1, 3, 1, 1, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, + 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, + 1, 1, 1, 1, 1, 1, 4, 1, 3, 1, + 3, 3, 1, 3, 3, 3, 3, 3, 1, 1, + 3, 3, 1, 3, 3, 3, }; protected static final short yyDefRed [] = { 0, - 62, 150, 172, 0, 63, 171, 60, 59, 58, 0, + 62, 151, 173, 0, 63, 172, 60, 59, 58, 0, 0, 0, 61, 19, 0, 14, 15, 0, 7, 0, - 152, 160, 151, 0, 0, 0, 0, 47, 0, 0, + 153, 161, 152, 0, 0, 0, 0, 47, 0, 0, 10, 0, 0, 13, 12, 0, 0, 0, 0, 0, 0, 71, 8, 0, 0, 0, 0, 0, 0, 48, 11, 0, 0, 0, 0, 0, 0, 20, 0, 0, 6, 0, 9, 0, 0, 0, 0, 32, 0, 72, - 0, 134, 136, 5, 0, 0, 0, 0, 103, 104, + 0, 135, 137, 5, 0, 0, 0, 0, 104, 105, 0, 49, 64, 67, 50, 0, 0, 0, 0, 45, 0, 78, 0, 79, 0, 0, 56, 68, 0, 0, - 0, 153, 0, 0, 0, 70, 0, 69, 22, 0, + 0, 154, 0, 0, 0, 70, 0, 69, 22, 0, 0, 24, 16, 0, 18, 0, 54, 0, 52, 0, 65, 77, 76, 0, 0, 0, 0, 0, 34, 0, 75, 21, 0, 0, 33, 0, 0, 0, 31, 0, - 80, 0, 0, 0, 110, 0, 0, 129, 0, 139, - 93, 0, 131, 46, 57, 0, 90, 87, 0, 0, + 80, 0, 0, 0, 111, 0, 0, 130, 0, 140, + 94, 0, 132, 46, 57, 0, 91, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 26, 51, 29, 53, 66, 0, 84, 0, 55, - 73, 23, 0, 25, 35, 108, 0, 105, 0, 0, - 0, 250, 0, 258, 262, 264, 263, 259, 265, 260, - 261, 0, 0, 0, 192, 94, 0, 0, 137, 0, - 0, 0, 175, 0, 154, 0, 0, 249, 246, 0, - 0, 252, 0, 203, 204, 0, 0, 177, 164, 140, - 155, 167, 168, 165, 166, 176, 178, 202, 0, 0, - 122, 148, 157, 0, 142, 0, 86, 0, 0, 0, - 0, 0, 146, 0, 161, 138, 0, 0, 0, 0, - 0, 0, 241, 282, 0, 0, 272, 0, 0, 0, - 0, 0, 0, 0, 190, 169, 85, 237, 238, 244, - 245, 170, 191, 251, 255, 96, 0, 116, 91, 88, - 0, 0, 0, 132, 0, 0, 82, 0, 98, 0, - 0, 0, 27, 0, 0, 0, 194, 0, 0, 0, - 225, 226, 215, 0, 0, 0, 95, 141, 163, 212, - 0, 0, 227, 228, 193, 223, 224, 220, 221, 222, - 219, 0, 156, 0, 149, 111, 126, 117, 89, 0, - 0, 0, 239, 240, 254, 0, 0, 0, 0, 0, + 73, 23, 0, 25, 35, 109, 0, 106, 0, 0, + 0, 251, 0, 259, 263, 265, 264, 260, 266, 261, + 262, 0, 0, 0, 193, 95, 0, 0, 138, 0, + 0, 0, 176, 0, 155, 0, 0, 250, 247, 0, + 0, 253, 0, 204, 205, 0, 0, 178, 165, 141, + 156, 168, 169, 166, 167, 177, 179, 203, 0, 0, + 123, 149, 158, 0, 143, 0, 0, 87, 0, 0, + 0, 0, 147, 0, 162, 139, 0, 0, 0, 0, + 0, 0, 242, 283, 0, 0, 273, 0, 0, 0, + 0, 0, 0, 0, 191, 170, 85, 238, 239, 245, + 246, 171, 192, 252, 256, 97, 0, 117, 92, 89, + 0, 0, 0, 133, 0, 0, 82, 0, 99, 0, + 0, 0, 27, 0, 0, 0, 195, 0, 0, 0, + 226, 227, 216, 0, 0, 0, 96, 142, 164, 213, + 0, 0, 228, 229, 194, 224, 225, 221, 222, 223, + 220, 0, 157, 0, 150, 112, 127, 118, 90, 0, + 0, 0, 240, 241, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 97, 123, 0, 0, 118, 92, 0, 100, - 99, 0, 0, 109, 0, 0, 0, 195, 0, 216, - 229, 158, 0, 213, 217, 214, 0, 200, 201, 143, - 147, 0, 0, 283, 284, 285, 0, 0, 277, 275, - 276, 273, 274, 0, 0, 0, 0, 0, 0, 0, - 127, 119, 0, 0, 101, 0, 0, 0, 0, 0, - 0, 0, 230, 0, 233, 0, 266, 144, 0, 83, - 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, - 198, 197, 181, 159, 231, 0, 234, 145, 189, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 232, 188, - 187, 0, 186, 0, 0, 0, 0, 0, 180, 185, - 184, 183, 0, 0, 0, 182, 0, 209, 0, 208, + 0, 0, 98, 124, 0, 0, 119, 93, 0, 101, + 100, 0, 0, 110, 0, 0, 0, 196, 0, 217, + 230, 159, 0, 214, 218, 215, 0, 201, 202, 144, + 148, 0, 0, 284, 285, 286, 0, 0, 278, 276, + 277, 274, 275, 0, 0, 0, 0, 0, 0, 0, + 128, 120, 0, 0, 102, 0, 0, 0, 0, 0, + 0, 0, 231, 0, 234, 0, 267, 145, 0, 83, + 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, + 199, 198, 182, 160, 232, 0, 235, 146, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 233, 189, + 188, 0, 187, 0, 0, 0, 0, 0, 181, 186, + 185, 184, 0, 0, 0, 183, 0, 210, 0, 209, }; protected static final short yyDgoto [] = { 15, 16, 17, 68, 120, 121, 122, 58, 33, 40, 123, @@ -3323,795 +3332,745 @@ case 285: 332, 321, 239, 383, 284, 31, 106, 107, 171, 301, 108, 285, 0, 71, 42, 0, }; - protected static final short yySindex [] = { 1285, - 0, 0, 0, -240, 0, 0, 0, 0, 0, -236, - -236, -231, 0, 0, 0, 0, 0, 29, 0, 396, - 0, 0, 0, 35, 57, 226, 627, 0, 981, 396, - 0, 154, -92, 0, 0, 194, 159, 170, 163, -88, - 226, 0, 0, 981, 150, 161, 1285, -240, -231, 0, - 0, 396, 981, -31, -236, -236, 1870, 0, -95, -5, - 0, -16, 0, -37, -31, -236, 2564, 0, 9, 0, - 140, 0, 0, 0, -92, -88, 981, 58, 0, 0, - 144, 0, 0, 0, 0, 129, 20, 288, -31, 0, - -62, 0, 129, 0, 52, 2611, 0, 0, 50, 274, - 301, 0, 112, 97, 2681, 0, 259, 0, 0, -5, - -236, 0, 0, 0, 0, 184, 0, 288, 0, 2653, - 0, 0, 0, -62, 345, 20, 2681, -236, 0, 226, - 0, 0, -95, -5, 0, 9, -236, -31, 0, 2159, - 0, 288, 52, -27, 0, -40, 20, 0, 97, 0, - 0, -236, 0, 0, 0, 108, 0, 0, 1082, -26, - 288, 52, 171, 365, 20, 252, 52, 97, 259, 2207, - 0, 0, 0, 0, 0, 0, 20, 0, 132, 0, - 0, 0, -5, 0, 0, 0, 380, 0, 408, 409, - 525, 0, 410, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1113, 1113, 0, 0, -17, 398, 0, 29, - 246, 108, 0, 2251, 0, 394, 125, 0, 0, 411, - 64, 0, 403, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 108, 0, 323, 0, -31, 52, 52, - 404, 301, 0, 420, 0, 0, -236, -17, 1113, 1113, - 1113, 64, 0, 0, 287, 71, 0, 28, 79, 417, - 376, 347, 165, 168, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, - 52, 20, 20, 0, 52, 243, 0, 437, 0, 2311, - 2359, 117, 0, -236, 572, 1082, 0, 419, 1082, 246, - 0, 0, 0, 352, 704, 398, 0, 0, 0, 0, - 766, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1082, 0, 286, 0, 0, 0, 0, 0, -236, - 440, 51, 0, 0, 0, 1113, 1113, 1113, 1113, 1113, - -236, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, - 1113, 1113, 0, 0, 52, 52, 0, 0, 795, 0, - 0, 2403, 1082, 0, 842, 424, 444, 0, 446, 0, - 0, 0, 353, 0, 0, 0, 451, 0, 0, 0, - 0, 812, 1113, 0, 0, 0, 287, 287, 0, 0, - 0, 0, 0, 28, 28, 79, 417, 376, 347, 165, - 0, 0, 433, 359, 0, 435, 880, 442, 897, 2434, - 2474, 1082, 0, 933, 0, 382, 0, 0, 445, 0, - 2474, 458, 974, 1009, 448, 463, 469, 0, 0, 244, - 0, 0, 0, 0, 0, 402, 0, 0, 0, 2474, - 2474, 471, 2474, 474, 1036, 1082, 1082, 2474, 0, 0, - 0, 2474, 0, 2474, 2474, 477, 480, 484, 0, 0, - 0, 0, 2474, 2434, 2434, 0, 266, 0, 2434, 0, + protected static final short yySindex [] = { 1033, + 0, 0, 0, -231, 0, 0, 0, 0, 0, -209, + -209, -118, 0, 0, 0, 0, 0, 149, 0, 974, + 0, 0, 0, 125, 148, 122, 1088, 0, 1136, 974, + 0, 187, -100, 0, 0, 243, 208, 227, 233, -88, + 122, 0, 0, 1136, 188, 215, 1033, -231, -118, 0, + 0, 974, 1136, 27, -209, -209, 2396, 0, -94, -3, + 0, 32, 0, -39, 27, -209, 2426, 0, 15, 0, + 21, 0, 0, 0, -100, -88, 1136, 104, 0, 0, + 130, 0, 0, 0, 0, 275, 103, 378, 27, 0, + 179, 0, 275, 0, 135, 2457, 0, 0, 72, 373, + 387, 0, 40, 154, 1907, 0, 327, 0, 0, -3, + -209, 0, 0, 0, 0, 153, 0, 378, 0, 2487, + 0, 0, 0, 179, 407, 103, 1907, -209, 0, 122, + 0, 0, -94, -3, 0, 15, -209, 27, 0, 1964, + 0, 378, 135, -31, 0, 159, 103, 0, 154, 0, + 0, -209, 0, 0, 0, 183, 0, 0, 966, -17, + 378, 135, 158, 426, 103, 221, 135, 154, 327, 2022, + 0, 0, 0, 0, 0, 0, 103, 0, 190, 0, + 0, 0, -3, 0, 0, 0, 458, 0, 463, 469, + 459, 0, 470, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 824, 824, 0, 0, 60, 477, 0, 149, + 219, 183, 0, 2079, 0, 465, 186, 0, 0, 480, + -227, 0, 468, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, + 0, 0, 0, 183, 0, 280, 27, 0, 135, 135, + 472, 387, 0, 489, 0, 0, -209, 60, 824, 824, + 824, -227, 0, 0, 389, 471, 0, 28, 133, 497, + 445, 416, 238, 241, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, + 135, 103, 103, 0, 135, 282, 0, 511, 0, 2127, + 2183, 137, 0, -209, 503, 966, 0, 495, 966, 219, + 0, 0, 0, 399, 520, 477, 0, 0, 0, 0, + 583, 254, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 966, 0, 249, 0, 0, 0, 0, 0, -209, + 516, 31, 0, 0, 0, 824, 824, 824, 824, 824, + -209, 824, 824, 824, 824, 824, 824, 824, 824, 824, + 824, 824, 0, 0, 135, 135, 0, 0, 622, 0, + 0, 2231, 966, 0, 639, 498, 517, 0, 518, 0, + 0, 0, 405, 0, 0, 0, 524, 0, 0, 0, + 0, 729, 824, 0, 0, 0, 389, 389, 0, 0, + 0, 0, 0, 28, 28, 133, 497, 445, 416, 238, + 0, 0, 507, 413, 0, 508, 746, 509, 790, 2270, + 2309, 966, 0, 807, 0, 456, 0, 0, 510, 0, + 2309, 529, 853, 910, 519, 535, 536, 0, 0, 310, + 0, 0, 0, 0, 0, 457, 0, 0, 0, 2309, + 2309, 541, 2309, 543, 927, 966, 966, 2309, 0, 0, + 0, 2309, 0, 2309, 2309, 546, 547, 548, 0, 0, + 0, 0, 2309, 2270, 2270, 0, 323, 0, 2270, 0, }; protected static final short yyRindex [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 681, 0, 0, - 0, 0, 0, 2522, 2551, 0, 0, 0, 535, 0, - 0, -91, 0, 0, 0, 0, 0, 0, -87, 0, - 0, 0, 0, 536, 0, 0, 0, 0, 0, 0, - 0, 0, 545, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1239, 0, 0, + 0, 0, 0, 1587, 2367, 0, 0, 0, 592, 0, + 0, -96, 0, 0, 0, 0, 0, 0, -84, 0, + 0, 0, 0, 593, 0, 0, 0, 0, 0, 0, + 0, 0, 597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 546, -42, 0, 0, - 0, 0, 0, 0, 0, 2716, 0, -34, 0, 0, - 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, - 249, 0, -84, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 214, 0, 0, 0, -4, 0, 0, + 0, 0, 0, 0, 0, 0, 598, 170, 0, 0, + 0, 0, 0, 0, 0, 2515, 0, -23, 0, 0, + 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, + 335, 0, -89, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 314, 0, 0, 0, -38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 310, 13, 0, 0, 0, 0, 37, 0, 0, 0, + 35, 10, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 601, 0, 0, 0, 0, 0, 488, 0, 181, - 722, 0, 0, 0, 0, 0, 0, 0, 0, 1305, - 0, 0, 0, 0, 0, -50, -46, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, - 0, 0, 0, 0, 0, 0, 0, 0, 38, 39, - 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, - 0, 2061, 0, 0, 1946, 1781, 0, 5, 1869, 1389, - 1400, 1426, 1452, 1463, 0, 0, 0, 0, 0, 0, + 0, -29, 0, 0, 0, 0, 0, 542, 0, 173, + 681, 0, 0, 0, 0, 0, 0, 0, 0, 1019, + 0, 0, 0, 0, 0, -55, -34, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, + 0, 0, 0, 0, 0, 0, 0, 0, 39, 44, + 0, 544, 0, 52, 0, 0, 0, 0, 0, 0, + 0, 1997, 0, 0, 1723, 1618, 0, 5, 1629, 1122, + 1133, 1294, 1338, 1406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 0, 0, 45, 0, 0, -28, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1491, - 0, 0, 0, 0, 0, 490, 0, 0, 0, 0, + 58, 0, 0, 0, 82, 0, 0, -12, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1432, + 0, 0, 0, 0, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 76, 81, 0, 0, 0, 0, + 0, 0, 0, 0, 106, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1998, 2035, 0, 0, - 0, 0, 0, 1906, 1935, 1880, 1557, 1594, 1583, 1744, + 0, 0, 0, 0, 0, 0, 1852, 1909, 0, 0, + 0, 0, 0, 1713, 1768, 1684, 1490, 1527, 1516, 1575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2111, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1835, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 [] = { 507, - 0, 0, 2, 0, 436, 0, 406, 509, 510, 0, - 258, 0, -8, 0, 2837, 0, 465, 0, -3, -49, - 49, -127, 19, 0, 0, 61, 532, -10, 489, -129, - -44, 16, 4, 487, 0, 0, 308, -131, 0, 573, - 54, 14, -56, 0, -126, 0, 0, 0, 388, 233, - 59, 0, 0, 0, 0, -63, 0, 176, -167, 0, - 86, 75, 217, 218, 216, 221, 228, 0, 0, 256, + protected static final short yyGindex [] = { 558, + 0, 0, 84, 0, 486, 0, 77, 559, 563, 0, + 262, 0, 41, 0, 2633, 0, 512, 0, 36, 86, + 1, -116, 19, 0, 0, 69, 585, -10, 552, -134, + -50, 7, 12, 553, 0, 0, 359, -128, 0, 573, + 258, -1, -79, 0, -157, 0, 0, 0, 382, 285, + 92, 0, 0, 0, 0, -63, 0, -147, 128, 0, + 110, 115, 263, 277, 278, 276, 279, 0, 0, 311, 0, -151, 0, -45, -6, 55, 121, 0, 0, -176, - -180, 2546, -114, 0, 0, 0, 0, 0, 0, 0, - 0, 260, 53, -51, 455, 0, 0, 513, 0, 160, - 0, 0, 0, -301, 237, 157, 0, 492, 429, 0, + -194, 2374, -82, 0, 0, 0, 0, 0, 0, 0, + 0, 312, 351, -56, 504, 0, 0, 580, 0, 160, + 0, 0, 0, -196, 237, 356, 0, 549, 478, 0, 0, 0, 0, 0, 0, 0, }; protected static final short yyTable [] = { 36, - 38, 106, 107, 248, 115, 186, 74, 277, 205, 161, - 83, 84, 206, 242, 286, 251, 243, 250, 18, 106, - 107, 84, 253, 313, 161, 19, 161, 57, 207, 141, - 57, 30, 243, 318, 67, 28, 150, 145, 111, 308, - 50, 269, 269, 300, 18, 269, 269, 269, 269, 269, - 269, 269, 128, 99, 164, 19, 19, 128, 125, 18, - 32, 331, 110, 269, 14, 18, 84, 414, 120, 39, - 129, 113, 44, 18, 18, 103, 221, 135, 134, 243, - 43, 117, 53, 84, 18, 18, 19, 354, 41, 355, - 426, 393, 99, 156, 224, 130, 124, 112, 269, 251, - 163, 102, 121, 114, 77, 101, 221, 83, 157, 18, - 105, 125, 43, 349, 103, 350, 333, 57, 50, 318, - 127, 128, 446, 103, 224, 45, 173, 341, 269, 18, - 243, 67, 120, 225, 125, 113, 183, 185, 18, 115, - 50, 45, 18, 180, 101, 18, 18, 46, 18, 105, - 221, 160, 101, 376, 377, 18, 144, 379, 210, 130, - 124, 112, 18, 225, 296, 102, 121, 114, 224, 386, - 18, 41, 374, 127, 372, 55, 30, 373, 18, 66, - 28, 397, 398, 130, 18, 51, 56, 138, 210, 56, - 30, 318, 310, 310, 226, 2, 336, 252, 125, 3, - 51, 131, 246, 115, 256, 139, 243, 225, 316, 51, - 391, 6, 83, 54, 156, 64, 74, 63, 287, 399, - 13, 416, 65, 418, 226, 18, 13, 138, 147, 289, - 2, 2, 210, 51, 3, 3, 221, 221, 118, 62, - 2, 13, 72, 438, 3, 174, 6, 6, 310, 310, - 310, 140, 61, 73, 224, 224, 6, 244, 244, 16, - 227, 245, 245, 114, 384, 432, 19, 435, 226, 78, - 444, 74, 17, 202, 202, 18, 18, 251, 251, 250, - 250, 452, 454, 202, 113, 315, 156, 106, 107, 247, - 227, 62, 137, 225, 225, 83, 19, 438, 438, 238, - 351, 368, 438, 466, 467, 468, 269, 137, 221, 269, - 269, 269, 269, 269, 326, 327, 328, 329, 210, 210, - 142, 330, 18, 348, 124, 137, 224, 144, 346, 238, - 352, 353, 158, 347, 227, 310, 310, 310, 310, 310, - 152, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 18, 161, 226, 226, 221, 221, 18, 477, - 478, 159, 166, 335, 480, 225, 334, 221, 161, 18, - 161, 323, 324, 238, 224, 224, 240, 124, 311, 312, - 356, 170, 310, 357, 166, 224, 221, 221, 363, 221, - 210, 334, 380, 423, 221, 334, 422, 161, 221, 429, - 221, 221, 422, 178, 224, 224, 240, 224, 255, 221, - 221, 221, 224, 225, 225, 221, 224, 304, 224, 224, - 227, 227, 447, 290, 225, 422, 226, 224, 224, 224, - 404, 405, 302, 224, 343, 344, 345, 400, 401, 402, - 403, 156, 459, 225, 225, 422, 225, 305, 306, 309, - 240, 225, 319, 320, 358, 225, 322, 225, 225, 238, - 238, 325, 339, 340, 109, 112, 225, 225, 225, 359, - 360, 361, 225, 362, 226, 226, 369, 378, 387, 392, - 132, 74, 419, 2, 420, 226, 421, 3, 13, 13, - 424, 428, 227, 430, 13, 13, 13, 13, 450, 6, - 433, 13, 456, 448, 226, 226, 455, 226, 457, 2, - 458, 462, 226, 3, 464, 172, 226, 473, 226, 226, - 474, 394, 395, 396, 475, 6, 14, 226, 226, 226, - 241, 238, 479, 226, 1, 2, 240, 240, 182, 184, - 227, 227, 292, 2, 4, 3, 174, 3, 173, 288, - 133, 227, 14, 74, 294, 176, 75, 261, 76, 6, - 155, 52, 136, 133, 258, 342, 390, 259, 427, 260, - 227, 227, 26, 227, 406, 408, 407, 116, 227, 238, - 238, 409, 227, 307, 227, 227, 202, 388, 303, 410, - 238, 389, 188, 227, 227, 227, 169, 297, 47, 227, - 0, 0, 0, 0, 261, 0, 0, 0, 240, 238, - 238, 258, 238, 70, 259, 0, 260, 238, 0, 26, - 0, 238, 0, 238, 238, 0, 0, 0, 0, 104, - 375, 0, 238, 238, 238, 0, 337, 338, 238, 126, - 19, 161, 0, 0, 161, 0, 19, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 240, 240, 4, 161, - 19, 19, 0, 149, 5, 0, 0, 240, 104, 0, - 0, 7, 8, 9, 0, 11, 12, 168, 364, 13, - 0, 0, 367, 0, 0, 0, 240, 240, 0, 240, - 0, 19, 126, 0, 240, 0, 177, 0, 240, 179, - 240, 240, 181, 0, 0, 0, 0, 0, 0, 240, - 240, 240, 0, 0, 0, 240, 244, 74, 74, 0, - 74, 74, 74, 74, 74, 74, 74, 74, 0, 0, - 0, 0, 244, 0, 0, 0, 261, 0, 293, 74, - 0, 0, 74, 258, 381, 0, 259, 0, 260, 0, - 0, 0, 411, 412, 0, 0, 0, 0, 243, 243, - 0, 0, 243, 243, 243, 243, 243, 0, 243, 0, - 0, 74, 0, 0, 74, 0, 0, 0, 0, 244, - 243, 243, 218, 243, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 261, 257, - 0, 0, 0, 74, 74, 258, 0, 0, 259, 0, - 260, 192, 0, 0, 0, 243, 0, 194, 195, 196, - 197, 198, 199, 200, 201, 14, 0, 261, 0, 0, - 244, 0, 203, 204, 258, 413, 0, 259, 0, 260, - 0, 0, 0, 0, 261, 243, 257, 0, 0, 0, - 0, 258, 425, 0, 259, 0, 260, 0, 192, 0, - 0, 0, 0, 0, 194, 195, 196, 197, 198, 199, - 200, 201, 14, 0, 261, 0, 0, 0, 0, 203, - 204, 258, 0, 1, 259, 0, 260, 0, 140, 48, - 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, - 417, 19, 7, 8, 9, 0, 244, 49, 19, 19, - 13, 0, 261, 0, 19, 19, 19, 19, 0, 258, - 431, 19, 259, 0, 260, 0, 0, 0, 0, 261, - 0, 0, 0, 0, 0, 0, 258, 74, 74, 259, - 0, 260, 74, 74, 0, 0, 0, 0, 0, 74, - 0, 0, 0, 74, 74, 434, 74, 74, 74, 74, - 74, 74, 74, 0, 74, 261, 0, 0, 0, 0, - 0, 0, 258, 445, 0, 259, 0, 260, 257, 0, - 0, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 192, 0, 0, 0, 243, 0, 194, 195, 196, 197, - 198, 199, 200, 201, 14, 0, 261, 0, 0, 0, - 74, 203, 204, 258, 451, 0, 259, 0, 260, 0, - 0, 0, 0, 243, 243, 243, 243, 243, 243, 243, - 243, 0, 0, 0, 0, 218, 218, 218, 218, 0, - 257, 261, 218, 0, 0, 0, 0, 0, 258, 453, - 0, 259, 192, 260, 0, 0, 0, 0, 194, 195, - 196, 197, 198, 199, 200, 201, 14, 0, 261, 257, - 0, 0, 0, 203, 204, 258, 465, 0, 259, 0, - 260, 192, 0, 0, 0, 0, 257, 194, 195, 196, - 197, 198, 199, 200, 201, 14, 0, 0, 192, 0, - 0, 0, 203, 204, 194, 195, 196, 197, 198, 199, - 200, 201, 14, 0, 261, 0, 257, 0, 0, 203, - 204, 258, 0, 0, 259, 0, 260, 0, 192, 0, - 0, 0, 0, 0, 194, 195, 196, 197, 198, 199, - 200, 201, 14, 0, 0, 261, 0, 0, 0, 203, - 204, 0, 258, 0, 257, 259, 0, 260, 0, 0, - 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, - 0, 257, 194, 195, 196, 197, 198, 199, 200, 201, + 38, 74, 115, 206, 83, 84, 141, 277, 186, 242, + 19, 162, 300, 150, 162, 84, 19, 253, 18, 318, + 162, 19, 57, 286, 207, 50, 30, 243, 57, 162, + 19, 19, 145, 251, 67, 162, 19, 162, 28, 308, + 111, 270, 270, 243, 18, 270, 270, 270, 270, 270, + 270, 270, 19, 252, 129, 311, 312, 101, 128, 18, + 84, 19, 121, 270, 130, 18, 208, 19, 114, 32, + 110, 393, 117, 18, 18, 103, 221, 84, 162, 160, + 323, 324, 131, 131, 18, 18, 134, 354, 43, 355, + 243, 14, 99, 162, 224, 162, 101, 125, 270, 41, + 313, 83, 113, 50, 101, 318, 221, 125, 331, 18, + 103, 343, 344, 345, 103, 156, 122, 173, 129, 57, + 43, 45, 341, 103, 224, 50, 121, 333, 270, 18, + 157, 99, 114, 225, 180, 109, 112, 67, 18, 163, + 115, 243, 18, 372, 183, 18, 18, 131, 18, 252, + 221, 132, 129, 376, 377, 18, 256, 379, 210, 135, + 125, 125, 18, 225, 126, 116, 113, 55, 224, 386, + 18, 30, 414, 138, 103, 374, 144, 318, 18, 66, + 122, 56, 39, 28, 18, 30, 172, 56, 210, 164, + 336, 139, 310, 310, 226, 426, 138, 373, 394, 395, + 396, 156, 247, 296, 115, 391, 83, 225, 41, 182, + 184, 74, 13, 107, 174, 45, 289, 243, 13, 185, + 248, 416, 399, 418, 226, 18, 2, 446, 126, 116, + 3, 107, 210, 13, 251, 246, 221, 221, 46, 108, + 2, 384, 6, 438, 3, 427, 54, 316, 310, 310, + 310, 287, 245, 245, 224, 224, 6, 108, 315, 303, + 227, 114, 19, 74, 62, 432, 63, 435, 226, 202, + 444, 19, 64, 246, 246, 18, 18, 19, 19, 19, + 72, 452, 454, 202, 19, 19, 19, 19, 62, 83, + 227, 19, 65, 225, 225, 251, 251, 438, 438, 238, + 351, 61, 438, 466, 467, 468, 270, 73, 221, 270, + 270, 270, 270, 270, 105, 252, 252, 2, 210, 210, + 335, 3, 18, 334, 127, 156, 224, 78, 124, 238, + 352, 353, 113, 6, 227, 310, 310, 310, 310, 310, + 368, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 310, 310, 18, 105, 226, 226, 221, 221, 18, 16, + 202, 326, 327, 328, 329, 225, 166, 221, 330, 18, + 44, 137, 17, 238, 224, 224, 240, 127, 138, 2, + 53, 124, 310, 3, 51, 224, 221, 221, 166, 221, + 210, 477, 478, 86, 221, 6, 480, 140, 221, 51, + 221, 221, 77, 142, 224, 224, 240, 224, 51, 221, + 221, 221, 224, 225, 225, 221, 224, 144, 224, 224, + 227, 227, 14, 152, 225, 348, 226, 224, 224, 224, + 346, 158, 51, 224, 356, 347, 2, 357, 363, 380, + 3, 334, 334, 225, 225, 423, 225, 159, 422, 170, + 240, 225, 6, 429, 161, 225, 422, 225, 225, 238, + 238, 400, 401, 402, 403, 178, 225, 225, 225, 147, + 404, 405, 225, 74, 226, 226, 397, 398, 2, 118, + 13, 13, 3, 255, 290, 226, 13, 13, 13, 13, + 302, 261, 227, 13, 6, 304, 447, 459, 258, 422, + 422, 259, 305, 260, 226, 226, 2, 226, 306, 309, + 3, 292, 226, 349, 320, 350, 226, 307, 226, 226, + 156, 14, 6, 319, 241, 322, 325, 226, 226, 226, + 339, 238, 340, 226, 358, 261, 240, 240, 359, 360, + 227, 227, 258, 288, 361, 259, 362, 260, 294, 202, + 369, 227, 261, 378, 387, 392, 419, 420, 421, 258, + 381, 375, 259, 424, 260, 428, 430, 433, 448, 450, + 227, 227, 26, 227, 456, 457, 458, 455, 227, 238, + 238, 462, 227, 464, 227, 227, 473, 474, 475, 479, + 238, 1, 2, 227, 227, 227, 4, 3, 47, 227, + 175, 134, 86, 174, 74, 176, 75, 155, 240, 238, + 238, 76, 238, 70, 52, 261, 342, 238, 390, 26, + 406, 238, 258, 238, 238, 259, 133, 260, 136, 104, + 337, 338, 238, 238, 238, 407, 409, 408, 238, 126, + 410, 188, 388, 389, 116, 0, 297, 0, 0, 0, + 0, 0, 0, 169, 261, 0, 240, 240, 0, 0, + 0, 258, 413, 149, 259, 0, 260, 240, 104, 0, + 0, 261, 364, 0, 0, 0, 367, 168, 258, 0, + 0, 259, 0, 260, 0, 0, 240, 240, 0, 240, + 0, 0, 126, 0, 240, 0, 177, 417, 240, 179, + 240, 240, 181, 0, 0, 140, 0, 0, 0, 240, + 240, 240, 0, 0, 0, 240, 244, 244, 244, 0, + 0, 244, 244, 244, 244, 244, 0, 244, 0, 0, + 0, 0, 244, 257, 0, 0, 0, 0, 293, 244, + 244, 219, 244, 0, 0, 192, 411, 412, 0, 0, + 0, 194, 195, 196, 197, 198, 199, 200, 201, 14, + 0, 261, 0, 0, 0, 0, 203, 204, 258, 425, + 0, 259, 0, 260, 244, 0, 0, 257, 261, 244, + 0, 0, 0, 0, 0, 258, 431, 0, 259, 192, + 260, 0, 0, 0, 257, 194, 195, 196, 197, 198, + 199, 200, 201, 14, 244, 0, 192, 0, 0, 0, + 203, 204, 194, 195, 196, 197, 198, 199, 200, 201, + 14, 0, 261, 0, 0, 0, 0, 203, 204, 258, + 244, 0, 259, 0, 260, 0, 0, 0, 0, 261, + 0, 0, 0, 0, 0, 0, 258, 445, 434, 259, + 0, 260, 0, 0, 0, 0, 261, 257, 0, 0, + 0, 0, 0, 258, 0, 0, 259, 0, 260, 192, + 0, 0, 0, 0, 0, 194, 195, 196, 197, 198, + 199, 200, 201, 14, 0, 261, 0, 0, 0, 0, + 203, 204, 258, 451, 0, 259, 257, 260, 0, 0, + 0, 0, 0, 0, 0, 0, 244, 0, 192, 0, + 0, 0, 0, 257, 194, 195, 196, 197, 198, 199, + 200, 201, 14, 0, 0, 192, 0, 0, 0, 203, + 204, 194, 195, 196, 197, 198, 199, 200, 201, 14, + 0, 0, 261, 0, 0, 0, 203, 204, 0, 258, + 453, 0, 259, 244, 260, 0, 0, 0, 0, 261, + 0, 0, 0, 0, 0, 0, 258, 465, 0, 259, + 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 244, 244, 244, 244, 244, 244, 244, 244, + 0, 0, 0, 0, 219, 219, 219, 219, 261, 0, + 0, 219, 0, 257, 0, 258, 0, 0, 259, 0, + 260, 0, 0, 0, 0, 192, 0, 0, 0, 0, + 257, 194, 195, 196, 197, 198, 199, 200, 201, 14, + 0, 0, 192, 0, 0, 0, 203, 204, 194, 195, + 196, 197, 198, 199, 200, 201, 14, 0, 0, 0, + 0, 0, 0, 203, 204, 243, 243, 0, 0, 243, + 243, 243, 243, 243, 257, 243, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 192, 243, 243, 0, + 243, 257, 194, 195, 196, 197, 198, 199, 200, 201, 14, 0, 0, 192, 0, 0, 0, 203, 204, 194, 195, 196, 197, 198, 199, 200, 201, 14, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 257, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, - 0, 0, 0, 0, 0, 194, 195, 196, 197, 198, - 199, 200, 201, 14, 0, 0, 0, 1, 0, 0, - 203, 204, 0, 4, 0, 0, 0, 0, 257, 5, - 0, 0, 0, 0, 0, 0, 7, 8, 9, 0, - 192, 12, 0, 0, 13, 0, 194, 195, 196, 197, - 198, 199, 200, 201, 14, 0, 0, 0, 0, 0, - 0, 203, 204, 257, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, - 0, 194, 195, 196, 197, 198, 199, 200, 201, 14, - 257, 0, 0, 0, 0, 0, 203, 204, 0, 0, - 0, 0, 192, 0, 0, 0, 0, 0, 194, 195, + 192, 0, 243, 0, 203, 204, 194, 195, 196, 197, + 198, 199, 200, 201, 14, 0, 0, 257, 0, 0, + 0, 203, 204, 0, 0, 0, 0, 0, 0, 192, + 0, 0, 243, 0, 0, 194, 195, 196, 197, 198, + 199, 200, 201, 14, 0, 0, 0, 0, 257, 0, + 203, 204, 257, 257, 257, 257, 257, 257, 257, 248, + 248, 0, 0, 248, 248, 248, 248, 248, 248, 248, + 257, 257, 0, 257, 257, 0, 0, 0, 0, 0, + 0, 248, 248, 0, 248, 0, 192, 0, 0, 0, + 0, 257, 194, 195, 196, 197, 198, 199, 200, 201, + 14, 0, 0, 192, 0, 257, 0, 203, 204, 194, + 195, 196, 197, 198, 199, 200, 201, 14, 0, 0, + 1, 0, 0, 0, 203, 204, 4, 0, 0, 0, + 257, 0, 5, 0, 0, 257, 0, 0, 0, 7, + 8, 9, 192, 11, 12, 0, 248, 13, 194, 195, 196, 197, 198, 199, 200, 201, 14, 0, 0, 0, - 0, 242, 242, 203, 204, 242, 242, 242, 242, 242, - 0, 242, 0, 0, 0, 0, 257, 0, 0, 0, - 0, 0, 0, 242, 242, 0, 242, 0, 192, 0, - 0, 0, 0, 0, 194, 195, 196, 197, 198, 199, - 200, 201, 14, 0, 0, 0, 0, 0, 0, 203, - 204, 0, 0, 0, 0, 0, 0, 0, 242, 192, - 0, 0, 0, 0, 0, 194, 195, 196, 197, 198, - 199, 200, 201, 14, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 0, 0, 256, 0, 0, 242, 256, - 256, 256, 256, 256, 256, 256, 247, 247, 0, 0, - 247, 247, 247, 247, 247, 247, 247, 256, 256, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 247, 247, - 0, 247, 235, 235, 0, 0, 235, 235, 235, 235, - 235, 235, 235, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 235, 235, 0, 235, 210, 210, - 0, 0, 210, 210, 210, 210, 210, 210, 210, 199, - 199, 0, 0, 199, 199, 199, 199, 199, 199, 199, - 210, 210, 256, 210, 0, 0, 0, 0, 0, 235, - 0, 199, 199, 247, 199, 0, 0, 243, 243, 0, - 0, 243, 243, 243, 243, 243, 0, 243, 0, 0, - 0, 1, 2, 0, 0, 210, 3, 4, 0, 243, - 243, 0, 243, 5, 0, 0, 199, 0, 6, 0, - 7, 8, 9, 10, 11, 12, 0, 0, 13, 0, - 0, 0, 0, 0, 0, 210, 0, 242, 0, 0, - 0, 0, 0, 0, 243, 14, 199, 0, 0, 0, - 0, 0, 0, 257, 0, 0, 0, 257, 257, 257, - 257, 257, 257, 257, 0, 0, 242, 242, 242, 242, - 242, 242, 242, 242, 243, 257, 257, 0, 257, 236, - 236, 0, 0, 236, 236, 236, 236, 236, 236, 236, - 248, 248, 0, 0, 248, 248, 248, 248, 248, 248, - 248, 236, 236, 0, 236, 0, 0, 0, 0, 0, - 257, 0, 248, 248, 0, 248, 0, 0, 0, 0, - 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 247, 0, 0, 0, 236, 0, 0, 0, - 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 256, 256, 256, 256, 256, 256, 256, 256, 235, 0, - 0, 247, 247, 247, 247, 247, 247, 247, 247, 0, - 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, - 0, 0, 0, 0, 210, 0, 0, 235, 235, 235, - 235, 235, 235, 235, 235, 199, 0, 0, 0, 0, + 0, 0, 0, 203, 204, 74, 74, 0, 74, 74, + 74, 74, 74, 74, 74, 74, 0, 0, 0, 1, + 2, 243, 0, 0, 3, 4, 0, 74, 0, 0, + 74, 5, 0, 0, 0, 0, 6, 0, 7, 8, + 9, 10, 11, 12, 0, 0, 13, 0, 0, 0, + 243, 243, 243, 243, 243, 243, 243, 243, 0, 74, + 236, 236, 74, 14, 236, 236, 236, 236, 236, 236, + 236, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 48, 0, 236, 236, 0, 236, 5, 0, 0, 0, + 0, 74, 74, 7, 8, 9, 0, 0, 49, 0, + 0, 13, 0, 0, 211, 211, 0, 0, 211, 211, + 211, 211, 211, 211, 211, 0, 0, 236, 0, 0, + 0, 0, 1, 0, 257, 0, 211, 211, 4, 211, + 0, 0, 0, 0, 5, 248, 0, 0, 0, 0, + 0, 7, 8, 9, 0, 0, 12, 0, 0, 13, + 0, 0, 0, 257, 257, 257, 257, 257, 257, 257, + 257, 211, 0, 0, 248, 248, 248, 248, 248, 248, + 248, 248, 200, 200, 0, 0, 200, 200, 200, 200, + 200, 200, 200, 0, 0, 0, 0, 0, 0, 0, + 0, 211, 0, 0, 200, 200, 0, 200, 244, 244, + 0, 0, 244, 244, 244, 244, 244, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 210, 210, 210, 210, 210, 0, 210, - 210, 0, 0, 243, 199, 199, 199, 199, 0, 199, - 199, 199, 0, 0, 0, 0, 0, 0, 0, 0, - 211, 211, 0, 0, 211, 211, 211, 211, 211, 211, - 211, 0, 243, 243, 243, 243, 243, 243, 243, 243, - 0, 0, 211, 211, 0, 211, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 278, 278, 0, - 0, 278, 278, 0, 278, 0, 278, 278, 0, 257, - 0, 0, 0, 0, 0, 0, 0, 211, 0, 278, - 278, 0, 278, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 236, 0, 0, 257, 257, - 257, 257, 257, 257, 257, 257, 248, 211, 0, 0, - 0, 0, 0, 0, 278, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 236, 236, 236, 236, 236, 236, - 236, 236, 0, 0, 0, 248, 248, 248, 248, 248, - 248, 248, 248, 0, 278, 267, 267, 0, 0, 267, - 267, 267, 267, 267, 267, 267, 268, 268, 0, 0, - 268, 268, 268, 268, 268, 268, 268, 267, 267, 89, - 267, 0, 0, 0, 0, 0, 0, 0, 268, 268, - 0, 268, 270, 270, 0, 0, 270, 270, 270, 270, - 270, 270, 270, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 267, 0, 270, 0, 0, 0, 0, 0, - 0, 271, 271, 268, 0, 271, 271, 271, 271, 271, - 271, 271, 0, 279, 0, 0, 279, 0, 279, 279, - 279, 279, 267, 271, 90, 0, 0, 0, 0, 270, - 0, 0, 0, 268, 279, 279, 0, 279, 0, 0, - 0, 0, 0, 0, 0, 0, 211, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 271, 270, - 0, 0, 0, 0, 0, 280, 0, 0, 280, 279, - 280, 280, 280, 280, 0, 211, 211, 211, 211, 211, - 0, 211, 211, 278, 0, 0, 280, 280, 271, 280, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, - 0, 0, 281, 0, 0, 281, 0, 281, 281, 281, - 281, 0, 278, 278, 278, 278, 278, 278, 278, 278, - 0, 280, 0, 281, 281, 0, 281, 253, 253, 0, - 0, 253, 253, 253, 253, 253, 253, 253, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, - 253, 280, 253, 0, 0, 0, 1, 2, 281, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 5, 0, - 0, 267, 0, 6, 0, 7, 8, 9, 0, 0, - 164, 0, 268, 86, 253, 0, 0, 0, 281, 0, - 87, 0, 0, 0, 0, 0, 0, 0, 0, 164, - 88, 267, 267, 0, 267, 267, 267, 267, 0, 0, - 0, 0, 268, 268, 253, 268, 268, 268, 268, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, - 0, 0, 0, 0, 0, 0, 0, 270, 0, 0, - 270, 270, 270, 270, 270, 0, 0, 205, 279, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 164, 0, 164, 271, 0, 0, 271, - 271, 271, 271, 271, 0, 0, 207, 279, 279, 279, - 279, 279, 279, 279, 279, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, - 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 140, 0, 206, 0, 0, 0, 0, 0, 0, - 207, 0, 0, 0, 0, 0, 0, 0, 0, 280, - 280, 280, 280, 280, 280, 280, 280, 281, 0, 205, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, - 0, 299, 0, 253, 0, 0, 281, 281, 281, 281, - 281, 281, 281, 281, 0, 0, 0, 0, 0, 0, - 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 253, 253, 253, 253, 253, 253, 164, 205, - 0, 0, 164, 140, 0, 317, 0, 196, 0, 0, - 0, 164, 164, 0, 164, 0, 0, 0, 0, 0, - 0, 0, 0, 164, 0, 0, 0, 164, 207, 0, - 0, 0, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 0, 0, 0, 0, 2, 205, 164, 164, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 189, - 190, 0, 6, 140, 0, 370, 0, 0, 0, 0, - 0, 191, 207, 0, 0, 192, 0, 0, 0, 0, + 244, 244, 0, 244, 0, 74, 74, 0, 0, 200, + 74, 74, 0, 0, 0, 0, 0, 74, 0, 0, + 0, 74, 74, 0, 74, 74, 74, 74, 74, 74, + 74, 0, 74, 0, 0, 244, 258, 0, 0, 200, + 258, 258, 258, 258, 258, 258, 258, 0, 0, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 258, 258, + 0, 258, 237, 237, 0, 244, 237, 237, 237, 237, + 237, 237, 237, 249, 249, 0, 236, 249, 249, 249, + 249, 249, 249, 249, 237, 237, 0, 237, 0, 0, + 0, 0, 0, 258, 0, 249, 249, 0, 249, 0, + 0, 0, 0, 0, 0, 236, 236, 236, 236, 236, + 236, 236, 236, 0, 0, 0, 0, 0, 0, 237, + 211, 212, 212, 258, 0, 212, 212, 212, 212, 212, + 212, 212, 0, 0, 0, 0, 0, 0, 0, 0, + 134, 0, 0, 212, 212, 0, 212, 0, 0, 211, + 211, 211, 211, 211, 0, 211, 211, 0, 134, 0, + 249, 0, 0, 0, 279, 279, 0, 0, 279, 279, + 0, 279, 0, 279, 279, 268, 268, 0, 212, 268, + 268, 268, 268, 268, 268, 268, 279, 279, 200, 279, + 0, 0, 0, 0, 0, 0, 0, 268, 268, 0, + 268, 0, 0, 0, 0, 0, 0, 0, 212, 0, + 0, 0, 0, 0, 244, 0, 0, 200, 200, 200, + 200, 279, 200, 200, 200, 0, 0, 0, 0, 0, + 269, 269, 268, 0, 269, 269, 269, 269, 269, 269, + 269, 0, 0, 244, 244, 244, 244, 244, 244, 244, + 244, 279, 269, 269, 0, 269, 0, 0, 0, 271, + 271, 0, 268, 271, 271, 271, 271, 271, 271, 271, + 280, 0, 258, 280, 0, 280, 280, 280, 280, 0, + 0, 271, 0, 0, 0, 0, 0, 269, 0, 0, + 0, 280, 280, 0, 280, 0, 0, 0, 237, 0, + 0, 258, 258, 258, 258, 258, 258, 258, 258, 249, + 0, 0, 0, 0, 272, 272, 271, 269, 272, 272, + 272, 272, 272, 272, 272, 0, 280, 237, 237, 237, + 237, 237, 237, 237, 237, 0, 272, 0, 249, 249, + 249, 249, 249, 249, 249, 249, 271, 0, 0, 0, + 0, 0, 0, 134, 134, 0, 280, 212, 134, 134, + 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, + 134, 272, 134, 134, 134, 134, 134, 134, 0, 0, + 134, 0, 0, 0, 165, 0, 212, 212, 212, 212, + 212, 0, 212, 212, 0, 0, 0, 134, 0, 281, + 279, 272, 281, 165, 281, 281, 281, 281, 0, 0, + 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, + 281, 281, 0, 281, 0, 0, 0, 0, 0, 279, + 279, 279, 279, 279, 279, 279, 279, 0, 0, 0, + 0, 268, 268, 0, 268, 268, 268, 268, 0, 0, + 0, 0, 0, 0, 0, 281, 282, 0, 0, 282, + 0, 282, 282, 282, 282, 0, 269, 165, 0, 165, + 0, 0, 0, 0, 0, 0, 89, 282, 282, 0, + 282, 0, 0, 0, 0, 281, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 269, 269, 0, 269, + 269, 269, 269, 0, 0, 280, 0, 0, 0, 0, + 0, 0, 282, 207, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 271, 0, 0, 271, 271, 271, + 271, 271, 205, 0, 280, 280, 280, 280, 280, 280, + 280, 280, 282, 254, 254, 0, 0, 254, 254, 254, + 254, 254, 254, 254, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 254, 254, 0, 254, 0, + 0, 207, 0, 0, 0, 0, 0, 0, 0, 272, + 0, 0, 272, 272, 272, 272, 272, 0, 0, 0, + 205, 0, 0, 0, 0, 0, 140, 0, 206, 0, + 254, 0, 165, 0, 0, 0, 165, 0, 0, 0, + 0, 197, 0, 0, 0, 165, 165, 0, 165, 0, + 0, 0, 0, 0, 0, 0, 0, 165, 207, 0, + 254, 165, 0, 0, 281, 0, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 0, 205, 0, 0, + 0, 0, 165, 165, 140, 0, 299, 0, 0, 0, + 0, 0, 0, 281, 281, 281, 281, 281, 281, 281, + 281, 0, 0, 1, 2, 0, 207, 0, 3, 0, + 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, + 6, 282, 7, 8, 9, 205, 0, 0, 0, 0, + 13, 0, 0, 0, 0, 0, 0, 165, 0, 0, + 0, 140, 0, 317, 0, 0, 0, 118, 0, 0, + 282, 282, 282, 282, 282, 282, 282, 282, 0, 0, + 0, 2, 207, 0, 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 189, 190, 0, 6, 0, 0, + 0, 205, 0, 0, 0, 0, 191, 0, 0, 140, + 192, 370, 0, 0, 0, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 0, 0, 0, 0, 254, + 207, 203, 204, 0, 0, 0, 0, 0, 0, 2, + 0, 0, 0, 3, 0, 0, 0, 0, 0, 205, + 0, 0, 189, 190, 0, 6, 0, 0, 254, 254, + 254, 254, 254, 254, 191, 140, 0, 371, 298, 207, + 0, 0, 0, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 0, 0, 0, 0, 0, 205, 203, + 204, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 207, 189, + 190, 0, 6, 140, 0, 415, 0, 0, 0, 0, + 0, 191, 0, 0, 0, 192, 0, 205, 0, 0, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 0, 205, 0, 0, 2, 0, 203, 204, 3, 0, - 0, 0, 0, 207, 0, 0, 0, 189, 190, 0, - 6, 140, 0, 371, 0, 0, 0, 0, 0, 191, - 0, 0, 205, 298, 0, 0, 0, 0, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 2, 0, - 0, 0, 3, 207, 203, 204, 0, 0, 0, 0, - 0, 189, 190, 0, 6, 140, 0, 415, 0, 0, - 0, 0, 205, 191, 0, 0, 0, 192, 0, 0, - 0, 0, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 0, 0, 0, 0, 140, 0, 203, 204, - 0, 0, 0, 0, 0, 133, 0, 0, 2, 0, - 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 190, 133, 6, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 135, 0, 140, 192, 0, 0, - 0, 0, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 135, 0, 0, 0, 2, 0, 203, 204, - 3, 0, 0, 89, 0, 0, 0, 0, 0, 189, - 190, 0, 6, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 0, 0, 0, 192, 0, 0, 0, 0, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 2, 0, 0, 0, 3, 0, 203, 204, 0, 0, - 89, 0, 0, 189, 190, 0, 6, 0, 0, 0, - 0, 0, 0, 0, 0, 191, 0, 0, 119, 192, + 0, 0, 0, 0, 2, 0, 203, 204, 3, 0, + 0, 0, 140, 0, 0, 0, 0, 189, 190, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 191, + 136, 0, 0, 192, 0, 0, 0, 0, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 136, 0, + 0, 140, 0, 0, 203, 204, 0, 0, 0, 0, + 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 189, 190, 89, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 191, 0, 0, 0, 192, 0, 0, 0, 0, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 189, 436, 0, 0, 0, 0, - 203, 204, 89, 0, 0, 0, 191, 0, 0, 0, - 192, 0, 0, 0, 0, 437, 194, 195, 196, 197, - 198, 199, 200, 201, 14, 154, 0, 0, 0, 0, - 89, 203, 204, 0, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, - 192, 0, 0, 0, 0, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 14, 61, 0, 175, 133, 133, - 0, 203, 204, 133, 133, 0, 0, 0, 0, 0, - 133, 0, 0, 0, 0, 133, 0, 133, 133, 133, - 133, 133, 133, 0, 0, 133, 0, 135, 135, 0, - 0, 0, 135, 135, 0, 0, 0, 0, 0, 135, - 1, 2, 133, 0, 135, 3, 135, 135, 135, 135, - 135, 135, 5, 0, 135, 0, 0, 6, 0, 7, - 8, 9, 0, 0, 0, 0, 0, 13, 0, 0, - 0, 135, 0, 0, 87, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 118, 0, 0, 1, 2, 0, - 0, 0, 3, 0, 0, 0, 0, 0, 0, 5, - 0, 0, 0, 0, 6, 0, 7, 8, 9, 0, - 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, - 0, 87, 0, 0, 0, 0, 0, 0, 0, 1, - 2, 88, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 5, 0, 143, 0, 0, 6, 148, 7, 8, - 9, 0, 0, 0, 0, 0, 13, 1, 2, 0, - 162, 167, 3, 87, 0, 0, 0, 0, 0, 5, - 0, 0, 0, 118, 6, 0, 7, 8, 9, 0, - 148, 0, 162, 167, 13, 439, 443, 0, 0, 0, - 0, 165, 61, 61, 0, 0, 449, 61, 0, 0, - 0, 118, 0, 249, 61, 250, 0, 0, 0, 61, - 0, 61, 61, 61, 0, 460, 461, 0, 463, 61, - 0, 291, 0, 469, 295, 0, 61, 470, 0, 471, - 472, 0, 0, 250, 0, 295, 61, 0, 476, 439, - 443, 0, 0, 0, 469, 0, 0, 0, 0, 0, + 199, 200, 201, 202, 0, 89, 0, 0, 2, 0, + 203, 204, 3, 0, 0, 0, 0, 0, 0, 0, + 0, 189, 190, 0, 6, 0, 0, 0, 0, 0, + 0, 0, 0, 191, 0, 0, 89, 192, 0, 0, + 90, 0, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 0, 0, 0, 0, 0, 0, 203, 204, + 189, 436, 0, 0, 0, 0, 89, 0, 0, 0, + 119, 0, 191, 0, 0, 0, 192, 0, 0, 0, + 0, 437, 194, 195, 196, 197, 198, 199, 200, 201, + 14, 0, 0, 0, 61, 0, 0, 203, 204, 189, + 190, 154, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 191, 0, 0, 0, 192, 0, 0, 0, 0, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 14, + 0, 175, 0, 0, 0, 0, 203, 204, 0, 0, + 0, 0, 0, 136, 136, 0, 0, 0, 136, 136, + 0, 0, 0, 0, 0, 136, 0, 0, 0, 0, + 136, 0, 136, 136, 136, 136, 136, 136, 0, 0, + 136, 0, 1, 2, 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 136, 0, 6, + 0, 7, 8, 9, 0, 0, 0, 0, 0, 86, + 0, 0, 1, 2, 0, 0, 87, 3, 0, 0, + 0, 0, 0, 0, 5, 0, 88, 0, 0, 6, + 0, 7, 8, 9, 0, 0, 0, 0, 0, 13, + 0, 0, 0, 1, 2, 0, 87, 0, 3, 143, + 0, 0, 0, 148, 0, 5, 118, 0, 0, 0, + 6, 0, 7, 8, 9, 0, 162, 167, 0, 0, + 86, 0, 0, 1, 2, 0, 0, 87, 3, 0, + 0, 0, 0, 0, 0, 5, 148, 88, 162, 167, + 6, 0, 7, 8, 9, 0, 0, 0, 0, 0, + 13, 61, 61, 0, 0, 0, 61, 87, 0, 249, + 0, 250, 0, 61, 0, 0, 0, 118, 61, 0, + 61, 61, 61, 439, 443, 0, 0, 291, 61, 0, + 295, 0, 0, 0, 449, 61, 0, 0, 0, 250, + 0, 295, 0, 0, 0, 61, 0, 0, 0, 0, + 0, 0, 0, 460, 461, 0, 463, 0, 0, 0, + 0, 469, 0, 0, 0, 470, 0, 471, 472, 0, + 0, 0, 0, 0, 0, 0, 476, 439, 443, 0, + 0, 0, 469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 365, 366, + 0, 0, 0, 0, 365, 366, }; - protected short yyCheck[] = new short[3131]; + protected short yyCheck[] = new short[2927]; } class yyCheck0 { protected static final short yyCheck0 [] = { 10, - 11, 44, 44, 44, 42, 137, 91, 159, 59, 44, - 55, 56, 59, 41, 41, 46, 144, 46, 0, 62, - 62, 66, 152, 41, 59, 60, 61, 123, 59, 86, - 123, 123, 160, 214, 123, 123, 93, 89, 44, 191, - 27, 37, 38, 170, 26, 41, 42, 43, 44, 45, - 46, 47, 44, 57, 104, 60, 91, 59, 67, 41, - 301, 61, 59, 59, 301, 47, 111, 369, 59, 301, - 69, 59, 20, 55, 56, 57, 140, 76, 75, 207, - 20, 66, 30, 128, 66, 67, 91, 60, 60, 62, - 392, 41, 96, 44, 140, 59, 59, 59, 94, 149, - 104, 59, 59, 59, 52, 57, 170, 152, 59, 91, - 57, 120, 52, 43, 96, 45, 244, 123, 105, 300, - 67, 123, 424, 105, 170, 91, 111, 257, 124, 111, - 258, 123, 123, 140, 59, 123, 133, 136, 120, 59, - 127, 91, 124, 128, 96, 127, 128, 91, 130, 96, - 214, 40, 104, 305, 306, 137, 40, 309, 140, 123, - 123, 123, 144, 170, 168, 123, 123, 123, 214, 321, - 152, 60, 304, 120, 301, 268, 268, 61, 160, 268, - 268, 349, 350, 44, 166, 29, 282, 44, 170, 282, - 282, 372, 203, 204, 140, 258, 248, 149, 123, 262, - 44, 62, 144, 123, 156, 62, 334, 214, 212, 53, - 340, 274, 257, 60, 44, 46, 301, 59, 160, 351, - 40, 373, 60, 375, 170, 207, 46, 44, 291, 59, - 258, 258, 214, 77, 262, 262, 300, 301, 301, 46, - 258, 61, 93, 420, 262, 62, 274, 274, 259, 260, - 261, 123, 59, 93, 300, 301, 274, 308, 309, 46, - 140, 308, 309, 301, 321, 417, 301, 419, 214, 301, - 422, 91, 59, 301, 301, 257, 258, 308, 309, 308, - 309, 433, 434, 301, 301, 40, 44, 330, 330, 330, - 170, 46, 44, 300, 301, 340, 301, 474, 475, 140, - 273, 59, 479, 455, 456, 457, 302, 59, 372, 305, - 306, 307, 308, 309, 314, 315, 316, 317, 300, 301, - 301, 321, 304, 37, 67, 268, 372, 40, 42, 170, - 303, 304, 59, 47, 214, 346, 347, 348, 349, 350, - 289, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 334, 44, 300, 301, 420, 421, 340, 474, - 475, 61, 105, 41, 479, 372, 44, 431, 59, 351, - 61, 308, 309, 214, 420, 421, 140, 120, 203, 204, - 302, 123, 393, 305, 127, 431, 450, 451, 41, 453, - 372, 44, 41, 41, 458, 44, 44, 301, 462, 41, - 464, 465, 44, 59, 450, 451, 170, 453, 301, 473, - 474, 475, 458, 420, 421, 479, 462, 38, 464, 465, - 300, 301, 41, 59, 431, 44, 372, 473, 474, 475, - 356, 357, 301, 479, 259, 260, 261, 352, 353, 354, - 355, 44, 41, 450, 451, 44, 453, 40, 40, 40, - 214, 458, 59, 329, 38, 462, 46, 464, 465, 300, - 301, 59, 59, 44, 59, 60, 473, 474, 475, 94, - 124, 307, 479, 306, 420, 421, 40, 59, 301, 40, - 75, 301, 59, 258, 41, 431, 41, 262, 308, 309, - 40, 59, 372, 59, 314, 315, 316, 317, 41, 274, - 59, 321, 40, 59, 450, 451, 59, 453, 40, 258, - 267, 41, 458, 262, 41, 110, 462, 41, 464, 465, - 41, 346, 347, 348, 41, 274, 301, 473, 474, 475, - 143, 372, 267, 479, 0, 0, 300, 301, 133, 134, - 420, 421, 291, 258, 0, 0, 59, 262, 59, 162, - 301, 431, 301, 47, 167, 120, 48, 33, 49, 274, - 96, 30, 76, 75, 40, 258, 334, 43, 393, 45, - 450, 451, 0, 453, 358, 360, 359, 65, 458, 420, - 421, 361, 462, 59, 464, 465, 301, 332, 183, 362, - 431, 332, 138, 473, 474, 475, 105, 169, 26, 479, - -1, -1, -1, -1, 33, -1, -1, -1, 372, 450, - 451, 40, 453, 41, 43, -1, 45, 458, -1, 47, - -1, 462, -1, 464, 465, -1, -1, -1, -1, 57, - 59, -1, 473, 474, 475, -1, 249, 250, 479, 67, - 40, 41, -1, -1, 44, -1, 46, -1, -1, -1, - -1, -1, 257, -1, -1, -1, 420, 421, 263, 59, - 60, 61, -1, 91, 269, -1, -1, 431, 96, -1, - -1, 276, 277, 278, -1, 280, 281, 105, 291, 284, - -1, -1, 295, -1, -1, -1, 450, 451, -1, 453, - -1, 91, 120, -1, 458, -1, 124, -1, 462, 127, - 464, 465, 130, -1, -1, -1, -1, -1, -1, 473, + 11, 91, 42, 59, 55, 56, 86, 159, 137, 41, + 40, 41, 170, 93, 44, 66, 46, 152, 0, 214, + 44, 60, 123, 41, 59, 27, 123, 144, 123, 59, + 60, 61, 89, 46, 123, 59, 60, 61, 123, 191, + 44, 37, 38, 160, 26, 41, 42, 43, 44, 45, + 46, 47, 91, 46, 59, 203, 204, 57, 44, 41, + 111, 91, 59, 59, 44, 47, 59, 91, 59, 301, + 59, 41, 66, 55, 56, 57, 140, 128, 44, 40, + 308, 309, 62, 59, 66, 67, 75, 60, 20, 62, + 207, 301, 57, 59, 140, 61, 96, 59, 94, 60, + 41, 152, 59, 105, 104, 300, 170, 67, 61, 91, + 59, 259, 260, 261, 96, 44, 59, 111, 123, 123, + 52, 91, 257, 105, 170, 127, 123, 244, 124, 111, + 59, 96, 123, 140, 128, 59, 60, 123, 120, 104, + 59, 258, 124, 301, 133, 127, 128, 123, 130, 149, + 214, 75, 69, 305, 306, 137, 156, 309, 140, 76, + 120, 123, 144, 170, 59, 59, 123, 268, 214, 321, + 152, 268, 369, 44, 123, 304, 40, 372, 160, 268, + 123, 282, 301, 268, 166, 282, 110, 282, 170, 104, + 247, 62, 203, 204, 140, 392, 44, 61, 346, 347, + 348, 44, 44, 168, 123, 340, 257, 214, 60, 133, + 134, 301, 40, 44, 62, 91, 59, 334, 46, 136, + 62, 373, 351, 375, 170, 207, 258, 424, 123, 123, + 262, 62, 214, 61, 149, 144, 300, 301, 91, 44, + 258, 321, 274, 420, 262, 393, 60, 212, 259, 260, + 261, 160, 308, 309, 300, 301, 274, 62, 40, 183, + 140, 301, 301, 91, 46, 417, 59, 419, 214, 301, + 422, 301, 46, 308, 309, 257, 258, 301, 308, 309, + 93, 433, 434, 301, 314, 315, 316, 317, 46, 340, + 170, 321, 60, 300, 301, 308, 309, 474, 475, 140, + 273, 59, 479, 455, 456, 457, 302, 93, 372, 305, + 306, 307, 308, 309, 57, 308, 309, 258, 300, 301, + 41, 262, 304, 44, 67, 44, 372, 301, 67, 170, + 303, 304, 301, 274, 214, 346, 347, 348, 349, 350, + 59, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, 362, 334, 96, 300, 301, 420, 421, 340, 46, + 301, 314, 315, 316, 317, 372, 105, 431, 321, 351, + 20, 268, 59, 214, 420, 421, 140, 120, 44, 258, + 30, 120, 393, 262, 29, 431, 450, 451, 127, 453, + 372, 474, 475, 59, 458, 274, 479, 123, 462, 44, + 464, 465, 52, 301, 450, 451, 170, 453, 53, 473, + 474, 475, 458, 420, 421, 479, 462, 40, 464, 465, + 300, 301, 301, 289, 431, 37, 372, 473, 474, 475, + 42, 59, 77, 479, 302, 47, 258, 305, 41, 41, + 262, 44, 44, 450, 451, 41, 453, 61, 44, 123, + 214, 458, 274, 41, 301, 462, 44, 464, 465, 300, + 301, 352, 353, 354, 355, 59, 473, 474, 475, 291, + 356, 357, 479, 301, 420, 421, 349, 350, 258, 301, + 308, 309, 262, 301, 59, 431, 314, 315, 316, 317, + 301, 33, 372, 321, 274, 38, 41, 41, 40, 44, + 44, 43, 40, 45, 450, 451, 258, 453, 40, 40, + 262, 291, 458, 43, 329, 45, 462, 59, 464, 465, + 44, 301, 274, 59, 143, 46, 59, 473, 474, 475, + 59, 372, 44, 479, 38, 33, 300, 301, 94, 124, + 420, 421, 40, 162, 307, 43, 306, 45, 167, 301, + 40, 431, 33, 59, 301, 40, 59, 41, 41, 40, + 41, 59, 43, 40, 45, 59, 59, 59, 59, 41, + 450, 451, 0, 453, 40, 40, 267, 59, 458, 420, + 421, 41, 462, 41, 464, 465, 41, 41, 41, 267, + 431, 0, 0, 473, 474, 475, 0, 0, 26, 479, + 59, 301, 59, 59, 47, 120, 48, 96, 372, 450, + 451, 49, 453, 41, 30, 33, 258, 458, 334, 47, + 358, 462, 40, 464, 465, 43, 75, 45, 76, 57, + 249, 250, 473, 474, 475, 359, 361, 360, 479, 67, + 362, 138, 332, 332, 65, -1, 169, -1, -1, -1, + -1, -1, -1, 105, 33, -1, 420, 421, -1, -1, + -1, 40, 41, 91, 43, -1, 45, 431, 96, -1, + -1, 33, 291, -1, -1, -1, 295, 105, 40, -1, + -1, 43, -1, 45, -1, -1, 450, 451, -1, 453, + -1, -1, 120, -1, 458, -1, 124, 59, 462, 127, + 464, 465, 130, -1, -1, 123, -1, -1, -1, 473, 474, 475, -1, -1, -1, 479, 144, 37, 38, -1, - 40, 41, 42, 43, 44, 45, 46, 47, -1, -1, - -1, -1, 160, -1, -1, -1, 33, -1, 166, 59, - -1, -1, 62, 40, 41, -1, 43, -1, 45, -1, - -1, -1, 365, 366, -1, -1, -1, -1, 37, 38, - -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, - -1, 91, -1, -1, 94, -1, -1, -1, -1, 207, - 59, 60, 61, 62, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 33, 275, - -1, -1, -1, 123, 124, 40, -1, -1, 43, -1, - 45, 287, -1, -1, -1, 94, -1, 293, 294, 295, - 296, 297, 298, 299, 300, 301, -1, 33, -1, -1, - 258, -1, 308, 309, 40, 41, -1, 43, -1, 45, - -1, -1, -1, -1, 33, 124, 275, -1, -1, -1, - -1, 40, 41, -1, 43, -1, 45, -1, 287, -1, - -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, 33, -1, -1, -1, -1, 308, - 309, 40, -1, 257, 43, -1, 45, -1, 123, 263, - -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, - 59, 301, 276, 277, 278, -1, 334, 281, 308, 309, - 284, -1, 33, -1, 314, 315, 316, 317, -1, 40, - 41, 321, 43, -1, 45, -1, -1, -1, -1, 33, - -1, -1, -1, -1, -1, -1, 40, 257, 258, 43, - -1, 45, 262, 263, -1, -1, -1, -1, -1, 269, - -1, -1, -1, 273, 274, 59, 276, 277, 278, 279, - 280, 281, 282, -1, 284, 33, -1, -1, -1, -1, - -1, -1, 40, 41, -1, 43, -1, 45, 275, -1, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 287, -1, -1, -1, 273, -1, 293, 294, 295, 296, + -1, 41, 42, 43, 44, 45, -1, 47, -1, -1, + -1, -1, 160, 275, -1, -1, -1, -1, 166, 59, + 60, 61, 62, -1, -1, 287, 365, 366, -1, -1, + -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, 33, -1, -1, -1, -1, 308, 309, 40, 41, + -1, 43, -1, 45, 94, -1, -1, 275, 33, 207, + -1, -1, -1, -1, -1, 40, 41, -1, 43, 287, + 45, -1, -1, -1, 275, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 124, -1, 287, -1, -1, -1, + 308, 309, 293, 294, 295, 296, 297, 298, 299, 300, + 301, -1, 33, -1, -1, -1, -1, 308, 309, 40, + 258, -1, 43, -1, 45, -1, -1, -1, -1, 33, + -1, -1, -1, -1, -1, -1, 40, 41, 59, 43, + -1, 45, -1, -1, -1, -1, 33, 275, -1, -1, + -1, -1, -1, 40, -1, -1, 43, -1, 45, 287, + -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, 33, -1, -1, -1, -1, + 308, 309, 40, 41, -1, 43, 275, 45, -1, -1, + -1, -1, -1, -1, -1, -1, 334, -1, 287, -1, + -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, 287, -1, -1, -1, 308, + 309, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, 33, -1, -1, -1, 308, 309, -1, 40, + 41, -1, 43, 273, 45, -1, -1, -1, -1, 33, + -1, -1, -1, -1, -1, -1, 40, 41, -1, 43, + -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 302, 303, 304, 305, 306, 307, 308, 309, + -1, -1, -1, -1, 314, 315, 316, 317, 33, -1, }; } class yyCheck1 { - protected static final short yyCheck1 [] = { 297, - 298, 299, 300, 301, -1, 33, -1, -1, -1, 330, - 308, 309, 40, 41, -1, 43, -1, 45, -1, -1, - -1, -1, 302, 303, 304, 305, 306, 307, 308, 309, - -1, -1, -1, -1, 314, 315, 316, 317, -1, 275, - 33, 321, -1, -1, -1, -1, -1, 40, 41, -1, - 43, 287, 45, -1, -1, -1, -1, 293, 294, 295, - 296, 297, 298, 299, 300, 301, -1, 33, 275, -1, - -1, -1, 308, 309, 40, 41, -1, 43, -1, 45, - 287, -1, -1, -1, -1, 275, 293, 294, 295, 296, - 297, 298, 299, 300, 301, -1, -1, 287, -1, -1, - -1, 308, 309, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, 33, -1, 275, -1, -1, 308, 309, - 40, -1, -1, 43, -1, 45, -1, 287, -1, -1, - -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, -1, 33, -1, -1, -1, 308, 309, - -1, 40, -1, 275, 43, -1, 45, -1, -1, -1, - -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, + protected static final short yyCheck1 [] = { -1, + 321, -1, 275, -1, 40, -1, -1, 43, -1, 45, + -1, -1, -1, -1, 287, -1, -1, -1, -1, 275, + 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, + -1, 287, -1, -1, -1, 308, 309, 293, 294, 295, + 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, + -1, -1, 308, 309, 37, 38, -1, -1, 41, 42, + 43, 44, 45, 275, 47, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 287, 59, 60, -1, 62, 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, 287, -1, -1, -1, 308, 309, 293, 294, - 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, - -1, -1, -1, 308, 309, -1, 275, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 287, -1, - -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, - 299, 300, 301, -1, -1, -1, 257, -1, -1, 308, - 309, -1, 263, -1, -1, -1, -1, 275, 269, -1, - -1, -1, -1, -1, -1, 276, 277, 278, -1, 287, - 281, -1, -1, 284, -1, 293, 294, 295, 296, 297, - 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, - 308, 309, 275, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 275, - -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, - -1, 287, -1, -1, -1, -1, -1, 293, 294, 295, - 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, - 37, 38, 308, 309, 41, 42, 43, 44, 45, -1, - 47, -1, -1, -1, -1, 275, -1, -1, -1, -1, - -1, -1, 59, 60, -1, 62, -1, 287, -1, -1, - -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, - 300, 301, -1, -1, -1, -1, -1, -1, 308, 309, - -1, -1, -1, -1, -1, -1, -1, 94, 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, 37, -1, -1, 124, 41, 42, - 43, 44, 45, 46, 47, 37, 38, -1, -1, 41, - 42, 43, 44, 45, 46, 47, 59, 60, -1, 62, - -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, - 62, 37, 38, -1, -1, 41, 42, 43, 44, 45, - 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 94, -1, 59, 60, -1, 62, 37, 38, -1, - -1, 41, 42, 43, 44, 45, 46, 47, 37, 38, + 295, 296, 297, 298, 299, 300, 301, -1, -1, 287, + -1, 94, -1, 308, 309, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, -1, 275, -1, -1, -1, + 308, 309, -1, -1, -1, -1, -1, -1, 287, -1, + -1, 124, -1, -1, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, -1, -1, 37, -1, 308, + 309, 41, 42, 43, 44, 45, 46, 47, 37, 38, -1, -1, 41, 42, 43, 44, 45, 46, 47, 59, - 60, 124, 62, -1, -1, -1, -1, -1, 94, -1, - 59, 60, 124, 62, -1, -1, 37, 38, -1, -1, - 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, - 257, 258, -1, -1, 94, 262, 263, -1, 59, 60, - -1, 62, 269, -1, -1, 94, -1, 274, -1, 276, - 277, 278, 279, 280, 281, -1, -1, 284, -1, -1, - -1, -1, -1, -1, 124, -1, 273, -1, -1, -1, - -1, -1, -1, 94, 301, 124, -1, -1, -1, -1, - -1, -1, 37, -1, -1, -1, 41, 42, 43, 44, - 45, 46, 47, -1, -1, 302, 303, 304, 305, 306, - 307, 308, 309, 124, 59, 60, -1, 62, 37, 38, - -1, -1, 41, 42, 43, 44, 45, 46, 47, 37, - 38, -1, -1, 41, 42, 43, 44, 45, 46, 47, - 59, 60, -1, 62, -1, -1, -1, -1, -1, 94, - -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, - 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 273, -1, -1, -1, 94, -1, -1, -1, 124, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 302, - 303, 304, 305, 306, 307, 308, 309, 273, -1, -1, - 302, 303, 304, 305, 306, 307, 308, 309, -1, -1, - -1, -1, -1, -1, -1, -1, 124, -1, -1, -1, - -1, -1, -1, 273, -1, -1, 302, 303, 304, 305, - 306, 307, 308, 309, 273, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, - -1, -1, 273, 302, 303, 304, 305, -1, 307, 308, - 309, -1, -1, -1, -1, -1, -1, -1, -1, 37, - 38, -1, -1, 41, 42, 43, 44, 45, 46, 47, - -1, 302, 303, 304, 305, 306, 307, 308, 309, -1, - -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, - 41, 42, -1, 44, -1, 46, 47, -1, 273, -1, - -1, -1, -1, -1, -1, -1, 94, -1, 59, 60, - -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 273, -1, -1, 302, 303, 304, - 305, 306, 307, 308, 309, 273, 124, -1, -1, -1, - -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 302, 303, 304, 305, 306, 307, 308, - 309, -1, -1, -1, 302, 303, 304, 305, 306, 307, - 308, 309, -1, 124, 37, 38, -1, -1, 41, 42, - 43, 44, 45, 46, 47, 37, 38, -1, -1, 41, - 42, 43, 44, 45, 46, 47, 59, 60, 60, 62, - -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, - 62, 37, 38, -1, -1, 41, 42, 43, 44, 45, + 60, -1, 62, 275, -1, -1, -1, -1, -1, -1, + 59, 60, -1, 62, -1, 287, -1, -1, -1, -1, + 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, 287, -1, 94, -1, 308, 309, 293, 294, + 295, 296, 297, 298, 299, 300, 301, -1, -1, 257, + -1, -1, -1, 308, 309, 263, -1, -1, -1, 275, + -1, 269, -1, -1, 124, -1, -1, -1, 276, 277, + 278, 287, 280, 281, -1, 124, 284, 293, 294, 295, + 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, + -1, -1, 308, 309, 37, 38, -1, 40, 41, 42, + 43, 44, 45, 46, 47, -1, -1, -1, 257, 258, + 273, -1, -1, 262, 263, -1, 59, -1, -1, 62, + 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, + 279, 280, 281, -1, -1, 284, -1, -1, -1, 302, + 303, 304, 305, 306, 307, 308, 309, -1, 91, 37, + 38, 94, 301, 41, 42, 43, 44, 45, 46, 47, + -1, -1, -1, 257, -1, -1, -1, -1, -1, 263, + -1, 59, 60, -1, 62, 269, -1, -1, -1, -1, + 123, 124, 276, 277, 278, -1, -1, 281, -1, -1, + 284, -1, -1, 37, 38, -1, -1, 41, 42, 43, + 44, 45, 46, 47, -1, -1, 94, -1, -1, -1, + -1, 257, -1, 273, -1, 59, 60, 263, 62, -1, + -1, -1, -1, 269, 273, -1, -1, -1, -1, -1, + 276, 277, 278, -1, -1, 281, -1, -1, 284, -1, + -1, -1, 302, 303, 304, 305, 306, 307, 308, 309, + 94, -1, -1, 302, 303, 304, 305, 306, 307, 308, + 309, 37, 38, -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 94, -1, 59, -1, -1, -1, -1, -1, -1, - 37, 38, 94, -1, 41, 42, 43, 44, 45, 46, - 47, -1, 38, -1, -1, 41, -1, 43, 44, 45, - 46, 124, 59, 125, -1, -1, -1, -1, 94, -1, + 124, -1, -1, 59, 60, -1, 62, 37, 38, -1, + -1, 41, 42, 43, 44, 45, -1, 47, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + 60, -1, 62, -1, 257, 258, -1, -1, 94, 262, + 263, -1, -1, -1, -1, -1, 269, -1, -1, -1, + 273, 274, -1, 276, 277, 278, 279, 280, 281, 282, + -1, 284, -1, -1, 94, 37, -1, -1, 124, 41, + 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 59, 60, -1, + 62, 37, 38, -1, 124, 41, 42, 43, 44, 45, + 46, 47, 37, 38, -1, 273, 41, 42, 43, 44, + 45, 46, 47, 59, 60, -1, 62, -1, -1, -1, + -1, -1, 94, -1, 59, 60, -1, 62, -1, -1, + -1, -1, -1, -1, 302, 303, 304, 305, 306, 307, + 308, 309, -1, -1, -1, -1, -1, -1, 94, 273, + 37, 38, 124, -1, 41, 42, 43, 44, 45, 46, + 47, -1, -1, -1, -1, -1, -1, -1, -1, 44, + -1, -1, 59, 60, -1, 62, -1, -1, 302, 303, + 304, 305, 306, -1, 308, 309, -1, 62, -1, 124, + -1, -1, -1, 37, 38, -1, -1, 41, 42, -1, + 44, -1, 46, 47, 37, 38, -1, 94, 41, 42, + 43, 44, 45, 46, 47, 59, 60, 273, 62, -1, + -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, + -1, -1, -1, -1, -1, -1, -1, 124, -1, -1, + -1, -1, -1, 273, -1, -1, 302, 303, 304, 305, + 94, 307, 308, 309, -1, -1, -1, -1, -1, 37, + 38, 94, -1, 41, 42, 43, 44, 45, 46, 47, + -1, -1, 302, 303, 304, 305, 306, 307, 308, 309, + 124, 59, 60, -1, 62, -1, -1, -1, 37, 38, + -1, 124, 41, 42, 43, 44, 45, 46, 47, 38, + -1, 273, 41, -1, 43, 44, 45, 46, -1, -1, + 59, -1, -1, -1, -1, -1, 94, -1, -1, -1, + 59, 60, -1, 62, -1, -1, -1, 273, -1, -1, + 302, 303, 304, 305, 306, 307, 308, 309, 273, -1, + -1, -1, -1, 37, 38, 94, 124, 41, 42, 43, + 44, 45, 46, 47, -1, 94, 302, 303, 304, 305, + 306, 307, 308, 309, -1, 59, -1, 302, 303, 304, + 305, 306, 307, 308, 309, 124, -1, -1, -1, -1, + -1, -1, 257, 258, -1, 124, 273, 262, 263, -1, + -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, + 94, 276, 277, 278, 279, 280, 281, -1, -1, 284, + -1, -1, -1, 40, -1, 302, 303, 304, 305, 306, + -1, 308, 309, -1, -1, -1, 301, -1, 38, 273, + 124, 41, 59, 43, 44, 45, 46, -1, -1, -1, + 273, -1, -1, -1, -1, -1, -1, -1, -1, 59, + 60, -1, 62, -1, -1, -1, -1, -1, 302, 303, + 304, 305, 306, 307, 308, 309, -1, -1, -1, -1, + 303, 304, -1, 306, 307, 308, 309, -1, -1, -1, + -1, -1, -1, -1, 94, 38, -1, -1, 41, -1, + 43, 44, 45, 46, -1, 273, 123, -1, 125, -1, + -1, -1, -1, -1, -1, 60, 59, 60, -1, 62, + -1, -1, -1, -1, 124, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 303, 304, -1, 306, 307, + 308, 309, -1, -1, 273, -1, -1, -1, -1, -1, }; } class yyCheck2 { protected static final short yyCheck2 [] = { -1, - -1, 124, 59, 60, -1, 62, -1, -1, -1, -1, - -1, -1, -1, -1, 273, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 94, 124, -1, -1, - -1, -1, -1, 38, -1, -1, 41, 94, 43, 44, - 45, 46, -1, 302, 303, 304, 305, 306, -1, 308, - 309, 273, -1, -1, 59, 60, 124, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 124, -1, -1, - 38, -1, -1, 41, -1, 43, 44, 45, 46, -1, - 302, 303, 304, 305, 306, 307, 308, 309, -1, 94, - -1, 59, 60, -1, 62, 37, 38, -1, -1, 41, - 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 59, 60, 124, - 62, -1, -1, -1, 257, 258, 94, -1, -1, 262, - -1, -1, -1, -1, -1, -1, 269, -1, -1, 273, - -1, 274, -1, 276, 277, 278, -1, -1, 40, -1, - 273, 284, 94, -1, -1, -1, 124, -1, 291, -1, - -1, -1, -1, -1, -1, -1, -1, 59, 301, 303, - 304, -1, 306, 307, 308, 309, -1, -1, -1, -1, - 303, 304, 124, 306, 307, 308, 309, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, - -1, -1, -1, -1, -1, 302, -1, -1, 305, 306, - 307, 308, 309, -1, -1, 59, 273, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, 125, 302, -1, -1, 305, 306, 307, - 308, 309, -1, -1, 40, 302, 303, 304, 305, 306, - 307, 308, 309, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, -1, 273, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - -1, 125, -1, -1, -1, -1, -1, -1, 40, -1, - -1, -1, -1, -1, -1, -1, -1, 302, 303, 304, - 305, 306, 307, 308, 309, 273, -1, 59, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 123, -1, 125, - -1, 273, -1, -1, 302, 303, 304, 305, 306, 307, - 308, 309, -1, -1, -1, -1, -1, -1, 40, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 302, 303, 304, 305, 306, 307, 258, 59, -1, -1, - 262, 123, -1, 125, -1, 267, -1, -1, -1, 271, - 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, - -1, 283, -1, -1, -1, 287, 40, -1, -1, -1, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, -1, 258, 59, 308, 309, 262, -1, - -1, -1, -1, -1, -1, -1, -1, 271, 272, -1, + 94, 40, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 302, -1, -1, 305, 306, 307, 308, 309, + 59, -1, 302, 303, 304, 305, 306, 307, 308, 309, + 124, 37, 38, -1, -1, 41, 42, 43, 44, 45, + 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 59, 60, -1, 62, -1, -1, 40, + -1, -1, -1, -1, -1, -1, -1, 302, -1, -1, + 305, 306, 307, 308, 309, -1, -1, -1, 59, -1, + -1, -1, -1, -1, 123, -1, 125, -1, 94, -1, + 258, -1, -1, -1, 262, -1, -1, -1, -1, 267, + -1, -1, -1, 271, 272, -1, 274, -1, -1, -1, + -1, -1, -1, -1, -1, 283, 40, -1, 124, 287, + -1, -1, 273, -1, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, -1, 59, -1, -1, -1, -1, + 308, 309, 123, -1, 125, -1, -1, -1, -1, -1, + -1, 302, 303, 304, 305, 306, 307, 308, 309, -1, + -1, 257, 258, -1, 40, -1, 262, -1, -1, -1, + -1, -1, -1, 269, -1, -1, -1, -1, 274, 273, + 276, 277, 278, 59, -1, -1, -1, -1, 284, -1, + -1, -1, -1, -1, -1, 291, -1, -1, -1, 123, + -1, 125, -1, -1, -1, 301, -1, -1, 302, 303, + 304, 305, 306, 307, 308, 309, -1, -1, -1, 258, + 40, -1, -1, 262, -1, -1, -1, -1, -1, -1, + -1, -1, 271, 272, -1, 274, -1, -1, -1, 59, + -1, -1, -1, -1, 283, -1, -1, 123, 287, 125, + -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, -1, -1, -1, -1, 273, 40, 308, + 309, -1, -1, -1, -1, -1, -1, 258, -1, -1, + -1, 262, -1, -1, -1, -1, -1, 59, -1, -1, + 271, 272, -1, 274, -1, -1, 302, 303, 304, 305, + 306, 307, 283, 123, -1, 125, 287, 40, -1, -1, + -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, -1, -1, -1, -1, -1, 59, 308, 309, -1, + -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, + -1, -1, -1, -1, -1, -1, 40, 271, 272, -1, 274, 123, -1, 125, -1, -1, -1, -1, -1, 283, - 40, -1, -1, 287, -1, -1, -1, -1, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, -1, 59, + -1, -1, -1, 287, -1, 59, -1, -1, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, 258, -1, 308, 309, 262, -1, -1, -1, - -1, 40, -1, -1, -1, 271, 272, -1, 274, 123, - -1, 125, -1, -1, -1, -1, -1, 283, -1, -1, - 59, 287, -1, -1, -1, -1, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 258, -1, -1, -1, - 262, 40, 308, 309, -1, -1, -1, -1, -1, 271, - 272, -1, 274, 123, -1, 125, -1, -1, -1, -1, - 59, 283, -1, -1, -1, 287, -1, -1, -1, -1, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - -1, -1, -1, -1, 123, -1, 308, 309, -1, -1, - -1, -1, -1, 44, -1, -1, 258, -1, -1, -1, - 262, -1, -1, -1, -1, -1, -1, -1, -1, 271, - 272, 62, 274, -1, -1, -1, -1, -1, -1, -1, - -1, 283, 44, -1, 123, 287, -1, -1, -1, -1, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 62, -1, -1, -1, 258, -1, 308, 309, 262, -1, - -1, 60, -1, -1, -1, -1, -1, 271, 272, -1, - 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, - -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 258, -1, - -1, -1, 262, -1, 308, 309, -1, -1, 60, -1, - -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, - -1, -1, -1, 283, -1, -1, 125, 287, -1, -1, + 123, -1, -1, -1, -1, 271, 272, -1, 274, -1, + -1, -1, -1, -1, -1, -1, -1, 283, 44, -1, + -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 62, -1, -1, 123, + -1, -1, 308, 309, -1, -1, -1, -1, 258, -1, + -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, + -1, 271, 272, 60, 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, 271, 272, -1, -1, -1, -1, 308, 309, - 60, -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, 60, 308, - 309, -1, 271, 272, -1, -1, -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, 60, -1, 125, 257, 258, -1, 308, - 309, 262, 263, -1, -1, -1, -1, -1, 269, -1, - -1, -1, -1, 274, -1, 276, 277, 278, 279, 280, - 281, -1, -1, 284, -1, 257, 258, -1, -1, -1, - 262, 263, -1, -1, -1, -1, -1, 269, 257, 258, - 301, -1, 274, 262, 276, 277, 278, 279, 280, 281, - 269, -1, 284, -1, -1, 274, -1, 276, 277, 278, - -1, -1, -1, -1, -1, 284, -1, -1, -1, 301, - -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 301, -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, -1, -1, -1, -1, -1, -1, 291, - -1, -1, -1, -1, -1, -1, -1, 257, 258, 301, - -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, - -1, 87, -1, -1, 274, 91, 276, 277, 278, -1, - -1, -1, -1, -1, 284, 257, 258, -1, 104, 105, - 262, 291, -1, -1, -1, -1, -1, 269, -1, -1, - -1, 301, 274, -1, 276, 277, 278, -1, 124, -1, - 126, 127, 284, 420, 421, -1, -1, -1, -1, 291, - 257, 258, -1, -1, 431, 262, -1, -1, -1, 301, - -1, 147, 269, 149, -1, -1, -1, 274, -1, 276, - 277, 278, -1, 450, 451, -1, 453, 284, -1, 165, - }; -} -class yyCheck3 { - protected static final short yyCheck3 [] = { -1, - 458, 168, -1, 291, 462, -1, 464, 465, -1, -1, - 177, -1, 179, 301, -1, 473, 474, 475, -1, -1, - -1, 479, -1, -1, -1, -1, -1, -1, -1, -1, + 300, 301, -1, 60, -1, -1, 258, -1, 308, 309, + 262, -1, -1, -1, -1, -1, -1, -1, -1, 271, + 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, + -1, 283, -1, -1, 60, 287, -1, -1, 125, -1, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + -1, -1, -1, -1, -1, -1, 308, 309, 271, 272, + -1, -1, -1, -1, 60, -1, -1, -1, 125, -1, + 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, + -1, -1, 60, -1, -1, 308, 309, 271, 272, 125, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 283, + -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, -1, 125, + -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, + -1, 257, 258, -1, -1, -1, 262, 263, -1, -1, + -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, + 276, 277, 278, 279, 280, 281, -1, -1, 284, -1, + 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, + -1, -1, 269, -1, -1, 301, -1, 274, -1, 276, + 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, + 257, 258, -1, -1, 291, 262, -1, -1, -1, -1, + -1, -1, 269, -1, 301, -1, -1, 274, -1, 276, + 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, + -1, 257, 258, -1, 291, -1, 262, 87, -1, -1, + -1, 91, -1, 269, 301, -1, -1, -1, 274, -1, + 276, 277, 278, -1, 104, 105, -1, -1, 284, -1, + -1, 257, 258, -1, -1, 291, 262, -1, -1, -1, + -1, -1, -1, 269, 124, 301, 126, 127, 274, -1, + 276, 277, 278, -1, -1, -1, -1, -1, 284, 257, + 258, -1, -1, -1, 262, 291, -1, 147, -1, 149, + -1, 269, -1, -1, -1, 301, 274, -1, 276, 277, + 278, 420, 421, -1, -1, 165, 284, -1, 168, -1, + -1, -1, 431, 291, -1, -1, -1, 177, -1, 179, + -1, -1, -1, 301, -1, -1, -1, -1, -1, -1, + -1, 450, 451, -1, 453, -1, -1, -1, -1, 458, + -1, -1, -1, 462, -1, 464, 465, -1, -1, -1, + -1, -1, -1, -1, 473, 474, 475, -1, -1, -1, + 479, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 292, 293, + -1, -1, 292, 293, }; } class yyCheckInit { - static short[] yyCheck = new short[3131]; + static short[] yyCheck = new short[2927]; protected static void yyCheckInit () { int numyycheck; int yyCheckerun = 0; for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3131) { + if (yyCheckerun < 2927) { yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3131) { + if (yyCheckerun < 2927) { yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3131) { + if (yyCheckerun < 2927) { yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck]; yyCheckerun++; } } - for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { - if (yyCheckerun < 3131) { - yyCheck[yyCheckerun] = yyCheck3.yyCheck3[numyycheck]; - yyCheckerun++; - } - } } } diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/mycompiler/myparser/JavaParser.jay index d6ad2af1..c7ebfbdc 100755 --- a/src/mycompiler/myparser/JavaParser.jay +++ b/src/mycompiler/myparser/JavaParser.jay @@ -300,7 +300,7 @@ public Vector testPair = new Vector(); %type boundedMethodParameter; %type boundedClassParameter; %type boundedclassidentifierlist //Vector -%type boundedMethodParameters; // Vector +%type boundedMethodParameters; // Vector %type boundedClassParameters; // ParaList %type packagedeclaration %type assignment @@ -903,11 +903,16 @@ fielddeclarator : ret.setWert($3); $$=ret; } - + | variabledeclarator + { + FieldDeclaration ret = new FieldDeclaration($1.getOffset()); + ret.set_DeclId($1); + $$=ret; + } -genericdeclarationlist : '<' boundedMethodParameters ENDOFGENERICVARDECLARATION +genericdeclarationlist : '<' boundedMethodParameters '>' { - GenericDeclarationList ret = new GenericDeclarationList($2,$3.getOffset()); + GenericDeclarationList ret = new GenericDeclarationList($2.getElements(),$2.getEndOffset()); $$ = ret; } @@ -1064,7 +1069,7 @@ boundedclassidentifierlist : referencetype // returns Vector boundedMethodParameters : boundedMethodParameter { - Vector vec=new Vector(); + GenericVarDeclarationList vec=new GenericVarDeclarationList(); vec.addElement($1); $$=vec; } diff --git a/src/mycompiler/mytype/RefType.java b/src/mycompiler/mytype/RefType.java index 9c14cd5f..cfa3b006 100755 --- a/src/mycompiler/mytype/RefType.java +++ b/src/mycompiler/mytype/RefType.java @@ -774,6 +774,7 @@ public class RefType extends Type implements IMatchable @Override public Vector getInvolvedTypePlaceholder() { Vector ret = super.getInvolvedTypePlaceholder(); + if(this.parameter == null)return ret; for(Type param : this.parameter){ ret.addAll(param.getInvolvedTypePlaceholder()); } diff --git a/test/parser/GeneralParserTest.java b/test/parser/GeneralParserTest.java index 146da0dd..3349d324 100644 --- a/test/parser/GeneralParserTest.java +++ b/test/parser/GeneralParserTest.java @@ -29,8 +29,8 @@ public class GeneralParserTest{ public void run(){ Vector filenames = new Vector(); filenames.add("FieldInitializationTest.jav"); - //filenames.add("ImportTest.jav"); - //filenames.add("BoundedParameter.jav"); + filenames.add("ImportTest.jav"); + filenames.add("BoundedParameter.jav"); filenames.add("GenericFieldVarTest.jav"); MyCompilerAPI compiler = MyCompiler.getAPI(); try{