diff --git a/.externalToolBuilders/JavaParserBuilder.launch b/.externalToolBuilders/JavaParserBuilder.launch
index b918f2b12..0db12c073 100755
--- a/.externalToolBuilders/JavaParserBuilder.launch
+++ b/.externalToolBuilders/JavaParserBuilder.launch
@@ -4,10 +4,10 @@
-
+
-
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
index be5086350..70bbb4df6 100755
--- a/.settings/org.eclipse.core.resources.prefs
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -1,5 +1,5 @@
eclipse.preferences.version=1
-encoding//src/mycompiler/mystatement/LambdaExpression.java=UTF-8
-encoding//src/typinferenz/SingleConstraint.java=UTF-8
-encoding//src/typinferenz/UndConstraint.java=UTF-8
+encoding//src/de/dhbwstuttgart/syntaxtree/statement/LambdaExpression.java=UTF-8
+encoding//src/de/dhbwstuttgart/typeinference/SingleConstraint.java=UTF-8
+encoding//src/de/dhbwstuttgart/typeinference/UndConstraint.java=UTF-8
encoding/=ISO-8859-1
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 000000000..8099110c1
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,2 @@
+Nächste Aufgaben:
+
diff --git a/bin/.gitignore b/bin/.gitignore
index 5774d208a..4ce50fc91 100644
--- a/bin/.gitignore
+++ b/bin/.gitignore
@@ -1,8 +1,6 @@
-/mycompiler
-/typinferenz
-/userinterface
-/bytecode
-/myJvmDisassembler
-/parser
+/de
/plugindevelopment
+/mycompiler
+/mytypereconstruction
/syntaxTree
+/userinterface
diff --git a/bin/bytecode/FieldTest.jav b/bin/bytecode/FieldTest.jav
new file mode 100644
index 000000000..57f1614ab
--- /dev/null
+++ b/bin/bytecode/FieldTest.jav
@@ -0,0 +1,6 @@
+class FieldTest{
+ String var;
+ String methode(String para1){
+ return var;
+ }
+}
\ No newline at end of file
diff --git a/bin/mycompiler/myparser/JavaParser.jay b/bin/mycompiler/myparser/JavaParser.jay
deleted file mode 100755
index 042059fd9..000000000
--- a/bin/mycompiler/myparser/JavaParser.jay
+++ /dev/null
@@ -1,2436 +0,0 @@
-%{
-
-/*
-Backup von JavaParser.jay 10.April 17 Uhr
-*/
-
-package mycompiler.myparser;
-
-import mycompiler.myclass.FieldDeclaration;
-import mycompiler.myclass.GenericDeclarationList;
-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
-%}
-
-%token ABSTRACT
-%token BOOLEAN
-%token BREAK
-%token CASE
-%token CATCH
-%token CHAR
-%token CLASS
-%token CONTINUE
-%token DEFAULT
-%token DO
-%token ELSE
-%token EXTENDS
-%token FINAL
-%token FINALLY
-%token FOR
-%token IF
-%token INSTANCEOF
-%token INT
-%token NEW
-%token PRIVATE
-%token PROTECTED
-%token PUBLIC
-%token PACKAGE
-%token IMPORT
-%token INTERFACE
-%token IMPLEMENTS
-%token RETURN
-%token STATIC
-%token SUPER
-%token SWITCH
-%token THIS
-%token THROW
-%token THROWS
-%token TRY
-%token VOID
-%token WHILE
-%token INTLITERAL
-%token LONGLITERAL
-%token DOUBLELITERAL
-%token FLOATLITERAL
-%token BOOLLITERAL
-%token JNULL
-%token CHARLITERAL
-%token STRINGLITERAL
-%token IDENTIFIER
-%token EQUAL
-%token LESSEQUAL
-%token GREATEREQUAL
-%token NOTEQUAL
-%token LOGICALOR
-%token LOGICALAND
-%token INCREMENT
-%token DECREMENT
-%token SHIFTLEFT
-%token SHIFTRIGHT
-%token UNSIGNEDSHIFTRIGHT
-%token SIGNEDSHIFTRIGHT
-%token PLUSEQUAL
-%token MINUSEQUAL
-%token TIMESEQUAL
-%token DIVIDEEQUAL
-%token ANDEQUAL
-%token OREQUAL
-%token XOREQUAL
-%token MODULOEQUAL
-%token SHIFTLEFTEQUAL
-%token SIGNEDSHIFTRIGHTEQUAL
-%token UNSIGNEDSHIFTRIGHTEQUAL
-%token BRACE
-%token RELOP
-%token OP
-%token EOF
-%token LAMBDAASSIGNMENT
-%token ENDOFGENERICVARDECLARATION
-
-%type classdeclaration
-%type interfacedeclaration
-%type interfacebody
-%type interfacememberdeclarations
-%type interfacememberdeclaration
-%type abstractmethoddeclaration
-%type classbody
-%type classidentifier
-%type interfaceidentifier
-%type constantdeclaration
-%type genericdeclarationlist
-%type fielddeclaration
-%type methodheader
-%type methoddeclaration
-%type methoddeclarator
-%type classbodydeclarations
-%type classbodydeclaration
-%type classmemberdeclaration
-%type variabledeclarators
-%type fielddeclarator;
-%type variabledeclarator
-%type variabledeclaratorid
-%type simplename
-%type qualifiedname
-%type importqualifiedname
-%type importdeclaration
-%type importdeclarations
-%type name
-%type super
-%type classtype
-%type classorinterfacetype
-%type interfacetype
-%type interfaces
-%type extendsinterfaces
-%type integraltype
-%type numerictype
-%type primitivetype
-%type referencetype
-%type classtypelist
-%type type
-%type modifiers
-%type modifier
-%type block
-%type methodbody
-%type blockstatements
-%type lambdabody
-%type localvariabledeclarationstatement
-%type localvariabledeclaration
-%type throws
-%type formalparameter
-%type formalparameterlist
-%type lambdaexpressionparameter
-%type literal
-%type primarynonewarray
-%type primary
-%type postfixexpression
-%type unaryexpressionnotplusminus
-%type unaryexpression
-%type multiplicativeexpression
-%type additiveexpression
-%type shiftexpression
-%type relationalexpression
-%type equalityexpression
-%type andexpression
-%type exclusiveorexpression
-%type inclusiveorexpression
-%type conditionalandexpression
-%type conditionalorexpression
-%type conditionalexpression
-%type assignmentexpression
-%type lambdaexpression /*added by Andreas Stadelmeier*/
-%type expression
-%type statementexpression
-%type preincrementexpression
-%type predecrementexpression
-%type postincrementexpression
-%type postdecrementexpression
-%type expressionstatement
-%type variableinitializer
-%type statementwithouttrailingsubstatement
-%type blockstatement
-%type statement
-%type statementnoshortif
-%type whilestatement
-%type forstatement
-%type whilestatementnoshortif
-%type ifthenstatement
-%type ifthenelsestatement
-%type ifthenelsestatementnoshortif
-%type emptystatement
-%type returnstatement
-%type classinstancecreationexpression
-%type compilationunit
-%type typedeclarations
-%type boundedMethodParameter;
-%type boundedClassParameter;
-%type boundedclassidentifierlist //Vector
-%type boundedMethodParameters; // Vector
-%type boundedClassParameters; // ParaList
-%type packagedeclaration
-%type assignment
-%type assignmentoperator
-%type lambdaassignmentoperator /*added by Andreas Stadelmeier*/
-%type lefthandside
-%type argumentlist
-%type methodinvocation
-%type typedeclaration
-%type constructordeclaration
-%type constructordeclarator
-%type constructorbody
-%type explicitconstructorinvocation
-%type staticinitializer
-%type castexpression
-%type paralist
-%type typelist parameter
-%type wildcardparameter
-%left ','
-%%
-
-compilationunit : typedeclarations
- {
- $$=$1;
- }
- |importdeclarations typedeclarations
- {
- $2.addImports($1);
- $$=$2;
- }
- | packagedeclaration importdeclarations typedeclarations
- {
- // SCJU: Package
- $3.setPackageName($1);
- $3.addImports($2);
- $$=$3;
- }
- | packagedeclaration typedeclarations
- {
- // SCJU: Package
- $2.setPackageName($1);
- $$=$2;
- }
- | type type compilationunit
- {
- this.testPair.add(new Pair($1,$2));
- $$=$3;
- }
-
-packagedeclaration : PACKAGE name ';' ;
- {
- // SCJU: Package
- $$ = $2;
- }
-
-importdeclarations :importdeclaration
- {
- ImportDeclarations declarations=new ImportDeclarations();
- declarations.addElement($1);
- $$=declarations;
- }
- |importdeclarations importdeclaration
- {
- $1.addElement($2);
- $$=$1;
- }
-
-importdeclaration : IMPORT importqualifiedname ';'
- {
- $$=$2;
- }
-
-typedeclarations :typedeclaration
- {
- SourceFile Scfile = new SourceFile();
- Scfile.addElement($1);
- $$=Scfile;
- }
- |typedeclarations typedeclaration
- {
- $1.addElement($2);
- $$=$1;
- }
-
-name :qualifiedname
- {
- $$=$1;
- }
- |simplename
- {
- $$=$1;
- }
-
-typedeclaration :classdeclaration
- {
- $$=$1;
- }
- | interfacedeclaration
- {
- // SCJU: Interface
- $$=$1;
- }
-
-
-qualifiedname : name '.' IDENTIFIER
- {
- $1.set_Name($3.getLexem());
- $1.setOffset($1.getOffset());
- $$=$1;
- }
-
-importqualifiedname : name '.' IDENTIFIER
- {
- $1.set_Name($3.getLexem());
- $1.setOffset($1.getOffset());
- $$=$1;
- }
- | name '.' '*'
- {
- $1.set_Name("*");
- $1.setOffset($1.getOffset());
- $$=$1;
- }
-
-
-simplename : IDENTIFIER
- {
- UsedId UI = new UsedId($1.getOffset());
- UI.set_Name( $1.getLexem() );
- UI.setOffset($1.getOffset());//hinzugef�gt hoth: 07.04.2006
- $$ = UI;
- }
-
-classdeclaration : CLASS classidentifier classbody
- {
- // 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
-
- $$ = new Class($2.getName(), null, $3, containedTypes, usedIdsToCheck, null, null, $2.getParaVector(), $1.getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- | modifiers CLASS classidentifier classbody
- {
- $$ = new Class($3.getName(), $1, $4, containedTypes,usedIdsToCheck, null, null, $3.getParaVector(), $2.getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- | CLASS classidentifier super classbody
- {
- $$ = new Class($2.getName(), null, $4, containedTypes,usedIdsToCheck, $3, null, $2.getParaVector(), $1.getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- | modifiers CLASS classidentifier super classbody
- {
- $$ = new Class($3.getName(), $1, $5, containedTypes, usedIdsToCheck, $4, null, $3.getParaVector(), $2.getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- ///* auskommentiert von Andreas Stadelmeier A10023
- | CLASS classidentifier interfaces classbody
- {
- $$ = new Class($2.getName(), null, $4, containedTypes, usedIdsToCheck, null, $3.getVector(), $2.getParaVector(), $1.getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- | modifiers CLASS classidentifier interfaces classbody
- {
- $$ = new Class($3.getName(), $1, $5, containedTypes, usedIdsToCheck, null, $4.getVector(), $3.getParaVector(), $2.getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- | CLASS classidentifier super interfaces classbody
- {
- $$ = new Class($2.getName(), null, $5, containedTypes,usedIdsToCheck, $3, $4.getVector(), $2.getParaVector(), $1.getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- | modifiers CLASS classidentifier super interfaces classbody
- {
- $$ = new Class($3.getName(), $1, $6, containedTypes, usedIdsToCheck, $4, $5.getVector(), $3.getParaVector(), $2.getOffset());
- this.initContainedTypes();
- this.initUsedIdsToCheck();
- }
- //*/
-interfaceidentifier : IDENTIFIER
- {
- // HOTI
- // Verbindet den Namen eines Interfaces mit einer optionalen Parameterliste
- $$ = new InterfaceAndParameter($1.getLexem());
- }
- | IDENTIFIER '<' boundedClassParameters '>'
- {
- $$ = new InterfaceAndParameter($1.getLexem(), $3);
- }
-
-classidentifier : IDENTIFIER
- {
- // SCJU: Hilfskonstrukt, um die Grammatik ueberschaubar zu halten
- // Verbindet den Namen einer Klasse mit einer optionalen Parameterliste
- $$ = new ClassAndParameter($1.getLexem());
- }
- | IDENTIFIER '<' boundedClassParameters '>'
- {
- $$ = new ClassAndParameter($1.getLexem(), $3);
- }
-
-interfacedeclaration: INTERFACE interfaceidentifier interfacebody
- {
- // SCJU: Interface
- Interface ic = new Interface($2.getName(), $1.getOffset());
- ic.setParaList($2.getParaVector());
- ic.setInterfaceBody($3);
- ic.setContainedTypes(containedTypes);
- initContainedTypes();
- $$ = ic;
- }
- | modifiers INTERFACE interfaceidentifier interfacebody
- {
- Interface ic = new Interface($3.getName(), $1, $2.getOffset());
- ic.setInterfaceBody($4);
- ic.setParaList($3.getParaVector());
- ic.setContainedTypes(containedTypes);
- initContainedTypes();
- $$ = ic;
- }
- | INTERFACE interfaceidentifier extendsinterfaces interfacebody
- {
- Interface ic = new Interface($2.getName(), $1.getOffset());
- ic.setParaList($2.getParaVector());
- ic.setSuperInterfaces($3.getVector());
- ic.setInterfaceBody($4);
- ic.setContainedTypes(containedTypes);
- initContainedTypes();
- $$ = ic;
- }
- | modifiers INTERFACE interfaceidentifier extendsinterfaces interfacebody ;
- {
- Interface ic = new Interface($3.getName(), $1, $2.getOffset());
- ic.setParaList($3.getParaVector());
- ic.setSuperInterfaces($4.getVector());
- ic.setInterfaceBody($5);
- ic.setContainedTypes(containedTypes);
- initContainedTypes();
- $$ = ic;
- }
-
-paralist : IDENTIFIER
- {
- ParaList pl = new ParaList();
- /* #JB# 05.04.2005 */
- /* ########################################################### */
- pl.getParalist().addElement(new GenericTypeVar($1.getLexem(), $1.getOffset()));
- //pl.getParalist().addElement( new TypePlaceholder($1.getLexem()) );
- /* ########################################################### */
- org.apache.log4j.Logger.getLogger("parser").debug( "IDENTIFIER --> Paralist f�r " + $1.getLexem() + " TV");
- $$ = pl;
- }
- | IDENTIFIER '<' paralist '>'
- {
- ParaList pl = new ParaList();
- RefType t = new RefType( $1.getLexem(),$1.getOffset() );
- t.set_ParaList( $3.get_ParaList() );
- pl.getParalist().addElement(t);
- org.apache.log4j.Logger.getLogger("parser").debug( "IDENTIFIER '<' paralist '>' --> Paralist f�r " + $1.getLexem() + ": RefType");
- $$ = pl;
- }
- | wildcardparameter
- {
- ParaList pl = new ParaList();
- pl.getParalist().addElement($1);
- $$ = pl;
- }
- | paralist ',' IDENTIFIER
- {
-
- /* #JB# 05.04.2005 */
- /* ########################################################### */
- $1.getParalist().addElement(new GenericTypeVar($3.getLexem(),$3.getOffset()));
- //$1.getParalist().addElement(new TypePlaceholder($3.getLexem()));
- /* ########################################################### */
- org.apache.log4j.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER --> Paralist f�r " + $3.getLexem() + ": TV");
- org.apache.log4j.Logger.getLogger("parser").debug( "paralist: " + $1.getParalist());
- $$=$1;
- }
-
- | paralist ',' IDENTIFIER '<' paralist '>'
- {
- RefType t = new RefType( $3.getLexem() ,$3.getOffset() );
- t.set_ParaList( $5.get_ParaList() );
- $1.getParalist().addElement(t);
- org.apache.log4j.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER '<' paralist '>' --> Paralist f�r " + $3.getLexem() + ": RefType");
- $$=$1;
- }
- | paralist ',' wildcardparameter
- {
- $1.getParalist().addElement($3);
- $$=$1;
- }
-
-wildcardparameter : '?'
- {
- //Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden
- WildcardType wc = new WildcardType(-1);
- $$ = wc;
- }
- | '?' EXTENDS referencetype
- {
- ExtendsWildcardType ewc = new ExtendsWildcardType($2.getOffset(),$3);
- $$ = ewc;
- }
- | '?' SUPER referencetype
- {
- SuperWildcardType swc = new SuperWildcardType($2.getOffset(),$3);
- $$ = swc;
- }
-
-classbody : '{' '}'
- {
- ClassBody CB = new ClassBody();
- $$ = CB;
- }
-
- | '{' classbodydeclarations '}'
- {
- $$ = $2;
- }
-
-modifiers :modifier
- {
- Modifiers Mod = new Modifiers();
- Mod.addModifier($1);
- $$ = Mod;
- }
- |modifiers modifier
- {
- $1.addModifier($2);
- $$ = $1;
- }
-
-super :EXTENDS classtype
- {
- $$ = $2;
- }
-
-interfaces : IMPLEMENTS interfacetype
- {
- // SCJU: Interface
- InterfaceList il = new InterfaceList();
- il.addInterface($2);
- $$ = il;
- }
- | interfaces ',' interfacetype ;
- {
- $1.addInterface($3);
- $$ = $1;
- }
-
-interfacebody : '{' '}'
- {
- // SCJU: Interface
- $$ = new InterfaceBody();
- }
- | '{' interfacememberdeclarations '}'
- {
- $$ = $2;
- }
-
-
-
-extendsinterfaces : EXTENDS interfacetype
- {
- // SCJU: Interface
- InterfaceList il = new InterfaceList();
- il.addInterface($2);
- $$ = il;
- }
- | extendsinterfaces ',' interfacetype ;
- {
- $1.addInterface($3);
- $$ = $1;
- }
-
-
-classbodydeclarations : classbodydeclaration
- {
- ClassBody CB = new ClassBody();
- CB.addField( $1 );
- $$=CB;
- }
- | classbodydeclarations classbodydeclaration
- {
- $1.addField($2);
- $$ = $1;
- }
-
-
-modifier : PUBLIC
- {
- Public Pub = new Public();
- $$=Pub;
- }
- | PROTECTED
- {
- Protected Pro = new Protected();
- $$=Pro;
- }
- | PRIVATE
- {
- Private Pri = new Private();
- $$=Pri;
- }
- | STATIC
- {
- Static Sta = new Static();
- $$=Sta;
- }
- | ABSTRACT
- {
- Abstract Abs = new Abstract();
- $$=Abs;
- }
- | FINAL
- { Final fin = new Final();
- $$ = fin;
- }
-
-
-classtype : classorinterfacetype
- {
- //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($1.get_RealParaList());
- RT.setName($1.get_Name_1Element());
- containedTypes.addElement(RT);
- //PL 05-07-30 eingefuegt containedTypes ENDE
-
- $$ = $1;
- }
-
-
-interfacememberdeclarations : interfacememberdeclaration
- {
- // SCJU: Interface
- InterfaceBody ib = new InterfaceBody();
- ib.addElement($1);
- $$ = ib;
- }
- | interfacememberdeclarations interfacememberdeclaration ;
- {
- $1.addElement($2);
- $$ = $1;
- }
-
-interfacetype : classorinterfacetype ;
- {
- // SCJU: Interfaces
- $$ = $1;
- }
-
-classbodydeclaration : classmemberdeclaration
- {
- $$=$1;
- }
- ///* auskommentiert von Andreas Stadelmeier a10023
- | staticinitializer
- {
- $$=$1;
- }
- | constructordeclaration
- {
- $$=$1;
- }
- //*/
-classorinterfacetype : simplename parameter
- {
- if ($2 != null) {
- //$1.set_ParaList($2.get_ParaList());
- $1.set_ParaList($2);//Änderung von Andreas Stadelmeier. Type statt GenericVarType
- /* otth: originale (also diese) Parameterliste retten */
- //((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() );
- }
- $$=$1;
- }
-
-typelist : type
- {
- Vector tl = new Vector();
- tl.add($1);
- $$ = tl;
- }
- | typelist ',' type
- {
- $1.add($3);
- $$=$1;
- }
-
-/* PL 05-07-28 erg�nzt, weil jeder classorinterfacetype auch parametrisiert sein kann */
-//TODO: Das hier ist möglicherweise falsch. Ein Typ hat keine parameterliste, nur eine Liste von RefTypes
-parameter : { $$ = null; }
- | '<'typelist'>'//'<'paralist'>'//typelist statt
- {
- $$ = $2;
- }
-
-interfacememberdeclaration : constantdeclaration
- {
- // SCJU: Interfaces, Spezialform Konstantendef.
- $$ = $1;
- }
- | abstractmethoddeclaration
- {
- $$ = $1;
- }
-
-classmemberdeclaration : fielddeclaration
- {
- $$=$1;
- }
- | methoddeclaration
- {
- $$=$1;
- }
-
-staticinitializer : STATIC block
- {
- Method STAT = new Method($1.getOffset());
- DeclId DST = new DeclId();
- DST.set_Name($1.getLexem());
- STAT.set_DeclId(DST);
- Static ST = new Static();
- Modifiers MOD = new Modifiers();
- MOD.addModifier(ST);
- STAT.set_Modifiers(MOD);
- STAT.set_Block($2);
- $$=STAT;
- }
-
-constructordeclaration : constructordeclarator constructorbody
- {
- $1.set_Block($2);
- $$ = $1;
- }
- | modifiers constructordeclarator constructorbody
- {
- $2.set_Block($3);
- $2.set_Modifiers($1);
- $$ = $2;
- }
-
-constantdeclaration : modifiers type IDENTIFIER '=' expression';' ;
- {
- // SCJU: Interface
- Constant c = new Constant($3.getLexem(), $1);
- c.setType($2);
- c.setValue($5);
- $$ = c;
- }
-
-abstractmethoddeclaration : methodheader ';' ;
- {
- // SCJU: Interface
- $$ = $1;
- }
-
-/*
-added by Andreas Stadelmeier, a10023
-Bei Lokalen Variablen ist eine initialisierung der Variablen während der Deklarisierung nicht erlaubt.
-Beispiel: var = 2;
-Bei einer lokalen Variable lässt sich hier nicht ermitteln ob die Variable deklariert werden soll oder bereits deklariert wurde und ihr nur ein Wert zugewiesen werden soll.
-Dieses Problem ist bei Feldern nicht der Fall.
-*/
-fielddeclarator :
- /*
- type variabledeclarator '=' expression
- {
- FieldDeclaration ret = new FieldDeclaration($2.getOffset());
- ret.setType($1);
- ret.set_DeclId($2);
- ret.setWert($4);
- $$=ret;
- }
- |
- */
- variabledeclarator '=' expression
- {
- FieldDeclaration ret = new FieldDeclaration($1.getOffset());
- ret.set_DeclId($1);
- ret.setWert($3);
- $$=ret;
- }
- | variabledeclarator
- {
- FieldDeclaration ret = new FieldDeclaration($1.getOffset());
- ret.set_DeclId($1);
- $$=ret;
- }
-
-genericdeclarationlist : '<' boundedMethodParameters '>'
- {
- GenericDeclarationList ret = new GenericDeclarationList($2.getElements(),$2.getEndOffset());
- $$ = ret;
- }
-
-
-fielddeclaration : fielddeclarator ';'
- {
- $$=$1;
- }
- | type fielddeclarator ';'
- {
- $2.setType($1);
- $$=$2;
- }
- | genericdeclarationlist type fielddeclarator ';'
- {//angefügt von Andreas Stadelmeier
- $3.setType($2);
- $3.setGenericParameter($1);
- $$=$3;
- }
- |
- variabledeclarators ';'
- {
- $$=$1;
- }
- |
- type variabledeclarators ';'
- {
- org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->fielddeclaration ...: type " + $1);
- $2.setType($1);
- $$ = $2;
- }
-
- | modifiers type variabledeclarators ';'
- {
- $3.setType($2);
- for(int i=0;i<($3.getDeclIdVector().size());i++)
- {
- $3.getDeclIdVector().elementAt(i).modifiers=$1;
- }
- $$ = $3;
- }
-
-methoddeclaration : methodheader methodbody
- {
- $1.set_Block($2);
- $$=$1;
- }
-
-block : '{' '}'
-
- {
- Block Bl = new Block();
- $$=Bl;
- }
-
- | '{' blockstatements '}'
- {
- $$=$2;
- }
-
-constructordeclarator : simplename '(' ')'
- {
- 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($1.get_Name_1Element());
- CON.set_DeclId(DIDCon);
- $$=CON;
- }
- | simplename '('formalparameterlist')'
- {
- Constructor CONpara = new Constructor(null);
- DeclId DIconpara = new DeclId();
- DIconpara.set_Name($1.get_Name_1Element());
- CONpara.set_DeclId(DIconpara);
- CONpara.setParameterList($3);
- $$=CONpara;
- }
-
-constructorbody : '{' '}'
- {
- Block CBL = new Block();
- $$=CBL;
- }
- | '{' explicitconstructorinvocation '}'
- {
- Block CBLexpl = new Block();
- CBLexpl.set_Statement($2);
- $$=CBLexpl;
- }
- | '{' blockstatements '}'
- {
- $$=$2;
- }
- | '{'explicitconstructorinvocation blockstatements '}'
- {
- Block CBes = new Block();
- CBes.set_Statement($2);
- for(int j=0;j<$3.statements.size();j++)
- {
- CBes.set_Statement((Statement)$3.statements.elementAt(j));
- }
- $$=CBes;
- }
-
-throws : THROWS classtypelist
- {
- ExceptionList EL = new ExceptionList();
- EL.set_addElem($2);
- $$=EL;
- }
-
-boundedClassParameter : boundedMethodParameter
- {
- $$ = $1;
- }
-
-boundedClassParameters : boundedClassParameter
- {
- ParaList p = new ParaList();
- p.add_ParaList($1);
- $$=p;
- }
- | boundedClassParameters ',' boundedClassParameter
- {
- $1.add_ParaList($3);
- $$=$1;
- }
-
-// returns GenericTypeVar
-boundedMethodParameter : IDENTIFIER
- {
- $$=new GenericTypeVar($1.getLexem(),$1.getOffset());
- }
- | IDENTIFIER EXTENDS boundedclassidentifierlist
- {
- BoundedGenericTypeVar gtv=new BoundedGenericTypeVar($1.getLexem(), $3, $1.getOffset() ,$3.getEndOffset());
- //gtv.setBounds($3);
- $$=gtv;
- }
-// returns Vector
-boundedclassidentifierlist : referencetype
- {
- Vector vec=new Vector();
- vec.addElement($1);
- containedTypes.addElement($1);
- $$=new BoundedClassIdentifierList(vec, $1.getOffset()+$1.getName().length());
- }
- | boundedclassidentifierlist '&' referencetype
- {
- $1.addElement($3);
- $1.addOffsetOff($3);
- containedTypes.addElement($3);
- $$=$1;
- }
-// returns Vector
-boundedMethodParameters : boundedMethodParameter
- {
- GenericVarDeclarationList vec=new GenericVarDeclarationList();
- vec.addElement($1);
- $$=vec;
- }
- | boundedMethodParameters ',' boundedMethodParameter
- {
- $1.addElement($3);
- $$=$1;
- }
-
-
-// returns Method
-methodheader :genericdeclarationlist type methoddeclarator
- {
- $3.setType($2);
- $3.setGenericParameter($1);
- $$=$3;
- }
- | type methoddeclarator
- {
- $2.setType($1);
- $$=$2;
- }
- | modifiers type methoddeclarator
- {
- $3.set_Modifiers($1);
- $3.setType($2);
- $$=$3;
- }
- | modifiers genericdeclarationlist type methoddeclarator
- {
- $4.set_Modifiers($1);
- $4.setGenericParameter($2);
- $4.setType($3);
- $$=$4;
- }
- | type methoddeclarator throws
- {
- $2.setType($1);
- $2.set_ExceptionList($3);
- $$=$2;
- }
- | genericdeclarationlist type methoddeclarator throws
- {
- $3.setGenericParameter($1);
- $3.setType($2);
- $3.set_ExceptionList($4);
- $$=$3;
- }
- | modifiers type methoddeclarator throws
- {
- $3.set_Modifiers($1);
- $3.setType($2);
- $3.set_ExceptionList($4);
- $$=$3;
- }
- | modifiers genericdeclarationlist type methoddeclarator throws
- {
- $4.set_Modifiers($1);
- $4.setGenericParameter($2);
- $4.setType($3);
- $4.set_ExceptionList($5);
- $$=$4;
- }
- | VOID methoddeclarator
- {
- Void Voit = new Void($1.getOffset());
- $2.setType(Voit);
- $$=$2;
- }
- | modifiers VOID methoddeclarator
- {
- Void voit = new Void($2.getOffset());
- $3.set_Modifiers($1);
- $3.setType(voit);
- $$=$3;
- }
- | VOID methoddeclarator throws
- {
- Void voyt = new Void($1.getOffset());
- $2.setType(voyt);
- $2.set_ExceptionList($3);
- $$=$2;
- }
- | modifiers VOID methoddeclarator throws
- {
- Void voyd = new Void($2.getOffset());
- $3.set_Modifiers($1);
- $3.setType(voyd);
- $3.set_ExceptionList($4);
- $$=$3;
- }
- | genericdeclarationlist VOID methoddeclarator
- {
- Void Voit = new Void($2.getOffset());
- $3.setType(Voit);
- $3.setGenericParameter($1);
- $$=$3;
- }
- | modifiers genericdeclarationlist VOID methoddeclarator
- {
- Void voit = new Void($3.getOffset());
- $4.set_Modifiers($1);
- $4.setType(voit);
- $4.setGenericParameter($2);
- $$=$4;
- }
- | genericdeclarationlist VOID methoddeclarator throws
- {
- Void voyt = new Void($2.getOffset());
- $3.setType(voyt);
- $3.set_ExceptionList($4);
- $3.setGenericParameter($1);
- $$=$3;
- }
- | modifiers genericdeclarationlist VOID methoddeclarator throws
- {
- Void voyd = new Void($3.getOffset());
- $4.set_Modifiers($1);
- $4.setType(voyd);
- $4.set_ExceptionList($5);
- $4.setGenericParameter($2);
- $$=$4;
- }
-
- | methoddeclarator
- {
- //auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());
- $$=$1;
- }
- | genericdeclarationlist methoddeclarator
- {
- //auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());
- $2.setGenericParameter($1);
- $$=$2;
- }
-
- | modifiers methoddeclarator
- {
- $2.set_Modifiers($1);
- //auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());
- $$=$2;
- }
- | methoddeclarator throws
- {
- //auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh());
- $1.set_ExceptionList($2);
- $$=$1;
- }
- | modifiers methoddeclarator throws
- {
- $2.set_Modifiers($1);
- //auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());
- $2.set_ExceptionList($3);
- $$=$2;
- }
-
-
-type : primitivetype
- {
- $$=$1;
- }
- |primitivetype '[' ']'
- {
- $1.setArray(true);
- }
- |referencetype
- {
- $$=$1;
- }
- |referencetype '[' ']'
- {
- $1.setArray(true);
- }
-variabledeclarators : variabledeclarator
- {
- FieldDeclaration IVD = new FieldDeclaration($1.getOffset());
- IVD.getDeclIdVector().addElement( $1 );
- IVD.setOffset($1.getOffset());
- $$ = IVD;
- }
- | variabledeclarators ',' variabledeclarator
- {
- $1.getDeclIdVector().addElement($3);
- $$=$1;
- }
-
-methodbody : block
- {
- $$=$1;
- }
-
-blockstatements : blockstatement
- {
- Block Blstat = new Block();
- Blstat.set_Statement($1);
- $$=Blstat;
- }
-
- | blockstatements blockstatement
- {
- $1.set_Statement($2);
- $$=$1;
- }
-
-formalparameterlist :formalparameter
- {
- ParameterList PL = new ParameterList();
- PL.set_AddParameter($1);
- $$ = PL;
- }
- |formalparameterlist ',' formalparameter
- {
- $1.set_AddParameter($3);
- $$ = $1;
- }
-
-explicitconstructorinvocation : THIS '(' ')' ';'
- {
- This THCON = new This($1.getOffset(),$1.getLexem().length());
- $$=THCON;
- }
- |THIS '(' argumentlist ')' ';'
- {
- This THCONargl = new This($1.getOffset(),$1.getLexem().length());
- THCONargl.set_ArgumentList($3);
- $$=THCONargl;
- }
- // |SUPER '(' ')' ';'
- // |SUPER '(' argumentlist ')' ';'
-
-classtypelist : classtype
- {
- RefType RT = new RefType(-1);
- RT.set_UsedId($1);
- RT.setName(RT.get_UsedId().get_Name_1Element());
- $$=RT;
- }
- | classtypelist ',' classtype
- {
- $1.set_UsedId($3);
- $1.setName($1.get_UsedId().get_Name_1Element());
- $$=$1;
- }
-
-methoddeclarator :IDENTIFIER '(' ')'
- {
- Method met = new Method($1.getOffset());
- /* #JB# 10.04.2005 */
- /* ########################################################### */
- met.setLineNumber($1.getLineNumber());
- met.setOffset($1.getOffset());//hinzugef�gt hoth: 07.04.2006
- /* ########################################################### */
- DeclId DImethod = new DeclId();
- DImethod.set_Name($1.getLexem());
- met.set_DeclId(DImethod);
- $$ = met;
- }
- |IDENTIFIER '(' formalparameterlist ')'
- {
- Method met_para = new Method($1.getOffset());
- /* #JB# 10.04.2005 */
- /* ########################################################### */
- met_para.setLineNumber($1.getLineNumber());
- met_para.setOffset($1.getOffset());//hinzugef�gt hoth: 07.04.2006
- /* ########################################################### */
- DeclId Dimet_para = new DeclId();
- Dimet_para.set_Name($1.getLexem());
- met_para.set_DeclId(Dimet_para);
- met_para.setParameterList($3);
- $$ = met_para;
- }
-
-primitivetype :BOOLEAN
- {
- BooleanType BT = new BooleanType();
- /* #JB# 05.04.2005 */
- /* ########################################################### */
- //BT.setName($1.getLexem());
- /* ########################################################### */
- $$=BT;
- }
- |numerictype
- {
- $$=$1;
- }
-
-referencetype :classorinterfacetype
- {
- org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + $1);
- RefType RT = new RefType($1.getOffset());
-
- //ausgetauscht PL 05-07-30
- //RT.set_UsedId($1);
- //RT.setName(RT.get_UsedId().get_Name_1Element());
- RT.set_ParaList($1.get_RealParaList());
- RT.setName($1.getQualifiedName());
-
-
- //PL 05-07-30 eingefuegt containedTypes ANFANG
- containedTypes.addElement(RT);
- //PL 05-07-30 eingefuegt containedTypes ENDE
-
- $$=RT;
- }
-/* 05-07-28 PL Parameterdeklarationen zur classorinterfacetype verschoben */
-
-variabledeclarator : variabledeclaratorid
- {
- $$=$1;
- }
- /* auskommentiert von Andreas Stadelmeier, a10023:
- eine Variable mit Initialisierung wird sowieso nicht geparst.
- | variabledeclaratorid '=' variableinitializer
- {
- $1.set_Wert($3);
- $$=$1;
- }
- */
-/* 05-07-28 PL auskommentiert
- wird nicht ben�tigt aufgrund neuer classorinterfacetype declaration
- | '<' paralist'>' variabledeclaratorid '=' variableinitializer
- {
- $4.set_Wert($6);
- $4.set_Paratyp($2.get_ParaList());
- $$=$4;
- }
-*/
-blockstatement :localvariabledeclarationstatement
- {
- $$=$1;
- }
- |statement
- {
- $$=$1;
- }
-
-formalparameter : type variabledeclaratorid
- {
- FormalParameter FP = new FormalParameter($2);
- FP.setType($1);
- //FP.set_DeclId($2); //auskommentiert von Andreas Stadelmeier. DeclId wird nun dem Konstruktor von FormalParameter übergeben.
- $$=FP;
- }
-
- /* otth: Methodenargumente koennen hiermit auch polymorph sein. */
-/* 05-07-28 PL auskommentiert
- wird nicht ben�tigt aufgrund neuer classorinterfacetype declaration
- | type '<'paralist'>' variabledeclaratorid
- {
- Parameterliste setzen
- $5.set_Paratyp($3.get_ParaList());
-
- FormalParameter FP = new FormalParameter($5);
- FP.setType($1);
- //FP.set_DeclId($5);
- $$=FP;
-
- org.apache.log4j.Logger.getLogger("parser").debug("P->Polymorphes Methodenargument hinzugefuegt: Name = " + $5.get_Name() + " Typ = " + $1.getName());
- }
-*/
-
- | variabledeclaratorid
- {
- org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + $1.name);
-
- FormalParameter FP = new FormalParameter($1);
-
- // #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);
-
- $$=FP;
- }
-
-argumentlist : expression
- {
- ArgumentList AL = new ArgumentList();
- AL.expr.addElement($1);
- $$=AL;
- }
- |argumentlist ',' expression
- {
- $1.expr.addElement($3);
- $$=$1;
- }
-
-numerictype :integraltype
- {
- $$=$1;
- }
-
-variabledeclaratorid : IDENTIFIER
- {
- DeclId DI = new DeclId();
- /* #JB# 10.04.2005 */
- /* ########################################################### */
- DI.setLineNumber($1.getLineNumber());
- DI.setOffset($1.getOffset());//hinzugef�gt hoth: 07.04.2006
- /* ########################################################### */
- DI.set_Name($1.getLexem());
- $$=DI;
- }
-
-variableinitializer :expression
- {
- $$=$1;
- }
-
-localvariabledeclarationstatement :localvariabledeclaration ';'
- {
- $$=$1;
- }
-
-statement :statementwithouttrailingsubstatement
- {
- $$=$1;
- }
- |ifthenstatement
- {
- $$=$1;
- }
- |ifthenelsestatement
- {
- $$=$1;
- }
- |whilestatement
- {
- $$=$1;
- }
- |forstatement
- {
- $$=$1;
- }
-
-expression :assignmentexpression
- {
- $$=$1;
- }
- |classinstancecreationexpression
- {
- $$=$1;
- }
-
-integraltype :INT
- {
- IntegerType IT = new IntegerType();
- /* #JB# 05.04.2005 */
- /* ########################################################### */
- //IT.setName($1.getLexem());
- /* ########################################################### */
- $$=IT;
- }
- | CHAR
- {
- CharacterType CT = new CharacterType();
- /* #JB# 05.04.2005 */
- /* ########################################################### */
- //CT.setName($1.getLexem());
- /* ########################################################### */
- $$=CT;
- }
-
-localvariabledeclaration : type variabledeclarators
- {
- org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!");
- LocalVarDecl LVD = new LocalVarDecl($1.getOffset(),$1.getVariableLength());
- LVD.setType($1);
- LVD.setDeclidVector($2.getDeclIdVector());
- $$ = LVD;
- }
-
- /* #JB# 31.03.2005 */
- /* ########################################################### */
- |variabledeclarators
- {
- org.apache.log4j.Logger.getLogger("parser").debug("P -> Lokale Variable angelegt!");
- LocalVarDecl LVD = new LocalVarDecl($1.getOffset(),$1.getVariableLength());
- //auskommentiert von Andreas Stadelmeier (a10023) LVD.setType(TypePlaceholder.fresh());
- LVD.setDeclidVector($1.getDeclIdVector());
- $$ = LVD;
- }
- /* ########################################################### */
-
-statementwithouttrailingsubstatement : block
- {
- $$=$1;
- }
- | emptystatement
- {
- $$=$1;
- }
- | expressionstatement
- {
- $$=$1;
- }
- | returnstatement
- {
- $$=$1;
- }
-
-ifthenstatement : IF '(' expression ')' statement
- {
- IfStmt Ifst = new IfStmt($3.getOffset(),$3.getVariableLength());
- Ifst.set_Expr($3);
- Ifst.set_Then_block($5);
- $$=Ifst;
- }
-
-ifthenelsestatement : IF '('expression ')'statementnoshortif ELSE statement
- {
- IfStmt IfstElst = new IfStmt($3.getOffset(),$3.getVariableLength());
- IfstElst.set_Expr($3);
- IfstElst.set_Then_block($5);
- IfstElst.set_Else_block($7);
- $$=IfstElst;
- }
-
-whilestatement : WHILE '(' expression ')' statement
- {
- WhileStmt Whlst = new WhileStmt($3.getOffset(),$3.getVariableLength());
- Whlst.set_Expr($3);
- Whlst.set_Loop_block($5);
- $$=Whlst;
- }
-
-//forschleife
-forstatement
- //Bsp: for(i=0 ; i<10 ; i++){System.out.println(i)}
- : FOR '(' expression ';' expression ';' expression ')' statement
- {
- ForStmt Fst = new ForStmt($3.getOffset(),$3.getVariableLength());
- Fst.set_head_Initializer($3);
- Fst.set_head_Condition($5);
- Fst.set_head_Loop_expr($7);
- Fst.set_body_Loop_block($9);
-
- //Typannahme
- $$ = Fst;
- }
- //Bsp: for(i=0 ; i<10 ; ){System.out.println(i)}
- | FOR '(' expression ';' expression ';' ')' statement
- {
- ForStmt Fst = new ForStmt($3.getOffset(),$3.getVariableLength());
- Fst.set_head_Initializer($3);
- Fst.set_head_Condition($5);
- Fst.set_body_Loop_block($8);
-
- //Typannahme
- $$ = Fst;
- }
- //Bsp: for(i=0 ; ; i++){System.out.println(i)}
- | FOR '(' expression ';' ';' expression ')' statement
- {
- ForStmt Fst = new ForStmt($3.getOffset(),$3.getVariableLength());
- Fst.set_head_Initializer($3);
- Fst.set_head_Loop_expr($6);
- Fst.set_body_Loop_block($8);
-
- //Typannahme
- $$ = Fst;
- }
- //Bsp: for( ; i<10 ; i++){System.out.println(i)}
- | FOR '(' ';' expression ';' expression ')' statement
- {
- ForStmt Fst = new ForStmt($4.getOffset(),$4.getVariableLength());
- Fst.set_head_Condition($4);
- Fst.set_head_Loop_expr($6);
- Fst.set_body_Loop_block($8);
-
- //Typannahme
- $$ = Fst;
- }
- //Bsp: for(i=0 ; ; ){System.out.println(i)}
- | FOR '(' expression ';' ';' ')' statement
- {
- ForStmt Fst = new ForStmt($3.getOffset(),$3.getVariableLength());
- Fst.set_head_Initializer($3);
- Fst.set_body_Loop_block($7);
-
- //Typannahme
- $$ = Fst;
- }
- //Bsp: for( ; i<10 ; ){System.out.println(i)}
- | FOR '(' ';' expression ';' ')' statement
- {
- ForStmt Fst = new ForStmt($4.getOffset(),$4.getVariableLength());
- Fst.set_head_Condition($4);
- Fst.set_body_Loop_block($7);
-
- //Typannahme
- $$ = Fst;
- }
- //Bsp: for( ; ; i++){System.out.println(i)}
- | FOR '(' ';' ';' expression ')' statement
- {
- ForStmt Fst = new ForStmt($5.getOffset(),$5.getVariableLength());
- Fst.set_head_Loop_expr($5);
- Fst.set_body_Loop_block($7);
-
- //Typannahme
- $$ = Fst;
- }
- //Bsp: for( ; ; ){System.out.println(i)}
- | FOR '(' ';' ';' ')' statement
- {
- ForStmt Fst = new ForStmt($6.getOffset(),$6.getVariableLength());
- Fst.set_body_Loop_block($6);
-
- //Typannahme
- $$ = Fst;
- }
-
-assignmentexpression : conditionalexpression
- {
- org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression");
- $$=$1;
- }
- | assignment
- {
- $$=$1;
- }
-
-
-emptystatement : ';'
- {
- EmptyStmt Empst = new EmptyStmt();
- $$=Empst;
- }
-
-expressionstatement : statementexpression ';'
- {
- $$=$1;
- }
-
-returnstatement : RETURN ';'
- {
- Return ret = new Return(-1,-1);
- $$= ret;
- }
- | RETURN expression ';'
- {
- Return retexp = new Return($2.getOffset(),$2.getVariableLength());
- retexp.set_ReturnExpr($2);
- $$=retexp;
- }
-
-statementnoshortif :statementwithouttrailingsubstatement
- {
- $$=$1;
- }
- | ifthenelsestatementnoshortif
- {
- $$=$1;
- }
- | whilestatementnoshortif
- {
- $$=$1;
- }
-
-conditionalexpression :conditionalorexpression
- {
- $$=$1;
- }
- // | conditionalorexpression '?' expression ':' conditionalexpression
-
-assignment :lefthandside assignmentoperator assignmentexpression
- {
- org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1!\n");
- Assign Ass = new Assign($1.getOffset(),$1.getVariableLength());
- LocalOrFieldVar LOFV = new LocalOrFieldVar($1.getOffset(),$1.getVariableLength());
- LOFV.set_UsedId($1);
- //auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());
- //auskommentiert von Andreas Stadelmeier (a10023) Ass.setType(TypePlaceholder.fresh());
- if( $2 == null )
- {
- org.apache.log4j.Logger.getLogger("parser").debug("\nParser --> Zuweisung1 --> " + $3 + " \n");
- Ass.set_Expr( LOFV,$3 );
- }
- else
- {
- Binary Bin = new Binary($3.getOffset(),$3.getVariableLength());
- Bin.set_Expr1(LOFV);
- Bin.set_Operator($2);
- Bin.set_Expr2($3);
- 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 );
- }
- $$=Ass;
- }
- | lefthandside assignmentoperator classinstancecreationexpression
- {
- Assign Ass =new Assign($1.getOffset(),$1.getVariableLength());
- LocalOrFieldVar LOFV = new LocalOrFieldVar($1.getOffset(),$1.getVariableLength());
- LOFV.set_UsedId($1);
- //auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());
- //auskommentiert von Andreas Stadelmeier (a10023) Ass.setType(TypePlaceholder.fresh());
- if($2==null)
- {
- Ass.set_Expr(LOFV,$3);
- }
- else
- {
- Binary Bin = new Binary($3.getOffset(),$3.getVariableLength());
- Bin.set_Expr1(LOFV);
- Bin.set_Operator($2);
- //auskommentiert von Andreas Stadelmeier (a10023) Bin.setType(TypePlaceholder.fresh());
- Bin.set_Expr2($3);
- Ass.set_Expr(LOFV,Bin);
- }
- $$=Ass;
- }
-
-statementexpression :assignment
- {
- $$=$1;
- }
- | preincrementexpression
- {
- $$=$1;
- }
- | predecrementexpression
- {
- $$=$1;
- }
- | postincrementexpression
- {
- $$=$1;
- }
- | postdecrementexpression
- {
- $$=$1;
- }
- | methodinvocation
- {
- $$=$1;
- }
-/* | classinstancecreationexpression
- {
- $$=$1;
- }
-*/
-
-ifthenelsestatementnoshortif :IF '(' expression ')' statementnoshortif
- ELSE statementnoshortif
- {
- IfStmt IfElno = new IfStmt($3.getOffset(),$3.getVariableLength());
- IfElno.set_Expr($3);
- IfElno.set_Then_block($5);
- IfElno.set_Else_block($7);
- $$=IfElno;
- }
-
-whilestatementnoshortif :WHILE '(' expression ')' statementnoshortif
- {
- WhileStmt Whstno = new WhileStmt($3.getOffset(),$3.getVariableLength());
- Whstno.set_Expr($3);
- Whstno.set_Loop_block($5);
- $$=Whstno;
- }
-
-conditionalorexpression : conditionalandexpression
- {
- $$=$1;
- }
- | conditionalorexpression LOGICALOR conditionalandexpression
- {
- Binary LogOr = new Binary($1.getOffset(),$1.getVariableLength());
- OrOp OrO = new OrOp($1.getOffset(),$1.getVariableLength());
- LogOr.set_Expr1($1);
- LogOr.set_Expr2($3);
- LogOr.set_Operator(OrO);
- //auskommentiert von Andreas Stadelmeier (a10023) LogOr.setType(TypePlaceholder.fresh());
- $$=LogOr;
- }
-
-// LambdaExpression eingefügt von Andreas Stadelmeier, a10023:
-
-lambdaassignmentoperator : LAMBDAASSIGNMENT
- {
- $$=null;
- }
-
-lambdabody : block
- {
- $$=$1;
- }
- | expression
- {
- //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($1));
- //ret.statements.add((ExprStmt)$1);
- $$=ret;
- }
-
-lambdaexpressionparameter : '(' ')'
- {
- $$=null;
- }
- | '(' formalparameterlist ')'
- {
- $$=$2;
- }
-
-lambdaexpression : lambdaexpressionparameter lambdaassignmentoperator lambdabody
- {
- LambdaExpression lambda = new LambdaExpression(/*((ParameSterList)$2).getOffset(),((ParameterList)$2).getVariableLength()*/0,0);
- if($1!=null)lambda.setParameterList($1);
- lambda.setBody((Block)$3);
- $$=lambda;
- }
-
- /*
- | '(' ')' lambdaassignmentoperator lambdabody
- {
- LambdaExpression lambda = new LambdaExpression(0,0); //hier noch fixen
- lambda.setBody((Block)$4);
- $$=lambda;
- }
- */
-
-
-
-lefthandside :name
- {
- $$=$1;
- }
-
-assignmentoperator : '='
- {
- $$=null;
- }
- | TIMESEQUAL
- {
- TimesOp TEO = new TimesOp(-1,-1);
- $$=TEO;
- }
- | DIVIDEEQUAL
- {
- DivideOp DEO = new DivideOp(-1,-1);
- $$=DEO;
- }
- | MODULOEQUAL
- {
- ModuloOp MEO = new ModuloOp(-1,-1);
- $$=MEO;
- }
- | PLUSEQUAL
- {
- PlusOp PEO = new PlusOp(-1,-1);
- $$=PEO;
- }
- | MINUSEQUAL
- {
- MinusOp MEO = new MinusOp(-1,-1);
- $$=MEO;
- }
- // | SHIFTLEFTEQUAL
- // | SIGNEDSHIFTRIGHTEQUAL
- // | UNSIGNEDSHIFTRIGHTEQUAL
- // | ANDEQUAL
- // | XOREQUAL
- // | OREQUAL
-
-preincrementexpression :INCREMENT unaryexpression
- {
- PreIncExpr PRINC = new PreIncExpr($2.getOffset(),$2.getVariableLength());
- PRINC.set_Expr($2);
- $$=PRINC;
- }
-
-predecrementexpression :DECREMENT unaryexpression
- {
- PreDecExpr PRDEC = new PreDecExpr($2.getOffset(),$2.getVariableLength());
- PRDEC.set_Expr($2);
- $$=PRDEC;
- }
-
-postincrementexpression :postfixexpression INCREMENT
- {
- PostIncExpr PIE = new PostIncExpr($1.getOffset(),$1.getVariableLength());
- PIE.set_Expr($1);
- $$=PIE;
- }
-
-postdecrementexpression :postfixexpression DECREMENT
- {
- PostDecExpr PDE = new PostDecExpr($1.getOffset(),$1.getVariableLength());
- PDE.set_Expr($1);
- $$=PDE;
- }
-
-methodinvocation:
- name '(' ')'
- {
- org.apache.log4j.Logger.getLogger("parser").debug("M1");
- MethodCall MC = new MethodCall($1.getOffset(),$1.getVariableLength());
- UsedId udidmeth = new UsedId($1.getOffset());
- udidmeth.set_Name((String)(($1.get_Name()).elementAt($1.get_Name().size()-1)));
- MC.set_UsedId(udidmeth);
- Receiver rec = null;
- if ($1.get_Name().size() > 2) {
-
- $1.removeLast();
-
- //macht aus der Liste von Strings
- //in usedid.name einen InstVar
- InstVar INSTVA = new InstVar($1,$1.getOffset(),$1.getVariableLength());
-
- //auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh());
- rec = new Receiver(INSTVA);
- }
- else if ($1.get_Name().size() == 2) {
- LocalOrFieldVar LOFV = new LocalOrFieldVar($1.getOffset(),$1.getVariableLength());
- $1.removeLast();
- LOFV.set_UsedId($1);
- //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());
- $$=MC;
- }
- | name '('argumentlist')'
- {
- org.apache.log4j.Logger.getLogger("parser").debug("M2");
- MethodCall MCarg = new MethodCall($1.getOffset(),$1.getVariableLength());
- UsedId udidmeth = new UsedId($1.getOffset());
- udidmeth.set_Name((String)(($1.get_Name()).elementAt($1.get_Name().size()-1)));
- MCarg.set_UsedId(udidmeth);
- Receiver rec = null;
- if ($1.get_Name().size() > 2) {
-
- $1.removeLast();
-
- //macht aus der Liste von Strings
- //in usedid.name einen InstVar
- InstVar INSTVA = new InstVar($1,$1.getOffset(),$1.getVariableLength());
-
- //auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh());
- rec = new Receiver(INSTVA);
- }
- else if ($1.get_Name().size() == 2) {
- LocalOrFieldVar LOFV = new LocalOrFieldVar($1.getOffset(),$1.getVariableLength());
- $1.removeLast();
- LOFV.set_UsedId($1);
- //auskommentiert von Andreas Stadelmeier (a10023) LOFV.setType(TypePlaceholder.fresh());
- rec = new Receiver(LOFV);
- }
- MCarg.set_Receiver(rec);
- MCarg.set_ArgumentList($3);
- //auskommentiert von Andreas Stadelmeier (a10023) MCarg.setType(TypePlaceholder.fresh());
- $$=MCarg;
- }
- | primary '.' IDENTIFIER '(' ')'
- {
- org.apache.log4j.Logger.getLogger("parser").debug("M3");
- MethodCall MCpr = new MethodCall($1.getOffset(),$1.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($1.getOffset());
- udidmeth.set_Name($3.getLexem());
- MCpr.set_UsedId(udidmeth);
-
- /* #JB# 04.06.2005 */
- /* ########################################################### */
- MCpr.set_Receiver(new Receiver($1));
- /* ########################################################### */
- //auskommentiert von Andreas Stadelmeier (a10023) MCpr.setType(TypePlaceholder.fresh());
- $$=MCpr;
- }
- | primary '.' IDENTIFIER '('argumentlist ')'
- {
- org.apache.log4j.Logger.getLogger("parser").debug("M4");
- MethodCall MCPA = new MethodCall($1.getOffset(),$1.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($3.getOffset());
- udidmeth.set_Name($3.getLexem());
- MCPA.set_UsedId(udidmeth);
-
- /* #JB# 04.06.2005 */
- /* ########################################################### */
- MCPA.set_Receiver(new Receiver($1));
- /* ########################################################### */
- MCPA.set_ArgumentList($5);
- //auskommentiert von Andreas Stadelmeier (a10023) MCPA.setType(TypePlaceholder.fresh());
- $$=MCPA;
- }
- // | SUPER '.' IDENTIFIER '(' ')'
- // | SUPER '.' IDENTIFIER '('argumentlist')'
-
-classinstancecreationexpression : NEW classtype '(' ')'
- {
- NewClass NC = new NewClass($2.getOffset(),$2.getVariableLength());
- NC.set_UsedId($2);
- usedIdsToCheck.addElement($2);
- //auskommentiert von Andreas Stadelmeier (a10023) NC.setType(TypePlaceholder.fresh());
- $$=NC;
- }
- | NEW classtype '(' argumentlist ')'
- {
- NewClass NCarg = new NewClass($2.getOffset(),$2.getVariableLength());
- NCarg.set_UsedId($2);
- usedIdsToCheck.addElement($2);
- NCarg.set_ArgumentList($4);
- //auskommentiert von Andreas Stadelmeier (a10023) NCarg.setType(TypePlaceholder.fresh());
- $$=NCarg;
- }
-
-conditionalandexpression : inclusiveorexpression
- {
- $$=$1;
- }
- | conditionalandexpression LOGICALAND inclusiveorexpression
- {
- Binary And = new Binary($1.getOffset(),$1.getVariableLength());
- AndOp AndO = new AndOp($1.getOffset(),$1.getVariableLength());
- And.set_Expr1($1);
- And.set_Expr2($3);
- And.set_Operator(AndO);
- //auskommentiert von Andreas Stadelmeier (a10023) And.setType(TypePlaceholder.fresh());
- $$=And;
- }
-
-/*
-fieldaccess :primary '.' IDENTIFIER
- | SUPER '.' IDENTIFIER
-*/
-
-unaryexpression : preincrementexpression
- {
- $$=$1;
- }
- | predecrementexpression
- {
- $$=$1;
- }
- | '+' unaryexpression
- {
- PositivExpr POSEX=new PositivExpr($2.getOffset(),$2.getVariableLength());
- UnaryPlus UP= new UnaryPlus();
- POSEX.set_UnaryPlus(UP);
- POSEX.set_Expr($2);
- $$=POSEX;
- }
- | '-' unaryexpression
- {
- NegativeExpr NEGEX=new NegativeExpr($2.getOffset(),$2.getVariableLength());
- UnaryMinus UM=new UnaryMinus();
- NEGEX.set_UnaryMinus(UM);
- NEGEX.set_Expr($2);
- $$=NEGEX;
- }
- | unaryexpressionnotplusminus
- {
- $$=$1;
- }
-
-postfixexpression :primary
- {
- $$=$1;
- }
- | name
- {
- if ($1.get_Name().size() > 1) {
-
- //macht aus der Liste von Strings
- //in usedid.name einen InstVar
- InstVar INSTVA = new InstVar($1,$1.getOffset(),$1.getVariableLength());
-
- //auskommentiert von Andreas Stadelmeier (a10023) INSTVA.setType(TypePlaceholder.fresh());
- $$ = INSTVA;
- }
- else {
- LocalOrFieldVar Postincexpr = new LocalOrFieldVar($1.getOffset(),$1.getVariableLength());
- Postincexpr.set_UsedId($1);
- //auskommentiert von Andreas Stadelmeier (a10023) Postincexpr.setType(TypePlaceholder.fresh());
- $$=Postincexpr;
- }
- }
- | postincrementexpression
- {
- $$=$1;
- }
- | postdecrementexpression
- {
- $$=$1;
- }
-
-primary : primarynonewarray
- {
- $$=$1;
- }
-
-inclusiveorexpression : exclusiveorexpression
- {
- $$=$1;
- }
- | inclusiveorexpression '|' exclusiveorexpression
-
-primarynonewarray : literal
- {
- $$=$1;
- }
- | THIS
- {
- This T = new This($1.getOffset(),$1.getLexem().length());
- UsedId UT = new UsedId($1.getOffset());
- UT.set_Name($1.getLexem());
- T.set_UsedId(UT);
- $$=T;
- }
-/* auskommentiert von Andreas Stadelmeier
- | '('expression')'
- {
- $$=$2;
- }
- */
-/*
- | classinstancecreationexpression
- {
- $$=$1;
- }
- | fieldaccess
-*/
- | methodinvocation
- {
- $$=$1;
- }
- |lambdaexpression
- {
- $$=$1;
- }
-
-
-unaryexpressionnotplusminus : postfixexpression {$$=$1;}
- // | '~' unaryexpression
- | '!' unaryexpression {NotExpr NE=new NotExpr($2.getOffset(),$2.getVariableLength());
- UnaryNot UN=new UnaryNot();
- NE.set_UnaryNot(UN);
- NE.set_Expr($2);
- $$=NE;
- }
- | castexpression {$$=$1;}
-
-exclusiveorexpression :andexpression {$$=$1;}
- | exclusiveorexpression '^' andexpression //{
- //
- //}
-
-literal : INTLITERAL {IntLiteral IL = new IntLiteral();
- IL.set_Int($1.String2Int());
- $$ = IL;
- }
-
- | BOOLLITERAL {BoolLiteral BL = new BoolLiteral();
- BL.set_Bool($1.String2Bool());
- $$ = BL;
- }
- | CHARLITERAL {CharLiteral CL = new CharLiteral();
- CL.set_Char($1.CharInString());
- $$=CL;
- }
- | STRINGLITERAL
- {
- StringLiteral ST = new StringLiteral();
- ST.set_String($1.get_String());
- $$=ST;
- }
- | LONGLITERAL { LongLiteral LL = new LongLiteral();
- LL.set_Long($1.String2Long());
- $$ = LL;
- }
- | FLOATLITERAL {
- FloatLiteral FL = new FloatLiteral();
- FL.set_Float($1.String2Float());
- $$ = FL;
- }
- | DOUBLELITERAL {
- DoubleLiteral DL = new DoubleLiteral();
- DL.set_Double($1.String2Double());
- $$ = DL;
- }
- | JNULL;
- {
- Null NN = new Null();
- $$=NN;
- }
-
-castexpression : '(' primitivetype ')' unaryexpression
- {
- CastExpr CaEx=new CastExpr($4.getOffset(),$4.getVariableLength());
- CaEx.set_Type($2);
- CaEx.set_Expr($4);
- $$=CaEx;
- }
- //| '(' expression ')' unaryexpressionnotplusminus
-
-andexpression :equalityexpression
- {
- $$=$1;
- }
- | andexpression '&' equalityexpression
- {
- }
-
-equalityexpression : relationalexpression
- {
- $$=$1;
- }
- | equalityexpression EQUAL relationalexpression
- {
- Binary EQ = new Binary($1.getOffset(),$1.getVariableLength());
- EqualOp EO = new EqualOp($1.getOffset(),$1.getVariableLength());
- EQ.set_Expr1($1);
- EQ.set_Expr2($3);
- EQ.set_Operator(EO);
- //auskommentiert von Andreas Stadelmeier (a10023) EQ.setType(TypePlaceholder.fresh());
- $$=EQ;
- }
- | equalityexpression NOTEQUAL relationalexpression
- {
- Binary NEQ = new Binary($1.getOffset(),$1.getVariableLength());
- NotEqualOp NEO = new NotEqualOp($1.getOffset(),$1.getVariableLength());
- NEQ.set_Expr1($1);
- NEQ.set_Expr2($3);
- NEQ.set_Operator(NEO);
- //auskommentiert von Andreas Stadelmeier (a10023) NEQ.setType(TypePlaceholder.fresh());
- $$=NEQ;
- }
-
-relationalexpression : shiftexpression
- {
- $$=$1;
- }
- | relationalexpression '<' shiftexpression
- {
- Binary LO = new Binary($1.getOffset(),$1.getVariableLength());
- LessOp LOO = new LessOp($1.getOffset(),$1.getVariableLength());
- LO.set_Expr1($1);
- LO.set_Expr2($3);
- LO.set_Operator(LOO);
- //auskommentiert von Andreas Stadelmeier (a10023) LO.setType(TypePlaceholder.fresh());
- $$=LO;
- }
- | relationalexpression '>' shiftexpression
- {
- Binary GO = new Binary($1.getOffset(),$1.getVariableLength());
- GreaterOp GOO = new GreaterOp($1.getOffset(),$1.getVariableLength());
- GO.set_Expr1($1);
- GO.set_Expr2($3);
- GO.set_Operator( GOO );
- //auskommentiert von Andreas Stadelmeier (a10023) GO.setType(TypePlaceholder.fresh());
- $$=GO;
- }
- | relationalexpression LESSEQUAL shiftexpression
- {
- Binary LE = new Binary($1.getOffset(),$1.getVariableLength());
- LessEquOp LEO = new LessEquOp($1.getOffset(),$1.getVariableLength());
- LE.set_Expr1($1);
- LE.set_Expr2($3);
- LE.set_Operator(LEO);
- //auskommentiert von Andreas Stadelmeier (a10023) LE.setType(TypePlaceholder.fresh());
- $$=LE;
- }
- | relationalexpression GREATEREQUAL shiftexpression
- {
- Binary GE = new Binary($1.getOffset(),$1.getVariableLength());
- GreaterEquOp GEO = new GreaterEquOp($1.getOffset(),$1.getVariableLength());
- GE.set_Expr1($1);
- GE.set_Expr2($3);
- GE.set_Operator(GEO);
- //auskommentiert von Andreas Stadelmeier (a10023) GE.setType(TypePlaceholder.fresh());
- $$=GE;
- }
- | relationalexpression INSTANCEOF referencetype
- {
- InstanceOf ISO=new InstanceOf($1.getOffset(),$1.getVariableLength());
- ISO.set_Expr($1);
- ISO.set_Type($3);
- $$=ISO;
- }
-
-shiftexpression : additiveexpression
- {
- $$=$1;
- }
-
-additiveexpression :multiplicativeexpression
- {
- $$=$1;
- }
- | additiveexpression '+' multiplicativeexpression
- {
- Binary AD = new Binary($1.getOffset(),$1.getVariableLength());
- PlusOp PO = new PlusOp($1.getOffset(),$1.getVariableLength());
- AD.set_Expr1($1);
- AD.set_Expr2($3);
- AD.set_Operator(PO);
- //auskommentiert von Andreas Stadelmeier (a10023) AD.setType(TypePlaceholder.fresh());
- $$=AD;
- }
- | additiveexpression '-' multiplicativeexpression
- {
- Binary MI = new Binary($1.getOffset(),$1.getVariableLength());
- MinusOp MO = new MinusOp($1.getOffset(),$1.getVariableLength());
- MI.set_Expr1($1);
- MI.set_Expr2($3);
- MI.set_Operator(MO);
- //auskommentiert von Andreas Stadelmeier (a10023) MI.setType(TypePlaceholder.fresh());
- $$=MI;
- }
-
-multiplicativeexpression : unaryexpression
- {
- $$=$1;
- }
- | multiplicativeexpression '*' unaryexpression
- {
- Binary ML = new Binary($1.getOffset(),$1.getVariableLength());
- TimesOp TO = new TimesOp($1.getOffset(),$1.getVariableLength());
- ML.set_Expr1($1);
- ML.set_Expr2($3);
- ML.set_Operator(TO);
- //auskommentiert von Andreas Stadelmeier (a10023) ML.setType(TypePlaceholder.fresh());
- $$=ML;
- }
- | multiplicativeexpression '/' unaryexpression
- {
- Binary DV = new Binary($1.getOffset(),$1.getVariableLength());
- DivideOp DO = new DivideOp($1.getOffset(),$1.getVariableLength());
- DV.set_Expr1($1);
- DV.set_Expr2($3);
- DV.set_Operator(DO);
- //auskommentiert von Andreas Stadelmeier (a10023) DV.setType(TypePlaceholder.fresh());
- $$ = DV;
- }
- | multiplicativeexpression '%' unaryexpression
- {
- Binary MD = new Binary($1.getOffset(),$1.getVariableLength());
- ModuloOp MO = new ModuloOp($1.getOffset(),$1.getVariableLength());
- MD.set_Expr1($1);
- MD.set_Expr2($3);
- MD.set_Operator(MO);
- //auskommentiert von Andreas Stadelmeier (a10023) MD.setType(TypePlaceholder.fresh());
- $$ =MD;
- }
-
-
-%%
\ No newline at end of file
diff --git a/bin/parser/BoundedParameter.jav b/bin/parser/BoundedParameter.jav
new file mode 100644
index 000000000..6d7518a9c
--- /dev/null
+++ b/bin/parser/BoundedParameter.jav
@@ -0,0 +1,3 @@
+class Matrix{
+ String op = "String";
+}
diff --git a/bin/parser/FieldInitializationTest.jav b/bin/parser/FieldInitializationTest.jav
new file mode 100644
index 000000000..302667b97
--- /dev/null
+++ b/bin/parser/FieldInitializationTest.jav
@@ -0,0 +1,3 @@
+class FieldInitializationTest{
+ String var = "hallo";
+}
\ No newline at end of file
diff --git a/bin/parser/GenericFieldVarTest.jav b/bin/parser/GenericFieldVarTest.jav
new file mode 100644
index 000000000..a47b41eb0
--- /dev/null
+++ b/bin/parser/GenericFieldVarTest.jav
@@ -0,0 +1,3 @@
+class Test{
+ A var;
+}
diff --git a/bin/parser/ImportTest.jav b/bin/parser/ImportTest.jav
new file mode 100644
index 000000000..2de55cee8
--- /dev/null
+++ b/bin/parser/ImportTest.jav
@@ -0,0 +1,4 @@
+import java.util.*;
+
+class ImportTest{
+}
\ No newline at end of file
diff --git a/bin/myJvmDisassembler/.cvsignore b/src/de/dhbwstuttgart/JvmDisassembler/.cvsignore
similarity index 100%
rename from bin/myJvmDisassembler/.cvsignore
rename to src/de/dhbwstuttgart/JvmDisassembler/.cvsignore
diff --git a/src/myJvmDisassembler/GenericsTest.java b/src/de/dhbwstuttgart/JvmDisassembler/GenericsTest.java
similarity index 83%
rename from src/myJvmDisassembler/GenericsTest.java
rename to src/de/dhbwstuttgart/JvmDisassembler/GenericsTest.java
index 954fad1f7..5185f0562 100755
--- a/src/myJvmDisassembler/GenericsTest.java
+++ b/src/de/dhbwstuttgart/JvmDisassembler/GenericsTest.java
@@ -1,4 +1,4 @@
-package myJvmDisassembler;
+package de.dhbwstuttgart.JvmDisassembler;
diff --git a/src/myJvmDisassembler/jvmDisassembler.java b/src/de/dhbwstuttgart/JvmDisassembler/jvmDisassembler.java
similarity index 99%
rename from src/myJvmDisassembler/jvmDisassembler.java
rename to src/de/dhbwstuttgart/JvmDisassembler/jvmDisassembler.java
index 19bb41ba3..6988d70a6 100755
--- a/src/myJvmDisassembler/jvmDisassembler.java
+++ b/src/de/dhbwstuttgart/JvmDisassembler/jvmDisassembler.java
@@ -1,4 +1,4 @@
-package myJvmDisassembler;
+package de.dhbwstuttgart.JvmDisassembler;
import java.util.*;
import java.io.*;
diff --git a/src/mycompiler/mybytecode/Attribute.java b/src/de/dhbwstuttgart/bytecode/Attribute.java
similarity index 94%
rename from src/mycompiler/mybytecode/Attribute.java
rename to src/de/dhbwstuttgart/bytecode/Attribute.java
index 19a21e56d..579987798 100755
--- a/src/mycompiler/mybytecode/Attribute.java
+++ b/src/de/dhbwstuttgart/bytecode/Attribute.java
@@ -1,5 +1,5 @@
// ino.module.Attribute.8529.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.Attribute.8529.import
@@ -7,11 +7,11 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
-import mycompiler.myexception.JVMCodeException;
-
import org.apache.log4j.Logger;
// ino.end
+import de.dhbwstuttgart.myexception.JVMCodeException;
+
// ino.class.Attribute.21446.declaration
public abstract class Attribute implements ClassFileMember
// ino.end
diff --git a/src/mycompiler/mybytecode/AttributeInfo.java b/src/de/dhbwstuttgart/bytecode/AttributeInfo.java
similarity index 96%
rename from src/mycompiler/mybytecode/AttributeInfo.java
rename to src/de/dhbwstuttgart/bytecode/AttributeInfo.java
index 0c6eb249a..d43d5de69 100755
--- a/src/mycompiler/mybytecode/AttributeInfo.java
+++ b/src/de/dhbwstuttgart/bytecode/AttributeInfo.java
@@ -1,5 +1,5 @@
// ino.module.AttributeInfo.8530.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.AttributeInfo.8530.import
@@ -8,8 +8,7 @@ import java.io.OutputStream;
import java.lang.reflect.Array;
import java.util.Vector;
-import mycompiler.myexception.JVMCodeException;
-// ino.end
+import de.dhbwstuttgart.myexception.JVMCodeException;
// ino.class.AttributeInfo.21467.declaration
public class AttributeInfo extends Attribute
diff --git a/src/mycompiler/mybytecode/CONSTANT_Class_info.java b/src/de/dhbwstuttgart/bytecode/CONSTANT_Class_info.java
similarity index 97%
rename from src/mycompiler/mybytecode/CONSTANT_Class_info.java
rename to src/de/dhbwstuttgart/bytecode/CONSTANT_Class_info.java
index 76f61b2cd..046fbe93f 100755
--- a/src/mycompiler/mybytecode/CONSTANT_Class_info.java
+++ b/src/de/dhbwstuttgart/bytecode/CONSTANT_Class_info.java
@@ -1,5 +1,5 @@
// ino.module.CONSTANT_Class_info.8533.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CONSTANT_Class_info.8533.import
diff --git a/src/mycompiler/mybytecode/CONSTANT_Double_info.java b/src/de/dhbwstuttgart/bytecode/CONSTANT_Double_info.java
similarity index 98%
rename from src/mycompiler/mybytecode/CONSTANT_Double_info.java
rename to src/de/dhbwstuttgart/bytecode/CONSTANT_Double_info.java
index 18c3523c0..af632c3ab 100755
--- a/src/mycompiler/mybytecode/CONSTANT_Double_info.java
+++ b/src/de/dhbwstuttgart/bytecode/CONSTANT_Double_info.java
@@ -1,5 +1,5 @@
// ino.module.CONSTANT_Double_info.8534.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CONSTANT_Double_info.8534.import
diff --git a/src/mycompiler/mybytecode/CONSTANT_Fieldref_info.java b/src/de/dhbwstuttgart/bytecode/CONSTANT_Fieldref_info.java
similarity index 98%
rename from src/mycompiler/mybytecode/CONSTANT_Fieldref_info.java
rename to src/de/dhbwstuttgart/bytecode/CONSTANT_Fieldref_info.java
index 05dbd5f9c..0f82f3a30 100755
--- a/src/mycompiler/mybytecode/CONSTANT_Fieldref_info.java
+++ b/src/de/dhbwstuttgart/bytecode/CONSTANT_Fieldref_info.java
@@ -1,5 +1,5 @@
// ino.module.CONSTANT_Fieldref_info.8535.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CONSTANT_Fieldref_info.8535.import
diff --git a/src/mycompiler/mybytecode/CONSTANT_Float_info.java b/src/de/dhbwstuttgart/bytecode/CONSTANT_Float_info.java
similarity index 97%
rename from src/mycompiler/mybytecode/CONSTANT_Float_info.java
rename to src/de/dhbwstuttgart/bytecode/CONSTANT_Float_info.java
index 7a442fdd4..4a7e8582a 100755
--- a/src/mycompiler/mybytecode/CONSTANT_Float_info.java
+++ b/src/de/dhbwstuttgart/bytecode/CONSTANT_Float_info.java
@@ -1,5 +1,5 @@
// ino.module.CONSTANT_Float_info.8536.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CONSTANT_Float_info.8536.import
import java.io.IOException;
diff --git a/src/mycompiler/mybytecode/CONSTANT_Integer_info.java b/src/de/dhbwstuttgart/bytecode/CONSTANT_Integer_info.java
similarity index 97%
rename from src/mycompiler/mybytecode/CONSTANT_Integer_info.java
rename to src/de/dhbwstuttgart/bytecode/CONSTANT_Integer_info.java
index c317bfb4f..1747ab73b 100755
--- a/src/mycompiler/mybytecode/CONSTANT_Integer_info.java
+++ b/src/de/dhbwstuttgart/bytecode/CONSTANT_Integer_info.java
@@ -1,5 +1,5 @@
// ino.module.CONSTANT_Integer_info.8537.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CONSTANT_Integer_info.8537.import
import java.io.FileOutputStream;
diff --git a/src/mycompiler/mybytecode/CONSTANT_InterfaceMethodref_info.java b/src/de/dhbwstuttgart/bytecode/CONSTANT_InterfaceMethodref_info.java
similarity index 98%
rename from src/mycompiler/mybytecode/CONSTANT_InterfaceMethodref_info.java
rename to src/de/dhbwstuttgart/bytecode/CONSTANT_InterfaceMethodref_info.java
index 6701db8a8..70555a58a 100755
--- a/src/mycompiler/mybytecode/CONSTANT_InterfaceMethodref_info.java
+++ b/src/de/dhbwstuttgart/bytecode/CONSTANT_InterfaceMethodref_info.java
@@ -1,5 +1,5 @@
// ino.module.CONSTANT_InterfaceMethodref_info.8538.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CONSTANT_InterfaceMethodref_info.8538.import
diff --git a/src/mycompiler/mybytecode/CONSTANT_Long_info.java b/src/de/dhbwstuttgart/bytecode/CONSTANT_Long_info.java
similarity index 98%
rename from src/mycompiler/mybytecode/CONSTANT_Long_info.java
rename to src/de/dhbwstuttgart/bytecode/CONSTANT_Long_info.java
index 6aacc7472..493529287 100755
--- a/src/mycompiler/mybytecode/CONSTANT_Long_info.java
+++ b/src/de/dhbwstuttgart/bytecode/CONSTANT_Long_info.java
@@ -1,5 +1,5 @@
// ino.module.CONSTANT_Long_info.8539.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CONSTANT_Long_info.8539.import
diff --git a/src/mycompiler/mybytecode/CONSTANT_Methodref_info.java b/src/de/dhbwstuttgart/bytecode/CONSTANT_Methodref_info.java
similarity index 98%
rename from src/mycompiler/mybytecode/CONSTANT_Methodref_info.java
rename to src/de/dhbwstuttgart/bytecode/CONSTANT_Methodref_info.java
index 2f9790530..b1b261640 100755
--- a/src/mycompiler/mybytecode/CONSTANT_Methodref_info.java
+++ b/src/de/dhbwstuttgart/bytecode/CONSTANT_Methodref_info.java
@@ -1,5 +1,5 @@
// ino.module.CONSTANT_Methodref_info.8540.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CONSTANT_Methodref_info.8540.import
diff --git a/src/mycompiler/mybytecode/CONSTANT_NameAndType_info.java b/src/de/dhbwstuttgart/bytecode/CONSTANT_NameAndType_info.java
similarity index 98%
rename from src/mycompiler/mybytecode/CONSTANT_NameAndType_info.java
rename to src/de/dhbwstuttgart/bytecode/CONSTANT_NameAndType_info.java
index d13049be7..d91151670 100755
--- a/src/mycompiler/mybytecode/CONSTANT_NameAndType_info.java
+++ b/src/de/dhbwstuttgart/bytecode/CONSTANT_NameAndType_info.java
@@ -1,5 +1,5 @@
// ino.module.CONSTANT_NameAndType_info.8541.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CONSTANT_NameAndType_info.8541.import
diff --git a/src/mycompiler/mybytecode/CONSTANT_String_info.java b/src/de/dhbwstuttgart/bytecode/CONSTANT_String_info.java
similarity index 97%
rename from src/mycompiler/mybytecode/CONSTANT_String_info.java
rename to src/de/dhbwstuttgart/bytecode/CONSTANT_String_info.java
index b8ffb5980..4d1c70462 100755
--- a/src/mycompiler/mybytecode/CONSTANT_String_info.java
+++ b/src/de/dhbwstuttgart/bytecode/CONSTANT_String_info.java
@@ -1,5 +1,5 @@
// ino.module.CONSTANT_String_info.8542.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CONSTANT_String_info.8542.import
diff --git a/src/mycompiler/mybytecode/CONSTANT_Utf8_info.java b/src/de/dhbwstuttgart/bytecode/CONSTANT_Utf8_info.java
similarity index 97%
rename from src/mycompiler/mybytecode/CONSTANT_Utf8_info.java
rename to src/de/dhbwstuttgart/bytecode/CONSTANT_Utf8_info.java
index 58a44c2d9..df9d2ef2b 100755
--- a/src/mycompiler/mybytecode/CONSTANT_Utf8_info.java
+++ b/src/de/dhbwstuttgart/bytecode/CONSTANT_Utf8_info.java
@@ -1,5 +1,5 @@
// ino.module.CONSTANT_Utf8_info.8543.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CONSTANT_Utf8_info.8543.import
diff --git a/src/mycompiler/mybytecode/CPInfo.java b/src/de/dhbwstuttgart/bytecode/CPInfo.java
similarity index 97%
rename from src/mycompiler/mybytecode/CPInfo.java
rename to src/de/dhbwstuttgart/bytecode/CPInfo.java
index 9ee33ba6c..a3591b644 100755
--- a/src/mycompiler/mybytecode/CPInfo.java
+++ b/src/de/dhbwstuttgart/bytecode/CPInfo.java
@@ -1,5 +1,5 @@
// ino.module.CPInfo.8544.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CPInfo.8544.import
diff --git a/src/mycompiler/mybytecode/ClassFile.java b/src/de/dhbwstuttgart/bytecode/ClassFile.java
similarity index 98%
rename from src/mycompiler/mybytecode/ClassFile.java
rename to src/de/dhbwstuttgart/bytecode/ClassFile.java
index 619c8aed0..ba7de8e54 100755
--- a/src/mycompiler/mybytecode/ClassFile.java
+++ b/src/de/dhbwstuttgart/bytecode/ClassFile.java
@@ -3,7 +3,7 @@
// ino.module.ClassFile.8531.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.ClassFile.8531.import
import java.io.File;
@@ -13,20 +13,27 @@ import java.io.OutputStream;
import java.lang.reflect.Array;
import java.util.Vector;
-import mycompiler.myclass.ParameterList;
-import mycompiler.myclass.UsedId;
-import mycompiler.MyCompiler;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.myinterface.Interface;
-import mycompiler.mystatement.Assign;
-import mycompiler.mystatement.Block;
-import mycompiler.mytype.Type;
-import mycompiler.SourceFile;
-
import org.apache.log4j.Logger;
// ino.end
+
+
+
+
+
+
+import de.dhbwstuttgart.core.MyCompiler;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.syntaxtree.Interface;
+import de.dhbwstuttgart.syntaxtree.ParameterList;
+import de.dhbwstuttgart.syntaxtree.SourceFile;
+import de.dhbwstuttgart.syntaxtree.misc.UsedId;
+import de.dhbwstuttgart.syntaxtree.statement.Assign;
+import de.dhbwstuttgart.syntaxtree.statement.Block;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+
+
// ino.class.ClassFile.21492.description type=javadoc
/**
* Darstellung einer Klassendatei aus Sicht fuer die JVM.
diff --git a/src/mycompiler/mybytecode/ClassFileMember.java b/src/de/dhbwstuttgart/bytecode/ClassFileMember.java
similarity index 67%
rename from src/mycompiler/mybytecode/ClassFileMember.java
rename to src/de/dhbwstuttgart/bytecode/ClassFileMember.java
index 8c54cfb96..85d628b74 100644
--- a/src/mycompiler/mybytecode/ClassFileMember.java
+++ b/src/de/dhbwstuttgart/bytecode/ClassFileMember.java
@@ -1,9 +1,9 @@
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
import java.io.IOException;
import java.io.OutputStream;
-import mycompiler.myexception.JVMCodeException;
+import de.dhbwstuttgart.myexception.JVMCodeException;
public interface ClassFileMember {
public void codegen(ClassFile cf, OutputStream out) throws JVMCodeException, IOException;
diff --git a/src/mycompiler/mybytecode/CodeAttribute.java b/src/de/dhbwstuttgart/bytecode/CodeAttribute.java
similarity index 99%
rename from src/mycompiler/mybytecode/CodeAttribute.java
rename to src/de/dhbwstuttgart/bytecode/CodeAttribute.java
index 86997fdc3..d8a6dfdf1 100755
--- a/src/mycompiler/mybytecode/CodeAttribute.java
+++ b/src/de/dhbwstuttgart/bytecode/CodeAttribute.java
@@ -4,7 +4,7 @@
//muss wieder einkommentiert werden
// ino.module.CodeAttribute.8532.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.CodeAttribute.8532.import
@@ -14,10 +14,9 @@ import java.io.OutputStream;
import java.lang.reflect.Array;
import java.util.Vector;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.syntaxtree.type.Type;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.mytype.Type;
-// ino.end
// ino.class.CodeAttribute.21681.declaration
public class CodeAttribute extends Attribute
diff --git a/src/mycompiler/mybytecode/ExceptionTable.java b/src/de/dhbwstuttgart/bytecode/ExceptionTable.java
similarity index 97%
rename from src/mycompiler/mybytecode/ExceptionTable.java
rename to src/de/dhbwstuttgart/bytecode/ExceptionTable.java
index c968ed1a0..8c5dbe48b 100755
--- a/src/mycompiler/mybytecode/ExceptionTable.java
+++ b/src/de/dhbwstuttgart/bytecode/ExceptionTable.java
@@ -1,5 +1,5 @@
// ino.module.ExceptionTable.8545.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.ExceptionTable.8545.import
diff --git a/src/mycompiler/mybytecode/FieldInfo.java b/src/de/dhbwstuttgart/bytecode/FieldInfo.java
similarity index 98%
rename from src/mycompiler/mybytecode/FieldInfo.java
rename to src/de/dhbwstuttgart/bytecode/FieldInfo.java
index 8f2febd05..9347bb609 100755
--- a/src/mycompiler/mybytecode/FieldInfo.java
+++ b/src/de/dhbwstuttgart/bytecode/FieldInfo.java
@@ -1,5 +1,5 @@
// ino.module.FieldInfo.8546.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.FieldInfo.8546.import
@@ -8,11 +8,11 @@ import java.io.IOException;
import java.io.OutputStream;
import java.util.Vector;
-import mycompiler.myexception.JVMCodeException;
-
import org.apache.log4j.Logger;
// ino.end
+import de.dhbwstuttgart.myexception.JVMCodeException;
+
// ino.class.FieldInfo.22068.declaration
public class FieldInfo implements ClassFileMember
// ino.end
diff --git a/src/mycompiler/mybytecode/JVMCode.java b/src/de/dhbwstuttgart/bytecode/JVMCode.java
similarity index 99%
rename from src/mycompiler/mybytecode/JVMCode.java
rename to src/de/dhbwstuttgart/bytecode/JVMCode.java
index aaa0392b6..1966ae884 100755
--- a/src/mycompiler/mybytecode/JVMCode.java
+++ b/src/de/dhbwstuttgart/bytecode/JVMCode.java
@@ -1,13 +1,16 @@
// ino.module.JVMCode.8547.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.JVMCode.8547.import
import java.util.Vector;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.mytype.GenericTypeVar;
+
import org.apache.log4j.Logger;
// ino.end
+
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
+
// ino.class.JVMCode.22140.description type=javadoc
/**
* Enthaelt die Befehle fuer die Umsetzung in JVM-Code und
diff --git a/src/mycompiler/mybytecode/Key.java b/src/de/dhbwstuttgart/bytecode/Key.java
similarity index 98%
rename from src/mycompiler/mybytecode/Key.java
rename to src/de/dhbwstuttgart/bytecode/Key.java
index 859bb8710..77df160e1 100755
--- a/src/mycompiler/mybytecode/Key.java
+++ b/src/de/dhbwstuttgart/bytecode/Key.java
@@ -1,5 +1,5 @@
// ino.module.Key.8548.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.Key.8548.import
diff --git a/src/mycompiler/mybytecode/MethodInfo.java b/src/de/dhbwstuttgart/bytecode/MethodInfo.java
similarity index 97%
rename from src/mycompiler/mybytecode/MethodInfo.java
rename to src/de/dhbwstuttgart/bytecode/MethodInfo.java
index 56eee9b2d..a083b106c 100755
--- a/src/mycompiler/mybytecode/MethodInfo.java
+++ b/src/de/dhbwstuttgart/bytecode/MethodInfo.java
@@ -1,5 +1,5 @@
// ino.module.MethodInfo.8549.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.MethodInfo.8549.import
@@ -8,11 +8,11 @@ import java.io.IOException;
import java.io.OutputStream;
import java.util.Vector;
-import mycompiler.myexception.JVMCodeException;
-
import org.apache.log4j.Logger;
// ino.end
+import de.dhbwstuttgart.myexception.JVMCodeException;
+
// ino.class.MethodInfo.22923.declaration
public class MethodInfo implements ClassFileMember
// ino.end
diff --git a/src/mycompiler/mybytecode/SignatureInfo.java b/src/de/dhbwstuttgart/bytecode/SignatureInfo.java
similarity index 95%
rename from src/mycompiler/mybytecode/SignatureInfo.java
rename to src/de/dhbwstuttgart/bytecode/SignatureInfo.java
index a7d2e6c10..cb4345977 100755
--- a/src/mycompiler/mybytecode/SignatureInfo.java
+++ b/src/de/dhbwstuttgart/bytecode/SignatureInfo.java
@@ -1,5 +1,5 @@
// ino.module.SignatureInfo.8550.package
-package mycompiler.mybytecode;
+package de.dhbwstuttgart.bytecode;
// ino.end
// ino.module.SignatureInfo.8550.import
@@ -8,17 +8,20 @@ import java.io.IOException;
import java.io.OutputStream;
import java.util.Vector;
-import mycompiler.myclass.ParameterList;
-import mycompiler.myclass.UsedId;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.mytype.BoundedGenericTypeVar;
-import mycompiler.mytype.GenericTypeVar;
-import mycompiler.mytype.RefType;
-import mycompiler.mytype.Type;
-
import org.apache.log4j.Logger;
// ino.end
+
+
+
+
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.syntaxtree.ParameterList;
+import de.dhbwstuttgart.syntaxtree.misc.UsedId;
+import de.dhbwstuttgart.syntaxtree.type.BoundedGenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
// ino.class.SignatureInfo.22968.description type=javadoc
diff --git a/src/mycompiler/AClassOrInterface.java b/src/de/dhbwstuttgart/core/AClassOrInterface.java
similarity index 95%
rename from src/mycompiler/AClassOrInterface.java
rename to src/de/dhbwstuttgart/core/AClassOrInterface.java
index 0669be90c..93323e790 100755
--- a/src/mycompiler/AClassOrInterface.java
+++ b/src/de/dhbwstuttgart/core/AClassOrInterface.java
@@ -1,18 +1,24 @@
// ino.module.AClassOrInterface.8526.package
-package mycompiler;
+package de.dhbwstuttgart.core;
// ino.end
// ino.module.AClassOrInterface.8526.import
import java.util.Vector;
-import mycompiler.myclass.UsedId;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.mymodifier.Modifiers;
-
import org.apache.log4j.Logger;
// ino.end
+
+
+
+
+
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.syntaxtree.misc.UsedId;
+import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
+
// ino.class.AClassOrInterface.21186.description type=javadoc
/**
* Superklasse von Class und Interface. Beinhaltet gemeinsame Attribute
@@ -28,7 +34,7 @@ public interface AClassOrInterface
// ino.class.AClassOrInterface.21186.body
{
- public String getName();
+ public JavaClassName getName();
public Vector getSuperInterfaces();
public void setSuperInterfaces(Vector vector);
diff --git a/src/userinterface/ConsoleInterface.java b/src/de/dhbwstuttgart/core/ConsoleInterface.java
similarity index 90%
rename from src/userinterface/ConsoleInterface.java
rename to src/de/dhbwstuttgart/core/ConsoleInterface.java
index b009508d1..576077d7d 100755
--- a/src/userinterface/ConsoleInterface.java
+++ b/src/de/dhbwstuttgart/core/ConsoleInterface.java
@@ -1,19 +1,15 @@
-package userinterface;
+package de.dhbwstuttgart.core;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
-import java.util.Vector;
-
-import mycompiler.MyCompiler;
-import mycompiler.MyCompilerAPI;
-import mycompiler.mytypereconstruction.TypeinferenceResultSet;
-import typinferenz.exceptions.TypeinferenceException;
-
import java.util.*;
import org.apache.log4j.Logger;
import org.apache.log4j.varia.NullAppender;
+
+import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
+import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
public class ConsoleInterface {
private static final String directory = System.getProperty("user.dir");
diff --git a/src/mycompiler/IItemWithOffset.java b/src/de/dhbwstuttgart/core/IItemWithOffset.java
similarity index 92%
rename from src/mycompiler/IItemWithOffset.java
rename to src/de/dhbwstuttgart/core/IItemWithOffset.java
index e199fd8c4..8dc277f96 100755
--- a/src/mycompiler/IItemWithOffset.java
+++ b/src/de/dhbwstuttgart/core/IItemWithOffset.java
@@ -1,5 +1,5 @@
// ino.module.IItemWithOffset.8527.package
-package mycompiler;
+package de.dhbwstuttgart.core;
// ino.end
// ino.class.IItemWithOffset.21249.declaration
diff --git a/src/mycompiler/MyCompiler.java b/src/de/dhbwstuttgart/core/MyCompiler.java
similarity index 94%
rename from src/mycompiler/MyCompiler.java
rename to src/de/dhbwstuttgart/core/MyCompiler.java
index cd6c03680..dd384b93e 100755
--- a/src/mycompiler/MyCompiler.java
+++ b/src/de/dhbwstuttgart/core/MyCompiler.java
@@ -1,5 +1,5 @@
// ino.module.MyCompiler.8569.package
-package mycompiler;
+package de.dhbwstuttgart.core;
// ino.end
@@ -13,42 +13,41 @@ import java.io.Reader;
import java.io.StringReader;
import java.util.Vector;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.myclass.Class;
-import mycompiler.myclass.ClassBody;
-import mycompiler.myclass.DeclId;
-import mycompiler.myclass.FormalParameter;
-import mycompiler.myclass.ImportDeclarations;
-import mycompiler.myclass.Method;
-import mycompiler.myclass.ParameterList;
-import mycompiler.myclass.UsedId;
-import mycompiler.myexception.CTypeReconstructionException;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.myparser.JavaParser;
-import mycompiler.myparser.Scanner;
-import mycompiler.myparser.JavaParser.yyException;
-import mycompiler.mytype.GenericTypeVar;
-import mycompiler.mytype.IMatchable;
-import mycompiler.mytype.ITypeContainer;
-import mycompiler.mytype.Pair;
-import mycompiler.mytype.RefType;
-import mycompiler.mytype.Type;
-import mycompiler.mytype.TypePlaceholder;
-import mycompiler.mytypereconstruction.TypeinferenceResultSet;
-
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
import com.sun.corba.se.spi.orbutil.fsm.Guard.Result;
import com.sun.org.apache.xerces.internal.impl.xs.identity.Field;
-import typinferenz.FunNInterface;
-import typinferenz.ResultSet;
-// ino.end
-import typinferenz.assumptions.TypeAssumptions;
-import typinferenz.exceptions.DebugException;
-import typinferenz.exceptions.ParserError;
-import typinferenz.exceptions.TypeinferenceException;
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.myexception.CTypeReconstructionException;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.parser.JavaParser;
+import de.dhbwstuttgart.parser.Scanner;
+import de.dhbwstuttgart.parser.JavaParser.yyException;
+import de.dhbwstuttgart.syntaxtree.Class;
+import de.dhbwstuttgart.syntaxtree.ClassBody;
+import de.dhbwstuttgart.syntaxtree.FormalParameter;
+import de.dhbwstuttgart.syntaxtree.ImportDeclarations;
+import de.dhbwstuttgart.syntaxtree.Method;
+import de.dhbwstuttgart.syntaxtree.ParameterList;
+import de.dhbwstuttgart.syntaxtree.SourceFile;
+import de.dhbwstuttgart.syntaxtree.misc.DeclId;
+import de.dhbwstuttgart.syntaxtree.misc.UsedId;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.IMatchable;
+import de.dhbwstuttgart.syntaxtree.type.ITypeContainer;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
+import de.dhbwstuttgart.typeinference.FunNInterface;
+import de.dhbwstuttgart.typeinference.Pair;
+import de.dhbwstuttgart.typeinference.ResultSet;
+import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
+import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
+import de.dhbwstuttgart.typeinference.exceptions.DebugException;
+import de.dhbwstuttgart.typeinference.exceptions.ParserError;
+import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
@@ -175,7 +174,7 @@ public class MyCompiler implements MyCompilerAPI
// Klasse existiert, darf aber keine Parameterliste in der Definition haben
if( KlassenVektor.elementAt(k).get_ParaList().size() == 0 )
{
- RefType RNeu = new RefType( TempParameter.getName(), null,TempParameter.getOffset());
+ RefType RNeu = new RefType( TempParameter.getName().toString(), null,TempParameter.getOffset());
inferencelog.debug( "Vorher: " + Parameter );
// i-te Stelle ersetzen
Parameter.set( i, RNeu );
@@ -562,7 +561,7 @@ public class MyCompiler implements MyCompilerAPI
* Generiert den Bytecode und das Class-File f�r den Syntaxbaum.
* @throws NullPointerException Wenn noch kein abstrakter Syntaxbaum vorhanden
* ist.
- */
+
@Override
public Vector codeGeneration(ResultSet result)
throws NullPointerException, JVMCodeException
@@ -580,7 +579,8 @@ public class MyCompiler implements MyCompilerAPI
codegenlog.info("Codegenerierung beendet!");
return ret;
- }
+ }*/
+
// ino.method.main.21313.defdescription type=javadoc
/**
@@ -658,7 +658,7 @@ public class MyCompiler implements MyCompilerAPI
return OutputDir;
}
// ino.end
-
+/*
// ino.method.getFullyQualifiedNameFromClassname.21322.definition
public static String getFullyQualifiedNameFromClassname(String typ, ImportDeclarations declarations)
// ino.end
@@ -669,7 +669,7 @@ public class MyCompiler implements MyCompilerAPI
for(int j=0;j containedTypes, ImportDeclarations declarations)
@@ -716,7 +716,7 @@ public class MyCompiler implements MyCompilerAPI
}
}
// ino.end
-
+ */
/**
* @author Arne Lüdtke
* Ersetzt alle GTVs durch TPHs mit gleichem Namen. Arbeitet Rekursiv.
@@ -737,7 +737,7 @@ public class MyCompiler implements MyCompilerAPI
if(tt instanceof GenericTypeVar)
{
GenericTypeVar gtv = (GenericTypeVar)tt;
- paras.set(i,TypePlaceholder.backdoorCreate(gtv.getName()));
+ paras.set(i,TypePlaceholder.backdoorCreate(gtv.getName().toString()));
}
else
{
@@ -854,5 +854,12 @@ public class MyCompiler implements MyCompilerAPI
this.m_AbstractSyntaxTree.add(ret);
return ret;
}
+
+ @Override
+ public Vector codeGeneration(ResultSet result)
+ throws NullPointerException, JVMCodeException {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
// ino.end
diff --git a/src/mycompiler/MyCompilerAPI.java b/src/de/dhbwstuttgart/core/MyCompilerAPI.java
similarity index 89%
rename from src/mycompiler/MyCompilerAPI.java
rename to src/de/dhbwstuttgart/core/MyCompilerAPI.java
index d75cbd4d5..e774618f8 100755
--- a/src/mycompiler/MyCompilerAPI.java
+++ b/src/de/dhbwstuttgart/core/MyCompilerAPI.java
@@ -1,5 +1,5 @@
// ino.module.MyCompilerAPI.8570.package
-package mycompiler;
+package de.dhbwstuttgart.core;
// ino.end
// ino.module.MyCompilerAPI.8570.import
@@ -8,15 +8,15 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Vector;
-import typinferenz.ResultSet;
-import typinferenz.exceptions.ParserError;
-import typinferenz.exceptions.TypeinferenceException;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.myexception.CTypeReconstructionException;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.myparser.JavaParser;
-import mycompiler.mytypereconstruction.TypeinferenceResultSet;
-// ino.end
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.myexception.CTypeReconstructionException;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.parser.JavaParser;
+import de.dhbwstuttgart.syntaxtree.SourceFile;
+import de.dhbwstuttgart.typeinference.ResultSet;
+import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
+import de.dhbwstuttgart.typeinference.exceptions.ParserError;
+import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
// ino.class.MyCompilerAPI.21328.description type=javadoc
/**
diff --git a/src/mycompiler/myexception/CTypeReconstructionException.java b/src/de/dhbwstuttgart/myexception/CTypeReconstructionException.java
similarity index 98%
rename from src/mycompiler/myexception/CTypeReconstructionException.java
rename to src/de/dhbwstuttgart/myexception/CTypeReconstructionException.java
index ccb15f67b..babbc6918 100755
--- a/src/mycompiler/myexception/CTypeReconstructionException.java
+++ b/src/de/dhbwstuttgart/myexception/CTypeReconstructionException.java
@@ -1,11 +1,11 @@
// ino.module.CTypeReconstructionException.8572.package
-package mycompiler.myexception;
+package de.dhbwstuttgart.myexception;
// ino.end
// ino.module.CTypeReconstructionException.8572.import
import java.util.Vector;
-import mycompiler.IItemWithOffset;
-// ino.end
+
+import de.dhbwstuttgart.core.IItemWithOffset;
// ino.class.CTypeReconstructionException.23746.description type=javadoc
/**
diff --git a/src/mycompiler/myexception/JVMCodeException.java b/src/de/dhbwstuttgart/myexception/JVMCodeException.java
similarity index 93%
rename from src/mycompiler/myexception/JVMCodeException.java
rename to src/de/dhbwstuttgart/myexception/JVMCodeException.java
index 7eecf3fb1..e767b933a 100755
--- a/src/mycompiler/myexception/JVMCodeException.java
+++ b/src/de/dhbwstuttgart/myexception/JVMCodeException.java
@@ -1,5 +1,5 @@
// ino.module.JVMCodeException.8573.package
-package mycompiler.myexception;
+package de.dhbwstuttgart.myexception;
// ino.end
// ino.class.JVMCodeException.23780.declaration
public class JVMCodeException extends Exception
diff --git a/src/mycompiler/myexception/MatchException.java b/src/de/dhbwstuttgart/myexception/MatchException.java
similarity index 93%
rename from src/mycompiler/myexception/MatchException.java
rename to src/de/dhbwstuttgart/myexception/MatchException.java
index 1235f039f..12008da60 100755
--- a/src/mycompiler/myexception/MatchException.java
+++ b/src/de/dhbwstuttgart/myexception/MatchException.java
@@ -1,5 +1,5 @@
// ino.module.MatchException.8574.package
-package mycompiler.myexception;
+package de.dhbwstuttgart.myexception;
// ino.end
// ino.class.MatchException.23790.declaration
diff --git a/src/mycompiler/myexception/SCClassBodyException.java b/src/de/dhbwstuttgart/myexception/SCClassBodyException.java
similarity index 96%
rename from src/mycompiler/myexception/SCClassBodyException.java
rename to src/de/dhbwstuttgart/myexception/SCClassBodyException.java
index 490811985..4f493e661 100755
--- a/src/mycompiler/myexception/SCClassBodyException.java
+++ b/src/de/dhbwstuttgart/myexception/SCClassBodyException.java
@@ -1,5 +1,5 @@
// ino.module.SCClassBodyException.8575.package
-package mycompiler.myexception;
+package de.dhbwstuttgart.myexception;
// ino.end
// ino.module.SCClassBodyException.8575.import
import java.util.Vector;
diff --git a/src/mycompiler/myexception/SCClassException.java b/src/de/dhbwstuttgart/myexception/SCClassException.java
similarity index 97%
rename from src/mycompiler/myexception/SCClassException.java
rename to src/de/dhbwstuttgart/myexception/SCClassException.java
index ace83fdc3..03ed35eec 100755
--- a/src/mycompiler/myexception/SCClassException.java
+++ b/src/de/dhbwstuttgart/myexception/SCClassException.java
@@ -1,5 +1,5 @@
// ino.module.SCClassException.8576.package
-package mycompiler.myexception;
+package de.dhbwstuttgart.myexception;
// ino.end
// ino.module.SCClassException.8576.import
import java.util.Enumeration;
diff --git a/src/mycompiler/myexception/SCExcept.java b/src/de/dhbwstuttgart/myexception/SCExcept.java
similarity index 98%
rename from src/mycompiler/myexception/SCExcept.java
rename to src/de/dhbwstuttgart/myexception/SCExcept.java
index 1b39c58a4..fd5d6ba88 100755
--- a/src/mycompiler/myexception/SCExcept.java
+++ b/src/de/dhbwstuttgart/myexception/SCExcept.java
@@ -1,5 +1,5 @@
// ino.module.SCExcept.8577.package
-package mycompiler.myexception;
+package de.dhbwstuttgart.myexception;
// ino.end
// ino.module.SCExcept.8577.import
diff --git a/src/mycompiler/myexception/SCException.java b/src/de/dhbwstuttgart/myexception/SCException.java
similarity index 97%
rename from src/mycompiler/myexception/SCException.java
rename to src/de/dhbwstuttgart/myexception/SCException.java
index dc9cb5c53..d996cc66d 100755
--- a/src/mycompiler/myexception/SCException.java
+++ b/src/de/dhbwstuttgart/myexception/SCException.java
@@ -1,5 +1,5 @@
// ino.module.SCException.8578.package
-package mycompiler.myexception;
+package de.dhbwstuttgart.myexception;
// ino.end
// ino.module.SCException.8578.import
import java.util.Enumeration;
diff --git a/src/mycompiler/myexception/SCMethodException.java b/src/de/dhbwstuttgart/myexception/SCMethodException.java
similarity index 96%
rename from src/mycompiler/myexception/SCMethodException.java
rename to src/de/dhbwstuttgart/myexception/SCMethodException.java
index 045d79559..e336528f1 100755
--- a/src/mycompiler/myexception/SCMethodException.java
+++ b/src/de/dhbwstuttgart/myexception/SCMethodException.java
@@ -1,5 +1,5 @@
// ino.module.SCMethodException.8579.package
-package mycompiler.myexception;
+package de.dhbwstuttgart.myexception;
// ino.end
// ino.module.SCMethodException.8579.import
import java.util.Vector;
diff --git a/src/mycompiler/myexception/SCStatementException.java b/src/de/dhbwstuttgart/myexception/SCStatementException.java
similarity index 96%
rename from src/mycompiler/myexception/SCStatementException.java
rename to src/de/dhbwstuttgart/myexception/SCStatementException.java
index 8e7f0da35..f477527bc 100755
--- a/src/mycompiler/myexception/SCStatementException.java
+++ b/src/de/dhbwstuttgart/myexception/SCStatementException.java
@@ -1,5 +1,5 @@
// ino.module.SCStatementException.8580.package
-package mycompiler.myexception;
+package de.dhbwstuttgart.myexception;
// ino.end
// ino.module.SCStatementException.8580.import
import java.util.Vector;
diff --git a/bin/mycompiler/myparser/.cvsignore b/src/de/dhbwstuttgart/parser/.cvsignore
similarity index 100%
rename from bin/mycompiler/myparser/.cvsignore
rename to src/de/dhbwstuttgart/parser/.cvsignore
diff --git a/src/mycompiler/myparser/BoundedClassIdentifierList.java b/src/de/dhbwstuttgart/parser/BoundedClassIdentifierList.java
similarity index 64%
rename from src/mycompiler/myparser/BoundedClassIdentifierList.java
rename to src/de/dhbwstuttgart/parser/BoundedClassIdentifierList.java
index da4a48cd4..6a41d80d5 100644
--- a/src/mycompiler/myparser/BoundedClassIdentifierList.java
+++ b/src/de/dhbwstuttgart/parser/BoundedClassIdentifierList.java
@@ -1,9 +1,9 @@
-package mycompiler.myparser;
+package de.dhbwstuttgart.parser;
import java.util.Vector;
-import mycompiler.mytype.RefType;
-import mycompiler.mytype.Type;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
public class BoundedClassIdentifierList extends Vector{
@@ -20,6 +20,6 @@ public class BoundedClassIdentifierList extends Vector{
}
public void addOffsetOff(RefType refType) {
- this.endOffset = refType.getOffset() + refType.getName().length();
+ this.endOffset = refType.getOffset() + refType.getName().toString().length();
}
}
diff --git a/src/mycompiler/myparser/ClassAndParameter.java b/src/de/dhbwstuttgart/parser/ClassAndParameter.java
similarity index 94%
rename from src/mycompiler/myparser/ClassAndParameter.java
rename to src/de/dhbwstuttgart/parser/ClassAndParameter.java
index a72acd318..87441788b 100755
--- a/src/mycompiler/myparser/ClassAndParameter.java
+++ b/src/de/dhbwstuttgart/parser/ClassAndParameter.java
@@ -1,12 +1,12 @@
// ino.module.ClassAndParameter.8613.package
-package mycompiler.myparser;
+package de.dhbwstuttgart.parser;
// ino.end
// ino.module.ClassAndParameter.8613.import
import java.util.Vector;
-import mycompiler.mytype.ParaList;
-import mycompiler.mytype.Type;
-// ino.end
+
+import de.dhbwstuttgart.syntaxtree.type.ParaList;
+import de.dhbwstuttgart.syntaxtree.type.Type;
// ino.class.ClassAndParameter.24323.description type=javadoc
/**
diff --git a/src/mycompiler/myparser/GenericVarDeclarationList.java b/src/de/dhbwstuttgart/parser/GenericVarDeclarationList.java
similarity index 76%
rename from src/mycompiler/myparser/GenericVarDeclarationList.java
rename to src/de/dhbwstuttgart/parser/GenericVarDeclarationList.java
index fc9f67271..ef1ad7c80 100644
--- a/src/mycompiler/myparser/GenericVarDeclarationList.java
+++ b/src/de/dhbwstuttgart/parser/GenericVarDeclarationList.java
@@ -1,9 +1,9 @@
-package mycompiler.myparser;
+package de.dhbwstuttgart.parser;
import java.util.Vector;
-import typinferenz.exceptions.DebugException;
-import mycompiler.mytype.GenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
+import de.dhbwstuttgart.typeinference.exceptions.DebugException;
public class GenericVarDeclarationList {
diff --git a/src/mycompiler/myparser/InterfaceAndParameter.java b/src/de/dhbwstuttgart/parser/InterfaceAndParameter.java
similarity index 94%
rename from src/mycompiler/myparser/InterfaceAndParameter.java
rename to src/de/dhbwstuttgart/parser/InterfaceAndParameter.java
index b003846cf..1aa50b6f5 100755
--- a/src/mycompiler/myparser/InterfaceAndParameter.java
+++ b/src/de/dhbwstuttgart/parser/InterfaceAndParameter.java
@@ -1,12 +1,12 @@
// ino.module.InterfaceAndParameter.8614.package
-package mycompiler.myparser;
+package de.dhbwstuttgart.parser;
// ino.end
// ino.module.InterfaceAndParameter.8614.import
import java.util.Vector;
-import mycompiler.mytype.ParaList;
-import mycompiler.mytype.Type;
-// ino.end
+
+import de.dhbwstuttgart.syntaxtree.type.ParaList;
+import de.dhbwstuttgart.syntaxtree.type.Type;
// ino.class.InterfaceAndParameter.24353.description type=javadoc
/**
diff --git a/src/mycompiler/myparser/InterfaceList.java b/src/de/dhbwstuttgart/parser/InterfaceList.java
similarity index 92%
rename from src/mycompiler/myparser/InterfaceList.java
rename to src/de/dhbwstuttgart/parser/InterfaceList.java
index c09a2c55e..3277b359f 100755
--- a/src/mycompiler/myparser/InterfaceList.java
+++ b/src/de/dhbwstuttgart/parser/InterfaceList.java
@@ -1,11 +1,11 @@
// ino.module.InterfaceList.8615.package
-package mycompiler.myparser;
+package de.dhbwstuttgart.parser;
// ino.end
// ino.module.InterfaceList.8615.import
import java.util.Vector;
-import mycompiler.myclass.UsedId;
-// ino.end
+
+import de.dhbwstuttgart.syntaxtree.misc.UsedId;
// ino.class.InterfaceList.24383.description type=javadoc
/**
diff --git a/src/de/dhbwstuttgart/parser/JavaClassName.java b/src/de/dhbwstuttgart/parser/JavaClassName.java
new file mode 100644
index 000000000..dbb879435
--- /dev/null
+++ b/src/de/dhbwstuttgart/parser/JavaClassName.java
@@ -0,0 +1,123 @@
+package de.dhbwstuttgart.parser;
+
+import java.util.Vector;
+
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+
+/**
+ * Stellt den Namen einer Java Klasse dar.
+ * Dieser kann auch den Packagenamen mit beinhalten: java.util.Vector
+ *
+ * @author janulrich
+ *
+ */
+public class JavaClassName {
+
+ private String name;
+ private PackageName packageName;
+
+ public JavaClassName(String name){
+ String[] names = name.split("[.]");
+ boolean match = true;
+ if(names.length == 1){
+ //packageName = new PackageName();
+ this.name = name;
+ }else {
+ name = names[names.length-1];
+ Vector packageNames = new Vector();
+ for(int i = 0; i names = new Vector();
+
+ public PackageName(Vector packageNames) {
+ names = packageNames;
+ }
+
+ public PackageName() {
+ //Do nothing
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((names == null) ? 0 : names.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ PackageName other = (PackageName) obj;
+ if (names == null) {
+ if (other.names != null)
+ return false;
+ } else if (!names.equals(other.names))
+ return false;
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ String ret = "";
+ if(names == null)return "";
+ for(String n : names)ret+=n+".";
+ return ret;
+ }
+}
diff --git a/src/mycompiler/myparser/JavaLexer.java b/src/de/dhbwstuttgart/parser/JavaLexer.java
similarity index 99%
rename from src/mycompiler/myparser/JavaLexer.java
rename to src/de/dhbwstuttgart/parser/JavaLexer.java
index 88c7f7cd0..4c5ccab14 100644
--- a/src/mycompiler/myparser/JavaLexer.java
+++ b/src/de/dhbwstuttgart/parser/JavaLexer.java
@@ -6,7 +6,7 @@
* *
********************************************/
// user code:
-package mycompiler.myparser;
+package de.dhbwstuttgart.parser;
public class JavaLexer {
diff --git a/bin/mycompiler/myparser/JavaLexer.lex b/src/de/dhbwstuttgart/parser/JavaLexer.lex
similarity index 99%
rename from bin/mycompiler/myparser/JavaLexer.lex
rename to src/de/dhbwstuttgart/parser/JavaLexer.lex
index cae5b2ce4..60f3806ed 100755
--- a/bin/mycompiler/myparser/JavaLexer.lex
+++ b/src/de/dhbwstuttgart/parser/JavaLexer.lex
@@ -7,7 +7,7 @@
********************************************/
// user code:
-package mycompiler.myparser;
+package de.dhbwstuttgart.parser;
%%
diff --git a/src/mycompiler/myparser/JavaParser.java b/src/de/dhbwstuttgart/parser/JavaParser.java
similarity index 60%
rename from src/mycompiler/myparser/JavaParser.java
rename to src/de/dhbwstuttgart/parser/JavaParser.java
index 43b2946e7..82e4457c3 100644
--- a/src/mycompiler/myparser/JavaParser.java
+++ b/src/de/dhbwstuttgart/parser/JavaParser.java
@@ -1,110 +1,30 @@
// created by jay 0.7 (c) 1998 Axel.Schreiner@informatik.uni-osnabrueck.de
- // line 2 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 2 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
/*
Backup von JavaParser.jay 10.April 17 Uhr
*/
-package mycompiler.myparser;
+package de.dhbwstuttgart.parser;
-import mycompiler.myclass.FieldDeclaration;
-import mycompiler.myclass.GenericDeclarationList;
-import mycompiler.myclass.Field;
+import de.dhbwstuttgart.core.AClassOrInterface;
+import de.dhbwstuttgart.syntaxtree.Class;
+import de.dhbwstuttgart.syntaxtree.ImportDeclarations;
+import de.dhbwstuttgart.syntaxtree.Interface;
+import de.dhbwstuttgart.syntaxtree.SourceFile;
+import de.dhbwstuttgart.syntaxtree.misc.UsedId;
+import de.dhbwstuttgart.typeinference.Pair;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.syntaxtree.type.Void;
+import de.dhbwstuttgart.*;
+import de.dhbwstuttgart.syntaxtree.*;
+import de.dhbwstuttgart.syntaxtree.misc.*;
+import de.dhbwstuttgart.syntaxtree.modifier.*;
+import de.dhbwstuttgart.syntaxtree.operator.*;
+import de.dhbwstuttgart.syntaxtree.type.*;
+import de.dhbwstuttgart.syntaxtree.statement.*;
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();
@@ -128,7 +48,7 @@ void initUsedIdsToCheck() {
//LUAR 07-05-29 Anfang für Wildcard Test
public Vector testPair = new Vector();
//LUAR 07-05-29 Ende
- // line 132 "-"
+ // line 52 "-"
// %token constants
//{ //ergaenzt PL 23.01.01 wieder entfernt 21.12.01
public static final int ABSTRACT = 257;
@@ -205,6 +125,7 @@ public Vector testPair = new Vector();
public static final int EOF = 328;
public static final int LAMBDAASSIGNMENT = 329;
public static final int ENDOFGENERICVARDECLARATION = 330;
+ public static final int typename = 331;
public static final int yyErrorCode = 256;
/** thrown for irrecoverable syntax errors and stack overflow.
@@ -341,9 +262,11 @@ public Vector testPair = new Vector();
//t "classbodydeclaration : classmemberdeclaration",
//t "classbodydeclaration : staticinitializer",
//t "classbodydeclaration : constructordeclaration",
-//t "classorinterfacetype : simplename parameter",
+//t "classorinterfacetype : name parameter",
//t "typelist : type",
//t "typelist : typelist ',' type",
+//t "typelist : typelist ',' wildcardparameter",
+//t "typelist : wildcardparameter",
//t "parameter :",
//t "parameter : '<' typelist '>'",
//t "interfacememberdeclaration : constantdeclaration",
@@ -423,6 +346,7 @@ public Vector testPair = new Vector();
//t "methoddeclarator : IDENTIFIER '(' formalparameterlist ')'",
//t "primitivetype : BOOLEAN",
//t "primitivetype : numerictype",
+//t "referencelongtype : typename parameter",
//t "referencetype : classorinterfacetype",
//t "variabledeclarator : variabledeclaratorid",
//t "blockstatement : localvariabledeclarationstatement",
@@ -591,7 +515,7 @@ public Vector testPair = new Vector();
"DIVIDEEQUAL","ANDEQUAL","OREQUAL","XOREQUAL","MODULOEQUAL",
"SHIFTLEFTEQUAL","SIGNEDSHIFTRIGHTEQUAL","UNSIGNEDSHIFTRIGHTEQUAL",
"BRACE","RELOP","OP","EOF","LAMBDAASSIGNMENT",
- "ENDOFGENERICVARDECLARATION",
+ "ENDOFGENERICVARDECLARATION","typename",
};
/** index-checked interface to yyName[].
@@ -758,20 +682,20 @@ public Vector testPair = new Vector();
yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]);
switch (yyN) {
case 1:
- // line 326 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 247 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((SourceFile)yyVals[0+yyTop]);
}
break;
case 2:
- // line 330 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 251 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((SourceFile)yyVals[0+yyTop]).addImports(((ImportDeclarations)yyVals[-1+yyTop]));
yyVal=((SourceFile)yyVals[0+yyTop]);
}
break;
case 3:
- // line 335 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 256 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Package*/
((SourceFile)yyVals[0+yyTop]).setPackageName(((UsedId)yyVals[-2+yyTop]));
@@ -780,7 +704,7 @@ case 3:
}
break;
case 4:
- // line 342 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 263 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Package*/
((SourceFile)yyVals[0+yyTop]).setPackageName(((UsedId)yyVals[-1+yyTop]));
@@ -788,21 +712,21 @@ case 4:
}
break;
case 5:
- // line 348 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 269 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
this.testPair.add(new Pair(((Type)yyVals[-2+yyTop]),((Type)yyVals[-1+yyTop])));
yyVal=((SourceFile)yyVals[0+yyTop]);
}
break;
case 6:
- // line 354 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 275 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Package*/
yyVal = ((UsedId)yyVals[-1+yyTop]);
}
break;
case 7:
- // line 360 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 281 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ImportDeclarations declarations=new ImportDeclarations();
declarations.addElement(((UsedId)yyVals[0+yyTop]));
@@ -810,20 +734,20 @@ case 7:
}
break;
case 8:
- // line 366 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 287 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((ImportDeclarations)yyVals[-1+yyTop]).addElement(((UsedId)yyVals[0+yyTop]));
yyVal=((ImportDeclarations)yyVals[-1+yyTop]);
}
break;
case 9:
- // line 372 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 293 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((UsedId)yyVals[-1+yyTop]);
}
break;
case 10:
- // line 377 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 298 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
SourceFile Scfile = new SourceFile();
Scfile.addElement(((AClassOrInterface)yyVals[0+yyTop]));
@@ -831,39 +755,39 @@ case 10:
}
break;
case 11:
- // line 383 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 304 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((SourceFile)yyVals[-1+yyTop]).addElement(((AClassOrInterface)yyVals[0+yyTop]));
yyVal=((SourceFile)yyVals[-1+yyTop]);
}
break;
case 12:
- // line 389 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 310 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((UsedId)yyVals[0+yyTop]);
}
break;
case 13:
- // line 393 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 314 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((UsedId)yyVals[0+yyTop]);
}
break;
case 14:
- // line 398 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 319 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Class)yyVals[0+yyTop]);
}
break;
case 15:
- // line 402 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 323 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Interface*/
yyVal=((Interface)yyVals[0+yyTop]);
}
break;
case 16:
- // line 409 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 330 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem());
((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset());
@@ -871,7 +795,7 @@ case 16:
}
break;
case 17:
- // line 416 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 337 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((UsedId)yyVals[-2+yyTop]).set_Name(((Token)yyVals[0+yyTop]).getLexem());
((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset());
@@ -879,7 +803,7 @@ case 17:
}
break;
case 18:
- // line 422 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 343 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((UsedId)yyVals[-2+yyTop]).set_Name("*");
((UsedId)yyVals[-2+yyTop]).setOffset(((UsedId)yyVals[-2+yyTop]).getOffset());
@@ -887,7 +811,7 @@ case 18:
}
break;
case 19:
- // line 430 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 351 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
UsedId UI = new UsedId(((Token)yyVals[0+yyTop]).getOffset());
UI.set_Name( ((Token)yyVals[0+yyTop]).getLexem() );
@@ -896,7 +820,7 @@ case 19:
}
break;
case 20:
- // line 438 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 359 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Um das hier uebersichtlicher zu halten,*/
/* gibt es einen allumfassenden Konstruktor fuer Class*/
@@ -915,7 +839,7 @@ case 20:
}
break;
case 21:
- // line 455 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 376 "./../src/de/dhbwstuttgart/parser/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(), ((Token)yyVals[-2+yyTop]).getOffset());
this.initContainedTypes();
@@ -923,7 +847,7 @@ case 21:
}
break;
case 22:
- // line 461 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 382 "./../src/de/dhbwstuttgart/parser/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(), ((Token)yyVals[-3+yyTop]).getOffset());
this.initContainedTypes();
@@ -931,7 +855,7 @@ case 22:
}
break;
case 23:
- // line 467 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 388 "./../src/de/dhbwstuttgart/parser/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(), ((Token)yyVals[-3+yyTop]).getOffset());
this.initContainedTypes();
@@ -939,7 +863,7 @@ case 23:
}
break;
case 24:
- // line 474 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 395 "./../src/de/dhbwstuttgart/parser/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(), ((Token)yyVals[-3+yyTop]).getOffset());
this.initContainedTypes();
@@ -947,7 +871,7 @@ case 24:
}
break;
case 25:
- // line 480 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 401 "./../src/de/dhbwstuttgart/parser/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(), ((Token)yyVals[-3+yyTop]).getOffset());
this.initContainedTypes();
@@ -955,7 +879,7 @@ case 25:
}
break;
case 26:
- // line 486 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 407 "./../src/de/dhbwstuttgart/parser/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(), ((Token)yyVals[-4+yyTop]).getOffset());
this.initContainedTypes();
@@ -963,7 +887,7 @@ case 26:
}
break;
case 27:
- // line 492 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 413 "./../src/de/dhbwstuttgart/parser/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(), ((Token)yyVals[-4+yyTop]).getOffset());
this.initContainedTypes();
@@ -971,7 +895,7 @@ case 27:
}
break;
case 28:
- // line 499 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 420 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* HOTI*/
/* Verbindet den Namen eines Interfaces mit einer optionalen Parameterliste*/
@@ -979,13 +903,13 @@ case 28:
}
break;
case 29:
- // line 505 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 426 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal = new InterfaceAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop]));
}
break;
case 30:
- // line 510 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 431 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Hilfskonstrukt, um die Grammatik ueberschaubar zu halten*/
/* Verbindet den Namen einer Klasse mit einer optionalen Parameterliste*/
@@ -993,13 +917,13 @@ case 30:
}
break;
case 31:
- // line 516 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 437 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal = new ClassAndParameter(((Token)yyVals[-3+yyTop]).getLexem(), ((ParaList)yyVals[-1+yyTop]));
}
break;
case 32:
- // line 521 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 442 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Interface*/
Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName(), ((Token)yyVals[-2+yyTop]).getOffset());
@@ -1011,7 +935,7 @@ case 32:
}
break;
case 33:
- // line 531 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 452 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Interface ic = new Interface(((InterfaceAndParameter)yyVals[-1+yyTop]).getName(), ((Modifiers)yyVals[-3+yyTop]), ((Token)yyVals[-2+yyTop]).getOffset());
ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop]));
@@ -1022,7 +946,7 @@ case 33:
}
break;
case 34:
- // line 540 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 461 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Token)yyVals[-3+yyTop]).getOffset());
ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector());
@@ -1034,7 +958,7 @@ case 34:
}
break;
case 35:
- // line 550 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 471 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((Token)yyVals[-3+yyTop]).getOffset());
ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector());
@@ -1046,12 +970,12 @@ case 35:
}
break;
case 36:
- // line 561 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 482 "./../src/de/dhbwstuttgart/parser/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 GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),null, ((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");
@@ -1059,7 +983,7 @@ case 36:
}
break;
case 37:
- // line 572 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 493 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ParaList pl = new ParaList();
RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),((Token)yyVals[-3+yyTop]).getOffset() );
@@ -1070,7 +994,7 @@ case 37:
}
break;
case 38:
- // line 581 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 502 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ParaList pl = new ParaList();
pl.getParalist().addElement(((WildcardType)yyVals[0+yyTop]));
@@ -1078,12 +1002,12 @@ case 38:
}
break;
case 39:
- // line 587 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 508 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* #JB# 05.04.2005 */
/* ########################################################### */
- ((ParaList)yyVals[-2+yyTop]).getParalist().addElement(new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset()));
+ ((ParaList)yyVals[-2+yyTop]).getParalist().addElement(new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(), null,((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");
@@ -1092,7 +1016,7 @@ case 39:
}
break;
case 40:
- // line 600 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 521 "./../src/de/dhbwstuttgart/parser/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() );
@@ -1102,14 +1026,14 @@ case 40:
}
break;
case 41:
- // line 608 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 529 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((ParaList)yyVals[-2+yyTop]).getParalist().addElement(((WildcardType)yyVals[0+yyTop]));
yyVal=((ParaList)yyVals[-2+yyTop]);
}
break;
case 42:
- // line 614 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 535 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/*Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden*/
WildcardType wc = new WildcardType(-1);
@@ -1117,34 +1041,34 @@ case 42:
}
break;
case 43:
- // line 620 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 541 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ExtendsWildcardType ewc = new ExtendsWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop]));
yyVal = ewc;
}
break;
case 44:
- // line 625 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 546 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
SuperWildcardType swc = new SuperWildcardType(((Token)yyVals[-1+yyTop]).getOffset(),((RefType)yyVals[0+yyTop]));
yyVal = swc;
}
break;
case 45:
- // line 631 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 552 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ClassBody CB = new ClassBody();
yyVal = CB;
}
break;
case 46:
- // line 637 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 558 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal = ((ClassBody)yyVals[-1+yyTop]);
}
break;
case 47:
- // line 642 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 563 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Modifiers Mod = new Modifiers();
Mod.addModifier(((Modifier)yyVals[0+yyTop]));
@@ -1152,20 +1076,20 @@ case 47:
}
break;
case 48:
- // line 648 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 569 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((Modifiers)yyVals[-1+yyTop]).addModifier(((Modifier)yyVals[0+yyTop]));
yyVal = ((Modifiers)yyVals[-1+yyTop]);
}
break;
case 49:
- // line 654 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 575 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal = ((UsedId)yyVals[0+yyTop]);
}
break;
case 50:
- // line 659 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 580 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Interface*/
InterfaceList il = new InterfaceList();
@@ -1174,27 +1098,27 @@ case 50:
}
break;
case 51:
- // line 666 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 587 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop]));
yyVal = ((InterfaceList)yyVals[-2+yyTop]);
}
break;
case 52:
- // line 672 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 593 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Interface*/
yyVal = new InterfaceBody();
}
break;
case 53:
- // line 677 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 598 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal = ((InterfaceBody)yyVals[-1+yyTop]);
}
break;
case 54:
- // line 684 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 605 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Interface*/
InterfaceList il = new InterfaceList();
@@ -1203,14 +1127,14 @@ case 54:
}
break;
case 55:
- // line 691 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 612 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((InterfaceList)yyVals[-2+yyTop]).addInterface(((UsedId)yyVals[0+yyTop]));
yyVal = ((InterfaceList)yyVals[-2+yyTop]);
}
break;
case 56:
- // line 698 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 619 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ClassBody CB = new ClassBody();
CB.addField( ((Field)yyVals[0+yyTop]) );
@@ -1218,55 +1142,55 @@ case 56:
}
break;
case 57:
- // line 704 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 625 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((ClassBody)yyVals[-1+yyTop]).addField(((Field)yyVals[0+yyTop]));
yyVal = ((ClassBody)yyVals[-1+yyTop]);
}
break;
case 58:
- // line 711 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 632 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Public Pub = new Public();
yyVal=Pub;
}
break;
case 59:
- // line 716 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 637 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Protected Pro = new Protected();
yyVal=Pro;
}
break;
case 60:
- // line 721 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 642 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Private Pri = new Private();
yyVal=Pri;
}
break;
case 61:
- // line 726 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 647 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Static Sta = new Static();
yyVal=Sta;
}
break;
case 62:
- // line 731 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 652 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Abstract Abs = new Abstract();
yyVal=Abs;
}
break;
case 63:
- // line 736 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 657 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{ Final fin = new Final();
yyVal = fin;
}
break;
case 64:
- // line 742 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 663 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/*PL 05-07-30 eingefuegt containedTypes ANFANG*/
RefType RT = new RefType(-1);
@@ -1281,7 +1205,7 @@ case 64:
}
break;
case 65:
- // line 757 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 678 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Interface*/
InterfaceBody ib = new InterfaceBody();
@@ -1290,39 +1214,39 @@ case 65:
}
break;
case 66:
- // line 764 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 685 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((InterfaceBody)yyVals[-1+yyTop]).addElement(((Field)yyVals[0+yyTop]));
yyVal = ((InterfaceBody)yyVals[-1+yyTop]);
}
break;
case 67:
- // line 770 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 691 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Interfaces*/
yyVal = ((UsedId)yyVals[0+yyTop]);
}
break;
case 68:
- // line 776 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 697 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Field)yyVals[0+yyTop]);
}
break;
case 69:
- // line 781 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 702 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Method)yyVals[0+yyTop]);
}
break;
case 70:
- // line 785 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 706 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Field)yyVals[0+yyTop]);
}
break;
case 71:
- // line 790 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 712 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
if (((Vector)yyVals[0+yyTop]) != null) {
/*$1.set_ParaList($2.get_ParaList());*/
@@ -1334,7 +1258,7 @@ case 71:
}
break;
case 72:
- // line 801 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 723 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Vector tl = new Vector();
tl.add(((Type)yyVals[0+yyTop]));
@@ -1342,49 +1266,64 @@ case 72:
}
break;
case 73:
- // line 807 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 729 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((Vector)yyVals[-2+yyTop]).add(((Type)yyVals[0+yyTop]));
yyVal=((Vector)yyVals[-2+yyTop]);
}
break;
case 74:
- // line 814 "./../src/mycompiler/myparser/JavaParser.jay"
- { yyVal = null; }
+ // line 734 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ ((Vector)yyVals[-2+yyTop]).add(((WildcardType)yyVals[0+yyTop]));
+ yyVal=((Vector)yyVals[-2+yyTop]);
+ }
break;
case 75:
- // line 816 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 739 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ Vector tl = new Vector();
+ tl.add(((WildcardType)yyVals[0+yyTop]));
+ yyVal = tl;
+ }
+ break;
+case 76:
+ // line 747 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ { yyVal = null; }
+ break;
+case 77:
+ // line 749 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal = ((Vector)yyVals[-1+yyTop]);
}
break;
-case 76:
- // line 821 "./../src/mycompiler/myparser/JavaParser.jay"
+case 78:
+ // line 754 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Interfaces, Spezialform Konstantendef.*/
yyVal = ((Constant)yyVals[0+yyTop]);
}
break;
-case 77:
- // line 826 "./../src/mycompiler/myparser/JavaParser.jay"
+case 79:
+ // line 759 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal = ((Method)yyVals[0+yyTop]);
}
break;
-case 78:
- // line 831 "./../src/mycompiler/myparser/JavaParser.jay"
+case 80:
+ // line 764 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Field)yyVals[0+yyTop]);
}
break;
-case 79:
- // line 835 "./../src/mycompiler/myparser/JavaParser.jay"
+case 81:
+ // line 768 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Method)yyVals[0+yyTop]);
}
break;
-case 80:
- // line 840 "./../src/mycompiler/myparser/JavaParser.jay"
+case 82:
+ // line 773 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Method STAT = new Method(((Token)yyVals[-1+yyTop]).getOffset());
DeclId DST = new DeclId();
@@ -1398,23 +1337,23 @@ case 80:
yyVal=STAT;
}
break;
-case 81:
- // line 854 "./../src/mycompiler/myparser/JavaParser.jay"
+case 83:
+ // line 787 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((Constructor)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop]));
yyVal = ((Constructor)yyVals[-1+yyTop]);
}
break;
-case 82:
- // line 859 "./../src/mycompiler/myparser/JavaParser.jay"
+case 84:
+ // line 792 "./../src/de/dhbwstuttgart/parser/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 83:
- // line 866 "./../src/mycompiler/myparser/JavaParser.jay"
+case 85:
+ // line 799 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Interface*/
Constant c = new Constant(((Token)yyVals[-3+yyTop]).getLexem(), ((Modifiers)yyVals[-5+yyTop]));
@@ -1423,15 +1362,15 @@ case 83:
yyVal = c;
}
break;
-case 84:
- // line 875 "./../src/mycompiler/myparser/JavaParser.jay"
+case 86:
+ // line 808 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/* SCJU: Interface*/
yyVal = ((Method)yyVals[-1+yyTop]);
}
break;
-case 85:
- // line 900 "./../src/mycompiler/myparser/JavaParser.jay"
+case 87:
+ // line 833 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[-2+yyTop]).getOffset());
ret.set_DeclId(((DeclId)yyVals[-2+yyTop]));
@@ -1439,58 +1378,58 @@ case 85:
yyVal=ret;
}
break;
-case 86:
- // line 907 "./../src/mycompiler/myparser/JavaParser.jay"
+case 88:
+ // line 840 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
FieldDeclaration ret = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset());
ret.set_DeclId(((DeclId)yyVals[0+yyTop]));
yyVal=ret;
}
break;
-case 87:
- // line 914 "./../src/mycompiler/myparser/JavaParser.jay"
+case 89:
+ // line 847 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
GenericDeclarationList ret = new GenericDeclarationList(((GenericVarDeclarationList)yyVals[-1+yyTop]).getElements(),((GenericVarDeclarationList)yyVals[-1+yyTop]).getEndOffset());
yyVal = ret;
}
break;
-case 88:
- // line 921 "./../src/mycompiler/myparser/JavaParser.jay"
+case 90:
+ // line 854 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((FieldDeclaration)yyVals[-1+yyTop]);
}
break;
-case 89:
- // line 925 "./../src/mycompiler/myparser/JavaParser.jay"
+case 91:
+ // line 858 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
yyVal=((FieldDeclaration)yyVals[-1+yyTop]);
}
break;
-case 90:
- // line 930 "./../src/mycompiler/myparser/JavaParser.jay"
+case 92:
+ // line 863 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{/*angefügt von Andreas Stadelmeier*/
((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
((FieldDeclaration)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop]));
yyVal=((FieldDeclaration)yyVals[-1+yyTop]);
}
break;
-case 91:
- // line 937 "./../src/mycompiler/myparser/JavaParser.jay"
+case 93:
+ // line 870 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((FieldDeclaration)yyVals[-1+yyTop]);
}
break;
-case 92:
- // line 942 "./../src/mycompiler/myparser/JavaParser.jay"
+case 94:
+ // line 875 "./../src/de/dhbwstuttgart/parser/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 93:
- // line 949 "./../src/mycompiler/myparser/JavaParser.jay"
+case 95:
+ // line 882 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((FieldDeclaration)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
for(int i=0;i<(((FieldDeclaration)yyVals[-1+yyTop]).getDeclIdVector().size());i++)
@@ -1500,28 +1439,28 @@ case 93:
yyVal = ((FieldDeclaration)yyVals[-1+yyTop]);
}
break;
-case 94:
- // line 959 "./../src/mycompiler/myparser/JavaParser.jay"
+case 96:
+ // line 892 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((Method)yyVals[-1+yyTop]).set_Block(((Block)yyVals[0+yyTop]));
yyVal=((Method)yyVals[-1+yyTop]);
}
break;
-case 95:
- // line 966 "./../src/mycompiler/myparser/JavaParser.jay"
+case 97:
+ // line 899 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Block Bl = new Block();
yyVal=Bl;
}
break;
-case 96:
- // line 972 "./../src/mycompiler/myparser/JavaParser.jay"
+case 98:
+ // line 905 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Block)yyVals[-1+yyTop]);
}
break;
-case 97:
- // line 977 "./../src/mycompiler/myparser/JavaParser.jay"
+case 99:
+ // line 910 "./../src/de/dhbwstuttgart/parser/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();
@@ -1530,8 +1469,8 @@ case 97:
yyVal=CON;
}
break;
-case 98:
- // line 985 "./../src/mycompiler/myparser/JavaParser.jay"
+case 100:
+ // line 918 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Constructor CONpara = new Constructor(null);
DeclId DIconpara = new DeclId();
@@ -1541,29 +1480,29 @@ case 98:
yyVal=CONpara;
}
break;
-case 99:
- // line 995 "./../src/mycompiler/myparser/JavaParser.jay"
+case 101:
+ // line 928 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Block CBL = new Block();
yyVal=CBL;
}
break;
-case 100:
- // line 1000 "./../src/mycompiler/myparser/JavaParser.jay"
+case 102:
+ // line 933 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Block CBLexpl = new Block();
CBLexpl.set_Statement(((Statement)yyVals[-1+yyTop]));
yyVal=CBLexpl;
}
break;
-case 101:
- // line 1006 "./../src/mycompiler/myparser/JavaParser.jay"
+case 103:
+ // line 939 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Block)yyVals[-1+yyTop]);
}
break;
-case 102:
- // line 1010 "./../src/mycompiler/myparser/JavaParser.jay"
+case 104:
+ // line 943 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Block CBes = new Block();
CBes.set_Statement(((Statement)yyVals[-2+yyTop]));
@@ -1574,60 +1513,60 @@ case 102:
yyVal=CBes;
}
break;
-case 103:
- // line 1021 "./../src/mycompiler/myparser/JavaParser.jay"
+case 105:
+ // line 954 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ExceptionList EL = new ExceptionList();
EL.set_addElem(((RefType)yyVals[0+yyTop]));
yyVal=EL;
}
break;
-case 104:
- // line 1028 "./../src/mycompiler/myparser/JavaParser.jay"
+case 106:
+ // line 961 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal = ((GenericTypeVar)yyVals[0+yyTop]);
}
break;
-case 105:
- // line 1033 "./../src/mycompiler/myparser/JavaParser.jay"
+case 107:
+ // line 966 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ParaList p = new ParaList();
p.add_ParaList(((GenericTypeVar)yyVals[0+yyTop]));
yyVal=p;
}
break;
-case 106:
- // line 1039 "./../src/mycompiler/myparser/JavaParser.jay"
+case 108:
+ // line 972 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((ParaList)yyVals[-2+yyTop]).add_ParaList(((GenericTypeVar)yyVals[0+yyTop]));
yyVal=((ParaList)yyVals[-2+yyTop]);
}
break;
-case 107:
- // line 1046 "./../src/mycompiler/myparser/JavaParser.jay"
+case 109:
+ // line 979 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
- yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),((Token)yyVals[0+yyTop]).getOffset());
+ yyVal=new GenericTypeVar(((Token)yyVals[0+yyTop]).getLexem(),null,((Token)yyVals[0+yyTop]).getOffset());
}
break;
-case 108:
- // line 1050 "./../src/mycompiler/myparser/JavaParser.jay"
+case 110:
+ // line 983 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
- BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(), ((BoundedClassIdentifierList)yyVals[0+yyTop]), ((Token)yyVals[-2+yyTop]).getOffset() ,((BoundedClassIdentifierList)yyVals[0+yyTop]).getEndOffset());
+ BoundedGenericTypeVar gtv=new BoundedGenericTypeVar(((Token)yyVals[-2+yyTop]).getLexem(), ((BoundedClassIdentifierList)yyVals[0+yyTop]),null, ((Token)yyVals[-2+yyTop]).getOffset() ,((BoundedClassIdentifierList)yyVals[0+yyTop]).getEndOffset());
/*gtv.setBounds($3);*/
yyVal=gtv;
}
break;
-case 109:
- // line 1057 "./../src/mycompiler/myparser/JavaParser.jay"
+case 111:
+ // line 990 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Vector vec=new Vector();
vec.addElement(((RefType)yyVals[0+yyTop]));
containedTypes.addElement(((RefType)yyVals[0+yyTop]));
- yyVal=new BoundedClassIdentifierList(vec, ((RefType)yyVals[0+yyTop]).getOffset()+((RefType)yyVals[0+yyTop]).getName().length());
+ yyVal=new BoundedClassIdentifierList(vec, ((RefType)yyVals[0+yyTop]).getOffset()+((RefType)yyVals[0+yyTop]).getName().toString().length());
}
break;
-case 110:
- // line 1064 "./../src/mycompiler/myparser/JavaParser.jay"
+case 112:
+ // line 997 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((BoundedClassIdentifierList)yyVals[-2+yyTop]).addElement(((RefType)yyVals[0+yyTop]));
((BoundedClassIdentifierList)yyVals[-2+yyTop]).addOffsetOff(((RefType)yyVals[0+yyTop]));
@@ -1635,46 +1574,46 @@ case 110:
yyVal=((BoundedClassIdentifierList)yyVals[-2+yyTop]);
}
break;
-case 111:
- // line 1072 "./../src/mycompiler/myparser/JavaParser.jay"
+case 113:
+ // line 1005 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
GenericVarDeclarationList vec=new GenericVarDeclarationList();
vec.addElement(((GenericTypeVar)yyVals[0+yyTop]));
yyVal=vec;
}
break;
-case 112:
- // line 1078 "./../src/mycompiler/myparser/JavaParser.jay"
+case 114:
+ // line 1011 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((GenericVarDeclarationList)yyVals[-2+yyTop]).addElement(((GenericTypeVar)yyVals[0+yyTop]));
yyVal=((GenericVarDeclarationList)yyVals[-2+yyTop]);
}
break;
-case 113:
- // line 1086 "./../src/mycompiler/myparser/JavaParser.jay"
+case 115:
+ // line 1019 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop]));
((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop]));
yyVal=((Method)yyVals[0+yyTop]);
}
break;
-case 114:
- // line 1092 "./../src/mycompiler/myparser/JavaParser.jay"
+case 116:
+ // line 1025 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop]));
yyVal=((Method)yyVals[0+yyTop]);
}
break;
-case 115:
- // line 1097 "./../src/mycompiler/myparser/JavaParser.jay"
+case 117:
+ // line 1030 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop]));
((Method)yyVals[0+yyTop]).setType(((Type)yyVals[-1+yyTop]));
yyVal=((Method)yyVals[0+yyTop]);
}
break;
-case 116:
- // line 1103 "./../src/mycompiler/myparser/JavaParser.jay"
+case 118:
+ // line 1036 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop]));
@@ -1682,36 +1621,17 @@ case 116:
yyVal=((Method)yyVals[0+yyTop]);
}
break;
-case 117:
- // line 1110 "./../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 118:
- // line 1116 "./../src/mycompiler/myparser/JavaParser.jay"
- {
- ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop]));
- ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
- ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
- yyVal=((Method)yyVals[-1+yyTop]);
- }
- break;
case 119:
- // line 1123 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 1043 "./../src/de/dhbwstuttgart/parser/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 120:
- // line 1130 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 1049 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
- ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop]));
((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop]));
((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
@@ -1719,15 +1639,34 @@ case 120:
}
break;
case 121:
- // line 1138 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 1056 "./../src/de/dhbwstuttgart/parser/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 122:
+ // line 1063 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ ((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop]));
+ ((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop]));
+ ((Method)yyVals[-1+yyTop]).setType(((Type)yyVals[-2+yyTop]));
+ ((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
+ yyVal=((Method)yyVals[-1+yyTop]);
+ }
+ break;
+case 123:
+ // line 1071 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset());
((Method)yyVals[0+yyTop]).setType(Voit);
yyVal=((Method)yyVals[0+yyTop]);
}
break;
-case 122:
- // line 1144 "./../src/mycompiler/myparser/JavaParser.jay"
+case 124:
+ // line 1077 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset());
((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop]));
@@ -1735,8 +1674,8 @@ case 122:
yyVal=((Method)yyVals[0+yyTop]);
}
break;
-case 123:
- // line 1151 "./../src/mycompiler/myparser/JavaParser.jay"
+case 125:
+ // line 1084 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset());
((Method)yyVals[-1+yyTop]).setType(voyt);
@@ -1744,8 +1683,8 @@ case 123:
yyVal=((Method)yyVals[-1+yyTop]);
}
break;
-case 124:
- // line 1158 "./../src/mycompiler/myparser/JavaParser.jay"
+case 126:
+ // line 1091 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset());
((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
@@ -1754,8 +1693,8 @@ case 124:
yyVal=((Method)yyVals[-1+yyTop]);
}
break;
-case 125:
- // line 1166 "./../src/mycompiler/myparser/JavaParser.jay"
+case 127:
+ // line 1099 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset());
((Method)yyVals[0+yyTop]).setType(Voit);
@@ -1763,8 +1702,8 @@ case 125:
yyVal=((Method)yyVals[0+yyTop]);
}
break;
-case 126:
- // line 1173 "./../src/mycompiler/myparser/JavaParser.jay"
+case 128:
+ // line 1106 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset());
((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
@@ -1773,8 +1712,8 @@ case 126:
yyVal=((Method)yyVals[0+yyTop]);
}
break;
-case 127:
- // line 1181 "./../src/mycompiler/myparser/JavaParser.jay"
+case 129:
+ // line 1114 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset());
((Method)yyVals[-1+yyTop]).setType(voyt);
@@ -1783,8 +1722,8 @@ case 127:
yyVal=((Method)yyVals[-1+yyTop]);
}
break;
-case 128:
- // line 1189 "./../src/mycompiler/myparser/JavaParser.jay"
+case 130:
+ // line 1122 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset());
((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop]));
@@ -1794,39 +1733,39 @@ case 128:
yyVal=((Method)yyVals[-1+yyTop]);
}
break;
-case 129:
- // line 1199 "./../src/mycompiler/myparser/JavaParser.jay"
+case 131:
+ // line 1132 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/*auskommentiert von Andreas Stadelmeier (a10023) $1.setType(TypePlaceholder.fresh()); */
yyVal=((Method)yyVals[0+yyTop]);
}
break;
-case 130:
- // line 1204 "./../src/mycompiler/myparser/JavaParser.jay"
+case 132:
+ // line 1137 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
/*auskommentiert von Andreas Stadelmeier (a10023) $4.setType(TypePlaceholder.fresh());*/
((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-1+yyTop]));
yyVal=((Method)yyVals[0+yyTop]);
}
break;
-case 131:
- // line 1211 "./../src/mycompiler/myparser/JavaParser.jay"
+case 133:
+ // line 1144 "./../src/de/dhbwstuttgart/parser/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 132:
- // line 1217 "./../src/mycompiler/myparser/JavaParser.jay"
+case 134:
+ // line 1150 "./../src/de/dhbwstuttgart/parser/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 133:
- // line 1223 "./../src/mycompiler/myparser/JavaParser.jay"
+case 135:
+ // line 1156 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop]));
/*auskommentiert von Andreas Stadelmeier (a10023) $2.setType(TypePlaceholder.fresh());*/
@@ -1834,32 +1773,32 @@ case 133:
yyVal=((Method)yyVals[-1+yyTop]);
}
break;
-case 134:
- // line 1232 "./../src/mycompiler/myparser/JavaParser.jay"
+case 136:
+ // line 1165 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((BaseType)yyVals[0+yyTop]);
}
break;
-case 135:
- // line 1236 "./../src/mycompiler/myparser/JavaParser.jay"
+case 137:
+ // line 1169 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((BaseType)yyVals[-2+yyTop]).setArray(true);
}
break;
-case 136:
- // line 1240 "./../src/mycompiler/myparser/JavaParser.jay"
+case 138:
+ // line 1173 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((RefType)yyVals[0+yyTop]);
}
break;
-case 137:
- // line 1244 "./../src/mycompiler/myparser/JavaParser.jay"
+case 139:
+ // line 1177 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((RefType)yyVals[-2+yyTop]).setArray(true);
}
break;
-case 138:
- // line 1248 "./../src/mycompiler/myparser/JavaParser.jay"
+case 140:
+ // line 1181 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
FieldDeclaration IVD = new FieldDeclaration(((DeclId)yyVals[0+yyTop]).getOffset());
IVD.getDeclIdVector().addElement( ((DeclId)yyVals[0+yyTop]) );
@@ -1867,66 +1806,66 @@ case 138:
yyVal = IVD;
}
break;
-case 139:
- // line 1255 "./../src/mycompiler/myparser/JavaParser.jay"
+case 141:
+ // line 1188 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((FieldDeclaration)yyVals[-2+yyTop]).getDeclIdVector().addElement(((DeclId)yyVals[0+yyTop]));
yyVal=((FieldDeclaration)yyVals[-2+yyTop]);
}
break;
-case 140:
- // line 1261 "./../src/mycompiler/myparser/JavaParser.jay"
+case 142:
+ // line 1194 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Block)yyVals[0+yyTop]);
}
break;
-case 141:
- // line 1266 "./../src/mycompiler/myparser/JavaParser.jay"
+case 143:
+ // line 1199 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Block Blstat = new Block();
Blstat.set_Statement(((Statement)yyVals[0+yyTop]));
yyVal=Blstat;
}
break;
-case 142:
- // line 1273 "./../src/mycompiler/myparser/JavaParser.jay"
+case 144:
+ // line 1206 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((Block)yyVals[-1+yyTop]).set_Statement(((Statement)yyVals[0+yyTop]));
yyVal=((Block)yyVals[-1+yyTop]);
}
break;
-case 143:
- // line 1279 "./../src/mycompiler/myparser/JavaParser.jay"
+case 145:
+ // line 1212 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ParameterList PL = new ParameterList();
PL.set_AddParameter(((FormalParameter)yyVals[0+yyTop]));
yyVal = PL;
}
break;
-case 144:
- // line 1285 "./../src/mycompiler/myparser/JavaParser.jay"
+case 146:
+ // line 1218 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((ParameterList)yyVals[-2+yyTop]).set_AddParameter(((FormalParameter)yyVals[0+yyTop]));
yyVal = ((ParameterList)yyVals[-2+yyTop]);
}
break;
-case 145:
- // line 1291 "./../src/mycompiler/myparser/JavaParser.jay"
+case 147:
+ // line 1224 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
This THCON = new This(((Token)yyVals[-3+yyTop]).getOffset(),((Token)yyVals[-3+yyTop]).getLexem().length());
yyVal=THCON;
}
break;
-case 146:
- // line 1296 "./../src/mycompiler/myparser/JavaParser.jay"
+case 148:
+ // line 1229 "./../src/de/dhbwstuttgart/parser/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 147:
- // line 1305 "./../src/mycompiler/myparser/JavaParser.jay"
+case 149:
+ // line 1238 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
RefType RT = new RefType(-1);
RT.set_UsedId(((UsedId)yyVals[0+yyTop]));
@@ -1934,16 +1873,16 @@ case 147:
yyVal=RT;
}
break;
-case 148:
- // line 1312 "./../src/mycompiler/myparser/JavaParser.jay"
+case 150:
+ // line 1245 "./../src/de/dhbwstuttgart/parser/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 149:
- // line 1319 "./../src/mycompiler/myparser/JavaParser.jay"
+case 151:
+ // line 1252 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Method met = new Method(((Token)yyVals[-2+yyTop]).getOffset());
/* #JB# 10.04.2005 */
@@ -1957,8 +1896,8 @@ case 149:
yyVal = met;
}
break;
-case 150:
- // line 1332 "./../src/mycompiler/myparser/JavaParser.jay"
+case 152:
+ // line 1265 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Method met_para = new Method(((Token)yyVals[-3+yyTop]).getOffset());
/* #JB# 10.04.2005 */
@@ -1973,8 +1912,8 @@ case 150:
yyVal = met_para;
}
break;
-case 151:
- // line 1347 "./../src/mycompiler/myparser/JavaParser.jay"
+case 153:
+ // line 1280 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
BooleanType BT = new BooleanType();
/* #JB# 05.04.2005 */
@@ -1984,14 +1923,37 @@ case 151:
yyVal=BT;
}
break;
-case 152:
- // line 1356 "./../src/mycompiler/myparser/JavaParser.jay"
+case 154:
+ // line 1289 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((BaseType)yyVals[0+yyTop]);
}
break;
-case 153:
- // line 1361 "./../src/mycompiler/myparser/JavaParser.jay"
+case 155:
+ // line 1294 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ if (((Vector)yyVals[0+yyTop]) != null) {
+ /*$1.set_ParaList($2.get_ParaList());*/
+ ((UsedId)yyVals[-1+yyTop]).set_ParaList(((Vector)yyVals[0+yyTop]));/*Änderung von Andreas Stadelmeier. Type statt GenericVarType*/
+ /* otth: originale (also diese) Parameterliste retten */
+ /*((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() );*/
+ }
+ UsedId uid = ((UsedId)yyVals[-1+yyTop]);
+ RefType RT = new RefType(uid.getOffset());
+
+ RT.set_ParaList(uid.get_RealParaList());
+ RT.setName(uid.getQualifiedName());
+
+
+ /*PL 05-07-30 eingefuegt containedTypes ANFANG*/
+ containedTypes.addElement(RT);
+ /*PL 05-07-30 eingefuegt containedTypes ENDE*/
+
+ yyVal=RT;
+ }
+ break;
+case 156:
+ // line 1316 "./../src/de/dhbwstuttgart/parser/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());
@@ -2010,26 +1972,26 @@ case 153:
yyVal=RT;
}
break;
-case 154:
- // line 1381 "./../src/mycompiler/myparser/JavaParser.jay"
+case 157:
+ // line 1338 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((DeclId)yyVals[0+yyTop]);
}
break;
-case 155:
- // line 1402 "./../src/mycompiler/myparser/JavaParser.jay"
+case 158:
+ // line 1359 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((LocalVarDecl)yyVals[0+yyTop]);
}
break;
-case 156:
- // line 1406 "./../src/mycompiler/myparser/JavaParser.jay"
+case 159:
+ // line 1363 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Statement)yyVals[0+yyTop]);
}
break;
-case 157:
- // line 1411 "./../src/mycompiler/myparser/JavaParser.jay"
+case 160:
+ // line 1368 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
FormalParameter FP = new FormalParameter(((DeclId)yyVals[0+yyTop]));
FP.setType(((Type)yyVals[-1+yyTop]));
@@ -2037,8 +1999,8 @@ case 157:
yyVal=FP;
}
break;
-case 158:
- // line 1436 "./../src/mycompiler/myparser/JavaParser.jay"
+case 161:
+ // line 1393 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
org.apache.log4j.Logger.getLogger("parser").debug("\nFunktionsdeklaration mit typlosen Parametern: " + ((DeclId)yyVals[0+yyTop]).name);
@@ -2057,29 +2019,29 @@ case 158:
yyVal=FP;
}
break;
-case 159:
- // line 1455 "./../src/mycompiler/myparser/JavaParser.jay"
+case 162:
+ // line 1412 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ArgumentList AL = new ArgumentList();
AL.expr.addElement(((Expr)yyVals[0+yyTop]));
yyVal=AL;
}
break;
-case 160:
- // line 1461 "./../src/mycompiler/myparser/JavaParser.jay"
+case 163:
+ // line 1418 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
((ArgumentList)yyVals[-2+yyTop]).expr.addElement(((Expr)yyVals[0+yyTop]));
yyVal=((ArgumentList)yyVals[-2+yyTop]);
}
break;
-case 161:
- // line 1467 "./../src/mycompiler/myparser/JavaParser.jay"
+case 164:
+ // line 1424 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((BaseType)yyVals[0+yyTop]);
}
break;
-case 162:
- // line 1472 "./../src/mycompiler/myparser/JavaParser.jay"
+case 165:
+ // line 1429 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
DeclId DI = new DeclId();
/* #JB# 10.04.2005 */
@@ -2091,62 +2053,62 @@ case 162:
yyVal=DI;
}
break;
-case 163:
- // line 1484 "./../src/mycompiler/myparser/JavaParser.jay"
+case 166:
+ // line 1441 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 164:
- // line 1489 "./../src/mycompiler/myparser/JavaParser.jay"
+case 167:
+ // line 1446 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((LocalVarDecl)yyVals[-1+yyTop]);
}
break;
-case 165:
- // line 1494 "./../src/mycompiler/myparser/JavaParser.jay"
+case 168:
+ // line 1451 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Statement)yyVals[0+yyTop]);
}
break;
-case 166:
- // line 1498 "./../src/mycompiler/myparser/JavaParser.jay"
+case 169:
+ // line 1455 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((IfStmt)yyVals[0+yyTop]);
}
break;
-case 167:
- // line 1502 "./../src/mycompiler/myparser/JavaParser.jay"
+case 170:
+ // line 1459 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((IfStmt)yyVals[0+yyTop]);
}
break;
-case 168:
- // line 1506 "./../src/mycompiler/myparser/JavaParser.jay"
+case 171:
+ // line 1463 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((WhileStmt)yyVals[0+yyTop]);
}
break;
-case 169:
- // line 1510 "./../src/mycompiler/myparser/JavaParser.jay"
+case 172:
+ // line 1467 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((ForStmt)yyVals[0+yyTop]);
}
break;
-case 170:
- // line 1515 "./../src/mycompiler/myparser/JavaParser.jay"
+case 173:
+ // line 1472 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 171:
- // line 1519 "./../src/mycompiler/myparser/JavaParser.jay"
+case 174:
+ // line 1476 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((NewClass)yyVals[0+yyTop]);
}
break;
-case 172:
- // line 1524 "./../src/mycompiler/myparser/JavaParser.jay"
+case 175:
+ // line 1481 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
IntegerType IT = new IntegerType();
/* #JB# 05.04.2005 */
@@ -2156,8 +2118,8 @@ case 172:
yyVal=IT;
}
break;
-case 173:
- // line 1533 "./../src/mycompiler/myparser/JavaParser.jay"
+case 176:
+ // line 1490 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
CharacterType CT = new CharacterType();
/* #JB# 05.04.2005 */
@@ -2167,8 +2129,8 @@ case 173:
yyVal=CT;
}
break;
-case 174:
- // line 1543 "./../src/mycompiler/myparser/JavaParser.jay"
+case 177:
+ // line 1500 "./../src/de/dhbwstuttgart/parser/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());
@@ -2177,8 +2139,8 @@ case 174:
yyVal = LVD;
}
break;
-case 175:
- // line 1554 "./../src/mycompiler/myparser/JavaParser.jay"
+case 178:
+ // line 1511 "./../src/de/dhbwstuttgart/parser/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());
@@ -2187,32 +2149,32 @@ case 175:
yyVal = LVD;
}
break;
-case 176:
- // line 1564 "./../src/mycompiler/myparser/JavaParser.jay"
+case 179:
+ // line 1521 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Block)yyVals[0+yyTop]);
}
break;
-case 177:
- // line 1568 "./../src/mycompiler/myparser/JavaParser.jay"
+case 180:
+ // line 1525 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((EmptyStmt)yyVals[0+yyTop]);
}
break;
-case 178:
- // line 1572 "./../src/mycompiler/myparser/JavaParser.jay"
+case 181:
+ // line 1529 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((ExprStmt)yyVals[0+yyTop]);
}
break;
-case 179:
- // line 1576 "./../src/mycompiler/myparser/JavaParser.jay"
+case 182:
+ // line 1533 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Return)yyVals[0+yyTop]);
}
break;
-case 180:
- // line 1581 "./../src/mycompiler/myparser/JavaParser.jay"
+case 183:
+ // line 1538 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
IfStmt Ifst = new IfStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
Ifst.set_Expr(((Expr)yyVals[-2+yyTop]));
@@ -2220,8 +2182,8 @@ case 180:
yyVal=Ifst;
}
break;
-case 181:
- // line 1589 "./../src/mycompiler/myparser/JavaParser.jay"
+case 184:
+ // line 1546 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
IfStmt IfstElst = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength());
IfstElst.set_Expr(((Expr)yyVals[-4+yyTop]));
@@ -2230,8 +2192,8 @@ case 181:
yyVal=IfstElst;
}
break;
-case 182:
- // line 1598 "./../src/mycompiler/myparser/JavaParser.jay"
+case 185:
+ // line 1555 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
WhileStmt Whlst = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
Whlst.set_Expr(((Expr)yyVals[-2+yyTop]));
@@ -2239,8 +2201,8 @@ case 182:
yyVal=Whlst;
}
break;
-case 183:
- // line 1609 "./../src/mycompiler/myparser/JavaParser.jay"
+case 186:
+ // line 1566 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ForStmt Fst = new ForStmt(((Expr)yyVals[-6+yyTop]).getOffset(),((Expr)yyVals[-6+yyTop]).getVariableLength());
Fst.set_head_Initializer(((Expr)yyVals[-6+yyTop]));
@@ -2252,8 +2214,8 @@ case 183:
yyVal = Fst;
}
break;
-case 184:
- // line 1621 "./../src/mycompiler/myparser/JavaParser.jay"
+case 187:
+ // line 1578 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength());
Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop]));
@@ -2264,8 +2226,8 @@ case 184:
yyVal = Fst;
}
break;
-case 185:
- // line 1632 "./../src/mycompiler/myparser/JavaParser.jay"
+case 188:
+ // line 1589 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ForStmt Fst = new ForStmt(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength());
Fst.set_head_Initializer(((Expr)yyVals[-5+yyTop]));
@@ -2276,8 +2238,8 @@ case 185:
yyVal = Fst;
}
break;
-case 186:
- // line 1643 "./../src/mycompiler/myparser/JavaParser.jay"
+case 189:
+ // line 1600 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength());
Fst.set_head_Condition(((Expr)yyVals[-4+yyTop]));
@@ -2288,8 +2250,8 @@ case 186:
yyVal = Fst;
}
break;
-case 187:
- // line 1654 "./../src/mycompiler/myparser/JavaParser.jay"
+case 190:
+ // line 1611 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ForStmt Fst = new ForStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength());
Fst.set_head_Initializer(((Expr)yyVals[-4+yyTop]));
@@ -2299,8 +2261,8 @@ case 187:
yyVal = Fst;
}
break;
-case 188:
- // line 1664 "./../src/mycompiler/myparser/JavaParser.jay"
+case 191:
+ // line 1621 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ForStmt Fst = new ForStmt(((Expr)yyVals[-3+yyTop]).getOffset(),((Expr)yyVals[-3+yyTop]).getVariableLength());
Fst.set_head_Condition(((Expr)yyVals[-3+yyTop]));
@@ -2310,8 +2272,8 @@ case 188:
yyVal = Fst;
}
break;
-case 189:
- // line 1674 "./../src/mycompiler/myparser/JavaParser.jay"
+case 192:
+ // line 1631 "./../src/de/dhbwstuttgart/parser/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]));
@@ -2321,8 +2283,8 @@ case 189:
yyVal = Fst;
}
break;
-case 190:
- // line 1684 "./../src/mycompiler/myparser/JavaParser.jay"
+case 193:
+ // line 1641 "./../src/de/dhbwstuttgart/parser/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]));
@@ -2331,73 +2293,73 @@ case 190:
yyVal = Fst;
}
break;
-case 191:
- // line 1693 "./../src/mycompiler/myparser/JavaParser.jay"
+case 194:
+ // line 1650 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
org.apache.log4j.Logger.getLogger("parser").debug("conditionalexpression");
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 192:
- // line 1698 "./../src/mycompiler/myparser/JavaParser.jay"
+case 195:
+ // line 1655 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Assign)yyVals[0+yyTop]);
}
break;
-case 193:
- // line 1704 "./../src/mycompiler/myparser/JavaParser.jay"
+case 196:
+ // line 1661 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
EmptyStmt Empst = new EmptyStmt();
yyVal=Empst;
}
break;
-case 194:
- // line 1710 "./../src/mycompiler/myparser/JavaParser.jay"
+case 197:
+ // line 1667 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[-1+yyTop]);
}
break;
-case 195:
- // line 1715 "./../src/mycompiler/myparser/JavaParser.jay"
+case 198:
+ // line 1672 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Return ret = new Return(-1,-1);
yyVal= ret;
}
break;
-case 196:
- // line 1720 "./../src/mycompiler/myparser/JavaParser.jay"
+case 199:
+ // line 1677 "./../src/de/dhbwstuttgart/parser/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 197:
- // line 1727 "./../src/mycompiler/myparser/JavaParser.jay"
+case 200:
+ // line 1684 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Statement)yyVals[0+yyTop]);
}
break;
-case 198:
- // line 1731 "./../src/mycompiler/myparser/JavaParser.jay"
+case 201:
+ // line 1688 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((IfStmt)yyVals[0+yyTop]);
}
break;
-case 199:
- // line 1735 "./../src/mycompiler/myparser/JavaParser.jay"
+case 202:
+ // line 1692 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((WhileStmt)yyVals[0+yyTop]);
}
break;
-case 200:
- // line 1740 "./../src/mycompiler/myparser/JavaParser.jay"
+case 203:
+ // line 1697 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 201:
- // line 1746 "./../src/mycompiler/myparser/JavaParser.jay"
+case 204:
+ // line 1703 "./../src/de/dhbwstuttgart/parser/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());
@@ -2423,8 +2385,8 @@ case 201:
yyVal=Ass;
}
break;
-case 202:
- // line 1771 "./../src/mycompiler/myparser/JavaParser.jay"
+case 205:
+ // line 1728 "./../src/de/dhbwstuttgart/parser/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());
@@ -2447,44 +2409,44 @@ case 202:
yyVal=Ass;
}
break;
-case 203:
- // line 1794 "./../src/mycompiler/myparser/JavaParser.jay"
+case 206:
+ // line 1751 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Assign)yyVals[0+yyTop]);
}
break;
-case 204:
- // line 1798 "./../src/mycompiler/myparser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 205:
- // line 1802 "./../src/mycompiler/myparser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 206:
- // line 1806 "./../src/mycompiler/myparser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
case 207:
- // line 1810 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 1755 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
case 208:
- // line 1814 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 1759 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ yyVal=((Expr)yyVals[0+yyTop]);
+ }
+ break;
+case 209:
+ // line 1763 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ yyVal=((Expr)yyVals[0+yyTop]);
+ }
+ break;
+case 210:
+ // line 1767 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ yyVal=((Expr)yyVals[0+yyTop]);
+ }
+ break;
+case 211:
+ // line 1771 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((MethodCall)yyVals[0+yyTop]);
}
break;
-case 209:
- // line 1825 "./../src/mycompiler/myparser/JavaParser.jay"
+case 212:
+ // line 1782 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
IfStmt IfElno = new IfStmt(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength());
IfElno.set_Expr(((Expr)yyVals[-4+yyTop]));
@@ -2493,8 +2455,8 @@ case 209:
yyVal=IfElno;
}
break;
-case 210:
- // line 1834 "./../src/mycompiler/myparser/JavaParser.jay"
+case 213:
+ // line 1791 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
WhileStmt Whstno = new WhileStmt(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
Whstno.set_Expr(((Expr)yyVals[-2+yyTop]));
@@ -2502,14 +2464,14 @@ case 210:
yyVal=Whstno;
}
break;
-case 211:
- // line 1842 "./../src/mycompiler/myparser/JavaParser.jay"
+case 214:
+ // line 1799 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 212:
- // line 1846 "./../src/mycompiler/myparser/JavaParser.jay"
+case 215:
+ // line 1803 "./../src/de/dhbwstuttgart/parser/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());
@@ -2520,20 +2482,20 @@ case 212:
yyVal=LogOr;
}
break;
-case 213:
- // line 1859 "./../src/mycompiler/myparser/JavaParser.jay"
+case 216:
+ // line 1816 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=null;
}
break;
-case 214:
- // line 1864 "./../src/mycompiler/myparser/JavaParser.jay"
+case 217:
+ // line 1821 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Block)yyVals[0+yyTop]);
}
break;
-case 215:
- // line 1868 "./../src/mycompiler/myparser/JavaParser.jay"
+case 218:
+ // line 1825 "./../src/de/dhbwstuttgart/parser/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";}|*/
@@ -2543,20 +2505,20 @@ case 215:
yyVal=ret;
}
break;
-case 216:
- // line 1878 "./../src/mycompiler/myparser/JavaParser.jay"
+case 219:
+ // line 1835 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=null;
}
break;
-case 217:
- // line 1882 "./../src/mycompiler/myparser/JavaParser.jay"
+case 220:
+ // line 1839 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((ParameterList)yyVals[-1+yyTop]);
}
break;
-case 218:
- // line 1887 "./../src/mycompiler/myparser/JavaParser.jay"
+case 221:
+ // line 1844 "./../src/de/dhbwstuttgart/parser/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]));
@@ -2564,87 +2526,87 @@ case 218:
yyVal=lambda;
}
break;
-case 219:
- // line 1906 "./../src/mycompiler/myparser/JavaParser.jay"
+case 222:
+ // line 1863 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((UsedId)yyVals[0+yyTop]);
}
break;
-case 220:
- // line 1911 "./../src/mycompiler/myparser/JavaParser.jay"
+case 223:
+ // line 1868 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=null;
}
break;
-case 221:
- // line 1915 "./../src/mycompiler/myparser/JavaParser.jay"
+case 224:
+ // line 1872 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
TimesOp TEO = new TimesOp(-1,-1);
yyVal=TEO;
}
break;
-case 222:
- // line 1920 "./../src/mycompiler/myparser/JavaParser.jay"
+case 225:
+ // line 1877 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
DivideOp DEO = new DivideOp(-1,-1);
yyVal=DEO;
}
break;
-case 223:
- // line 1925 "./../src/mycompiler/myparser/JavaParser.jay"
+case 226:
+ // line 1882 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
ModuloOp MEO = new ModuloOp(-1,-1);
yyVal=MEO;
}
break;
-case 224:
- // line 1930 "./../src/mycompiler/myparser/JavaParser.jay"
+case 227:
+ // line 1887 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
PlusOp PEO = new PlusOp(-1,-1);
yyVal=PEO;
}
break;
-case 225:
- // line 1935 "./../src/mycompiler/myparser/JavaParser.jay"
+case 228:
+ // line 1892 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
MinusOp MEO = new MinusOp(-1,-1);
yyVal=MEO;
}
break;
-case 226:
- // line 1947 "./../src/mycompiler/myparser/JavaParser.jay"
+case 229:
+ // line 1904 "./../src/de/dhbwstuttgart/parser/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 227:
- // line 1954 "./../src/mycompiler/myparser/JavaParser.jay"
+case 230:
+ // line 1911 "./../src/de/dhbwstuttgart/parser/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 228:
- // line 1961 "./../src/mycompiler/myparser/JavaParser.jay"
+case 231:
+ // line 1918 "./../src/de/dhbwstuttgart/parser/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 229:
- // line 1968 "./../src/mycompiler/myparser/JavaParser.jay"
+case 232:
+ // line 1925 "./../src/de/dhbwstuttgart/parser/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 230:
- // line 1976 "./../src/mycompiler/myparser/JavaParser.jay"
+case 233:
+ // line 1933 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
org.apache.log4j.Logger.getLogger("parser").debug("M1");
MethodCall MC = new MethodCall(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength());
@@ -2675,8 +2637,8 @@ case 230:
yyVal=MC;
}
break;
-case 231:
- // line 2006 "./../src/mycompiler/myparser/JavaParser.jay"
+case 234:
+ // line 1963 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
org.apache.log4j.Logger.getLogger("parser").debug("M2");
MethodCall MCarg = new MethodCall(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength());
@@ -2708,8 +2670,8 @@ case 231:
yyVal=MCarg;
}
break;
-case 232:
- // line 2037 "./../src/mycompiler/myparser/JavaParser.jay"
+case 235:
+ // line 1994 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
org.apache.log4j.Logger.getLogger("parser").debug("M3");
MethodCall MCpr = new MethodCall(((Expr)yyVals[-4+yyTop]).getOffset(),((Expr)yyVals[-4+yyTop]).getVariableLength());
@@ -2729,8 +2691,8 @@ case 232:
yyVal=MCpr;
}
break;
-case 233:
- // line 2056 "./../src/mycompiler/myparser/JavaParser.jay"
+case 236:
+ // line 2013 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
org.apache.log4j.Logger.getLogger("parser").debug("M4");
MethodCall MCPA = new MethodCall(((Expr)yyVals[-5+yyTop]).getOffset(),((Expr)yyVals[-5+yyTop]).getVariableLength());
@@ -2751,8 +2713,8 @@ case 233:
yyVal=MCPA;
}
break;
-case 234:
- // line 2079 "./../src/mycompiler/myparser/JavaParser.jay"
+case 237:
+ // line 2036 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
NewClass NC = new NewClass(((UsedId)yyVals[-2+yyTop]).getOffset(),((UsedId)yyVals[-2+yyTop]).getVariableLength());
NC.set_UsedId(((UsedId)yyVals[-2+yyTop]));
@@ -2761,8 +2723,8 @@ case 234:
yyVal=NC;
}
break;
-case 235:
- // line 2087 "./../src/mycompiler/myparser/JavaParser.jay"
+case 238:
+ // line 2044 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
NewClass NCarg = new NewClass(((UsedId)yyVals[-3+yyTop]).getOffset(),((UsedId)yyVals[-3+yyTop]).getVariableLength());
NCarg.set_UsedId(((UsedId)yyVals[-3+yyTop]));
@@ -2772,14 +2734,14 @@ case 235:
yyVal=NCarg;
}
break;
-case 236:
- // line 2097 "./../src/mycompiler/myparser/JavaParser.jay"
+case 239:
+ // line 2054 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 237:
- // line 2101 "./../src/mycompiler/myparser/JavaParser.jay"
+case 240:
+ // line 2058 "./../src/de/dhbwstuttgart/parser/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());
@@ -2790,20 +2752,20 @@ case 237:
yyVal=And;
}
break;
-case 238:
- // line 2117 "./../src/mycompiler/myparser/JavaParser.jay"
+case 241:
+ // line 2074 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 239:
- // line 2121 "./../src/mycompiler/myparser/JavaParser.jay"
+case 242:
+ // line 2078 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 240:
- // line 2125 "./../src/mycompiler/myparser/JavaParser.jay"
+case 243:
+ // line 2082 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
PositivExpr POSEX=new PositivExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength());
UnaryPlus UP= new UnaryPlus();
@@ -2812,8 +2774,8 @@ case 240:
yyVal=POSEX;
}
break;
-case 241:
- // line 2133 "./../src/mycompiler/myparser/JavaParser.jay"
+case 244:
+ // line 2090 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
NegativeExpr NEGEX=new NegativeExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength());
UnaryMinus UM=new UnaryMinus();
@@ -2822,20 +2784,20 @@ case 241:
yyVal=NEGEX;
}
break;
-case 242:
- // line 2141 "./../src/mycompiler/myparser/JavaParser.jay"
+case 245:
+ // line 2098 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 243:
- // line 2146 "./../src/mycompiler/myparser/JavaParser.jay"
+case 246:
+ // line 2103 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 244:
- // line 2150 "./../src/mycompiler/myparser/JavaParser.jay"
+case 247:
+ // line 2107 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
if (((UsedId)yyVals[0+yyTop]).get_Name().size() > 1) {
@@ -2854,38 +2816,38 @@ case 244:
}
}
break;
-case 245:
- // line 2168 "./../src/mycompiler/myparser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 246:
- // line 2172 "./../src/mycompiler/myparser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 247:
- // line 2177 "./../src/mycompiler/myparser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
case 248:
- // line 2182 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 2125 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ yyVal=((Expr)yyVals[0+yyTop]);
+ }
+ break;
+case 249:
+ // line 2129 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
case 250:
- // line 2188 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 2134 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ yyVal=((Expr)yyVals[0+yyTop]);
+ }
+ break;
+case 251:
+ // line 2139 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ yyVal=((Expr)yyVals[0+yyTop]);
+ }
+ break;
+case 253:
+ // line 2145 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Literal)yyVals[0+yyTop]);
}
break;
-case 251:
- // line 2192 "./../src/mycompiler/myparser/JavaParser.jay"
+case 254:
+ // line 2149 "./../src/de/dhbwstuttgart/parser/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());
@@ -2894,24 +2856,24 @@ case 251:
yyVal=T;
}
break;
-case 252:
- // line 2213 "./../src/mycompiler/myparser/JavaParser.jay"
+case 255:
+ // line 2170 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((MethodCall)yyVals[0+yyTop]);
}
break;
-case 253:
- // line 2217 "./../src/mycompiler/myparser/JavaParser.jay"
+case 256:
+ // line 2174 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 254:
- // line 2222 "./../src/mycompiler/myparser/JavaParser.jay"
+case 257:
+ // line 2179 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{yyVal=((Expr)yyVals[0+yyTop]);}
break;
-case 255:
- // line 2224 "./../src/mycompiler/myparser/JavaParser.jay"
+case 258:
+ // line 2181 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{NotExpr NE=new NotExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength());
UnaryNot UN=new UnaryNot();
NE.set_UnaryNot(UN);
@@ -2919,75 +2881,75 @@ case 255:
yyVal=NE;
}
break;
-case 256:
- // line 2230 "./../src/mycompiler/myparser/JavaParser.jay"
+case 259:
+ // line 2187 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{yyVal=((CastExpr)yyVals[0+yyTop]);}
break;
-case 257:
- // line 2232 "./../src/mycompiler/myparser/JavaParser.jay"
+case 260:
+ // line 2189 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{yyVal=((Expr)yyVals[0+yyTop]);}
break;
-case 259:
- // line 2237 "./../src/mycompiler/myparser/JavaParser.jay"
+case 262:
+ // line 2194 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{IntLiteral IL = new IntLiteral();
IL.set_Int(((Token)yyVals[0+yyTop]).String2Int());
yyVal = IL;
}
break;
-case 260:
- // line 2242 "./../src/mycompiler/myparser/JavaParser.jay"
+case 263:
+ // line 2199 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{BoolLiteral BL = new BoolLiteral();
BL.set_Bool(((Token)yyVals[0+yyTop]).String2Bool());
yyVal = BL;
}
break;
-case 261:
- // line 2246 "./../src/mycompiler/myparser/JavaParser.jay"
+case 264:
+ // line 2203 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{CharLiteral CL = new CharLiteral();
CL.set_Char(((Token)yyVals[0+yyTop]).CharInString());
yyVal=CL;
}
break;
-case 262:
- // line 2251 "./../src/mycompiler/myparser/JavaParser.jay"
+case 265:
+ // line 2208 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
StringLiteral ST = new StringLiteral();
ST.set_String(((Token)yyVals[0+yyTop]).get_String());
yyVal=ST;
}
break;
-case 263:
- // line 2256 "./../src/mycompiler/myparser/JavaParser.jay"
+case 266:
+ // line 2213 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{ LongLiteral LL = new LongLiteral();
LL.set_Long(((Token)yyVals[0+yyTop]).String2Long());
yyVal = LL;
}
break;
-case 264:
- // line 2260 "./../src/mycompiler/myparser/JavaParser.jay"
+case 267:
+ // line 2217 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
FloatLiteral FL = new FloatLiteral();
FL.set_Float(((Token)yyVals[0+yyTop]).String2Float());
yyVal = FL;
}
break;
-case 265:
- // line 2265 "./../src/mycompiler/myparser/JavaParser.jay"
+case 268:
+ // line 2222 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
DoubleLiteral DL = new DoubleLiteral();
DL.set_Double(((Token)yyVals[0+yyTop]).String2Double());
yyVal = DL;
}
break;
-case 266:
- // line 2271 "./../src/mycompiler/myparser/JavaParser.jay"
+case 269:
+ // line 2228 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
Null NN = new Null();
yyVal=NN;
}
break;
-case 267:
- // line 2277 "./../src/mycompiler/myparser/JavaParser.jay"
+case 270:
+ // line 2234 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
CastExpr CaEx=new CastExpr(((Expr)yyVals[0+yyTop]).getOffset(),((Expr)yyVals[0+yyTop]).getVariableLength());
CaEx.set_Type(((BaseType)yyVals[-2+yyTop]));
@@ -2995,25 +2957,25 @@ case 267:
yyVal=CaEx;
}
break;
-case 268:
- // line 2286 "./../src/mycompiler/myparser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
-case 269:
- // line 2290 "./../src/mycompiler/myparser/JavaParser.jay"
- {
- }
- break;
-case 270:
- // line 2294 "./../src/mycompiler/myparser/JavaParser.jay"
- {
- yyVal=((Expr)yyVals[0+yyTop]);
- }
- break;
case 271:
- // line 2298 "./../src/mycompiler/myparser/JavaParser.jay"
+ // line 2243 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ yyVal=((Expr)yyVals[0+yyTop]);
+ }
+ break;
+case 272:
+ // line 2247 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ }
+ break;
+case 273:
+ // line 2251 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
+ {
+ yyVal=((Expr)yyVals[0+yyTop]);
+ }
+ break;
+case 274:
+ // line 2255 "./../src/de/dhbwstuttgart/parser/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());
@@ -3024,8 +2986,8 @@ case 271:
yyVal=EQ;
}
break;
-case 272:
- // line 2308 "./../src/mycompiler/myparser/JavaParser.jay"
+case 275:
+ // line 2265 "./../src/de/dhbwstuttgart/parser/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());
@@ -3036,14 +2998,14 @@ case 272:
yyVal=NEQ;
}
break;
-case 273:
- // line 2319 "./../src/mycompiler/myparser/JavaParser.jay"
+case 276:
+ // line 2276 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 274:
- // line 2323 "./../src/mycompiler/myparser/JavaParser.jay"
+case 277:
+ // line 2280 "./../src/de/dhbwstuttgart/parser/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());
@@ -3054,8 +3016,8 @@ case 274:
yyVal=LO;
}
break;
-case 275:
- // line 2333 "./../src/mycompiler/myparser/JavaParser.jay"
+case 278:
+ // line 2290 "./../src/de/dhbwstuttgart/parser/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());
@@ -3066,8 +3028,8 @@ case 275:
yyVal=GO;
}
break;
-case 276:
- // line 2343 "./../src/mycompiler/myparser/JavaParser.jay"
+case 279:
+ // line 2300 "./../src/de/dhbwstuttgart/parser/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());
@@ -3078,8 +3040,8 @@ case 276:
yyVal=LE;
}
break;
-case 277:
- // line 2353 "./../src/mycompiler/myparser/JavaParser.jay"
+case 280:
+ // line 2310 "./../src/de/dhbwstuttgart/parser/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());
@@ -3090,8 +3052,8 @@ case 277:
yyVal=GE;
}
break;
-case 278:
- // line 2363 "./../src/mycompiler/myparser/JavaParser.jay"
+case 281:
+ // line 2320 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
InstanceOf ISO=new InstanceOf(((Expr)yyVals[-2+yyTop]).getOffset(),((Expr)yyVals[-2+yyTop]).getVariableLength());
ISO.set_Expr(((Expr)yyVals[-2+yyTop]));
@@ -3099,20 +3061,20 @@ case 278:
yyVal=ISO;
}
break;
-case 279:
- // line 2371 "./../src/mycompiler/myparser/JavaParser.jay"
+case 282:
+ // line 2328 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 280:
- // line 2376 "./../src/mycompiler/myparser/JavaParser.jay"
+case 283:
+ // line 2333 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 281:
- // line 2380 "./../src/mycompiler/myparser/JavaParser.jay"
+case 284:
+ // line 2337 "./../src/de/dhbwstuttgart/parser/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());
@@ -3123,8 +3085,8 @@ case 281:
yyVal=AD;
}
break;
-case 282:
- // line 2390 "./../src/mycompiler/myparser/JavaParser.jay"
+case 285:
+ // line 2347 "./../src/de/dhbwstuttgart/parser/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());
@@ -3135,14 +3097,14 @@ case 282:
yyVal=MI;
}
break;
-case 283:
- // line 2401 "./../src/mycompiler/myparser/JavaParser.jay"
+case 286:
+ // line 2358 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
{
yyVal=((Expr)yyVals[0+yyTop]);
}
break;
-case 284:
- // line 2405 "./../src/mycompiler/myparser/JavaParser.jay"
+case 287:
+ // line 2362 "./../src/de/dhbwstuttgart/parser/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());
@@ -3153,8 +3115,8 @@ case 284:
yyVal=ML;
}
break;
-case 285:
- // line 2415 "./../src/mycompiler/myparser/JavaParser.jay"
+case 288:
+ // line 2372 "./../src/de/dhbwstuttgart/parser/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());
@@ -3165,8 +3127,8 @@ case 285:
yyVal = DV;
}
break;
-case 286:
- // line 2425 "./../src/mycompiler/myparser/JavaParser.jay"
+case 289:
+ // line 2382 "./../src/de/dhbwstuttgart/parser/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());
@@ -3177,7 +3139,7 @@ case 286:
yyVal =MD;
}
break;
- // line 3181 "-"
+ // line 3143 "-"
}
yyTop -= yyLen[yyN];
yyState = yyStates[yyTop];
@@ -3215,28 +3177,28 @@ case 286:
113, 116, 116, 116, 7, 7, 41, 41, 29, 33,
33, 3, 3, 34, 34, 16, 16, 42, 42, 42,
42, 42, 42, 30, 4, 4, 32, 17, 17, 17,
- 31, 114, 114, 115, 115, 5, 5, 18, 18, 111,
- 107, 107, 10, 6, 20, 20, 11, 12, 12, 12,
- 12, 12, 12, 14, 43, 43, 108, 108, 109, 109,
- 109, 109, 49, 95, 98, 98, 94, 94, 96, 96,
- 97, 97, 13, 13, 13, 13, 13, 13, 13, 13,
+ 31, 114, 114, 114, 114, 115, 115, 5, 5, 18,
+ 18, 111, 107, 107, 10, 6, 20, 20, 11, 12,
+ 12, 12, 12, 12, 12, 14, 43, 43, 108, 108,
+ 109, 109, 109, 109, 49, 95, 98, 98, 94, 94,
+ 96, 96, 97, 97, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
- 13, 13, 13, 40, 40, 40, 40, 19, 19, 44,
- 45, 45, 51, 51, 110, 110, 39, 39, 15, 15,
- 37, 37, 38, 21, 81, 81, 50, 50, 104, 104,
- 36, 22, 79, 47, 82, 82, 82, 82, 82, 72,
- 72, 35, 35, 48, 48, 80, 80, 80, 80, 87,
- 88, 84, 85, 85, 85, 85, 85, 85, 85, 85,
- 70, 70, 90, 78, 91, 91, 83, 83, 83, 69,
- 100, 100, 73, 73, 73, 73, 73, 73, 89, 86,
- 68, 68, 102, 46, 46, 52, 52, 71, 103, 101,
- 101, 101, 101, 101, 101, 74, 75, 76, 77, 105,
- 105, 105, 105, 92, 92, 67, 67, 58, 58, 58,
- 58, 58, 56, 56, 56, 56, 55, 66, 66, 54,
- 54, 54, 54, 57, 57, 57, 65, 65, 53, 53,
- 53, 53, 53, 53, 53, 53, 112, 64, 64, 63,
- 63, 63, 62, 62, 62, 62, 62, 62, 61, 60,
- 60, 60, 59, 59, 59, 59,
+ 13, 13, 13, 13, 13, 40, 40, 40, 40, 19,
+ 19, 44, 45, 45, 51, 51, 110, 110, 39, 39,
+ 15, 15, 37, 37, 117, 38, 21, 81, 81, 50,
+ 50, 104, 104, 36, 22, 79, 47, 82, 82, 82,
+ 82, 82, 72, 72, 35, 35, 48, 48, 80, 80,
+ 80, 80, 87, 88, 84, 85, 85, 85, 85, 85,
+ 85, 85, 85, 70, 70, 90, 78, 91, 91, 83,
+ 83, 83, 69, 100, 100, 73, 73, 73, 73, 73,
+ 73, 89, 86, 68, 68, 102, 46, 46, 52, 52,
+ 71, 103, 101, 101, 101, 101, 101, 101, 74, 75,
+ 76, 77, 105, 105, 105, 105, 92, 92, 67, 67,
+ 58, 58, 58, 58, 58, 56, 56, 56, 56, 55,
+ 66, 66, 54, 54, 54, 54, 57, 57, 57, 65,
+ 65, 53, 53, 53, 53, 53, 53, 53, 53, 112,
+ 64, 64, 63, 63, 63, 62, 62, 62, 62, 62,
+ 62, 61, 60, 60, 60, 59, 59, 59, 59,
};
protected static final short yyLen [] = { 2,
1, 2, 3, 2, 3, 3, 1, 2, 3, 1,
@@ -3246,828 +3208,811 @@ case 286:
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, 1, 3, 0, 3, 1, 1, 1, 1, 2,
- 2, 3, 6, 2, 3, 1, 3, 2, 3, 4,
- 2, 3, 4, 2, 2, 3, 3, 4, 2, 3,
- 3, 4, 2, 1, 1, 3, 1, 3, 1, 3,
- 1, 3, 3, 2, 3, 4, 3, 4, 4, 5,
- 2, 3, 3, 4, 3, 4, 4, 5, 1, 2,
- 2, 2, 3, 1, 3, 1, 3, 1, 3, 1,
- 1, 2, 1, 3, 4, 5, 1, 3, 3, 4,
- 1, 1, 1, 1, 1, 1, 2, 1, 1, 3,
- 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 2, 1, 1, 1, 1, 1, 5,
- 7, 5, 9, 8, 8, 8, 7, 7, 7, 6,
- 1, 1, 1, 2, 2, 3, 1, 1, 1, 1,
- 3, 3, 1, 1, 1, 1, 1, 1, 7, 5,
- 1, 3, 1, 1, 1, 2, 3, 3, 1, 1,
- 1, 1, 1, 1, 1, 2, 2, 2, 2, 3,
- 4, 5, 6, 4, 5, 1, 3, 1, 1, 2,
- 2, 1, 1, 1, 1, 1, 1, 1, 3, 1,
- 1, 1, 1, 1, 2, 1, 1, 3, 1, 1,
- 1, 1, 1, 1, 1, 1, 4, 1, 3, 1,
- 3, 3, 1, 3, 3, 3, 3, 3, 1, 1,
- 3, 3, 1, 3, 3, 3,
+ 2, 1, 3, 3, 1, 0, 3, 1, 1, 1,
+ 1, 2, 2, 3, 6, 2, 3, 1, 3, 2,
+ 3, 4, 2, 3, 4, 2, 2, 3, 3, 4,
+ 2, 3, 3, 4, 2, 1, 1, 3, 1, 3,
+ 1, 3, 1, 3, 3, 2, 3, 4, 3, 4,
+ 4, 5, 2, 3, 3, 4, 3, 4, 4, 5,
+ 1, 2, 2, 2, 3, 1, 3, 1, 3, 1,
+ 3, 1, 1, 2, 1, 3, 4, 5, 1, 3,
+ 3, 4, 1, 1, 2, 1, 1, 1, 1, 2,
+ 1, 1, 3, 1, 1, 1, 2, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
+ 1, 1, 5, 7, 5, 9, 8, 8, 8, 7,
+ 7, 7, 6, 1, 1, 1, 2, 2, 3, 1,
+ 1, 1, 1, 3, 3, 1, 1, 1, 1, 1,
+ 1, 7, 5, 1, 3, 1, 1, 1, 2, 3,
+ 3, 1, 1, 1, 1, 1, 1, 1, 2, 2,
+ 2, 2, 3, 4, 5, 6, 4, 5, 1, 3,
+ 1, 1, 2, 2, 1, 1, 1, 1, 1, 1,
+ 1, 3, 1, 1, 1, 1, 1, 2, 1, 1,
+ 3, 1, 1, 1, 1, 1, 1, 1, 1, 4,
+ 1, 3, 1, 3, 3, 1, 3, 3, 3, 3,
+ 3, 1, 1, 3, 3, 1, 3, 3, 3,
};
protected static final short yyDefRed [] = { 0,
- 62, 151, 173, 0, 63, 172, 60, 59, 58, 0,
- 0, 0, 61, 19, 0, 14, 15, 0, 7, 0,
- 153, 161, 152, 0, 0, 0, 0, 47, 0, 0,
- 10, 0, 0, 13, 12, 0, 0, 0, 0, 0,
- 0, 71, 8, 0, 0, 0, 0, 0, 0, 48,
- 11, 0, 0, 0, 0, 0, 0, 20, 0, 0,
- 6, 0, 9, 0, 0, 0, 0, 32, 0, 72,
- 0, 135, 137, 5, 0, 0, 0, 0, 104, 105,
- 0, 49, 64, 67, 50, 0, 0, 0, 0, 45,
- 0, 78, 0, 79, 0, 0, 56, 68, 0, 0,
- 0, 154, 0, 0, 0, 70, 0, 69, 22, 0,
- 0, 24, 16, 0, 18, 0, 54, 0, 52, 0,
- 65, 77, 76, 0, 0, 0, 0, 0, 34, 0,
- 75, 21, 0, 0, 33, 0, 0, 0, 31, 0,
- 80, 0, 0, 0, 111, 0, 0, 130, 0, 140,
- 94, 0, 132, 46, 57, 0, 91, 88, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 81, 26, 51, 29, 53, 66, 0, 84, 0, 55,
- 73, 23, 0, 25, 35, 109, 0, 106, 0, 0,
- 0, 251, 0, 259, 263, 265, 264, 260, 266, 261,
- 262, 0, 0, 0, 193, 95, 0, 0, 138, 0,
- 0, 0, 176, 0, 155, 0, 0, 250, 247, 0,
- 0, 253, 0, 204, 205, 0, 0, 178, 165, 141,
- 156, 168, 169, 166, 167, 177, 179, 203, 0, 0,
- 123, 149, 158, 0, 143, 0, 0, 87, 0, 0,
- 0, 0, 147, 0, 162, 139, 0, 0, 0, 0,
- 0, 0, 242, 283, 0, 0, 273, 0, 0, 0,
- 0, 0, 0, 0, 191, 170, 85, 238, 239, 245,
- 246, 171, 192, 252, 256, 97, 0, 117, 92, 89,
- 0, 0, 0, 133, 0, 0, 82, 0, 99, 0,
- 0, 0, 27, 0, 0, 0, 195, 0, 0, 0,
- 226, 227, 216, 0, 0, 0, 96, 142, 164, 213,
- 0, 0, 228, 229, 194, 224, 225, 221, 222, 223,
- 220, 0, 157, 0, 150, 112, 127, 118, 90, 0,
- 0, 0, 240, 241, 255, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 98, 124, 0, 0, 119, 93, 0, 101,
- 100, 0, 0, 110, 0, 0, 0, 196, 0, 217,
- 230, 159, 0, 214, 218, 215, 0, 201, 202, 144,
- 148, 0, 0, 284, 285, 286, 0, 0, 278, 276,
- 277, 274, 275, 0, 0, 0, 0, 0, 0, 0,
- 128, 120, 0, 0, 102, 0, 0, 0, 0, 0,
- 0, 0, 231, 0, 234, 0, 267, 145, 0, 83,
- 0, 0, 0, 0, 0, 0, 0, 0, 180, 0,
- 199, 198, 182, 160, 232, 0, 235, 146, 190, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 233, 189,
- 188, 0, 187, 0, 0, 0, 0, 0, 181, 186,
- 185, 184, 0, 0, 0, 183, 0, 210, 0, 209,
+ 62, 153, 176, 0, 63, 175, 60, 59, 58, 0,
+ 0, 0, 61, 19, 0, 14, 15, 13, 12, 7,
+ 0, 0, 156, 164, 154, 0, 0, 0, 0, 47,
+ 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
+ 8, 0, 0, 0, 71, 0, 0, 0, 0, 0,
+ 48, 11, 0, 0, 0, 0, 0, 0, 20, 0,
+ 0, 6, 9, 0, 0, 0, 0, 32, 0, 16,
+ 0, 72, 0, 75, 137, 139, 5, 0, 0, 0,
+ 0, 106, 107, 0, 49, 64, 67, 50, 0, 0,
+ 0, 0, 45, 0, 80, 0, 81, 0, 0, 56,
+ 68, 0, 0, 0, 157, 0, 0, 0, 70, 0,
+ 69, 22, 0, 0, 24, 0, 18, 0, 54, 0,
+ 52, 0, 65, 79, 78, 0, 0, 0, 0, 0,
+ 34, 0, 0, 0, 77, 21, 0, 0, 33, 0,
+ 0, 0, 31, 0, 82, 0, 0, 0, 113, 0,
+ 0, 132, 0, 142, 96, 0, 134, 46, 57, 0,
+ 93, 90, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 26, 51, 29, 53, 66,
+ 0, 86, 0, 55, 43, 44, 73, 74, 23, 0,
+ 25, 35, 111, 0, 108, 0, 0, 0, 254, 0,
+ 262, 266, 268, 267, 263, 269, 264, 265, 0, 0,
+ 0, 196, 97, 0, 0, 140, 0, 0, 179, 0,
+ 158, 0, 0, 253, 250, 0, 0, 256, 0, 207,
+ 208, 0, 0, 181, 168, 143, 159, 171, 172, 169,
+ 170, 180, 182, 206, 0, 0, 125, 151, 161, 0,
+ 145, 0, 0, 89, 0, 0, 0, 0, 149, 0,
+ 165, 141, 0, 0, 0, 0, 0, 0, 0, 245,
+ 286, 0, 0, 276, 0, 0, 0, 0, 0, 0,
+ 0, 194, 173, 87, 241, 242, 248, 249, 174, 195,
+ 255, 259, 99, 0, 119, 94, 91, 0, 0, 0,
+ 135, 0, 0, 84, 0, 101, 0, 0, 0, 27,
+ 0, 0, 0, 198, 0, 0, 0, 229, 230, 219,
+ 0, 0, 0, 98, 144, 167, 216, 0, 0, 231,
+ 232, 197, 227, 228, 224, 225, 226, 223, 0, 160,
+ 0, 152, 114, 129, 120, 92, 0, 0, 0, 243,
+ 244, 258, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 100,
+ 126, 0, 0, 121, 95, 0, 103, 102, 0, 0,
+ 112, 0, 0, 0, 199, 0, 220, 233, 162, 0,
+ 217, 221, 218, 0, 204, 205, 146, 150, 0, 0,
+ 287, 288, 289, 0, 0, 281, 279, 280, 277, 278,
+ 0, 0, 0, 0, 0, 0, 0, 130, 122, 0,
+ 0, 104, 0, 0, 0, 0, 0, 0, 0, 234,
+ 0, 237, 0, 270, 147, 0, 85, 0, 0, 0,
+ 0, 0, 0, 0, 0, 183, 0, 202, 201, 185,
+ 163, 235, 0, 238, 148, 193, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 236, 192, 191, 0, 190,
+ 0, 0, 0, 0, 0, 184, 189, 188, 187, 0,
+ 0, 0, 186, 0, 213, 0, 212,
};
protected static final short yyDgoto [] = { 15,
- 16, 17, 68, 120, 121, 122, 58, 33, 40, 123,
- 91, 92, 93, 94, 95, 96, 97, 98, 208, 100,
- 209, 102, 34, 35, 37, 19, 20, 211, 59, 82,
- 21, 85, 60, 69, 22, 23, 24, 25, 254, 212,
- 27, 28, 213, 151, 214, 385, 215, 216, 153, 245,
- 314, 217, 218, 219, 220, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 222, 382, 223, 278, 279, 280, 281, 228, 0, 229,
- 230, 231, 440, 232, 233, 441, 234, 235, 442, 236,
- 237, 282, 29, 79, 80, 187, 146, 81, 30, 283,
- 332, 321, 239, 383, 284, 31, 106, 107, 171, 301,
- 108, 285, 0, 71, 42, 0,
+ 16, 17, 68, 122, 123, 124, 59, 35, 40, 125,
+ 94, 95, 96, 97, 98, 99, 100, 101, 215, 103,
+ 216, 105, 18, 19, 37, 20, 21, 268, 60, 85,
+ 23, 88, 61, 69, 24, 25, 26, 27, 260, 218,
+ 29, 30, 219, 155, 220, 392, 221, 222, 157, 251,
+ 321, 223, 224, 225, 226, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 228, 389, 229, 285, 286, 287, 288, 234, 0, 235,
+ 236, 237, 447, 238, 239, 448, 240, 241, 449, 242,
+ 243, 289, 31, 82, 83, 194, 150, 84, 32, 290,
+ 339, 328, 245, 390, 291, 33, 109, 110, 175, 308,
+ 111, 292, 0, 73, 45, 74, 0,
};
- protected static final short yySindex [] = { 1033,
- 0, 0, 0, -231, 0, 0, 0, 0, 0, -209,
- -209, -118, 0, 0, 0, 0, 0, 149, 0, 974,
- 0, 0, 0, 125, 148, 122, 1088, 0, 1136, 974,
- 0, 187, -100, 0, 0, 243, 208, 227, 233, -88,
- 122, 0, 0, 1136, 188, 215, 1033, -231, -118, 0,
- 0, 974, 1136, 27, -209, -209, 2396, 0, -94, -3,
- 0, 32, 0, -39, 27, -209, 2426, 0, 15, 0,
- 21, 0, 0, 0, -100, -88, 1136, 104, 0, 0,
- 130, 0, 0, 0, 0, 275, 103, 378, 27, 0,
- 179, 0, 275, 0, 135, 2457, 0, 0, 72, 373,
- 387, 0, 40, 154, 1907, 0, 327, 0, 0, -3,
- -209, 0, 0, 0, 0, 153, 0, 378, 0, 2487,
- 0, 0, 0, 179, 407, 103, 1907, -209, 0, 122,
- 0, 0, -94, -3, 0, 15, -209, 27, 0, 1964,
- 0, 378, 135, -31, 0, 159, 103, 0, 154, 0,
- 0, -209, 0, 0, 0, 183, 0, 0, 966, -17,
- 378, 135, 158, 426, 103, 221, 135, 154, 327, 2022,
- 0, 0, 0, 0, 0, 0, 103, 0, 190, 0,
- 0, 0, -3, 0, 0, 0, 458, 0, 463, 469,
- 459, 0, 470, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 824, 824, 0, 0, 60, 477, 0, 149,
- 219, 183, 0, 2079, 0, 465, 186, 0, 0, 480,
- -227, 0, 468, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 48, 0,
- 0, 0, 0, 183, 0, 280, 27, 0, 135, 135,
- 472, 387, 0, 489, 0, 0, -209, 60, 824, 824,
- 824, -227, 0, 0, 389, 471, 0, 28, 133, 497,
- 445, 416, 238, 241, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 398, 0, 0, 0,
- 135, 103, 103, 0, 135, 282, 0, 511, 0, 2127,
- 2183, 137, 0, -209, 503, 966, 0, 495, 966, 219,
- 0, 0, 0, 399, 520, 477, 0, 0, 0, 0,
- 583, 254, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 966, 0, 249, 0, 0, 0, 0, 0, -209,
- 516, 31, 0, 0, 0, 824, 824, 824, 824, 824,
- -209, 824, 824, 824, 824, 824, 824, 824, 824, 824,
- 824, 824, 0, 0, 135, 135, 0, 0, 622, 0,
- 0, 2231, 966, 0, 639, 498, 517, 0, 518, 0,
- 0, 0, 405, 0, 0, 0, 524, 0, 0, 0,
- 0, 729, 824, 0, 0, 0, 389, 389, 0, 0,
- 0, 0, 0, 28, 28, 133, 497, 445, 416, 238,
- 0, 0, 507, 413, 0, 508, 746, 509, 790, 2270,
- 2309, 966, 0, 807, 0, 456, 0, 0, 510, 0,
- 2309, 529, 853, 910, 519, 535, 536, 0, 0, 310,
- 0, 0, 0, 0, 0, 457, 0, 0, 0, 2309,
- 2309, 541, 2309, 543, 927, 966, 966, 2309, 0, 0,
- 0, 2309, 0, 2309, 2309, 546, 547, 548, 0, 0,
- 0, 0, 2309, 2270, 2270, 0, 323, 0, 2270, 0,
+ protected static final short yySindex [] = { 2528,
+ 0, 0, 0, -247, 0, 0, 0, 0, 0, -216,
+ -216, -196, 0, 0, 0, 0, 0, 0, 0, 0,
+ 824, 20, 0, 0, 0, 41, 46, 188, 1436, 0,
+ 1530, 824, 0, 81, -89, 118, 130, 153, 171, -117,
+ 0, 1530, -68, -58, 0, 196, 217, 2528, -247, -196,
+ 0, 0, 824, 1530, -51, -216, -216, 1842, 0, -101,
+ 2, 0, 0, -40, -51, -216, 2299, 0, 30, 0,
+ -164, 0, 190, 0, 0, 0, 0, -89, -117, 1530,
+ 47, 0, 0, 327, 0, 0, 0, 0, 202, 36,
+ 311, -51, 0, 187, 0, 202, 0, 88, 2395, 0,
+ 0, 150, 324, 337, 0, 360, 101, 2463, 0, 281,
+ 0, 0, 2, -216, 0, 0, 0, 328, 0, 311,
+ 0, 2435, 0, 0, 0, 187, 366, 36, 2463, -216,
+ 0, -216, -216, -58, 0, 0, -101, 2, 0, 30,
+ -216, -51, 0, 1990, 0, 311, 88, -23, 0, 330,
+ 36, 0, 101, 0, 0, -216, 0, 0, 0, 111,
+ 0, 0, 860, -17, 311, 88, 277, 377, 36, 266,
+ 88, 101, 281, 2047, 0, 0, 0, 0, 0, 0,
+ 36, 0, 139, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 404, 0, 412, 425, 490, 0, 436,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 911,
+ 911, 0, 0, 19, 400, 0, 157, 111, 0, 2104,
+ 0, 433, 155, 0, 0, 452, -215, 0, 444, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -42, 0, 0, 0, 0, 111,
+ 0, 146, -51, 0, 88, 88, 448, 337, 0, 465,
+ 0, 0, -216, 19, 911, 911, 911, 184, -215, 0,
+ 0, 453, 237, 0, 112, -80, 489, 435, 413, 229,
+ 244, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 308, 0, 0, 0, 88, 36, 36,
+ 0, 88, 285, 0, 513, 0, 2149, 2210, 58, 0,
+ -216, 544, 860, 0, 504, 860, 184, 0, 0, 0,
+ 391, 398, 400, 0, 0, 0, 0, 624, 261, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 860, 0,
+ 264, 0, 0, 0, 0, 0, -216, 526, 10, 0,
+ 0, 0, 911, 911, 911, 911, 911, -216, 911, 911,
+ 911, 911, 911, 911, 911, 911, 911, 911, 911, 0,
+ 0, 88, 88, 0, 0, 473, 0, 0, 2254, 860,
+ 0, 571, 509, 529, 0, 532, 0, 0, 0, 428,
+ 0, 0, 0, 538, 0, 0, 0, 0, 641, 911,
+ 0, 0, 0, 453, 453, 0, 0, 0, 0, 0,
+ 112, 112, -80, 489, 435, 413, 229, 0, 0, 521,
+ 450, 0, 522, 668, 523, 699, 2310, 2350, 860, 0,
+ 716, 0, 503, 0, 0, 531, 0, 2350, 550, 760,
+ 777, 533, 561, 562, 0, 0, 338, 0, 0, 0,
+ 0, 0, 507, 0, 0, 0, 2350, 2350, 569, 2350,
+ 574, 816, 860, 860, 2350, 0, 0, 0, 2350, 0,
+ 2350, 2350, 579, 580, 586, 0, 0, 0, 0, 2350,
+ 2310, 2310, 0, 345, 0, 2310, 0,
};
protected static final short yyRindex [] = { 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1239, 0, 0,
- 0, 0, 0, 1587, 2367, 0, 0, 0, 592, 0,
- 0, -96, 0, 0, 0, 0, 0, 0, -84, 0,
- 0, 0, 0, 593, 0, 0, 0, 0, 0, 0,
- 0, 0, 597, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 598, 170, 0, 0,
- 0, 0, 0, 0, 0, 2515, 0, -23, 0, 0,
- 0, 0, 0, 0, -4, 0, 0, 0, 0, 0,
- 335, 0, -89, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 314, 0, 0, 0, -38, 0, 0,
+ 0, 1133, 0, 0, 0, 764, 864, 0, 0, 0,
+ 629, 0, 0, -76, 0, 0, 0, 0, -114, 0,
+ 0, 635, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 347, 0, 0, 0, 0, 0, 0, 0, 0, 645,
+ 349, 0, 0, 0, 0, 0, 0, 0, 2498, 0,
+ 17, 0, 0, 0, 0, 0, 0, 13, 0, 0,
+ 0, 0, 0, 291, 0, -18, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 351, 0, 0, 0, -16,
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, 23, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 35, 10, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0, 0, 0, 185, 24, 0, 0, 0, 0,
+ 27, 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, 196, 0, 0, 0,
+ 0, 0, 0, 352, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 414, 0,
+ 0, 0, 0, 0, 587, 0, 1678, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1188, 0, 0, 0, 0,
+ 0, -55, 5, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, -39, 0, 0, 0, 0,
+ 0, 0, 0, 0, 57, 79, 0, 588, 0, 100,
+ 0, 0, 0, 0, 0, 0, 0, 581, 1895, 0,
+ 0, 1775, 1616, 0, -6, 1644, 1199, 1225, 1262, 1273,
+ 1299, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
+ 0, 117, 0, 0, -46, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1236, 0, 0, 0,
+ 0, 0, 590, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -29, 0, 0, 0, 0, 0, 542, 0, 173,
- 681, 0, 0, 0, 0, 0, 0, 0, 0, 1019,
- 0, 0, 0, 0, 0, -55, -34, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
- 0, 0, 0, 0, 0, 0, 0, 0, 39, 44,
- 0, 544, 0, 52, 0, 0, 0, 0, 0, 0,
- 0, 1997, 0, 0, 1723, 1618, 0, 5, 1629, 1122,
- 1133, 1294, 1338, 1406, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 58, 0, 0, 0, 82, 0, 0, -12, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1432,
- 0, 0, 0, 0, 0, 545, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 354, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 301, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 106, 107, 0, 0, 0, 0,
+ 0, 126, 148, 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, 1852, 1909, 0, 0,
- 0, 0, 0, 1713, 1768, 1684, 1490, 1527, 1516, 1575,
+ 0, 0, 0, 1832, 1852, 0, 0, 0, 0, 0,
+ 1715, 1738, 1704, 1327, 1550, 1421, 1578, 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, 1835, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1945, 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 [] = { 558,
- 0, 0, 84, 0, 486, 0, 77, 559, 563, 0,
- 262, 0, 41, 0, 2633, 0, 512, 0, 36, 86,
- 1, -116, 19, 0, 0, 69, 585, -10, 552, -134,
- -50, 7, 12, 553, 0, 0, 359, -128, 0, 573,
- 258, -1, -79, 0, -157, 0, 0, 0, 382, 285,
- 92, 0, 0, 0, 0, -63, 0, -147, 128, 0,
- 110, 115, 263, 277, 278, 276, 279, 0, 0, 311,
- 0, -151, 0, -45, -6, 55, 121, 0, 0, -176,
- -194, 2374, -82, 0, 0, 0, 0, 0, 0, 0,
- 0, 312, 351, -56, 504, 0, 0, 580, 0, 160,
- 0, 0, 0, -196, 237, 356, 0, 549, 478, 0,
- 0, 0, 0, 0, 0, 0,
+ protected static final short yyGindex [] = { 604,
+ 0, 0, -14, 0, 534, 0, 769, 605, 603, 0,
+ 265, 0, -11, 0, 2362, 0, 559, 0, -10, -57,
+ 45, -36, 280, 0, 0, 49, 630, 1, 585, -146,
+ -43, 25, 21, 589, 0, 0, 402, -116, 0, 62,
+ -15, 40, -81, 0, -148, 0, 0, 0, 422, 331,
+ -24, 0, 0, 0, 0, -141, 0, 460, 67, 0,
+ 272, 119, 314, 310, 313, 315, 318, 0, 0, 350,
+ 0, 135, 0, -52, -1, 39, 74, 0, 0, -191,
+ -193, 1843, 127, 0, 0, 0, 0, 0, 0, 0,
+ 0, 361, 290, -71, 546, 0, 0, 625, 0, 114,
+ 0, 0, 0, -139, 179, 353, 0, 594, 530, 0,
+ 0, 0, 0, 0, 0, 570, 0,
};
- protected static final short yyTable [] = { 36,
- 38, 74, 115, 206, 83, 84, 141, 277, 186, 242,
- 19, 162, 300, 150, 162, 84, 19, 253, 18, 318,
- 162, 19, 57, 286, 207, 50, 30, 243, 57, 162,
- 19, 19, 145, 251, 67, 162, 19, 162, 28, 308,
- 111, 270, 270, 243, 18, 270, 270, 270, 270, 270,
- 270, 270, 19, 252, 129, 311, 312, 101, 128, 18,
- 84, 19, 121, 270, 130, 18, 208, 19, 114, 32,
- 110, 393, 117, 18, 18, 103, 221, 84, 162, 160,
- 323, 324, 131, 131, 18, 18, 134, 354, 43, 355,
- 243, 14, 99, 162, 224, 162, 101, 125, 270, 41,
- 313, 83, 113, 50, 101, 318, 221, 125, 331, 18,
- 103, 343, 344, 345, 103, 156, 122, 173, 129, 57,
- 43, 45, 341, 103, 224, 50, 121, 333, 270, 18,
- 157, 99, 114, 225, 180, 109, 112, 67, 18, 163,
- 115, 243, 18, 372, 183, 18, 18, 131, 18, 252,
- 221, 132, 129, 376, 377, 18, 256, 379, 210, 135,
- 125, 125, 18, 225, 126, 116, 113, 55, 224, 386,
- 18, 30, 414, 138, 103, 374, 144, 318, 18, 66,
- 122, 56, 39, 28, 18, 30, 172, 56, 210, 164,
- 336, 139, 310, 310, 226, 426, 138, 373, 394, 395,
- 396, 156, 247, 296, 115, 391, 83, 225, 41, 182,
- 184, 74, 13, 107, 174, 45, 289, 243, 13, 185,
- 248, 416, 399, 418, 226, 18, 2, 446, 126, 116,
- 3, 107, 210, 13, 251, 246, 221, 221, 46, 108,
- 2, 384, 6, 438, 3, 427, 54, 316, 310, 310,
- 310, 287, 245, 245, 224, 224, 6, 108, 315, 303,
- 227, 114, 19, 74, 62, 432, 63, 435, 226, 202,
- 444, 19, 64, 246, 246, 18, 18, 19, 19, 19,
- 72, 452, 454, 202, 19, 19, 19, 19, 62, 83,
- 227, 19, 65, 225, 225, 251, 251, 438, 438, 238,
- 351, 61, 438, 466, 467, 468, 270, 73, 221, 270,
- 270, 270, 270, 270, 105, 252, 252, 2, 210, 210,
- 335, 3, 18, 334, 127, 156, 224, 78, 124, 238,
- 352, 353, 113, 6, 227, 310, 310, 310, 310, 310,
- 368, 310, 310, 310, 310, 310, 310, 310, 310, 310,
- 310, 310, 18, 105, 226, 226, 221, 221, 18, 16,
- 202, 326, 327, 328, 329, 225, 166, 221, 330, 18,
- 44, 137, 17, 238, 224, 224, 240, 127, 138, 2,
- 53, 124, 310, 3, 51, 224, 221, 221, 166, 221,
- 210, 477, 478, 86, 221, 6, 480, 140, 221, 51,
- 221, 221, 77, 142, 224, 224, 240, 224, 51, 221,
- 221, 221, 224, 225, 225, 221, 224, 144, 224, 224,
- 227, 227, 14, 152, 225, 348, 226, 224, 224, 224,
- 346, 158, 51, 224, 356, 347, 2, 357, 363, 380,
- 3, 334, 334, 225, 225, 423, 225, 159, 422, 170,
- 240, 225, 6, 429, 161, 225, 422, 225, 225, 238,
- 238, 400, 401, 402, 403, 178, 225, 225, 225, 147,
- 404, 405, 225, 74, 226, 226, 397, 398, 2, 118,
- 13, 13, 3, 255, 290, 226, 13, 13, 13, 13,
- 302, 261, 227, 13, 6, 304, 447, 459, 258, 422,
- 422, 259, 305, 260, 226, 226, 2, 226, 306, 309,
- 3, 292, 226, 349, 320, 350, 226, 307, 226, 226,
- 156, 14, 6, 319, 241, 322, 325, 226, 226, 226,
- 339, 238, 340, 226, 358, 261, 240, 240, 359, 360,
- 227, 227, 258, 288, 361, 259, 362, 260, 294, 202,
- 369, 227, 261, 378, 387, 392, 419, 420, 421, 258,
- 381, 375, 259, 424, 260, 428, 430, 433, 448, 450,
- 227, 227, 26, 227, 456, 457, 458, 455, 227, 238,
- 238, 462, 227, 464, 227, 227, 473, 474, 475, 479,
- 238, 1, 2, 227, 227, 227, 4, 3, 47, 227,
- 175, 134, 86, 174, 74, 176, 75, 155, 240, 238,
- 238, 76, 238, 70, 52, 261, 342, 238, 390, 26,
- 406, 238, 258, 238, 238, 259, 133, 260, 136, 104,
- 337, 338, 238, 238, 238, 407, 409, 408, 238, 126,
- 410, 188, 388, 389, 116, 0, 297, 0, 0, 0,
- 0, 0, 0, 169, 261, 0, 240, 240, 0, 0,
- 0, 258, 413, 149, 259, 0, 260, 240, 104, 0,
- 0, 261, 364, 0, 0, 0, 367, 168, 258, 0,
- 0, 259, 0, 260, 0, 0, 240, 240, 0, 240,
- 0, 0, 126, 0, 240, 0, 177, 417, 240, 179,
- 240, 240, 181, 0, 0, 140, 0, 0, 0, 240,
- 240, 240, 0, 0, 0, 240, 244, 244, 244, 0,
- 0, 244, 244, 244, 244, 244, 0, 244, 0, 0,
- 0, 0, 244, 257, 0, 0, 0, 0, 293, 244,
- 244, 219, 244, 0, 0, 192, 411, 412, 0, 0,
- 0, 194, 195, 196, 197, 198, 199, 200, 201, 14,
- 0, 261, 0, 0, 0, 0, 203, 204, 258, 425,
- 0, 259, 0, 260, 244, 0, 0, 257, 261, 244,
- 0, 0, 0, 0, 0, 258, 431, 0, 259, 192,
- 260, 0, 0, 0, 257, 194, 195, 196, 197, 198,
- 199, 200, 201, 14, 244, 0, 192, 0, 0, 0,
- 203, 204, 194, 195, 196, 197, 198, 199, 200, 201,
- 14, 0, 261, 0, 0, 0, 0, 203, 204, 258,
- 244, 0, 259, 0, 260, 0, 0, 0, 0, 261,
- 0, 0, 0, 0, 0, 0, 258, 445, 434, 259,
- 0, 260, 0, 0, 0, 0, 261, 257, 0, 0,
- 0, 0, 0, 258, 0, 0, 259, 0, 260, 192,
- 0, 0, 0, 0, 0, 194, 195, 196, 197, 198,
- 199, 200, 201, 14, 0, 261, 0, 0, 0, 0,
- 203, 204, 258, 451, 0, 259, 257, 260, 0, 0,
- 0, 0, 0, 0, 0, 0, 244, 0, 192, 0,
- 0, 0, 0, 257, 194, 195, 196, 197, 198, 199,
- 200, 201, 14, 0, 0, 192, 0, 0, 0, 203,
- 204, 194, 195, 196, 197, 198, 199, 200, 201, 14,
- 0, 0, 261, 0, 0, 0, 203, 204, 0, 258,
- 453, 0, 259, 244, 260, 0, 0, 0, 0, 261,
- 0, 0, 0, 0, 0, 0, 258, 465, 0, 259,
- 0, 260, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 244, 244, 244, 244, 244, 244, 244, 244,
- 0, 0, 0, 0, 219, 219, 219, 219, 261, 0,
- 0, 219, 0, 257, 0, 258, 0, 0, 259, 0,
- 260, 0, 0, 0, 0, 192, 0, 0, 0, 0,
- 257, 194, 195, 196, 197, 198, 199, 200, 201, 14,
- 0, 0, 192, 0, 0, 0, 203, 204, 194, 195,
- 196, 197, 198, 199, 200, 201, 14, 0, 0, 0,
- 0, 0, 0, 203, 204, 243, 243, 0, 0, 243,
- 243, 243, 243, 243, 257, 243, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 192, 243, 243, 0,
- 243, 257, 194, 195, 196, 197, 198, 199, 200, 201,
- 14, 0, 0, 192, 0, 0, 0, 203, 204, 194,
- 195, 196, 197, 198, 199, 200, 201, 14, 0, 0,
- 192, 0, 243, 0, 203, 204, 194, 195, 196, 197,
- 198, 199, 200, 201, 14, 0, 0, 257, 0, 0,
- 0, 203, 204, 0, 0, 0, 0, 0, 0, 192,
- 0, 0, 243, 0, 0, 194, 195, 196, 197, 198,
- 199, 200, 201, 14, 0, 0, 0, 0, 257, 0,
- 203, 204, 257, 257, 257, 257, 257, 257, 257, 248,
- 248, 0, 0, 248, 248, 248, 248, 248, 248, 248,
- 257, 257, 0, 257, 257, 0, 0, 0, 0, 0,
- 0, 248, 248, 0, 248, 0, 192, 0, 0, 0,
- 0, 257, 194, 195, 196, 197, 198, 199, 200, 201,
- 14, 0, 0, 192, 0, 257, 0, 203, 204, 194,
- 195, 196, 197, 198, 199, 200, 201, 14, 0, 0,
- 1, 0, 0, 0, 203, 204, 4, 0, 0, 0,
- 257, 0, 5, 0, 0, 257, 0, 0, 0, 7,
- 8, 9, 192, 11, 12, 0, 248, 13, 194, 195,
- 196, 197, 198, 199, 200, 201, 14, 0, 0, 0,
- 0, 0, 0, 203, 204, 74, 74, 0, 74, 74,
- 74, 74, 74, 74, 74, 74, 0, 0, 0, 1,
- 2, 243, 0, 0, 3, 4, 0, 74, 0, 0,
- 74, 5, 0, 0, 0, 0, 6, 0, 7, 8,
- 9, 10, 11, 12, 0, 0, 13, 0, 0, 0,
- 243, 243, 243, 243, 243, 243, 243, 243, 0, 74,
- 236, 236, 74, 14, 236, 236, 236, 236, 236, 236,
- 236, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 48, 0, 236, 236, 0, 236, 5, 0, 0, 0,
- 0, 74, 74, 7, 8, 9, 0, 0, 49, 0,
- 0, 13, 0, 0, 211, 211, 0, 0, 211, 211,
- 211, 211, 211, 211, 211, 0, 0, 236, 0, 0,
- 0, 0, 1, 0, 257, 0, 211, 211, 4, 211,
- 0, 0, 0, 0, 5, 248, 0, 0, 0, 0,
- 0, 7, 8, 9, 0, 0, 12, 0, 0, 13,
- 0, 0, 0, 257, 257, 257, 257, 257, 257, 257,
- 257, 211, 0, 0, 248, 248, 248, 248, 248, 248,
- 248, 248, 200, 200, 0, 0, 200, 200, 200, 200,
- 200, 200, 200, 0, 0, 0, 0, 0, 0, 0,
- 0, 211, 0, 0, 200, 200, 0, 200, 244, 244,
- 0, 0, 244, 244, 244, 244, 244, 0, 244, 0,
+ protected static final short yyTable [] = { 254,
+ 22, 117, 227, 209, 71, 67, 255, 145, 28, 259,
+ 36, 38, 86, 87, 154, 185, 186, 248, 338, 211,
+ 149, 58, 87, 293, 193, 307, 325, 13, 22, 19,
+ 273, 273, 227, 58, 273, 273, 273, 273, 273, 273,
+ 273, 13, 108, 19, 22, 114, 30, 102, 22, 168,
+ 400, 129, 273, 34, 131, 127, 22, 22, 22, 320,
+ 165, 28, 19, 210, 139, 43, 22, 22, 51, 41,
+ 87, 131, 13, 130, 19, 165, 19, 165, 227, 44,
+ 113, 123, 116, 108, 14, 133, 87, 273, 102, 48,
+ 119, 230, 330, 331, 22, 257, 167, 148, 138, 22,
+ 46, 41, 104, 132, 39, 72, 129, 19, 22, 28,
+ 127, 249, 86, 325, 22, 127, 348, 273, 380, 107,
+ 133, 230, 22, 252, 58, 192, 22, 249, 128, 22,
+ 22, 46, 22, 22, 22, 131, 47, 115, 177, 294,
+ 55, 22, 231, 104, 217, 123, 116, 51, 22, 133,
+ 66, 104, 67, 28, 184, 153, 22, 190, 105, 379,
+ 107, 303, 124, 43, 22, 227, 227, 230, 51, 172,
+ 22, 361, 231, 362, 217, 117, 62, 249, 56, 127,
+ 57, 343, 232, 128, 128, 325, 342, 181, 63, 341,
+ 183, 30, 57, 160, 381, 187, 322, 258, 64, 2,
+ 398, 115, 43, 3, 262, 30, 118, 323, 161, 250,
+ 317, 317, 232, 340, 22, 6, 44, 233, 231, 86,
+ 217, 363, 105, 322, 364, 250, 124, 249, 165, 43,
+ 65, 300, 70, 134, 2, 445, 421, 227, 3, 117,
+ 2, 406, 14, 165, 3, 165, 391, 233, 128, 81,
+ 6, 135, 248, 248, 230, 230, 6, 244, 232, 433,
+ 116, 254, 254, 22, 22, 317, 317, 317, 255, 255,
+ 118, 333, 334, 335, 336, 250, 2, 209, 337, 356,
+ 3, 357, 13, 209, 19, 227, 227, 244, 75, 445,
+ 445, 453, 6, 233, 445, 273, 227, 284, 273, 273,
+ 273, 273, 273, 86, 249, 231, 231, 217, 217, 76,
+ 42, 22, 249, 249, 141, 227, 227, 19, 227, 209,
+ 160, 54, 246, 227, 144, 250, 230, 227, 160, 227,
+ 227, 126, 315, 244, 140, 296, 146, 106, 227, 227,
+ 227, 22, 80, 375, 227, 232, 232, 22, 370, 88,
+ 148, 341, 246, 317, 317, 317, 317, 317, 22, 317,
+ 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 142, 142, 170, 253, 230, 230, 156, 231, 106, 217,
+ 233, 233, 162, 52, 358, 230, 126, 106, 143, 178,
+ 42, 254, 109, 170, 52, 110, 16, 163, 246, 164,
+ 317, 165, 250, 174, 230, 230, 52, 230, 42, 17,
+ 109, 261, 230, 110, 359, 360, 230, 232, 230, 230,
+ 244, 244, 404, 405, 182, 231, 231, 230, 230, 230,
+ 267, 387, 52, 230, 341, 297, 231, 264, 388, 309,
+ 265, 311, 266, 160, 2, 2, 383, 384, 3, 3,
+ 386, 312, 233, 19, 165, 231, 231, 165, 231, 19,
+ 6, 6, 393, 231, 313, 232, 232, 231, 430, 231,
+ 231, 429, 165, 19, 19, 316, 232, 151, 231, 231,
+ 231, 411, 412, 327, 231, 246, 246, 120, 14, 355,
+ 436, 326, 244, 429, 353, 232, 232, 329, 232, 354,
+ 233, 233, 332, 232, 19, 267, 346, 232, 347, 232,
+ 232, 233, 264, 420, 423, 265, 425, 266, 232, 232,
+ 232, 2, 267, 2, 232, 3, 365, 3, 366, 264,
+ 233, 233, 265, 233, 266, 368, 367, 6, 233, 6,
+ 244, 244, 233, 454, 233, 233, 429, 466, 314, 369,
+ 429, 244, 376, 233, 233, 233, 299, 246, 439, 233,
+ 442, 394, 385, 451, 209, 399, 14, 426, 247, 427,
+ 244, 244, 428, 244, 459, 461, 267, 431, 244, 435,
+ 437, 440, 244, 264, 244, 244, 265, 295, 266, 455,
+ 457, 462, 301, 244, 244, 244, 473, 474, 475, 244,
+ 463, 464, 382, 267, 465, 246, 246, 484, 485, 469,
+ 264, 486, 487, 265, 471, 266, 246, 247, 247, 480,
+ 481, 247, 247, 247, 247, 247, 482, 247, 1, 424,
+ 407, 408, 409, 410, 2, 246, 246, 4, 246, 247,
+ 247, 222, 247, 246, 3, 178, 88, 246, 177, 246,
+ 246, 77, 79, 78, 136, 180, 267, 159, 246, 246,
+ 246, 53, 137, 264, 246, 349, 265, 140, 266, 318,
+ 319, 397, 263, 267, 247, 414, 344, 345, 413, 415,
+ 264, 432, 416, 265, 199, 266, 417, 195, 395, 118,
+ 201, 202, 203, 204, 205, 206, 207, 208, 14, 396,
+ 267, 173, 304, 188, 247, 210, 211, 264, 438, 0,
+ 265, 0, 266, 0, 19, 0, 0, 0, 0, 371,
+ 0, 19, 19, 374, 350, 351, 352, 19, 19, 19,
+ 19, 267, 0, 0, 19, 0, 0, 0, 264, 0,
+ 0, 265, 0, 266, 0, 0, 144, 263, 267, 0,
+ 0, 0, 0, 0, 0, 264, 452, 441, 265, 199,
+ 266, 0, 0, 0, 263, 201, 202, 203, 204, 205,
+ 206, 207, 208, 14, 0, 0, 199, 0, 0, 0,
+ 210, 211, 201, 202, 203, 204, 205, 206, 207, 208,
+ 14, 0, 267, 418, 419, 0, 0, 210, 211, 264,
+ 458, 0, 265, 0, 266, 0, 0, 136, 0, 267,
+ 0, 0, 401, 402, 403, 0, 264, 460, 263, 265,
+ 0, 266, 0, 0, 0, 136, 0, 0, 112, 115,
+ 199, 0, 0, 0, 0, 0, 201, 202, 203, 204,
+ 205, 206, 207, 208, 14, 263, 136, 0, 267, 0,
+ 0, 210, 211, 247, 0, 264, 472, 199, 265, 434,
+ 266, 0, 0, 201, 202, 203, 204, 205, 206, 207,
+ 208, 14, 0, 0, 0, 0, 0, 0, 210, 211,
+ 0, 176, 247, 247, 247, 247, 247, 247, 247, 247,
+ 0, 0, 267, 0, 222, 222, 222, 222, 263, 264,
+ 0, 222, 265, 0, 266, 189, 191, 138, 0, 0,
+ 199, 0, 0, 0, 0, 263, 201, 202, 203, 204,
+ 205, 206, 207, 208, 14, 138, 0, 199, 0, 0,
+ 0, 210, 211, 201, 202, 203, 204, 205, 206, 207,
+ 208, 14, 263, 267, 0, 0, 0, 0, 210, 211,
+ 264, 0, 0, 265, 199, 266, 0, 0, 310, 0,
+ 201, 202, 203, 204, 205, 206, 207, 208, 14, 0,
+ 0, 0, 0, 263, 0, 210, 211, 0, 0, 0,
+ 0, 0, 0, 0, 0, 199, 0, 0, 0, 0,
+ 263, 201, 202, 203, 204, 205, 206, 207, 208, 14,
+ 0, 0, 199, 0, 0, 0, 210, 211, 201, 202,
+ 203, 204, 205, 206, 207, 208, 14, 0, 0, 0,
+ 136, 136, 0, 210, 211, 136, 136, 0, 0, 0,
+ 0, 0, 136, 0, 263, 0, 0, 136, 0, 136,
+ 136, 136, 136, 136, 136, 0, 199, 136, 0, 0,
+ 0, 263, 201, 202, 203, 204, 205, 206, 207, 208,
+ 14, 0, 0, 199, 136, 0, 0, 210, 211, 201,
+ 202, 203, 204, 205, 206, 207, 208, 14, 0, 0,
+ 1, 0, 0, 0, 210, 211, 4, 0, 0, 0,
+ 263, 0, 5, 0, 0, 0, 0, 0, 0, 7,
+ 8, 9, 199, 11, 12, 0, 0, 13, 201, 202,
+ 203, 204, 205, 206, 207, 208, 14, 0, 0, 0,
+ 138, 138, 0, 210, 211, 138, 138, 0, 0, 0,
+ 0, 0, 138, 0, 263, 0, 0, 138, 0, 138,
+ 138, 138, 138, 138, 138, 0, 199, 138, 0, 0,
+ 0, 0, 201, 202, 203, 204, 205, 206, 207, 208,
+ 14, 0, 0, 0, 138, 0, 0, 210, 211, 76,
+ 76, 0, 76, 76, 76, 76, 76, 76, 0, 76,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 244, 244, 0, 244, 0, 74, 74, 0, 0, 200,
- 74, 74, 0, 0, 0, 0, 0, 74, 0, 0,
- 0, 74, 74, 0, 74, 74, 74, 74, 74, 74,
- 74, 0, 74, 0, 0, 244, 258, 0, 0, 200,
- 258, 258, 258, 258, 258, 258, 258, 0, 0, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 258, 258,
- 0, 258, 237, 237, 0, 244, 237, 237, 237, 237,
- 237, 237, 237, 249, 249, 0, 236, 249, 249, 249,
- 249, 249, 249, 249, 237, 237, 0, 237, 0, 0,
- 0, 0, 0, 258, 0, 249, 249, 0, 249, 0,
- 0, 0, 0, 0, 0, 236, 236, 236, 236, 236,
- 236, 236, 236, 0, 0, 0, 0, 0, 0, 237,
- 211, 212, 212, 258, 0, 212, 212, 212, 212, 212,
- 212, 212, 0, 0, 0, 0, 0, 0, 0, 0,
- 134, 0, 0, 212, 212, 0, 212, 0, 0, 211,
- 211, 211, 211, 211, 0, 211, 211, 0, 134, 0,
- 249, 0, 0, 0, 279, 279, 0, 0, 279, 279,
- 0, 279, 0, 279, 279, 268, 268, 0, 212, 268,
- 268, 268, 268, 268, 268, 268, 279, 279, 200, 279,
- 0, 0, 0, 0, 0, 0, 0, 268, 268, 0,
- 268, 0, 0, 0, 0, 0, 0, 0, 212, 0,
- 0, 0, 0, 0, 244, 0, 0, 200, 200, 200,
- 200, 279, 200, 200, 200, 0, 0, 0, 0, 0,
- 269, 269, 268, 0, 269, 269, 269, 269, 269, 269,
- 269, 0, 0, 244, 244, 244, 244, 244, 244, 244,
- 244, 279, 269, 269, 0, 269, 0, 0, 0, 271,
- 271, 0, 268, 271, 271, 271, 271, 271, 271, 271,
- 280, 0, 258, 280, 0, 280, 280, 280, 280, 0,
- 0, 271, 0, 0, 0, 0, 0, 269, 0, 0,
- 0, 280, 280, 0, 280, 0, 0, 0, 237, 0,
- 0, 258, 258, 258, 258, 258, 258, 258, 258, 249,
- 0, 0, 0, 0, 272, 272, 271, 269, 272, 272,
- 272, 272, 272, 272, 272, 0, 280, 237, 237, 237,
- 237, 237, 237, 237, 237, 0, 272, 0, 249, 249,
- 249, 249, 249, 249, 249, 249, 271, 0, 0, 0,
- 0, 0, 0, 134, 134, 0, 280, 212, 134, 134,
- 0, 0, 0, 0, 0, 134, 0, 0, 0, 0,
- 134, 272, 134, 134, 134, 134, 134, 134, 0, 0,
- 134, 0, 0, 0, 165, 0, 212, 212, 212, 212,
- 212, 0, 212, 212, 0, 0, 0, 134, 0, 281,
- 279, 272, 281, 165, 281, 281, 281, 281, 0, 0,
- 0, 268, 0, 0, 0, 0, 0, 0, 0, 0,
- 281, 281, 0, 281, 0, 0, 0, 0, 0, 279,
- 279, 279, 279, 279, 279, 279, 279, 0, 0, 0,
- 0, 268, 268, 0, 268, 268, 268, 268, 0, 0,
- 0, 0, 0, 0, 0, 281, 282, 0, 0, 282,
- 0, 282, 282, 282, 282, 0, 269, 165, 0, 165,
- 0, 0, 0, 0, 0, 0, 89, 282, 282, 0,
- 282, 0, 0, 0, 0, 281, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 269, 269, 0, 269,
- 269, 269, 269, 0, 0, 280, 0, 0, 0, 0,
- 0, 0, 282, 207, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 271, 0, 0, 271, 271, 271,
- 271, 271, 205, 0, 280, 280, 280, 280, 280, 280,
- 280, 280, 282, 254, 254, 0, 0, 254, 254, 254,
- 254, 254, 254, 254, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 254, 254, 0, 254, 0,
- 0, 207, 0, 0, 0, 0, 0, 0, 0, 272,
- 0, 0, 272, 272, 272, 272, 272, 0, 0, 0,
- 205, 0, 0, 0, 0, 0, 140, 0, 206, 0,
- 254, 0, 165, 0, 0, 0, 165, 0, 0, 0,
- 0, 197, 0, 0, 0, 165, 165, 0, 165, 0,
- 0, 0, 0, 0, 0, 0, 0, 165, 207, 0,
- 254, 165, 0, 0, 281, 0, 165, 165, 165, 165,
- 165, 165, 165, 165, 165, 165, 0, 205, 0, 0,
- 0, 0, 165, 165, 140, 0, 299, 0, 0, 0,
- 0, 0, 0, 281, 281, 281, 281, 281, 281, 281,
- 281, 0, 0, 1, 2, 0, 207, 0, 3, 0,
- 0, 0, 0, 0, 0, 5, 0, 0, 0, 0,
- 6, 282, 7, 8, 9, 205, 0, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 0, 165, 0, 0,
- 0, 140, 0, 317, 0, 0, 0, 118, 0, 0,
- 282, 282, 282, 282, 282, 282, 282, 282, 0, 0,
- 0, 2, 207, 0, 0, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 189, 190, 0, 6, 0, 0,
- 0, 205, 0, 0, 0, 0, 191, 0, 0, 140,
- 192, 370, 0, 0, 0, 193, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 0, 0, 0, 0, 254,
- 207, 203, 204, 0, 0, 0, 0, 0, 0, 2,
- 0, 0, 0, 3, 0, 0, 0, 0, 0, 205,
- 0, 0, 189, 190, 0, 6, 0, 0, 254, 254,
- 254, 254, 254, 254, 191, 140, 0, 371, 298, 207,
- 0, 0, 0, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 0, 0, 0, 0, 0, 205, 203,
- 204, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 207, 189,
- 190, 0, 6, 140, 0, 415, 0, 0, 0, 0,
- 0, 191, 0, 0, 0, 192, 0, 205, 0, 0,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 0, 0, 0, 0, 2, 0, 203, 204, 3, 0,
- 0, 0, 140, 0, 0, 0, 0, 189, 190, 0,
- 6, 0, 0, 0, 0, 0, 0, 0, 0, 191,
- 136, 0, 0, 192, 0, 0, 0, 0, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 136, 0,
- 0, 140, 0, 0, 203, 204, 0, 0, 0, 0,
- 2, 0, 0, 0, 3, 0, 0, 0, 0, 0,
- 0, 0, 0, 189, 190, 89, 6, 0, 0, 0,
- 0, 0, 0, 0, 0, 191, 0, 0, 0, 192,
- 0, 0, 0, 0, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 0, 89, 0, 0, 2, 0,
- 203, 204, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 189, 190, 0, 6, 0, 0, 0, 0, 0,
- 0, 0, 0, 191, 0, 0, 89, 192, 0, 0,
- 90, 0, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 0, 0, 0, 0, 0, 0, 203, 204,
- 189, 436, 0, 0, 0, 0, 89, 0, 0, 0,
- 119, 0, 191, 0, 0, 0, 192, 0, 0, 0,
- 0, 437, 194, 195, 196, 197, 198, 199, 200, 201,
- 14, 0, 0, 0, 61, 0, 0, 203, 204, 189,
- 190, 154, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 191, 0, 0, 0, 192, 0, 0, 0, 0,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 14,
- 0, 175, 0, 0, 0, 0, 203, 204, 0, 0,
- 0, 0, 0, 136, 136, 0, 0, 0, 136, 136,
- 0, 0, 0, 0, 0, 136, 0, 0, 0, 0,
- 136, 0, 136, 136, 136, 136, 136, 136, 0, 0,
- 136, 0, 1, 2, 0, 0, 0, 3, 0, 0,
- 0, 0, 0, 0, 5, 0, 0, 136, 0, 6,
- 0, 7, 8, 9, 0, 0, 0, 0, 0, 86,
- 0, 0, 1, 2, 0, 0, 87, 3, 0, 0,
- 0, 0, 0, 0, 5, 0, 88, 0, 0, 6,
- 0, 7, 8, 9, 0, 0, 0, 0, 0, 13,
- 0, 0, 0, 1, 2, 0, 87, 0, 3, 143,
- 0, 0, 0, 148, 0, 5, 118, 0, 0, 0,
- 6, 0, 7, 8, 9, 0, 162, 167, 0, 0,
- 86, 0, 0, 1, 2, 0, 0, 87, 3, 0,
- 0, 0, 0, 0, 0, 5, 148, 88, 162, 167,
- 6, 0, 7, 8, 9, 0, 0, 0, 0, 0,
- 13, 61, 61, 0, 0, 0, 61, 87, 0, 249,
- 0, 250, 0, 61, 0, 0, 0, 118, 61, 0,
- 61, 61, 61, 439, 443, 0, 0, 291, 61, 0,
- 295, 0, 0, 0, 449, 61, 0, 0, 0, 250,
- 0, 295, 0, 0, 0, 61, 0, 0, 0, 0,
- 0, 0, 0, 460, 461, 0, 463, 0, 0, 0,
- 0, 469, 0, 0, 0, 470, 0, 471, 472, 0,
- 0, 0, 0, 0, 0, 0, 476, 439, 443, 0,
- 0, 0, 469, 0, 0, 0, 0, 0, 0, 0,
+ 0, 76, 0, 0, 76, 0, 0, 199, 0, 0,
+ 0, 0, 0, 201, 202, 203, 204, 205, 206, 207,
+ 208, 14, 0, 0, 0, 0, 0, 0, 210, 211,
+ 0, 0, 0, 76, 246, 246, 76, 0, 246, 246,
+ 246, 246, 246, 0, 246, 260, 0, 0, 0, 260,
+ 260, 260, 260, 260, 260, 260, 246, 246, 0, 246,
+ 0, 0, 0, 0, 0, 76, 76, 260, 260, 0,
+ 260, 251, 251, 0, 0, 251, 251, 251, 251, 251,
+ 251, 251, 247, 247, 0, 0, 247, 247, 247, 247,
+ 247, 246, 247, 251, 251, 0, 251, 0, 0, 0,
+ 0, 0, 260, 0, 247, 247, 0, 247, 239, 239,
+ 0, 0, 239, 239, 239, 239, 239, 239, 239, 214,
+ 214, 246, 0, 214, 214, 214, 214, 214, 214, 214,
+ 239, 239, 260, 239, 0, 0, 0, 0, 0, 247,
+ 0, 214, 214, 0, 214, 203, 203, 0, 0, 203,
+ 203, 203, 203, 203, 203, 203, 0, 0, 251, 0,
+ 0, 0, 0, 0, 0, 239, 0, 203, 203, 247,
+ 203, 0, 0, 261, 0, 0, 214, 261, 261, 261,
+ 261, 261, 261, 261, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 261, 261, 0, 261, 76,
+ 76, 0, 203, 0, 76, 76, 214, 0, 0, 0,
+ 0, 76, 0, 0, 0, 76, 76, 0, 76, 76,
+ 76, 76, 76, 76, 76, 0, 76, 0, 0, 0,
+ 261, 0, 203, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 0, 0, 0, 0, 0, 0, 0, 0,
+ 261, 0, 0, 0, 0, 0, 0, 240, 240, 0,
+ 246, 240, 240, 240, 240, 240, 240, 240, 0, 0,
+ 0, 260, 0, 0, 0, 0, 0, 0, 0, 240,
+ 240, 0, 240, 0, 0, 0, 0, 0, 0, 246,
+ 246, 246, 246, 246, 246, 246, 246, 251, 0, 0,
+ 260, 260, 260, 260, 260, 260, 260, 260, 247, 0,
+ 0, 0, 0, 0, 240, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 251, 251, 251, 251,
+ 251, 251, 251, 251, 239, 0, 0, 247, 247, 247,
+ 247, 247, 247, 247, 247, 214, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 239, 239, 239, 239, 239, 239, 239,
+ 239, 203, 0, 0, 214, 214, 214, 214, 214, 0,
+ 214, 214, 0, 0, 0, 0, 252, 252, 0, 0,
+ 252, 252, 252, 252, 252, 252, 252, 0, 0, 261,
+ 203, 203, 203, 203, 0, 203, 203, 203, 252, 252,
+ 0, 252, 0, 0, 215, 215, 0, 0, 215, 215,
+ 215, 215, 215, 215, 215, 0, 0, 0, 261, 261,
+ 261, 261, 261, 261, 261, 261, 215, 215, 0, 215,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 282, 282, 0, 0, 282, 282, 0, 282,
+ 0, 282, 282, 0, 0, 0, 0, 0, 0, 0,
+ 0, 215, 0, 252, 282, 282, 0, 282, 0, 0,
+ 271, 271, 0, 0, 271, 271, 271, 271, 271, 271,
+ 271, 0, 1, 240, 0, 0, 0, 0, 49, 0,
+ 0, 215, 271, 271, 5, 271, 0, 0, 0, 282,
+ 0, 7, 8, 9, 0, 0, 50, 0, 0, 13,
+ 0, 0, 240, 240, 240, 240, 240, 240, 240, 240,
+ 0, 0, 0, 0, 0, 0, 0, 271, 222, 282,
+ 272, 272, 0, 0, 272, 272, 272, 272, 272, 272,
+ 272, 274, 274, 0, 0, 274, 274, 274, 274, 274,
+ 274, 274, 272, 272, 0, 272, 0, 271, 76, 0,
+ 0, 0, 0, 274, 275, 275, 0, 0, 275, 275,
+ 275, 275, 275, 275, 275, 0, 1, 0, 0, 0,
+ 0, 0, 4, 0, 0, 0, 275, 272, 5, 0,
+ 0, 0, 0, 0, 0, 7, 8, 9, 274, 0,
+ 12, 0, 283, 13, 0, 283, 0, 283, 283, 283,
+ 283, 0, 252, 0, 0, 0, 0, 272, 0, 0,
+ 0, 275, 0, 283, 283, 0, 283, 0, 274, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 215, 252, 252, 252, 252, 252, 252, 252, 252, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 283, 284,
+ 0, 0, 284, 0, 284, 284, 284, 284, 0, 215,
+ 215, 215, 215, 215, 0, 215, 215, 0, 282, 285,
+ 284, 284, 285, 284, 285, 285, 285, 285, 283, 0,
+ 0, 92, 0, 0, 0, 0, 0, 0, 0, 0,
+ 285, 285, 0, 285, 0, 0, 271, 282, 282, 282,
+ 282, 282, 282, 282, 282, 284, 0, 0, 0, 0,
+ 0, 257, 257, 0, 0, 257, 257, 257, 257, 257,
+ 257, 257, 0, 0, 0, 285, 271, 271, 0, 271,
+ 271, 271, 271, 257, 257, 284, 257, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 93, 0, 0, 0,
+ 0, 0, 0, 0, 0, 285, 272, 0, 76, 0,
+ 0, 0, 0, 0, 168, 247, 247, 0, 257, 0,
+ 0, 222, 222, 222, 222, 0, 0, 0, 222, 0,
+ 0, 0, 0, 168, 0, 0, 272, 272, 0, 272,
+ 272, 272, 272, 0, 0, 0, 274, 0, 257, 274,
+ 274, 274, 274, 274, 0, 0, 0, 0, 0, 214,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
+ 0, 0, 275, 275, 275, 275, 275, 283, 212, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 365, 366,
+ 0, 0, 0, 0, 0, 0, 0, 168, 0, 168,
+ 0, 0, 0, 0, 0, 0, 283, 283, 283, 283,
+ 283, 283, 283, 283, 0, 0, 214, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
+ 0, 0, 0, 3, 284, 212, 0, 0, 0, 0,
+ 5, 0, 144, 0, 213, 6, 0, 7, 8, 9,
+ 0, 0, 0, 0, 285, 89, 0, 0, 0, 0,
+ 0, 0, 90, 284, 284, 284, 284, 284, 284, 284,
+ 284, 0, 91, 214, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 285, 285, 285, 285, 285, 285, 285,
+ 285, 0, 212, 0, 0, 0, 0, 257, 0, 144,
+ 0, 306, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 214, 0,
+ 0, 0, 0, 0, 0, 0, 257, 257, 257, 257,
+ 257, 257, 168, 0, 0, 0, 168, 212, 0, 0,
+ 0, 200, 0, 0, 0, 168, 168, 0, 168, 0,
+ 0, 0, 0, 0, 0, 0, 144, 168, 324, 0,
+ 0, 168, 0, 0, 0, 0, 168, 168, 168, 168,
+ 168, 168, 168, 168, 168, 168, 0, 2, 0, 214,
+ 0, 3, 168, 168, 0, 0, 0, 0, 0, 0,
+ 196, 197, 0, 6, 0, 0, 0, 0, 212, 446,
+ 450, 144, 198, 377, 0, 0, 199, 0, 0, 0,
+ 456, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 209, 0, 0, 214, 0, 0, 0, 210, 211, 467,
+ 468, 0, 470, 0, 2, 0, 0, 476, 3, 0,
+ 0, 477, 212, 478, 479, 0, 0, 196, 197, 0,
+ 6, 0, 483, 446, 450, 0, 0, 0, 476, 198,
+ 0, 0, 144, 305, 378, 0, 0, 0, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 0, 214,
+ 0, 0, 0, 0, 210, 211, 0, 0, 92, 0,
+ 0, 2, 0, 0, 0, 3, 0, 0, 212, 0,
+ 0, 0, 0, 0, 196, 197, 144, 6, 422, 0,
+ 0, 0, 0, 0, 0, 0, 198, 0, 0, 214,
+ 199, 0, 0, 0, 0, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209, 0, 2, 0, 212, 0,
+ 3, 210, 211, 0, 0, 0, 0, 0, 0, 196,
+ 197, 0, 6, 121, 0, 0, 0, 0, 0, 0,
+ 0, 198, 144, 0, 0, 199, 0, 0, 0, 0,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 0, 147, 0, 0, 92, 152, 210, 211, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2, 166, 171,
+ 0, 3, 144, 0, 0, 0, 0, 0, 0, 0,
+ 196, 197, 0, 6, 0, 0, 0, 152, 0, 166,
+ 171, 0, 198, 0, 92, 0, 199, 0, 0, 0,
+ 0, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 209, 2, 255, 0, 256, 3, 0, 210, 211, 158,
+ 0, 0, 92, 0, 196, 197, 0, 6, 0, 0,
+ 298, 0, 0, 302, 0, 0, 198, 0, 0, 0,
+ 199, 0, 256, 0, 302, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209, 1, 2, 61, 0, 179,
+ 3, 210, 211, 0, 0, 0, 0, 5, 0, 0,
+ 0, 0, 6, 0, 7, 8, 9, 0, 0, 0,
+ 196, 443, 13, 0, 0, 0, 0, 0, 0, 90,
+ 0, 0, 198, 0, 0, 0, 199, 0, 0, 120,
+ 0, 444, 201, 202, 203, 204, 205, 206, 207, 208,
+ 14, 0, 0, 0, 0, 0, 0, 210, 211, 0,
+ 196, 197, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 198, 0, 0, 0, 199, 0, 0, 0,
+ 0, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 14, 1, 2, 0, 0, 0, 3, 210, 211, 0,
+ 372, 373, 0, 5, 0, 0, 0, 0, 6, 0,
+ 7, 8, 9, 0, 0, 0, 0, 0, 89, 0,
+ 0, 0, 0, 0, 0, 90, 0, 0, 0, 0,
+ 0, 1, 2, 0, 0, 91, 3, 0, 0, 0,
+ 0, 0, 0, 5, 0, 0, 0, 0, 6, 0,
+ 7, 8, 9, 0, 0, 0, 0, 0, 13, 1,
+ 2, 0, 0, 0, 3, 90, 0, 0, 0, 0,
+ 0, 5, 0, 0, 0, 120, 6, 0, 7, 8,
+ 9, 0, 0, 0, 0, 0, 13, 0, 0, 0,
+ 0, 0, 0, 169, 61, 61, 0, 0, 0, 61,
+ 0, 0, 0, 120, 0, 0, 61, 0, 0, 0,
+ 0, 61, 0, 61, 61, 61, 0, 0, 0, 0,
+ 0, 61, 0, 0, 1, 2, 0, 0, 61, 3,
+ 4, 0, 0, 0, 0, 0, 5, 0, 61, 0,
+ 0, 6, 0, 7, 8, 9, 10, 11, 12, 0,
+ 0, 13, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 14,
};
- protected short yyCheck[] = new short[2927];
+ protected short yyCheck[] = new short[2830];
}
class yyCheck0 {
- protected static final short yyCheck0 [] = { 10,
- 11, 91, 42, 59, 55, 56, 86, 159, 137, 41,
- 40, 41, 170, 93, 44, 66, 46, 152, 0, 214,
- 44, 60, 123, 41, 59, 27, 123, 144, 123, 59,
- 60, 61, 89, 46, 123, 59, 60, 61, 123, 191,
- 44, 37, 38, 160, 26, 41, 42, 43, 44, 45,
- 46, 47, 91, 46, 59, 203, 204, 57, 44, 41,
- 111, 91, 59, 59, 44, 47, 59, 91, 59, 301,
- 59, 41, 66, 55, 56, 57, 140, 128, 44, 40,
- 308, 309, 62, 59, 66, 67, 75, 60, 20, 62,
- 207, 301, 57, 59, 140, 61, 96, 59, 94, 60,
- 41, 152, 59, 105, 104, 300, 170, 67, 61, 91,
- 59, 259, 260, 261, 96, 44, 59, 111, 123, 123,
- 52, 91, 257, 105, 170, 127, 123, 244, 124, 111,
- 59, 96, 123, 140, 128, 59, 60, 123, 120, 104,
- 59, 258, 124, 301, 133, 127, 128, 123, 130, 149,
- 214, 75, 69, 305, 306, 137, 156, 309, 140, 76,
- 120, 123, 144, 170, 59, 59, 123, 268, 214, 321,
- 152, 268, 369, 44, 123, 304, 40, 372, 160, 268,
- 123, 282, 301, 268, 166, 282, 110, 282, 170, 104,
- 247, 62, 203, 204, 140, 392, 44, 61, 346, 347,
- 348, 44, 44, 168, 123, 340, 257, 214, 60, 133,
- 134, 301, 40, 44, 62, 91, 59, 334, 46, 136,
- 62, 373, 351, 375, 170, 207, 258, 424, 123, 123,
- 262, 62, 214, 61, 149, 144, 300, 301, 91, 44,
- 258, 321, 274, 420, 262, 393, 60, 212, 259, 260,
- 261, 160, 308, 309, 300, 301, 274, 62, 40, 183,
- 140, 301, 301, 91, 46, 417, 59, 419, 214, 301,
- 422, 301, 46, 308, 309, 257, 258, 301, 308, 309,
- 93, 433, 434, 301, 314, 315, 316, 317, 46, 340,
- 170, 321, 60, 300, 301, 308, 309, 474, 475, 140,
- 273, 59, 479, 455, 456, 457, 302, 93, 372, 305,
- 306, 307, 308, 309, 57, 308, 309, 258, 300, 301,
- 41, 262, 304, 44, 67, 44, 372, 301, 67, 170,
- 303, 304, 301, 274, 214, 346, 347, 348, 349, 350,
- 59, 352, 353, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 334, 96, 300, 301, 420, 421, 340, 46,
- 301, 314, 315, 316, 317, 372, 105, 431, 321, 351,
- 20, 268, 59, 214, 420, 421, 140, 120, 44, 258,
- 30, 120, 393, 262, 29, 431, 450, 451, 127, 453,
- 372, 474, 475, 59, 458, 274, 479, 123, 462, 44,
- 464, 465, 52, 301, 450, 451, 170, 453, 53, 473,
- 474, 475, 458, 420, 421, 479, 462, 40, 464, 465,
- 300, 301, 301, 289, 431, 37, 372, 473, 474, 475,
- 42, 59, 77, 479, 302, 47, 258, 305, 41, 41,
- 262, 44, 44, 450, 451, 41, 453, 61, 44, 123,
- 214, 458, 274, 41, 301, 462, 44, 464, 465, 300,
- 301, 352, 353, 354, 355, 59, 473, 474, 475, 291,
- 356, 357, 479, 301, 420, 421, 349, 350, 258, 301,
- 308, 309, 262, 301, 59, 431, 314, 315, 316, 317,
- 301, 33, 372, 321, 274, 38, 41, 41, 40, 44,
- 44, 43, 40, 45, 450, 451, 258, 453, 40, 40,
- 262, 291, 458, 43, 329, 45, 462, 59, 464, 465,
- 44, 301, 274, 59, 143, 46, 59, 473, 474, 475,
- 59, 372, 44, 479, 38, 33, 300, 301, 94, 124,
- 420, 421, 40, 162, 307, 43, 306, 45, 167, 301,
- 40, 431, 33, 59, 301, 40, 59, 41, 41, 40,
- 41, 59, 43, 40, 45, 59, 59, 59, 59, 41,
- 450, 451, 0, 453, 40, 40, 267, 59, 458, 420,
- 421, 41, 462, 41, 464, 465, 41, 41, 41, 267,
- 431, 0, 0, 473, 474, 475, 0, 0, 26, 479,
- 59, 301, 59, 59, 47, 120, 48, 96, 372, 450,
- 451, 49, 453, 41, 30, 33, 258, 458, 334, 47,
- 358, 462, 40, 464, 465, 43, 75, 45, 76, 57,
- 249, 250, 473, 474, 475, 359, 361, 360, 479, 67,
- 362, 138, 332, 332, 65, -1, 169, -1, -1, -1,
- -1, -1, -1, 105, 33, -1, 420, 421, -1, -1,
- -1, 40, 41, 91, 43, -1, 45, 431, 96, -1,
- -1, 33, 291, -1, -1, -1, 295, 105, 40, -1,
- -1, 43, -1, 45, -1, -1, 450, 451, -1, 453,
- -1, -1, 120, -1, 458, -1, 124, 59, 462, 127,
- 464, 465, 130, -1, -1, 123, -1, -1, -1, 473,
- 474, 475, -1, -1, -1, 479, 144, 37, 38, -1,
- -1, 41, 42, 43, 44, 45, -1, 47, -1, -1,
- -1, -1, 160, 275, -1, -1, -1, -1, 166, 59,
- 60, 61, 62, -1, -1, 287, 365, 366, -1, -1,
- -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- -1, 33, -1, -1, -1, -1, 308, 309, 40, 41,
- -1, 43, -1, 45, 94, -1, -1, 275, 33, 207,
- -1, -1, -1, -1, -1, 40, 41, -1, 43, 287,
+ protected static final short yyCheck0 [] = { 46,
+ 0, 42, 144, 59, 63, 123, 46, 89, 123, 156,
+ 10, 11, 56, 57, 96, 132, 133, 41, 61, 59,
+ 92, 123, 66, 41, 141, 174, 220, 46, 28, 46,
+ 37, 38, 174, 123, 41, 42, 43, 44, 45, 46,
+ 47, 60, 58, 60, 44, 44, 123, 58, 48, 107,
+ 41, 67, 59, 301, 69, 67, 56, 57, 58, 41,
+ 44, 0, 46, 59, 79, 46, 66, 67, 29, 21,
+ 114, 59, 91, 44, 91, 59, 60, 61, 220, 60,
+ 60, 59, 59, 99, 301, 59, 130, 94, 99, 28,
+ 66, 144, 308, 309, 94, 153, 107, 40, 78, 99,
+ 91, 53, 58, 268, 301, 44, 122, 91, 108, 48,
+ 122, 148, 156, 307, 114, 59, 263, 124, 61, 58,
+ 285, 174, 122, 148, 123, 140, 126, 164, 67, 129,
+ 130, 91, 132, 133, 134, 123, 91, 59, 114, 164,
+ 60, 141, 144, 99, 144, 123, 123, 108, 148, 123,
+ 268, 107, 123, 268, 130, 94, 156, 137, 59, 308,
+ 99, 172, 59, 46, 164, 307, 308, 220, 129, 108,
+ 170, 60, 174, 62, 174, 59, 59, 214, 268, 123,
+ 282, 253, 144, 122, 59, 379, 41, 126, 59, 44,
+ 129, 268, 282, 44, 311, 134, 40, 153, 46, 258,
+ 347, 123, 46, 262, 160, 282, 59, 218, 59, 148,
+ 210, 211, 174, 250, 214, 274, 60, 144, 220, 263,
+ 220, 302, 123, 40, 305, 164, 123, 264, 44, 46,
+ 60, 170, 301, 44, 258, 427, 376, 379, 262, 123,
+ 258, 358, 301, 59, 262, 61, 328, 174, 123, 301,
+ 274, 62, 308, 309, 307, 308, 274, 144, 220, 399,
+ 301, 308, 309, 263, 264, 265, 266, 267, 308, 309,
+ 123, 314, 315, 316, 317, 214, 258, 301, 321, 43,
+ 262, 45, 301, 301, 301, 427, 428, 174, 93, 481,
+ 482, 431, 274, 220, 486, 302, 438, 163, 305, 306,
+ 307, 308, 309, 347, 341, 307, 308, 307, 308, 93,
+ 21, 311, 308, 309, 268, 457, 458, 301, 460, 301,
+ 44, 32, 144, 465, 123, 264, 379, 469, 44, 471,
+ 472, 67, 198, 220, 44, 59, 301, 58, 480, 481,
+ 482, 341, 53, 59, 486, 307, 308, 347, 41, 59,
+ 40, 44, 174, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 44, 44, 108, 44, 427, 428, 289, 379, 99, 379,
+ 307, 308, 59, 31, 273, 438, 122, 108, 62, 62,
+ 44, 62, 44, 129, 42, 44, 46, 61, 220, 40,
+ 400, 301, 341, 123, 457, 458, 54, 460, 62, 59,
+ 62, 301, 465, 62, 303, 304, 469, 379, 471, 472,
+ 307, 308, 356, 357, 59, 427, 428, 480, 481, 482,
+ 33, 41, 80, 486, 44, 59, 438, 40, 41, 301,
+ 43, 38, 45, 44, 258, 258, 312, 313, 262, 262,
+ 316, 40, 379, 40, 41, 457, 458, 44, 460, 46,
+ 274, 274, 328, 465, 40, 427, 428, 469, 41, 471,
+ 472, 44, 59, 60, 61, 40, 438, 291, 480, 481,
+ 482, 363, 364, 329, 486, 307, 308, 301, 301, 37,
+ 41, 59, 379, 44, 42, 457, 458, 46, 460, 47,
+ 427, 428, 59, 465, 91, 33, 59, 469, 44, 471,
+ 472, 438, 40, 41, 380, 43, 382, 45, 480, 481,
+ 482, 258, 33, 258, 486, 262, 38, 262, 94, 40,
+ 457, 458, 43, 460, 45, 307, 124, 274, 465, 274,
+ 427, 428, 469, 41, 471, 472, 44, 41, 59, 306,
+ 44, 438, 40, 480, 481, 482, 291, 379, 424, 486,
+ 426, 301, 59, 429, 301, 40, 301, 59, 147, 41,
+ 457, 458, 41, 460, 440, 441, 33, 40, 465, 59,
+ 59, 59, 469, 40, 471, 472, 43, 166, 45, 59,
+ 41, 59, 171, 480, 481, 482, 462, 463, 464, 486,
+ 40, 40, 59, 33, 267, 427, 428, 481, 482, 41,
+ 40, 267, 486, 43, 41, 45, 438, 37, 38, 41,
+ 41, 41, 42, 43, 44, 45, 41, 47, 0, 59,
+ 359, 360, 361, 362, 0, 457, 458, 0, 460, 59,
+ 60, 61, 62, 465, 0, 59, 59, 469, 59, 471,
+ 472, 48, 50, 49, 301, 122, 33, 99, 480, 481,
+ 482, 32, 78, 40, 486, 264, 43, 79, 45, 210,
+ 211, 341, 275, 33, 94, 366, 255, 256, 365, 367,
+ 40, 41, 368, 43, 287, 45, 369, 142, 339, 65,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 339,
+ 33, 108, 173, 134, 124, 308, 309, 40, 41, -1,
+ 43, -1, 45, -1, 301, -1, -1, -1, -1, 298,
+ -1, 308, 309, 302, 265, 266, 267, 314, 315, 316,
+ 317, 33, -1, -1, 321, -1, -1, -1, 40, -1,
+ -1, 43, -1, 45, -1, -1, 123, 275, 33, -1,
+ -1, -1, -1, -1, -1, 40, 41, 59, 43, 287,
45, -1, -1, -1, 275, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, 124, -1, 287, -1, -1, -1,
+ 298, 299, 300, 301, -1, -1, 287, -1, -1, -1,
308, 309, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, -1, 33, -1, -1, -1, -1, 308, 309, 40,
- 258, -1, 43, -1, 45, -1, -1, -1, -1, 33,
- -1, -1, -1, -1, -1, -1, 40, 41, 59, 43,
- -1, 45, -1, -1, -1, -1, 33, 275, -1, -1,
- -1, -1, -1, 40, -1, -1, 43, -1, 45, 287,
- -1, -1, -1, -1, -1, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, -1, 33, -1, -1, -1, -1,
- 308, 309, 40, 41, -1, 43, 275, 45, -1, -1,
- -1, -1, -1, -1, -1, -1, 334, -1, 287, -1,
- -1, -1, -1, 275, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, -1, -1, 287, -1, -1, -1, 308,
- 309, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- -1, -1, 33, -1, -1, -1, 308, 309, -1, 40,
- 41, -1, 43, 273, 45, -1, -1, -1, -1, 33,
- -1, -1, -1, -1, -1, -1, 40, 41, -1, 43,
- -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 302, 303, 304, 305, 306, 307, 308, 309,
- -1, -1, -1, -1, 314, 315, 316, 317, 33, -1,
+ 301, -1, 33, 372, 373, -1, -1, 308, 309, 40,
+ 41, -1, 43, -1, 45, -1, -1, 44, -1, 33,
+ -1, -1, 353, 354, 355, -1, 40, 41, 275, 43,
+ -1, 45, -1, -1, -1, 62, -1, -1, 60, 61,
+ 287, -1, -1, -1, -1, -1, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 275, 78, -1, 33, -1,
+ -1, 308, 309, 273, -1, 40, 41, 287, 43, 400,
+ 45, -1, -1, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, -1, -1, -1, -1, -1, -1, 308, 309,
+ -1, 113, 302, 303, 304, 305, 306, 307, 308, 309,
+ -1, -1, 33, -1, 314, 315, 316, 317, 275, 40,
+ -1, 321, 43, -1, 45, 137, 138, 44, -1, -1,
+ 287, -1, -1, -1, -1, 275, 293, 294, 295, 296,
+ 297, 298, 299, 300, 301, 62, -1, 287, -1, -1,
+ -1, 308, 309, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 275, 33, -1, -1, -1, -1, 308, 309,
+ 40, -1, -1, 43, 287, 45, -1, -1, 190, -1,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
+ -1, -1, -1, 275, -1, 308, 309, -1, -1, -1,
+ -1, -1, -1, -1, -1, 287, -1, -1, -1, -1,
+ 275, 293, 294, 295, 296, 297, 298, 299, 300, 301,
};
}
class yyCheck1 {
protected static final short yyCheck1 [] = { -1,
- 321, -1, 275, -1, 40, -1, -1, 43, -1, 45,
- -1, -1, -1, -1, 287, -1, -1, -1, -1, 275,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
-1, 287, -1, -1, -1, 308, 309, 293, 294, 295,
- 296, 297, 298, 299, 300, 301, -1, -1, -1, -1,
- -1, -1, 308, 309, 37, 38, -1, -1, 41, 42,
- 43, 44, 45, 275, 47, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 287, 59, 60, -1, 62,
+ 296, 297, 298, 299, 300, 301, -1, -1, -1, 257,
+ 258, -1, 308, 309, 262, 263, -1, -1, -1, -1,
+ -1, 269, -1, 275, -1, -1, 274, -1, 276, 277,
+ 278, 279, 280, 281, -1, 287, 284, -1, -1, -1,
275, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- -1, -1, 287, -1, -1, -1, 308, 309, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, -1, -1, 287,
- -1, 94, -1, 308, 309, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, -1, -1, 275, -1, -1, -1,
- 308, 309, -1, -1, -1, -1, -1, -1, 287, -1,
- -1, 124, -1, -1, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, -1, -1, -1, -1, 37, -1, 308,
- 309, 41, 42, 43, 44, 45, 46, 47, 37, 38,
- -1, -1, 41, 42, 43, 44, 45, 46, 47, 59,
- 60, -1, 62, 275, -1, -1, -1, -1, -1, -1,
- 59, 60, -1, 62, -1, 287, -1, -1, -1, -1,
- 275, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- -1, -1, 287, -1, 94, -1, 308, 309, 293, 294,
+ -1, -1, 287, 301, -1, -1, 308, 309, 293, 294,
295, 296, 297, 298, 299, 300, 301, -1, -1, 257,
-1, -1, -1, 308, 309, 263, -1, -1, -1, 275,
- -1, 269, -1, -1, 124, -1, -1, -1, 276, 277,
- 278, 287, 280, 281, -1, 124, 284, 293, 294, 295,
- 296, 297, 298, 299, 300, 301, -1, -1, -1, -1,
- -1, -1, 308, 309, 37, 38, -1, 40, 41, 42,
- 43, 44, 45, 46, 47, -1, -1, -1, 257, 258,
- 273, -1, -1, 262, 263, -1, 59, -1, -1, 62,
- 269, -1, -1, -1, -1, 274, -1, 276, 277, 278,
- 279, 280, 281, -1, -1, 284, -1, -1, -1, 302,
- 303, 304, 305, 306, 307, 308, 309, -1, 91, 37,
- 38, 94, 301, 41, 42, 43, 44, 45, 46, 47,
- -1, -1, -1, 257, -1, -1, -1, -1, -1, 263,
- -1, 59, 60, -1, 62, 269, -1, -1, -1, -1,
- 123, 124, 276, 277, 278, -1, -1, 281, -1, -1,
- 284, -1, -1, 37, 38, -1, -1, 41, 42, 43,
- 44, 45, 46, 47, -1, -1, 94, -1, -1, -1,
- -1, 257, -1, 273, -1, 59, 60, 263, 62, -1,
- -1, -1, -1, 269, 273, -1, -1, -1, -1, -1,
- 276, 277, 278, -1, -1, 281, -1, -1, 284, -1,
+ -1, 269, -1, -1, -1, -1, -1, -1, 276, 277,
+ 278, 287, 280, 281, -1, -1, 284, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, -1, -1, -1, 257,
+ 258, -1, 308, 309, 262, 263, -1, -1, -1, -1,
+ -1, 269, -1, 275, -1, -1, 274, -1, 276, 277,
+ 278, 279, 280, 281, -1, 287, 284, -1, -1, -1,
+ -1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ -1, -1, -1, 301, -1, -1, 308, 309, 37, 38,
+ -1, 40, 41, 42, 43, 44, 45, -1, 47, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 59, -1, -1, 62, -1, -1, 287, -1, -1, -1,
+ -1, -1, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, -1, -1, -1, -1, -1, -1, 308, 309, -1,
+ -1, -1, 91, 37, 38, 94, -1, 41, 42, 43,
+ 44, 45, -1, 47, 37, -1, -1, -1, 41, 42,
+ 43, 44, 45, 46, 47, 59, 60, -1, 62, -1,
+ -1, -1, -1, -1, 123, 124, 59, 60, -1, 62,
+ 37, 38, -1, -1, 41, 42, 43, 44, 45, 46,
+ 47, 37, 38, -1, -1, 41, 42, 43, 44, 45,
+ 94, 47, 59, 60, -1, 62, -1, -1, -1, -1,
+ -1, 94, -1, 59, 60, -1, 62, 37, 38, -1,
+ -1, 41, 42, 43, 44, 45, 46, 47, 37, 38,
+ 124, -1, 41, 42, 43, 44, 45, 46, 47, 59,
+ 60, 124, 62, -1, -1, -1, -1, -1, 94, -1,
+ 59, 60, -1, 62, 37, 38, -1, -1, 41, 42,
+ 43, 44, 45, 46, 47, -1, -1, 124, -1, -1,
+ -1, -1, -1, -1, 94, -1, 59, 60, 124, 62,
+ -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, 257, 258,
+ -1, 94, -1, 262, 263, 124, -1, -1, -1, -1,
+ 269, -1, -1, -1, 273, 274, -1, 276, 277, 278,
+ 279, 280, 281, 282, -1, 284, -1, -1, -1, 94,
+ -1, 124, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 301, 302, 303, 304, 305, 306, 307, 308,
+ 309, -1, -1, -1, -1, -1, -1, -1, -1, 124,
+ -1, -1, -1, -1, -1, -1, 37, 38, -1, 273,
+ 41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
+ 273, -1, -1, -1, -1, -1, -1, -1, 59, 60,
+ -1, 62, -1, -1, -1, -1, -1, -1, 302, 303,
+ 304, 305, 306, 307, 308, 309, 273, -1, -1, 302,
+ 303, 304, 305, 306, 307, 308, 309, 273, -1, -1,
+ -1, -1, -1, 94, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 302, 303, 304, 305, 306,
+ 307, 308, 309, 273, -1, -1, 302, 303, 304, 305,
+ 306, 307, 308, 309, 273, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 302, 303, 304, 305, 306, 307, 308, 309,
- 94, -1, -1, 302, 303, 304, 305, 306, 307, 308,
- 309, 37, 38, -1, -1, 41, 42, 43, 44, 45,
+ 273, -1, -1, 302, 303, 304, 305, 306, -1, 308,
+ 309, -1, -1, -1, -1, 37, 38, -1, -1, 41,
+ 42, 43, 44, 45, 46, 47, -1, -1, 273, 302,
+ 303, 304, 305, -1, 307, 308, 309, 59, 60, -1,
+ 62, -1, -1, 37, 38, -1, -1, 41, 42, 43,
+ 44, 45, 46, 47, -1, -1, -1, 302, 303, 304,
+ 305, 306, 307, 308, 309, 59, 60, -1, 62, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 37, 38, -1, -1, 41, 42, -1, 44, -1,
46, 47, -1, -1, -1, -1, -1, -1, -1, -1,
- 124, -1, -1, 59, 60, -1, 62, 37, 38, -1,
- -1, 41, 42, 43, 44, 45, -1, 47, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
- 60, -1, 62, -1, 257, 258, -1, -1, 94, 262,
- 263, -1, -1, -1, -1, -1, 269, -1, -1, -1,
- 273, 274, -1, 276, 277, 278, 279, 280, 281, 282,
- -1, 284, -1, -1, 94, 37, -1, -1, 124, 41,
- 42, 43, 44, 45, 46, 47, -1, -1, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 59, 60, -1,
- 62, 37, 38, -1, 124, 41, 42, 43, 44, 45,
- 46, 47, 37, 38, -1, 273, 41, 42, 43, 44,
- 45, 46, 47, 59, 60, -1, 62, -1, -1, -1,
- -1, -1, 94, -1, 59, 60, -1, 62, -1, -1,
- -1, -1, -1, -1, 302, 303, 304, 305, 306, 307,
- 308, 309, -1, -1, -1, -1, -1, -1, 94, 273,
- 37, 38, 124, -1, 41, 42, 43, 44, 45, 46,
- 47, -1, -1, -1, -1, -1, -1, -1, -1, 44,
- -1, -1, 59, 60, -1, 62, -1, -1, 302, 303,
- 304, 305, 306, -1, 308, 309, -1, 62, -1, 124,
- -1, -1, -1, 37, 38, -1, -1, 41, 42, -1,
- 44, -1, 46, 47, 37, 38, -1, 94, 41, 42,
- 43, 44, 45, 46, 47, 59, 60, 273, 62, -1,
- -1, -1, -1, -1, -1, -1, 59, 60, -1, 62,
- -1, -1, -1, -1, -1, -1, -1, 124, -1, -1,
- -1, -1, -1, 273, -1, -1, 302, 303, 304, 305,
- 94, 307, 308, 309, -1, -1, -1, -1, -1, 37,
- 38, 94, -1, 41, 42, 43, 44, 45, 46, 47,
- -1, -1, 302, 303, 304, 305, 306, 307, 308, 309,
- 124, 59, 60, -1, 62, -1, -1, -1, 37, 38,
- -1, 124, 41, 42, 43, 44, 45, 46, 47, 38,
- -1, 273, 41, -1, 43, 44, 45, 46, -1, -1,
- 59, -1, -1, -1, -1, -1, 94, -1, -1, -1,
- 59, 60, -1, 62, -1, -1, -1, 273, -1, -1,
- 302, 303, 304, 305, 306, 307, 308, 309, 273, -1,
- -1, -1, -1, 37, 38, 94, 124, 41, 42, 43,
- 44, 45, 46, 47, -1, 94, 302, 303, 304, 305,
- 306, 307, 308, 309, -1, 59, -1, 302, 303, 304,
- 305, 306, 307, 308, 309, 124, -1, -1, -1, -1,
- -1, -1, 257, 258, -1, 124, 273, 262, 263, -1,
- -1, -1, -1, -1, 269, -1, -1, -1, -1, 274,
- 94, 276, 277, 278, 279, 280, 281, -1, -1, 284,
- -1, -1, -1, 40, -1, 302, 303, 304, 305, 306,
- -1, 308, 309, -1, -1, -1, 301, -1, 38, 273,
- 124, 41, 59, 43, 44, 45, 46, -1, -1, -1,
- 273, -1, -1, -1, -1, -1, -1, -1, -1, 59,
- 60, -1, 62, -1, -1, -1, -1, -1, 302, 303,
- 304, 305, 306, 307, 308, 309, -1, -1, -1, -1,
- 303, 304, -1, 306, 307, 308, 309, -1, -1, -1,
- -1, -1, -1, -1, 94, 38, -1, -1, 41, -1,
- 43, 44, 45, 46, -1, 273, 123, -1, 125, -1,
- -1, -1, -1, -1, -1, 60, 59, 60, -1, 62,
- -1, -1, -1, -1, 124, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 303, 304, -1, 306, 307,
- 308, 309, -1, -1, 273, -1, -1, -1, -1, -1,
+ 94, -1, 124, 59, 60, -1, 62, -1, -1, 37,
+ 38, -1, -1, 41, 42, 43, 44, 45, 46, 47,
+ -1, 257, 273, -1, -1, -1, -1, 263, -1, -1,
+ 124, 59, 60, 269, 62, -1, -1, -1, 94, -1,
+ 276, 277, 278, -1, -1, 281, -1, -1, 284, -1,
+ -1, 302, 303, 304, 305, 306, 307, 308, 309, -1,
+ -1, -1, -1, -1, -1, -1, 94, 61, 124, 37,
+ 38, -1, -1, 41, 42, 43, 44, 45, 46, 47,
+ 37, 38, -1, -1, 41, 42, 43, 44, 45, 46,
+ 47, 59, 60, -1, 62, -1, 124, 91, -1, -1,
+ -1, -1, 59, 37, 38, -1, -1, 41, 42, 43,
+ 44, 45, 46, 47, -1, 257, -1, -1, -1, -1,
+ -1, 263, -1, -1, -1, 59, 94, 269, -1, -1,
+ -1, -1, -1, -1, 276, 277, 278, 94, -1, 281,
+ -1, 38, 284, -1, 41, -1, 43, 44, 45, 46,
+ -1, 273, -1, -1, -1, -1, 124, -1, -1, -1,
+ 94, -1, 59, 60, -1, 62, -1, 124, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 273,
+ 302, 303, 304, 305, 306, 307, 308, 309, -1, -1,
+ 124, -1, -1, -1, -1, -1, -1, 94, 38, -1,
+ -1, 41, -1, 43, 44, 45, 46, -1, 302, 303,
+ 304, 305, 306, -1, 308, 309, -1, 273, 38, 59,
+ 60, 41, 62, 43, 44, 45, 46, 124, -1, -1,
+ 60, -1, -1, -1, -1, -1, -1, -1, -1, 59,
+ 60, -1, 62, -1, -1, 273, 302, 303, 304, 305,
+ 306, 307, 308, 309, 94, -1, -1, -1, -1, -1,
+ 37, 38, -1, -1, 41, 42, 43, 44, 45, 46,
+ 47, -1, -1, -1, 94, 303, 304, -1, 306, 307,
+ 308, 309, 59, 60, 124, 62, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
+ -1, -1, -1, -1, 124, 273, -1, 301, -1, -1,
+ -1, -1, -1, 40, 308, 309, -1, 94, -1, -1,
+ 314, 315, 316, 317, -1, -1, -1, 321, -1, -1,
};
}
class yyCheck2 {
protected static final short yyCheck2 [] = { -1,
- 94, 40, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 302, -1, -1, 305, 306, 307, 308, 309,
- 59, -1, 302, 303, 304, 305, 306, 307, 308, 309,
- 124, 37, 38, -1, -1, 41, 42, 43, 44, 45,
- 46, 47, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 59, 60, -1, 62, -1, -1, 40,
+ -1, 59, -1, -1, 303, 304, -1, 306, 307, 308,
+ 309, -1, -1, -1, 302, -1, 124, 305, 306, 307,
+ 308, 309, -1, -1, -1, -1, -1, 40, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 302, -1, -1,
- 305, 306, 307, 308, 309, -1, -1, -1, 59, -1,
- -1, -1, -1, -1, 123, -1, 125, -1, 94, -1,
- 258, -1, -1, -1, 262, -1, -1, -1, -1, 267,
- -1, -1, -1, 271, 272, -1, 274, -1, -1, -1,
- -1, -1, -1, -1, -1, 283, 40, -1, 124, 287,
- -1, -1, 273, -1, 292, 293, 294, 295, 296, 297,
- 298, 299, 300, 301, -1, 59, -1, -1, -1, -1,
- 308, 309, 123, -1, 125, -1, -1, -1, -1, -1,
+ 305, 306, 307, 308, 309, 273, 59, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 123, -1, 125, -1, -1,
+ -1, -1, -1, -1, 302, 303, 304, 305, 306, 307,
+ 308, 309, -1, -1, 40, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 257, 258, -1, -1,
+ -1, 262, 273, 59, -1, -1, -1, -1, 269, -1,
+ 123, -1, 125, 274, -1, 276, 277, 278, -1, -1,
+ -1, -1, 273, 284, -1, -1, -1, -1, -1, -1,
+ 291, 302, 303, 304, 305, 306, 307, 308, 309, -1,
+ 301, 40, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 302, 303, 304, 305, 306, 307, 308, 309, -1,
- -1, 257, 258, -1, 40, -1, 262, -1, -1, -1,
- -1, -1, -1, 269, -1, -1, -1, -1, 274, 273,
- 276, 277, 278, 59, -1, -1, -1, -1, 284, -1,
- -1, -1, -1, -1, -1, 291, -1, -1, -1, 123,
- -1, 125, -1, -1, -1, 301, -1, -1, 302, 303,
- 304, 305, 306, 307, 308, 309, -1, -1, -1, 258,
- 40, -1, -1, 262, -1, -1, -1, -1, -1, -1,
- -1, -1, 271, 272, -1, 274, -1, -1, -1, 59,
- -1, -1, -1, -1, 283, -1, -1, 123, 287, 125,
- -1, -1, -1, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, -1, -1, -1, -1, 273, 40, 308,
- 309, -1, -1, -1, -1, -1, -1, 258, -1, -1,
- -1, 262, -1, -1, -1, -1, -1, 59, -1, -1,
- 271, 272, -1, 274, -1, -1, 302, 303, 304, 305,
- 306, 307, 283, 123, -1, 125, 287, 40, -1, -1,
- -1, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, -1, -1, -1, -1, -1, 59, 308, 309, -1,
- -1, -1, -1, -1, 258, -1, -1, -1, 262, -1,
- -1, -1, -1, -1, -1, -1, 40, 271, 272, -1,
- 274, 123, -1, 125, -1, -1, -1, -1, -1, 283,
- -1, -1, -1, 287, -1, 59, -1, -1, 292, 293,
- 294, 295, 296, 297, 298, 299, 300, 301, -1, -1,
- -1, -1, 258, -1, 308, 309, 262, -1, -1, -1,
- 123, -1, -1, -1, -1, 271, 272, -1, 274, -1,
- -1, -1, -1, -1, -1, -1, -1, 283, 44, -1,
- -1, 287, -1, -1, -1, -1, 292, 293, 294, 295,
- 296, 297, 298, 299, 300, 301, 62, -1, -1, 123,
- -1, -1, 308, 309, -1, -1, -1, -1, 258, -1,
- -1, -1, 262, -1, -1, -1, -1, -1, -1, -1,
- -1, 271, 272, 60, 274, -1, -1, -1, -1, -1,
- -1, -1, -1, 283, -1, -1, -1, 287, -1, -1,
- -1, -1, 292, 293, 294, 295, 296, 297, 298, 299,
- 300, 301, -1, 60, -1, -1, 258, -1, 308, 309,
- 262, -1, -1, -1, -1, -1, -1, -1, -1, 271,
- 272, -1, 274, -1, -1, -1, -1, -1, -1, -1,
- -1, 283, -1, -1, 60, 287, -1, -1, 125, -1,
- 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
- -1, -1, -1, -1, -1, -1, 308, 309, 271, 272,
- -1, -1, -1, -1, 60, -1, -1, -1, 125, -1,
- 283, -1, -1, -1, 287, -1, -1, -1, -1, 292,
+ 59, -1, -1, -1, -1, 273, -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, -1, 302, 303, 304, 305, 306, 307,
+ 258, -1, -1, -1, 262, 59, -1, -1, -1, 267,
+ -1, -1, -1, 271, 272, -1, 274, -1, -1, -1,
+ -1, -1, -1, -1, 123, 283, 125, -1, -1, 287,
+ -1, -1, -1, -1, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, -1, 258, -1, 40, -1, 262,
+ 308, 309, -1, -1, -1, -1, -1, -1, 271, 272,
+ -1, 274, -1, -1, -1, -1, 59, 427, 428, 123,
+ 283, 125, -1, -1, 287, -1, -1, -1, 438, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
- -1, -1, 60, -1, -1, 308, 309, 271, 272, 125,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 283,
- -1, -1, -1, 287, -1, -1, -1, -1, 292, 293,
- 294, 295, 296, 297, 298, 299, 300, 301, -1, 125,
- -1, -1, -1, -1, 308, 309, -1, -1, -1, -1,
- -1, 257, 258, -1, -1, -1, 262, 263, -1, -1,
- -1, -1, -1, 269, -1, -1, -1, -1, 274, -1,
- 276, 277, 278, 279, 280, 281, -1, -1, 284, -1,
- 257, 258, -1, -1, -1, 262, -1, -1, -1, -1,
- -1, -1, 269, -1, -1, 301, -1, 274, -1, 276,
- 277, 278, -1, -1, -1, -1, -1, 284, -1, -1,
- 257, 258, -1, -1, 291, 262, -1, -1, -1, -1,
- -1, -1, 269, -1, 301, -1, -1, 274, -1, 276,
- 277, 278, -1, -1, -1, -1, -1, 284, -1, -1,
- -1, 257, 258, -1, 291, -1, 262, 87, -1, -1,
- -1, 91, -1, 269, 301, -1, -1, -1, 274, -1,
- 276, 277, 278, -1, 104, 105, -1, -1, 284, -1,
- -1, 257, 258, -1, -1, 291, 262, -1, -1, -1,
- -1, -1, -1, 269, 124, 301, 126, 127, 274, -1,
- 276, 277, 278, -1, -1, -1, -1, -1, 284, 257,
- 258, -1, -1, -1, 262, 291, -1, 147, -1, 149,
- -1, 269, -1, -1, -1, 301, 274, -1, 276, 277,
- 278, 420, 421, -1, -1, 165, 284, -1, 168, -1,
- -1, -1, 431, 291, -1, -1, -1, 177, -1, 179,
- -1, -1, -1, 301, -1, -1, -1, -1, -1, -1,
- -1, 450, 451, -1, 453, -1, -1, -1, -1, 458,
- -1, -1, -1, 462, -1, 464, 465, -1, -1, -1,
- -1, -1, -1, -1, 473, 474, 475, -1, -1, -1,
- 479, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 40, -1, -1, -1, 308, 309, 457, 458, -1,
+ 460, -1, 258, -1, -1, 465, 262, -1, -1, 469,
+ 59, 471, 472, -1, -1, 271, 272, -1, 274, -1,
+ 480, 481, 482, -1, -1, -1, 486, 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, -1, 60, -1, -1, 258,
+ -1, -1, -1, 262, -1, -1, 59, -1, -1, -1,
+ -1, -1, 271, 272, 123, 274, 125, -1, -1, -1,
+ -1, -1, -1, -1, 283, -1, -1, 40, 287, -1,
+ -1, -1, -1, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, -1, 258, -1, 59, -1, 262, 308,
+ 309, -1, -1, -1, -1, -1, -1, 271, 272, -1,
+ 274, 125, -1, -1, -1, -1, -1, -1, -1, 283,
+ 123, -1, -1, 287, -1, -1, -1, -1, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, -1, 90,
+ -1, -1, 60, 94, 308, 309, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 258, 107, 108, -1, 262,
+ 123, -1, -1, -1, -1, -1, -1, -1, 271, 272,
+ -1, 274, -1, -1, -1, 126, -1, 128, 129, -1,
+ 283, -1, 60, -1, 287, -1, -1, -1, -1, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 258,
+ 151, -1, 153, 262, -1, 308, 309, 125, -1, -1,
+ 60, -1, 271, 272, -1, 274, -1, -1, 169, -1,
+ -1, 172, -1, -1, 283, -1, -1, -1, 287, -1,
+ 181, -1, 183, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 257, 258, 60, -1, 125, 262, 308,
+ 309, -1, -1, -1, -1, 269, -1, -1, -1, -1,
+ 274, -1, 276, 277, 278, -1, -1, -1, 271, 272,
+ 284, -1, -1, -1, -1, -1, -1, 291, -1, -1,
+ 283, -1, -1, -1, 287, -1, -1, 301, -1, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
+ -1, -1, -1, -1, -1, 308, 309, -1, 271, 272,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 283, -1, -1, -1, 287, -1, -1, -1, -1, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 257,
+ 258, -1, -1, -1, 262, 308, 309, -1, 299, 300,
+ -1, 269, -1, -1, -1, -1, 274, -1, 276, 277,
+ 278, -1, -1, -1, -1, -1, 284, -1, -1, -1,
+ -1, -1, -1, 291, -1, -1, -1, -1, -1, 257,
+ 258, -1, -1, 301, 262, -1, -1, -1, -1, -1,
+ -1, 269, -1, -1, -1, -1, 274, -1, 276, 277,
+ 278, -1, -1, -1, -1, -1, 284, 257, 258, -1,
+ -1, -1, 262, 291, -1, -1, -1, -1, -1, 269,
+ -1, -1, -1, 301, 274, -1, 276, 277, 278, -1,
+ -1, -1, -1, -1, 284, -1, -1, -1, -1, -1,
+ -1, 291, 257, 258, -1, -1, -1, 262, -1, -1,
+ -1, 301, -1, -1, 269, -1, -1, -1, -1, 274,
+ -1, 276, 277, 278, -1, -1, -1, -1, -1, 284,
+ -1, -1, 257, 258, -1, -1, 291, 262, 263, -1,
+ -1, -1, -1, -1, 269, -1, 301, -1, -1, 274,
+ -1, 276, 277, 278, 279, 280, 281, -1, -1, 284,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 292, 293,
+ -1, -1, -1, -1, -1, -1, 301,
};
}
class yyCheckInit {
- static short[] yyCheck = new short[2927];
+ static short[] yyCheck = new short[2830];
protected static void yyCheckInit () {
int numyycheck;
int yyCheckerun = 0;
for (numyycheck = 0; numyycheck <= 1000; numyycheck++) {
- if (yyCheckerun < 2927) {
+ if (yyCheckerun < 2830) {
yyCheck[yyCheckerun] = yyCheck0.yyCheck0[numyycheck];
yyCheckerun++;
}
}
for (numyycheck = 0; numyycheck <= 1000; numyycheck++) {
- if (yyCheckerun < 2927) {
+ if (yyCheckerun < 2830) {
yyCheck[yyCheckerun] = yyCheck1.yyCheck1[numyycheck];
yyCheckerun++;
}
}
for (numyycheck = 0; numyycheck <= 1000; numyycheck++) {
- if (yyCheckerun < 2927) {
+ if (yyCheckerun < 2830) {
yyCheck[yyCheckerun] = yyCheck2.yyCheck2[numyycheck];
yyCheckerun++;
}
diff --git a/src/mycompiler/myparser/JavaParser.jay b/src/de/dhbwstuttgart/parser/JavaParser.jay
similarity index 94%
rename from src/mycompiler/myparser/JavaParser.jay
rename to src/de/dhbwstuttgart/parser/JavaParser.jay
index 042059fd9..f4490d4fc 100755
--- a/src/mycompiler/myparser/JavaParser.jay
+++ b/src/de/dhbwstuttgart/parser/JavaParser.jay
@@ -4,105 +4,25 @@
Backup von JavaParser.jay 10.April 17 Uhr
*/
-package mycompiler.myparser;
+package de.dhbwstuttgart.parser;
-import mycompiler.myclass.FieldDeclaration;
-import mycompiler.myclass.GenericDeclarationList;
-import mycompiler.myclass.Field;
+import de.dhbwstuttgart.core.AClassOrInterface;
+import de.dhbwstuttgart.syntaxtree.Class;
+import de.dhbwstuttgart.syntaxtree.ImportDeclarations;
+import de.dhbwstuttgart.syntaxtree.Interface;
+import de.dhbwstuttgart.syntaxtree.SourceFile;
+import de.dhbwstuttgart.syntaxtree.misc.UsedId;
+import de.dhbwstuttgart.typeinference.Pair;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.syntaxtree.type.Void;
+import de.dhbwstuttgart.*;
+import de.dhbwstuttgart.syntaxtree.*;
+import de.dhbwstuttgart.syntaxtree.misc.*;
+import de.dhbwstuttgart.syntaxtree.modifier.*;
+import de.dhbwstuttgart.syntaxtree.operator.*;
+import de.dhbwstuttgart.syntaxtree.type.*;
+import de.dhbwstuttgart.syntaxtree.statement.*;
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();
@@ -226,6 +146,7 @@ public Vector testPair = new Vector();
%type variabledeclarator
%type variabledeclaratorid
%type simplename
+%type typename
%type qualifiedname
%type importqualifiedname
%type importdeclaration
@@ -562,7 +483,7 @@ paralist : IDENTIFIER
ParaList pl = new ParaList();
/* #JB# 05.04.2005 */
/* ########################################################### */
- pl.getParalist().addElement(new GenericTypeVar($1.getLexem(), $1.getOffset()));
+ pl.getParalist().addElement(new GenericTypeVar($1.getLexem(),null, $1.getOffset()));
//pl.getParalist().addElement( new TypePlaceholder($1.getLexem()) );
/* ########################################################### */
org.apache.log4j.Logger.getLogger("parser").debug( "IDENTIFIER --> Paralist f�r " + $1.getLexem() + " TV");
@@ -588,7 +509,7 @@ paralist : IDENTIFIER
/* #JB# 05.04.2005 */
/* ########################################################### */
- $1.getParalist().addElement(new GenericTypeVar($3.getLexem(),$3.getOffset()));
+ $1.getParalist().addElement(new GenericTypeVar($3.getLexem(), null,$3.getOffset()));
//$1.getParalist().addElement(new TypePlaceholder($3.getLexem()));
/* ########################################################### */
org.apache.log4j.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER --> Paralist f�r " + $3.getLexem() + ": TV");
@@ -786,7 +707,8 @@ classbodydeclaration : classmemberdeclaration
$$=$1;
}
//*/
-classorinterfacetype : simplename parameter
+
+classorinterfacetype : name parameter
{
if ($2 != null) {
//$1.set_ParaList($2.get_ParaList());
@@ -808,11 +730,22 @@ typelist : type
$1.add($3);
$$=$1;
}
+ | typelist ',' wildcardparameter
+ {
+ $1.add($3);
+ $$=$1;
+ }
+ | wildcardparameter
+ {
+ Vector tl = new Vector();
+ tl.add($1);
+ $$ = tl;
+ }
/* PL 05-07-28 erg�nzt, weil jeder classorinterfacetype auch parametrisiert sein kann */
//TODO: Das hier ist möglicherweise falsch. Ein Typ hat keine parameterliste, nur eine Liste von RefTypes
parameter : { $$ = null; }
- | '<'typelist'>'//'<'paralist'>'//typelist statt
+ | '<' typelist '>' //'<'paralist'>'//typelist statt
{
$$ = $2;
}
@@ -1044,11 +977,11 @@ boundedClassParameters : boundedClassParameter
// returns GenericTypeVar
boundedMethodParameter : IDENTIFIER
{
- $$=new GenericTypeVar($1.getLexem(),$1.getOffset());
+ $$=new GenericTypeVar($1.getLexem(),null,$1.getOffset());
}
| IDENTIFIER EXTENDS boundedclassidentifierlist
{
- BoundedGenericTypeVar gtv=new BoundedGenericTypeVar($1.getLexem(), $3, $1.getOffset() ,$3.getEndOffset());
+ BoundedGenericTypeVar gtv=new BoundedGenericTypeVar($1.getLexem(), $3,null, $1.getOffset() ,$3.getEndOffset());
//gtv.setBounds($3);
$$=gtv;
}
@@ -1058,7 +991,7 @@ boundedclassidentifierlist : referencetype
Vector vec=new Vector();
vec.addElement($1);
containedTypes.addElement($1);
- $$=new BoundedClassIdentifierList(vec, $1.getOffset()+$1.getName().length());
+ $$=new BoundedClassIdentifierList(vec, $1.getOffset()+$1.getName().toString().length());
}
| boundedclassidentifierlist '&' referencetype
{
@@ -1357,6 +1290,28 @@ primitivetype :BOOLEAN
$$=$1;
}
+referencelongtype : typename parameter
+ {
+ if ($2 != null) {
+ //$1.set_ParaList($2.get_ParaList());
+ $1.set_ParaList($2);//Änderung von Andreas Stadelmeier. Type statt GenericVarType
+ /* otth: originale (also diese) Parameterliste retten */
+ //((UsedId)$1).vParaOrg = new Vector( $2.get_ParaList() );
+ }
+ UsedId uid = $1;
+ RefType RT = new RefType(uid.getOffset());
+
+ RT.set_ParaList(uid.get_RealParaList());
+ RT.setName(uid.getQualifiedName());
+
+
+ //PL 05-07-30 eingefuegt containedTypes ANFANG
+ containedTypes.addElement(RT);
+ //PL 05-07-30 eingefuegt containedTypes ENDE
+
+ $$=RT;
+ }
+
referencetype :classorinterfacetype
{
org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + $1);
@@ -1375,6 +1330,8 @@ referencetype :classorinterfacetype
$$=RT;
}
+
+
/* 05-07-28 PL Parameterdeklarationen zur classorinterfacetype verschoben */
variabledeclarator : variabledeclaratorid
diff --git a/bin/mycompiler/myparser/JavaParser_old.jay b/src/de/dhbwstuttgart/parser/JavaParser_old.jay
similarity index 100%
rename from bin/mycompiler/myparser/JavaParser_old.jay
rename to src/de/dhbwstuttgart/parser/JavaParser_old.jay
diff --git a/src/mycompiler/myparser/Scanner.java b/src/de/dhbwstuttgart/parser/Scanner.java
similarity index 97%
rename from src/mycompiler/myparser/Scanner.java
rename to src/de/dhbwstuttgart/parser/Scanner.java
index 95553520c..d8eef5c0f 100755
--- a/src/mycompiler/myparser/Scanner.java
+++ b/src/de/dhbwstuttgart/parser/Scanner.java
@@ -1,5 +1,5 @@
// ino.module.Scanner.8618.package
-package mycompiler.myparser;
+package de.dhbwstuttgart.parser;
// ino.end
// ino.class.Scanner.24842.declaration
public class Scanner extends JavaLexer implements JavaParser.yyInput
diff --git a/src/mycompiler/myparser/Token.java b/src/de/dhbwstuttgart/parser/Token.java
similarity index 99%
rename from src/mycompiler/myparser/Token.java
rename to src/de/dhbwstuttgart/parser/Token.java
index 3a7133bf4..a371818e8 100755
--- a/src/mycompiler/myparser/Token.java
+++ b/src/de/dhbwstuttgart/parser/Token.java
@@ -1,5 +1,5 @@
// ino.module.Token.8619.package
-package mycompiler.myparser;
+package de.dhbwstuttgart.parser;
// ino.end
// ino.class.Token.24859.declaration
public class Token
diff --git a/src/mycompiler/myclass/BasicAssumptionClass.java b/src/de/dhbwstuttgart/syntaxtree/BasicAssumptionClass.java
similarity index 89%
rename from src/mycompiler/myclass/BasicAssumptionClass.java
rename to src/de/dhbwstuttgart/syntaxtree/BasicAssumptionClass.java
index 0e392e65b..e6a319b7f 100755
--- a/src/mycompiler/myclass/BasicAssumptionClass.java
+++ b/src/de/dhbwstuttgart/syntaxtree/BasicAssumptionClass.java
@@ -1,10 +1,9 @@
// ino.module.BasicAssumptionClass.8552.package
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.BasicAssumptionClass.8552.import
-import mycompiler.mymodifier.Modifiers;
-// ino.end
+import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
// ino.class.BasicAssumptionClass.23000.declaration
public class BasicAssumptionClass extends Class
diff --git a/src/mycompiler/myclass/Class.java b/src/de/dhbwstuttgart/syntaxtree/Class.java
similarity index 80%
rename from src/mycompiler/myclass/Class.java
rename to src/de/dhbwstuttgart/syntaxtree/Class.java
index e589045ce..275666ddd 100755
--- a/src/mycompiler/myclass/Class.java
+++ b/src/de/dhbwstuttgart/syntaxtree/Class.java
@@ -1,5 +1,5 @@
// ino.module.Class.8553.package
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.Class.8553.import
import java.util.ArrayList;
@@ -9,81 +9,31 @@ import java.util.Hashtable;
import java.util.Iterator;
import java.util.Vector;
-import mycompiler.AClassOrInterface;
-import mycompiler.IItemWithOffset;
-import mycompiler.SyntaxTreeNode;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.myexception.CTypeReconstructionException;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.myexception.SCClassBodyException;
-import mycompiler.myexception.SCClassException;
-import mycompiler.myexception.SCExcept;
-import mycompiler.mymodifier.Modifiers;
-import mycompiler.mystatement.*;
-import mycompiler.mytype.GenericTypeVar;
-import mycompiler.mytype.Pair;
-import mycompiler.mytype.RefType;
-import mycompiler.mytype.SuperWildcardType;
-import mycompiler.mytype.Type;
-import mycompiler.mytype.TypePlaceholder;
-import mycompiler.mytype.WildcardType;
-import mycompiler.mytypereconstruction.CReconstructionTuple;
-import mycompiler.mytypereconstruction.CSubstitution;
-import mycompiler.mytypereconstruction.CSupportData;
-import mycompiler.mytypereconstruction.CTriple;
-import mycompiler.mytypereconstruction.TypeinferenceResultSet;
-import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent;
-import mycompiler.mytypereconstruction.set.CReconstructionTupleSet;
-import mycompiler.mytypereconstruction.set.CSubstitutionSet;
-import mycompiler.mytypereconstruction.set.CTripleSet;
-import mycompiler.mytypereconstruction.set.CTypeAssumptionSet;
-import mycompiler.mytypereconstruction.set.IHashSetKey;
-import mycompiler.mytypereconstruction.typeassumption.CInstVarTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CLocalVarTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CMethodTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CParaTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumptionkey.CMethodKey;
-import mycompiler.mytypereconstruction.unify.FC_TTO;
-import mycompiler.mytypereconstruction.unify.Unify;
-import mycompiler.SourceFile;
-
import org.apache.log4j.Logger;
-// ino.end
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+import de.dhbwstuttgart.core.AClassOrInterface;
+import de.dhbwstuttgart.core.IItemWithOffset;
+import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.syntaxtree.misc.UsedId;
+import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
+import de.dhbwstuttgart.syntaxtree.statement.Block;
+import de.dhbwstuttgart.syntaxtree.statement.Expr;
+import de.dhbwstuttgart.syntaxtree.statement.Statement;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.SuperWildcardType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
+import de.dhbwstuttgart.syntaxtree.type.WildcardType;
+import de.dhbwstuttgart.typeinference.*;
+import de.dhbwstuttgart.typeinference.assumptions.ClassAssumption;
+import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
+import de.dhbwstuttgart.typeinference.exceptions.DebugException;
+import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
+import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertPoint;
+import de.dhbwstuttgart.typeinference.unify.FC_TTO;
+import de.dhbwstuttgart.typeinference.unify.Unify;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
-import typinferenz.ConstraintsSet;
-import typinferenz.JavaCodeResult;
-import typinferenz.OderConstraint;
-import typinferenz.ResultSet;
-import typinferenz.Typeable;
-import typinferenz.UndConstraint;
-import typinferenz.FunN;
-import typinferenz.assumptions.ClassAssumption;
-import typinferenz.assumptions.TypeAssumptions;
-import typinferenz.exceptions.DebugException;
-import typinferenz.exceptions.TypeinferenceException;
-import typinferenz.typedeployment.TypeInsertPoint;
-import typinferenz.*;
// ino.class.Class.23010.declaration
@@ -111,9 +61,9 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
{
this.pkgName = pkgName;
}
- public String getName()
+ public JavaClassName getName()
{
- return name;
+ return new JavaClassName((this.pkgName!=null ? this.pkgName.toString() +"." : "") +this.name);
}
public void setName(String strName)
{
@@ -325,7 +275,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
* @param typeinferenceResult - Das ResultSet einer Typinferierung oder null, falls alle Typen eindeutig feststehen.
* @return
* @throws JVMCodeException
- */
+
// ino.method.codegen.23071.definition
public ClassFile codegen(ResultSet typeinferenceResult)
throws JVMCodeException
@@ -351,7 +301,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
//geändert von Andreas Stadelmeier: pkgName wird nicht mehr aus dem SourceFile ausgelesen:
String packageName = "";
if(pkgName != null) packageName = pkgName.get_Name_1Element();
- classfile.add_class(getName(), packageName, superClass, getAccessFlags());
+ classfile.add_class(getName(), superClass, getAccessFlags());
// Handling fuer Superinterfaces
classfile.addSuperInterfaces(getSuperInterfaces());
@@ -375,25 +325,8 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
codegenlog.info("Compilierung erfolgreich abgeschlossen, "+ getName() + ".class erstellt.");
return classfile;
}
-
- public void codegen(ClassFile classfile, Vector paralist)
- throws JVMCodeException
- {
- for(int i=0 ; i < this.getFields().size() ; i++)
- {
- /*
- * if(this.fielddecl.elementAt(i) instanceof InstVarDecl)
- {
- ((InstVarDecl)this.fielddecl.elementAt(i)).codegen(classfile, paralist);
- }
- else
- */
- {
- this.fielddecl.elementAt(i).codegen(classfile, paralist);
- }
- }
- }
-
+ */
+
public void set_UsedId (UsedId uid)
// ino.end
// ino.method.set_UsedId.23074.body
@@ -451,7 +384,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
// ino.method.get_Superclass_Name.23086.definition
- public String get_Superclass_Name()
+ public JavaClassName get_Superclass_Name()
// ino.end
// ino.method.get_Superclass_Name.23086.body
{
@@ -644,7 +577,6 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
// ino.end
// ino.method.TRProg.23110.definition
public ConstraintsSet typeReconstruction(FC_TTO supportData, TypeAssumptions globalAssumptions)
- throws CTypeReconstructionException
// ino.end
// ino.method.TRProg.23110.body
{
@@ -655,6 +587,8 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
// Und los geht's:
//////////////////////////////
inferencelog.info("Rufe TRStart()...");
+
+ typinferenzLog.debug("Erstellte FiniteClosure: "+supportData);
//////////////////////////////
// Ab hier ...
// @author A10023 - Andreas Stadelmeier:
@@ -882,7 +816,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
this.typeAssumptions = assumptions; //Diese müssen anschließend nicht wieder generiert werden.
return assumptions;
}
-
+ /*
public ConstraintsSet TYPE(Vector methodList, Vector fielddeclarationList, TypeAssumptions assumptions){
ConstraintsSet ret = new ConstraintsSet();
// Die Felddeklarationen werden zu den Assumptions hinzugefügt und gelten danach für jede Methode.
@@ -897,31 +831,8 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
}
return ret;
}
-
- // ino.method.clear.23113.defdescription type=javadoc
- /**
- * Entfernt Annahmen f�r lokale Variablen, die f�r Methodenparameter erzeugt
- * worden sind. (siehe Algorithmus 5.17 TRProg, Martin Pl�micke)
- *
Author: J�rg B�uerle
- * @param V
- * @param locals
- */
- // ino.end
- // ino.method.clear.23113.definition
- void clear(CTypeAssumptionSet V, Vector locals)
- // ino.end
- // ino.method.clear.23113.body
- {
- Iterator localsIt = locals.iterator();
- while(localsIt.hasNext()){
- CTypeAssumption local = localsIt.next();
- CTypeAssumption assum = V.getElement(local.getHashSetKey());
- if(assum!=null){
- V.removeElement(local.getHashSetKey());
- }
- }
- }
- // ino.end
+ */
+
// ino.method.RetType.23119.defdescription type=javadoc
/**
@@ -931,7 +842,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
* @param me
* @param V
* @return
- */
+
// ino.end
// ino.method.RetType.23119.definition
private Type RetType(Method me, CTypeAssumptionSet V)
@@ -946,6 +857,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
}
// ino.end
+ */
// ino.method.toString.23125.defdescription type=javadoc
/**
*
Author: Martin Pl�micke
@@ -1023,128 +935,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
//
// }
- // ino.method.addOffsetsToAssumption.23131.defdescription type=javadoc
- /**
- * Methode f�gt zu einer CTypeAssumption alle
- * Offsets hinzu, wo die Variable benutzt wird.
- *
Author: Thomas Hornberger 07.04.2006
- *
Author: Arne Lüdtke 20.01.2007, Auf Polymorphie erweitert.
- * Wird nicht mehr verwendet. In Block ausgelagert.
- * @return
- */
- // ino.end
- // ino.method.addOffsetsToAssumption.23131.definition
- public static void addOffsetsToAssumption(CTypeAssumption localAssumption, Block localBlock,String NameVariable,boolean isMemberVariable)
- // ino.end
- // ino.method.addOffsetsToAssumption.23131.body
- {
- /*if(localBlock!=null){
- for(Object vectorObjekt : localBlock.statements) //durchlaufe alle Statements dieses Blocks
- {
- if(vectorObjekt instanceof Block) //Bei Block
- {
- Block b = (Block)vectorObjekt;
- addOffsetsToAssumption(localAssumption,b,NameVariable,isMemberVariable);//rekursiver Aufruf
- }
- else
- {
- String Name_Superklasse = vectorObjekt.getClass().getSuperclass().getSimpleName();
- if(Name_Superklasse.equals("Statement")) //Bei Statement
- {
- Statement s = (Statement)vectorObjekt;
- try{
- if(addOffsetsToStatement(localAssumption,s,NameVariable,isMemberVariable)==false)
- {break;}}
- catch(NullPointerException NPE){}
- }
- else if(Name_Superklasse.equals("Expr") || Name_Superklasse.equals("BinaryExpr") || Name_Superklasse.equals("UnaryExpr")) //Bei Expression
- {
- Expr e = (Expr)vectorObjekt;
- try{
- addOffsetsToExpression(localAssumption,e,NameVariable,isMemberVariable);}
- catch(NullPointerException NPE){}
- }
- }
-
- }}*/
- }
- // ino.end
-
- // ino.method.addOffsetsToStatement.23134.defdescription type=javadoc
- /**
- * Hilfs-Methode f�r die Offset-Zuweisung
- * durchsucht ein Statement rekursiv
- *
Author: Thomas Hornberger 08.04.2006
- *
Author: Arne Lüdtke 20.10.2007, Auf Polymorphie umgebaut.
- * @return
- */
- // ino.end
- // ino.method.addOffsetsToStatement.23134.definition
- public static boolean addOffsetsToStatement(CTypeAssumption localAssumption,Statement statement, String NameVariable, boolean isMemberVariable)
- // ino.end
- // ino.method.addOffsetsToStatement.23134.body
- {
- return statement.addOffsetsToStatement(localAssumption,NameVariable,isMemberVariable);
- /*if(statement instanceof Block) //Wenn Block
- {
- Block b = (Block)statement;
- addOffsetsToAssumption(localAssumption,b,NameVariable,isMemberVariable);
- }
- else if(statement instanceof IfStmt)//Wenn if
- {
- IfStmt i = (IfStmt)statement;
- addOffsetsToExpression(localAssumption,i.expr,NameVariable,isMemberVariable);
- addOffsetsToStatement(localAssumption,i.else_block,NameVariable,isMemberVariable);
- addOffsetsToStatement(localAssumption,i.then_block,NameVariable,isMemberVariable);
- }
- else if(statement instanceof Return)//Wenn Return
- {
- Return r = (Return)statement;
- addOffsetsToExpression(localAssumption,r.retexpr,NameVariable,isMemberVariable);
- }
- else if(statement instanceof WhileStmt)//Wenn While
- {
- WhileStmt w = (WhileStmt)statement;
- addOffsetsToExpression(localAssumption,w.expr,NameVariable,isMemberVariable);
- addOffsetsToStatement(localAssumption,w.loop_block,NameVariable,isMemberVariable);
- }
- else if(statement instanceof LocalVarDecl)//Wenn Lokale-Variable-Deklaration
- {
- isMemberVariable=true;//hoth 02.05.06
- if(isMemberVariable)//Wenn Objektvariable
- {
- LocalVarDecl l = (LocalVarDecl)statement;
- if(l.get_Name().equals(NameVariable))
- {
- if(isFirstLocalVarDecl==false)
- {return false;}//Wenn jetzt lokale Variable kommt, dann springe raus
- else
- {isFirstLocalVarDecl=false;}
- }
- }
- }
- return true;*/
- }
- // ino.end
-
- // ino.method.addOffsetsToExpression.23137.defdescription type=javadoc
- /**
- * Hilfs-Methode f�r die Offset-Zuweisung
- * durchsucht eine Expression rekursiv
- *
Author: Thomas Hornberger 07.04.2006
- *
Authos: Arne Lüdtke 20.01.2007, Auf Polymorphie umgebaut.
- * @return
- */
- // ino.end
- // ino.method.addOffsetsToExpression.23137.definition
- public static void addOffsetsToExpression(CTypeAssumption localAssumption,Expr expression, String NameVariable,boolean isMemberVariable)
- // ino.end
- // ino.method.addOffsetsToExpression.23137.body
- {
- expression.addOffsetsToExpression(localAssumption,NameVariable,isMemberVariable);
- }
- // ino.end
-
+
// ino.method.getSimpleName.23140.defdescription type=javadoc
/**
* HOTI
@@ -1159,7 +950,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
// ino.end
// ino.method.getSimpleName.23140.body
{
- return UsedId.createFromQualifiedName(getName(),-1).getSimpleName();
+ return UsedId.createFromQualifiedName(getName().toString(),-1).getSimpleName();
}
// ino.end
@@ -1281,7 +1072,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
parameter.add(((GenericTypeVar)param).getTypePlaceHolder());//(TypePlaceholder.fresh()); //Hier ist kein ReplacementListener notwendig. Der Typ soll nie eingesetzt werden. Der TPH wird nur gebraucht, damit das Unifizieren funktioniert.
}
*/
- return new RefType(this.getName(), this.get_ParaList(), 0);
+ return new RefType(this.getName().toString(), this.get_ParaList(), 0);
}
@@ -1334,10 +1125,19 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
}
}
if(!constructorVorhanden){//Falls kein Konstruktor vorhanden ist, muss noch der Standardkonstruktor angefügt werden:
- Constructor standardKonstruktor = new Constructor(Method.createEmptyMethod(this.getName(), this));
+ Constructor standardKonstruktor = new Constructor(Method.createEmptyMethod(this.getName().toString(), this));
this.addField(standardKonstruktor);
}
+ if(this.genericClassParameters == null)this.setGenericParameter(new GenericDeclarationList(new Vector(), 0));
+ for(Type t : this.get_ParaList()){
+ if(t instanceof GenericTypeVar)this.genericClassParameters.add((GenericTypeVar)t);
+ else this.genericClassParameters.add(new GenericTypeVar(t.get_Name(),this,-1));
+ }
+ for(GenericTypeVar gtv : this.getGenericParameter()){
+ gtv.setParentClass(this);;
+ }
+
//TODO: Umwandlung zu RefTypes funktioniert noch nicht richtig. (siehe LambdaTest2)
//Als RefType geparste Generische Variablen umwandeln:
this.wandleRefTypeAttributes2GenericAttributes();
@@ -1353,6 +1153,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
Vector ret = new Vector();
for(Field f : this.getFields()){
ret.add(f);
+ ret.addAll(this.getGenericParameter());
}
return ret;
}
@@ -1367,7 +1168,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
}
@Override
- public Iterable getGenericParameter() {
+ public Vector getGenericParameter() {
if(this.genericClassParameters == null)return new Vector();
return this.genericClassParameters;
}
diff --git a/src/mycompiler/myclass/ClassBody.java b/src/de/dhbwstuttgart/syntaxtree/ClassBody.java
similarity index 95%
rename from src/mycompiler/myclass/ClassBody.java
rename to src/de/dhbwstuttgart/syntaxtree/ClassBody.java
index 12b4f4628..3dd79b67b 100755
--- a/src/mycompiler/myclass/ClassBody.java
+++ b/src/de/dhbwstuttgart/syntaxtree/ClassBody.java
@@ -1,22 +1,28 @@
// ino.module.ClassBody.8554.package
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.ClassBody.8554.import
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.myexception.SCClassBodyException;
-import mycompiler.myexception.SCExcept;
-import mycompiler.myexception.SCMethodException;
-import mycompiler.mytype.RefType;
-import mycompiler.mytype.Type;
+
import org.apache.log4j.Logger;
// ino.end
-import typinferenz.JavaCodeResult;
-import typinferenz.ResultSet;
+
+
+
+
+
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.myexception.SCClassBodyException;
+import de.dhbwstuttgart.myexception.SCExcept;
+import de.dhbwstuttgart.myexception.SCMethodException;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.typeinference.JavaCodeResult;
+import de.dhbwstuttgart.typeinference.ResultSet;
@@ -157,7 +163,7 @@ throws SCClassBodyException
SCExcept e = new SCExcept();
e.set_error("unbekannte Klasse "+t.getName()+".");
e.set_function("complete_parahashtable() --> is_declared()");
- e.set_statement(t.getName());
+ e.set_statement(t.getName().toString());
ex.addException(e);
throw ex;
}
diff --git a/src/mycompiler/myclass/ClassHelper.java b/src/de/dhbwstuttgart/syntaxtree/ClassHelper.java
similarity index 90%
rename from src/mycompiler/myclass/ClassHelper.java
rename to src/de/dhbwstuttgart/syntaxtree/ClassHelper.java
index 4a8b0e642..110256b75 100755
--- a/src/mycompiler/myclass/ClassHelper.java
+++ b/src/de/dhbwstuttgart/syntaxtree/ClassHelper.java
@@ -1,13 +1,13 @@
// ino.module.ClassHelper.8555.package
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.ClassHelper.8555.import
import java.util.Vector;
-import mycompiler.mytype.GenericTypeVar;
-import mycompiler.mytype.RefType;
-import mycompiler.mytype.Type;
-// ino.end
+
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
// ino.class.ClassHelper.23206.declaration
public class ClassHelper
diff --git a/src/mycompiler/myclass/Constant.java b/src/de/dhbwstuttgart/syntaxtree/Constant.java
similarity index 86%
rename from src/mycompiler/myclass/Constant.java
rename to src/de/dhbwstuttgart/syntaxtree/Constant.java
index f4936a3ea..b9e5dcc71 100755
--- a/src/mycompiler/myclass/Constant.java
+++ b/src/de/dhbwstuttgart/syntaxtree/Constant.java
@@ -1,25 +1,24 @@
// ino.module.Constant.8556.package
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.Constant.8556.import
import java.util.Vector;
+import de.dhbwstuttgart.bytecode.AttributeInfo;
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.bytecode.JVMCode;
+import de.dhbwstuttgart.core.MyCompiler;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
+import de.dhbwstuttgart.syntaxtree.statement.Expr;
+import de.dhbwstuttgart.syntaxtree.statement.Literal;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.typeinference.JavaCodeResult;
+import de.dhbwstuttgart.typeinference.ResultSet;
+import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
-import typinferenz.JavaCodeResult;
-import typinferenz.ResultSet;
-import typinferenz.assumptions.TypeAssumptions;
-import mycompiler.mybytecode.AttributeInfo;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.mybytecode.JVMCode;
-import mycompiler.MyCompiler;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.mymodifier.Modifiers;
-import mycompiler.mystatement.Expr;
-import mycompiler.mystatement.Literal;
-import mycompiler.mytype.Type;
-// ino.end
-import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent;
// ino.class.Constant.23212.description type=javadoc
/**
@@ -118,11 +117,11 @@ public class Constant extends Method
// ino.end
// ino.method.getTypeName.23243.definition
- public String getTypeName()
+ public JavaClassName getTypeName()
// ino.end
// ino.method.getTypeName.23243.body
{
- return name;
+ return new JavaClassName(name);
}
// ino.end
@@ -169,7 +168,7 @@ public class Constant extends Method
{
// Zugehoerigen Typ (I, Z, C, Ljava/lang/String;) fuer den Typ ermitteln
- String bcgType = JVMCode.get_codegen_Type(typ.getName(), paralist);
+ String bcgType = JVMCode.get_codegen_Type(typ.getName().toString(), paralist);
if (getValue() == null || !(getValue() instanceof Literal) ) {
throw new JVMCodeException("Die Generierung der Konstante wird nicht unterstuetzt!");
@@ -224,11 +223,6 @@ public class Constant extends Method
//return null;
}
- @Override
- public void replaceType(CReplaceTypeEvent e) {
- // TODO Auto-generated method stub
-
- }
@Override
public int getTypeLineNumber() {
diff --git a/src/mycompiler/myclass/Constructor.java b/src/de/dhbwstuttgart/syntaxtree/Constructor.java
similarity index 87%
rename from src/mycompiler/myclass/Constructor.java
rename to src/de/dhbwstuttgart/syntaxtree/Constructor.java
index be8572180..bc301e51e 100644
--- a/src/mycompiler/myclass/Constructor.java
+++ b/src/de/dhbwstuttgart/syntaxtree/Constructor.java
@@ -1,24 +1,24 @@
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
import java.util.Vector;
-import mycompiler.SyntaxTreeNode;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.mymodifier.Modifiers;
-import mycompiler.mystatement.Block;
-import mycompiler.mytype.GenericTypeVar;
-import mycompiler.mytype.RefType;
-import mycompiler.mytype.Type;
-import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent;
-import typinferenz.ConstraintsSet;
-import typinferenz.JavaCodeResult;
-import typinferenz.ResultSet;
-import typinferenz.SingleConstraint;
-import typinferenz.assumptions.ConstructorAssumption;
-import typinferenz.assumptions.MethodAssumption;
-import typinferenz.assumptions.TypeAssumptions;
-import typinferenz.exceptions.TypeinferenceException;
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.syntaxtree.misc.DeclId;
+import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
+import de.dhbwstuttgart.syntaxtree.statement.Block;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.typeinference.ConstraintsSet;
+import de.dhbwstuttgart.typeinference.JavaCodeResult;
+import de.dhbwstuttgart.typeinference.ResultSet;
+import de.dhbwstuttgart.typeinference.SingleConstraint;
+import de.dhbwstuttgart.typeinference.assumptions.ConstructorAssumption;
+import de.dhbwstuttgart.typeinference.assumptions.MethodAssumption;
+import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
+import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
public class Constructor extends Method {
private Method methode;
@@ -56,7 +56,7 @@ public class Constructor extends Method {
}
@Override
- public String getTypeName() {
+ public JavaClassName getTypeName() {
return this.getType().getName();
}
@@ -178,12 +178,6 @@ public class Constructor extends Method {
this.methode.setOffset(Offset);
}
- @Override
- public void replaceType(CReplaceTypeEvent e) {
-
- this.methode.replaceType(e);
- }
-
@Override
public int getTypeLineNumber() {
@@ -222,7 +216,6 @@ public class Constructor extends Method {
public ConstraintsSet TYPE(TypeAssumptions ass) {
ConstraintsSet ret = new ConstraintsSet();
-
ret.add(this.methode.get_Block().TYPEStmt(ass));
return ret;
}
diff --git a/src/mycompiler/myclass/ExceptionList.java b/src/de/dhbwstuttgart/syntaxtree/ExceptionList.java
similarity index 87%
rename from src/mycompiler/myclass/ExceptionList.java
rename to src/de/dhbwstuttgart/syntaxtree/ExceptionList.java
index a402ec4e4..7e41e64d6 100755
--- a/src/mycompiler/myclass/ExceptionList.java
+++ b/src/de/dhbwstuttgart/syntaxtree/ExceptionList.java
@@ -1,10 +1,10 @@
// ino.module.ExceptionList.8559.package
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.ExceptionList.8559.import
import java.util.Vector;
-import mycompiler.mytype.RefType;
-// ino.end
+
+import de.dhbwstuttgart.syntaxtree.type.RefType;
diff --git a/src/mycompiler/myclass/Field.java b/src/de/dhbwstuttgart/syntaxtree/Field.java
similarity index 77%
rename from src/mycompiler/myclass/Field.java
rename to src/de/dhbwstuttgart/syntaxtree/Field.java
index e612966b5..baefadddb 100644
--- a/src/mycompiler/myclass/Field.java
+++ b/src/de/dhbwstuttgart/syntaxtree/Field.java
@@ -1,23 +1,22 @@
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
import java.util.Vector;
-import mycompiler.SyntaxTreeNode;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.mytype.GenericTypeVar;
-import mycompiler.mytype.RefType;
-import mycompiler.mytype.Type;
-import mycompiler.mytype.TypePlaceholder;
-import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent;
-import typinferenz.ConstraintsSet;
-import typinferenz.GenericTypeInsertable;
-import typinferenz.JavaCodeResult;
-import typinferenz.ResultSet;
-import typinferenz.Typeable;
-import typinferenz.TypeInsertable;
-import typinferenz.assumptions.TypeAssumptions;
-import typinferenz.typedeployment.TypeInsertPoint;
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.syntaxtree.misc.DeclId;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
+import de.dhbwstuttgart.typeinference.ConstraintsSet;
+import de.dhbwstuttgart.typeinference.GenericTypeInsertable;
+import de.dhbwstuttgart.typeinference.JavaCodeResult;
+import de.dhbwstuttgart.typeinference.ResultSet;
+import de.dhbwstuttgart.typeinference.TypeInsertable;
+import de.dhbwstuttgart.typeinference.Typeable;
+import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
+import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertPoint;
public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Typeable, Generic, GenericTypeInsertable{
@@ -55,7 +54,7 @@ public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Ty
throws JVMCodeException;
@Override
- public Iterable getGenericParameter() {
+ public Vector getGenericParameter() {
Vector ret = new Vector<>();
if(this.genericParameters == null)return ret;
ret.addAll(this.genericParameters);
@@ -154,10 +153,16 @@ public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Ty
return this.offset;
}
}
-
+
+ @Override
+ public Vector getChildren() {
+ Vector ret = new Vector<>();
+ if(this.getType()!=null)ret.add(this.getType());
+ return ret;
+ }
+
@Override
public void setGenericParameter(GenericDeclarationList params) {
this.genericParameters = params;
}
-
}
diff --git a/src/mycompiler/myclass/FieldDeclaration.java b/src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java
similarity index 76%
rename from src/mycompiler/myclass/FieldDeclaration.java
rename to src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java
index 39393a044..ebf61dd93 100644
--- a/src/mycompiler/myclass/FieldDeclaration.java
+++ b/src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java
@@ -1,24 +1,24 @@
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
import java.util.Vector;
-import typinferenz.ConstraintsSet;
-import typinferenz.JavaCodeResult;
-import typinferenz.OderConstraint;
-import typinferenz.ResultSet;
-import typinferenz.SingleConstraint;
-import typinferenz.assumptions.FieldAssumption;
-import typinferenz.assumptions.TypeAssumptions;
-import typinferenz.exceptions.TypeinferenceException;
-import mycompiler.SyntaxTreeNode;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.mystatement.Expr;
-import mycompiler.mytype.GenericTypeVar;
-import mycompiler.mytype.RefType;
-import mycompiler.mytype.Type;
-import mycompiler.mytype.TypePlaceholder;
-import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent;
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.syntaxtree.misc.DeclId;
+import de.dhbwstuttgart.syntaxtree.statement.Expr;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
+import de.dhbwstuttgart.typeinference.ConstraintType;
+import de.dhbwstuttgart.typeinference.ConstraintsSet;
+import de.dhbwstuttgart.typeinference.JavaCodeResult;
+import de.dhbwstuttgart.typeinference.OderConstraint;
+import de.dhbwstuttgart.typeinference.ResultSet;
+import de.dhbwstuttgart.typeinference.SingleConstraint;
+import de.dhbwstuttgart.typeinference.assumptions.FieldAssumption;
+import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
+import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
/**
* Eine Feldinitialisation steht für eine Felddeklaration mit gleichzeitiger Wertzuweisung
@@ -106,28 +106,19 @@ public class FieldDeclaration extends Field{
@Override
public Vector getChildren() {
- Vector ret = new Vector();
+ Vector ret = super.getChildren();
if(this.wert!=null)ret.add(this.wert);
return ret;
}
- @Override
- public void replaceType(CReplaceTypeEvent e) {
- // TODO Auto-generated method stub
-
- }
- @Override
- public int getTypeLineNumber() {
- // TODO Auto-generated method stub
- return 0;
- }
-
public int getVariableLength()
{
return declid.elementAt(0).get_Name().length();
}
@Override
public ConstraintsSet TYPE(TypeAssumptions publicAssumptions) {
+ if(this.wert == null && (this.getType() == null || this.getType() instanceof TypePlaceholder))
+ throw new TypeinferenceException("Typlose Felder müssen mit Wert initialisiert werden", this);
ConstraintsSet ret = new ConstraintsSet();
TypeAssumptions localAssumptions = publicAssumptions.clone();
@@ -146,7 +137,7 @@ public class FieldDeclaration extends Field{
*/
//TypeCheck, falls es sich um einen RefType handelt:
- this.getType().checkType(localAssumptions, this);
+ ConstraintType thisType = this.getType().TYPE(localAssumptions, this);
/*
if(this.getType()!=null && (this.getType() instanceof RefType)){
Type replaceType = null;
@@ -156,13 +147,13 @@ public class FieldDeclaration extends Field{
}
*/
- SingleConstraint c1 = new SingleConstraint(this.getType(), this.getType());
+ SingleConstraint c1 = new SingleConstraint(thisType, thisType);
ret.add(c1); //Damit die TypVariable des Felds in den Constraints auftaucht
if(this.wert!=null){
//Falls bei der Deklaration ein Wert zugewiesen wird, verhält sich das Constraintserzeugen wie bei dem Assign-Statement:
ret.add(this.wert.TYPEExpr(localAssumptions));
- ret.add(new SingleConstraint(this.wert.getType(), this.getType()));
+ ret.add(new SingleConstraint(this.wert.getType().TYPE(localAssumptions,this), thisType));
}
return ret;
}
diff --git a/src/mycompiler/myclass/FormalParameter.java b/src/de/dhbwstuttgart/syntaxtree/FormalParameter.java
similarity index 75%
rename from src/mycompiler/myclass/FormalParameter.java
rename to src/de/dhbwstuttgart/syntaxtree/FormalParameter.java
index c3ef09f7c..cb726848d 100755
--- a/src/mycompiler/myclass/FormalParameter.java
+++ b/src/de/dhbwstuttgart/syntaxtree/FormalParameter.java
@@ -1,45 +1,27 @@
// ino.module.FormalParameter.8561.package
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.FormalParameter.8561.import
import java.util.Vector;
-import mycompiler.SyntaxTreeNode;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.mybytecode.CodeAttribute;
-import mycompiler.mytype.Type;
-import mycompiler.mytype.TypePlaceholder;
-import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent;
-import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListener;
-
import org.apache.log4j.Logger;
-// ino.end
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.bytecode.CodeAttribute;
+import de.dhbwstuttgart.syntaxtree.misc.DeclId;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
+import de.dhbwstuttgart.typeinference.JavaCodeResult;
+import de.dhbwstuttgart.typeinference.ResultSet;
+import de.dhbwstuttgart.typeinference.TypeInsertable;
+import de.dhbwstuttgart.typeinference.Typeable;
+import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
+import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertPoint;
+import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertSet;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
-import typinferenz.JavaCodeResult;
-import typinferenz.ResultSet;
-import typinferenz.Typeable;
-import typinferenz.TypeInsertable;
-import typinferenz.exceptions.TypeinferenceException;
-import typinferenz.typedeployment.TypeInsertPoint;
-import typinferenz.typedeployment.TypeInsertSet;
// ino.class.FormalParameter.23391.declaration
-public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementListener, Typeable, TypeInsertable
+public class FormalParameter extends SyntaxTreeNode implements Typeable, TypeInsertable
// ino.end
// ino.class.FormalParameter.23391.body
{
@@ -60,7 +42,7 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL
@Override
public boolean equals(Object object) {
- if(!super.equals(object))return false;
+ //if(!super.equals(object))return false; //Nicht die Position im SyntaxBaum prüfen.
if(!(object instanceof FormalParameter))return false;
FormalParameter equals = (FormalParameter)object;
if((this.type==null)!=(equals.type == null))return false;
@@ -82,13 +64,6 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL
// ino.end
// ino.method.setType.23404.body
{
- if(this.type instanceof TypePlaceholder){
- ((TypePlaceholder)this.type).removeReplacementListener(this);
- }
-
- if(t instanceof TypePlaceholder){
- ((TypePlaceholder)t).addReplacementListener(this);
- }
this.type = t;
}
// ino.end
@@ -134,7 +109,7 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL
// ino.end
// ino.method.getTypeName.23416.body
{ if(this.getType() == null)return "";
- return this.getType().getName();
+ return this.getType().getName().toString();
}
// ino.end
@@ -179,24 +154,6 @@ public class FormalParameter extends SyntaxTreeNode implements ITypeReplacementL
}
// ino.end
- // ino.method.replaceType.23428.defdescription type=javadoc
- /**
- *
Author: J�rg B�uerle
- * @param e
- */
- // ino.end
- // ino.method.replaceType.23428.definition
- public void replaceType(CReplaceTypeEvent e)
- // ino.end
- // ino.method.replaceType.23428.body
- {
- inferencelog.debug("Ersetze Typ in FormalParameter \""+this.getIdentifier()+"\"");
- if(type instanceof TypePlaceholder){
- ((TypePlaceholder)type).removeReplacementListener(this);
- }
- this.setType(e.getNewType());
- }
- // ino.end
// ino.method.getTypeLineNumber.23431.defdescription type=javadoc
/**
diff --git a/src/mycompiler/myclass/Generic.java b/src/de/dhbwstuttgart/syntaxtree/Generic.java
similarity index 78%
rename from src/mycompiler/myclass/Generic.java
rename to src/de/dhbwstuttgart/syntaxtree/Generic.java
index 0d2a37d1c..0c1f7a5ef 100644
--- a/src/mycompiler/myclass/Generic.java
+++ b/src/de/dhbwstuttgart/syntaxtree/Generic.java
@@ -1,9 +1,9 @@
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
import java.util.Iterator;
import java.util.Vector;
-import mycompiler.mytype.GenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
/**
* Wird von allen Klassen implementiert, welche generische Parameter halten können. (Class, Method und Field)
diff --git a/src/mycompiler/myclass/GenericDeclarationList.java b/src/de/dhbwstuttgart/syntaxtree/GenericDeclarationList.java
similarity index 76%
rename from src/mycompiler/myclass/GenericDeclarationList.java
rename to src/de/dhbwstuttgart/syntaxtree/GenericDeclarationList.java
index bd9f58f45..115e60e33 100644
--- a/src/mycompiler/myclass/GenericDeclarationList.java
+++ b/src/de/dhbwstuttgart/syntaxtree/GenericDeclarationList.java
@@ -1,9 +1,9 @@
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
import java.util.Vector;
-import mycompiler.myparser.GenericVarDeclarationList;
-import mycompiler.mytype.GenericTypeVar;
+import de.dhbwstuttgart.parser.GenericVarDeclarationList;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
/**
diff --git a/src/mycompiler/myclass/ImportDeclarations.java b/src/de/dhbwstuttgart/syntaxtree/ImportDeclarations.java
similarity index 90%
rename from src/mycompiler/myclass/ImportDeclarations.java
rename to src/de/dhbwstuttgart/syntaxtree/ImportDeclarations.java
index 88ac5e1f5..15cfad5f7 100755
--- a/src/mycompiler/myclass/ImportDeclarations.java
+++ b/src/de/dhbwstuttgart/syntaxtree/ImportDeclarations.java
@@ -1,11 +1,13 @@
// ino.module.ImportDeclarations.8562.package
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.ImportDeclarations.8562.import
import java.util.Vector;
// ino.end
+import de.dhbwstuttgart.syntaxtree.misc.UsedId;
+
// ino.class.ImportDeclarations.23434.description type=javadoc
/**
diff --git a/src/mycompiler/myinterface/Interface.java b/src/de/dhbwstuttgart/syntaxtree/Interface.java
similarity index 86%
rename from src/mycompiler/myinterface/Interface.java
rename to src/de/dhbwstuttgart/syntaxtree/Interface.java
index 2e7cad7f3..2d98f3c55 100755
--- a/src/mycompiler/myinterface/Interface.java
+++ b/src/de/dhbwstuttgart/syntaxtree/Interface.java
@@ -1,32 +1,19 @@
// ino.module.Interface.8582.package
-package mycompiler.myinterface;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.Interface.8582.import
import java.util.Vector;
-import mycompiler.AClassOrInterface;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.myclass.Class;
-import mycompiler.myclass.ClassHelper;
-import mycompiler.myclass.Constant;
-import mycompiler.myclass.FormalParameter;
-import mycompiler.myclass.Method;
-import mycompiler.myclass.ParameterList;
-import mycompiler.myclass.UsedId;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.mymodifier.Modifiers;
-import mycompiler.mytype.GenericTypeVar;
-import mycompiler.mytype.RefType;
-import mycompiler.mytype.Type;
-import mycompiler.mytypereconstruction.CIntersectionType;
-import mycompiler.mytypereconstruction.TypeinferenceResultSet;
-import mycompiler.mytypereconstruction.set.CTypeAssumptionSet;
-import mycompiler.mytypereconstruction.typeassumption.CInstVarTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CMethodTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CParaTypeAssumption;
-import mycompiler.SourceFile;
-// ino.end
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.core.AClassOrInterface;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.syntaxtree.misc.UsedId;
+import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
/**
* Ein Interface ist eine abstrakte Klasse, erbt daher von Class
diff --git a/src/mycompiler/myinterface/InterfaceBody.java b/src/de/dhbwstuttgart/syntaxtree/InterfaceBody.java
similarity index 93%
rename from src/mycompiler/myinterface/InterfaceBody.java
rename to src/de/dhbwstuttgart/syntaxtree/InterfaceBody.java
index 35123ef21..69b9d6f4d 100755
--- a/src/mycompiler/myinterface/InterfaceBody.java
+++ b/src/de/dhbwstuttgart/syntaxtree/InterfaceBody.java
@@ -1,18 +1,13 @@
// ino.module.InterfaceBody.8583.package
-package mycompiler.myinterface;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.InterfaceBody.8583.import
import java.util.Vector;
-import mycompiler.myclass.Field;
-
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.myclass.Constant;
-import mycompiler.myclass.Method;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.mymodifier.Modifiers;
-// ino.end
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
// ino.class.InterfaceBody.23984.description type=javadoc
/**
diff --git a/src/mycompiler/myclass/Method.java b/src/de/dhbwstuttgart/syntaxtree/Method.java
similarity index 89%
rename from src/mycompiler/myclass/Method.java
rename to src/de/dhbwstuttgart/syntaxtree/Method.java
index 42ee79f01..db84fb99e 100755
--- a/src/mycompiler/myclass/Method.java
+++ b/src/de/dhbwstuttgart/syntaxtree/Method.java
@@ -1,5 +1,5 @@
// ino.module.Method.8564.package
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.Method.8564.import
import java.util.Enumeration;
@@ -7,41 +7,33 @@ import java.util.Hashtable;
import java.util.Iterator;
import java.util.Vector;
-import mycompiler.IItemWithOffset;
-import mycompiler.SyntaxTreeNode;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.MyCompiler;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.myexception.SCMethodException;
-import mycompiler.myexception.SCStatementException;
-import mycompiler.mymodifier.Modifiers;
-import mycompiler.mystatement.Block;
-import mycompiler.mystatement.Return;
-import mycompiler.mytype.GenericTypeVar;
-import mycompiler.mytype.RefType;
-import mycompiler.mytype.Type;
-import mycompiler.mytype.TypePlaceholder;
-import mycompiler.mytypereconstruction.replacementlistener.CReplaceTypeEvent;
-import mycompiler.mytypereconstruction.replacementlistener.ITypeReplacementListener;
-import mycompiler.mytypereconstruction.set.CTypeAssumptionSet;
-import mycompiler.mytypereconstruction.typeassumption.CInstVarTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CLocalVarTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CMethodTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CParaTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CTypeAssumption;
-
import org.apache.log4j.Logger;
-import typinferenz.JavaCodeResult;
-import typinferenz.SingleConstraint;
-import typinferenz.ConstraintsSet;
-import typinferenz.ResultSet;
-import typinferenz.TypeInsertable;
-import typinferenz.assumptions.MethodAssumption;
-import typinferenz.assumptions.ParameterAssumption;
-import typinferenz.assumptions.TypeAssumptions;
-import typinferenz.exceptions.TypeinferenceException;
-import typinferenz.typedeployment.TypeInsertPoint;
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.core.IItemWithOffset;
+import de.dhbwstuttgart.core.MyCompiler;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.myexception.SCMethodException;
+import de.dhbwstuttgart.myexception.SCStatementException;
+import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.syntaxtree.misc.DeclId;
+import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
+import de.dhbwstuttgart.syntaxtree.statement.Block;
+import de.dhbwstuttgart.syntaxtree.statement.Return;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
+import de.dhbwstuttgart.typeinference.ConstraintsSet;
+import de.dhbwstuttgart.typeinference.JavaCodeResult;
+import de.dhbwstuttgart.typeinference.ResultSet;
+import de.dhbwstuttgart.typeinference.SingleConstraint;
+import de.dhbwstuttgart.typeinference.TypeInsertable;
+import de.dhbwstuttgart.typeinference.assumptions.MethodAssumption;
+import de.dhbwstuttgart.typeinference.assumptions.ParameterAssumption;
+import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
+import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
+import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertPoint;
@@ -172,7 +164,7 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable
// ino.end
// ino.method.getTypeName.23533.definition
- public String getTypeName()
+ public JavaClassName getTypeName()
// ino.end
// ino.method.getTypeName.23533.body
{
@@ -203,14 +195,6 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable
// ino.end
// ino.method.setReturnType.23539.body
{
- if(this.returntype instanceof TypePlaceholder){
- ((TypePlaceholder)this.returntype).removeReplacementListener(this);
- }
-
- if(type instanceof TypePlaceholder){
- ((TypePlaceholder)type).addReplacementListener(this);
- }
- // this.returntype = type; //auskommentiert von Andreas Stadelmeier (a10023)
this.returntype = type;
}
// ino.end
@@ -422,24 +406,6 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable
}
// ino.end
- // ino.method.replaceType.23599.defdescription type=javadoc
- /**
- *
Author: Jrg Buerle
- * @param e
- */
- // ino.end
- // ino.method.replaceType.23599.definition
- public void replaceType(CReplaceTypeEvent e)
- // ino.end
- // ino.method.replaceType.23599.body
- {
- inferencelog.debug("Ersetze Typ in Method \""+this.get_Method_Name()+"()\"\n");
- if(returntype instanceof TypePlaceholder){
- ((TypePlaceholder)returntype).removeReplacementListener(this);
- }
- this.setReturnType(e.getNewType());
- }
- // ino.end
// ino.method.getTypeLineNumber.23602.defdescription type=javadoc
/**
@@ -561,7 +527,7 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable
}
//TypeCheck, falls es sich um einen RefType handelt:
- this.returntype = this.returntype.checkType(localAss, this);
+ this.returntype = this.returntype.TYPE(localAss, this).getType();
/*
if(this.returntype!=null && (this.returntype instanceof RefType)&&
!(this.returntype instanceof mycompiler.mytype.Void)){//Sonderfall der Methode: Ihr Typ darf Void definiert werden.
@@ -574,7 +540,7 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable
//Die Parameter zu den Assumptions hinzufügen:
if(this.parameterlist!=null)for(FormalParameter param : this.parameterlist){
- param.setType(param.getType().checkType(localAss, this));
+ param.setType(param.getType().TYPE(localAss, this).getType());
/*
if(param.getType() instanceof RefType)
{
@@ -590,7 +556,7 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable
}
ret.add(this.block.TYPEStmt(localAss));
//eine Verknüpfung mit der Type Assumption aus dem Assumption Set und dem ermittelten Typ der Methode:
- ret.add(new SingleConstraint(this.block.getType(), this.returntype));
+ ret.add(new SingleConstraint(this.block.getType().TYPE(localAss, this), this.returntype.TYPE(localAss, this)));
return ret;
}
@@ -717,6 +683,7 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable
for(FormalParameter param : this.parameterlist){
ret.add(param);
}
+ ret.addAll(this.getGenericParameter());
return ret;
}
diff --git a/src/mycompiler/myclass/ParameterList.java b/src/de/dhbwstuttgart/syntaxtree/ParameterList.java
similarity index 93%
rename from src/mycompiler/myclass/ParameterList.java
rename to src/de/dhbwstuttgart/syntaxtree/ParameterList.java
index ee4e75bf9..7db364cd3 100755
--- a/src/mycompiler/myclass/ParameterList.java
+++ b/src/de/dhbwstuttgart/syntaxtree/ParameterList.java
@@ -1,17 +1,19 @@
// ino.module.ParameterList.8565.package
-package mycompiler.myclass;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.ParameterList.8565.import
import java.util.Vector;
-import typinferenz.JavaCodeResult;
-import typinferenz.ResultSet;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.mybytecode.CodeAttribute;
-import mycompiler.mytype.*;
import java.util.Iterator;
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.bytecode.CodeAttribute;
+import de.dhbwstuttgart.syntaxtree.type.BaseType;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.typeinference.JavaCodeResult;
+import de.dhbwstuttgart.typeinference.ResultSet;
+
// ino.end
diff --git a/src/mycompiler/SourceFile.java b/src/de/dhbwstuttgart/syntaxtree/SourceFile.java
similarity index 93%
rename from src/mycompiler/SourceFile.java
rename to src/de/dhbwstuttgart/syntaxtree/SourceFile.java
index 6a873269b..69ce984a8 100755
--- a/src/mycompiler/SourceFile.java
+++ b/src/de/dhbwstuttgart/syntaxtree/SourceFile.java
@@ -1,5 +1,5 @@
// ino.module.SourceFile.8722.package
-package mycompiler;
+package de.dhbwstuttgart.syntaxtree;
// ino.end
// ino.module.SourceFile.8722.import
@@ -10,56 +10,44 @@ import java.util.Hashtable;
import java.util.Iterator;
import java.util.Vector;
-import mycompiler.mybytecode.ClassFile;
-import mycompiler.myclass.BasicAssumptionClass;
-import mycompiler.myclass.Class;
-import mycompiler.myclass.Constructor;
-import mycompiler.myclass.Field;
-import mycompiler.myclass.FieldDeclaration;
-import mycompiler.myclass.ImportDeclarations;
-import mycompiler.myclass.UsedId;
-import mycompiler.myexception.CTypeReconstructionException;
-import mycompiler.myexception.JVMCodeException;
-import mycompiler.myexception.SCClassException;
-import mycompiler.myexception.SCException;
-import mycompiler.myinterface.Interface;
-import mycompiler.mymodifier.Modifiers;
-import mycompiler.mymodifier.Public;
-import mycompiler.mytype.BooleanType;
-import mycompiler.mytype.GenericTypeVar;
-import mycompiler.mytype.Pair;
-import mycompiler.mytype.RefType;
-import mycompiler.mytype.Type;
-import mycompiler.mytype.TypePlaceholder;
-import mycompiler.mytype.Void;
-import mycompiler.mytypereconstruction.CIntersectionType;
-import mycompiler.mytypereconstruction.CSupportData;
-import mycompiler.mytypereconstruction.TypeinferenceResultSet;
-import mycompiler.mytypereconstruction.typeassumption.CInstVarTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CMethodTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CParaTypeAssumption;
-import mycompiler.mytypereconstruction.typeassumption.CTypeAssumption;
-import mycompiler.mytypereconstruction.unify.FC_TTO;
-import mycompiler.mytypereconstruction.unify.Unify;
-
import org.apache.log4j.Logger;
-import mycompiler.myclass.*;
-import mycompiler.*;
+import de.dhbwstuttgart.bytecode.ClassFile;
+import de.dhbwstuttgart.core.AClassOrInterface;
+import de.dhbwstuttgart.core.MyCompiler;
+import de.dhbwstuttgart.myexception.CTypeReconstructionException;
+import de.dhbwstuttgart.myexception.JVMCodeException;
+import de.dhbwstuttgart.myexception.SCClassException;
+import de.dhbwstuttgart.myexception.SCException;
+import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.syntaxtree.misc.DeclId;
+import de.dhbwstuttgart.syntaxtree.misc.UsedId;
+import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
+import de.dhbwstuttgart.syntaxtree.modifier.Public;
+import de.dhbwstuttgart.syntaxtree.type.BooleanType;
+import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
+import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
+import de.dhbwstuttgart.syntaxtree.type.Void;
+import de.dhbwstuttgart.typeinference.ConstraintsSet;
+import de.dhbwstuttgart.typeinference.FunN;
+import de.dhbwstuttgart.typeinference.FunNInterface;
+import de.dhbwstuttgart.typeinference.FunNMethod;
+import de.dhbwstuttgart.typeinference.Pair;
+import de.dhbwstuttgart.typeinference.ResultSet;
+import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
+import de.dhbwstuttgart.typeinference.UndConstraint;
+import de.dhbwstuttgart.typeinference.assumptions.ClassAssumption;
+import de.dhbwstuttgart.typeinference.assumptions.MethodAssumption;
+import de.dhbwstuttgart.typeinference.assumptions.ParameterAssumption;
+import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
+import de.dhbwstuttgart.typeinference.exceptions.DebugException;
+import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
+import de.dhbwstuttgart.typeinference.unify.FC_TTO;
+import de.dhbwstuttgart.typeinference.unify.Unify;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
import sun.reflect.generics.reflectiveObjects.TypeVariableImpl;
-import typinferenz.ConstraintsSet;
-import typinferenz.FunN;
-import typinferenz.FunNInterface;
-import typinferenz.FunNMethod;
-import typinferenz.ResultSet;
-import typinferenz.UndConstraint;
-import typinferenz.assumptions.ClassAssumption;
-import typinferenz.assumptions.MethodAssumption;
-import typinferenz.assumptions.ParameterAssumption;
-import typinferenz.assumptions.TypeAssumptions;
-import typinferenz.exceptions.DebugException;
-import typinferenz.exceptions.TypeinferenceException;
@@ -227,7 +215,7 @@ public class SourceFile
* Startet die Bytecodegenerierung fuer alle in der Datei
* enthaltenen Klassen und Interfaces.
*
- */
+
// ino.end
// ino.method.codegen.21397.definition
public Vector codegen(ResultSet result)
@@ -250,7 +238,7 @@ public class SourceFile
return ret;
}
// ino.end
-
+ */
// ino.method.createPairFromClassAndSuperclass.21400.defdescription type=javadoc
/**
* Erstellt ein Typ-Paar, welches im 1. Durchlauf in die Menge der Finite Closure
@@ -260,7 +248,7 @@ public class SourceFile
*/
// ino.end
// ino.method.createPairFromClassAndSuperclass.21400.definition
- private Pair createPairFromClassAndSuperclass(String className, String superclassName, Vector classParaOrg, Vector superclassParaOrg)
+ private Pair createPairFromClassAndSuperclass(JavaClassName className, JavaClassName superclassName, Vector classParaOrg, Vector superclassParaOrg)
// ino.end
// ino.method.createPairFromClassAndSuperclass.21400.body
{
@@ -272,15 +260,15 @@ public class SourceFile
superclassParaOrg=null;
}
Pair P = new Pair(
- new RefType( className, classParaOrg,-1),
- new RefType( superclassName, superclassParaOrg,-1)
+ new RefType( className.toString(), classParaOrg,-1),
+ new RefType( superclassName.toString(), superclassParaOrg,-1)
);
//PL 04-12-29 freshe Variablen ANFANG
RefType r1 = (RefType)P.getTA1Copy();
RefType r2 = (RefType)P.getTA2Copy();
// #JB# 05.04.2005
// ###########################################################
- Hashtable substHash = new Hashtable(); //fuer jedes Paar komplett neue Variablen
+ Hashtable substHash = new Hashtable(); //fuer jedes Paar komplett neue Variablen
Unify.varSubst(r1, substHash);
Unify.varSubst(r2, substHash);
// ###########################################################
@@ -326,7 +314,7 @@ public class SourceFile
Iterator interfaceIterator=tempKlasse.getSuperInterfaces().iterator();
while(interfaceIterator.hasNext()){
UsedId intf=interfaceIterator.next();
- String interfaceName=intf.getQualifiedName();
+ JavaClassName interfaceName=intf.getQualifiedName();
Pair P=createPairFromClassAndSuperclass(tempKlasse.getName(),interfaceName,tempKlasse.get_ParaList(),intf.get_ParaList());
vFC.add( P );
@@ -339,7 +327,7 @@ public class SourceFile
Iterator interfaceIterator=intf.getSuperInterfaces().iterator();
while(interfaceIterator.hasNext()){
UsedId superintf=interfaceIterator.next();
- String superinterfaceName=superintf.getQualifiedName();
+ JavaClassName superinterfaceName=superintf.getQualifiedName();
Pair P=createPairFromClassAndSuperclass(intf.getName(),superinterfaceName,intf.getParaList(), superintf.get_ParaList());
vFC.add( P );
@@ -452,7 +440,7 @@ public class SourceFile
//es werden alle Parameter in einem Typeterm, der
//der Argumente hat ersetzt PL 04-12-28
- Hashtable hts = new Hashtable();
+ Hashtable hts = new Hashtable();
//for(int u = nSubstStelle; u < vPara.size(); u++) {
for(int u = 0; u < vPara.size(); u++) {
try {
@@ -463,7 +451,7 @@ public class SourceFile
// ###########################################################
inferencelog.debug("Typterm_Name: " + vPara.elementAt(u));
inferencelog.debug("Typterm_Name: " + ((Type)vPara.elementAt(u)).Type2String());
- hts.put(((RefType)PSuchen.TA1).getParaN(u), vPara.elementAt(u));
+ hts.put(new JavaClassName(((RefType)PSuchen.TA1).getParaN(u)), vPara.elementAt(u));
}
catch( Exception E ) {
inferencelog.error(E.getMessage());
@@ -528,7 +516,7 @@ public class SourceFile
RefType RSuch = (RefType)PSuch.TA1;
//if( R.getName().equals(RSuch.getName()) )
- if (R.is_Equiv(RSuch, new Hashtable())) //eingefuegt PL 05-01-07
+ if (R.is_Equiv(RSuch, new Hashtable())) //eingefuegt PL 05-01-07
{
// Paar einfuegen, falls noch nicht vorhanden
RefType L1 = (RefType)PTemp.getTA1Copy();
@@ -539,10 +527,10 @@ public class SourceFile
//zunaechst Variablen disjunkt machen ANFANG
// #JB# 05.04.2005
// ###########################################################
- Hashtable substHash1 = new Hashtable();
+ Hashtable substHash1 = new Hashtable();
Unify.varSubst(L1, substHash1);
Unify.varSubst(L2, substHash1);
- Hashtable substHash2 = new Hashtable();
+ Hashtable substHash2 = new Hashtable();
Unify.varSubst(R1, substHash2);
Unify.varSubst(R2, substHash2);
// ###########################################################
@@ -553,9 +541,9 @@ public class SourceFile
// #JB# 05.04.2005
// ###########################################################
- Hashtable h = new Hashtable();
+ Hashtable h = new Hashtable