Commit | Line | Data |
---|---|---|
42d6e430 BJ |
1 | #include <stdio.h> |
2 | #include "def.h" | |
3 | ||
4 | structure() | |
5 | { | |
6 | VERT v, *head; | |
7 | ||
8 | if (progress) | |
9 | fprintf(stderr," getreach:\n"); | |
10 | getreach(); | |
11 | if (routerr) return; | |
12 | if (progress) | |
13 | fprintf(stderr," getflow:\n"); | |
14 | getflow(); | |
15 | if (progress) | |
16 | fprintf(stderr," getthen:\n"); | |
17 | getthen(START); | |
18 | head = challoc(nodenum * sizeof(*head)); | |
19 | for (v = 0; v < nodenum; ++v) | |
20 | head[v] = UNDEFINED; | |
21 | for (v = START; DEFINED(v); v = RSIB(v)) | |
22 | fixhd(v,UNDEFINED,head); | |
23 | /* fixhd must be called before getloop so that | |
24 | it gets applied to IFVX which becomes NXT(w) for UNTVX w */ | |
25 | if (progress) | |
26 | fprintf(stderr," getloop:\n"); | |
27 | getloop(); | |
28 | if (progress) | |
29 | fprintf(stderr," getbranch:\n"); | |
30 | getbranch(head); | |
31 | chfree(head,nodenum * sizeof(*head)); | |
32 | head = 0; | |
33 | } |