/* %Z%%M% %R%.%L% %D% %T% */
#define NLOC 4 /* number of location ctrs */
#define XFORW 0x20 /* Was forward-referenced when undefined */
* Actual argument syntax types
#define ABASE 2 /* (%r) */
#define ADECR 3 /* -(%r) */
#define AINCR 4 /* (%r)+ */
#define ADISP 5 /* expr(%r) */
#define AEXP 6 /* expr */
#define AIMM 7 /* $ expr */
#define AINDX 16 /* [%r] */
#define ACCA (8<<3) /* address only */
#define ACCR (1<<3) /* read */
#define ACCW (2<<3) /* write */
#define ACCM (3<<3) /* modify */
#define ACCB (4<<3) /* branch displacement */
#define ACCI (5<<3) /* XFC code */
#define TYPB 0 /* byte */
#define TYPW 1 /* word */
#define TYPL 2 /* long */
#define TYPQ 3 /* quad */
#define TYPF 4 /* floating */
#define TYPD 5 /* double floating */
/* reference types for loader */
#define round(x,y) (((x)+(y)) & ~(y))
char opcode
; /* must have same offset as symtab.type */
char tag
; /* yacc-coded nargs (INST0, ...) or token # (IALIGN, ...) */
long yvalue
; /* 2nd half of double floating */
struct symtab
*hshtab
[NHASH
];
extern struct symtab
*nextsym
;
extern struct exp usedot
[NLOC
+NLOC
];
extern FILE *usefile
[NLOC
+NLOC
];
extern FILE *rusefile
[NLOC
+NLOC
];
extern char yytext
[NCPS
+2];
struct instab
*itab
[NINST
];
struct symtab
**lookup();