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