![]() | Name | Last modified | Size | Description |
---|---|---|---|---|
![]() | Parent Directory | - | ||
![]() | README-commentary | 2003-11-01 00:20 | 4.2K | |
![]() | README-phases.html | 2003-11-29 02:19 | 43K | |
![]() | README.html | 2004-01-19 15:46 | 26K | |
![]() | brain3.png | 2004-01-07 12:00 | 1.1K | |
Phase |
Function performed |
Limiting goal |
---|---|---|
1 "parse" |
Parse C into a stream of
tokens that associate identifiers and constants with both their
text position (line,col) in the compilation unit and their semantic
units (= UIDs) in gcc's parse tree. |
Still recognizable as a
stream of C code. |
2 "token" |
Fixup the token stream:
sort by (line,col), merge duplicate tokens in macro definitions,
deal with generated identifiers from macro calls. Split the
token stream by file of origin and convert compilation-unit line
numbers back to input-file line numbers. |
Still processing each compilation
unit separately. |
3 "merge' |
Combine compilation units.
Merge the token-streams for header files mentioned in
several units. |
Still generic C processing. |
4 "sum" |
Produce summary counts
of various things, that will be used by phase 5. |
Still no meat. |
5 "calc" |
Calculate marginal costs
to coupling/cohesion for each identifier and constant. |
Still no HTML. |
6 "html" |
Reread input files, annotate
with marginal-cost info. |
(Done.) |