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: }