jtb.cparser.visitor
Interface Visitor

All Known Implementing Classes:
ConditionPrinter, Converter, DepthFirstVisitor, Printer, StringFinder

public interface Visitor

All visitors must implement this interface.


Method Summary
 void visit(AbstractDeclarator n)
          f0 -> ( Pointer() | [ Pointer() ] DirectAbstractDeclarator() )
 void visit(AdditiveExpression n)
          f0 -> MultiplicativeExpression() f1 -> [ ( "+" | "-" ) AdditiveExpression() ]
 void visit(ANDExpression n)
          f0 -> EqualityExpression() f1 -> [ "&" ANDExpression() ]
 void visit(ArgumentExpressionList n)
          f0 -> AssignmentExpression() f1 -> ( "," AssignmentExpression() )*
 void visit(AssignmentExpression n)
          f0 -> UnaryExpression() AssignmentOperator() AssignmentExpression() | ConditionalExpression()
 void visit(AssignmentOperator n)
          f0 -> ( "=" | "*=" | "/=" | "%=" | "+=" | "-=" | "<<=" | ">>=" | "&=" | "^=" | "|=" )
 void visit(CastExpression n)
          f0 -> ( "(" TypeName() ")" CastExpression() | UnaryExpression() )
 void visit(CompoundStatement n)
          f0 -> "{" f1 -> [ DeclarationList() ] f2 -> [ StatementList() ] f3 -> "}"
 void visit(ConditionalExpression n)
          f0 -> LogicalORExpression() f1 -> [ "?"
 void visit(Constant n)
          f0 -> | | |
 void visit(ConstantExpression n)
          f0 -> ConditionalExpression()
 void visit(Declaration n)
          f0 -> DeclarationSpecifiers() f1 -> [ InitDeclaratorList() ] f2 -> ";"
 void visit(DeclarationList n)
          f0 -> ( Declaration() )+
 void visit(DeclarationSpecifiers n)
          f0 -> StorageClassSpecifier() [ DeclarationSpecifiers() ] | TypeSpecifier() [ DeclarationSpecifiers() ] | TypeQualifier() [ DeclarationSpecifiers() ]
 void visit(Declarator n)
          f0 -> [ Pointer() ] f1 -> DirectDeclarator()
 void visit(DirectAbstractDeclarator n)
          f0 -> ( "(" AbstractDeclarator() ")" | "[" [ ConstantExpression() ] "]" | "(" [ ParameterTypeList() ] ")" ) f1 -> ( "[" [ ConstantExpression() ] "]" | "(" [ ParameterTypeList() ] ")" )*
 void visit(DirectDeclarator n)
          f0 -> ( t= | "(" Declarator() ")" ) f1 -> ( "[" [ ConstantExpression() ] "]" | "(" ParameterTypeList() ")" | "(" [ IdentifierList() ] ")" )*
 void visit(Enumerator n)
          f0 -> f1 -> [ "=" ConstantExpression() ]
 void visit(EnumeratorList n)
          f0 -> Enumerator() f1 -> ( "," Enumerator() )*
 void visit(EnumSpecifier n)
          f0 -> f1 -> ( [ ] "{" EnumeratorList() "}" | )
 void visit(EqualityExpression n)
          f0 -> RelationalExpression() f1 -> [ ( "==" | "!
 void visit(ExclusiveORExpression n)
          f0 -> ANDExpression() f1 -> [ "^" ExclusiveORExpression() ]
 void visit(Expression n)
          f0 -> AssignmentExpression() f1 -> ( "," AssignmentExpression() )*
 void visit(ExpressionStatement n)
          f0 -> [ Expression() ] f1 -> ";"
 void visit(ExternalDeclaration n)
          f0 -> ( FunctionDefinition() | Declaration() )
 void visit(FunctionDefinition n)
          f0 -> [ DeclarationSpecifiers() ] f1 -> Declarator() f2 -> [ DeclarationList() ] f3 -> CompoundStatement()
 void visit(IdentifierList n)
          f0 -> f1 -> ( "," )*
 void visit(InclusiveORExpression n)
          f0 -> ExclusiveORExpression() f1 -> [ "|" InclusiveORExpression() ]
 void visit(InitDeclarator n)
          f0 -> Declarator() f1 -> [ "=" Initializer() ]
 void visit(InitDeclaratorList n)
          f0 -> InitDeclarator() f1 -> ( "," InitDeclarator() )*
 void visit(Initializer n)
          f0 -> ( AssignmentExpression() | "{" InitializerList() [ "," ] "}" )
 void visit(InitializerList n)
          f0 -> Initializer() f1 -> ( "," Initializer() )*
 void visit(IterationStatement n)
          f0 -> ( "(" Expression() ")" Statement() | Statement() "(" Expression() ")" ";" | "(" [ Expression() ] ";" [ Expression() ] ";" [ Expression() ] ")" Statement() )
 void visit(JumpStatement n)
          f0 -> ( ";" | ";" | ";" | [ Expression() ] ";" )
 void visit(LabeledStatement n)
          f0 -> ( ":" Statement() | ConstantExpression() ":" Statement() | ":" Statement() )
 void visit(LogicalANDExpression n)
          f0 -> InclusiveORExpression() f1 -> [ "&&" LogicalANDExpression() ]
 void visit(LogicalORExpression n)
          f0 -> LogicalANDExpression() f1 -> [ "||" LogicalORExpression() ]
 void visit(MultiplicativeExpression n)
          f0 -> CastExpression() f1 -> [ ( "*" | "/" | "%" ) MultiplicativeExpression() ]
 void visit(NodeList n)
           
 void visit(NodeListOptional n)
           
 void visit(NodeOptional n)
           
 void visit(NodeSequence n)
           
 void visit(NodeToken n)
           
 void visit(ParameterDeclaration n)
          f0 -> DeclarationSpecifiers() f1 -> ( Declarator() | [ AbstractDeclarator() ] )
 void visit(ParameterList n)
          f0 -> ParameterDeclaration() f1 -> ( "," ParameterDeclaration() )*
 void visit(ParameterTypeList n)
          f0 -> ParameterList() f1 -> [ "," "..." ]
 void visit(Pointer n)
          f0 -> "*" f1 -> [ TypeQualifierList() ] f2 -> [ Pointer() ]
 void visit(PostfixExpression n)
          f0 -> PrimaryExpression() f1 -> ( "[" Expression() "]" | "(" [ ArgumentExpressionList() ] ")" | "."
 void visit(PrimaryExpression n)
          f0 -> ( | Constant() | "(" Expression() ")" )
 void visit(RelationalExpression n)
          f0 -> ShiftExpression() f1 -> [ ( "<" | ">" | "<=" | ">=" ) RelationalExpression() ]
 void visit(SelectionStatement n)
          f0 -> ( "(" Expression() ")" Statement() [ Statement() ] | "(" Expression() ")" Statement() )
 void visit(ShiftExpression n)
          f0 -> AdditiveExpression() f1 -> [ ( "<<" | ">>" ) ShiftExpression() ]
 void visit(SpecifierQualifierList n)
          f0 -> TypeSpecifier() [ SpecifierQualifierList() ] | TypeQualifier() [ SpecifierQualifierList() ]
 void visit(Statement n)
          f0 -> ( LabeledStatement() | ExpressionStatement() | CompoundStatement() | SelectionStatement() | IterationStatement() | JumpStatement() )
 void visit(StatementList n)
          f0 -> ( Statement() )+
 void visit(StorageClassSpecifier n)
          f0 -> ( < AUTO > | | | | )
 void visit(StructDeclaration n)
          f0 -> SpecifierQualifierList() f1 -> StructDeclaratorList() f2 -> ";"
 void visit(StructDeclarationList n)
          f0 -> ( StructDeclaration() )+
 void visit(StructDeclarator n)
          f0 -> ( Declarator() | [ Declarator() ] ":" ConstantExpression() )
 void visit(StructDeclaratorList n)
          f0 -> StructDeclarator() f1 -> ( "," StructDeclarator() )*
 void visit(StructOrUnion n)
          f0 -> ( | )
 void visit(StructOrUnionSpecifier n)
          f0 -> StructOrUnion() f1 -> ( [ ] "{" StructDeclarationList() "}" | )
 void visit(TranslationUnit n)
          f0 -> ( ExternalDeclaration() )+
 void visit(TypedefName n)
          f0 ->
 void visit(TypeName n)
          f0 -> SpecifierQualifierList() f1 -> [ AbstractDeclarator() ]
 void visit(TypeQualifier n)
          f0 -> ( | )
 void visit(TypeQualifierList n)
          f0 -> ( TypeQualifier() )+
 void visit(TypeSpecifier n)
          f0 -> ( | | | | | | | | | StructOrUnionSpecifier() | EnumSpecifier() | TypedefName() )
 void visit(UnaryExpression n)
          f0 -> ( PostfixExpression() | "++" UnaryExpression() | "--" UnaryExpression() | UnaryOperator() CastExpression() | ( UnaryExpression() | "(" TypeName() ")" ) )
 void visit(UnaryOperator n)
          f0 -> ( "&" | "*" | "+" | "-" | "~" | "!"
 

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(TranslationUnit n)
f0 -> ( ExternalDeclaration() )+


visit

void visit(ExternalDeclaration n)
f0 -> ( FunctionDefinition() | Declaration() )


visit

void visit(FunctionDefinition n)
f0 -> [ DeclarationSpecifiers() ] f1 -> Declarator() f2 -> [ DeclarationList() ] f3 -> CompoundStatement()


visit

void visit(Declaration n)
f0 -> DeclarationSpecifiers() f1 -> [ InitDeclaratorList() ] f2 -> ";"


visit

void visit(DeclarationList n)
f0 -> ( Declaration() )+


visit

void visit(DeclarationSpecifiers n)
f0 -> StorageClassSpecifier() [ DeclarationSpecifiers() ] | TypeSpecifier() [ DeclarationSpecifiers() ] | TypeQualifier() [ DeclarationSpecifiers() ]


visit

void visit(StorageClassSpecifier n)
f0 -> ( < AUTO > | | | | )


visit

void visit(TypeSpecifier n)
f0 -> ( | | | | | | | | | StructOrUnionSpecifier() | EnumSpecifier() | TypedefName() )


visit

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


visit

void visit(StructOrUnionSpecifier n)
f0 -> StructOrUnion() f1 -> ( [ ] "{" StructDeclarationList() "}" | )


visit

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


visit

void visit(StructDeclarationList n)
f0 -> ( StructDeclaration() )+


visit

void visit(InitDeclaratorList n)
f0 -> InitDeclarator() f1 -> ( "," InitDeclarator() )*


visit

void visit(InitDeclarator n)
f0 -> Declarator() f1 -> [ "=" Initializer() ]


visit

void visit(StructDeclaration n)
f0 -> SpecifierQualifierList() f1 -> StructDeclaratorList() f2 -> ";"


visit

void visit(SpecifierQualifierList n)
f0 -> TypeSpecifier() [ SpecifierQualifierList() ] | TypeQualifier() [ SpecifierQualifierList() ]


visit

void visit(StructDeclaratorList n)
f0 -> StructDeclarator() f1 -> ( "," StructDeclarator() )*


visit

void visit(StructDeclarator n)
f0 -> ( Declarator() | [ Declarator() ] ":" ConstantExpression() )


visit

void visit(EnumSpecifier n)
f0 -> f1 -> ( [ ] "{" EnumeratorList() "}" | )


visit

void visit(EnumeratorList n)
f0 -> Enumerator() f1 -> ( "," Enumerator() )*


visit

void visit(Enumerator n)
f0 -> f1 -> [ "=" ConstantExpression() ]


visit

void visit(Declarator n)
f0 -> [ Pointer() ] f1 -> DirectDeclarator()


visit

void visit(DirectDeclarator n)
f0 -> ( t= | "(" Declarator() ")" ) f1 -> ( "[" [ ConstantExpression() ] "]" | "(" ParameterTypeList() ")" | "(" [ IdentifierList() ] ")" )*


visit

void visit(Pointer n)
f0 -> "*" f1 -> [ TypeQualifierList() ] f2 -> [ Pointer() ]


visit

void visit(TypeQualifierList n)
f0 -> ( TypeQualifier() )+


visit

void visit(ParameterTypeList n)
f0 -> ParameterList() f1 -> [ "," "..." ]


visit

void visit(ParameterList n)
f0 -> ParameterDeclaration() f1 -> ( "," ParameterDeclaration() )*


visit

void visit(ParameterDeclaration n)
f0 -> DeclarationSpecifiers() f1 -> ( Declarator() | [ AbstractDeclarator() ] )


visit

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


visit

void visit(Initializer n)
f0 -> ( AssignmentExpression() | "{" InitializerList() [ "," ] "}" )


visit

void visit(InitializerList n)
f0 -> Initializer() f1 -> ( "," Initializer() )*


visit

void visit(TypeName n)
f0 -> SpecifierQualifierList() f1 -> [ AbstractDeclarator() ]


visit

void visit(AbstractDeclarator n)
f0 -> ( Pointer() | [ Pointer() ] DirectAbstractDeclarator() )


visit

void visit(DirectAbstractDeclarator n)
f0 -> ( "(" AbstractDeclarator() ")" | "[" [ ConstantExpression() ] "]" | "(" [ ParameterTypeList() ] ")" ) f1 -> ( "[" [ ConstantExpression() ] "]" | "(" [ ParameterTypeList() ] ")" )*


visit

void visit(TypedefName n)
f0 ->


visit

void visit(Statement n)
f0 -> ( LabeledStatement() | ExpressionStatement() | CompoundStatement() | SelectionStatement() | IterationStatement() | JumpStatement() )


visit

void visit(LabeledStatement n)
f0 -> ( ":" Statement() | ConstantExpression() ":" Statement() | ":" Statement() )


visit

void visit(ExpressionStatement n)
f0 -> [ Expression() ] f1 -> ";"


visit

void visit(CompoundStatement n)
f0 -> "{" f1 -> [ DeclarationList() ] f2 -> [ StatementList() ] f3 -> "}"


visit

void visit(StatementList n)
f0 -> ( Statement() )+


visit

void visit(SelectionStatement n)
f0 -> ( "(" Expression() ")" Statement() [ Statement() ] | "(" Expression() ")" Statement() )


visit

void visit(IterationStatement n)
f0 -> ( "(" Expression() ")" Statement() | Statement() "(" Expression() ")" ";" | "(" [ Expression() ] ";" [ Expression() ] ";" [ Expression() ] ")" Statement() )


visit

void visit(JumpStatement n)
f0 -> ( ";" | ";" | ";" | [ Expression() ] ";" )


visit

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


visit

void visit(AssignmentExpression n)
f0 -> UnaryExpression() AssignmentOperator() AssignmentExpression() | ConditionalExpression()


visit

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


visit

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


visit

void visit(ConstantExpression n)
f0 -> ConditionalExpression()


visit

void visit(LogicalORExpression n)
f0 -> LogicalANDExpression() f1 -> [ "||" LogicalORExpression() ]


visit

void visit(LogicalANDExpression n)
f0 -> InclusiveORExpression() f1 -> [ "&&" LogicalANDExpression() ]


visit

void visit(InclusiveORExpression n)
f0 -> ExclusiveORExpression() f1 -> [ "|" InclusiveORExpression() ]


visit

void visit(ExclusiveORExpression n)
f0 -> ANDExpression() f1 -> [ "^" ExclusiveORExpression() ]


visit

void visit(ANDExpression n)
f0 -> EqualityExpression() f1 -> [ "&" ANDExpression() ]


visit

void visit(EqualityExpression n)
f0 -> RelationalExpression() f1 -> [ ( "==" | "!=" ) EqualityExpression() ]


visit

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


visit

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


visit

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


visit

void visit(MultiplicativeExpression n)
f0 -> CastExpression() f1 -> [ ( "*" | "/" | "%" ) MultiplicativeExpression() ]


visit

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


visit

void visit(UnaryExpression n)
f0 -> ( PostfixExpression() | "++" UnaryExpression() | "--" UnaryExpression() | UnaryOperator() CastExpression() | ( UnaryExpression() | "(" TypeName() ")" ) )


visit

void visit(UnaryOperator n)
f0 -> ( "&" | "*" | "+" | "-" | "~" | "!" )


visit

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


visit

void visit(PrimaryExpression n)
f0 -> ( | Constant() | "(" Expression() ")" )


visit

void visit(ArgumentExpressionList n)
f0 -> AssignmentExpression() f1 -> ( "," AssignmentExpression() )*


visit

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