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