home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume2 / advsys / part03 / advcom.h < prev    next >
C/C++ Source or Header  |  1987-10-23  |  1KB  |  56 lines

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