Elsa ast nodes: Difference between revisions
Jump to navigation
Jump to search
Hendrik Tews (talk | contribs) 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 | ** [[Elsa Ast Type AST_typeof_expr|AST_typeof_expr]] | ||
** [[Elsa Ast 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 | ** [[Elsa Ast Type TY_Array|TY_Array]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type TY_CVAtomic|TY_CVAtomic]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type TY_DependentSizedArray|TY_DependentSizedArray]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type TY_Function|TY_Function]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type TY_Pointer|TY_Pointer]] | ||
** [[Elsa Ast Type | ** [[Elsa Ast Type TY_PointerToMember|TY_PointerToMember]] | ||
** [[Elsa Ast Type | ** [[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 | 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 | 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
- 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