Figure 18.1: (Tomcat web server) Some loops; in each case, 1
Friday, November 30th, 2007Figure 18.1: Some loops; in each case, 1 is the header node. Team-Fly Team-Fly REDUCIBLE FLOW GRAPHS A reducible flow graph is one in which the dictionary definition of loop corresponds more closely to the technical definition; but let us develop a more precise definition. Figure 18.2a does not contain a loop; either node in the strongly connected component (2, 3) can be reached without going through the other. Figure 18.2: None of these contains a loop. Dotted lines indicate reduction of graph (c) by deleting edges and collapsing nodes. Figure 18.2c contains the same pattern of nodes 1, 2, 3; this becomes more clear if we repeatedly delete edges and collapse together pairs of nodes (x, y), where x is the only predecessor of y. That is: Delete 6 . 9, 5 . 4, collapse (7, 9), (3, 7), (7,
, (5, 6), (1, 5), (1, 4); and we obtain Figure 18.2a. An irreducible flow graph is one in which -after collapsing nodes and deleting edges -we can find a subgraph like Figure 18.2a. A reducible flow graph is one that cannot be collapsed to contain such a subgraph. Without such subgraphs, then any cycle of nodes does have a unique header node. Common control-flow constructs such as if-then, if-then-else, while-do, repeat-until, for, and break (even multilevel break) can only generate reducible flow graphs. Thus, the control-flow graph for a MiniJava or Java function, or a C function without goto, will always be reducible.
We would like to recommend you tested and proved virtual web hosting services, which you will surely find to be of great quality.