Elsa ast nodes: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(undo last change)
(update to olmar v2)
Line 17: Line 17:


<!-- OLMAR SEPARATION LINE: ADD YOUR MODIFICATIONS OBOVE! -->
<!-- OLMAR SEPARATION LINE: ADD YOUR MODIFICATIONS OBOVE! -->
<!-- output of oast_wiki -super -->
== Olmar Ast Supertype nodes without subtypes ==
 
* [[Elsa Ast Type ASTTypeId|ASTTypeId]]
* [[Elsa Ast Type ASTTypeId|ASTTypeId]]
* [[Elsa Ast Type ASTTypeof|ASTTypeof]]
* [[Elsa Ast Type ASTTypeof|ASTTypeof]]
* [[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 43:
* [[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 53:
* [[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 67:
* [[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
Line 63: Line 75:
* [[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]]
Line 69: Line 88:
* [[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_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 Condition|Condition]] subnodes:
** [[Elsa Ast Type CN_decl|CN_decl]]
** [[Elsa Ast Type CN_decl|CN_decl]]
Line 78: Line 108:
** [[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
Line 110: Line 141:
** [[Elsa Ast Type E_sizeofType|E_sizeofType]]
** [[Elsa Ast Type E_sizeofType|E_sizeofType]]
** [[Elsa Ast Type E_statement|E_statement]]
** [[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_stringLit|E_stringLit]]
** [[Elsa Ast Type E_this|E_this]]
** [[Elsa Ast Type E_this|E_this]]
Line 120: Line 152:
* [[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:
Line 152: Line 185:
** [[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]]
Line 158: Line 192:
** [[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 S_asm|S_asm]]
** [[Elsa Ast Type S_asm|S_asm]]
Line 213: Line 259:
** [[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
<!-- easy to parse list of all node types
wiki page name prefix: Elsa Ast Type  
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  
ASTTypeId  
ASTTypeof TS_typeof_expr TS_typeof_type
PQName PQ_qualifier PQ_name PQ_operator PQ_template PQ_variable
ArgExpression
TypeSpecifier TS_name TS_simple TS_elaborated TS_classSpec TS_enumSpec TS_type TS_typeof
ArgExpressionListOpt
Attribute AT_empty AT_word AT_func
AttributeSpecifier
AttributeSpecifierList
BaseClassSpec  
BaseClassSpec  
Condition CN_expr CN_decl
Declaration
Declarator
Designator FieldDesignator SubscriptDesignator
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  
FullExpressionAnnot
ArgExpression
Function
ArgExpressionListOpt
Handler
IDeclarator D_name D_pointer D_reference D_func D_array D_bitfield D_ptrToMember D_grouping
InheritedTemplateParams
Initializer IN_expr IN_compound IN_ctor IN_designated  
Initializer IN_expr IN_compound IN_ctor IN_designated  
Member MR_decl MR_func MR_access MR_usingDecl MR_template
MemberInit
MemberList
NamespaceDecl ND_alias ND_usingDecl ND_usingDir
OperatorName ON_newDel ON_operator ON_conversion
PQName PQ_qualifier PQ_name PQ_operator PQ_template PQ_variable
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
TemplateArgument TA_type TA_nontype TA_templateUsed
TemplateDeclaration TD_func TD_decl TD_tmember  
TemplateDeclaration TD_func TD_decl TD_tmember  
TemplateInfo
TemplateParameter TP_type TP_nontype  
TemplateParameter TP_type TP_nontype  
TopForm TF_decl TF_func TF_template TF_explicitInst TF_linkage TF_one_linkage TF_asm TF_namespaceDefn TF_namespaceDecl
TemplateArgument TA_type TA_nontype TA_templateUsed
TranslationUnit
NamespaceDecl ND_alias ND_usingDecl ND_usingDir
TypeSpecifier TS_name TS_simple TS_elaborated TS_classSpec TS_enumSpec TS_type TS_typeof
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 22:04, 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

Olmar Ast Supertype nodes without subtypes

Olmar Ast Supertype nodes with subtypes