home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lifeos2.zip / LIFE-1.02 / SOURCE / TOKEN.H < prev    next >
C/C++ Source or Header  |  1996-06-04  |  2KB  |  88 lines

  1. /* Copyright 1991 Digital Equipment Corporation.
  2. ** All Rights Reserved.
  3. *****************************************************************/
  4. /*     $Id: token.h,v 1.3 1995/07/27 19:22:33 duchier Exp $     */
  5.  
  6. extern void psi_term_error();
  7.  
  8. extern long stdin_terminal;
  9. extern void stdin_cleareof();
  10. extern void begin_terminal_io();
  11. extern void end_terminal_io();
  12. extern char *expand_file_name();
  13. extern long open_input_file();
  14. extern long open_output_file();
  15.  
  16. extern long read_char();
  17. extern long read_line();
  18. extern void read_token();
  19. extern void read_token_b();
  20. extern long var_occurred;
  21.  
  22. extern void put_back_char();
  23. extern void put_back_token();
  24.  
  25. /* Part of global input file state */
  26. extern long line_count;
  27. extern long start_of_line;
  28. extern long saved_char;
  29. extern long old_saved_char;
  30. extern ptr_psi_term saved_psi_term;
  31. extern ptr_psi_term old_saved_psi_term;
  32. extern long eof_flag;
  33. extern FILE *input_stream;
  34.  
  35. /* File state ADT */
  36. extern ptr_psi_term input_state;
  37. extern ptr_psi_term stdin_state;
  38. extern void save_state();
  39. extern void restore_state();
  40. extern void new_state();
  41.  
  42. /* Names of the features */
  43. #define STREAM "stream"
  44. #define INPUT_FILE_NAME "input_file_name"
  45. #define LINE_COUNT "line_count"
  46. #define START_OF_LINE "start_of_line"
  47. #define SAVED_CHAR "saved_char"
  48. #define OLD_SAVED_CHAR "old_saved_char"
  49. #define SAVED_PSI_TERM "saved_psi_term"
  50. #define OLD_SAVED_PSI_TERM "old_saved_psi_term"
  51. #define EOF_FLAG "eof_flag"
  52. #define CURRENT_MODULE "current_module"
  53.  
  54. /* Psi-term utilities */
  55. extern GENERIC get_attr();
  56. extern void heap_add_int_attr();
  57. extern void heap_mod_int_attr();
  58. extern void heap_add_str_attr();
  59. extern void heap_mod_str_attr();
  60. extern void heap_add_psi_attr();
  61. extern void stack_add_int_attr();
  62. /* extern void stack_mod_int_attr(); */
  63. extern void stack_add_str_attr();
  64. /* extern void stack_mod_str_attr(); */
  65. extern void stack_add_psi_attr();
  66. extern FILE *get_stream();
  67.  
  68. /* For parsing from a string */
  69. extern long stringparse;
  70. extern char *stringinput;
  71.  
  72. /* Parser/tokenizer state handling */
  73. extern void save_parse_state();
  74. extern void restore_parse_state();
  75. extern void init_parse_state();
  76.  
  77. typedef struct wl_parse_block *ptr_parse_block;
  78.  
  79. typedef struct wl_parse_block {
  80.   long lc;
  81.   long sol;
  82.   long sc;
  83.   long osc;
  84.   ptr_psi_term spt;
  85.   ptr_psi_term ospt;
  86.   long ef;
  87. } parse_block;
  88.