1 /* 1.incl.h 4.2 83/08/11 */ 2 3 #define maxlsw 10 /* max number of switches and labels per statement */ 4 #define implicit 0L /* "label" of following line so all flow can be treated as jump to label */ 5 struct lablist {long labelt; struct lablist *nxtlab; }; 6 extern struct lablist *endlab, *errlab, *reflab, *linelabs, *newlab; 7 extern long label(); 8 9 extern int routbeg; /* line number of first line of routine */ 10 extern int nameline; /* line number of function/subroutine st., if any */ 11 extern int stflag; /* determines whether at beginning or middle of block of straight line code */ 12 13 14 15 extern char buffer[]; 16 extern int endbuf; 17 18 extern int nlabs, lswnum, swptr, flag, 19 counter, p1, p3, begline, endline, r1,r2, endcom; 20 extern long begchar, endchar, comchar; 21 22 23 /* statement types not associated with actual node types */ 24 #define contst -1 25 #define ungo -2 26 #define arithif -3 27 #define readst -8 28 #define writest -9 29 #define entry -10 30 31 32 extern char *pred, *inc, *prerw, *postrw, *exp, *stcode; 33 34 #define maxdo 20 /* max nesting of do loops */ 35 extern long dostack[maxdo]; /* labels of do nodes */ 36 extern int doloc[maxdo]; /* loc of do node */ 37 extern int doptr; 38 39 40 extern struct list *FMTLST; /* list of FMTVX's generated */ 41 extern struct list *ENTLST; /* list of STLNVX nodes corresponding to entry statements */ 42