67 lines
1.1 KiB
C
67 lines
1.1 KiB
C
#define SEGBSS 0
|
|
#define SEGHOL 1
|
|
#define SEGCON 2
|
|
#define SEGROM 3
|
|
#define SEGTXT 4
|
|
#define NOSEG 5
|
|
#define UNKNOWN (-1)
|
|
|
|
|
|
#define TRUE 1
|
|
#define FALSE 0
|
|
|
|
|
|
#define STRING 0
|
|
#define LABEL 1
|
|
#define ARITH 2
|
|
#define INT 3
|
|
|
|
|
|
#define MAX_ARGS 4
|
|
|
|
#define NO_ARGS 0
|
|
#define C_ARG 1
|
|
#define D_ARG 2
|
|
#define F_ARG 3
|
|
#define L_ARG 4
|
|
#define N_ARG 5
|
|
#define O_ARG 6
|
|
#define R_ARG 7
|
|
#define S_ARG 8
|
|
#define Z_ARG 9
|
|
#define W_ARG 10
|
|
#define EXTERNAL 11
|
|
#define EXTERNAL_DNAM 12
|
|
#define EXTERNAL_DLB 13
|
|
#define P_ARG 14
|
|
#define B_ARG 15
|
|
#define STRING_ARITH 16
|
|
#define BSS_EXT_DNAM 17
|
|
#define BSS_EXT_DLB 18
|
|
#define BSS_STR_AR 19
|
|
#define BSS_W_ARG 20
|
|
#define BSS_PNAM 21
|
|
#define BSS_ILB 22
|
|
#define ID_N_ARG 23
|
|
#define ARITH_ARITH 24
|
|
#define EXT_DNAM 25
|
|
#define EXT_DLB 26
|
|
#define ONE_INT 27
|
|
#define _STRING 28
|
|
|
|
|
|
typedef struct {
|
|
char *header;
|
|
int arg_type[MAX_ARGS]; /* Zoals ze eruit gaan!! */
|
|
char *arg_id[MAX_ARGS], *arg_conv[MAX_ARGS];
|
|
} t_C_info;
|
|
|
|
typedef struct {
|
|
char *lexeme;
|
|
int C_instr_type;
|
|
} t_token;
|
|
|
|
|
|
extern t_C_info C_info[], *C_instr_info;
|
|
extern int storage_default[4][3], segment;
|