Elsa ast nodes: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(list of all ast nodes)
 
(sorted subtype node list)
Line 58: Line 58:


== Elsa Ast Subtype nodes ==
== Elsa Ast Subtype nodes ==
<!-- output of oast_wiki -sub -->


* [[Elsa Ast Type ASTTypeId|ASTTypeId]] : no subnodes
* [[Elsa Ast Type ASTTypeId|ASTTypeId]] : no subnodes
Line 69: Line 67:
* [[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 AT_func|AT_func]]
* [[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 BaseClassSpec|BaseClassSpec]] : no subnodes
* [[Elsa Ast Type BaseClassSpec|BaseClassSpec]] : 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 CN_decl|CN_decl]]
* [[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 85: Line 83:
* [[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 E_intLit|E_intLit]]
** [[Elsa Ast Type E_cast|E_cast]]
** [[Elsa Ast Type E_floatLit|E_floatLit]]
** [[Elsa Ast Type E_stringLit|E_stringLit]]
** [[Elsa Ast Type E_charLit|E_charLit]]
** [[Elsa Ast Type E_charLit|E_charLit]]
** [[Elsa Ast Type E_this|E_this]]
** [[Elsa Ast Type E_compoundLit|E_compoundLit]]
** [[Elsa Ast Type E_variable|E_variable]]
** [[Elsa Ast Type E_cond|E_cond]]
** [[Elsa Ast Type E_funCall|E_funCall]]
** [[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_unary|E_unary]]
** [[Elsa Ast Type E_effect|E_effect]]
** [[Elsa Ast Type E_binary|E_binary]]
** [[Elsa Ast Type E_addrOf|E_addrOf]]
** [[Elsa Ast Type E_deref|E_deref]]
** [[Elsa Ast Type E_cast|E_cast]]
** [[Elsa Ast Type E_cond|E_cond]]
** [[Elsa Ast Type E_sizeofType|E_sizeofType]]
** [[Elsa Ast Type E_sizeofType|E_sizeofType]]
** [[Elsa Ast Type E_assign|E_assign]]
** [[Elsa Ast Type E_statement|E_statement]]
** [[Elsa Ast Type E_new|E_new]]
** [[Elsa Ast Type E_stringLit|E_stringLit]]
** [[Elsa Ast Type E_delete|E_delete]]
** [[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_keywordCast|E_keywordCast]]
** [[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 E_grouping|E_grouping]]
** [[Elsa Ast Type E_unary|E_unary]]
** [[Elsa Ast Type E_arrow|E_arrow]]
** [[Elsa Ast Type E_variable|E_variable]]
** [[Elsa Ast Type E_statement|E_statement]]
** [[Elsa Ast Type E_compoundLit|E_compoundLit]]
** [[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_alignofType|E_alignofType]]
** [[Elsa Ast Type E_alignofExpr|E_alignofExpr]]
** [[Elsa Ast Type E_gnuCond|E_gnuCond]]
** [[Elsa Ast Type E_addrOfLabel|E_addrOfLabel]]
* [[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
Line 126: Line 124:
* [[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 D_func|D_func]]
** [[Elsa Ast Type D_array|D_array]]
** [[Elsa Ast Type D_bitfield|D_bitfield]]
** [[Elsa Ast Type D_ptrToMember|D_ptrToMember]]
** [[Elsa Ast Type D_grouping|D_grouping]]
* [[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_expr|IN_expr]]
** [[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 MR_access|MR_access]]
** [[Elsa Ast Type MR_template|MR_template]]
** [[Elsa Ast Type MR_usingDecl|MR_usingDecl]]
** [[Elsa Ast Type MR_usingDecl|MR_usingDecl]]
** [[Elsa Ast Type MR_template|MR_template]]
* [[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 151:
** [[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 ON_conversion|ON_conversion]]
* [[Elsa Ast Type PQName|PQName]] subnodes:
* [[Elsa Ast Type PQName|PQName]] subnodes:
** [[Elsa Ast Type PQ_qualifier|PQ_qualifier]]
** [[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 Statement|Statement]] subnodes:
* [[Elsa Ast Type Statement|Statement]] subnodes:
** [[Elsa Ast Type S_skip|S_skip]]
** [[Elsa Ast Type S_asm|S_asm]]
** [[Elsa Ast Type S_label|S_label]]
** [[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_compound|S_compound]]
** [[Elsa Ast Type S_if|S_if]]
** [[Elsa Ast Type S_switch|S_switch]]
** [[Elsa Ast Type S_while|S_while]]
** [[Elsa Ast Type S_doWhile|S_doWhile]]
** [[Elsa Ast Type S_for|S_for]]
** [[Elsa Ast Type S_for|S_for]]
** [[Elsa Ast Type S_break|S_break]]
** [[Elsa Ast Type S_function|S_function]]
** [[Elsa Ast Type S_continue|S_continue]]
** [[Elsa Ast Type S_return|S_return]]
** [[Elsa Ast Type S_goto|S_goto]]
** [[Elsa Ast Type S_goto|S_goto]]
** [[Elsa Ast Type S_decl|S_decl]]
** [[Elsa Ast Type S_if|S_if]]
** [[Elsa Ast Type S_try|S_try]]
** [[Elsa Ast Type S_label|S_label]]
** [[Elsa Ast Type S_asm|S_asm]]
** [[Elsa Ast Type S_namespaceDecl|S_namespaceDecl]]
** [[Elsa Ast Type S_namespaceDecl|S_namespaceDecl]]
** [[Elsa Ast Type S_function|S_function]]
** [[Elsa Ast Type S_rangeCase|S_rangeCase]]
** [[Elsa Ast Type S_rangeCase|S_rangeCase]]
** [[Elsa Ast Type S_computedGoto|S_computedGoto]]
** [[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_type|TA_type]]
** [[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_decl|TD_decl]]
** [[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 TP_nontype|TP_nontype]]
* [[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_template|TF_template]]
** [[Elsa Ast Type TF_explicitInst|TF_explicitInst]]
** [[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 TF_asm|TF_asm]]
** [[Elsa Ast Type TF_template|TF_template]]
** [[Elsa Ast Type TF_namespaceDefn|TF_namespaceDefn]]
** [[Elsa Ast Type TF_namespaceDecl|TF_namespaceDecl]]
* [[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_elaborated|TS_elaborated]]
** [[Elsa Ast Type TS_classSpec|TS_classSpec]]
** [[Elsa Ast Type TS_enumSpec|TS_enumSpec]]
** [[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

Revision as of 07:53, 24 August 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


Elsa Ast Subtype nodes