66 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			66 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;
 |