Elsa ast nodes: Difference between revisions
Jump to navigation
Jump to search
Hendrik Tews (talk | contribs) m (added machine readable list of nodes in comment) |
No edit summary |
||
| Line 214: | Line 214: | ||
* [[Elsa Ast Type Variable|Variable]] : no subnodes | * [[Elsa Ast Type Variable|Variable]] : no subnodes | ||
<!-- 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 | <!-- easy to parse list of all node types | ||
wiki page name prefix: Elsa Ast Type | %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 | 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 | BaseClassSpec | ||
Enumerator | Enumerator | ||
MemberList | |||
Member MR_decl MR_func MR_access MR_usingDecl MR_template | |||
ExceptionSpec | ExceptionSpec | ||
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_statement E_compoundLit E___builtin_constant_p E___builtin_va_arg E_alignofType E_alignofExpr E_gnuCond E_addrOfLabel | 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 | FullExpression | ||
ArgExpression | |||
ArgExpressionListOpt | |||
Initializer IN_expr IN_compound IN_ctor IN_designated | Initializer IN_expr IN_compound IN_ctor IN_designated | ||
TemplateDeclaration TD_func TD_decl TD_tmember | TemplateDeclaration TD_func TD_decl TD_tmember | ||
TemplateParameter TP_type TP_nontype | 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 | 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 --> | end of node type list --> | ||
Revision as of 14:29, 22 November 2007
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.
Elsa Ast Supertype nodes
- ASTTypeId
- ASTTypeof
- ArgExpression
- ArgExpressionListOpt
- Attribute
- AttributeSpecifier
- AttributeSpecifierList
- BaseClassSpec
- Condition
- Declaration
- Declarator
- Designator
- Enumerator
- ExceptionSpec
- Expression
- FullExpression
- FullExpressionAnnot
- Function
- Handler
- IDeclarator
- InheritedTemplateParams
- Initializer
- Member
- MemberInit
- MemberList
- NamespaceDecl
- OperatorName
- PQName
- Statement
- TemplateArgument
- TemplateDeclaration
- TemplateInfo
- TemplateParameter
- TopForm
- TranslationUnit
- TypeSpecifier
- Variable
- ASTTypeId : no subnodes
- ASTTypeof subnodes:
- ArgExpression : no subnodes
- ArgExpressionListOpt : no subnodes
- Attribute subnodes:
- AttributeSpecifier : no subnodes
- AttributeSpecifierList : no subnodes
- BaseClassSpec : no subnodes
- Condition subnodes:
- Declaration : no subnodes
- Declarator : no subnodes
- Designator 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_stringLit
- E_this
- E_throw
- E_typeidExpr
- E_typeidType
- E_unary
- E_variable
- FullExpression : no subnodes
- FullExpressionAnnot : no subnodes
- Function : no subnodes
- Handler : no subnodes
- IDeclarator subnodes:
- InheritedTemplateParams : no subnodes
- Initializer subnodes:
- Member subnodes:
- MemberInit : no subnodes
- MemberList : no subnodes
- NamespaceDecl subnodes:
- OperatorName subnodes:
- PQName subnodes:
- Statement subnodes:
- TemplateArgument subnodes:
- TemplateDeclaration subnodes:
- TemplateInfo : no subnodes
- TemplateParameter subnodes:
- TopForm subnodes:
- TranslationUnit : no subnodes
- TypeSpecifier subnodes:
- Variable : no subnodes
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