// created by jay 0.7 (c) 1998 Axel.Schreiner@informatik.uni-osnabrueck.de // line 2 "./../src/mycompiler/myparser/JavaParser.jay" /* Backup von JavaParser.jay 10.April 17 Uhr */ package mycompiler.myparser; import mycompiler.myclass.FieldDeclaration; import mycompiler.myclass.Field; import java.util.Vector; import mycompiler.SourceFile; import mycompiler.AClassOrInterface; import mycompiler.myclass.Class; import mycompiler.myclass.ClassBody; import mycompiler.myclass.Constructor; import mycompiler.myclass.Constant; import mycompiler.myclass.ImportDeclarations; import mycompiler.myclass.DeclId; import mycompiler.myclass.ExceptionList; import mycompiler.myclass.FormalParameter; import mycompiler.myclass.Method; import mycompiler.myclass.ParameterList; import mycompiler.myclass.UsedId; import mycompiler.myinterface.Interface; import mycompiler.myinterface.InterfaceBody; import mycompiler.mymodifier.Abstract; import mycompiler.mymodifier.Final; import mycompiler.mymodifier.Modifier; import mycompiler.mymodifier.Modifiers; import mycompiler.mymodifier.Private; import mycompiler.mymodifier.Protected; import mycompiler.mymodifier.Public; import mycompiler.mymodifier.Static; import mycompiler.myoperator.AndOp; import mycompiler.myoperator.DivideOp; import mycompiler.myoperator.EqualOp; import mycompiler.myoperator.GreaterEquOp; import mycompiler.myoperator.GreaterOp; import mycompiler.myoperator.LessEquOp; import mycompiler.myoperator.LessOp; import mycompiler.myoperator.MinusOp; import mycompiler.myoperator.ModuloOp; import mycompiler.myoperator.NotEqualOp; import mycompiler.myoperator.Operator; import mycompiler.myoperator.OrOp; import mycompiler.myoperator.PlusOp; import mycompiler.myoperator.TimesOp; import mycompiler.mystatement.ArgumentList; import mycompiler.mystatement.Assign; import mycompiler.mystatement.Binary; import mycompiler.mystatement.Block; import mycompiler.mystatement.BoolLiteral; import mycompiler.mystatement.FloatLiteral; import mycompiler.mystatement.DoubleLiteral; import mycompiler.mystatement.LongLiteral; import mycompiler.mystatement.CastExpr; import mycompiler.mystatement.CharLiteral; import mycompiler.mystatement.EmptyStmt; import mycompiler.mystatement.Expr; import mycompiler.mystatement.ExprStmt; import mycompiler.mystatement.IfStmt; import mycompiler.mystatement.InstanceOf; import mycompiler.mystatement.IntLiteral; import mycompiler.mystatement.Literal; import mycompiler.mystatement.InstVar; import mycompiler.mystatement.LocalOrFieldVar; import mycompiler.mystatement.LocalVarDecl; import mycompiler.mystatement.MethodCall; import mycompiler.mystatement.NegativeExpr; import mycompiler.mystatement.NewClass; import mycompiler.mystatement.NotExpr; import mycompiler.mystatement.Null; import mycompiler.mystatement.PositivExpr; import mycompiler.mystatement.PostDecExpr; import mycompiler.mystatement.PostIncExpr; import mycompiler.mystatement.PreDecExpr; import mycompiler.mystatement.PreIncExpr; import mycompiler.mystatement.Receiver; import mycompiler.mystatement.Return; import mycompiler.mystatement.Statement; import mycompiler.mystatement.StringLiteral; import mycompiler.mystatement.This; import mycompiler.mystatement.UnaryMinus; import mycompiler.mystatement.UnaryNot; import mycompiler.mystatement.UnaryPlus; import mycompiler.mystatement.WhileStmt; import mycompiler.mystatement.ForStmt; import mycompiler.mystatement.LambdaExpression; import mycompiler.mytype.BaseType; import mycompiler.mytype.BooleanType; import mycompiler.mytype.CharacterType; import mycompiler.mytype.GenericTypeVar; import mycompiler.mytype.BoundedGenericTypeVar; import mycompiler.mytype.IntegerType; import mycompiler.mytype.ParaList; import mycompiler.mytype.RefType; import mycompiler.mytype.Type; import mycompiler.mytype.TypePlaceholder; import mycompiler.mytype.Void; import mycompiler.mytype.WildcardType; import mycompiler.mytype.ExtendsWildcardType; import mycompiler.mytype.SuperWildcardType; import mycompiler.mytype.Pair; public class JavaParser{ public Vector path = new Vector(); //PL 05-07-30 eingefuegt. ANFANG private Vector containedTypes = new Vector(); private Vector usedIdsToCheck = new Vector(); //Vektor aller Typdeklarationen die in aktueller Klasse vorkommen. //wird nach Beendigung der Klasse des Attributs der jeweiligen //Klasse zugeordnet //nach dem Parsen wird mit wandleGeneric2RefType die //die RefTypes gesetzt. void initContainedTypes() { this.containedTypes = new Vector(); } void initUsedIdsToCheck() { this.usedIdsToCheck = new Vector(); } //PL 05-07-30 eingefuegt. ENDE //LUAR 07-05-29 Anfang für Wildcard Test public Vector testPair = new Vector(); //LUAR 07-05-29 Ende // line 131 "-" // %token constants //{ //ergaenzt PL 23.01.01 wieder entfernt 21.12.01 public static final int ABSTRACT = 257; public static final int BOOLEAN = 258; public static final int BREAK = 259; public static final int CASE = 260; public static final int CATCH = 261; public static final int CHAR = 262; public static final int CLASS = 263; public static final int CONTINUE = 264; public static final int DEFAULT = 265; public static final int DO = 266; public static final int ELSE = 267; public static final int EXTENDS = 268; public static final int FINAL = 269; public static final int FINALLY = 270; public static final int FOR = 271; public static final int IF = 272; public static final int INSTANCEOF = 273; public static final int INT = 274; public static final int NEW = 275; public static final int PRIVATE = 276; public static final int PROTECTED = 277; public static final int PUBLIC = 278; public static final int PACKAGE = 279; public static final int IMPORT = 280; public static final int INTERFACE = 281; public static final int IMPLEMENTS = 282; public static final int RETURN = 283; public static final int STATIC = 284; public static final int SUPER = 285; public static final int SWITCH = 286; public static final int THIS = 287; public static final int THROW = 288; public static final int THROWS = 289; public static final int TRY = 290; public static final int VOID = 291; public static final int WHILE = 292; public static final int INTLITERAL = 293; public static final int LONGLITERAL = 294; public static final int DOUBLELITERAL = 295; public static final int FLOATLITERAL = 296; public static final int BOOLLITERAL = 297; public static final int JNULL = 298; public static final int CHARLITERAL = 299; public static final int STRINGLITERAL = 300; public static final int IDENTIFIER = 301; public static final int EQUAL = 302; public static final int LESSEQUAL = 303; public static final int GREATEREQUAL = 304; public static final int NOTEQUAL = 305; public static final int LOGICALOR = 306; public static final int LOGICALAND = 307; public static final int INCREMENT = 308; public static final int DECREMENT = 309; public static final int SHIFTLEFT = 310; public static final int SHIFTRIGHT = 311; public static final int UNSIGNEDSHIFTRIGHT = 312; public static final int SIGNEDSHIFTRIGHT = 313; public static final int PLUSEQUAL = 314; public static final int MINUSEQUAL = 315; public static final int TIMESEQUAL = 316; public static final int DIVIDEEQUAL = 317; public static final int ANDEQUAL = 318; public static final int OREQUAL = 319; public static final int XOREQUAL = 320; public static final int MODULOEQUAL = 321; public static final int SHIFTLEFTEQUAL = 322; public static final int SIGNEDSHIFTRIGHTEQUAL = 323; public static final int UNSIGNEDSHIFTRIGHTEQUAL = 324; public static final int BRACE = 325; public static final int RELOP = 326; public static final int OP = 327; public static final int EOF = 328; public static final int LAMBDAASSIGNMENT = 329; public static final int yyErrorCode = 256; /** thrown for irrecoverable syntax errors and stack overflow. */ public static class yyException extends java.lang.Exception { public Token token; public yyException (String message, Token token) { super(message); this.token=token; } } /** must be implemented by a scanner object to supply input to the parser. */ public interface yyInput { /** move on to next token. @return false if positioned beyond tokens. @throws IOException on input error. */ boolean advance () throws java.io.IOException; /** classifies current token. Should not be called if advance() returned false. @return current %token or single character. */ int token (); /** associated with current token. Should not be called if advance() returned false. @return value for token(). */ Object value (); } /** simplified error message. @see yyerror */ public void yyerror (String message) { yyerror(message, null); } /** (syntax) error message. Can be overwritten to control message format. @param message text to be displayed. @param expected vector of acceptable tokens, if available. */ public String yyerror (String message, String[] expected) { if (expected != null && expected.length > 0) { System.err.print(message+", expecting"); message+=", expecting"; for (int n = 0; n < expected.length; ++ n){ System.err.print(" "+expected[n]); message+=" "+expected[n];} System.err.println(); return message; } else{ System.err.println(message); return message;} } /** debugging support, requires the package jay.yydebug. Set to null to suppress debugging messages. */ //t protected jay.yydebug.yyDebug yydebug; protected static final int yyFinal = 9; //t public static final String yyRule [] = { //t "$accept : compilationunit", //t "compilationunit : typedeclarations", //t "packagedeclaration : PACKAGE name ';'", //t "importdeclarations : importdeclaration", //t "importdeclarations : importdeclarations importdeclaration", //t "importdeclaration : IMPORT importqualifiedname ';'", //t "typedeclarations : typedeclaration", //t "typedeclarations : typedeclarations typedeclaration", //t "name : qualifiedname", //t "name : simplename", //t "typedeclaration : classdeclaration", //t "typedeclaration : interfacedeclaration", //t "qualifiedname : name '.' IDENTIFIER", //t "importqualifiedname : name '.' IDENTIFIER", //t "importqualifiedname : name '.' '*'", //t "simplename : IDENTIFIER", //t "classdeclaration : CLASS classidentifier classbody", //t "classdeclaration : modifiers CLASS classidentifier classbody", //t "classdeclaration : CLASS classidentifier super classbody", //t "classdeclaration : modifiers CLASS classidentifier super classbody", //t "classdeclaration : CLASS classidentifier interfaces classbody", //t "classdeclaration : modifiers CLASS classidentifier interfaces classbody", //t "classdeclaration : CLASS classidentifier super interfaces classbody", //t "classdeclaration : modifiers CLASS classidentifier super interfaces classbody", //t "interfaceidentifier : IDENTIFIER", //t "interfaceidentifier : IDENTIFIER '<' boundedClassParameters '>'", //t "classidentifier : IDENTIFIER", //t "classidentifier : IDENTIFIER '<' boundedClassParameters '>'", //t "interfacedeclaration : INTERFACE interfaceidentifier interfacebody", //t "interfacedeclaration : modifiers INTERFACE interfaceidentifier interfacebody", //t "interfacedeclaration : INTERFACE interfaceidentifier extendsinterfaces interfacebody", //t "interfacedeclaration : modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody", //t "paralist : IDENTIFIER", //t "paralist : IDENTIFIER '<' paralist '>'", //t "paralist : wildcardparameter", //t "paralist : paralist ',' IDENTIFIER", //t "paralist : paralist ',' IDENTIFIER '<' paralist '>'", //t "paralist : paralist ',' wildcardparameter", //t "wildcardparameter : '?'", //t "wildcardparameter : '?' EXTENDS referencetype", //t "wildcardparameter : '?' SUPER referencetype", //t "classbody : '{' '}'", //t "classbody : '{' classbodydeclarations '}'", //t "modifiers : modifier", //t "modifiers : modifiers modifier", //t "super : EXTENDS classtype", //t "interfaces : IMPLEMENTS interfacetype", //t "interfaces : interfaces ',' interfacetype", //t "interfacebody : '{' '}'", //t "interfacebody : '{' interfacememberdeclarations '}'", //t "extendsinterfaces : EXTENDS interfacetype", //t "extendsinterfaces : extendsinterfaces ',' interfacetype", //t "classbodydeclarations : classbodydeclaration", //t "classbodydeclarations : classbodydeclarations classbodydeclaration", //t "modifier : PUBLIC", //t "modifier : PROTECTED", //t "modifier : PRIVATE", //t "modifier : STATIC", //t "modifier : ABSTRACT", //t "modifier : FINAL", //t "classtype : classorinterfacetype", //t "interfacememberdeclarations : interfacememberdeclaration", //t "interfacememberdeclarations : interfacememberdeclarations interfacememberdeclaration", //t "interfacetype : classorinterfacetype", //t "classbodydeclaration : classmemberdeclaration", //t "classbodydeclaration : staticinitializer", //t "classbodydeclaration : constructordeclaration", //t "classorinterfacetype : simplename parameter", //t "parameter :", //t "parameter : '<' paralist '>'", //t "interfacememberdeclaration : constantdeclaration", //t "interfacememberdeclaration : abstractmethoddeclaration", //t "classmemberdeclaration : fielddeclaration", //t "classmemberdeclaration : methoddeclaration", //t "staticinitializer : STATIC block", //t "constructordeclaration : constructordeclarator constructorbody", //t "constructordeclaration : modifiers constructordeclarator constructorbody", //t "constantdeclaration : modifiers type IDENTIFIER '=' expression ';'", //t "abstractmethoddeclaration : methodheader ';'", //t "fielddeclarator : type variabledeclarator '=' expression", //t "fielddeclarator : variabledeclarator '=' expression", //t "fielddeclaration : fielddeclarator ';'", //t "fielddeclaration : type fielddeclarator", //t "fielddeclaration : variabledeclarators ';'", //t "fielddeclaration : type variabledeclarators ';'", //t "fielddeclaration : modifiers type variabledeclarators ';'", //t "methoddeclaration : methodheader methodbody", //t "block : '{' '}'", //t "block : '{' blockstatements '}'", //t "constructordeclarator : simplename '(' ')'", //t "constructordeclarator : simplename '(' formalparameterlist ')'", //t "constructorbody : '{' '}'", //t "constructorbody : '{' explicitconstructorinvocation '}'", //t "constructorbody : '{' blockstatements '}'", //t "constructorbody : '{' explicitconstructorinvocation blockstatements '}'", //t "throws : THROWS classtypelist", //t "boundedClassParameter : boundedMethodParameter", //t "boundedClassParameters : boundedClassParameter", //t "boundedClassParameters : boundedClassParameters ',' boundedClassParameter", //t "boundedMethodParameter : IDENTIFIER", //t "boundedMethodParameter : IDENTIFIER EXTENDS boundedclassidentifierlist", //t "boundedclassidentifierlist : referencetype", //t "boundedclassidentifierlist : boundedclassidentifierlist '&' referencetype", //t "boundedMethodParameters : boundedMethodParameter", //t "boundedMethodParameters : boundedMethodParameters ',' boundedMethodParameter", //t "methodheader : '<' boundedMethodParameters '>' type methoddeclarator", //t "methodheader : type methoddeclarator", //t "methodheader : modifiers type methoddeclarator", //t "methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator", //t "methodheader : type methoddeclarator throws", //t "methodheader : '<' boundedMethodParameters '>' type methoddeclarator throws", //t "methodheader : modifiers type methoddeclarator throws", //t "methodheader : modifiers '<' boundedMethodParameters '>' type methoddeclarator throws", //t "methodheader : VOID methoddeclarator", //t "methodheader : modifiers VOID methoddeclarator", //t "methodheader : VOID methoddeclarator throws", //t "methodheader : modifiers VOID methoddeclarator throws", //t "methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator", //t "methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator", //t "methodheader : '<' boundedMethodParameters '>' VOID methoddeclarator throws", //t "methodheader : modifiers '<' boundedMethodParameters '>' VOID methoddeclarator throws", //t "methodheader : methoddeclarator", //t "methodheader : '<' boundedMethodParameters '>' methoddeclarator", //t "methodheader : modifiers methoddeclarator", //t "methodheader : methoddeclarator throws", //t "methodheader : modifiers methoddeclarator throws", //t "type : primitivetype", //t "type : primitivetype '[' ']'", //t "type : referencetype", //t "type : referencetype '[' ']'", //t "variabledeclarators : variabledeclarator", //t "variabledeclarators : variabledeclarators ',' variabledeclarator", //t "methodbody : block", //t "blockstatements : blockstatement", //t "blockstatements : blockstatements blockstatement", //t "formalparameterlist : formalparameter", //t "formalparameterlist : formalparameterlist ',' formalparameter", //t "explicitconstructorinvocation : THIS '(' ')' ';'", //t "explicitconstructorinvocation : THIS '(' argumentlist ')' ';'", //t "classtypelist : classtype", //t "classtypelist : classtypelist ',' classtype", //t "methoddeclarator : IDENTIFIER '(' ')'", //t "methoddeclarator : IDENTIFIER '(' formalparameterlist ')'", //t "primitivetype : BOOLEAN", //t "primitivetype : numerictype", //t "referencetype : classorinterfacetype", //t "variabledeclarator : variabledeclaratorid", //t "blockstatement : localvariabledeclarationstatement", //t "blockstatement : statement", //t "formalparameter : type variabledeclaratorid", //t "formalparameter : variabledeclaratorid", //t "argumentlist : expression", //t "argumentlist : argumentlist ',' expression", //t "numerictype : integraltype", //t "variabledeclaratorid : IDENTIFIER", //t "variableinitializer : expression", //t "localvariabledeclarationstatement : localvariabledeclaration ';'", //t "statement : statementwithouttrailingsubstatement", //t "statement : ifthenstatement", //t "statement : ifthenelsestatement", //t "statement : whilestatement", //t "statement : forstatement", //t "expression : assignmentexpression", //t "expression : classinstancecreationexpression", //t "integraltype : INT", //t "integraltype : CHAR", //t "localvariabledeclaration : type variabledeclarators", //t "localvariabledeclaration : variabledeclarators", //t "statementwithouttrailingsubstatement : block", //t "statementwithouttrailingsubstatement : emptystatement", //t "statementwithouttrailingsubstatement : expressionstatement", //t "statementwithouttrailingsubstatement : returnstatement", //t "ifthenstatement : IF '(' expression ')' statement", //t "ifthenelsestatement : IF '(' expression ')' statementnoshortif ELSE statement", //t "whilestatement : WHILE '(' expression ')' statement", //t "forstatement : FOR '(' expression ';' expression ';' expression ')' statement", //t "forstatement : FOR '(' expression ';' expression ';' ')' statement", //t "forstatement : FOR '(' expression ';' ';' expression ')' statement", //t "forstatement : FOR '(' ';' expression ';' expression ')' statement", //t "forstatement : FOR '(' expression ';' ';' ')' statement", //t "forstatement : FOR '(' ';' expression ';' ')' statement", //t "forstatement : FOR '(' ';' ';' expression ')' statement", //t "forstatement : FOR '(' ';' ';' ')' statement", //t "assignmentexpression : conditionalexpression", //t "assignmentexpression : assignment", //t "emptystatement : ';'", //t "expressionstatement : statementexpression ';'", //t "returnstatement : RETURN ';'", //t "returnstatement : RETURN expression ';'", //t "statementnoshortif : statementwithouttrailingsubstatement", //t "statementnoshortif : ifthenelsestatementnoshortif", //t "statementnoshortif : whilestatementnoshortif", //t "conditionalexpression : conditionalorexpression", //t "assignment : lefthandside assignmentoperator assignmentexpression", //t "assignment : lefthandside assignmentoperator classinstancecreationexpression", //t "statementexpression : assignment", //t "statementexpression : preincrementexpression", //t "statementexpression : predecrementexpression", //t "statementexpression : postincrementexpression", //t "statementexpression : postdecrementexpression", //t "statementexpression : methodinvocation", //t "ifthenelsestatementnoshortif : IF '(' expression ')' statementnoshortif ELSE statementnoshortif", //t "whilestatementnoshortif : WHILE '(' expression ')' statementnoshortif", //t "conditionalorexpression : conditionalandexpression", //t "conditionalorexpression : conditionalorexpression LOGICALOR conditionalandexpression", //t "lambdaassignmentoperator : LAMBDAASSIGNMENT", //t "lambdabody : block", //t "lambdabody : expression", //t "lambdaexpressionparameter : '(' ')'", //t "lambdaexpressionparameter : '(' formalparameterlist ')'", //t "lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody", //t "lefthandside : name", //t "assignmentoperator : '='", //t "assignmentoperator : TIMESEQUAL", //t "assignmentoperator : DIVIDEEQUAL", //t "assignmentoperator : MODULOEQUAL", //t "assignmentoperator : PLUSEQUAL", //t "assignmentoperator : MINUSEQUAL", //t "preincrementexpression : INCREMENT unaryexpression", //t "predecrementexpression : DECREMENT unaryexpression", //t "postincrementexpression : postfixexpression INCREMENT", //t "postdecrementexpression : postfixexpression DECREMENT", //t "methodinvocation : name '(' ')'", //t "methodinvocation : name '(' argumentlist ')'", //t "methodinvocation : primary '.' IDENTIFIER '(' ')'", //t "methodinvocation : primary '.' IDENTIFIER '(' argumentlist ')'", //t "classinstancecreationexpression : NEW classtype '(' ')'", //t "classinstancecreationexpression : NEW classtype '(' argumentlist ')'", //t "conditionalandexpression : inclusiveorexpression", //t "conditionalandexpression : conditionalandexpression LOGICALAND inclusiveorexpression", //t "unaryexpression : preincrementexpression", //t "unaryexpression : predecrementexpression", //t "unaryexpression : '+' unaryexpression", //t "unaryexpression : '-' unaryexpression", //t "unaryexpression : unaryexpressionnotplusminus", //t "postfixexpression : primary", //t "postfixexpression : name", //t "postfixexpression : postincrementexpression", //t "postfixexpression : postdecrementexpression", //t "primary : primarynonewarray", //t "inclusiveorexpression : exclusiveorexpression", //t "inclusiveorexpression : inclusiveorexpression '|' exclusiveorexpression", //t "primarynonewarray : literal", //t "primarynonewarray : THIS", //t "primarynonewarray : methodinvocation", //t "primarynonewarray : lambdaexpression", //t "unaryexpressionnotplusminus : postfixexpression", //t "unaryexpressionnotplusminus : '!' unaryexpression", //t "unaryexpressionnotplusminus : castexpression", //t "exclusiveorexpression : andexpression", //t "exclusiveorexpression : exclusiveorexpression '^' andexpression", //t "literal : INTLITERAL", //t "literal : BOOLLITERAL", //t "literal : CHARLITERAL", //t "literal : STRINGLITERAL", //t "literal : LONGLITERAL", //t "literal : FLOATLITERAL", //t "literal : DOUBLELITERAL", //t "literal : JNULL", //t "castexpression : '(' primitivetype ')' unaryexpression", //t "andexpression : equalityexpression", //t "andexpression : andexpression '&' equalityexpression", //t "equalityexpression : relationalexpression", //t "equalityexpression : equalityexpression EQUAL relationalexpression", //t "equalityexpression : equalityexpression NOTEQUAL relationalexpression", //t "relationalexpression : shiftexpression", //t "relationalexpression : relationalexpression '<' shiftexpression", //t "relationalexpression : relationalexpression '>' shiftexpression", //t "relationalexpression : relationalexpression LESSEQUAL shiftexpression", //t "relationalexpression : relationalexpression GREATEREQUAL shiftexpression", //t "relationalexpression : relationalexpression INSTANCEOF referencetype", //t "shiftexpression : additiveexpression", //t "additiveexpression : multiplicativeexpression", //t "additiveexpression : additiveexpression '+' multiplicativeexpression", //t "additiveexpression : additiveexpression '-' multiplicativeexpression", //t "multiplicativeexpression : unaryexpression", //t "multiplicativeexpression : multiplicativeexpression '*' unaryexpression", //t "multiplicativeexpression : multiplicativeexpression '/' unaryexpression", //t "multiplicativeexpression : multiplicativeexpression '%' unaryexpression", //t }; protected static final String yyName [] = { "end-of-file",null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,"'!'",null,null,null,"'%'","'&'", null,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",null,null,null, null,null,null,null,null,null,null,null,"';'","'<'","'='","'>'","'?'", null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null, "'['",null,"']'","'^'",null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,"'{'","'|'","'}'",null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null, "ABSTRACT","BOOLEAN","BREAK","CASE","CATCH","CHAR","CLASS","CONTINUE", "DEFAULT","DO","ELSE","EXTENDS","FINAL","FINALLY","FOR","IF", "INSTANCEOF","INT","NEW","PRIVATE","PROTECTED","PUBLIC","PACKAGE", "IMPORT","INTERFACE","IMPLEMENTS","RETURN","STATIC","SUPER","SWITCH", "THIS","THROW","THROWS","TRY","VOID","WHILE","INTLITERAL", "LONGLITERAL","DOUBLELITERAL","FLOATLITERAL","BOOLLITERAL","JNULL", "CHARLITERAL","STRINGLITERAL","IDENTIFIER","EQUAL","LESSEQUAL", "GREATEREQUAL","NOTEQUAL","LOGICALOR","LOGICALAND","INCREMENT", "DECREMENT","SHIFTLEFT","SHIFTRIGHT","UNSIGNEDSHIFTRIGHT", "SIGNEDSHIFTRIGHT","PLUSEQUAL","MINUSEQUAL","TIMESEQUAL", "DIVIDEEQUAL","ANDEQUAL","OREQUAL","XOREQUAL","MODULOEQUAL", "SHIFTLEFTEQUAL","SIGNEDSHIFTRIGHTEQUAL","UNSIGNEDSHIFTRIGHTEQUAL", "BRACE","RELOP","OP","EOF","LAMBDAASSIGNMENT", }; /** index-checked interface to yyName[]. @param token single character or %token value. @return token name or [illegal] or [unknown]. */ //t public static final String yyname (int token) { //t if (token < 0 || token > yyName.length) return "[illegal]"; //t String name; //t if ((name = yyName[token]) != null) return name; //t return "[unknown]"; //t } /** computes list of expected tokens on error by tracing the tables. @param state for which to compute the list. @return list of token names. */ protected String[] yyExpecting (int state) { // yyCheck durch yyCheckInit.yyCheck; ersetzt PL 25.1.01 int token, n, len = 0; boolean[] ok = new boolean[yyName.length]; if ((n = yySindex[state]) != 0) for (token = n < 0 ? -n : 0; token < yyName.length && n+token < yyTable.length; ++ token) if (yyCheckInit.yyCheck[n+token] == token && !ok[token] && yyName[token] != null) { ++ len; ok[token] = true; } if ((n = yyRindex[state]) != 0) for (token = n < 0 ? -n : 0; token < yyName.length && n+token < yyTable.length; ++ token) if (yyCheckInit.yyCheck[n+token] == token && !ok[token] && yyName[token] != null) { ++ len; ok[token] = true; } String result[] = new String[len]; for (n = token = 0; n < len; ++ token) if (ok[token]) result[n++] = yyName[token]; return result; } /** the generated parser, with debugging messages. Maintains a state and a value stack, currently with fixed maximum size. @param yyLex scanner. @param yydebug debug message writer implementing yyDebug, or null. @return result of the last reduction, if any. @throws yyException on irrecoverable parse error. */ public Object yyparse (yyInput yyLex, Object yydebug) throws java.io.IOException, yyException { //t this.yydebug = (jay.yydebug.yyDebug)yydebug; return yyparse(yyLex); } /** initial size and increment of the state/value stack [default 256]. This is not final so that it can be overwritten outside of invocations of yyparse(). */ protected int yyMax; /** executed at the beginning of a reduce action. Used as $$ = yyDefault($1), prior to the user-specified action, if any. Can be overwritten to provide deep copy, etc. @param first value for $1, or null. @return first. */ protected Object yyDefault (Object first) { return first; } /** the generated parser. Maintains a state and a value stack, currently with fixed maximum size. @param yyLex scanner. @return result of the last reduction, if any. @throws yyException on irrecoverable parse error. */ public Object yyparse (yyInput yyLex) throws java.io.IOException, yyException { // yyCheck durch yyCheckInit.yyCheck; ersetzt PL 23.1.01 yyCheckInit.yyCheckInit(); // initial yyCheck eingefuegt PL 25.1.01 if (yyMax <= 0) yyMax = 256; // initial size int yyState = 0, yyStates[] = new int[yyMax]; // state stack Object yyVal = null, yyVals[] = new Object[yyMax]; // value stack int yyToken = -1; // current input int yyErrorFlag = 0; // #tks to shift Scanner yyScanner = (Scanner)yyLex; String yyErrorString = "irrecoverable syntax error"; yyLoop: for (int yyTop = 0;; ++ yyTop) { if (yyTop >= yyStates.length) { // dynamically increase int[] i = new int[yyStates.length+yyMax]; System.arraycopy(yyStates, 0, i, 0, yyStates.length); yyStates = i; Object[] o = new Object[yyVals.length+yyMax]; System.arraycopy(yyVals, 0, o, 0, yyVals.length); yyVals = o; } yyStates[yyTop] = yyState; yyVals[yyTop] = yyVal; //t if (yydebug != null) yydebug.push(yyState, yyVal); yyDiscarded: for (;;) { // discarding a token does not change stack int yyN; if ((yyN = yyDefRed[yyState]) == 0) { // else [default] reduce (yyN) if (yyToken < 0) { yyToken = yyLex.advance() ? yyLex.token() : 0; //t if (yydebug != null) //t yydebug.lex(yyState, yyToken, yyname(yyToken), yyLex.value()); } if ((yyN = yySindex[yyState]) != 0 && (yyN += yyToken) >= 0 && yyN < yyTable.length && yyCheckInit.yyCheck[yyN] == yyToken) { //t if (yydebug != null) //t yydebug.shift(yyState, yyTable[yyN], yyErrorFlag-1); yyState = yyTable[yyN]; // shift to yyN yyVal = yyLex.value(); yyToken = -1; if (yyErrorFlag > 0) -- yyErrorFlag; continue yyLoop; } if ((yyN = yyRindex[yyState]) != 0 && (yyN += yyToken) >= 0 && yyN < yyTable.length && yyCheckInit.yyCheck[yyN] == yyToken) yyN = yyTable[yyN]; // reduce (yyN) else switch (yyErrorFlag) { case 0: yyErrorString=yyerror("syntax error", yyExpecting(yyState)); //t if (yydebug != null) yydebug.error("syntax error"); case 1: case 2: yyErrorFlag = 3; do { if ((yyN = yySindex[yyStates[yyTop]]) != 0 && (yyN += yyErrorCode) >= 0 && yyN < yyTable.length && yyCheckInit.yyCheck[yyN] == yyErrorCode) { //t if (yydebug != null) //t yydebug.shift(yyStates[yyTop], yyTable[yyN], 3); yyState = yyTable[yyN]; yyVal = yyLex.value(); continue yyLoop; } //t if (yydebug != null) yydebug.pop(yyStates[yyTop]); } while (-- yyTop >= 0); //t if (yydebug != null) yydebug.reject(); throw new yyException(yyErrorString, yyScanner.token); case 3: if (yyToken == 0) { //t if (yydebug != null) yydebug.reject(); throw new yyException(yyErrorString+"at end-of-file", yyScanner.token); } //t if (yydebug != null) //t yydebug.discard(yyState, yyToken, yyname(yyToken), //t yyLex.value()); yyToken = -1; continue yyDiscarded; // leave stack alone } } int yyV = yyTop + 1-yyLen[yyN]; //t if (yydebug != null) //t yydebug.reduce(yyState, yyStates[yyV-1], yyN, yyRule[yyN], yyLen[yyN]); yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]); switch (yyN) { case 1: // line 322 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((SourceFile)yyVals[0+yyTop]); } break; case 2: // line 350 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Package*/ yyVal = ((UsedId)yyVals[-1+yyTop]); } break; case 3: // line 356 "./../src/mycompiler/myparser/JavaParser.jay" { ImportDeclarations declarations=new ImportDeclarations(); declarations.addElement(((UsedId)yyVals[0+yyTop])); yyVal=declarations; } break; case 4: // line 362 "./../src/mycompiler/myparser/JavaParser.jay" { ((ImportDeclarations)yyVals[-1+yyTop]).addElement(((UsedId)yyVals[0+yyTop])); yyVal=((ImportDeclarations)yyVals[-1+yyTop]); } break; case 5: // line 368 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[-1+yyTop]); } break; case 6: // line 373 "./../src/mycompiler/myparser/JavaParser.jay" { SourceFile Scfile = new SourceFile(); Scfile.addElement(((AClassOrInterface)yyVals[0+yyTop])); yyVal=Scfile; } break; case 7: // line 379 "./../src/mycompiler/myparser/JavaParser.jay" { ((SourceFile)yyVals[-1+yyTop]).addElement(((AClassOrInterface)yyVals[0+yyTop])); yyVal=((SourceFile)yyVals[-1+yyTop]); } break; case 8: // line 385 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; case 9: // line 389 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; case 10: // line 394 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Class)yyVals[0+yyTop]); } break; case 11: // line 398 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal=((Interface)yyVals[0+yyTop]); } break; case 12: // line 405 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem()); ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset()); yyVal=((UsedId)yyVals[-2+yyTop]); } break; case 13: // line 412 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem()); ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset()); yyVal=((UsedId)yyVals[-2+yyTop]); } break; case 14: // line 418 "./../src/mycompiler/myparser/JavaParser.jay" { ((UsedId)yyVals[-2+yyTop]).set_Name("*"); ((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset()); yyVal=((UsedId)yyVals[-2+yyTop]); } break; case 15: // line 426 "./../src/mycompiler/myparser/JavaParser.jay" { UsedId UI = new UsedId(((Token)yyVals[0+yyTop]).getOffset()); UI.set_Name( ((Token)yyVals[0+yyTop]).getLexem() ); UI.setOffset(((Token)yyVals[0+yyTop]).getOffset());/*hinzugef�gt hoth: 07.04.2006*/ yyVal = UI; } break; case 16: // line 434 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Um das hier uebersichtlicher zu halten,*/ /* gibt es einen allumfassenden Konstruktor fuer Class*/ /* Parameter:*/ /* String name, */ /* Modifiers mod,*/ /* ClassBody classbody, */ /* Vector containedtypes, */ /* UsedId superclass, */ /* Vector SuperInterfaces, */ /* Vector Parameterliste*/ yyVal = new Class(((ClassAndParameter)yyVals[-1+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, null, null, ((ClassAndParameter)yyVals[-1+yyTop]).getParaVector()); this.initContainedTypes(); this.initUsedIdsToCheck(); } break; case 17: // line 451 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, null, null, ((ClassAndParameter)yyVals[-1+yyTop]).getParaVector()); this.initContainedTypes(); this.initUsedIdsToCheck(); } break; case 18: // line 457 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); this.initContainedTypes(); this.initUsedIdsToCheck(); } break; case 19: // line 463 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, ((UsedId)yyVals[-1+yyTop]), null, ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); this.initContainedTypes(); this.initUsedIdsToCheck(); } break; case 20: // line 470 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, null, ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); this.initContainedTypes(); this.initUsedIdsToCheck(); } break; case 21: // line 476 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, null, ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-2+yyTop]).getParaVector()); this.initContainedTypes(); this.initUsedIdsToCheck(); } break; case 22: // line 482 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), null, ((ClassBody)yyVals[0+yyTop]), containedTypes,usedIdsToCheck, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaVector()); this.initContainedTypes(); this.initUsedIdsToCheck(); } break; case 23: // line 488 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new Class(((ClassAndParameter)yyVals[-3+yyTop]).getName(), ((Modifiers)yyVals[-5+yyTop]), ((ClassBody)yyVals[0+yyTop]), containedTypes, usedIdsToCheck, ((UsedId)yyVals[-2+yyTop]), ((InterfaceList)yyVals[-1+yyTop]).getVector(), ((ClassAndParameter)yyVals[-3+yyTop]).getParaVector()); this.initContainedTypes(); this.initUsedIdsToCheck(); } break; case 24: // line 495 "./../src/mycompiler/myparser/JavaParser.jay" { /* HOTI*/ /* Verbindet den Namen eines Interfaces mit einer optionalen Parameterliste*/ yyVal = new InterfaceAndParameter(((Token)yyVals[0+yyTop]).getLexem()); } break; case 25: // line 501 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new InterfaceAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop])); } break; case 26: // line 506 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Hilfskonstrukt, um die Grammatik ueberschaubar zu halten*/ /* Verbindet den Namen einer Klasse mit einer optionalen Parameterliste*/ yyVal = new ClassAndParameter(((Token)yyVals[0+yyTop]).getLexem()); } break; case 27: // line 512 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = new ClassAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop])); } break; case 28: // line 517 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName()); ic.setParaList(((InterfaceAndParameter)yyVals[-1+yyTop]).getParaVector()); ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop])); ic.setContainedTypes(containedTypes); initContainedTypes(); yyVal = ic; } break; case 29: // line 527 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop])); ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop])); ic.setParaList(((InterfaceAndParameter)yyVals[-1+yyTop]).getParaVector()); ic.setContainedTypes(containedTypes); initContainedTypes(); yyVal = ic; } break; case 30: // line 536 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName()); ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector()); ic.setSuperInterfaces(((InterfaceList)yyVals[-1+yyTop]).getVector()); ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop])); ic.setContainedTypes(containedTypes); initContainedTypes(); yyVal = ic; } break; case 31: // line 546 "./../src/mycompiler/myparser/JavaParser.jay" { Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop])); ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector()); ic.setSuperInterfaces(((InterfaceList)yyVals[-1+yyTop]).getVector()); ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop])); ic.setContainedTypes(containedTypes); initContainedTypes(); yyVal = ic; } break; case 32: // line 557 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); /* #JB# 05.04.2005 */ /* ########################################################### */ pl.getParalist().addElement(new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(), ((Token)yyVals[0+yyTop]).getOffset())); /*pl.getParalist().addElement( new TypePlaceholder($1.getLexem()) );*/ /* ########################################################### */ org.apache.log4j.Logger.getLogger("parser").debug( "IDENTIFIER --> Paralist f�r " + ((Token)yyVals[0+yyTop]).getLexem() + " TV"); yyVal = pl; } break; case 33: // line 568 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),((Token)yyVals[-3+yyTop]).getOffset() ); t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() ); pl.getParalist().addElement(t); org.apache.log4j.Logger.getLogger("parser").debug( "IDENTIFIER '<' paralist '>' --> Paralist f�r " + ((Token)yyVals[-3+yyTop]).getLexem() + ": RefType"); yyVal = pl; } break; case 34: // line 577 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList pl = new ParaList(); pl.getParalist().addElement(((WildcardType)yyVals[0+yyTop])); yyVal = pl; } break; case 35: // line 583 "./../src/mycompiler/myparser/JavaParser.jay" { /* #JB# 05.04.2005 */ /* ########################################################### */ ((ParaList)yyVals[-2+yyTop]).getParalist().addElement(new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset())); /*$1.getParalist().addElement(new TypePlaceholder($3.getLexem()));*/ /* ########################################################### */ org.apache.log4j.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER --> Paralist f�r " + ((Token)yyVals[0+yyTop]).getLexem() + ": TV"); org.apache.log4j.Logger.getLogger("parser").debug( "paralist: " + ((ParaList)yyVals[-2+yyTop]).getParalist()); yyVal=((ParaList)yyVals[-2+yyTop]); } break; case 36: // line 596 "./../src/mycompiler/myparser/JavaParser.jay" { RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem() ,((Token)yyVals[-3+yyTop]).getOffset() ); t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() ); ((ParaList)yyVals[-5+yyTop]).getParalist().addElement(t); org.apache.log4j.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER '<' paralist '>' --> Paralist f�r " + ((Token)yyVals[-3+yyTop]).getLexem() + ": RefType"); yyVal=((ParaList)yyVals[-5+yyTop]); } break; case 37: // line 604 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).getParalist().addElement(((WildcardType)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; case 38: // line 610 "./../src/mycompiler/myparser/JavaParser.jay" { /*Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden*/ WildcardType wc = new WildcardType(-1); yyVal = wc; } break; case 39: // line 616 "./../src/mycompiler/myparser/JavaParser.jay" { ExtendsWildcardType ewc = new ExtendsWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop])); yyVal = ewc; } break; case 40: // line 621 "./../src/mycompiler/myparser/JavaParser.jay" { SuperWildcardType swc = new SuperWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop])); yyVal = swc; } break; case 41: // line 627 "./../src/mycompiler/myparser/JavaParser.jay" { ClassBody CB = new ClassBody(); yyVal = CB; } break; case 42: // line 633 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((ClassBody)yyVals[-1+yyTop]); } break; case 43: // line 638 "./../src/mycompiler/myparser/JavaParser.jay" { Modifiers Mod = new Modifiers(); Mod.addModifier(((Modifier)yyVals[0+yyTop])); yyVal = Mod; } break; case 44: // line 644 "./../src/mycompiler/myparser/JavaParser.jay" { ((Modifiers)yyVals[-1+yyTop]).addModifier(((Modifier)yyVals[0+yyTop])); yyVal = ((Modifiers)yyVals[-1+yyTop]); } break; case 45: // line 650 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((UsedId)yyVals[0+yyTop]); } break; case 46: // line 655 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ InterfaceList il = new InterfaceList(); il.addInterface(((UsedId)yyVals[0+yyTop])); yyVal = il; } break; case 47: // line 662 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop])); yyVal = ((InterfaceList)yyVals[-2+yyTop]); } break; case 48: // line 668 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal = new InterfaceBody(); } break; case 49: // line 673 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((InterfaceBody)yyVals[-1+yyTop]); } break; case 50: // line 680 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ InterfaceList il = new InterfaceList(); il.addInterface(((UsedId)yyVals[0+yyTop])); yyVal = il; } break; case 51: // line 687 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop])); yyVal = ((InterfaceList)yyVals[-2+yyTop]); } break; case 52: // line 694 "./../src/mycompiler/myparser/JavaParser.jay" { ClassBody CB = new ClassBody(); CB.addField( ((Field)yyVals[0+yyTop]) ); yyVal=CB; } break; case 53: // line 700 "./../src/mycompiler/myparser/JavaParser.jay" { ((ClassBody)yyVals[-1+yyTop]).addField(((Field)yyVals[0+yyTop])); yyVal = ((ClassBody)yyVals[-1+yyTop]); } break; case 54: // line 707 "./../src/mycompiler/myparser/JavaParser.jay" { Public Pub = new Public(); yyVal=Pub; } break; case 55: // line 712 "./../src/mycompiler/myparser/JavaParser.jay" { Protected Pro = new Protected(); yyVal=Pro; } break; case 56: // line 717 "./../src/mycompiler/myparser/JavaParser.jay" { Private Pri = new Private(); yyVal=Pri; } break; case 57: // line 722 "./../src/mycompiler/myparser/JavaParser.jay" { Static Sta = new Static(); yyVal=Sta; } break; case 58: // line 727 "./../src/mycompiler/myparser/JavaParser.jay" { Abstract Abs = new Abstract(); yyVal=Abs; } break; case 59: // line 732 "./../src/mycompiler/myparser/JavaParser.jay" { Final fin = new Final(); yyVal = fin; } break; case 60: // line 738 "./../src/mycompiler/myparser/JavaParser.jay" { /*PL 05-07-30 eingefuegt containedTypes ANFANG*/ RefType RT = new RefType(-1); /*RT.set_UsedId($1);*/ /*RT.setName(RT.get_UsedId().get_Name_1Element());*/ RT.set_ParaList(((UsedId)yyVals[0+yyTop]).get_RealParaList()); RT.setName(((UsedId)yyVals[0+yyTop]).get_Name_1Element()); containedTypes.addElement(RT); /*PL 05-07-30 eingefuegt containedTypes ENDE*/ yyVal = ((UsedId)yyVals[0+yyTop]); } break; case 61: // line 753 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ InterfaceBody ib = new InterfaceBody(); ib.addElement(((Field)yyVals[0+yyTop])); yyVal = ib; } break; case 62: // line 760 "./../src/mycompiler/myparser/JavaParser.jay" { ((InterfaceBody)yyVals[-1+yyTop]).addElement(((Field)yyVals[0+yyTop])); yyVal = ((InterfaceBody)yyVals[-1+yyTop]); } break; case 63: // line 766 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interfaces*/ yyVal = ((UsedId)yyVals[0+yyTop]); } break; case 64: // line 772 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; case 65: // line 777 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Method)yyVals[0+yyTop]); } break; case 66: // line 781 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; case 67: // line 786 "./../src/mycompiler/myparser/JavaParser.jay" { if (((ParaList)yyVals[0+yyTop]) != null) { ((UsedId)yyVals[-1+yyTop]).set_ParaList(((ParaList)yyVals[0+yyTop]).get_ParaList()); /* otth: originale (also diese) Parameterliste retten */ ((UsedId)((UsedId)yyVals[-1+yyTop])).vParaOrg = new Vector( ((ParaList)yyVals[0+yyTop]).get_ParaList() ); } yyVal=((UsedId)yyVals[-1+yyTop]); } break; case 68: // line 797 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = null; } break; case 69: // line 799 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((ParaList)yyVals[-1+yyTop]); } break; case 70: // line 804 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interfaces, Spezialform Konstantendef.*/ yyVal = ((Constant)yyVals[0+yyTop]); } break; case 71: // line 809 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((Method)yyVals[0+yyTop]); } break; case 72: // line 814 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Field)yyVals[0+yyTop]); } break; case 73: // line 818 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Method)yyVals[0+yyTop]); } break; case 74: // line 823 "./../src/mycompiler/myparser/JavaParser.jay" { Method STAT = new Method(((Token)yyVals[-1+yyTop]).getOffset()); DeclId DST = new DeclId(); DST.set_Name(((Token)yyVals[-1+yyTop]).getLexem()); STAT.set_DeclId(DST); Static ST = new Static(); Modifiers MOD = new Modifiers(); MOD.addModifier(ST); STAT.set_Modifiers(MOD); STAT.set_Block(((Block)yyVals[0+yyTop])); yyVal=STAT; } break; case 75: // line 837 "./../src/mycompiler/myparser/JavaParser.jay" { ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal = ((Constructor)yyVals[-1+yyTop]); } break; case 76: // line 842 "./../src/mycompiler/myparser/JavaParser.jay" { ((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); ((Constructor)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); yyVal = ((Constructor)yyVals[-1+yyTop]); } break; case 77: // line 849 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ Constant c = new Constant(((Token)yyVals[-3+yyTop]).getLexem(), ((Modifiers)yyVals[-5+yyTop])); c.setType(((Type)yyVals[-4+yyTop])); c.setValue(((Expr)yyVals[-1+yyTop])); yyVal = c; } break; case 78: // line 858 "./../src/mycompiler/myparser/JavaParser.jay" { /* SCJU: Interface*/ yyVal = ((Method)yyVals[-1+yyTop]); } break; case 79: // line 871 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); ret.setType(((Type)yyVals[-3+yyTop])); ret.set_DeclId(((DeclId)yyVals[-2+yyTop])); ret.setWert(((Expr)yyVals[0+yyTop])); yyVal=ret; } break; case 80: // line 879 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset()); ret.set_DeclId(((DeclId)yyVals[-2+yyTop])); ret.setWert(((Expr)yyVals[0+yyTop])); yyVal=ret; } break; case 81: // line 887 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; case 82: // line 891 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((FieldDeclaration)yyVals[0+yyTop]); } break; case 83: // line 897 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((FieldDeclaration)yyVals[-1+yyTop]); } break; case 84: // line 902 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + ((Type)yyVals[-2+yyTop])); ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; case 85: // line 909 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); for(int i=0;i<(((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdVector().size());i++) { ((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdVector().elementAt(i).modifiers=((Modifiers)yyVals[-3+yyTop]); } yyVal = ((FieldDeclaration)yyVals[-1+yyTop]); } break; case 86: // line 919 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 87: // line 926 "./../src/mycompiler/myparser/JavaParser.jay" { Block Bl = new Block(); yyVal=Bl; } break; case 88: // line 932 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; case 89: // line 937 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CON = new Constructor(null); /*TODO: Der Parser kann sowieso nicht zwischen einem Konstruktor und einer Methode unterscheiden. Das hier kann wegfallen...*/ DeclId DIDCon = new DeclId(); DIDCon.set_Name(((UsedId)yyVals[-2+yyTop]).get_Name_1Element()); CON.set_DeclId(DIDCon); yyVal=CON; } break; case 90: // line 945 "./../src/mycompiler/myparser/JavaParser.jay" { Constructor CONpara = new Constructor(null); DeclId DIconpara = new DeclId(); DIconpara.set_Name(((UsedId)yyVals[-3+yyTop]).get_Name_1Element()); CONpara.set_DeclId(DIconpara); CONpara.setParameterList(((ParameterList)yyVals[-1+yyTop])); yyVal=CONpara; } break; case 91: // line 955 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBL = new Block(); yyVal=CBL; } break; case 92: // line 960 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBLexpl = new Block(); CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop])); yyVal=CBLexpl; } break; case 93: // line 966 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[-1+yyTop]); } break; case 94: // line 970 "./../src/mycompiler/myparser/JavaParser.jay" { Block CBes = new Block(); CBes.set_Statement(((Statement)yyVals[-2+yyTop])); for(int j=0;j<((Block)yyVals[-1+yyTop]).statements.size();j++) { CBes.set_Statement((Statement)((Block)yyVals[-1+yyTop]).statements.elementAt(j)); } yyVal=CBes; } break; case 95: // line 981 "./../src/mycompiler/myparser/JavaParser.jay" { ExceptionList EL = new ExceptionList(); EL.set_addElem(((RefType)yyVals[0+yyTop])); yyVal=EL; } break; case 96: // line 988 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal = ((GenericTypeVar)yyVals[0+yyTop]); } break; case 97: // line 993 "./../src/mycompiler/myparser/JavaParser.jay" { ParaList p = new ParaList(); p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=p; } break; case 98: // line 999 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((ParaList)yyVals[-2+yyTop]); } break; case 99: // line 1006 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset()); } break; case 100: // line 1010 "./../src/mycompiler/myparser/JavaParser.jay" { BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(),((Token)yyVals[-2+yyTop]).getOffset()); gtv.setBounds(((Vector)yyVals[0+yyTop])); yyVal=gtv; } break; case 101: // line 1017 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((RefType)yyVals[0+yyTop])); containedTypes.addElement(((RefType)yyVals[0+yyTop])); yyVal=vec; } break; case 102: // line 1024 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((RefType)yyVals[0+yyTop])); containedTypes.addElement(((RefType)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; case 103: // line 1031 "./../src/mycompiler/myparser/JavaParser.jay" { Vector vec=new Vector(); vec.addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=vec; } break; case 104: // line 1037 "./../src/mycompiler/myparser/JavaParser.jay" { ((Vector)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop])); yyVal=((Vector)yyVals[-2+yyTop]); } break; case 105: // line 1045 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; case 106: // line 1051 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; case 107: // line 1056 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; case 108: // line 1062 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); ((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; case 109: // line 1069 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 110: // line 1075 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 111: // line 1082 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 112: // line 1089 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop])); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 113: // line 1097 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); yyVal=((Method)yyVals[0+yyTop]); } break; case 114: // line 1103 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); ((Method)yyVals[0+yyTop]).setType(voit); yyVal=((Method)yyVals[0+yyTop]); } break; case 115: // line 1110 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 116: // line 1117 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop])); ((Method)yyVals[-1+yyTop]).setType(voyd); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 117: // line 1125 "./../src/mycompiler/myparser/JavaParser.jay" { Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).setType(Voit); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; case 118: // line 1132 "./../src/mycompiler/myparser/JavaParser.jay" { Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset()); ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-5+yyTop])); ((Method)yyVals[0+yyTop]).setType(voit); ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-3+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; case 119: // line 1140 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).setType(voyt); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 120: // line 1148 "./../src/mycompiler/myparser/JavaParser.jay" { Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset()); ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-6+yyTop])); ((Method)yyVals[-1+yyTop]).setType(voyd); ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); ((Method)yyVals[-1+yyTop]).setGenericMethodParameters(((Vector)yyVals[-4+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 121: // line 1158 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */ yyVal=((Method)yyVals[0+yyTop]); } break; case 122: // line 1163 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[0+yyTop]).setGenericMethodParameters(((Vector)yyVals[-2+yyTop])); yyVal=((Method)yyVals[0+yyTop]); } break; case 123: // line 1170 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-1+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ yyVal=((Method)yyVals[0+yyTop]); } break; case 124: // line 1176 "./../src/mycompiler/myparser/JavaParser.jay" { /*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 125: // line 1182 "./../src/mycompiler/myparser/JavaParser.jay" { ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/ ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop])); yyVal=((Method)yyVals[-1+yyTop]); } break; case 126: // line 1191 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; case 127: // line 1195 "./../src/mycompiler/myparser/JavaParser.jay" { ((BaseType)yyVals[-2+yyTop]).setArray(true); } break; case 128: // line 1199 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((RefType)yyVals[0+yyTop]); } break; case 129: // line 1203 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).setArray(true); } break; case 130: // line 1207 "./../src/mycompiler/myparser/JavaParser.jay" { FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset()); IVD.getDeclIdVector().addElement( ((DeclId)yyVals[0+yyTop]) ); IVD.setOffset(((DeclId)yyVals[0+yyTop]).getOffset()); yyVal = IVD; } break; case 131: // line 1214 "./../src/mycompiler/myparser/JavaParser.jay" { ((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop])); yyVal=((FieldDeclaration)yyVals[-2+yyTop]); } break; case 132: // line 1220 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; case 133: // line 1225 "./../src/mycompiler/myparser/JavaParser.jay" { Block Blstat = new Block(); Blstat.set_Statement(((Statement)yyVals[0+yyTop])); yyVal=Blstat; } break; case 134: // line 1232 "./../src/mycompiler/myparser/JavaParser.jay" { ((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop])); yyVal=((Block)yyVals[-1+yyTop]); } break; case 135: // line 1238 "./../src/mycompiler/myparser/JavaParser.jay" { ParameterList PL = new ParameterList(); PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = PL; } break; case 136: // line 1244 "./../src/mycompiler/myparser/JavaParser.jay" { ((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop])); yyVal = ((ParameterList)yyVals[-2+yyTop]); } break; case 137: // line 1250 "./../src/mycompiler/myparser/JavaParser.jay" { This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length()); yyVal=THCON; } break; case 138: // line 1255 "./../src/mycompiler/myparser/JavaParser.jay" { This THCONargl = new This(((Token)yyVals[-4+yyTop]).getOffset(),((Token)yyVals[-4+yyTop]).getLexem().length()); THCONargl.set_ArgumentList(((ArgumentList)yyVals[-2+yyTop])); yyVal=THCONargl; } break; case 139: // line 1264 "./../src/mycompiler/myparser/JavaParser.jay" { RefType RT = new RefType(-1); RT.set_UsedId(((UsedId)yyVals[0+yyTop])); RT.setName(RT.get_UsedId().get_Name_1Element()); yyVal=RT; } break; case 140: // line 1271 "./../src/mycompiler/myparser/JavaParser.jay" { ((RefType)yyVals[-2+yyTop]).set_UsedId(((UsedId)yyVals[0+yyTop])); ((RefType)yyVals[-2+yyTop]).setName(((RefType)yyVals[-2+yyTop]).get_UsedId().get_Name_1Element()); yyVal=((RefType)yyVals[-2+yyTop]); } break; case 141: // line 1278 "./../src/mycompiler/myparser/JavaParser.jay" { Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset()); /* #JB# 10.04.2005 */ /* ########################################################### */ met.setLineNumber(((Token)yyVals[-2+yyTop]).getLineNumber()); met.setOffset(((Token)yyVals[-2+yyTop]).getOffset());/*hinzugef�gt hoth: 07.04.2006*/ /* ########################################################### */ DeclId DImethod = new DeclId(); DImethod.set_Name(((Token)yyVals[-2+yyTop]).getLexem()); met.set_DeclId(DImethod); yyVal = met; } break; case 142: // line 1291 "./../src/mycompiler/myparser/JavaParser.jay" { Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset()); /* #JB# 10.04.2005 */ /* ########################################################### */ met_para.setLineNumber(((Token)yyVals[-3+yyTop]).getLineNumber()); met_para.setOffset(((Token)yyVals[-3+yyTop]).getOffset());/*hinzugef�gt hoth: 07.04.2006*/ /* ########################################################### */ DeclId Dimet_para = new DeclId(); Dimet_para.set_Name(((Token)yyVals[-3+yyTop]).getLexem()); met_para.set_DeclId(Dimet_para); met_para.setParameterList(((ParameterList)yyVals[-1+yyTop])); yyVal = met_para; } break; case 143: // line 1306 "./../src/mycompiler/myparser/JavaParser.jay" { BooleanType BT = new BooleanType(); /* #JB# 05.04.2005 */ /* ########################################################### */ /*BT.setName($1.getLexem());*/ /* ########################################################### */ yyVal=BT; } break; case 144: // line 1315 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; case 145: // line 1321 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop])); RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getOffset()); /*ausgetauscht PL 05-07-30*/ /*RT.set_UsedId($1); */ /*RT.setName(RT.get_UsedId().get_Name_1Element());*/ RT.set_ParaList(((UsedId)yyVals[0+yyTop]).get_RealParaList()); RT.setName(((UsedId)yyVals[0+yyTop]).getQualifiedName()); /*PL 05-07-30 eingefuegt containedTypes ANFANG*/ containedTypes.addElement(RT); /*PL 05-07-30 eingefuegt containedTypes ENDE*/ yyVal=RT; } break; case 146: // line 1341 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((DeclId)yyVals[0+yyTop]); } break; case 147: // line 1362 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[0+yyTop]); } break; case 148: // line 1366 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 149: // line 1371 "./../src/mycompiler/myparser/JavaParser.jay" { FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); FP.setType(((Type)yyVals[-1+yyTop])); /*FP.set_DeclId($2);*/ yyVal=FP; } break; case 150: // line 1396 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name); FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop])); /* #JB# 31.03.2005*/ /* ###########################################################*/ /*Type T = TypePlaceholder.fresh(); //auskommentiert von Andreas Stadelmeier*/ /* Type T = new TypePlaceholder(""); /* otth: Name wird automatisch berechnet * /*/ /* ###########################################################*/ /*org.apache.log4j.Logger.getLogger("parser").debug("\n--> berechneter Name: " + T.getName());*/ /*auskommentiert von Andreas Stadelmeier (a10023) FP.setType( T );*/ /*FP.set_DeclId($1);*/ yyVal=FP; } break; case 151: // line 1415 "./../src/mycompiler/myparser/JavaParser.jay" { ArgumentList AL = new ArgumentList(); AL.expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=AL; } break; case 152: // line 1421 "./../src/mycompiler/myparser/JavaParser.jay" { ((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop])); yyVal=((ArgumentList)yyVals[-2+yyTop]); } break; case 153: // line 1427 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((BaseType)yyVals[0+yyTop]); } break; case 154: // line 1432 "./../src/mycompiler/myparser/JavaParser.jay" { DeclId DI = new DeclId(); /* #JB# 10.04.2005 */ /* ########################################################### */ DI.setLineNumber(((Token)yyVals[0+yyTop]).getLineNumber()); DI.setOffset(((Token)yyVals[0+yyTop]).getOffset());/*hinzugef�gt hoth: 07.04.2006*/ /* ########################################################### */ DI.set_Name(((Token)yyVals[0+yyTop]).getLexem()); yyVal=DI; } break; case 155: // line 1444 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 156: // line 1449 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((LocalVarDecl)yyVals[-1+yyTop]); } break; case 157: // line 1454 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 158: // line 1458 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 159: // line 1462 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 160: // line 1466 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; case 161: // line 1470 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ForStmt)yyVals[0+yyTop]); } break; case 162: // line 1475 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 163: // line 1479 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((NewClass)yyVals[0+yyTop]); } break; case 164: // line 1484 "./../src/mycompiler/myparser/JavaParser.jay" { IntegerType IT = new IntegerType(); /* #JB# 05.04.2005 */ /* ########################################################### */ /*IT.setName($1.getLexem());*/ /* ########################################################### */ yyVal=IT; } break; case 165: // line 1493 "./../src/mycompiler/myparser/JavaParser.jay" { CharacterType CT = new CharacterType(); /* #JB# 05.04.2005 */ /* ########################################################### */ /*CT.setName($1.getLexem());*/ /* ########################################################### */ yyVal=CT; } break; case 166: // line 1503 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((Type)yyVals[-1+yyTop]).getOffset(),((Type)yyVals[-1+yyTop]).getVariableLength()); LVD.setType(((Type)yyVals[-1+yyTop])); LVD.setDeclidVector(((FieldDeclaration)yyVals[0+yyTop]).getDeclIdVector()); yyVal = LVD; } break; case 167: // line 1514 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!"); LocalVarDecl LVD = new LocalVarDecl(((FieldDeclaration)yyVals[0+yyTop]).getOffset(),((FieldDeclaration)yyVals[0+yyTop]).getVariableLength()); /*auskommentiert von Andreas Stadelmeier (a10023) LVD.setType(TypePlaceholder.fresh());*/ LVD.setDeclidVector(((FieldDeclaration)yyVals[0+yyTop]).getDeclIdVector()); yyVal = LVD; } break; case 168: // line 1524 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; case 169: // line 1528 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((EmptyStmt)yyVals[0+yyTop]); } break; case 170: // line 1532 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ExprStmt)yyVals[0+yyTop]); } break; case 171: // line 1536 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Return)yyVals[0+yyTop]); } break; case 172: // line 1541 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Ifst.set_Expr(((Expr)yyVals[-2+yyTop])); Ifst.set_Then_block(((Statement)yyVals[0+yyTop])); yyVal=Ifst; } break; case 173: // line 1549 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfstElst.set_Expr(((Expr)yyVals[-4+yyTop])); IfstElst.set_Then_block(((Statement)yyVals[-2+yyTop])); IfstElst.set_Else_block(((Statement)yyVals[0+yyTop])); yyVal=IfstElst; } break; case 174: // line 1558 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whlst.set_Expr(((Expr)yyVals[-2+yyTop])); Whlst.set_Loop_block(((Statement)yyVals[0+yyTop])); yyVal=Whlst; } break; case 175: // line 1569 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-6+yyTop])); Fst.set_head_Condition(((Expr)yyVals[-4+yyTop])); Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop])); Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); /*Typannahme*/ yyVal = Fst; } break; case 176: // line 1581 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); Fst.set_head_Condition(((Expr)yyVals[-3+yyTop])); Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); /*Typannahme*/ yyVal = Fst; } break; case 177: // line 1592 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop])); Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop])); Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); /*Typannahme*/ yyVal = Fst; } break; case 178: // line 1603 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-4+yyTop])); Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop])); Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); /*Typannahme*/ yyVal = Fst; } break; case 179: // line 1614 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); Fst.set_head_Initializer(((Expr)yyVals[-4+yyTop])); Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); /*Typannahme*/ yyVal = Fst; } break; case 180: // line 1624 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength()); Fst.set_head_Condition(((Expr)yyVals[-3+yyTop])); Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); /*Typannahme*/ yyVal = Fst; } break; case 181: // line 1634 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Fst.set_head_Loop_expr(((Expr)yyVals[-2+yyTop])); Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); /*Typannahme*/ yyVal = Fst; } break; case 182: // line 1644 "./../src/mycompiler/myparser/JavaParser.jay" { ForStmt Fst = new ForStmt(((Statement)yyVals[0+yyTop]).getOffset(),((Statement)yyVals[0+yyTop]).getVariableLength()); Fst.set_body_Loop_block(((Statement)yyVals[0+yyTop])); /*Typannahme*/ yyVal = Fst; } break; case 183: // line 1653 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression"); yyVal=((Expr)yyVals[0+yyTop]); } break; case 184: // line 1658 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; case 185: // line 1664 "./../src/mycompiler/myparser/JavaParser.jay" { EmptyStmt Empst = new EmptyStmt(); yyVal=Empst; } break; case 186: // line 1670 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[-1+yyTop]); } break; case 187: // line 1675 "./../src/mycompiler/myparser/JavaParser.jay" { Return ret = new Return(-1,-1); yyVal= ret; } break; case 188: // line 1680 "./../src/mycompiler/myparser/JavaParser.jay" { Return retexp = new Return(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); retexp.set_ReturnExpr(((Expr)yyVals[-1+yyTop])); yyVal=retexp; } break; case 189: // line 1687 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Statement)yyVals[0+yyTop]); } break; case 190: // line 1691 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((IfStmt)yyVals[0+yyTop]); } break; case 191: // line 1695 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((WhileStmt)yyVals[0+yyTop]); } break; case 192: // line 1700 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 193: // line 1706 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n"); Assign Ass = new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); LocalOrFieldVar LOFV = new LocalOrFieldVar(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); LOFV.set_UsedId(((UsedId)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());*/ /*auskommentiert von Andreas Stadelmeier (a10023) Ass.setType(TypePlaceholder.fresh());*/ if( ((Operator)yyVals[-1+yyTop]) == null ) { org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1 --> " + ((Expr)yyVals[0+yyTop]) + " \n"); Ass.set_Expr( LOFV,((Expr)yyVals[0+yyTop]) ); } else { Binary Bin = new Binary(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); Bin.set_Expr1(LOFV); Bin.set_Operator(((Operator)yyVals[-1+yyTop])); Bin.set_Expr2(((Expr)yyVals[0+yyTop])); org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1 --> Binary\n"); /*auskommentiert von Andreas Stadelmeier (a10023) Bin.setType(TypePlaceholder.fresh());*/ Ass.set_Expr( LOFV, Bin ); } yyVal=Ass; } break; case 194: // line 1731 "./../src/mycompiler/myparser/JavaParser.jay" { Assign Ass =new Assign(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); LocalOrFieldVar LOFV = new LocalOrFieldVar(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); LOFV.set_UsedId(((UsedId)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());*/ /*auskommentiert von Andreas Stadelmeier (a10023) Ass.setType(TypePlaceholder.fresh());*/ if(((Operator)yyVals[-1+yyTop])==null) { Ass.set_Expr(LOFV,((NewClass)yyVals[0+yyTop])); } else { Binary Bin = new Binary(((NewClass)yyVals[0+yyTop]).getOffset(),((NewClass)yyVals[0+yyTop]).getVariableLength()); Bin.set_Expr1(LOFV); Bin.set_Operator(((Operator)yyVals[-1+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) Bin.setType(TypePlaceholder.fresh());*/ Bin.set_Expr2(((NewClass)yyVals[0+yyTop])); Ass.set_Expr(LOFV,Bin); } yyVal=Ass; } break; case 195: // line 1754 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Assign)yyVals[0+yyTop]); } break; case 196: // line 1758 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 197: // line 1762 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 198: // line 1766 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 199: // line 1770 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 200: // line 1774 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; case 201: // line 1785 "./../src/mycompiler/myparser/JavaParser.jay" { IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); IfElno.set_Expr(((Expr)yyVals[-4+yyTop])); IfElno.set_Then_block(((Statement)yyVals[-2+yyTop])); IfElno.set_Else_block(((Statement)yyVals[0+yyTop])); yyVal=IfElno; } break; case 202: // line 1794 "./../src/mycompiler/myparser/JavaParser.jay" { WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); Whstno.set_Expr(((Expr)yyVals[-2+yyTop])); Whstno.set_Loop_block(((Statement)yyVals[0+yyTop])); yyVal=Whstno; } break; case 203: // line 1802 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 204: // line 1806 "./../src/mycompiler/myparser/JavaParser.jay" { Binary LogOr = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); OrOp OrO = new OrOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); LogOr.set_Expr1(((Expr)yyVals[-2+yyTop])); LogOr.set_Expr2(((Expr)yyVals[0+yyTop])); LogOr.set_Operator(OrO); /*auskommentiert von Andreas Stadelmeier (a10023) LogOr.setType(TypePlaceholder.fresh());*/ yyVal=LogOr; } break; case 205: // line 1819 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; case 206: // line 1824 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Block)yyVals[0+yyTop]); } break; case 207: // line 1828 "./../src/mycompiler/myparser/JavaParser.jay" { /*Lambdabody kann auch nur aus einer Expression bestehen. In diesem Fall wird ein Block erstellt, welcher als einziges Statement ein return statment mit der expression hat.*/ /*Bsp.: Aus der Expression |var=="hallo"| wird: |{return var=="hallo";}|*/ Block ret=new Block(); ret.statements.add((Statement)new Return(0,0).set_ReturnExpr(((Expr)yyVals[0+yyTop]))); /*ret.statements.add((ExprStmt)$1);*/ yyVal=ret; } break; case 208: // line 1838 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; case 209: // line 1842 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((ParameterList)yyVals[-1+yyTop]); } break; case 210: // line 1847 "./../src/mycompiler/myparser/JavaParser.jay" { LambdaExpression lambda = new LambdaExpression(/*((ParameSterList)$2).getOffset(),((ParameterList)$2).getVariableLength()*/0,0); if(((ParameterList)yyVals[-2+yyTop])!=null)lambda.setParameterList(((ParameterList)yyVals[-2+yyTop])); lambda.setBody((Block)((Block)yyVals[0+yyTop])); yyVal=lambda; } break; case 211: // line 1866 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((UsedId)yyVals[0+yyTop]); } break; case 212: // line 1871 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=null; } break; case 213: // line 1875 "./../src/mycompiler/myparser/JavaParser.jay" { TimesOp TEO = new TimesOp(-1,-1); yyVal=TEO; } break; case 214: // line 1880 "./../src/mycompiler/myparser/JavaParser.jay" { DivideOp DEO = new DivideOp(-1,-1); yyVal=DEO; } break; case 215: // line 1885 "./../src/mycompiler/myparser/JavaParser.jay" { ModuloOp MEO = new ModuloOp(-1,-1); yyVal=MEO; } break; case 216: // line 1890 "./../src/mycompiler/myparser/JavaParser.jay" { PlusOp PEO = new PlusOp(-1,-1); yyVal=PEO; } break; case 217: // line 1895 "./../src/mycompiler/myparser/JavaParser.jay" { MinusOp MEO = new MinusOp(-1,-1); yyVal=MEO; } break; case 218: // line 1907 "./../src/mycompiler/myparser/JavaParser.jay" { PreIncExpr PRINC = new PreIncExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRINC.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=PRINC; } break; case 219: // line 1914 "./../src/mycompiler/myparser/JavaParser.jay" { PreDecExpr PRDEC = new PreDecExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); PRDEC.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=PRDEC; } break; case 220: // line 1921 "./../src/mycompiler/myparser/JavaParser.jay" { PostIncExpr PIE = new PostIncExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PIE.set_Expr(((Expr)yyVals[-1+yyTop])); yyVal=PIE; } break; case 221: // line 1928 "./../src/mycompiler/myparser/JavaParser.jay" { PostDecExpr PDE = new PostDecExpr(((Expr)yyVals[-1+yyTop]).getOffset(),((Expr)yyVals[-1+yyTop]).getVariableLength()); PDE.set_Expr(((Expr)yyVals[-1+yyTop])); yyVal=PDE; } break; case 222: // line 1936 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M1"); MethodCall MC = new MethodCall(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); UsedId udidmeth = new UsedId(((UsedId)yyVals[-2+yyTop]).getOffset()); udidmeth.set_Name((String)((((UsedId)yyVals[-2+yyTop]).get_Name()).elementAt(((UsedId)yyVals[-2+yyTop]).get_Name().size()-1))); MC.set_UsedId(udidmeth); Receiver rec = null; if (((UsedId)yyVals[-2+yyTop]).get_Name().size() > 2) { ((UsedId)yyVals[-2+yyTop]).removeLast(); /*macht aus der Liste von Strings */ /*in usedid.name einen InstVar */ InstVar INSTVA = new InstVar(((UsedId)yyVals[-2+yyTop]),((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); /*auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh());*/ rec = new Receiver(INSTVA); } else if (((UsedId)yyVals[-2+yyTop]).get_Name().size() == 2) { LocalOrFieldVar LOFV = new LocalOrFieldVar(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); ((UsedId)yyVals[-2+yyTop]).removeLast(); LOFV.set_UsedId(((UsedId)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());*/ rec = new Receiver(LOFV); } MC.set_Receiver(rec); /*auskommentiert von Andreas Stadelmeier (a10023) MC.setType(TypePlaceholder.fresh());*/ yyVal=MC; } break; case 223: // line 1966 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M2"); MethodCall MCarg = new MethodCall(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); UsedId udidmeth = new UsedId(((UsedId)yyVals[-3+yyTop]).getOffset()); udidmeth.set_Name((String)((((UsedId)yyVals[-3+yyTop]).get_Name()).elementAt(((UsedId)yyVals[-3+yyTop]).get_Name().size()-1))); MCarg.set_UsedId(udidmeth); Receiver rec = null; if (((UsedId)yyVals[-3+yyTop]).get_Name().size() > 2) { ((UsedId)yyVals[-3+yyTop]).removeLast(); /*macht aus der Liste von Strings */ /*in usedid.name einen InstVar */ InstVar INSTVA = new InstVar(((UsedId)yyVals[-3+yyTop]),((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); /*auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh());*/ rec = new Receiver(INSTVA); } else if (((UsedId)yyVals[-3+yyTop]).get_Name().size() == 2) { LocalOrFieldVar LOFV = new LocalOrFieldVar(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); ((UsedId)yyVals[-3+yyTop]).removeLast(); LOFV.set_UsedId(((UsedId)yyVals[-3+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());*/ rec = new Receiver(LOFV); } MCarg.set_Receiver(rec); MCarg.set_ArgumentList(((ArgumentList)yyVals[-1+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) MCarg.setType(TypePlaceholder.fresh());*/ yyVal=MCarg; } break; case 224: // line 1997 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M3"); MethodCall MCpr = new MethodCall(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength()); /* PL 05-08-21 primary ist kein UsedId*/ /*$1.usedid.set_Name($3.getLexem());*/ /*MCpr.set_UsedId($1.get_UsedId());*/ UsedId udidmeth = new UsedId(((Expr)yyVals[-4+yyTop]).getOffset()); udidmeth.set_Name(((Token)yyVals[-2+yyTop]).getLexem()); MCpr.set_UsedId(udidmeth); /* #JB# 04.06.2005 */ /* ########################################################### */ MCpr.set_Receiver(new Receiver(((Expr)yyVals[-4+yyTop]))); /* ########################################################### */ /*auskommentiert von Andreas Stadelmeier (a10023) MCpr.setType(TypePlaceholder.fresh());*/ yyVal=MCpr; } break; case 225: // line 2016 "./../src/mycompiler/myparser/JavaParser.jay" { org.apache.log4j.Logger.getLogger("parser").debug("M4"); MethodCall MCPA = new MethodCall(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength()); /* PL 05-08-21 primary ist kein UsedId*/ /*$1.usedid.set_Name($3.getLexem());*/ /*MCPA.set_UsedId($1.get_UsedId());*/ UsedId udidmeth = new UsedId(((Token)yyVals[-3+yyTop]).getOffset()); udidmeth.set_Name(((Token)yyVals[-3+yyTop]).getLexem()); MCPA.set_UsedId(udidmeth); /* #JB# 04.06.2005 */ /* ########################################################### */ MCPA.set_Receiver(new Receiver(((Expr)yyVals[-5+yyTop]))); /* ########################################################### */ MCPA.set_ArgumentList(((ArgumentList)yyVals[-1+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) MCPA.setType(TypePlaceholder.fresh());*/ yyVal=MCPA; } break; case 226: // line 2039 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength()); NC.set_UsedId(((UsedId)yyVals[-2+yyTop])); usedIdsToCheck.addElement(((UsedId)yyVals[-2+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) NC.setType(TypePlaceholder.fresh());*/ yyVal=NC; } break; case 227: // line 2047 "./../src/mycompiler/myparser/JavaParser.jay" { NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength()); NCarg.set_UsedId(((UsedId)yyVals[-3+yyTop])); usedIdsToCheck.addElement(((UsedId)yyVals[-3+yyTop])); NCarg.set_ArgumentList(((ArgumentList)yyVals[-1+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) NCarg.setType(TypePlaceholder.fresh());*/ yyVal=NCarg; } break; case 228: // line 2057 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 229: // line 2061 "./../src/mycompiler/myparser/JavaParser.jay" { Binary And = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); AndOp AndO = new AndOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); And.set_Expr1(((Expr)yyVals[-2+yyTop])); And.set_Expr2(((Expr)yyVals[0+yyTop])); And.set_Operator(AndO); /*auskommentiert von Andreas Stadelmeier (a10023) And.setType(TypePlaceholder.fresh());*/ yyVal=And; } break; case 230: // line 2077 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 231: // line 2081 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 232: // line 2085 "./../src/mycompiler/myparser/JavaParser.jay" { PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryPlus UP= new UnaryPlus(); POSEX.set_UnaryPlus(UP); POSEX.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=POSEX; } break; case 233: // line 2093 "./../src/mycompiler/myparser/JavaParser.jay" { NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryMinus UM=new UnaryMinus(); NEGEX.set_UnaryMinus(UM); NEGEX.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=NEGEX; } break; case 234: // line 2101 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 235: // line 2106 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 236: // line 2110 "./../src/mycompiler/myparser/JavaParser.jay" { if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) { /*macht aus der Liste von Strings */ /*in usedid.name einen InstVar */ InstVar INSTVA = new InstVar(((UsedId)yyVals[0+yyTop]),((UsedId)yyVals[0+yyTop]).getOffset(),((UsedId)yyVals[0+yyTop]).getVariableLength()); /*auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh());*/ yyVal = INSTVA; } else { LocalOrFieldVar Postincexpr = new LocalOrFieldVar(((UsedId)yyVals[0+yyTop]).getOffset(),((UsedId)yyVals[0+yyTop]).getVariableLength()); Postincexpr.set_UsedId(((UsedId)yyVals[0+yyTop])); /*auskommentiert von Andreas Stadelmeier (a10023) Postincexpr.setType(TypePlaceholder.fresh());*/ yyVal=Postincexpr; } } break; case 237: // line 2128 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 238: // line 2132 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 239: // line 2137 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 240: // line 2142 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 242: // line 2148 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Literal)yyVals[0+yyTop]); } break; case 243: // line 2152 "./../src/mycompiler/myparser/JavaParser.jay" { This T = new This(((Token)yyVals[0+yyTop]).getOffset(),((Token)yyVals[0+yyTop]).getLexem().length()); UsedId UT = new UsedId(((Token)yyVals[0+yyTop]).getOffset()); UT.set_Name(((Token)yyVals[0+yyTop]).getLexem()); T.set_UsedId(UT); yyVal=T; } break; case 244: // line 2173 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((MethodCall)yyVals[0+yyTop]); } break; case 245: // line 2177 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 246: // line 2182 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; case 247: // line 2184 "./../src/mycompiler/myparser/JavaParser.jay" {NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); UnaryNot UN=new UnaryNot(); NE.set_UnaryNot(UN); NE.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=NE; } break; case 248: // line 2190 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((CastExpr)yyVals[0+yyTop]);} break; case 249: // line 2192 "./../src/mycompiler/myparser/JavaParser.jay" {yyVal=((Expr)yyVals[0+yyTop]);} break; case 251: // line 2197 "./../src/mycompiler/myparser/JavaParser.jay" {IntLiteral IL = new IntLiteral(); IL.set_Int(((Token)yyVals[0+yyTop]).String2Int()); yyVal = IL; } break; case 252: // line 2202 "./../src/mycompiler/myparser/JavaParser.jay" {BoolLiteral BL = new BoolLiteral(); BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool()); yyVal = BL; } break; case 253: // line 2206 "./../src/mycompiler/myparser/JavaParser.jay" {CharLiteral CL = new CharLiteral(); CL.set_Char(((Token)yyVals[0+yyTop]).CharInString()); yyVal=CL; } break; case 254: // line 2211 "./../src/mycompiler/myparser/JavaParser.jay" { StringLiteral ST = new StringLiteral(); ST.set_String(((Token)yyVals[0+yyTop]).get_String()); yyVal=ST; } break; case 255: // line 2216 "./../src/mycompiler/myparser/JavaParser.jay" { LongLiteral LL = new LongLiteral(); LL.set_Long(((Token)yyVals[0+yyTop]).String2Long()); yyVal = LL; } break; case 256: // line 2220 "./../src/mycompiler/myparser/JavaParser.jay" { FloatLiteral FL = new FloatLiteral(); FL.set_Float(((Token)yyVals[0+yyTop]).String2Float()); yyVal = FL; } break; case 257: // line 2225 "./../src/mycompiler/myparser/JavaParser.jay" { DoubleLiteral DL = new DoubleLiteral(); DL.set_Double(((Token)yyVals[0+yyTop]).String2Double()); yyVal = DL; } break; case 258: // line 2231 "./../src/mycompiler/myparser/JavaParser.jay" { Null NN = new Null(); yyVal=NN; } break; case 259: // line 2237 "./../src/mycompiler/myparser/JavaParser.jay" { CastExpr CaEx=new CastExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength()); CaEx.set_Type(((BaseType)yyVals[-2+yyTop])); CaEx.set_Expr(((Expr)yyVals[0+yyTop])); yyVal=CaEx; } break; case 260: // line 2246 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 261: // line 2250 "./../src/mycompiler/myparser/JavaParser.jay" { } break; case 262: // line 2254 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 263: // line 2258 "./../src/mycompiler/myparser/JavaParser.jay" { Binary EQ = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); EqualOp EO = new EqualOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); EQ.set_Expr1(((Expr)yyVals[-2+yyTop])); EQ.set_Expr2(((Expr)yyVals[0+yyTop])); EQ.set_Operator(EO); /*auskommentiert von Andreas Stadelmeier (a10023) EQ.setType(TypePlaceholder.fresh());*/ yyVal=EQ; } break; case 264: // line 2268 "./../src/mycompiler/myparser/JavaParser.jay" { Binary NEQ = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); NotEqualOp NEO = new NotEqualOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); NEQ.set_Expr1(((Expr)yyVals[-2+yyTop])); NEQ.set_Expr2(((Expr)yyVals[0+yyTop])); NEQ.set_Operator(NEO); /*auskommentiert von Andreas Stadelmeier (a10023) NEQ.setType(TypePlaceholder.fresh());*/ yyVal=NEQ; } break; case 265: // line 2279 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 266: // line 2283 "./../src/mycompiler/myparser/JavaParser.jay" { Binary LO = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); LessOp LOO = new LessOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); LO.set_Expr1(((Expr)yyVals[-2+yyTop])); LO.set_Expr2(((Expr)yyVals[0+yyTop])); LO.set_Operator(LOO); /*auskommentiert von Andreas Stadelmeier (a10023) LO.setType(TypePlaceholder.fresh());*/ yyVal=LO; } break; case 267: // line 2293 "./../src/mycompiler/myparser/JavaParser.jay" { Binary GO = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); GreaterOp GOO = new GreaterOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); GO.set_Expr1(((Expr)yyVals[-2+yyTop])); GO.set_Expr2(((Expr)yyVals[0+yyTop])); GO.set_Operator( GOO ); /*auskommentiert von Andreas Stadelmeier (a10023) GO.setType(TypePlaceholder.fresh());*/ yyVal=GO; } break; case 268: // line 2303 "./../src/mycompiler/myparser/JavaParser.jay" { Binary LE = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); LessEquOp LEO = new LessEquOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); LE.set_Expr1(((Expr)yyVals[-2+yyTop])); LE.set_Expr2(((Expr)yyVals[0+yyTop])); LE.set_Operator(LEO); /*auskommentiert von Andreas Stadelmeier (a10023) LE.setType(TypePlaceholder.fresh());*/ yyVal=LE; } break; case 269: // line 2313 "./../src/mycompiler/myparser/JavaParser.jay" { Binary GE = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); GreaterEquOp GEO = new GreaterEquOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); GE.set_Expr1(((Expr)yyVals[-2+yyTop])); GE.set_Expr2(((Expr)yyVals[0+yyTop])); GE.set_Operator(GEO); /*auskommentiert von Andreas Stadelmeier (a10023) GE.setType(TypePlaceholder.fresh());*/ yyVal=GE; } break; case 270: // line 2323 "./../src/mycompiler/myparser/JavaParser.jay" { InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); ISO.set_Expr(((Expr)yyVals[-2+yyTop])); ISO.set_Type(((RefType)yyVals[0+yyTop])); yyVal=ISO; } break; case 271: // line 2331 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 272: // line 2336 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 273: // line 2340 "./../src/mycompiler/myparser/JavaParser.jay" { Binary AD = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); PlusOp PO = new PlusOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); AD.set_Expr1(((Expr)yyVals[-2+yyTop])); AD.set_Expr2(((Expr)yyVals[0+yyTop])); AD.set_Operator(PO); /*auskommentiert von Andreas Stadelmeier (a10023) AD.setType(TypePlaceholder.fresh());*/ yyVal=AD; } break; case 274: // line 2350 "./../src/mycompiler/myparser/JavaParser.jay" { Binary MI = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); MinusOp MO = new MinusOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); MI.set_Expr1(((Expr)yyVals[-2+yyTop])); MI.set_Expr2(((Expr)yyVals[0+yyTop])); MI.set_Operator(MO); /*auskommentiert von Andreas Stadelmeier (a10023) MI.setType(TypePlaceholder.fresh());*/ yyVal=MI; } break; case 275: // line 2361 "./../src/mycompiler/myparser/JavaParser.jay" { yyVal=((Expr)yyVals[0+yyTop]); } break; case 276: // line 2365 "./../src/mycompiler/myparser/JavaParser.jay" { Binary ML = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); TimesOp TO = new TimesOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); ML.set_Expr1(((Expr)yyVals[-2+yyTop])); ML.set_Expr2(((Expr)yyVals[0+yyTop])); ML.set_Operator(TO); /*auskommentiert von Andreas Stadelmeier (a10023) ML.setType(TypePlaceholder.fresh());*/ yyVal=ML; } break; case 277: // line 2375 "./../src/mycompiler/myparser/JavaParser.jay" { Binary DV = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); DivideOp DO = new DivideOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); DV.set_Expr1(((Expr)yyVals[-2+yyTop])); DV.set_Expr2(((Expr)yyVals[0+yyTop])); DV.set_Operator(DO); /*auskommentiert von Andreas Stadelmeier (a10023) DV.setType(TypePlaceholder.fresh());*/ yyVal = DV; } break; case 278: // line 2385 "./../src/mycompiler/myparser/JavaParser.jay" { Binary MD = new Binary(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); ModuloOp MO = new ModuloOp(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength()); MD.set_Expr1(((Expr)yyVals[-2+yyTop])); MD.set_Expr2(((Expr)yyVals[0+yyTop])); MD.set_Operator(MO); /*auskommentiert von Andreas Stadelmeier (a10023) MD.setType(TypePlaceholder.fresh());*/ yyVal =MD; } break; // line 3110 "-" } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; int yyM = yyLhs[yyN]; if (yyState == 0 && yyM == 0) { //t if (yydebug != null) yydebug.shift(0, yyFinal); yyState = yyFinal; if (yyToken < 0) { yyToken = yyLex.advance() ? yyLex.token() : 0; //t if (yydebug != null) //t yydebug.lex(yyState, yyToken,yyname(yyToken), yyLex.value()); } if (yyToken == 0) { //t if (yydebug != null) yydebug.accept(yyVal); return yyVal; } continue yyLoop; } if ((yyN = yyGindex[yyM]) != 0 && (yyN += yyState) >= 0 && yyN < yyTable.length && yyCheckInit.yyCheck[yyN] == yyState) yyState = yyTable[yyN]; else yyState = yyDgoto[yyM]; //t if (yydebug != null) yydebug.shift(yyStates[yyTop], yyState); continue yyLoop; } } } protected static final short yyLhs [] = { -1, 0, 98, 26, 26, 25, 92, 92, 27, 27, 105, 105, 23, 24, 24, 22, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 8, 8, 2, 2, 2, 2, 112, 112, 112, 112, 112, 112, 114, 114, 114, 7, 7, 40, 40, 28, 32, 32, 3, 3, 33, 33, 15, 15, 41, 41, 41, 41, 41, 41, 29, 4, 4, 31, 16, 16, 16, 30, 113, 113, 5, 5, 17, 17, 110, 106, 106, 10, 6, 19, 19, 11, 11, 11, 11, 11, 13, 42, 42, 107, 107, 108, 108, 108, 108, 48, 94, 97, 97, 93, 93, 95, 95, 96, 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 39, 39, 39, 39, 18, 18, 43, 44, 44, 50, 50, 109, 109, 38, 38, 14, 14, 36, 36, 37, 20, 80, 80, 49, 49, 103, 103, 35, 21, 78, 46, 81, 81, 81, 81, 81, 71, 71, 34, 34, 47, 47, 79, 79, 79, 79, 86, 87, 83, 84, 84, 84, 84, 84, 84, 84, 84, 69, 69, 89, 77, 90, 90, 82, 82, 82, 68, 99, 99, 72, 72, 72, 72, 72, 72, 88, 85, 67, 67, 101, 45, 45, 51, 51, 70, 102, 100, 100, 100, 100, 100, 100, 73, 74, 75, 76, 104, 104, 104, 104, 91, 91, 66, 66, 57, 57, 57, 57, 57, 55, 55, 55, 55, 54, 65, 65, 53, 53, 53, 53, 56, 56, 56, 64, 64, 52, 52, 52, 52, 52, 52, 52, 52, 111, 63, 63, 62, 62, 62, 61, 61, 61, 61, 61, 61, 60, 59, 59, 59, 58, 58, 58, 58, }; protected static final short yyLen [] = { 2, 1, 3, 1, 2, 3, 1, 2, 1, 1, 1, 1, 3, 3, 3, 1, 3, 4, 4, 5, 4, 5, 5, 6, 1, 4, 1, 4, 3, 4, 4, 5, 1, 4, 1, 3, 6, 3, 1, 3, 3, 2, 3, 1, 2, 2, 2, 3, 2, 3, 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 0, 3, 1, 1, 1, 1, 2, 2, 3, 6, 2, 4, 3, 2, 2, 2, 3, 4, 2, 2, 3, 3, 4, 2, 3, 3, 4, 2, 1, 1, 3, 1, 3, 1, 3, 1, 3, 5, 2, 3, 6, 3, 6, 4, 7, 2, 3, 3, 4, 5, 6, 6, 7, 1, 4, 2, 2, 3, 1, 3, 1, 3, 1, 3, 1, 1, 2, 1, 3, 4, 5, 1, 3, 3, 4, 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 5, 7, 5, 9, 8, 8, 8, 7, 7, 7, 6, 1, 1, 1, 2, 2, 3, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 7, 5, 1, 3, 1, 1, 1, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 4, 5, 6, 4, 5, 1, 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 3, 1, 3, 3, 1, 3, 3, 3, 3, 3, 1, 1, 3, 3, 1, 3, 3, 3, }; protected static final short yyDefRed [] = { 0, 58, 0, 59, 56, 55, 54, 0, 57, 0, 10, 11, 0, 43, 0, 6, 0, 0, 0, 0, 0, 0, 44, 7, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 96, 97, 0, 15, 0, 45, 60, 63, 46, 143, 165, 164, 0, 0, 0, 0, 41, 72, 0, 73, 0, 0, 52, 64, 0, 0, 0, 146, 0, 145, 153, 144, 0, 0, 0, 0, 66, 0, 65, 18, 0, 0, 20, 0, 50, 0, 48, 0, 61, 71, 70, 0, 0, 0, 0, 30, 17, 0, 0, 29, 0, 0, 0, 27, 0, 67, 0, 74, 0, 0, 0, 103, 0, 132, 86, 0, 124, 42, 53, 0, 83, 81, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 75, 22, 47, 25, 49, 62, 78, 0, 51, 19, 0, 21, 31, 101, 0, 98, 0, 0, 0, 34, 0, 0, 0, 243, 0, 251, 255, 257, 256, 252, 258, 253, 254, 0, 0, 0, 185, 87, 0, 0, 130, 0, 8, 0, 0, 168, 0, 147, 0, 0, 242, 239, 0, 0, 245, 0, 196, 197, 0, 0, 170, 157, 133, 148, 160, 161, 158, 159, 169, 171, 195, 0, 0, 115, 141, 150, 0, 135, 0, 0, 0, 139, 0, 154, 131, 0, 0, 0, 0, 0, 9, 0, 234, 275, 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 183, 162, 80, 230, 231, 237, 238, 163, 184, 244, 248, 89, 0, 127, 129, 109, 84, 0, 0, 0, 0, 125, 0, 0, 0, 76, 0, 91, 0, 0, 0, 23, 0, 0, 0, 0, 0, 69, 0, 0, 187, 0, 0, 0, 218, 219, 208, 0, 0, 0, 0, 88, 134, 156, 205, 0, 0, 220, 221, 186, 216, 217, 213, 214, 215, 212, 0, 149, 0, 142, 104, 0, 122, 0, 0, 0, 0, 232, 233, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 116, 0, 111, 85, 0, 93, 92, 0, 0, 102, 0, 39, 40, 0, 37, 0, 0, 0, 188, 0, 209, 12, 222, 151, 0, 206, 210, 207, 0, 193, 194, 136, 0, 0, 140, 0, 0, 276, 277, 278, 0, 0, 270, 268, 269, 266, 267, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 94, 0, 33, 0, 0, 0, 0, 0, 0, 0, 223, 0, 119, 110, 226, 0, 259, 0, 0, 137, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 191, 190, 174, 152, 224, 0, 227, 120, 112, 138, 36, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 181, 180, 0, 179, 0, 0, 0, 0, 0, 173, 178, 177, 176, 0, 0, 0, 175, 0, 202, 0, 201, }; protected static final short yyDgoto [] = { 9, 10, 11, 34, 86, 87, 88, 28, 17, 19, 89, 56, 57, 58, 59, 60, 61, 62, 175, 64, 176, 66, 226, 178, 0, 0, 0, 179, 29, 44, 68, 47, 30, 35, 69, 70, 71, 72, 218, 180, 12, 13, 181, 113, 182, 366, 183, 184, 115, 213, 287, 185, 186, 187, 188, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 190, 363, 191, 243, 244, 245, 246, 196, 0, 197, 198, 199, 431, 200, 201, 432, 202, 203, 433, 204, 205, 247, 14, 39, 40, 150, 111, 41, 0, 248, 306, 295, 207, 364, 249, 15, 75, 76, 136, 269, 77, 250, 154, 104, 155, }; protected static final short yySindex [] = { 363, 0, -245, 0, 0, 0, 0, -200, 0, 0, 0, 0, 431, 0, 363, 0, 88, -114, 132, -80, -245, -200, 0, 0, -81, -74, -74, 3463, 0, -98, 5, -81, -74, 3508, 0, 8, -114, -80, -54, 0, 0, 9, 0, 171, 0, 0, 0, 0, 0, 0, 0, 123, -34, 211, -81, 0, 0, 123, 0, 11, 3543, 0, 0, 118, 203, 228, 0, 87, 0, 0, 0, 222, 268, 312, 747, 0, 238, 0, 0, 5, -74, 0, 22, 0, 211, 0, 3571, 0, 0, 0, 307, -34, 747, -74, 0, 0, -98, 5, 0, 8, -74, -81, 0, -62, 0, 3073, 0, 211, 11, -30, 0, 74, 0, 0, -74, 0, 0, 0, 69, 0, 0, 997, -24, 282, 291, 11, 139, 0, 322, 69, -34, -81, 11, 84, 238, 3155, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 5, 0, 0, 0, 355, 0, 343, -64, 95, 0, 366, 368, 478, 0, 373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, 0, -6, 361, 0, 171, 0, 115, 69, 0, 3264, 0, 356, 91, 0, 0, 370, 47, 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, 0, 69, 0, 26, -81, 159, 0, 380, 0, 0, -74, -6, 101, 101, 101, 0, 47, 0, 0, 274, 305, 0, 25, 10, 389, 337, 304, 131, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 997, 390, 11, 141, 0, 211, 11, 181, 0, 416, 0, 3318, 3366, 36, 0, -74, -62, -74, -74, -37, 0, 528, 997, 0, 400, 997, 115, 0, 0, 0, 266, 165, 461, 361, 0, 0, 0, 0, 560, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 997, 0, 321, 0, 0, -34, 0, -34, -74, 428, 41, 0, 0, 0, 101, 101, 101, 101, 101, -74, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 0, 0, 997, 0, 187, 0, 0, 681, 0, 0, 3418, 997, 0, 147, 0, 0, 409, 0, 757, 415, 434, 0, 435, 0, 0, 0, 0, 289, 0, 0, 0, 439, 0, 0, 0, 11, 11, 0, 800, 101, 0, 0, 0, 274, 274, 0, 0, 0, 0, 0, 25, 25, 10, 389, 337, 304, 131, 0, -34, -34, 421, 290, 0, 424, 0, -62, 839, 427, 871, 1051, 1595, 997, 0, 898, 0, 0, 0, 297, 0, 11, 11, 0, 430, 0, 150, 1595, 449, 926, 953, 432, 455, 460, 0, 0, 245, 0, 0, 0, 0, 0, 308, 0, 0, 0, 0, 0, 0, 1595, 1595, 464, 1595, 469, 970, 997, 997, 1595, 0, 0, 0, 1595, 0, 1595, 1595, 475, 476, 485, 0, 0, 0, 0, 1595, 1051, 1051, 0, 262, 0, 1051, 0, }; protected static final short yyRindex [] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 532, 0, -110, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, 0, 0, 0, 1270, 0, 0, 0, 0, 0, 0, 0, 1977, 0, 690, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 244, 0, -29, 0, 0, 0, 334, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 15, 0, 0, 244, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 193, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 479, 0, 402, 0, 619, 0, 0, 0, 0, 0, 0, 0, 0, 1325, 0, 0, 0, 0, 0, -27, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 2849, 2233, 0, 2429, 2484, 1379, 1433, 1684, 1738, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 247, 37, 0, 0, -39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1813, 0, 0, 0, 0, 0, 0, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 55, 0, 0, 0, 0, 0, 0, 2903, 2958, 0, 0, 0, 0, 0, 2598, 2789, 2538, 1873, 2064, 2124, 2178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3019, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; protected static final short yyGindex [] = { 0, 0, 0, 24, 0, 459, 0, 28, 526, 533, 0, 0, 70, 0, -50, 0, 487, 0, 38, 486, 77, -82, 524, 0, 0, 0, 0, 1131, 522, -95, -20, 49, 39, 525, 0, 0, 341, -67, 0, -23, 73, 17, -36, 0, -99, 0, 0, 0, -94, 257, 102, 0, 0, 0, 0, -105, 0, 365, 13, 0, -2, 48, 237, 249, 265, 256, 236, 0, 0, 272, 0, 246, 0, -87, -33, -15, 40, 0, 0, -352, -160, 1343, -176, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, -26, 508, 0, 481, 549, 0, 75, 0, 0, 0, -297, 108, 597, 0, 540, 489, 0, 0, 0, -229, 0, 339, }; protected static final short yyTable [] = { 189, 153, 108, 244, 73, 45, 46, 243, 15, 27, 91, 210, 46, 26, 209, 106, 200, 251, 192, 217, 305, 112, 292, 125, 132, 27, 153, 211, 110, 22, 189, 255, 198, 149, 199, 286, 268, 73, 261, 15, 211, 125, 132, 33, 350, 24, 121, 398, 192, 80, 129, 133, 93, 101, 429, 113, 16, 78, 81, 94, 46, 98, 68, 91, 95, 63, 101, 309, 79, 143, 308, 102, 193, 46, 106, 97, 109, 189, 414, 123, 259, 83, 376, 263, 139, 328, 212, 329, 95, 114, 194, 22, 211, 263, 45, 192, 107, 348, 63, 212, 74, 18, 193, 90, 65, 110, 92, 137, 292, 22, 121, 126, 117, 437, 105, 118, 429, 429, 215, 113, 194, 429, 108, 148, 145, 147, 315, 122, 27, 138, 307, 33, 123, 74, 225, 146, 216, 65, 106, 276, 211, 222, 144, 123, 223, 195, 224, 103, 24, 193, 128, 212, 95, 114, 25, 289, 90, 277, 26, 92, 107, 288, 118, 189, 189, 340, 312, 194, 26, 342, 347, 264, 26, 421, 271, 195, 117, 119, 105, 118, 206, 192, 192, 118, 26, 215, 108, 292, 32, 310, 24, 276, 31, 313, 276, 220, 15, 154, 256, 212, 154, 45, 15, 341, 274, 349, 258, 351, 352, 401, 206, 214, 442, 208, 100, 154, 15, 15, 290, 374, 38, 275, 195, 99, 252, 118, 211, 42, 48, 68, 100, 103, 49, 68, 48, 193, 193, 32, 49, 152, 343, 99, 189, 208, 50, 68, 105, 15, 100, 15, 50, 109, 48, 194, 194, 32, 49, 206, 382, 365, 192, 372, 120, 373, 353, 244, 244, 107, 50, 243, 243, 169, 68, 300, 301, 302, 303, 169, 411, 412, 304, 237, 237, 238, 238, 212, 38, 35, 130, 121, 208, 154, 471, 472, 45, 169, 337, 474, 325, 308, 114, 189, 189, 130, 38, 35, 154, 360, 195, 195, 308, 322, 330, 123, 193, 331, 320, 189, 396, 192, 192, 321, 439, 440, 383, 384, 385, 386, 326, 327, 409, 419, 194, 408, 408, 192, 380, 381, 438, 189, 189, 408, 189, 206, 206, 416, 417, 189, 323, 453, 324, 189, 408, 189, 189, 297, 298, 192, 192, 124, 192, 135, 189, 189, 189, 192, 142, 242, 189, 192, 219, 192, 192, 193, 193, 253, 208, 208, 387, 388, 192, 192, 192, 257, 254, 262, 192, 195, 159, 193, 270, 194, 194, 272, 161, 162, 163, 164, 165, 166, 167, 168, 42, 273, 281, 118, 278, 194, 279, 170, 171, 193, 193, 282, 193, 293, 296, 48, 299, 193, 294, 49, 206, 193, 314, 193, 193, 332, 334, 194, 194, 333, 194, 50, 193, 193, 193, 194, 335, 336, 193, 194, 9, 194, 194, 48, 195, 195, 9, 49, 311, 339, 194, 194, 194, 208, 344, 15, 194, 358, 84, 50, 195, 9, 15, 15, 361, 368, 375, 402, 15, 15, 15, 15, 405, 406, 407, 15, 395, 410, 418, 206, 206, 420, 195, 195, 424, 195, 42, 441, 444, 449, 195, 68, 225, 450, 195, 206, 195, 195, 451, 222, 362, 338, 223, 456, 224, 195, 195, 195, 458, 225, 452, 195, 208, 208, 467, 468, 222, 206, 206, 223, 206, 224, 356, 357, 469, 206, 359, 473, 208, 206, 1, 206, 206, 284, 285, 280, 167, 166, 126, 367, 206, 206, 206, 141, 36, 117, 206, 43, 43, 67, 208, 208, 37, 208, 43, 43, 96, 127, 208, 225, 99, 316, 208, 371, 208, 208, 222, 389, 48, 223, 393, 224, 49, 208, 208, 208, 369, 48, 82, 208, 390, 49, 67, 394, 50, 355, 317, 318, 319, 392, 126, 225, 400, 50, 126, 43, 67, 391, 222, 404, 128, 223, 43, 224, 128, 370, 126, 151, 43, 23, 260, 53, 134, 354, 43, 43, 128, 0, 1, 0, 169, 265, 43, 0, 2, 0, 0, 177, 0, 0, 3, 43, 0, 126, 0, 0, 43, 4, 5, 6, 0, 0, 7, 128, 43, 8, 0, 423, 0, 426, 0, 0, 435, 0, 236, 236, 0, 177, 236, 236, 236, 236, 236, 0, 236, 0, 0, 0, 446, 448, 0, 0, 0, 0, 0, 0, 236, 236, 211, 236, 0, 105, 0, 377, 378, 379, 1, 0, 0, 0, 0, 0, 20, 460, 461, 462, 43, 0, 3, 0, 0, 68, 0, 0, 177, 4, 5, 6, 9, 9, 21, 236, 225, 8, 9, 9, 9, 9, 0, 222, 397, 9, 223, 0, 224, 0, 0, 0, 0, 0, 0, 0, 154, 0, 221, 0, 0, 0, 43, 415, 0, 236, 236, 43, 43, 0, 159, 154, 15, 154, 0, 221, 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, 0, 159, 0, 0, 0, 170, 171, 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, 15, 0, 0, 0, 0, 170, 171, 0, 0, 225, 0, 177, 177, 0, 0, 43, 222, 43, 43, 223, 0, 224, 221, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 159, 403, 0, 0, 0, 0, 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, 0, 43, 225, 0, 221, 170, 171, 43, 0, 222, 413, 0, 223, 0, 224, 0, 159, 0, 43, 0, 0, 0, 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, 0, 0, 43, 0, 0, 170, 171, 0, 177, 225, 0, 0, 0, 236, 236, 0, 222, 422, 236, 223, 0, 224, 0, 0, 0, 236, 0, 0, 0, 236, 236, 0, 236, 236, 236, 0, 0, 0, 0, 0, 236, 225, 0, 0, 0, 0, 0, 236, 222, 0, 0, 223, 0, 224, 0, 0, 0, 236, 236, 236, 236, 236, 236, 236, 236, 236, 0, 425, 225, 0, 211, 211, 211, 211, 0, 222, 436, 211, 223, 0, 224, 0, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 221, 0, 0, 225, 0, 0, 0, 0, 15, 0, 222, 445, 159, 223, 0, 224, 0, 0, 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, 0, 0, 225, 0, 0, 170, 171, 15, 0, 222, 447, 0, 223, 0, 224, 0, 0, 0, 0, 225, 1, 48, 0, 0, 0, 49, 222, 459, 0, 223, 0, 224, 3, 0, 0, 0, 0, 50, 0, 4, 5, 6, 0, 0, 0, 0, 225, 8, 221, 0, 0, 0, 0, 222, 130, 0, 223, 0, 224, 0, 159, 0, 0, 0, 84, 0, 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, 0, 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 174, 0, 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, 0, 0, 0, 0, 0, 170, 171, 172, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, 0, 0, 0, 0, 221, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 161, 162, 163, 164, 165, 166, 167, 168, 42, 221, 105, 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, 221, 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 161, 162, 163, 164, 165, 166, 167, 168, 42, 221, 0, 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, 159, 0, 0, 0, 0, 221, 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, 0, 159, 0, 0, 0, 170, 171, 161, 162, 163, 164, 165, 166, 167, 168, 42, 221, 0, 0, 0, 0, 0, 170, 171, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 161, 162, 163, 164, 165, 166, 167, 168, 42, 79, 80, 283, 283, 0, 0, 170, 171, 68, 68, 0, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 156, 427, 0, 0, 0, 0, 0, 68, 0, 0, 68, 0, 158, 0, 0, 0, 159, 0, 0, 0, 0, 428, 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, 283, 283, 283, 0, 0, 170, 171, 68, 235, 235, 68, 80, 235, 235, 235, 235, 235, 0, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 235, 0, 235, 0, 0, 0, 0, 0, 68, 68, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 235, 249, 249, 249, 249, 249, 249, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 249, 0, 249, 0, 0, 0, 0, 0, 0, 0, 235, 235, 283, 283, 283, 283, 283, 0, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 0, 0, 240, 240, 0, 249, 240, 240, 240, 240, 240, 240, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 240, 0, 240, 0, 80, 80, 0, 0, 0, 80, 249, 249, 0, 0, 283, 0, 80, 0, 0, 0, 0, 80, 0, 80, 80, 80, 0, 0, 0, 0, 0, 80, 0, 0, 68, 68, 0, 0, 80, 68, 0, 0, 0, 0, 0, 0, 68, 0, 80, 0, 68, 68, 0, 68, 68, 68, 0, 0, 0, 68, 0, 68, 0, 0, 240, 240, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 235, 235, 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 235, 235, 0, 235, 235, 235, 0, 0, 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 235, 235, 235, 235, 235, 235, 235, 235, 174, 249, 249, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 249, 249, 172, 249, 249, 249, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 249, 249, 249, 249, 249, 249, 249, 249, 0, 240, 240, 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 240, 240, 0, 240, 240, 240, 0, 0, 0, 0, 0, 240, 105, 0, 0, 228, 228, 0, 240, 228, 228, 228, 228, 228, 228, 228, 0, 0, 240, 240, 240, 240, 240, 240, 240, 240, 240, 228, 228, 0, 228, 0, 0, 430, 434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 203, 0, 228, 203, 203, 203, 203, 203, 203, 203, 0, 454, 455, 0, 457, 0, 0, 0, 0, 463, 0, 203, 203, 464, 203, 465, 466, 0, 0, 0, 0, 0, 0, 228, 470, 430, 434, 192, 192, 0, 463, 192, 192, 192, 192, 192, 192, 192, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, 192, 192, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 236, 0, 0, 236, 236, 236, 236, 236, 0, 236, 0, 203, 203, 0, 0, 156, 157, 0, 0, 192, 0, 236, 236, 0, 236, 0, 0, 158, 0, 0, 0, 159, 0, 0, 0, 0, 160, 161, 162, 163, 164, 165, 166, 167, 168, 42, 0, 0, 0, 192, 192, 0, 170, 171, 0, 0, 236, 0, 0, 250, 0, 0, 0, 250, 250, 250, 250, 250, 250, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 250, 0, 250, 0, 236, 236, 0, 0, 228, 228, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 228, 228, 0, 228, 228, 228, 0, 0, 0, 0, 250, 228, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 228, 228, 228, 228, 228, 228, 228, 228, 0, 203, 203, 250, 250, 0, 203, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 203, 203, 0, 203, 203, 203, 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 192, 192, 0, 0, 57, 192, 203, 203, 203, 203, 203, 203, 192, 203, 203, 0, 192, 192, 0, 192, 192, 192, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 192, 0, 0, 236, 236, 0, 0, 0, 236, 0, 192, 192, 192, 192, 192, 236, 192, 192, 192, 236, 236, 0, 236, 236, 236, 0, 0, 0, 0, 0, 236, 0, 0, 0, 241, 241, 0, 236, 241, 241, 241, 241, 241, 241, 241, 0, 0, 236, 236, 236, 236, 236, 236, 236, 236, 236, 241, 241, 0, 241, 0, 0, 0, 250, 250, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 250, 250, 0, 250, 250, 250, 0, 0, 0, 0, 0, 250, 0, 0, 0, 229, 229, 0, 250, 229, 229, 229, 229, 229, 229, 229, 0, 0, 250, 250, 250, 250, 250, 250, 250, 250, 250, 229, 229, 0, 229, 0, 241, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 204, 0, 229, 204, 204, 204, 204, 204, 204, 204, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 0, 204, 204, 57, 204, 0, 0, 0, 0, 0, 57, 0, 0, 229, 0, 57, 0, 57, 57, 57, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 57, 0, 271, 271, 204, 0, 271, 271, 0, 271, 57, 271, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 271, 0, 271, 0, 0, 0, 0, 0, 0, 204, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 241, 0, 0, 0, 241, 271, 0, 0, 0, 0, 0, 241, 0, 0, 0, 241, 241, 0, 241, 241, 241, 0, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 241, 0, 271, 271, 0, 0, 0, 0, 0, 0, 241, 241, 241, 241, 241, 241, 241, 241, 241, 0, 0, 0, 0, 0, 0, 0, 229, 229, 0, 0, 0, 229, 0, 0, 0, 0, 0, 0, 229, 0, 0, 0, 229, 229, 0, 229, 229, 229, 0, 0, 0, 0, 0, 229, 0, 0, 0, 0, 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 229, 229, 229, 229, 229, 229, 229, 229, 0, 204, 204, 0, 0, 0, 204, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 204, 204, 0, 204, 204, 204, 0, 0, 0, 0, 0, 204, 0, 0, 0, 262, 262, 0, 204, 262, 262, 262, 262, 262, 262, 262, 0, 0, 204, 204, 204, 204, 204, 204, 0, 204, 204, 262, 0, 271, 271, 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 271, 271, 0, 271, 271, 271, 0, 0, 0, 0, 0, 271, 0, 0, 0, 260, 260, 262, 271, 260, 260, 260, 260, 260, 260, 260, 0, 0, 271, 271, 271, 271, 271, 271, 271, 271, 271, 260, 260, 0, 260, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 261, 0, 260, 261, 261, 261, 261, 261, 261, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 261, 0, 261, 0, 0, 0, 0, 0, 0, 0, 260, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, 263, 263, 0, 0, 263, 263, 263, 263, 263, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 261, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, 262, 263, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 262, 0, 262, 262, 262, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 0, 0, 262, 0, 263, 263, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 262, 262, 262, 262, 262, 0, 0, 260, 260, 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, 260, 260, 0, 260, 260, 260, 0, 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 260, 260, 0, 260, 260, 260, 260, 0, 261, 261, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 261, 0, 0, 0, 261, 261, 0, 261, 261, 261, 0, 0, 0, 0, 0, 261, 0, 0, 0, 264, 264, 0, 261, 264, 264, 264, 264, 264, 264, 264, 0, 0, 261, 0, 261, 261, 0, 261, 261, 261, 261, 264, 0, 0, 0, 0, 0, 0, 263, 263, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 263, 0, 263, 263, 263, 0, 0, 0, 0, 0, 263, 264, 0, 0, 0, 272, 0, 263, 272, 0, 272, 272, 272, 272, 0, 0, 0, 263, 263, 0, 0, 263, 263, 263, 263, 263, 272, 272, 0, 272, 0, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 0, 272, 273, 0, 273, 273, 273, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 273, 0, 273, 0, 0, 0, 0, 0, 0, 0, 272, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 273, 0, 274, 0, 274, 274, 274, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 274, 0, 274, 0, 0, 0, 0, 0, 0, 273, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, 264, 274, 0, 0, 0, 0, 0, 264, 157, 0, 0, 0, 264, 0, 264, 264, 264, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 157, 0, 264, 0, 274, 274, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 264, 264, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, 272, 272, 0, 0, 0, 272, 0, 174, 0, 0, 0, 0, 272, 0, 0, 0, 272, 272, 0, 272, 272, 272, 0, 0, 0, 0, 172, 272, 0, 0, 0, 0, 0, 0, 272, 0, 157, 0, 157, 0, 0, 0, 0, 0, 272, 272, 272, 272, 272, 272, 272, 272, 272, 0, 273, 273, 0, 0, 0, 273, 0, 0, 0, 0, 0, 0, 273, 0, 0, 0, 273, 273, 0, 273, 273, 273, 0, 0, 0, 0, 0, 273, 0, 0, 0, 0, 0, 0, 273, 174, 105, 0, 173, 0, 0, 0, 0, 0, 273, 273, 273, 273, 273, 273, 273, 273, 273, 0, 172, 274, 274, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 274, 274, 0, 274, 274, 274, 0, 0, 0, 0, 0, 274, 0, 0, 0, 246, 246, 0, 274, 246, 246, 246, 246, 246, 246, 246, 0, 0, 274, 274, 274, 274, 274, 274, 274, 274, 274, 246, 246, 0, 246, 0, 0, 0, 0, 0, 157, 105, 0, 267, 157, 0, 0, 0, 0, 189, 0, 0, 0, 157, 157, 0, 157, 0, 0, 0, 0, 0, 0, 0, 0, 157, 246, 174, 0, 157, 0, 0, 0, 0, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, 172, 0, 0, 0, 157, 157, 0, 0, 48, 0, 246, 246, 49, 0, 0, 0, 0, 0, 0, 0, 0, 156, 157, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 174, 0, 159, 0, 0, 0, 0, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 0, 0, 172, 0, 0, 0, 170, 171, 0, 0, 0, 0, 105, 0, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 172, 156, 157, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 105, 266, 345, 0, 0, 0, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 0, 174, 0, 0, 0, 0, 170, 171, 0, 246, 246, 0, 0, 0, 246, 0, 0, 0, 0, 0, 172, 246, 0, 0, 0, 246, 246, 0, 246, 246, 246, 0, 105, 0, 346, 0, 246, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 246, 246, 246, 246, 246, 246, 0, 0, 0, 0, 0, 48, 54, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 156, 157, 0, 50, 0, 0, 105, 0, 399, 0, 0, 0, 158, 0, 0, 0, 159, 0, 0, 0, 0, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 0, 0, 54, 0, 0, 0, 170, 171, 0, 0, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 55, 156, 157, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 54, 0, 159, 0, 0, 0, 0, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 0, 0, 0, 0, 48, 0, 170, 171, 49, 0, 0, 54, 0, 85, 0, 0, 0, 156, 157, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 159, 0, 0, 0, 0, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 116, 0, 0, 0, 0, 0, 170, 171, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 156, 157, 0, 50, 0, 0, 0, 140, 0, 0, 0, 0, 158, 0, 0, 0, 159, 0, 0, 0, 0, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 1, 48, 0, 0, 0, 49, 170, 171, 0, 0, 0, 0, 3, 0, 0, 0, 0, 50, 0, 4, 5, 6, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 50, 0, 4, 5, 6, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 52, 1, 48, 0, 0, 0, 49, 0, 0, 0, 84, 0, 0, 3, 0, 0, 0, 0, 50, 0, 4, 5, 6, 0, 0, 0, 0, 0, 51, 1, 48, 0, 0, 0, 49, 52, 0, 0, 0, 0, 0, 3, 0, 0, 0, 53, 50, 0, 4, 5, 6, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, }; protected short yyCheck[] = new short[3873]; } class yyCheck0 { protected static final short yyCheck0 [] = { 105, 63, 52, 46, 27, 25, 26, 46, 60, 123, 33, 41, 32, 123, 108, 51, 59, 41, 105, 114, 61, 57, 182, 73, 74, 123, 63, 109, 54, 12, 135, 125, 59, 100, 59, 41, 135, 60, 132, 91, 122, 91, 92, 123, 273, 123, 59, 344, 135, 44, 73, 74, 44, 44, 406, 59, 301, 29, 30, 35, 80, 37, 91, 86, 36, 27, 44, 41, 29, 92, 44, 62, 105, 93, 59, 36, 40, 182, 375, 59, 130, 32, 41, 133, 62, 60, 109, 62, 59, 59, 105, 74, 174, 143, 114, 182, 59, 61, 60, 122, 27, 301, 135, 33, 27, 131, 33, 79, 268, 92, 123, 73, 59, 410, 59, 59, 468, 469, 44, 123, 135, 473, 59, 99, 96, 97, 221, 40, 123, 80, 212, 123, 91, 60, 33, 96, 62, 60, 123, 44, 222, 40, 93, 123, 43, 105, 45, 60, 60, 182, 73, 174, 123, 123, 268, 40, 86, 62, 268, 86, 123, 46, 44, 268, 269, 259, 216, 182, 282, 263, 269, 133, 282, 402, 146, 135, 123, 59, 123, 123, 105, 268, 269, 44, 282, 44, 123, 347, 268, 215, 268, 44, 60, 216, 44, 118, 40, 41, 59, 222, 44, 221, 46, 62, 268, 272, 129, 274, 275, 62, 135, 109, 62, 105, 268, 59, 60, 61, 180, 314, 301, 285, 182, 44, 122, 44, 308, 301, 258, 258, 44, 60, 262, 262, 258, 268, 269, 44, 262, 301, 59, 62, 347, 135, 274, 274, 123, 91, 62, 301, 274, 40, 258, 268, 269, 62, 262, 182, 325, 295, 347, 311, 59, 313, 301, 308, 309, 301, 274, 308, 309, 301, 301, 314, 315, 316, 317, 301, 372, 373, 321, 308, 309, 308, 309, 308, 44, 44, 44, 61, 182, 44, 468, 469, 314, 301, 41, 473, 273, 44, 289, 406, 407, 59, 62, 62, 59, 41, 268, 269, 44, 37, 302, 91, 347, 305, 42, 422, 341, 406, 407, 47, 416, 417, 326, 327, 328, 329, 303, 304, 41, 41, 347, 44, 44, 422, 323, 324, 41, 444, 445, 44, 447, 268, 269, 395, 396, 452, 43, 41, 45, 456, 44, 458, 459, 308, 309, 444, 445, 91, 447, 123, 467, 468, 469, 452, 59, 121, 473, 456, 301, 458, 459, 406, 407, 93, 268, 269, 330, 331, 467, 468, 469, 61, 93, 301, 473, 347, 287, 422, 301, 406, 407, 38, 293, 294, 295, 296, 297, 298, 299, 300, 301, 60, 158, 44, 40, 422, 40, 308, 309, 444, 445, 40, 447, 59, 46, 258, 59, 452, 329, 262, 347, 456, 44, 458, 459, 38, 124, 444, 445, 94, 447, 274, 467, 468, 469, 452, 307, 306, 473, 456, 40, 458, 459, 258, 406, 407, 46, 262, 291, 61, 467, 468, 469, 347, 40, 301, 473, 59, 301, 274, 422, 61, 308, 309, 301, 301, 40, 60, 314, 315, 316, 317, 59, 41, 41, 321, 291, 40, 59, 406, 407, 59, 444, 445, 59, 447, 301, 59, 41, 59, 452, 91, 33, 40, 456, 422, 458, 459, 40, 40, 41, 257, 43, 41, 45, 467, 468, 469, 41, 33, 267, 473, 406, 407, 41, 41, 40, 444, 445, 43, 447, 45, 278, 279, 41, 452, 282, 267, 422, 456, 0, 458, 459, 170, 171, 59, 59, 59, 301, 295, 467, 468, 469, 86, 20, 60, 473, 25, 26, 27, 444, 445, 21, 447, 32, 33, 36, 73, 452, 33, 37, 222, 456, 308, 458, 459, 40, 332, 258, 43, 336, 45, 262, 467, 468, 469, 306, 258, 31, 473, 333, 262, 60, 339, 274, 59, 223, 224, 225, 335, 258, 33, 348, 274, 262, 73, 74, 334, 40, 355, 258, 43, 80, 45, 262, 306, 274, 101, 86, 14, 131, 301, 74, 276, 92, 93, 274, -1, 257, -1, 301, 134, 100, -1, 263, -1, -1, 105, -1, -1, 269, 109, -1, 301, -1, -1, 114, 276, 277, 278, -1, -1, 281, 301, 122, 284, -1, 403, -1, 405, -1, -1, 408, -1, 37, 38, -1, 135, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, 424, 425, -1, -1, -1, -1, -1, -1, 59, 60, 61, 62, -1, 123, -1, 320, 321, 322, 257, -1, -1, -1, -1, -1, 263, 449, 450, 451, 174, -1, 269, -1, -1, 301, -1, -1, 182, 276, 277, 278, 308, 309, 281, 94, 33, 284, 314, 315, 316, 317, -1, 40, 41, 321, 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, 44, -1, 275, -1, -1, -1, 216, 376, -1, 124, 125, 221, 222, -1, 287, 59, 60, 61, -1, 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, 287, -1, -1, -1, 308, 309, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, 91, -1, -1, -1, -1, 308, 309, -1, -1, 33, -1, 268, 269, -1, -1, 272, 40, 274, 275, 43, -1, 45, 275, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, 287, 59, -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, 308, 33, -1, 275, 308, 309, 314, -1, 40, 41, -1, 43, -1, 45, -1, 287, -1, 325, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, 341, -1, -1, 308, 309, -1, 347, 33, -1, -1, -1, 257, 258, -1, 40, 41, 262, 43, -1, 45, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, 33, -1, -1, -1, -1, -1, 291, 40, -1, -1, 43, -1, 45, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, 59, 33, -1, 314, 315, 316, 317, -1, 40, 41, 321, 43, -1, 45, -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, -1, -1, 275, -1, -1, 33, -1, -1, -1, -1, 274, -1, 40, 41, 287, 43, -1, 45, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, 33, -1, -1, 308, 309, 301, -1, 40, 41, -1, 43, -1, 45, -1, -1, }; } class yyCheck1 { protected static final short yyCheck1 [] = { -1, -1, 33, 257, 258, -1, -1, -1, 262, 40, 41, -1, 43, -1, 45, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, 33, 284, 275, -1, -1, -1, -1, 40, 291, -1, 43, -1, 45, -1, 287, -1, -1, -1, 301, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, 40, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, -1, -1, 308, 309, 59, -1, -1, -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, -1, 275, 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, 275, 123, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, 275, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, 275, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, 287, -1, -1, -1, -1, 275, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, 287, -1, -1, -1, 308, 309, 293, 294, 295, 296, 297, 298, 299, 300, 301, 275, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, 59, 60, 170, 171, -1, -1, 308, 309, 37, 38, -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, 271, 272, -1, -1, -1, -1, -1, 59, -1, -1, 62, -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, 223, 224, 225, -1, -1, 308, 309, 91, 37, 38, 94, 125, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, 124, 125, 320, 321, 322, 323, 324, -1, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, -1, 37, 38, -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, 257, 258, -1, -1, -1, 262, 124, 125, -1, -1, 376, -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, 257, 258, -1, -1, 291, 262, -1, -1, -1, -1, -1, -1, 269, -1, 301, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, 282, -1, 284, -1, -1, 124, 125, -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, 40, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, 59, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, 123, -1, -1, 37, 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, -1, 406, 407, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 422, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, 444, 445, -1, 447, -1, -1, -1, -1, 452, -1, 59, 60, 456, 62, 458, 459, -1, -1, -1, -1, -1, -1, 125, 467, 468, 469, 37, 38, -1, 473, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, 124, 125, -1, -1, 271, 272, -1, -1, 94, -1, 59, 60, -1, 62, -1, -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, 124, 125, -1, 308, 309, -1, -1, 94, -1, -1, 37, -1, -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, 124, 125, -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, 94, 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, 257, 258, 124, 125, -1, 262, -1, }; } class yyCheck2 { protected static final short yyCheck2 [] = { -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, 257, 258, -1, -1, 60, 262, 301, 302, 303, 304, 305, 306, 269, 308, 309, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, 257, 258, -1, -1, -1, 262, -1, 301, 302, 303, 304, 305, 269, 307, 308, 309, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, 59, 60, 262, 62, -1, -1, -1, -1, -1, 269, -1, -1, 125, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, 37, 38, 94, -1, 41, 42, -1, 44, 301, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, 94, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, 124, 125, -1, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, 305, 306, -1, 308, 309, 59, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, 94, 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 94, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, 94, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, 124, 125, -1, -1, -1, -1, -1, -1, 301, 302, -1, -1, 305, 306, 307, 308, 309, -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, -1, 303, 304, -1, 306, 307, 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, 301, -1, 303, 304, -1, 306, 307, 308, 309, 59, -1, -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, 94, -1, -1, -1, 38, -1, 291, 41, -1, 43, 44, 45, 46, -1, -1, -1, 301, 302, -1, -1, 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, -1, 94, 41, -1, 43, 44, 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, 94, -1, 41, -1, 43, 44, }; } class yyCheck3 { protected static final short yyCheck3 [] = { 45, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, 94, -1, -1, -1, -1, -1, 269, 40, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, 59, -1, 291, -1, 124, 125, -1, -1, -1, -1, -1, -1, 301, 302, -1, -1, 305, 306, 307, 308, 309, -1, -1, -1, -1, -1, -1, -1, 257, 258, -1, -1, -1, 262, -1, 40, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, 59, 284, -1, -1, -1, -1, -1, -1, 291, -1, 123, -1, 125, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, 40, 123, -1, 125, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, -1, 59, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, 37, 38, -1, 291, 41, 42, 43, 44, 45, 46, 47, -1, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, 59, 60, -1, 62, -1, -1, -1, -1, -1, 258, 123, -1, 125, 262, -1, -1, -1, -1, 267, -1, -1, -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, 94, 40, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, 59, -1, -1, -1, 308, 309, -1, -1, 258, -1, 124, 125, 262, -1, -1, -1, -1, -1, -1, -1, -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, 40, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, 59, -1, -1, -1, 308, 309, -1, -1, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, 59, 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, -1, 123, 287, 125, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, 40, -1, -1, -1, -1, 308, 309, -1, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, 59, 269, -1, -1, -1, 273, 274, -1, 276, 277, 278, -1, 123, -1, 125, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, 307, -1, -1, -1, -1, -1, 258, 60, -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, 271, 272, -1, 274, -1, -1, 123, -1, 125, -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, 60, -1, -1, -1, 308, 309, -1, -1, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, 125, 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, 60, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, -1, -1, -1, -1, 258, -1, 308, 309, 262, -1, -1, 60, -1, 125, -1, -1, -1, 271, 272, -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 125, -1, -1, -1, -1, -1, 308, 309, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, 271, 272, -1, 274, -1, -1, -1, 125, -1, -1, -1, -1, 283, -1, -1, -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 257, 258, -1, -1, -1, 262, 308, 309, -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 257, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, 257, 258, -1, -1, -1, 262, -1, -1, -1, 301, -1, -1, 269, -1, -1, -1, -1, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, 257, 258, -1, -1, -1, 262, 291, -1, -1, -1, -1, -1, 269, -1, -1, -1, 301, 274, -1, 276, 277, 278, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 291, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, }; } class yyCheckInit { static short[] yyCheck = new short[3873]; protected static void yyCheckInit () { int numyycheck; int yyCheckerun = 0; for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { if (yyCheckerun < 3873) { yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { if (yyCheckerun < 3873) { yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { if (yyCheckerun < 3873) { yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck]; yyCheckerun++; } } for (numyycheck = 0; numyycheck <= 1000; numyycheck++) { if (yyCheckerun < 3873) { yyCheck[yyCheckerun] = yyCheck3.yyCheck3[numyycheck]; yyCheckerun++; } } } }