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