2 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
3 * See the copyright notice in the ACK home directory, in the file "Copyright".
5 /* $Id: em_comp.h,v 1.11 1994/06/24 11:21:15 ceriel Exp $ */
6 #ifndef __EMCOMP_INCLUDED__
7 #define __EMCOMP_INCLUDED__
12 int ema_argtype; /* type of this argument */
14 arith emu_cst; /* a cst */
15 label emu_dlb; /* a numeric data label */
16 label emu_ilb; /* an instruction label */
17 char *emu_dnam; /* a data label */
18 char *emu_pnam; /* a procedure name */
19 char *emu_string; /* a string (fcon,icon,ucon,scon) */
23 #define ema_cst ema_arg.emu_cst
24 #define ema_dlb ema_arg.emu_dlb
25 #define ema_ilb ema_arg.emu_ilb
26 #define ema_dnam ema_arg.emu_dnam
27 #define ema_pnam ema_arg.emu_pnam
28 #define ema_nlocals ema_szoroff
29 #define ema_string ema_arg.emu_string
33 int em_type; /* Type of this instr */
34 #define EM_MNEM 256 /* A machine instruction */
35 #define EM_PSEU 257 /* A pseudo */
36 #define EM_STARTMES 258 /* Start of a MES pseudo */
37 #define EM_MESARG 259 /* A member in a MES list */
38 #define EM_ENDMES 260 /* End of a MES pseudo */
39 #define EM_DEFILB 261 /* An instruction label definition */
40 #define EM_DEFDLB 262 /* A numeric data label definition */
41 #define EM_DEFDNAM 263 /* A non-numeric data label def */
42 #define EM_ERROR 264 /* Recoverable error */
43 #define EM_FATAL 265 /* Unrecoverable error */
44 #define EM_EOF 266 /* End of file */
49 _PROTOTYPE(int EM_open, (char *));
50 _PROTOTYPE(void EM_close, (void));
51 _PROTOTYPE(int EM_getinstr, (struct e_instr *));
52 _PROTOTYPE(int EM_mkcalls, (struct e_instr *));
56 #define EM_bsssize EM_holsize
59 #define EM_bssinit EM_holinit
61 #define em_ilb em_arg.ema_ilb
62 #define em_dlb em_arg.ema_dlb
63 #define em_dnam em_arg.ema_dnam
64 #define em_argtype em_arg.ema_argtype
65 #define em_cst em_arg.ema_cst
66 #define em_pnam em_arg.ema_pnam
67 #define em_nlocals em_arg.ema_nlocals
68 #define em_string em_arg.ema_string
69 #define em_off em_arg.ema_szoroff
70 #define em_size em_arg.ema_szoroff
72 /* Arguments for EXC pseudo: */
73 #define em_exc1 em_arg.ema_cst
74 #define em_exc2 em_arg.ema_szoroff
77 *EM_error, *EM_filename;
81 EM_wordsize, EM_pointersize;
82 #endif /* __EMCOMP_INCLUDED__ */