xref: /original-bsd/usr.bin/struct/struct/1.incl.h (revision 8251a00e)
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