Package jtb.cparser.syntaxtree

Interface Summary
Node The interface which all syntax tree classes must implement.
NodeListInterface The interface which NodeList, NodeListOptional, and NodeSequence implement.
 

Class Summary
AbstractDeclarator Grammar production: f0 -> ( Pointer() | [ Pointer() ] DirectAbstractDeclarator() )
AdditiveExpression Grammar production: f0 -> MultiplicativeExpression() f1 -> [ ( "+" | "-" ) AdditiveExpression() ]
ANDExpression Grammar production: f0 -> EqualityExpression() f1 -> [ "&" ANDExpression() ]
ArgumentExpressionList Grammar production: f0 -> AssignmentExpression() f1 -> ( "," AssignmentExpression() )*
AssignmentExpression Grammar production: f0 -> UnaryExpression() AssignmentOperator() AssignmentExpression() | ConditionalExpression()
AssignmentOperator Grammar production: f0 -> ( "=" | "*=" | "/=" | "%=" | "+=" | "-=" | "<<=" | ">>=" | "&=" | "^=" | "|=" )
CastExpression Grammar production: f0 -> ( "(" TypeName() ")" CastExpression() | UnaryExpression() )
CompoundStatement Grammar production: f0 -> "{" f1 -> [ DeclarationList() ] f2 -> [ StatementList() ] f3 -> "}"
ConditionalExpression Grammar production: f0 -> LogicalORExpression() f1 -> [ "?"
Constant Grammar production: f0 -> | | |
ConstantExpression Grammar production: f0 -> ConditionalExpression()
Declaration Grammar production: f0 -> DeclarationSpecifiers() f1 -> [ InitDeclaratorList() ] f2 -> ";"
DeclarationList Grammar production: f0 -> ( Declaration() )+
DeclarationSpecifiers Grammar production: f0 -> StorageClassSpecifier() [ DeclarationSpecifiers() ] | TypeSpecifier() [ DeclarationSpecifiers() ] | TypeQualifier() [ DeclarationSpecifiers() ]
Declarator Grammar production: f0 -> [ Pointer() ] f1 -> DirectDeclarator()
DirectAbstractDeclarator Grammar production: f0 -> ( "(" AbstractDeclarator() ")" | "[" [ ConstantExpression() ] "]" | "(" [ ParameterTypeList() ] ")" ) f1 -> ( "[" [ ConstantExpression() ] "]" | "(" [ ParameterTypeList() ] ")" )*
DirectDeclarator Grammar production: f0 -> ( t= | "(" Declarator() ")" ) f1 -> ( "[" [ ConstantExpression() ] "]" | "(" ParameterTypeList() ")" | "(" [ IdentifierList() ] ")" )*
Enumerator Grammar production: f0 -> f1 -> [ "=" ConstantExpression() ]
EnumeratorList Grammar production: f0 -> Enumerator() f1 -> ( "," Enumerator() )*
EnumSpecifier Grammar production: f0 -> f1 -> ( [ ] "{" EnumeratorList() "}" | )
EqualityExpression Grammar production: f0 -> RelationalExpression() f1 -> [ ( "==" | "!
ExclusiveORExpression Grammar production: f0 -> ANDExpression() f1 -> [ "^" ExclusiveORExpression() ]
Expression Grammar production: f0 -> AssignmentExpression() f1 -> ( "," AssignmentExpression() )*
ExpressionStatement Grammar production: f0 -> [ Expression() ] f1 -> ";"
ExternalDeclaration Grammar production: f0 -> ( FunctionDefinition() | Declaration() )
FunctionDefinition Grammar production: f0 -> [ DeclarationSpecifiers() ] f1 -> Declarator() f2 -> [ DeclarationList() ] f3 -> CompoundStatement()
IdentifierList Grammar production: f0 -> f1 -> ( "," )*
InclusiveORExpression Grammar production: f0 -> ExclusiveORExpression() f1 -> [ "|" InclusiveORExpression() ]
InitDeclarator Grammar production: f0 -> Declarator() f1 -> [ "=" Initializer() ]
InitDeclaratorList Grammar production: f0 -> InitDeclarator() f1 -> ( "," InitDeclarator() )*
Initializer Grammar production: f0 -> ( AssignmentExpression() | "{" InitializerList() [ "," ] "}" )
InitializerList Grammar production: f0 -> Initializer() f1 -> ( "," Initializer() )*
IterationStatement Grammar production: f0 -> ( "(" Expression() ")" Statement() | Statement() "(" Expression() ")" ";" | "(" [ Expression() ] ";" [ Expression() ] ";" [ Expression() ] ")" Statement() )
JumpStatement Grammar production: f0 -> ( ";" | ";" | ";" | [ Expression() ] ";" )
LabeledStatement Grammar production: f0 -> ( ":" Statement() | ConstantExpression() ":" Statement() | ":" Statement() )
LogicalANDExpression Grammar production: f0 -> InclusiveORExpression() f1 -> [ "&&" LogicalANDExpression() ]
LogicalORExpression Grammar production: f0 -> LogicalANDExpression() f1 -> [ "||" LogicalORExpression() ]
MultiplicativeExpression Grammar production: f0 -> CastExpression() f1 -> [ ( "*" | "/" | "%" ) MultiplicativeExpression() ]
NodeChoice Represents a grammar choice, e.g. ( A | B )
NodeList Represents a grammar list, e.g. ( A )+
NodeListOptional Represents an optional grammar list, e.g. ( A )*
NodeOptional Represents an grammar optional node, e.g. ( A )?
NodeSequence Represents a sequence of nodes nested within a choice, list, optional list, or optional, e.g. ( A B )+ or [ C D E ]
NodeToken Represents a single token in the grammar.
ParameterDeclaration Grammar production: f0 -> DeclarationSpecifiers() f1 -> ( Declarator() | [ AbstractDeclarator() ] )
ParameterList Grammar production: f0 -> ParameterDeclaration() f1 -> ( "," ParameterDeclaration() )*
ParameterTypeList Grammar production: f0 -> ParameterList() f1 -> [ "," "..." ]
Pointer Grammar production: f0 -> "*" f1 -> [ TypeQualifierList() ] f2 -> [ Pointer() ]
PostfixExpression Grammar production: f0 -> PrimaryExpression() f1 -> ( "[" Expression() "]" | "(" [ ArgumentExpressionList() ] ")" | "."
PrimaryExpression Grammar production: f0 -> ( | Constant() | "(" Expression() ")" )
RelationalExpression Grammar production: f0 -> ShiftExpression() f1 -> [ ( "<" | ">" | "<=" | ">=" ) RelationalExpression() ]
SelectionStatement Grammar production: f0 -> ( "(" Expression() ")" Statement() [ Statement() ] | "(" Expression() ")" Statement() )
ShiftExpression Grammar production: f0 -> AdditiveExpression() f1 -> [ ( "<<" | ">>" ) ShiftExpression() ]
SpecifierQualifierList Grammar production: f0 -> TypeSpecifier() [ SpecifierQualifierList() ] | TypeQualifier() [ SpecifierQualifierList() ]
Statement Grammar production: f0 -> ( LabeledStatement() | ExpressionStatement() | CompoundStatement() | SelectionStatement() | IterationStatement() | JumpStatement() )
StatementList Grammar production: f0 -> ( Statement() )+
StorageClassSpecifier Grammar production: f0 -> ( < AUTO > | | | | )
StructDeclaration Grammar production: f0 -> SpecifierQualifierList() f1 -> StructDeclaratorList() f2 -> ";"
StructDeclarationList Grammar production: f0 -> ( StructDeclaration() )+
StructDeclarator Grammar production: f0 -> ( Declarator() | [ Declarator() ] ":" ConstantExpression() )
StructDeclaratorList Grammar production: f0 -> StructDeclarator() f1 -> ( "," StructDeclarator() )*
StructOrUnion Grammar production: f0 -> ( | )
StructOrUnionSpecifier Grammar production: f0 -> StructOrUnion() f1 -> ( [ ] "{" StructDeclarationList() "}" | )
TranslationUnit Grammar production: f0 -> ( ExternalDeclaration() )+
TypedefName Grammar production: f0 ->
TypeName Grammar production: f0 -> SpecifierQualifierList() f1 -> [ AbstractDeclarator() ]
TypeQualifier Grammar production: f0 -> ( | )
TypeQualifierList Grammar production: f0 -> ( TypeQualifier() )+
TypeSpecifier Grammar production: f0 -> ( | | | | | | | | | StructOrUnionSpecifier() | EnumSpecifier() | TypedefName() )
UnaryExpression Grammar production: f0 -> ( PostfixExpression() | "++" UnaryExpression() | "--" UnaryExpression() | UnaryOperator() CastExpression() | ( UnaryExpression() | "(" TypeName() ")" ) )
UnaryOperator Grammar production: f0 -> ( "&" | "*" | "+" | "-" | "~" | "!"