The Psyche Project
|
The SyntaxVisitor class. More...
#include <SyntaxVisitor.h>
Public Types | |
enum | Action : std::uint8_t { Visit, Skip, Quit } |
The Action enumeration. | |
Public Member Functions | |
SyntaxVisitor (const SyntaxTree *tree) | |
virtual bool | preVisit (const SyntaxNode *) |
virtual void | postVisit (const SyntaxNode *) |
void | visit (const SyntaxNode *node) |
template<class PtrT , class DerivedListT > | |
void | visit (CoreSyntaxNodeList< PtrT, DerivedListT > *it) |
virtual Action | visitTranslationUnit (const TranslationUnitSyntax *) |
virtual Action | visitIncompleteDeclaration (const IncompleteDeclarationSyntax *) |
virtual Action | visitStructOrUnionDeclaration (const StructOrUnionDeclarationSyntax *) |
virtual Action | visitEnumDeclaration (const EnumDeclarationSyntax *) |
virtual Action | visitEnumeratorDeclaration (const EnumeratorDeclarationSyntax *) |
virtual Action | visitVariableAndOrFunctionDeclaration (const VariableAndOrFunctionDeclarationSyntax *) |
virtual Action | visitFieldDeclaration (const FieldDeclarationSyntax *) |
virtual Action | visitParameterDeclaration (const ParameterDeclarationSyntax *) |
virtual Action | visitStaticAssertDeclaration (const StaticAssertDeclarationSyntax *) |
virtual Action | visitFunctionDefinition (const FunctionDefinitionSyntax *) |
virtual Action | visitExtPSY_TemplateDeclaration (const ExtPSY_TemplateDeclarationSyntax *) |
virtual Action | visitExtGNU_AsmStatementDeclaration (const ExtGNU_AsmStatementDeclarationSyntax *) |
virtual Action | visitExtKR_ParameterDeclaration (const ExtKR_ParameterDeclarationSyntax *) |
virtual Action | visitStorageClass (const StorageClassSyntax *) |
virtual Action | visitBuiltinTypeSpecifier (const BuiltinTypeSpecifierSyntax *) |
virtual Action | visitTagTypeSpecifier (const TagTypeSpecifierSyntax *) |
virtual Action | visitAtomicTypeSpecifier (const AtomicTypeSpecifierSyntax *) |
virtual Action | visitTypeDeclarationAsSpecifier (const TypeDeclarationAsSpecifierSyntax *) |
virtual Action | visitTypedefName (const TypedefNameSyntax *) |
virtual Action | visitTypeQualifier (const TypeQualifierSyntax *) |
virtual Action | visitFunctionSpecifier (const FunctionSpecifierSyntax *) |
virtual Action | visitAlignmentSpecifier (const AlignmentSpecifierSyntax *) |
virtual Action | visitExtGNU_Typeof (const ExtGNU_TypeofSyntax *) |
virtual Action | visitExtGNU_AttributeSpecifier (const ExtGNU_AttributeSpecifierSyntax *) |
virtual Action | visitExtGNU_Attribute (const ExtGNU_AttributeSyntax *) |
virtual Action | visitExtGNU_AsmLabel (const ExtGNU_AsmLabelSyntax *) |
virtual Action | visitExtPSY_QuantifiedTypeSpecifier (const ExtPSY_QuantifiedTypeSpecifierSyntax *) |
virtual Action | visitArrayOrFunctionDeclarator (const ArrayOrFunctionDeclaratorSyntax *) |
virtual Action | visitPointerDeclarator (const PointerDeclaratorSyntax *) |
virtual Action | visitParenthesizedDeclarator (const ParenthesizedDeclaratorSyntax *) |
virtual Action | visitIdentifierDeclarator (const IdentifierDeclaratorSyntax *) |
virtual Action | visitAbstractDeclarator (const AbstractDeclaratorSyntax *) |
virtual Action | visitSubscriptSuffix (const SubscriptSuffixSyntax *) |
virtual Action | visitParameterSuffix (const ParameterSuffixSyntax *) |
virtual Action | visitBitfieldDeclarator (const BitfieldDeclaratorSyntax *) |
virtual Action | visitExpressionInitializer (const ExpressionInitializerSyntax *) |
virtual Action | visitBraceEnclosedInitializer (const BraceEnclosedInitializerSyntax *) |
virtual Action | visitDesignatedInitializer (const DesignatedInitializerSyntax *) |
virtual Action | visitFieldDesignator (const FieldDesignatorSyntax *) |
virtual Action | visitArrayDesignator (const ArrayDesignatorSyntax *) |
virtual Action | visitOffsetOfDesignator (const OffsetOfDesignatorSyntax *) |
virtual Action | visitIdentifierName (const IdentifierNameSyntax *) |
virtual Action | visitPredefinedName (const PredefinedNameSyntax *) |
virtual Action | visitConstantExpression (const ConstantExpressionSyntax *) |
virtual Action | visitStringLiteralExpression (const StringLiteralExpressionSyntax *) |
virtual Action | visitParenthesizedExpression (const ParenthesizedExpressionSyntax *) |
virtual Action | visitGenericSelectionExpression (const GenericSelectionExpressionSyntax *) |
virtual Action | visitGenericAssociation (const GenericAssociationSyntax *) |
virtual Action | visitExtGNU_EnclosedCompoundStatementExpression (const ExtGNU_EnclosedCompoundStatementExpressionSyntax *) |
virtual Action | visitExtGNU_ComplexValuedExpression (const ExtGNU_ComplexValuedExpressionSyntax *) |
virtual Action | visitPrefixUnaryExpression (const PrefixUnaryExpressionSyntax *) |
virtual Action | visitPostfixUnaryExpression (const PostfixUnaryExpressionSyntax *) |
virtual Action | visitMemberAccessExpression (const MemberAccessExpressionSyntax *) |
virtual Action | visitArraySubscriptExpression (const ArraySubscriptExpressionSyntax *) |
virtual Action | visitTypeTraitExpression (const TypeTraitExpressionSyntax *) |
virtual Action | visitCastExpression (const CastExpressionSyntax *) |
virtual Action | visitCallExpression (const CallExpressionSyntax *) |
virtual Action | visitVAArgumentExpression (const VAArgumentExpressionSyntax *) |
virtual Action | visitOffsetOfExpression (const OffsetOfExpressionSyntax *) |
virtual Action | visitCompoundLiteralExpression (const CompoundLiteralExpressionSyntax *) |
virtual Action | visitBinaryExpression (const BinaryExpressionSyntax *) |
virtual Action | visitConditionalExpression (const ConditionalExpressionSyntax *) |
virtual Action | visitAssignmentExpression (const AssignmentExpressionSyntax *) |
virtual Action | visitSequencingExpression (const SequencingExpressionSyntax *) |
virtual Action | visitExtGNU_ChooseExpression (const ExtGNU_ChooseExpressionSyntax *) |
virtual Action | visitCompoundStatement (const CompoundStatementSyntax *) |
virtual Action | visitDeclarationStatement (const DeclarationStatementSyntax *) |
virtual Action | visitExpressionStatement (const ExpressionStatementSyntax *) |
virtual Action | visitLabeledStatement (const LabeledStatementSyntax *) |
virtual Action | visitIfStatement (const IfStatementSyntax *) |
virtual Action | visitSwitchStatement (const SwitchStatementSyntax *) |
virtual Action | visitWhileStatement (const WhileStatementSyntax *) |
virtual Action | visitDoStatement (const DoStatementSyntax *) |
virtual Action | visitForStatement (const ForStatementSyntax *) |
virtual Action | visitGotoStatement (const GotoStatementSyntax *) |
virtual Action | visitContinueStatement (const ContinueStatementSyntax *) |
virtual Action | visitBreakStatement (const BreakStatementSyntax *) |
virtual Action | visitReturnStatement (const ReturnStatementSyntax *) |
virtual Action | visitExtGNU_AsmStatement (const ExtGNU_AsmStatementSyntax *) |
virtual Action | visitExtGNU_AsmQualifier (const ExtGNU_AsmQualifierSyntax *) |
virtual Action | visitExtGNU_AsmOperand (const ExtGNU_AsmOperandSyntax *) |
virtual Action | visitTypeName (const TypeNameSyntax *) |
virtual Action | visitExpressionAsTypeReference (const ExpressionAsTypeReferenceSyntax *) |
virtual Action | visitTypeNameAsTypeReference (const TypeNameAsTypeReferenceSyntax *) |
virtual Action | visitAmbiguousTypeNameOrExpressionAsTypeReference (const AmbiguousTypeNameOrExpressionAsTypeReferenceSyntax *) |
virtual Action | visitAmbiguousCastOrBinaryExpression (const AmbiguousCastOrBinaryExpressionSyntax *) |
virtual Action | visitAmbiguousExpressionOrDeclarationStatement (const AmbiguousExpressionOrDeclarationStatementSyntax *) |
Protected Member Functions | |
SyntaxVisitor (const SyntaxVisitor &)=delete | |
void | operator= (const SyntaxVisitor &)=delete |
Protected Attributes | |
const SyntaxTree * | tree_ |
The SyntaxVisitor class.
void SyntaxVisitor::visit | ( | const SyntaxNode * | node | ) |
Visit the SyntaxNode node
.
|
inline |
Visit the SyntaxNodePlainList it
.