463
edits
(wiki bot test) |
No edit summary |
||
Line 1: | Line 1: | ||
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 | |||
[[Elsa Ast Type Statement|Statement]] with variants for each | |||
different statement type, for instance | |||
[[Elsa Ast Type S_if|S_if]] for if-statements and | |||
[[Elsa Ast Type S_while|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. | |||
== Elsa Ast Supertype nodes == | |||
<!-- OLMAR SEPARATION LINE: ADD YOUR MODIFICATIONS OBOVE! --> | |||
== 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: | |||
** [[Elsa Ast Type TS_typeof_expr|TS_typeof_expr]] | |||
** [[Elsa Ast Type TS_typeof_type|TS_typeof_type]] | |||
* ArgExpression : no subnodes | |||
* ArgExpressionListOpt : no subnodes | |||
* 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]] | |||
* Attribute subnodes: | |||
** [[Elsa Ast Type AT_empty|AT_empty]] | |||
** [[Elsa Ast Type AT_func|AT_func]] | |||
** [[Elsa Ast Type AT_word|AT_word]] | |||
* AttributeSpecifier : no subnodes | |||
* AttributeSpecifierList : no subnodes | |||
* BaseClass : no subnodes | |||
* BaseClassSpec : no subnodes | |||
* BaseClassSubobj : no subnodes | |||
* CType subnodes: | |||
** [[Elsa Ast Type TY_ArrayType|TY_ArrayType]] | |||
** [[Elsa Ast Type TY_CVAtomicType|TY_CVAtomicType]] | |||
** [[Elsa Ast Type TY_DependentSizedArrayType|TY_DependentSizedArrayType]] | |||
** [[Elsa Ast Type TY_FunctionType|TY_FunctionType]] | |||
** [[Elsa Ast Type TY_PointerToMemberType|TY_PointerToMemberType]] | |||
** [[Elsa Ast Type TY_PointerType|TY_PointerType]] | |||
** [[Elsa Ast Type TY_ReferenceType|TY_ReferenceType]] | |||
* CompilationUnit : no subnodes | |||
* Condition subnodes: | |||
** [[Elsa Ast Type CN_decl|CN_decl]] | |||
** [[Elsa Ast Type CN_expr|CN_expr]] | |||
* Declaration : no subnodes | |||
* Declarator : no subnodes | |||
* Designator subnodes: | |||
** [[Elsa Ast Type FieldDesignator|FieldDesignator]] | |||
** [[Elsa Ast Type SubscriptDesignator|SubscriptDesignator]] | |||
* EnumValue : no subnodes | |||
* Enumerator : no subnodes | |||
* ExceptionSpec : no subnodes | |||
* 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_cast|E_cast]] | |||
** [[Elsa Ast Type E_charLit|E_charLit]] | |||
** [[Elsa Ast Type E_compoundLit|E_compoundLit]] | |||
** [[Elsa Ast Type E_cond|E_cond]] | |||
** [[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_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_sizeofType|E_sizeofType]] | |||
** [[Elsa Ast Type E_statement|E_statement]] | |||
** [[Elsa Ast Type E_stdConv|E_stdConv]] | |||
** [[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_typeidExpr|E_typeidExpr]] | |||
** [[Elsa Ast Type E_typeidType|E_typeidType]] | |||
** [[Elsa Ast Type E_unary|E_unary]] | |||
** [[Elsa Ast Type E_variable|E_variable]] | |||
* FullExpression : no subnodes | |||
* FullExpressionAnnot : no subnodes | |||
* Function : no subnodes | |||
* FunctionExnSpec : no subnodes | |||
* Handler : no subnodes | |||
* 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_pointer|D_pointer]] | |||
** [[Elsa Ast Type D_ptrToMember|D_ptrToMember]] | |||
** [[Elsa Ast Type D_reference|D_reference]] | |||
* InheritedTemplateParams : no subnodes | |||
* Initializer subnodes: | |||
** [[Elsa Ast Type IN_compound|IN_compound]] | |||
** [[Elsa Ast Type IN_ctor|IN_ctor]] | |||
** [[Elsa Ast Type IN_designated|IN_designated]] | |||
** [[Elsa Ast Type IN_expr|IN_expr]] | |||
* Member subnodes: | |||
** [[Elsa Ast Type MR_access|MR_access]] | |||
** [[Elsa Ast Type MR_decl|MR_decl]] | |||
** [[Elsa Ast Type MR_func|MR_func]] | |||
** [[Elsa Ast Type MR_template|MR_template]] | |||
** [[Elsa Ast Type MR_usingDecl|MR_usingDecl]] | |||
* MemberInit : no subnodes | |||
* MemberList : no subnodes | |||
* NamespaceDecl subnodes: | |||
** [[Elsa Ast Type ND_alias|ND_alias]] | |||
** [[Elsa Ast Type ND_usingDecl|ND_usingDecl]] | |||
** [[Elsa Ast Type ND_usingDir|ND_usingDir]] | |||
* OperatorName subnodes: | |||
** [[Elsa Ast Type ON_conversion|ON_conversion]] | |||
** [[Elsa Ast Type ON_newDel|ON_newDel]] | |||
** [[Elsa Ast Type ON_operator|ON_operator]] | |||
* OverloadSet : no subnodes | |||
* PQName subnodes: | |||
** [[Elsa Ast Type PQ_name|PQ_name]] | |||
** [[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_variable|PQ_variable]] | |||
* 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]] | |||
* Scope : no subnodes | |||
* Statement subnodes: | |||
** [[Elsa Ast Type S_asm|S_asm]] | |||
** [[Elsa Ast Type S_break|S_break]] | |||
** [[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_doWhile|S_doWhile]] | |||
** [[Elsa Ast Type S_expr|S_expr]] | |||
** [[Elsa Ast Type S_for|S_for]] | |||
** [[Elsa Ast Type S_function|S_function]] | |||
** [[Elsa Ast Type S_goto|S_goto]] | |||
** [[Elsa Ast Type S_if|S_if]] | |||
** [[Elsa Ast Type S_label|S_label]] | |||
** [[Elsa Ast Type S_namespaceDecl|S_namespaceDecl]] | |||
** [[Elsa Ast Type S_rangeCase|S_rangeCase]] | |||
** [[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]] | |||
* TemplateArgument subnodes: | |||
** [[Elsa Ast Type TA_nontype|TA_nontype]] | |||
** [[Elsa Ast Type TA_templateUsed|TA_templateUsed]] | |||
** [[Elsa Ast Type TA_type|TA_type]] | |||
* TemplateDeclaration subnodes: | |||
** [[Elsa Ast Type TD_decl|TD_decl]] | |||
** [[Elsa Ast Type TD_func|TD_func]] | |||
** [[Elsa Ast Type TD_tmember|TD_tmember]] | |||
* TemplateInfo : no subnodes | |||
* TemplateParameter subnodes: | |||
** [[Elsa Ast Type TP_nontype|TP_nontype]] | |||
** [[Elsa Ast Type TP_type|TP_type]] | |||
* TopForm subnodes: | |||
** [[Elsa Ast Type TF_asm|TF_asm]] | |||
** [[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_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_template|TF_template]] | |||
* TranslationUnit : no subnodes | |||
* 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_simple|TS_simple]] | |||
** [[Elsa Ast Type TS_type|TS_type]] | |||
** [[Elsa Ast Type TS_typeof|TS_typeof]] | |||
* Variable : no subnodes | |||
<!-- easy to parse list of all node types | |||
%s PointerToMemberType DependentSizedArrayType ArrayType FunctionType ReferenceType PointerType CVAtomicType DependentQType TypeVariable PseudoInstantiation EnumType CompoundType SimpleType | |||
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 TS_typeof_expr TS_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_CVAtomicType TY_PointerType TY_ReferenceType TY_FunctionType TY_ArrayType TY_DependentSizedArrayType TY_PointerToMemberType | |||
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 --> |
edits