1: #include <stdio.h> 2: #include "def.h" 3: struct lablist {long labelt; struct lablist *nxtlab; }; 4: struct lablist *endlab, *errlab, *reflab, *linelabs, *newlab; 5: 6: int nameline; /* line number of function/subroutine st., if any */ 7: int stflag; /* determines whether at beginning or middle of block of straight line code */ 8: 9: 10: 11: int nlabs, lswnum, swptr, flag, 12: counter, p1, p3, begline, endline, r1,r2, endcom; 13: long begchar, endchar, comchar; 14: 15: 16: char *pred, *inc, *prerw, *postrw, *exp, *stcode; 17: 18: #define maxdo 20 /* max nesting of do loops */ 19: long dostack[maxdo]; /* labels of do nodes */ 20: int doloc[maxdo]; /* loc of do node */ 21: int doptr; 22: 23: 24: struct list *FMTLST; /* list of FMTVX's generated */ 25: struct list *ENTLST; /* list of STLNVX nodes corresponding to entry statements */ 26: long rtnbeg; /* number of chars up to beginning of current routine */