next up previous contents
Next: Architectural Design Up: Functional and Performance Requirements Previous: Comprehensive listing

Graphical representation

The graphical output of the CCA is a PostScript file that shows all of the conditional directives, the logic flow between directives, and the lines of code within each logical block. V(g) can be found by counting the number of enclosed spaces on the graph (plus one).

       
Figure 2: Example node for #if, #ifdef, #ifndef, and #elsif

  Figure 3: Example node for #else

  Figure 4: Example node for #endif

Figures 23, and 4 show the basic nodes of the graph. Branches to the right from a decision node (#if, #ifdef, #ifndef, and #elsif) indicate the ``true'' path. Braches straight down from a decision node indicate the ``false'' path. We chose to have #else nodes always branch right because they can be thought of as having expressions that are always true. The #endif nodes bring together all of the paths associated with their decision nodes. The nodes can be connected by dotted or solid lines. Solid lines designate places along the logical path that can contain code. Dotted lines designate places along the logical path that cannot contain code (e.g. a link between an #if and an #endif when no #else exists).