Number |
|
|
|
|
To |
0 | Filter | Remove known-to-be-useless nodes from gcc ASG. | Mar 1 | gd_reduce.c |
|
0b | Filter 2 | General Garbage Collector | Mar 9 | gd_filter.c |
|
0c | Source Names | Create source objects, and edges for all cASGNds. |
|
||
1 | Name Space | Convert NameSpaceDecl nodes to cNamespace nodes, add cArcSon edges | Mar 8 | namespace.c |
|
2 | Builtin Type | Convert some Type nodes to cBuiltinType nodes | Mar 8 | gd_builtin.c |
|
3 | Aggregate Type | Convert various Type nodes to cAggrType nodes with type attribute; make cArcSon edges.Note | Mar 9 | aggregate.c | TRD |
4 | Derived Types | Convert pointer, array, and reference type nodes, make cInstance edges. | Mar 12 | gd_derived.c |
|
5 | Function Types | Convert FunctionType and MethodType nodes to cFctType. Make cArcSon edges, and create formal parameter objects. Create cInstance edges to return type. | Mar 13 | funct_type.c | TRD |
6 | Enumerated Types | Create cEnumType, populate cEnumerator, construct cArcSon edges from EnumeralType, ConstDecl. | Mar 14 | gd_enum.c |
|
7 | Generic Types | Postponed. | |||
8 | Typedefs | Create cAliasTypes from some Type nodes, and cInstance edges.Note | Mar 13 | gd_alias.c | TRD |
9 | Forward Types | Postponed. | |||
10 | Objects | Create cObject from VarDecl, FieldDecl, ParmDecl, and generated objects. Assign attributes static, extern, etc. Make cInstance edges to their types. Make cArcDefLoc edges to their scopes. | Mar 14 | gd_objects.c |
|
11 | Functions | Create cFunction from FunctionDecl (includes methods). Assign attributes. Make formals from ParmDecls. Make cArcSon to formals. Make cInstance edges to return type. | Mar 14 | gd_func.c | TRD |
12 | Literals | Make cLiteral from IntegerCst, StringCst, etc. (Exclude enumerated constants.) Assign type and value. | Mar 19 | gd_literals.c |
|
13 | Operators | Make cOperator nodes out of all those different kinds of expression. Assign the op attribute. Make cArcOpd edges. (Apparently no need for instance edges.) | Mar 28 | gd_operators.c |
|
14 | Initializers | Replace Constructor nodes by cInitList nodes, create edges. | |||
15 | Actuals | Create cActualFctParamList nodes and cArcSon edges for them. | Mar 28 | gd_actuals.c | |
16 | Template Actuals | Postponed | |||
17 | New and Delete | Create cCreationExpr and cDestroyExpr nodes. | |||
18 | Initial Value | Create cArcInitVal edges in all cases. Subsumed by task Objects. | Mar 14 | gd_objects.c | |
19 | Bit Field Size | Subsumed by task Objects. | Mar 14 | gd_objects.c | |
20 | Regular Statements | Skip all kinds of enclosing statements (expression, label, and declaration) and make edges into them point through to their contents.Note | March 30 | gd_statements.c | |
21 | Break | Make cBreak and cContinue from BreakStmt and ContinueStmt | March 26 | gd_break.c | |
22 | Goto | Make cGoto from GotoStmt, with cArcSon edges pointing at the LabelDecl (not at a cNameRef, they don't exist yet). | Mar 29 | gd_goto.c | |
23 | Return | Make cReturn from ReturnStmt and add cArcSon edge if required. | Apr 2 | gd_return.c | |
24 | Labels | Make cLabel, cCaseLabel, cDefaultLabel from LabelDecl and CaseLabel. | Apr 2 | gd_labels.c | |
25 | For | Make cForLoop from ForStmt, and create cArcForInit, cArcCond, cArcForIncr edges, also cArcSon for the body. | May 4 | gd_for.c | |
26 | While | Make cWhileDo and cDoWhile from WhileStmt and DoStmt, with cArcCond and cArcSon edges. | Mar 28 | gd_while.c | |
27 | If | Make cIf from IfStmt, with cArcCond, cArcTrue, and cArcFalse edges. | Apr 2 | gd_if.c | |
28 | Switch | Make cSwitch from SwitchStmt, with cArcCond anbd cArcSon (change to model). | Apr 2 | gd_switch.c |
|
29 | Scope | Make cScopeCompil, one entity named according to the file name, with one cArcSon edge to the root namespace (is change to model). | |||
30 | Block | Make cBlock from CompoundStmt, and cleanup internal structure (eliminate Begins and Ends). | March 30 | gd_block.c | |
31 | Catch and Throw | Postponed | |||
32 | Inheritance | Make cInheritance edges for Classes? | April 18, 2001 | classes.c |
|
33 | NameRef | Everywhere a cArcSon edges points at a Decl, create a cNameRef node and a cRefersto edge. | Mar 30 | gd_nameref.c | |
34 | Friend | Postponed | |||
35 | Type Declarations | Remove type declaration nodes because Datrix doens't need them | Apr 10 | gd_typedecls.c | |
36 | Ordinal Attributes | Fix ordinal attributes on all appropriate edges | Apr 12 | ordinals.c |
Note, prior to the NameRef task, ArcSon edges are allowed to point to the referent, instead of the NameRef.