Elsa ast nodes: Difference between revisions
Jump to navigation
Jump to search
Hendrik Tews (talk | contribs) (list of all ast nodes) |
mNo edit summary |
||
| (8 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
<!-- Besides the intro at the top this page has been generated\n | |||
-- with the olmar wiki bot on behalf of Hendrik Tews. | |||
--> | |||
This documents [http://askra.de/software/olmar/ Olmar] which was used to [https://blog.mozilla.org/tglek/2007/07/13/dehydra-prcheck-squash-in-mercurial/ analyze the Mozilla code base] | |||
This page gives an overview over all Elsa Ast node types. For | This page gives an overview over all Elsa Ast node types. For | ||
each node type it links to a page describing this type. | each node type it links to a page describing this type. | ||
| Line 14: | Line 19: | ||
below there is also a table with all subtype nodes. | below there is also a table with all subtype nodes. | ||
== | <!-- OLMAR SEPARATION LINE: ADD YOUR MODIFICATIONS OBOVE! --> | ||
== Olmar Ast Supertype nodes without subtypes == | |||
* [[Elsa Ast Type ASTTypeId|ASTTypeId]] | * [[Elsa Ast Type ASTTypeId|ASTTypeId]] | ||
| Line 22: | Line 26: | ||
* [[Elsa Ast Type ArgExpression|ArgExpression]] | * [[Elsa Ast Type ArgExpression|ArgExpression]] | ||
* [[Elsa Ast Type ArgExpressionListOpt|ArgExpressionListOpt]] | * [[Elsa Ast Type ArgExpressionListOpt|ArgExpressionListOpt]] | ||
* [[Elsa Ast Type AtomicType|AtomicType]] | |||
* [[Elsa Ast Type Attribute|Attribute]] | * [[Elsa Ast Type Attribute|Attribute]] | ||
* [[Elsa Ast Type AttributeSpecifier|AttributeSpecifier]] | * [[Elsa Ast Type AttributeSpecifier|AttributeSpecifier]] | ||
* [[Elsa Ast Type AttributeSpecifierList|AttributeSpecifierList]] | * [[Elsa Ast Type AttributeSpecifierList|AttributeSpecifierList]] | ||
* [[Elsa Ast Type BaseClass|BaseClass]] | |||
* [[Elsa Ast Type BaseClassSpec|BaseClassSpec]] | * [[Elsa Ast Type BaseClassSpec|BaseClassSpec]] | ||
* [[Elsa Ast Type BaseClassSubobj|BaseClassSubobj]] | |||
* [[Elsa Ast Type CType|CType]] | |||
* [[Elsa Ast Type CompilationUnit|CompilationUnit]] | |||
* [[Elsa Ast Type Condition|Condition]] | * [[Elsa Ast Type Condition|Condition]] | ||
* [[Elsa Ast Type Declaration|Declaration]] | * [[Elsa Ast Type Declaration|Declaration]] | ||
* [[Elsa Ast Type Declarator|Declarator]] | * [[Elsa Ast Type Declarator|Declarator]] | ||
* [[Elsa Ast Type Designator|Designator]] | * [[Elsa Ast Type Designator|Designator]] | ||
* [[Elsa Ast Type EnumValue|EnumValue]] | |||
* [[Elsa Ast Type Enumerator|Enumerator]] | * [[Elsa Ast Type Enumerator|Enumerator]] | ||
* [[Elsa Ast Type ExceptionSpec|ExceptionSpec]] | * [[Elsa Ast Type ExceptionSpec|ExceptionSpec]] | ||
| Line 36: | Line 46: | ||
* [[Elsa Ast Type FullExpressionAnnot|FullExpressionAnnot]] | * [[Elsa Ast Type FullExpressionAnnot|FullExpressionAnnot]] | ||
* [[Elsa Ast Type Function|Function]] | * [[Elsa Ast Type Function|Function]] | ||
* [[Elsa Ast Type FunctionExnSpec|FunctionExnSpec]] | |||
* [[Elsa Ast Type Handler|Handler]] | * [[Elsa Ast Type Handler|Handler]] | ||
* [[Elsa Ast Type IDeclarator|IDeclarator]] | * [[Elsa Ast Type IDeclarator|IDeclarator]] | ||
| Line 45: | Line 56: | ||
* [[Elsa Ast Type NamespaceDecl|NamespaceDecl]] | * [[Elsa Ast Type NamespaceDecl|NamespaceDecl]] | ||
* [[Elsa Ast Type OperatorName|OperatorName]] | * [[Elsa Ast Type OperatorName|OperatorName]] | ||
* [[Elsa Ast Type OverloadSet|OverloadSet]] | |||
* [[Elsa Ast Type PQName|PQName]] | * [[Elsa Ast Type PQName|PQName]] | ||
* [[Elsa Ast Type STemplateArgument|STemplateArgument]] | |||
* [[Elsa Ast Type Scope|Scope]] | |||
* [[Elsa Ast Type Statement|Statement]] | * [[Elsa Ast Type Statement|Statement]] | ||
* [[Elsa Ast Type TemplateArgument|TemplateArgument]] | * [[Elsa Ast Type TemplateArgument|TemplateArgument]] | ||
| Line 56: | Line 70: | ||
* [[Elsa Ast Type Variable|Variable]] | * [[Elsa Ast Type Variable|Variable]] | ||
== Olmar Ast Supertype nodes with subtypes == | |||
== | |||
* [[Elsa Ast Type ASTTypeId|ASTTypeId]] : no subnodes | * [[Elsa Ast Type ASTTypeId|ASTTypeId]] : no subnodes | ||
* [[Elsa Ast Type ASTTypeof|ASTTypeof]] subnodes: | * [[Elsa Ast Type ASTTypeof|ASTTypeof]] subnodes: | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type AST_typeof_expr|AST_typeof_expr]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type AST_typeof_type|AST_typeof_type]] | ||
* [[Elsa Ast Type ArgExpression|ArgExpression]] : no subnodes | * [[Elsa Ast Type ArgExpression|ArgExpression]] : no subnodes | ||
* [[Elsa Ast Type ArgExpressionListOpt|ArgExpressionListOpt]] : no subnodes | * [[Elsa Ast Type ArgExpressionListOpt|ArgExpressionListOpt]] : no subnodes | ||
* [[Elsa Ast Type AtomicType|AtomicType]] subnodes: | |||
** [[Elsa Ast Type ATY_Compound|ATY_Compound]] | |||
** [[Elsa Ast Type ATY_DependentQ|ATY_DependentQ]] | |||
** [[Elsa Ast Type ATY_Enum|ATY_Enum]] | |||
** [[Elsa Ast Type ATY_PseudoInstantiation|ATY_PseudoInstantiation]] | |||
** [[Elsa Ast Type ATY_Simple|ATY_Simple]] | |||
** [[Elsa Ast Type ATY_TypeVariable|ATY_TypeVariable]] | |||
* [[Elsa Ast Type Attribute|Attribute]] subnodes: | * [[Elsa Ast Type Attribute|Attribute]] subnodes: | ||
** [[Elsa Ast Type AT_empty|AT_empty]] | ** [[Elsa Ast Type AT_empty|AT_empty]] | ||
** [[Elsa Ast Type AT_func|AT_func]] | |||
** [[Elsa Ast Type AT_word|AT_word]] | ** [[Elsa Ast Type AT_word|AT_word]] | ||
* [[Elsa Ast Type AttributeSpecifier|AttributeSpecifier]] : no subnodes | * [[Elsa Ast Type AttributeSpecifier|AttributeSpecifier]] : no subnodes | ||
* [[Elsa Ast Type AttributeSpecifierList|AttributeSpecifierList]] : no subnodes | * [[Elsa Ast Type AttributeSpecifierList|AttributeSpecifierList]] : no subnodes | ||
* [[Elsa Ast Type BaseClass|BaseClass]] : no subnodes | |||
* [[Elsa Ast Type BaseClassSpec|BaseClassSpec]] : no subnodes | * [[Elsa Ast Type BaseClassSpec|BaseClassSpec]] : no subnodes | ||
* [[Elsa Ast Type BaseClassSubobj|BaseClassSubobj]] : no subnodes | |||
* [[Elsa Ast Type CType|CType]] subnodes: | |||
** [[Elsa Ast Type TY_Array|TY_Array]] | |||
** [[Elsa Ast Type TY_CVAtomic|TY_CVAtomic]] | |||
** [[Elsa Ast Type TY_DependentSizedArray|TY_DependentSizedArray]] | |||
** [[Elsa Ast Type TY_Function|TY_Function]] | |||
** [[Elsa Ast Type TY_Pointer|TY_Pointer]] | |||
** [[Elsa Ast Type TY_PointerToMember|TY_PointerToMember]] | |||
** [[Elsa Ast Type TY_Reference|TY_Reference]] | |||
* [[Elsa Ast Type CompilationUnit|CompilationUnit]] : no subnodes | |||
* [[Elsa Ast Type Condition|Condition]] subnodes: | * [[Elsa Ast Type Condition|Condition]] subnodes: | ||
** [[Elsa Ast Type CN_decl|CN_decl]] | |||
** [[Elsa Ast Type CN_expr|CN_expr]] | ** [[Elsa Ast Type CN_expr|CN_expr]] | ||
* [[Elsa Ast Type Declaration|Declaration]] : no subnodes | * [[Elsa Ast Type Declaration|Declaration]] : no subnodes | ||
* [[Elsa Ast Type Declarator|Declarator]] : no subnodes | * [[Elsa Ast Type Declarator|Declarator]] : no subnodes | ||
| Line 82: | Line 111: | ||
** [[Elsa Ast Type FieldDesignator|FieldDesignator]] | ** [[Elsa Ast Type FieldDesignator|FieldDesignator]] | ||
** [[Elsa Ast Type SubscriptDesignator|SubscriptDesignator]] | ** [[Elsa Ast Type SubscriptDesignator|SubscriptDesignator]] | ||
* [[Elsa Ast Type EnumValue|EnumValue]] : no subnodes | |||
* [[Elsa Ast Type Enumerator|Enumerator]] : no subnodes | * [[Elsa Ast Type Enumerator|Enumerator]] : no subnodes | ||
* [[Elsa Ast Type ExceptionSpec|ExceptionSpec]] : no subnodes | * [[Elsa Ast Type ExceptionSpec|ExceptionSpec]] : no subnodes | ||
* [[Elsa Ast Type Expression|Expression]] subnodes: | * [[Elsa Ast Type Expression|Expression]] subnodes: | ||
** [[Elsa Ast Type E___builtin_constant_p|E___builtin_constant_p]] | |||
** [[Elsa Ast Type E___builtin_va_arg|E___builtin_va_arg]] | |||
** [[Elsa Ast Type E_addrOf|E_addrOf]] | |||
** [[Elsa Ast Type E_addrOfLabel|E_addrOfLabel]] | |||
** [[Elsa Ast Type E_alignofExpr|E_alignofExpr]] | |||
** [[Elsa Ast Type E_alignofType|E_alignofType]] | |||
** [[Elsa Ast Type E_arrow|E_arrow]] | |||
** [[Elsa Ast Type E_assign|E_assign]] | |||
** [[Elsa Ast Type E_binary|E_binary]] | |||
** [[Elsa Ast Type E_boolLit|E_boolLit]] | ** [[Elsa Ast Type E_boolLit|E_boolLit]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type E_cast|E_cast]] | ||
** [[Elsa Ast Type E_charLit|E_charLit]] | ** [[Elsa Ast Type E_charLit|E_charLit]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type E_compoundLit|E_compoundLit]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type E_cond|E_cond]] | ||
** [[Elsa Ast Type E_constructor|E_constructor]] | ** [[Elsa Ast Type E_constructor|E_constructor]] | ||
** [[Elsa Ast Type E_delete|E_delete]] | |||
** [[Elsa Ast Type E_deref|E_deref]] | |||
** [[Elsa Ast Type E_effect|E_effect]] | |||
** [[Elsa Ast Type E_fieldAcc|E_fieldAcc]] | ** [[Elsa Ast Type E_fieldAcc|E_fieldAcc]] | ||
** [[Elsa Ast Type E_floatLit|E_floatLit]] | |||
** [[Elsa Ast Type E_funCall|E_funCall]] | |||
** [[Elsa Ast Type E_gnuCond|E_gnuCond]] | |||
** [[Elsa Ast Type E_grouping|E_grouping]] | |||
** [[Elsa Ast Type E_intLit|E_intLit]] | |||
** [[Elsa Ast Type E_keywordCast|E_keywordCast]] | |||
** [[Elsa Ast Type E_new|E_new]] | |||
** [[Elsa Ast Type E_sizeof|E_sizeof]] | ** [[Elsa Ast Type E_sizeof|E_sizeof]] | ||
** [[Elsa Ast Type E_sizeofType|E_sizeofType]] | ** [[Elsa Ast Type E_sizeofType|E_sizeofType]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type E_statement|E_statement]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type E_stdConv|E_stdConv]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type E_stringLit|E_stringLit]] | ||
** [[Elsa Ast Type E_this|E_this]] | |||
** [[Elsa Ast Type E_throw|E_throw]] | ** [[Elsa Ast Type E_throw|E_throw]] | ||
** [[Elsa Ast Type E_typeidExpr|E_typeidExpr]] | ** [[Elsa Ast Type E_typeidExpr|E_typeidExpr]] | ||
** [[Elsa Ast Type E_typeidType|E_typeidType]] | ** [[Elsa Ast Type E_typeidType|E_typeidType]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type E_unary|E_unary]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type E_variable|E_variable]] | ||
* [[Elsa Ast Type FullExpression|FullExpression]] : no subnodes | * [[Elsa Ast Type FullExpression|FullExpression]] : no subnodes | ||
* [[Elsa Ast Type FullExpressionAnnot|FullExpressionAnnot]] : no subnodes | * [[Elsa Ast Type FullExpressionAnnot|FullExpressionAnnot]] : no subnodes | ||
* [[Elsa Ast Type Function|Function]] : no subnodes | * [[Elsa Ast Type Function|Function]] : no subnodes | ||
* [[Elsa Ast Type FunctionExnSpec|FunctionExnSpec]] : no subnodes | |||
* [[Elsa Ast Type Handler|Handler]] : no subnodes | * [[Elsa Ast Type Handler|Handler]] : no subnodes | ||
* [[Elsa Ast Type IDeclarator|IDeclarator]] subnodes: | * [[Elsa Ast Type IDeclarator|IDeclarator]] subnodes: | ||
** [[Elsa Ast Type D_array|D_array]] | |||
** [[Elsa Ast Type D_bitfield|D_bitfield]] | |||
** [[Elsa Ast Type D_func|D_func]] | |||
** [[Elsa Ast Type D_grouping|D_grouping]] | |||
** [[Elsa Ast Type D_name|D_name]] | ** [[Elsa Ast Type D_name|D_name]] | ||
** [[Elsa Ast Type D_pointer|D_pointer]] | ** [[Elsa Ast Type D_pointer|D_pointer]] | ||
** [[Elsa Ast Type D_ptrToMember|D_ptrToMember]] | |||
** [[Elsa Ast Type D_reference|D_reference]] | ** [[Elsa Ast Type D_reference|D_reference]] | ||
* [[Elsa Ast Type InheritedTemplateParams|InheritedTemplateParams]] : no subnodes | * [[Elsa Ast Type InheritedTemplateParams|InheritedTemplateParams]] : no subnodes | ||
* [[Elsa Ast Type Initializer|Initializer]] subnodes: | * [[Elsa Ast Type Initializer|Initializer]] subnodes: | ||
** [[Elsa Ast Type IN_compound|IN_compound]] | ** [[Elsa Ast Type IN_compound|IN_compound]] | ||
** [[Elsa Ast Type IN_ctor|IN_ctor]] | ** [[Elsa Ast Type IN_ctor|IN_ctor]] | ||
** [[Elsa Ast Type IN_designated|IN_designated]] | ** [[Elsa Ast Type IN_designated|IN_designated]] | ||
** [[Elsa Ast Type IN_expr|IN_expr]] | |||
* [[Elsa Ast Type Member|Member]] subnodes: | * [[Elsa Ast Type Member|Member]] subnodes: | ||
** [[Elsa Ast Type MR_access|MR_access]] | |||
** [[Elsa Ast Type MR_decl|MR_decl]] | ** [[Elsa Ast Type MR_decl|MR_decl]] | ||
** [[Elsa Ast Type MR_func|MR_func]] | ** [[Elsa Ast Type MR_func|MR_func]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type MR_template|MR_template]] | ||
** [[Elsa Ast Type MR_usingDecl|MR_usingDecl]] | ** [[Elsa Ast Type MR_usingDecl|MR_usingDecl]] | ||
* [[Elsa Ast Type MemberInit|MemberInit]] : no subnodes | * [[Elsa Ast Type MemberInit|MemberInit]] : no subnodes | ||
* [[Elsa Ast Type MemberList|MemberList]] : no subnodes | * [[Elsa Ast Type MemberList|MemberList]] : no subnodes | ||
| Line 153: | Line 185: | ||
** [[Elsa Ast Type ND_usingDir|ND_usingDir]] | ** [[Elsa Ast Type ND_usingDir|ND_usingDir]] | ||
* [[Elsa Ast Type OperatorName|OperatorName]] subnodes: | * [[Elsa Ast Type OperatorName|OperatorName]] subnodes: | ||
** [[Elsa Ast Type ON_conversion|ON_conversion]] | |||
** [[Elsa Ast Type ON_newDel|ON_newDel]] | ** [[Elsa Ast Type ON_newDel|ON_newDel]] | ||
** [[Elsa Ast Type ON_operator|ON_operator]] | ** [[Elsa Ast Type ON_operator|ON_operator]] | ||
* [[Elsa Ast Type OverloadSet|OverloadSet]] : no subnodes | |||
* [[Elsa Ast Type PQName|PQName]] subnodes: | * [[Elsa Ast Type PQName|PQName]] subnodes: | ||
** [[Elsa Ast Type PQ_name|PQ_name]] | ** [[Elsa Ast Type PQ_name|PQ_name]] | ||
** [[Elsa Ast Type PQ_operator|PQ_operator]] | ** [[Elsa Ast Type PQ_operator|PQ_operator]] | ||
** [[Elsa Ast Type PQ_qualifier|PQ_qualifier]] | |||
** [[Elsa Ast Type PQ_template|PQ_template]] | ** [[Elsa Ast Type PQ_template|PQ_template]] | ||
** [[Elsa Ast Type PQ_variable|PQ_variable]] | ** [[Elsa Ast Type PQ_variable|PQ_variable]] | ||
* [[Elsa Ast Type STemplateArgument|STemplateArgument]] subnodes: | |||
** [[Elsa Ast Type STA_ATOMIC|STA_ATOMIC]] | |||
** [[Elsa Ast Type STA_DEPEXPR|STA_DEPEXPR]] | |||
** [[Elsa Ast Type STA_ENUMERATOR|STA_ENUMERATOR]] | |||
** [[Elsa Ast Type STA_INT|STA_INT]] | |||
** [[Elsa Ast Type STA_MEMBER|STA_MEMBER]] | |||
** [[Elsa Ast Type STA_NONE|STA_NONE]] | |||
** [[Elsa Ast Type STA_POINTER|STA_POINTER]] | |||
** [[Elsa Ast Type STA_REFERENCE|STA_REFERENCE]] | |||
** [[Elsa Ast Type STA_TEMPLATE|STA_TEMPLATE]] | |||
** [[Elsa Ast Type STA_TYPE|STA_TYPE]] | |||
* [[Elsa Ast Type Scope|Scope]] : no subnodes | |||
* [[Elsa Ast Type Statement|Statement]] subnodes: | * [[Elsa Ast Type Statement|Statement]] subnodes: | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type S_asm|S_asm]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type S_break|S_break]] | ||
** [[Elsa Ast Type S_case|S_case]] | ** [[Elsa Ast Type S_case|S_case]] | ||
** [[Elsa Ast Type S_compound|S_compound]] | |||
** [[Elsa Ast Type S_computedGoto|S_computedGoto]] | |||
** [[Elsa Ast Type S_continue|S_continue]] | |||
** [[Elsa Ast Type S_decl|S_decl]] | |||
** [[Elsa Ast Type S_default|S_default]] | ** [[Elsa Ast Type S_default|S_default]] | ||
** [[Elsa Ast Type S_doWhile|S_doWhile]] | |||
** [[Elsa Ast Type S_expr|S_expr]] | ** [[Elsa Ast Type S_expr|S_expr]] | ||
** [[Elsa Ast Type S_for|S_for]] | ** [[Elsa Ast Type S_for|S_for]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type S_function|S_function]] | ||
** [[Elsa Ast Type S_goto|S_goto]] | ** [[Elsa Ast Type S_goto|S_goto]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type S_if|S_if]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type S_label|S_label]] | ||
** [[Elsa Ast Type S_namespaceDecl|S_namespaceDecl]] | ** [[Elsa Ast Type S_namespaceDecl|S_namespaceDecl]] | ||
** [[Elsa Ast Type S_rangeCase|S_rangeCase]] | ** [[Elsa Ast Type S_rangeCase|S_rangeCase]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type S_return|S_return]] | ||
** [[Elsa Ast Type S_skip|S_skip]] | |||
** [[Elsa Ast Type S_switch|S_switch]] | |||
** [[Elsa Ast Type S_try|S_try]] | |||
** [[Elsa Ast Type S_while|S_while]] | |||
* [[Elsa Ast Type TemplateArgument|TemplateArgument]] subnodes: | * [[Elsa Ast Type TemplateArgument|TemplateArgument]] subnodes: | ||
** [[Elsa Ast Type TA_nontype|TA_nontype]] | ** [[Elsa Ast Type TA_nontype|TA_nontype]] | ||
** [[Elsa Ast Type TA_templateUsed|TA_templateUsed]] | ** [[Elsa Ast Type TA_templateUsed|TA_templateUsed]] | ||
** [[Elsa Ast Type TA_type|TA_type]] | |||
* [[Elsa Ast Type TemplateDeclaration|TemplateDeclaration]] subnodes: | * [[Elsa Ast Type TemplateDeclaration|TemplateDeclaration]] subnodes: | ||
** [[Elsa Ast Type TD_decl|TD_decl]] | |||
** [[Elsa Ast Type TD_func|TD_func]] | ** [[Elsa Ast Type TD_func|TD_func]] | ||
** [[Elsa Ast Type TD_tmember|TD_tmember]] | ** [[Elsa Ast Type TD_tmember|TD_tmember]] | ||
* [[Elsa Ast Type TemplateInfo|TemplateInfo]] : no subnodes | * [[Elsa Ast Type TemplateInfo|TemplateInfo]] : no subnodes | ||
* [[Elsa Ast Type TemplateParameter|TemplateParameter]] subnodes: | * [[Elsa Ast Type TemplateParameter|TemplateParameter]] subnodes: | ||
** [[Elsa Ast Type TP_nontype|TP_nontype]] | |||
** [[Elsa Ast Type TP_type|TP_type]] | ** [[Elsa Ast Type TP_type|TP_type]] | ||
* [[Elsa Ast Type TopForm|TopForm]] subnodes: | * [[Elsa Ast Type TopForm|TopForm]] subnodes: | ||
** [[Elsa Ast Type TF_asm|TF_asm]] | |||
** [[Elsa Ast Type TF_decl|TF_decl]] | ** [[Elsa Ast Type TF_decl|TF_decl]] | ||
** [[Elsa Ast Type TF_explicitInst|TF_explicitInst]] | |||
** [[Elsa Ast Type TF_func|TF_func]] | ** [[Elsa Ast Type TF_func|TF_func]] | ||
** [[Elsa Ast Type TF_linkage|TF_linkage]] | ** [[Elsa Ast Type TF_linkage|TF_linkage]] | ||
** [[Elsa Ast Type TF_namespaceDecl|TF_namespaceDecl]] | |||
** [[Elsa Ast Type TF_namespaceDefn|TF_namespaceDefn]] | |||
** [[Elsa Ast Type TF_one_linkage|TF_one_linkage]] | ** [[Elsa Ast Type TF_one_linkage|TF_one_linkage]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type TF_template|TF_template]] | ||
* [[Elsa Ast Type TranslationUnit|TranslationUnit]] : no subnodes | * [[Elsa Ast Type TranslationUnit|TranslationUnit]] : no subnodes | ||
* [[Elsa Ast Type TypeSpecifier|TypeSpecifier]] subnodes: | * [[Elsa Ast Type TypeSpecifier|TypeSpecifier]] subnodes: | ||
** [[Elsa Ast Type TS_classSpec|TS_classSpec]] | |||
** [[Elsa Ast Type TS_elaborated|TS_elaborated]] | |||
** [[Elsa Ast Type TS_enumSpec|TS_enumSpec]] | |||
** [[Elsa Ast Type TS_name|TS_name]] | ** [[Elsa Ast Type TS_name|TS_name]] | ||
** [[Elsa Ast Type TS_simple|TS_simple]] | ** [[Elsa Ast Type TS_simple|TS_simple]] | ||
** [[Elsa Ast Type TS_type|TS_type]] | ** [[Elsa Ast Type TS_type|TS_type]] | ||
** [[Elsa Ast Type TS_typeof|TS_typeof]] | ** [[Elsa Ast Type TS_typeof|TS_typeof]] | ||
* [[Elsa Ast Type Variable|Variable]] : no subnodes | * [[Elsa Ast Type Variable|Variable]] : no subnodes | ||
<!-- easy to parse list of all node types | |||
Renamings: PointerToMemberType DependentSizedArrayType ArrayType FunctionType ReferenceType PointerType CVAtomicType DependentQType TypeVariable PseudoInstantiation EnumType CompoundType SimpleType TS_typeof_type TS_typeof_expr | |||
wiki page name prefix: Elsa Ast Type | |||
CompilationUnit | |||
TranslationUnit | |||
TopForm TF_decl TF_func TF_template TF_explicitInst TF_linkage TF_one_linkage TF_asm TF_namespaceDefn TF_namespaceDecl | |||
Function | |||
MemberInit | |||
Declaration | |||
ASTTypeId | |||
PQName PQ_qualifier PQ_name PQ_operator PQ_template PQ_variable | |||
TypeSpecifier TS_name TS_simple TS_elaborated TS_classSpec TS_enumSpec TS_type TS_typeof | |||
BaseClassSpec | |||
Enumerator | |||
MemberList | |||
Member MR_decl MR_func MR_access MR_usingDecl MR_template | |||
ExceptionSpec | |||
OperatorName ON_newDel ON_operator ON_conversion | |||
Statement S_skip S_label S_case S_default S_expr S_compound S_if S_switch S_while S_doWhile S_for S_break S_continue S_return S_goto S_decl S_try S_asm S_namespaceDecl S_function S_rangeCase S_computedGoto | |||
Condition CN_expr CN_decl | |||
Handler | |||
Expression E_boolLit E_intLit E_floatLit E_stringLit E_charLit E_this E_variable E_funCall E_constructor E_fieldAcc E_sizeof E_unary E_effect E_binary E_addrOf E_deref E_cast E_cond E_sizeofType E_assign E_new E_delete E_throw E_keywordCast E_typeidExpr E_typeidType E_grouping E_arrow E_stdConv E_statement E_compoundLit E___builtin_constant_p E___builtin_va_arg E_alignofType E_alignofExpr E_gnuCond E_addrOfLabel | |||
FullExpression | |||
ArgExpression | |||
ArgExpressionListOpt | |||
Initializer IN_expr IN_compound IN_ctor IN_designated | |||
TemplateDeclaration TD_func TD_decl TD_tmember | |||
TemplateParameter TP_type TP_nontype | |||
TemplateArgument TA_type TA_nontype TA_templateUsed | |||
NamespaceDecl ND_alias ND_usingDecl ND_usingDir | |||
Declarator | |||
IDeclarator D_name D_pointer D_reference D_func D_array D_bitfield D_ptrToMember D_grouping | |||
FullExpressionAnnot | |||
ASTTypeof AST_typeof_expr AST_typeof_type | |||
Designator FieldDesignator SubscriptDesignator | |||
AttributeSpecifierList | |||
AttributeSpecifier | |||
Attribute AT_empty AT_word AT_func | |||
Variable | |||
OverloadSet | |||
TemplateInfo | |||
InheritedTemplateParams | |||
BaseClass | |||
BaseClassSubobj | |||
EnumValue | |||
AtomicType ATY_Simple ATY_Compound ATY_Enum ATY_PseudoInstantiation ATY_TypeVariable ATY_DependentQ | |||
FunctionExnSpec | |||
CType TY_CVAtomic TY_Pointer TY_Reference TY_Function TY_Array TY_DependentSizedArray TY_PointerToMember | |||
STemplateArgument STA_NONE STA_TYPE STA_INT STA_ENUMERATOR STA_REFERENCE STA_POINTER STA_MEMBER STA_DEPEXPR STA_TEMPLATE STA_ATOMIC | |||
Scope | |||
end of node type list --> | |||
Latest revision as of 17:36, 18 March 2015
This documents Olmar which was used to analyze the Mozilla code base
This page gives an overview over all Elsa Ast node types. For each node type it links to a page describing this type. Disclaimer: The information here has been generated automatically from the Olmar branch and might therefore be not completely accurate for Elsa.
Elsa Ast nodes use a variant scheme with super- and subtypes. For
instance there is the node type
Statement with variants for each
different statement type, for instance
S_if for if-statements and
S_while for while loops.
It first follows a table with just the supertype nodes. Further below there is also a table with all subtype nodes.
Olmar Ast Supertype nodes without subtypes
- ASTTypeId
- ASTTypeof
- ArgExpression
- ArgExpressionListOpt
- AtomicType
- Attribute
- AttributeSpecifier
- AttributeSpecifierList
- BaseClass
- BaseClassSpec
- BaseClassSubobj
- CType
- CompilationUnit
- Condition
- Declaration
- Declarator
- Designator
- EnumValue
- Enumerator
- ExceptionSpec
- Expression
- FullExpression
- FullExpressionAnnot
- Function
- FunctionExnSpec
- Handler
- IDeclarator
- InheritedTemplateParams
- Initializer
- Member
- MemberInit
- MemberList
- NamespaceDecl
- OperatorName
- OverloadSet
- PQName
- STemplateArgument
- Scope
- Statement
- TemplateArgument
- TemplateDeclaration
- TemplateInfo
- TemplateParameter
- TopForm
- TranslationUnit
- TypeSpecifier
- Variable
Olmar Ast Supertype nodes with subtypes
- ASTTypeId : no subnodes
- ASTTypeof subnodes:
- ArgExpression : no subnodes
- ArgExpressionListOpt : no subnodes
- AtomicType subnodes:
- Attribute subnodes:
- AttributeSpecifier : no subnodes
- AttributeSpecifierList : no subnodes
- BaseClass : no subnodes
- BaseClassSpec : no subnodes
- BaseClassSubobj : no subnodes
- CType subnodes:
- CompilationUnit : no subnodes
- Condition subnodes:
- Declaration : no subnodes
- Declarator : no subnodes
- Designator subnodes:
- EnumValue : no subnodes
- Enumerator : no subnodes
- ExceptionSpec : no subnodes
- Expression subnodes:
- E___builtin_constant_p
- E___builtin_va_arg
- E_addrOf
- E_addrOfLabel
- E_alignofExpr
- E_alignofType
- E_arrow
- E_assign
- E_binary
- E_boolLit
- E_cast
- E_charLit
- E_compoundLit
- E_cond
- E_constructor
- E_delete
- E_deref
- E_effect
- E_fieldAcc
- E_floatLit
- E_funCall
- E_gnuCond
- E_grouping
- E_intLit
- E_keywordCast
- E_new
- E_sizeof
- E_sizeofType
- E_statement
- E_stdConv
- E_stringLit
- E_this
- E_throw
- E_typeidExpr
- E_typeidType
- E_unary
- E_variable
- FullExpression : no subnodes
- FullExpressionAnnot : no subnodes
- Function : no subnodes
- FunctionExnSpec : no subnodes
- Handler : no subnodes
- IDeclarator subnodes:
- InheritedTemplateParams : no subnodes
- Initializer subnodes:
- Member subnodes:
- MemberInit : no subnodes
- MemberList : no subnodes
- NamespaceDecl subnodes:
- OperatorName subnodes:
- OverloadSet : no subnodes
- PQName subnodes:
- STemplateArgument subnodes:
- Scope : no subnodes
- Statement subnodes:
- TemplateArgument subnodes:
- TemplateDeclaration subnodes:
- TemplateInfo : no subnodes
- TemplateParameter subnodes:
- TopForm subnodes:
- TranslationUnit : no subnodes
- TypeSpecifier subnodes:
- Variable : no subnodes