home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Guide / c-cplusplus-interactive-guide.iso / c_ref / csource4 / 251_01 / advcom.h < prev    next >
Text File  |  1987-10-29  |  1KB  |  55 lines

  1. /* advcom.h - adventure compiler definitions */
  2. /*
  3.     Copyright (c) 1986, by David Michael Betz
  4.     All rights reserved
  5. */
  6.  
  7. #include <stdio.h>
  8. #include <ctype.h>
  9.  
  10. /* limits */
  11. #define TKNSIZE        50    /* maximum token size */
  12. #define OSIZE        104    /* maximum object size (O_SIZE/2 + OPMAX*2) */
  13. #define OPMAX        50    /* maximum # properties/object */
  14. #define WMAX        500    /* maximum number of words */
  15. #define OMAX        500    /* maximum number of objects */
  16. #define AMAX        200    /* maximum number of actions */
  17. #define DMAX        16384    /* maximum data space */
  18. #define CMAX        16384    /* maximum code space */
  19. #define FMAX        20    /* file name maximum */
  20.  
  21. /* useful definitions */
  22. #define TRUE        1
  23. #define FALSE        0
  24. #define EOS        '\0'
  25.  
  26. /* token definitions */
  27. #define T_OPEN        1
  28. #define T_CLOSE        2
  29. #define T_STRING    3
  30. #define T_IDENTIFIER    4
  31. #define T_NUMBER    5
  32. #define T_EOF        6
  33.  
  34. /* symbol types */
  35. #define ST_OBJECT    1
  36. #define ST_ACTION    2
  37. #define ST_VARIABLE    3
  38. #define ST_CONSTANT    4
  39. #define ST_PROPERTY    5
  40.  
  41. /* symbol structure */
  42. typedef struct symbol {
  43.     char *s_name;        /* symbol name */
  44.     int s_type;            /* symbol type */
  45.     int s_value;        /* symbol value */
  46.     struct symbol *s_next;    /* next symbol in table */
  47. } SYMBOL;
  48.  
  49. /* function argument structure */
  50. typedef struct argument {
  51.     char *arg_name;        /* argument name */
  52.     struct argument *arg_next;    /* next argument */
  53. } ARGUMENT;
  54.  
  55.