minijava.visitor
Class GJNoArguDepthFirst<R>

java.lang.Object
  extended by minijava.visitor.GJNoArguDepthFirst<R>
All Implemented Interfaces:
GJNoArguVisitor<R>

public class GJNoArguDepthFirst<R>
extends java.lang.Object
implements GJNoArguVisitor<R>

Provides default methods which visit each node in the tree in depth-first order. Your visitors may extend this class.


Constructor Summary
GJNoArguDepthFirst()
           
 
Method Summary
 R visit(AllocationExpression n)
           nodeToken -> "new" identifier -> Identifier() nodeToken1 -> "(" nodeToken2 -> ")"
 R visit(AndExpression n)
           primaryExpression -> PrimaryExpression() nodeToken -> "&&" primaryExpression1 -> PrimaryExpression()
 R visit(ArrayAllocationExpression n)
           nodeToken -> "new" nodeToken1 -> "int" nodeToken2 -> "[" expression -> Expression() nodeToken3 -> "]"
 R visit(ArrayAssignmentStatement n)
           identifier -> Identifier() nodeToken -> "[" expression -> Expression() nodeToken1 -> "]" nodeToken2 -> "=" expression1 -> Expression() nodeToken3 -> ";"
 R visit(ArrayLength n)
           primaryExpression -> PrimaryExpression() nodeToken -> "." nodeToken1 -> "length"
 R visit(ArrayLookup n)
           primaryExpression -> PrimaryExpression() nodeToken -> "[" primaryExpression1 -> PrimaryExpression() nodeToken1 -> "]"
 R visit(ArrayType n)
           nodeToken -> "int" nodeToken1 -> "[" nodeToken2 -> "]"
 R visit(AssignmentStatement n)
           identifier -> Identifier() nodeToken -> "=" expression -> Expression() nodeToken1 -> ";"
 R visit(Block n)
           nodeToken -> "{" nodeListOptional -> ( Statement() )* nodeToken1 -> "}"
 R visit(BooleanType n)
           nodeToken -> "boolean"
 R visit(BracketExpression n)
           nodeToken -> "(" expression -> Expression() nodeToken1 -> ")"
 R visit(ClassDeclaration n)
           nodeToken -> "class" identifier -> Identifier() nodeToken1 -> "{" nodeListOptional -> ( VarDeclaration() )* nodeListOptional1 -> ( MethodDeclaration() )* nodeToken2 -> "}"
 R visit(ClassExtendsDeclaration n)
           nodeToken -> "class" identifier -> Identifier() nodeToken1 -> "extends" identifier1 -> Identifier() nodeToken2 -> "{" nodeListOptional -> ( VarDeclaration() )* nodeListOptional1 -> ( MethodDeclaration() )* nodeToken3 -> "}"
 R visit(CompareExpression n)
           primaryExpression -> PrimaryExpression() nodeToken -> "<" primaryExpression1 -> PrimaryExpression()
 R visit(Expression n)
           nodeChoice -> AndExpression() | CompareExpression() | PlusExpression() | MinusExpression() | TimesExpression() | ArrayLookup() | ArrayLength() | MessageSend() | PrimaryExpression()
 R visit(ExpressionList n)
           expression -> Expression() nodeListOptional -> ( ExpressionRest() )*
 R visit(ExpressionRest n)
           nodeToken -> "," expression -> Expression()
 R visit(FalseLiteral n)
           nodeToken -> "false"
 R visit(FormalParameter n)
           type -> Type() identifier -> Identifier()
 R visit(FormalParameterList n)
           formalParameter -> FormalParameter() nodeListOptional -> ( FormalParameterRest() )*
 R visit(FormalParameterRest n)
           nodeToken -> "," formalParameter -> FormalParameter()
 R visit(Goal n)
           mainClass -> MainClass() nodeListOptional -> ( TypeDeclaration() )* nodeToken -> <EOF>
 R visit(Identifier n)
           nodeToken -> <IDENTIFIER>
 R visit(IfStatement n)
           nodeToken -> "if" nodeToken1 -> "(" expression -> Expression() nodeToken2 -> ")" statement -> Statement() nodeToken3 -> "else" statement1 -> Statement()
 R visit(IntegerLiteral n)
           nodeToken -> <INTEGER_LITERAL>
 R visit(IntegerType n)
           nodeToken -> "int"
 R visit(MainClass n)
           nodeToken -> "class" identifier -> Identifier() nodeToken1 -> "{" nodeToken2 -> "public" nodeToken3 -> "static" nodeToken4 -> "void" nodeToken5 -> "main" nodeToken6 -> "(" nodeToken7 -> "String" nodeToken8 -> "[" nodeToken9 -> "]" identifier1 -> Identifier() nodeToken10 -> ")" nodeToken11 -> "{" nodeListOptional -> ( VarDeclaration() )* nodeListOptional1 -> ( Statement() )* nodeToken12 -> "}" nodeToken13 -> "}"
 R visit(MessageSend n)
           primaryExpression -> PrimaryExpression() nodeToken -> "." identifier -> Identifier() nodeToken1 -> "(" nodeOptional -> ( ExpressionList() )? nodeToken2 -> ")"
 R visit(MethodDeclaration n)
           nodeToken -> "public" type -> Type() identifier -> Identifier() nodeToken1 -> "(" nodeOptional -> ( FormalParameterList() )? nodeToken2 -> ")" nodeToken3 -> "{" nodeListOptional -> ( VarDeclaration() )* nodeListOptional1 -> ( Statement() )* nodeToken4 -> "return" expression -> Expression() nodeToken5 -> ";" nodeToken6 -> "}"
 R visit(MinusExpression n)
           primaryExpression -> PrimaryExpression() nodeToken -> "-" primaryExpression1 -> PrimaryExpression()
 R visit(NodeList n)
           
 R visit(NodeListOptional n)
           
 R visit(NodeOptional n)
           
 R visit(NodeSequence n)
           
 R visit(NodeToken n)
           
 R visit(NotExpression n)
           nodeToken -> "!" expression -> Expression()
 R visit(PlusExpression n)
           primaryExpression -> PrimaryExpression() nodeToken -> "+" primaryExpression1 -> PrimaryExpression()
 R visit(PrimaryExpression n)
           nodeChoice -> IntegerLiteral() | TrueLiteral() | FalseLiteral() | Identifier() | ThisExpression() | ArrayAllocationExpression() | AllocationExpression() | NotExpression() | BracketExpression()
 R visit(PrintStatement n)
           nodeToken -> "System.out.println" nodeToken1 -> "(" expression -> Expression() nodeToken2 -> ")" nodeToken3 -> ";"
 R visit(Statement n)
           nodeChoice -> Block() | AssignmentStatement() | ArrayAssignmentStatement() | IfStatement() | WhileStatement() | PrintStatement()
 R visit(ThisExpression n)
           nodeToken -> "this"
 R visit(TimesExpression n)
           primaryExpression -> PrimaryExpression() nodeToken -> "*" primaryExpression1 -> PrimaryExpression()
 R visit(TrueLiteral n)
           nodeToken -> "true"
 R visit(Type n)
           nodeChoice -> ArrayType() | BooleanType() | IntegerType() | Identifier()
 R visit(TypeDeclaration n)
           nodeChoice -> ClassDeclaration() | ClassExtendsDeclaration()
 R visit(VarDeclaration n)
           type -> Type() identifier -> Identifier() nodeToken -> ";"
 R visit(WhileStatement n)
           nodeToken -> "while" nodeToken1 -> "(" expression -> Expression() nodeToken2 -> ")" statement -> Statement()
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GJNoArguDepthFirst

public GJNoArguDepthFirst()
Method Detail

visit

public R visit(NodeList n)
Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(NodeListOptional n)
Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(NodeOptional n)
Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(NodeSequence n)
Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(NodeToken n)
Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(Goal n)
 mainClass -> MainClass()
 nodeListOptional -> ( TypeDeclaration() )*
 nodeToken -> <EOF>
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(MainClass n)
 nodeToken -> "class"
 identifier -> Identifier()
 nodeToken1 -> "{"
 nodeToken2 -> "public"
 nodeToken3 -> "static"
 nodeToken4 -> "void"
 nodeToken5 -> "main"
 nodeToken6 -> "("
 nodeToken7 -> "String"
 nodeToken8 -> "["
 nodeToken9 -> "]"
 identifier1 -> Identifier()
 nodeToken10 -> ")"
 nodeToken11 -> "{"
 nodeListOptional -> ( VarDeclaration() )*
 nodeListOptional1 -> ( Statement() )*
 nodeToken12 -> "}"
 nodeToken13 -> "}"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(TypeDeclaration n)
 nodeChoice -> ClassDeclaration()
       | ClassExtendsDeclaration()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(ClassDeclaration n)
 nodeToken -> "class"
 identifier -> Identifier()
 nodeToken1 -> "{"
 nodeListOptional -> ( VarDeclaration() )*
 nodeListOptional1 -> ( MethodDeclaration() )*
 nodeToken2 -> "}"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(ClassExtendsDeclaration n)
 nodeToken -> "class"
 identifier -> Identifier()
 nodeToken1 -> "extends"
 identifier1 -> Identifier()
 nodeToken2 -> "{"
 nodeListOptional -> ( VarDeclaration() )*
 nodeListOptional1 -> ( MethodDeclaration() )*
 nodeToken3 -> "}"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(VarDeclaration n)
 type -> Type()
 identifier -> Identifier()
 nodeToken -> ";"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(MethodDeclaration n)
 nodeToken -> "public"
 type -> Type()
 identifier -> Identifier()
 nodeToken1 -> "("
 nodeOptional -> ( FormalParameterList() )?
 nodeToken2 -> ")"
 nodeToken3 -> "{"
 nodeListOptional -> ( VarDeclaration() )*
 nodeListOptional1 -> ( Statement() )*
 nodeToken4 -> "return"
 expression -> Expression()
 nodeToken5 -> ";"
 nodeToken6 -> "}"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(FormalParameterList n)
 formalParameter -> FormalParameter()
 nodeListOptional -> ( FormalParameterRest() )*
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(FormalParameter n)
 type -> Type()
 identifier -> Identifier()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(FormalParameterRest n)
 nodeToken -> ","
 formalParameter -> FormalParameter()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(Type n)
 nodeChoice -> ArrayType()
       | BooleanType()
       | IntegerType()
       | Identifier()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(ArrayType n)
 nodeToken -> "int"
 nodeToken1 -> "["
 nodeToken2 -> "]"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(BooleanType n)
 nodeToken -> "boolean"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(IntegerType n)
 nodeToken -> "int"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(Statement n)
 nodeChoice -> Block()
       | AssignmentStatement()
       | ArrayAssignmentStatement()
       | IfStatement()
       | WhileStatement()
       | PrintStatement()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(Block n)
 nodeToken -> "{"
 nodeListOptional -> ( Statement() )*
 nodeToken1 -> "}"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(AssignmentStatement n)
 identifier -> Identifier()
 nodeToken -> "="
 expression -> Expression()
 nodeToken1 -> ";"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(ArrayAssignmentStatement n)
 identifier -> Identifier()
 nodeToken -> "["
 expression -> Expression()
 nodeToken1 -> "]"
 nodeToken2 -> "="
 expression1 -> Expression()
 nodeToken3 -> ";"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(IfStatement n)
 nodeToken -> "if"
 nodeToken1 -> "("
 expression -> Expression()
 nodeToken2 -> ")"
 statement -> Statement()
 nodeToken3 -> "else"
 statement1 -> Statement()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(WhileStatement n)
 nodeToken -> "while"
 nodeToken1 -> "("
 expression -> Expression()
 nodeToken2 -> ")"
 statement -> Statement()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(PrintStatement n)
 nodeToken -> "System.out.println"
 nodeToken1 -> "("
 expression -> Expression()
 nodeToken2 -> ")"
 nodeToken3 -> ";"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(Expression n)
 nodeChoice -> AndExpression()
       | CompareExpression()
       | PlusExpression()
       | MinusExpression()
       | TimesExpression()
       | ArrayLookup()
       | ArrayLength()
       | MessageSend()
       | PrimaryExpression()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(AndExpression n)
 primaryExpression -> PrimaryExpression()
 nodeToken -> "&&"
 primaryExpression1 -> PrimaryExpression()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(CompareExpression n)
 primaryExpression -> PrimaryExpression()
 nodeToken -> "<"
 primaryExpression1 -> PrimaryExpression()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(PlusExpression n)
 primaryExpression -> PrimaryExpression()
 nodeToken -> "+"
 primaryExpression1 -> PrimaryExpression()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(MinusExpression n)
 primaryExpression -> PrimaryExpression()
 nodeToken -> "-"
 primaryExpression1 -> PrimaryExpression()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(TimesExpression n)
 primaryExpression -> PrimaryExpression()
 nodeToken -> "*"
 primaryExpression1 -> PrimaryExpression()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(ArrayLookup n)
 primaryExpression -> PrimaryExpression()
 nodeToken -> "["
 primaryExpression1 -> PrimaryExpression()
 nodeToken1 -> "]"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(ArrayLength n)
 primaryExpression -> PrimaryExpression()
 nodeToken -> "."
 nodeToken1 -> "length"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(MessageSend n)
 primaryExpression -> PrimaryExpression()
 nodeToken -> "."
 identifier -> Identifier()
 nodeToken1 -> "("
 nodeOptional -> ( ExpressionList() )?
 nodeToken2 -> ")"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(ExpressionList n)
 expression -> Expression()
 nodeListOptional -> ( ExpressionRest() )*
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(ExpressionRest n)
 nodeToken -> ","
 expression -> Expression()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(PrimaryExpression n)
 nodeChoice -> IntegerLiteral()
       | TrueLiteral()
       | FalseLiteral()
       | Identifier()
       | ThisExpression()
       | ArrayAllocationExpression()
       | AllocationExpression()
       | NotExpression()
       | BracketExpression()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(IntegerLiteral n)
 nodeToken -> <INTEGER_LITERAL>
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(TrueLiteral n)
 nodeToken -> "true"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(FalseLiteral n)
 nodeToken -> "false"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(Identifier n)
 nodeToken -> <IDENTIFIER>
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(ThisExpression n)
 nodeToken -> "this"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(ArrayAllocationExpression n)
 nodeToken -> "new"
 nodeToken1 -> "int"
 nodeToken2 -> "["
 expression -> Expression()
 nodeToken3 -> "]"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(AllocationExpression n)
 nodeToken -> "new"
 identifier -> Identifier()
 nodeToken1 -> "("
 nodeToken2 -> ")"
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(NotExpression n)
 nodeToken -> "!"
 expression -> Expression()
 

Specified by:
visit in interface GJNoArguVisitor<R>

visit

public R visit(BracketExpression n)
 nodeToken -> "("
 expression -> Expression()
 nodeToken1 -> ")"
 

Specified by:
visit in interface GJNoArguVisitor<R>