Sandbox: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
(delete all)
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 ==
* [[Elsa Ast Type ASTTypeId|ASTTypeId]]
* [[Elsa Ast Type ASTTypeof|ASTTypeof]]
* [[Elsa Ast Type ArgExpression|ArgExpression]]
* [[Elsa Ast Type ArgExpressionListOpt|ArgExpressionListOpt]]
* [[Elsa Ast Type AtomicType|AtomicType]]
* [[Elsa Ast Type Attribute|Attribute]]
* [[Elsa Ast Type AttributeSpecifier|AttributeSpecifier]]
* [[Elsa Ast Type AttributeSpecifierList|AttributeSpecifierList]]
* [[Elsa Ast Type BaseClass|BaseClass]]
* [[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 Declaration|Declaration]]
* [[Elsa Ast Type Declarator|Declarator]]
* [[Elsa Ast Type Designator|Designator]]
* [[Elsa Ast Type EnumValue|EnumValue]]
* [[Elsa Ast Type Enumerator|Enumerator]]
* [[Elsa Ast Type ExceptionSpec|ExceptionSpec]]
* [[Elsa Ast Type Expression|Expression]]
* [[Elsa Ast Type FullExpression|FullExpression]]
* [[Elsa Ast Type FullExpressionAnnot|FullExpressionAnnot]]
* [[Elsa Ast Type Function|Function]]
* [[Elsa Ast Type FunctionExnSpec|FunctionExnSpec]]
* [[Elsa Ast Type Handler|Handler]]
* [[Elsa Ast Type IDeclarator|IDeclarator]]
* [[Elsa Ast Type InheritedTemplateParams|InheritedTemplateParams]]
* [[Elsa Ast Type Initializer|Initializer]]
* [[Elsa Ast Type Member|Member]]
* [[Elsa Ast Type MemberInit|MemberInit]]
* [[Elsa Ast Type MemberList|MemberList]]
* [[Elsa Ast Type NamespaceDecl|NamespaceDecl]]
* [[Elsa Ast Type OperatorName|OperatorName]]
* [[Elsa Ast Type OverloadSet|OverloadSet]]
* [[Elsa Ast Type PQName|PQName]]
* [[Elsa Ast Type STemplateArgument|STemplateArgument]]
* [[Elsa Ast Type Scope|Scope]]
* [[Elsa Ast Type Statement|Statement]]
* [[Elsa Ast Type TemplateArgument|TemplateArgument]]
* [[Elsa Ast Type TemplateDeclaration|TemplateDeclaration]]
* [[Elsa Ast Type TemplateInfo|TemplateInfo]]
* [[Elsa Ast Type TemplateParameter|TemplateParameter]]
* [[Elsa Ast Type TopForm|TopForm]]
* [[Elsa Ast Type TranslationUnit|TranslationUnit]]
* [[Elsa Ast Type TypeSpecifier|TypeSpecifier]]
* [[Elsa Ast Type Variable|Variable]]
== Olmar Ast Supertype nodes with subtypes ==
* [[Elsa Ast Type ASTTypeId|ASTTypeId]] : no subnodes
* [[Elsa Ast Type ASTTypeof|ASTTypeof]] subnodes:
** [[Elsa Ast Type TS_typeof_expr|TS_typeof_expr]]
** [[Elsa Ast Type TS_typeof_type|TS_typeof_type]]
* [[Elsa Ast Type ArgExpression|ArgExpression]] : 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 AT_empty|AT_empty]]
** [[Elsa Ast Type AT_func|AT_func]]
** [[Elsa Ast Type AT_word|AT_word]]
* [[Elsa Ast Type AttributeSpecifier|AttributeSpecifier]] : 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 BaseClassSubobj|BaseClassSubobj]] : no subnodes
* [[Elsa Ast Type CType|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]]
* [[Elsa Ast Type CompilationUnit|CompilationUnit]] : no subnodes
* [[Elsa Ast Type Condition|Condition]] subnodes:
** [[Elsa Ast Type CN_decl|CN_decl]]
** [[Elsa Ast Type CN_expr|CN_expr]]
* [[Elsa Ast Type Declaration|Declaration]] : no subnodes
* [[Elsa Ast Type Declarator|Declarator]] : no subnodes
* [[Elsa Ast Type Designator|Designator]] subnodes:
** [[Elsa Ast Type FieldDesignator|FieldDesignator]]
** [[Elsa Ast Type SubscriptDesignator|SubscriptDesignator]]
* [[Elsa Ast Type EnumValue|EnumValue]] : no subnodes
* [[Elsa Ast Type Enumerator|Enumerator]] : no subnodes
* [[Elsa Ast Type ExceptionSpec|ExceptionSpec]] : no 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_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]]
* [[Elsa Ast Type FullExpression|FullExpression]] : no subnodes
* [[Elsa Ast Type FullExpressionAnnot|FullExpressionAnnot]] : 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 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_pointer|D_pointer]]
** [[Elsa Ast Type D_ptrToMember|D_ptrToMember]]
** [[Elsa Ast Type D_reference|D_reference]]
* [[Elsa Ast Type InheritedTemplateParams|InheritedTemplateParams]] : no subnodes
* [[Elsa Ast Type Initializer|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]]
* [[Elsa Ast Type Member|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]]
* [[Elsa Ast Type MemberInit|MemberInit]] : no subnodes
* [[Elsa Ast Type MemberList|MemberList]] : no subnodes
* [[Elsa Ast Type NamespaceDecl|NamespaceDecl]] subnodes:
** [[Elsa Ast Type ND_alias|ND_alias]]
** [[Elsa Ast Type ND_usingDecl|ND_usingDecl]]
** [[Elsa Ast Type ND_usingDir|ND_usingDir]]
* [[Elsa Ast Type OperatorName|OperatorName]] subnodes:
** [[Elsa Ast Type ON_conversion|ON_conversion]]
** [[Elsa Ast Type ON_newDel|ON_newDel]]
** [[Elsa Ast Type ON_operator|ON_operator]]
* [[Elsa Ast Type OverloadSet|OverloadSet]] : no subnodes
* [[Elsa Ast Type PQName|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]]
* [[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 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]]
* [[Elsa Ast Type TemplateArgument|TemplateArgument]] subnodes:
** [[Elsa Ast Type TA_nontype|TA_nontype]]
** [[Elsa Ast Type TA_templateUsed|TA_templateUsed]]
** [[Elsa Ast Type TA_type|TA_type]]
* [[Elsa Ast Type TemplateDeclaration|TemplateDeclaration]] subnodes:
** [[Elsa Ast Type TD_decl|TD_decl]]
** [[Elsa Ast Type TD_func|TD_func]]
** [[Elsa Ast Type TD_tmember|TD_tmember]]
* [[Elsa Ast Type TemplateInfo|TemplateInfo]] : no subnodes
* [[Elsa Ast Type TemplateParameter|TemplateParameter]] subnodes:
** [[Elsa Ast Type TP_nontype|TP_nontype]]
** [[Elsa Ast Type TP_type|TP_type]]
* [[Elsa Ast Type TopForm|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]]
* [[Elsa Ast Type TranslationUnit|TranslationUnit]] : no 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_simple|TS_simple]]
** [[Elsa Ast Type TS_type|TS_type]]
** [[Elsa Ast Type TS_typeof|TS_typeof]]
* [[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
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 -->

Revision as of 15:14, 22 November 2007