Elsa ast nodes: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:
   -- with the olmar wiki bot on behalf of Hendrik Tews.
   -- with the olmar wiki bot on behalf of Hendrik Tews.
   -->
   -->
This documents [http://askra.de/software/olmar/ Olmar] which was used to [https://blog.mozilla.org/tglek/2007/07/13/dehydra-prcheck-squash-in-mercurial/ analyze the Mozilla code base]
This page gives an overview over all Elsa Ast node types. For
This page gives an overview over all Elsa Ast node types. For
each node type it links to a page describing this type.
each node type it links to a page describing this type.
Line 72: Line 74:
* [[Elsa Ast Type ASTTypeId|ASTTypeId]] : no subnodes
* [[Elsa Ast Type ASTTypeId|ASTTypeId]] : no subnodes
* [[Elsa Ast Type ASTTypeof|ASTTypeof]] subnodes:
* [[Elsa Ast Type ASTTypeof|ASTTypeof]] subnodes:
** [[Elsa Ast Type TS_typeof_expr|TS_typeof_expr]]
** [[Elsa Ast Type AST_typeof_expr|AST_typeof_expr]]
** [[Elsa Ast Type TS_typeof_type|TS_typeof_type]]
** [[Elsa Ast Type AST_typeof_type|AST_typeof_type]]
* [[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
Line 93: Line 95:
* [[Elsa Ast Type BaseClassSubobj|BaseClassSubobj]] : no subnodes
* [[Elsa Ast Type BaseClassSubobj|BaseClassSubobj]] : no subnodes
* [[Elsa Ast Type CType|CType]] subnodes:
* [[Elsa Ast Type CType|CType]] subnodes:
** [[Elsa Ast Type TY_ArrayType|TY_ArrayType]]
** [[Elsa Ast Type TY_Array|TY_Array]]
** [[Elsa Ast Type TY_CVAtomicType|TY_CVAtomicType]]
** [[Elsa Ast Type TY_CVAtomic|TY_CVAtomic]]
** [[Elsa Ast Type TY_DependentSizedArrayType|TY_DependentSizedArrayType]]
** [[Elsa Ast Type TY_DependentSizedArray|TY_DependentSizedArray]]
** [[Elsa Ast Type TY_FunctionType|TY_FunctionType]]
** [[Elsa Ast Type TY_Function|TY_Function]]
** [[Elsa Ast Type TY_PointerToMemberType|TY_PointerToMemberType]]
** [[Elsa Ast Type TY_Pointer|TY_Pointer]]
** [[Elsa Ast Type TY_PointerType|TY_PointerType]]
** [[Elsa Ast Type TY_PointerToMember|TY_PointerToMember]]
** [[Elsa Ast Type TY_ReferenceType|TY_ReferenceType]]
** [[Elsa Ast Type TY_Reference|TY_Reference]]
* [[Elsa Ast Type CompilationUnit|CompilationUnit]] : no subnodes
* [[Elsa Ast Type CompilationUnit|CompilationUnit]] : no subnodes
* [[Elsa Ast Type Condition|Condition]] subnodes:
* [[Elsa Ast Type Condition|Condition]] subnodes:
Line 262: Line 264:


<!-- easy to parse list of all node types
<!-- easy to parse list of all node types
Renamings:  PointerToMemberType DependentSizedArrayType ArrayType FunctionType ReferenceType PointerType CVAtomicType DependentQType TypeVariable PseudoInstantiation EnumType CompoundType SimpleType  
Renamings:  PointerToMemberType DependentSizedArrayType ArrayType FunctionType ReferenceType PointerType CVAtomicType DependentQType TypeVariable PseudoInstantiation EnumType CompoundType SimpleType TS_typeof_type TS_typeof_expr
wiki page name prefix: Elsa Ast Type  
wiki page name prefix: Elsa Ast Type  
CompilationUnit  
CompilationUnit  
Line 294: Line 296:
IDeclarator D_name D_pointer D_reference D_func D_array D_bitfield D_ptrToMember D_grouping  
IDeclarator D_name D_pointer D_reference D_func D_array D_bitfield D_ptrToMember D_grouping  
FullExpressionAnnot  
FullExpressionAnnot  
ASTTypeof TS_typeof_expr TS_typeof_type
ASTTypeof AST_typeof_expr AST_typeof_type
Designator FieldDesignator SubscriptDesignator  
Designator FieldDesignator SubscriptDesignator  
AttributeSpecifierList  
AttributeSpecifierList  
Line 308: Line 310:
AtomicType ATY_Simple ATY_Compound ATY_Enum ATY_PseudoInstantiation ATY_TypeVariable ATY_DependentQ  
AtomicType ATY_Simple ATY_Compound ATY_Enum ATY_PseudoInstantiation ATY_TypeVariable ATY_DependentQ  
FunctionExnSpec  
FunctionExnSpec  
CType TY_CVAtomicType TY_PointerType TY_ReferenceType TY_FunctionType TY_ArrayType TY_DependentSizedArrayType TY_PointerToMemberType
CType TY_CVAtomic TY_Pointer TY_Reference TY_Function TY_Array TY_DependentSizedArray TY_PointerToMember
STemplateArgument STA_NONE STA_TYPE STA_INT STA_ENUMERATOR STA_REFERENCE STA_POINTER STA_MEMBER STA_DEPEXPR STA_TEMPLATE STA_ATOMIC  
STemplateArgument STA_NONE STA_TYPE STA_INT STA_ENUMERATOR STA_REFERENCE STA_POINTER STA_MEMBER STA_DEPEXPR STA_TEMPLATE STA_ATOMIC  
Scope  
Scope  
end of node type list -->
end of node type list -->

Latest revision as of 17:36, 18 March 2015

This documents Olmar which was used to analyze the Mozilla code base

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.

Olmar Ast Supertype nodes without subtypes

Olmar Ast Supertype nodes with subtypes