EDU.purdue.jtb.visitor
Interface Visitor

All Known Implementing Classes:
Annotator, ClassGenerator, DepthFirstVisitor, ExpansionUnitTypeCounter, JavaPrinter, Printer, SchemeSemanticChecker, SemanticChecker, TokenTableBuilder

public interface Visitor

All void visitors must implement this interface.


Method Summary
 void visit(AdditiveExpression n)
          f0 -> MultiplicativeExpression() f1 -> ( ( "+" | "-" ) MultiplicativeExpression() )*
 void visit(AllocationExpression n)
          f0 -> "new" PrimitiveType() ArrayDimensions() [ ArrayInitializer() ] | "new" Name() ( ArrayDimensions() [ ArrayInitializer() ] | Arguments() [ ClassBody() ] )
 void visit(AndExpression n)
          f0 -> EqualityExpression() f1 -> ( "&" EqualityExpression() )*
 void visit(ArgumentList n)
          f0 -> Expression() f1 -> ( "," Expression() )*
 void visit(Arguments n)
          f0 -> "(" f1 -> [ ArgumentList() ] f2 -> ")"
 void visit(ArrayDimensions n)
          f0 -> ( "[" Expression() "]" )+ f1 -> ( "[" "]" )*
 void visit(ArrayInitializer n)
          f0 -> "{" f1 -> [ VariableInitializer() ( "," VariableInitializer() )* ] f2 -> [ "," ] f3 -> "}"
 void visit(Assignment n)
          f0 -> PrimaryExpression() f1 -> AssignmentOperator() f2 -> Expression()
 void visit(AssignmentOperator n)
          f0 -> "=" | "*=" | "/=" | "%=" | "+=" | "-=" | "<<=" | ">>=" | ">>>=" | "&=" | "^=" | "|="
 void visit(Block n)
          f0 -> "{" f1 -> ( BlockStatement() )* f2 -> "}"
 void visit(BlockStatement n)
          f0 -> LocalVariableDeclaration() ";" | Statement() | UnmodifiedClassDeclaration()
 void visit(BNFProduction n)
          f0 -> ResultType() f1 -> f2 -> FormalParameters() f3 -> f4 -> "{" f5 -> ( BlockStatement() )* f6 -> "}" f7 -> f8 -> ExpansionChoices() f9 ->
 void visit(BooleanLiteral n)
          f0 -> "true" | "false"
 void visit(BreakStatement n)
          f0 -> "break" f1 -> [ ] f2 -> ";"
 void visit(CastExpression n)
          f0 -> "(" Type() ")" UnaryExpression() | "(" Type() ")" UnaryExpressionNotPlusMinus()
 void visit(CastLookahead n)
          f0 -> "(" PrimitiveType() | "(" Name() "[" "]" | "(" Name() ")" ( "~" | "!" | "(" | | "this" | "super" | "new" | Literal() )
 void visit(CharacterDescriptor n)
          f0 -> f1 -> [ ]
 void visit(CharacterList n)
          f0 -> [ ] f1 -> f2 -> [ CharacterDescriptor() ( CharacterDescriptor() )* ] f3 ->
 void visit(ClassBody n)
          f0 -> "{" f1 -> ( ClassBodyDeclaration() )* f2 -> "}"
 void visit(ClassBodyDeclaration n)
          f0 -> Initializer() | NestedClassDeclaration() | NestedInterfaceDeclaration() | ConstructorDeclaration() | MethodDeclaration() | FieldDeclaration()
 void visit(ClassDeclaration n)
          f0 -> ( "abstract" | "final" | "public" )* f1 -> UnmodifiedClassDeclaration()
 void visit(CompilationUnit n)
          f0 -> [ PackageDeclaration() ] f1 -> ( ImportDeclaration() )* f2 -> ( TypeDeclaration() )*
 void visit(ComplexRegularExpression n)
          f0 -> ( ComplexRegularExpressionUnit() )*
 void visit(ComplexRegularExpressionChoices n)
          f0 -> ComplexRegularExpression() f1 -> ( ComplexRegularExpression() )*
 void visit(ComplexRegularExpressionUnit n)
          f0 -> | | CharacterList() | ComplexRegularExpressionChoices() [ | | ]
 void visit(ConditionalAndExpression n)
          f0 -> InclusiveOrExpression() f1 -> ( "&&" InclusiveOrExpression() )*
 void visit(ConditionalExpression n)
          f0 -> ConditionalOrExpression() f1 -> [ "?" Expression() ":" ConditionalExpression() ]
 void visit(ConditionalOrExpression n)
          f0 -> ConditionalAndExpression() f1 -> ( "||" ConditionalAndExpression() )*
 void visit(ConstructorDeclaration n)
          f0 -> [ "public" | "protected" | "private" ] f1 -> f2 -> FormalParameters() f3 -> [ "throws" NameList() ] f4 -> "{" f5 -> [ ExplicitConstructorInvocation() ] f6 -> ( BlockStatement() )* f7 -> "}"
 void visit(ContinueStatement n)
          f0 -> "continue" f1 -> [ ] f2 -> ";"
 void visit(DoStatement n)
          f0 -> "do" f1 -> Statement() f2 -> "while" f3 -> "(" f4 -> Expression() f5 -> ")" f6 -> ";"
 void visit(EmptyStatement n)
          f0 -> ";"
 void visit(EqualityExpression n)
          f0 -> InstanceOfExpression() f1 -> ( ( "==" | "!=" ) InstanceOfExpression() )*
 void visit(ExclusiveOrExpression n)
          f0 -> AndExpression() f1 -> ( "^" AndExpression() )*
 void visit(Expansion n)
          f0 -> ( ExpansionUnit() )*
 void visit(ExpansionChoices n)
          f0 -> Expansion() f1 -> ( Expansion() )*
 void visit(ExpansionUnit n)
          f0 -> LocalLookahead() | Block() | ExpansionChoices() [ | | ] | ExpansionChoices() | [ PrimaryExpression() ] ExpansionUnitTerm()
 void visit(ExpansionUnitTerm n)
          f0 -> RegularExpression() | Arguments()
 void visit(ExplicitConstructorInvocation n)
          f0 -> "this" Arguments() ";" | [ PrimaryExpression() "." ] "super" Arguments() ";"
 void visit(Expression n)
          f0 -> Assignment() | ConditionalExpression()
 void visit(FieldDeclaration n)
          f0 -> ( "public" | "protected" | "private" | "static" | "final" | "transient" | "volatile" )* f1 -> Type() f2 -> VariableDeclarator() f3 -> ( "," VariableDeclarator() )* f4 -> ";"
 void visit(ForInit n)
          f0 -> LocalVariableDeclaration() | StatementExpressionList()
 void visit(FormalParameter n)
          f0 -> [ "final" ] f1 -> Type() f2 -> VariableDeclaratorId()
 void visit(FormalParameters n)
          f0 -> "(" f1 -> [ FormalParameter() ( "," FormalParameter() )* ] f2 -> ")"
 void visit(ForStatement n)
          f0 -> "for" f1 -> "(" f2 -> [ ForInit() ] f3 -> ";" f4 -> [ Expression() ] f5 -> ";" f6 -> [ ForUpdate() ] f7 -> ")" f8 -> Statement()
 void visit(ForUpdate n)
          f0 -> StatementExpressionList()
 void visit(IfStatement n)
          f0 -> "if" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> Statement() f5 -> [ "else" Statement() ]
 void visit(ImportDeclaration n)
          f0 -> "import" f1 -> Name() f2 -> [ "." "*" ] f3 -> ";"
 void visit(InclusiveOrExpression n)
          f0 -> ExclusiveOrExpression() f1 -> ( "|" ExclusiveOrExpression() )*
 void visit(Initializer n)
          f0 -> [ "static" ] f1 -> Block()
 void visit(InstanceOfExpression n)
          f0 -> RelationalExpression() f1 -> [ "instanceof" Type() ]
 void visit(InterfaceDeclaration n)
          f0 -> ( "abstract" | "public" )* f1 -> UnmodifiedInterfaceDeclaration()
 void visit(InterfaceMemberDeclaration n)
          f0 -> NestedClassDeclaration() | NestedInterfaceDeclaration() | MethodDeclaration() | FieldDeclaration()
 void visit(JavaCCInput n)
          f0 -> JavaCCOptions() f1 -> f2 -> f3 -> f4 -> f5 -> CompilationUnit() f6 -> f7 -> f8 -> f9 -> f10 -> ( Production() )* f11 ->
 void visit(JavaCCOptions n)
          f0 -> [ ( OptionBinding() )* ]
 void visit(JavaCodeProduction n)
          f0 -> f1 -> ResultType() f2 -> f3 -> FormalParameters() f4 -> Block()
 void visit(LabeledStatement n)
          f0 -> f1 -> ":" f2 -> Statement()
 void visit(LexicalStateList n)
          f0 -> | ( )*
 void visit(Literal n)
          f0 -> | | | | BooleanLiteral() | NullLiteral()
 void visit(LocalLookahead n)
          f0 -> f1 -> f2 -> [ ] f3 -> [ ] f4 -> ExpansionChoices() f5 -> [ ] f6 -> [ Expression() ] f7 ->
 void visit(LocalVariableDeclaration n)
          f0 -> [ "final" ] f1 -> Type() f2 -> VariableDeclarator() f3 -> ( "," VariableDeclarator() )*
 void visit(MethodDeclaration n)
          f0 -> ( "public" | "protected" | "private" | "static" | "abstract" | "final" | "native" | "synchronized" )* f1 -> ResultType() f2 -> MethodDeclarator() f3 -> [ "throws" NameList() ] f4 -> ( Block() | ";" )
 void visit(MethodDeclarationLookahead n)
          f0 -> ( "public" | "protected" | "private" | "static" | "abstract" | "final" | "native" | "synchronized" )* f1 -> ResultType() f2 -> f3 -> "("
 void visit(MethodDeclarator n)
          f0 -> f1 -> FormalParameters() f2 -> ( "[" "]" )*
 void visit(MultiplicativeExpression n)
          f0 -> UnaryExpression() f1 -> ( ( "*" | "/" | "%" ) UnaryExpression() )*
 void visit(Name n)
          f0 -> f1 -> ( "." )*
 void visit(NameList n)
          f0 -> Name() f1 -> ( "," Name() )*
 void visit(NestedClassDeclaration n)
          f0 -> ( "static" | "abstract" | "final" | "public" | "protected" | "private" )* f1 -> UnmodifiedClassDeclaration()
 void visit(NestedInterfaceDeclaration n)
          f0 -> ( "static" | "abstract" | "final" | "public" | "protected" | "private" )* f1 -> UnmodifiedInterfaceDeclaration()
 void visit(NodeList n)
           
 void visit(NodeListOptional n)
           
 void visit(NodeOptional n)
           
 void visit(NodeSequence n)
           
 void visit(NodeToken n)
           
 void visit(NullLiteral n)
          f0 -> "null"
 void visit(OptionBinding n)
          f0 -> ( | | | ) f1 -> f2 -> ( | BooleanLiteral() | ) f3 ->
 void visit(PackageDeclaration n)
          f0 -> "package" f1 -> Name() f2 -> ";"
 void visit(PostfixExpression n)
          f0 -> PrimaryExpression() f1 -> [ "++" | "--" ]
 void visit(PreDecrementExpression n)
          f0 -> "--" f1 -> PrimaryExpression()
 void visit(PreIncrementExpression n)
          f0 -> "++" f1 -> PrimaryExpression()
 void visit(PrimaryExpression n)
          f0 -> PrimaryPrefix() f1 -> ( PrimarySuffix() )*
 void visit(PrimaryPrefix n)
          f0 -> Literal() | Name() | "this" | "super" "." | "(" Expression() ")" | AllocationExpression()
 void visit(PrimarySuffix n)
          f0 -> "." "this" | "." "class" | "." AllocationExpression() | "[" Expression() "]" | "." | Arguments()
 void visit(PrimitiveType n)
          f0 -> "boolean" | "char" | "byte" | "short" | "int" | "long" | "float" | "double"
 void visit(Production n)
          f0 -> JavaCodeProduction() | RegularExprProduction() | BNFProduction() | TokenManagerDecls()
 void visit(RegExprKind n)
          f0 -> | | |
 void visit(RegExprSpec n)
          f0 -> RegularExpression() f1 -> [ Block() ] f2 -> [ ]
 void visit(RegularExpression n)
          f0 -> | [ [ ] ] ComplexRegularExpressionChoices() | |
 void visit(RegularExprProduction n)
          f0 -> [ LexicalStateList() ] f1 -> RegExprKind() f2 -> [ ] f3 -> f4 -> f5 -> RegExprSpec() f6 -> ( RegExprSpec() )* f7 ->
 void visit(RelationalExpression n)
          f0 -> ShiftExpression() f1 -> ( ( "<" | ">" | "<=" | ">=" ) ShiftExpression() )*
 void visit(ResultType n)
          f0 -> "void" | Type()
 void visit(ReturnStatement n)
          f0 -> "return" f1 -> [ Expression() ] f2 -> ";"
 void visit(ShiftExpression n)
          f0 -> AdditiveExpression() f1 -> ( ( "<<" | ">>" | ">>>" ) AdditiveExpression() )*
 void visit(Statement n)
          f0 -> LabeledStatement() | Block() | EmptyStatement() | StatementExpression() ";" | SwitchStatement() | IfStatement() | WhileStatement() | DoStatement() | ForStatement() | BreakStatement() | ContinueStatement() | ReturnStatement() | ThrowStatement() | SynchronizedStatement() | TryStatement()
 void visit(StatementExpression n)
          f0 -> PreIncrementExpression() | PreDecrementExpression() | Assignment() | PostfixExpression()
 void visit(StatementExpressionList n)
          f0 -> StatementExpression() f1 -> ( "," StatementExpression() )*
 void visit(SwitchLabel n)
          f0 -> "case" Expression() ":" | "default" ":"
 void visit(SwitchStatement n)
          f0 -> "switch" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> "{" f5 -> ( SwitchLabel() ( BlockStatement() )* )* f6 -> "}"
 void visit(SynchronizedStatement n)
          f0 -> "synchronized" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> Block()
 void visit(ThrowStatement n)
          f0 -> "throw" f1 -> Expression() f2 -> ";"
 void visit(TokenManagerDecls n)
          f0 -> f1 -> f2 -> ClassBody()
 void visit(TryStatement n)
          f0 -> "try" f1 -> Block() f2 -> ( "catch" "(" FormalParameter() ")" Block() )* f3 -> [ "finally" Block() ]
 void visit(Type n)
          f0 -> ( PrimitiveType() | Name() ) f1 -> ( "[" "]" )*
 void visit(TypeDeclaration n)
          f0 -> ClassDeclaration() | InterfaceDeclaration() | ";"
 void visit(UnaryExpression n)
          f0 -> ( "+" | "-" ) UnaryExpression() | PreIncrementExpression() | PreDecrementExpression() | UnaryExpressionNotPlusMinus()
 void visit(UnaryExpressionNotPlusMinus n)
          f0 -> ( "~" | "!" ) UnaryExpression() | CastExpression() | PostfixExpression()
 void visit(UnmodifiedClassDeclaration n)
          f0 -> "class" f1 -> f2 -> [ "extends" Name() ] f3 -> [ "implements" NameList() ] f4 -> ClassBody()
 void visit(UnmodifiedInterfaceDeclaration n)
          f0 -> "interface" f1 -> f2 -> [ "extends" NameList() ] f3 -> "{" f4 -> ( InterfaceMemberDeclaration() )* f5 -> "}"
 void visit(VariableDeclarator n)
          f0 -> VariableDeclaratorId() f1 -> [ "=" VariableInitializer() ]
 void visit(VariableDeclaratorId n)
          f0 -> f1 -> ( "[" "]" )*
 void visit(VariableInitializer n)
          f0 -> ArrayInitializer() | Expression()
 void visit(WhileStatement n)
          f0 -> "while" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> Statement()
 

Method Detail

visit

void visit(NodeList n)

visit

void visit(NodeListOptional n)

visit

void visit(NodeOptional n)

visit

void visit(NodeSequence n)

visit

void visit(NodeToken n)

visit

void visit(CompilationUnit n)
f0 -> [ PackageDeclaration() ] f1 -> ( ImportDeclaration() )* f2 -> ( TypeDeclaration() )*


visit

void visit(PackageDeclaration n)
f0 -> "package" f1 -> Name() f2 -> ";"


visit

void visit(ImportDeclaration n)
f0 -> "import" f1 -> Name() f2 -> [ "." "*" ] f3 -> ";"


visit

void visit(TypeDeclaration n)
f0 -> ClassDeclaration() | InterfaceDeclaration() | ";"


visit

void visit(ClassDeclaration n)
f0 -> ( "abstract" | "final" | "public" )* f1 -> UnmodifiedClassDeclaration()


visit

void visit(UnmodifiedClassDeclaration n)
f0 -> "class" f1 -> f2 -> [ "extends" Name() ] f3 -> [ "implements" NameList() ] f4 -> ClassBody()


visit

void visit(ClassBody n)
f0 -> "{" f1 -> ( ClassBodyDeclaration() )* f2 -> "}"


visit

void visit(NestedClassDeclaration n)
f0 -> ( "static" | "abstract" | "final" | "public" | "protected" | "private" )* f1 -> UnmodifiedClassDeclaration()


visit

void visit(ClassBodyDeclaration n)
f0 -> Initializer() | NestedClassDeclaration() | NestedInterfaceDeclaration() | ConstructorDeclaration() | MethodDeclaration() | FieldDeclaration()


visit

void visit(MethodDeclarationLookahead n)
f0 -> ( "public" | "protected" | "private" | "static" | "abstract" | "final" | "native" | "synchronized" )* f1 -> ResultType() f2 -> f3 -> "("


visit

void visit(InterfaceDeclaration n)
f0 -> ( "abstract" | "public" )* f1 -> UnmodifiedInterfaceDeclaration()


visit

void visit(NestedInterfaceDeclaration n)
f0 -> ( "static" | "abstract" | "final" | "public" | "protected" | "private" )* f1 -> UnmodifiedInterfaceDeclaration()


visit

void visit(UnmodifiedInterfaceDeclaration n)
f0 -> "interface" f1 -> f2 -> [ "extends" NameList() ] f3 -> "{" f4 -> ( InterfaceMemberDeclaration() )* f5 -> "}"


visit

void visit(InterfaceMemberDeclaration n)
f0 -> NestedClassDeclaration() | NestedInterfaceDeclaration() | MethodDeclaration() | FieldDeclaration()


visit

void visit(FieldDeclaration n)
f0 -> ( "public" | "protected" | "private" | "static" | "final" | "transient" | "volatile" )* f1 -> Type() f2 -> VariableDeclarator() f3 -> ( "," VariableDeclarator() )* f4 -> ";"


visit

void visit(VariableDeclarator n)
f0 -> VariableDeclaratorId() f1 -> [ "=" VariableInitializer() ]


visit

void visit(VariableDeclaratorId n)
f0 -> f1 -> ( "[" "]" )*


visit

void visit(VariableInitializer n)
f0 -> ArrayInitializer() | Expression()


visit

void visit(ArrayInitializer n)
f0 -> "{" f1 -> [ VariableInitializer() ( "," VariableInitializer() )* ] f2 -> [ "," ] f3 -> "}"


visit

void visit(MethodDeclaration n)
f0 -> ( "public" | "protected" | "private" | "static" | "abstract" | "final" | "native" | "synchronized" )* f1 -> ResultType() f2 -> MethodDeclarator() f3 -> [ "throws" NameList() ] f4 -> ( Block() | ";" )


visit

void visit(MethodDeclarator n)
f0 -> f1 -> FormalParameters() f2 -> ( "[" "]" )*


visit

void visit(FormalParameters n)
f0 -> "(" f1 -> [ FormalParameter() ( "," FormalParameter() )* ] f2 -> ")"


visit

void visit(FormalParameter n)
f0 -> [ "final" ] f1 -> Type() f2 -> VariableDeclaratorId()


visit

void visit(ConstructorDeclaration n)
f0 -> [ "public" | "protected" | "private" ] f1 -> f2 -> FormalParameters() f3 -> [ "throws" NameList() ] f4 -> "{" f5 -> [ ExplicitConstructorInvocation() ] f6 -> ( BlockStatement() )* f7 -> "}"


visit

void visit(ExplicitConstructorInvocation n)
f0 -> "this" Arguments() ";" | [ PrimaryExpression() "." ] "super" Arguments() ";"


visit

void visit(Initializer n)
f0 -> [ "static" ] f1 -> Block()


visit

void visit(Type n)
f0 -> ( PrimitiveType() | Name() ) f1 -> ( "[" "]" )*


visit

void visit(PrimitiveType n)
f0 -> "boolean" | "char" | "byte" | "short" | "int" | "long" | "float" | "double"


visit

void visit(ResultType n)
f0 -> "void" | Type()


visit

void visit(Name n)
f0 -> f1 -> ( "." )*


visit

void visit(NameList n)
f0 -> Name() f1 -> ( "," Name() )*


visit

void visit(Expression n)
f0 -> Assignment() | ConditionalExpression()


visit

void visit(Assignment n)
f0 -> PrimaryExpression() f1 -> AssignmentOperator() f2 -> Expression()


visit

void visit(AssignmentOperator n)
f0 -> "=" | "*=" | "/=" | "%=" | "+=" | "-=" | "<<=" | ">>=" | ">>>=" | "&=" | "^=" | "|="


visit

void visit(ConditionalExpression n)
f0 -> ConditionalOrExpression() f1 -> [ "?" Expression() ":" ConditionalExpression() ]


visit

void visit(ConditionalOrExpression n)
f0 -> ConditionalAndExpression() f1 -> ( "||" ConditionalAndExpression() )*


visit

void visit(ConditionalAndExpression n)
f0 -> InclusiveOrExpression() f1 -> ( "&&" InclusiveOrExpression() )*


visit

void visit(InclusiveOrExpression n)
f0 -> ExclusiveOrExpression() f1 -> ( "|" ExclusiveOrExpression() )*


visit

void visit(ExclusiveOrExpression n)
f0 -> AndExpression() f1 -> ( "^" AndExpression() )*


visit

void visit(AndExpression n)
f0 -> EqualityExpression() f1 -> ( "&" EqualityExpression() )*


visit

void visit(EqualityExpression n)
f0 -> InstanceOfExpression() f1 -> ( ( "==" | "!=" ) InstanceOfExpression() )*


visit

void visit(InstanceOfExpression n)
f0 -> RelationalExpression() f1 -> [ "instanceof" Type() ]


visit

void visit(RelationalExpression n)
f0 -> ShiftExpression() f1 -> ( ( "<" | ">" | "<=" | ">=" ) ShiftExpression() )*


visit

void visit(ShiftExpression n)
f0 -> AdditiveExpression() f1 -> ( ( "<<" | ">>" | ">>>" ) AdditiveExpression() )*


visit

void visit(AdditiveExpression n)
f0 -> MultiplicativeExpression() f1 -> ( ( "+" | "-" ) MultiplicativeExpression() )*


visit

void visit(MultiplicativeExpression n)
f0 -> UnaryExpression() f1 -> ( ( "*" | "/" | "%" ) UnaryExpression() )*


visit

void visit(UnaryExpression n)
f0 -> ( "+" | "-" ) UnaryExpression() | PreIncrementExpression() | PreDecrementExpression() | UnaryExpressionNotPlusMinus()


visit

void visit(PreIncrementExpression n)
f0 -> "++" f1 -> PrimaryExpression()


visit

void visit(PreDecrementExpression n)
f0 -> "--" f1 -> PrimaryExpression()


visit

void visit(UnaryExpressionNotPlusMinus n)
f0 -> ( "~" | "!" ) UnaryExpression() | CastExpression() | PostfixExpression()


visit

void visit(CastLookahead n)
f0 -> "(" PrimitiveType() | "(" Name() "[" "]" | "(" Name() ")" ( "~" | "!" | "(" | | "this" | "super" | "new" | Literal() )


visit

void visit(PostfixExpression n)
f0 -> PrimaryExpression() f1 -> [ "++" | "--" ]


visit

void visit(CastExpression n)
f0 -> "(" Type() ")" UnaryExpression() | "(" Type() ")" UnaryExpressionNotPlusMinus()


visit

void visit(PrimaryExpression n)
f0 -> PrimaryPrefix() f1 -> ( PrimarySuffix() )*


visit

void visit(PrimaryPrefix n)
f0 -> Literal() | Name() | "this" | "super" "." | "(" Expression() ")" | AllocationExpression()


visit

void visit(PrimarySuffix n)
f0 -> "." "this" | "." "class" | "." AllocationExpression() | "[" Expression() "]" | "." | Arguments()


visit

void visit(Literal n)
f0 -> | | | | BooleanLiteral() | NullLiteral()


visit

void visit(BooleanLiteral n)
f0 -> "true" | "false"


visit

void visit(NullLiteral n)
f0 -> "null"


visit

void visit(Arguments n)
f0 -> "(" f1 -> [ ArgumentList() ] f2 -> ")"


visit

void visit(ArgumentList n)
f0 -> Expression() f1 -> ( "," Expression() )*


visit

void visit(AllocationExpression n)
f0 -> "new" PrimitiveType() ArrayDimensions() [ ArrayInitializer() ] | "new" Name() ( ArrayDimensions() [ ArrayInitializer() ] | Arguments() [ ClassBody() ] )


visit

void visit(ArrayDimensions n)
f0 -> ( "[" Expression() "]" )+ f1 -> ( "[" "]" )*


visit

void visit(Statement n)
f0 -> LabeledStatement() | Block() | EmptyStatement() | StatementExpression() ";" | SwitchStatement() | IfStatement() | WhileStatement() | DoStatement() | ForStatement() | BreakStatement() | ContinueStatement() | ReturnStatement() | ThrowStatement() | SynchronizedStatement() | TryStatement()


visit

void visit(LabeledStatement n)
f0 -> f1 -> ":" f2 -> Statement()


visit

void visit(Block n)
f0 -> "{" f1 -> ( BlockStatement() )* f2 -> "}"


visit

void visit(BlockStatement n)
f0 -> LocalVariableDeclaration() ";" | Statement() | UnmodifiedClassDeclaration()


visit

void visit(LocalVariableDeclaration n)
f0 -> [ "final" ] f1 -> Type() f2 -> VariableDeclarator() f3 -> ( "," VariableDeclarator() )*


visit

void visit(EmptyStatement n)
f0 -> ";"


visit

void visit(StatementExpression n)
f0 -> PreIncrementExpression() | PreDecrementExpression() | Assignment() | PostfixExpression()


visit

void visit(SwitchStatement n)
f0 -> "switch" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> "{" f5 -> ( SwitchLabel() ( BlockStatement() )* )* f6 -> "}"


visit

void visit(SwitchLabel n)
f0 -> "case" Expression() ":" | "default" ":"


visit

void visit(IfStatement n)
f0 -> "if" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> Statement() f5 -> [ "else" Statement() ]


visit

void visit(WhileStatement n)
f0 -> "while" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> Statement()


visit

void visit(DoStatement n)
f0 -> "do" f1 -> Statement() f2 -> "while" f3 -> "(" f4 -> Expression() f5 -> ")" f6 -> ";"


visit

void visit(ForStatement n)
f0 -> "for" f1 -> "(" f2 -> [ ForInit() ] f3 -> ";" f4 -> [ Expression() ] f5 -> ";" f6 -> [ ForUpdate() ] f7 -> ")" f8 -> Statement()


visit

void visit(ForInit n)
f0 -> LocalVariableDeclaration() | StatementExpressionList()


visit

void visit(StatementExpressionList n)
f0 -> StatementExpression() f1 -> ( "," StatementExpression() )*


visit

void visit(ForUpdate n)
f0 -> StatementExpressionList()


visit

void visit(BreakStatement n)
f0 -> "break" f1 -> [ ] f2 -> ";"


visit

void visit(ContinueStatement n)
f0 -> "continue" f1 -> [ ] f2 -> ";"


visit

void visit(ReturnStatement n)
f0 -> "return" f1 -> [ Expression() ] f2 -> ";"


visit

void visit(ThrowStatement n)
f0 -> "throw" f1 -> Expression() f2 -> ";"


visit

void visit(SynchronizedStatement n)
f0 -> "synchronized" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> Block()


visit

void visit(TryStatement n)
f0 -> "try" f1 -> Block() f2 -> ( "catch" "(" FormalParameter() ")" Block() )* f3 -> [ "finally" Block() ]


visit

void visit(JavaCCInput n)
f0 -> JavaCCOptions() f1 -> f2 -> f3 -> f4 -> f5 -> CompilationUnit() f6 -> f7 -> f8 -> f9 -> f10 -> ( Production() )* f11 ->


visit

void visit(JavaCCOptions n)
f0 -> [ ( OptionBinding() )* ]


visit

void visit(OptionBinding n)
f0 -> ( | | | ) f1 -> f2 -> ( | BooleanLiteral() | ) f3 ->


visit

void visit(Production n)
f0 -> JavaCodeProduction() | RegularExprProduction() | BNFProduction() | TokenManagerDecls()


visit

void visit(JavaCodeProduction n)
f0 -> f1 -> ResultType() f2 -> f3 -> FormalParameters() f4 -> Block()


visit

void visit(BNFProduction n)
f0 -> ResultType() f1 -> f2 -> FormalParameters() f3 -> f4 -> "{" f5 -> ( BlockStatement() )* f6 -> "}" f7 -> f8 -> ExpansionChoices() f9 ->


visit

void visit(RegularExprProduction n)
f0 -> [ LexicalStateList() ] f1 -> RegExprKind() f2 -> [ ] f3 -> f4 -> f5 -> RegExprSpec() f6 -> ( RegExprSpec() )* f7 ->


visit

void visit(TokenManagerDecls n)
f0 -> f1 -> f2 -> ClassBody()


visit

void visit(LexicalStateList n)
f0 -> | ( )*


visit

void visit(RegExprKind n)
f0 -> | | |


visit

void visit(RegExprSpec n)
f0 -> RegularExpression() f1 -> [ Block() ] f2 -> [ ]


visit

void visit(ExpansionChoices n)
f0 -> Expansion() f1 -> ( Expansion() )*


visit

void visit(Expansion n)
f0 -> ( ExpansionUnit() )*


visit

void visit(ExpansionUnit n)
f0 -> LocalLookahead() | Block() | ExpansionChoices() [ | | ] | ExpansionChoices() | [ PrimaryExpression() ] ExpansionUnitTerm()


visit

void visit(ExpansionUnitTerm n)
f0 -> RegularExpression() | Arguments()


visit

void visit(LocalLookahead n)
f0 -> f1 -> f2 -> [ ] f3 -> [ ] f4 -> ExpansionChoices() f5 -> [ ] f6 -> [ Expression() ] f7 ->


visit

void visit(RegularExpression n)
f0 -> | [ [ ] ] ComplexRegularExpressionChoices() | |


visit

void visit(ComplexRegularExpressionChoices n)
f0 -> ComplexRegularExpression() f1 -> ( ComplexRegularExpression() )*


visit

void visit(ComplexRegularExpression n)
f0 -> ( ComplexRegularExpressionUnit() )*


visit

void visit(ComplexRegularExpressionUnit n)
f0 -> | | CharacterList() | ComplexRegularExpressionChoices() [ | | ]


visit

void visit(CharacterList n)
f0 -> [ ] f1 -> f2 -> [ CharacterDescriptor() ( CharacterDescriptor() )* ] f3 ->


visit

void visit(CharacterDescriptor n)
f0 -> f1 -> [ ]