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