Tasks in Translation

Task
Number
Task
Description
Done
Source Code
Assigned
To
0 Filter Remove known-to-be-useless nodes from gcc ASG. Mar 1 gd_reduce.c
TRD
0b Filter 2 General Garbage Collector Mar 9 gd_filter.c
TRD
0c Source Names Create source objects, and edges for all cASGNds.    
AJM
1 Name Space Convert NameSpaceDecl nodes to cNamespace nodes, add cArcSon edges Mar 8 namespace.c
TRD
2 Builtin Type Convert some Type nodes to cBuiltinType nodes Mar 8  gd_builtin.c
AJM
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
AJM
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
AJM
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
AJM
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
AJM
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
AJM
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
AJM
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
AJM
19 Bit Field Size Subsumed by task Objects. Mar 14 gd_objects.c
AJM
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
AJM
21 Break Make cBreak and cContinue from BreakStmt and ContinueStmt March 26 gd_break.c
TRD
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
AJM
23 Return Make cReturn from ReturnStmt and add cArcSon edge if required. Apr 2 gd_return.c
AJM
24 Labels Make cLabel, cCaseLabel, cDefaultLabel from LabelDecl and CaseLabel. Apr 2 gd_labels.c
AJM
25 For Make cForLoop from ForStmt, and create cArcForInit, cArcCond, cArcForIncr edges, also cArcSon for the body. May 4 gd_for.c
AJM
26 While Make cWhileDo and cDoWhile from WhileStmt and DoStmt, with cArcCond and cArcSon edges. Mar 28 gd_while.c
TRD
27 If Make cIf from IfStmt, with cArcCond, cArcTrue, and cArcFalse edges. Apr 2 gd_if.c
AJM
28 Switch Make cSwitch from SwitchStmt, with cArcCond anbd cArcSon (change to model). Apr 2 gd_switch.c
AJM
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
TRD
31 Catch and Throw Postponed
32 Inheritance Make cInheritance edges for Classes? April 18, 2001 classes.c
TRD
33 NameRef Everywhere a cArcSon edges points at a Decl, create a cNameRef node and a cRefersto edge. Mar 30 gd_nameref.c
AJM
34 Friend Postponed
35 Type Declarations Remove type declaration nodes because Datrix doens't need them Apr 10 gd_typedecls.c
AJM
36 Ordinal Attributes Fix ordinal attributes on all appropriate edges Apr 12 ordinals.c
TRD

 

Note, prior to the NameRef task, ArcSon edges are allowed to point to the referent, instead of the NameRef.