em_decl.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #define SEGBSS 0
  2. #define SEGHOL 1
  3. #define SEGCON 2
  4. #define SEGROM 3
  5. #define SEGTXT 4
  6. #define NOSEG 5
  7. #define UNKNOWN (-1)
  8. #define TRUE 1
  9. #define FALSE 0
  10. #define STRING 0
  11. #define LABEL 1
  12. #define ARITH 2
  13. #define INT 3
  14. #define MAX_ARGS 4
  15. #define NO_ARGS 0
  16. #define C_ARG 1
  17. #define D_ARG 2
  18. #define F_ARG 3
  19. #define L_ARG 4
  20. #define N_ARG 5
  21. #define O_ARG 6
  22. #define R_ARG 7
  23. #define S_ARG 8
  24. #define Z_ARG 9
  25. #define W_ARG 10
  26. #define EXTERNAL 11
  27. #define EXTERNAL_DNAM 12
  28. #define EXTERNAL_DLB 13
  29. #define P_ARG 14
  30. #define B_ARG 15
  31. #define STRING_ARITH 16
  32. #define BSS_EXT_DNAM 17
  33. #define BSS_EXT_DLB 18
  34. #define BSS_STR_AR 19
  35. #define BSS_W_ARG 20
  36. #define BSS_PNAM 21
  37. #define BSS_ILB 22
  38. #define ID_N_ARG 23
  39. #define ARITH_ARITH 24
  40. #define EXT_DNAM 25
  41. #define EXT_DLB 26
  42. #define ONE_INT 27
  43. #define _STRING 28
  44. typedef struct {
  45. char *header;
  46. int arg_type[MAX_ARGS]; /* Zoals ze eruit gaan!! */
  47. char *arg_id[MAX_ARGS], *arg_conv[MAX_ARGS];
  48. } t_C_info;
  49. typedef struct {
  50. char *lexeme;
  51. int C_instr_type;
  52. } t_token;
  53. extern t_C_info C_info[], *C_instr_info;
  54. extern int storage_default[4][3], segment;