home *** CD-ROM | disk | FTP | other *** search
/ cs.rhul.ac.uk / www.cs.rhul.ac.uk.zip / www.cs.rhul.ac.uk / pub / rdp / rdp_cs3460.tar / rdp.h < prev    next >
C/C++ Source or Header  |  1998-05-07  |  2KB  |  80 lines

  1. /*******************************************************************************
  2. *
  3. * Header file generated by RDP on May 04 1998 09:45:17 from rdp.bnf
  4. *
  5. *******************************************************************************/
  6. #ifndef RDP_H
  7. #define RDP_H
  8.  
  9. #include "scan.h"
  10.  
  11. /* Maximum number of passes */
  12. #define RDP_PASSES 2
  13.  
  14. /* Time and date stamp */
  15. #define RDP_STAMP "Generated on May 04 1998 09:45:17 and compiled on " __DATE__ " at " __TIME__ 
  16.  
  17. /* Token enumeration */
  18. enum
  19. {
  20. RDP_TT_BOTTOM = SCAN_P_TOP,
  21. RDP_T_16 /* " */ = SCAN_P_TOP,RDP_T_17 /* # */,RDP_T_18 /* ' */,RDP_T_19 /* ( */,RDP_T_20 /* (* */,RDP_T_21 /* ) */,RDP_T_22 /* * */,RDP_T_23 /* . */,
  22. RDP_T_24 /* : */,RDP_T_25 /* :: */,RDP_T_26 /* ::= */,RDP_T_27 /* < */,RDP_T_28 /* > */,RDP_T_29 /* @ */,RDP_T_ALT_ID,RDP_T_ANNOTATED_EPSILON_TREE,
  23. RDP_T_ARG_BLANK,RDP_T_ARG_BOOLEAN,RDP_T_ARG_NUMERIC,RDP_T_ARG_STRING,RDP_T_CASE_INSENSITIVE,RDP_T_CHAR,RDP_T_CHAR_ESC,RDP_T_COMMENT,
  24. RDP_T_COMMENT_LINE,RDP_T_COMMENT_LINE_VISIBLE,RDP_T_COMMENT_NEST,RDP_T_COMMENT_NEST_VISIBLE,RDP_T_COMMENT_VISIBLE,RDP_T_EPSILON_TREE,RDP_T_HASH_PRIME,RDP_T_HASH_SIZE,
  25. RDP_T_INCLUDE,RDP_T_INTERPRETER,RDP_T_MAX_ERRORS,RDP_T_MAX_WARNINGS,RDP_T_NEW_ID,RDP_T_NUMBER,RDP_T_OPTION,RDP_T_OUTPUT_FILE,
  26. RDP_T_PARSER,RDP_T_PASSES,RDP_T_POST_PARSE,RDP_T_POST_PROCESS,RDP_T_PRE_PARSE,RDP_T_PRE_PROCESS,RDP_T_SET_SIZE,RDP_T_SHOW_SKIPS,
  27. RDP_T_STRING,RDP_T_STRING_ESC,RDP_T_SUFFIX,RDP_T_SYMBOL_TABLE,RDP_T_TAB_WIDTH,RDP_T_TEXT_SIZE,RDP_T_TITLE,RDP_T_TREE,
  28. RDP_T_USES,RDP_T_73 /* [ */,RDP_T_74 /* [* */,RDP_T_75 /* ] */,RDP_T_76 /* ^ */,RDP_T_77 /* ^^ */,RDP_T_78 /* ^^^ */,RDP_T_79 /* ^_ */,
  29. RDP_T_80 /* { */,RDP_T_81 /* | */,RDP_T_82 /* } */,
  30. RDP_TT_TOP
  31. };
  32.  
  33. /* Tree data type */
  34.  
  35. typedef struct rdp_tree_data_node
  36. {
  37.   SCAN_DATA
  38.   
  39. } rdp_tree_data;
  40.  
  41. /* Symbol table support */
  42. typedef struct locals_data_node
  43. {
  44.  char* id; 
  45. } locals_data;
  46. extern void * locals;
  47. extern locals_data * locals_temp;
  48. #define locals_cast(x) ((locals_data *)x)
  49.  
  50. typedef struct codes_data_node
  51. {
  52.  RDP_DATA 
  53. } codes_data;
  54. extern void * codes;
  55. extern codes_data * codes_temp;
  56. #define codes_cast(x) ((codes_data *)x)
  57.  
  58. typedef struct tokens_data_node
  59. {
  60.  RDP_DATA 
  61. } tokens_data;
  62. extern void * tokens;
  63. extern tokens_data * tokens_temp;
  64. #define tokens_cast(x) ((tokens_data *)x)
  65.  
  66. typedef struct rdp_data_node
  67. {
  68.  RDP_DATA 
  69. } rdp_data;
  70. extern void * rdp;
  71. extern rdp_data * rdp_temp;
  72. #define rdp_cast(x) ((rdp_data *)x)
  73.  
  74. /* Parser start production */
  75. void unit(void);
  76.  
  77. #endif
  78.  
  79. /* End of rdp.h */
  80.