dlgdef.h
上传用户:itx_2006
上传日期:2007-01-06
资源大小:493k
文件大小:4k
源码类别:

编译器/解释器

开发平台:

Others

  1. /* dlgdef.h
  2.  * Things in scanner produced by dlg that should be visible to the outside
  3.  * world
  4.  *
  5.  * SOFTWARE RIGHTS
  6.  *
  7.  * We reserve no LEGAL rights to the Purdue Compiler Construction Tool
  8.  * Set (PCCTS) -- PCCTS is in the public domain.  An individual or
  9.  * company may do whatever they wish with source code distributed with
  10.  * PCCTS or the code generated by PCCTS, including the incorporation of
  11.  * PCCTS, or its output, into commerical software.
  12.  *
  13.  * We encourage users to develop software with PCCTS.  However, we do ask
  14.  * that credit is given to us for developing PCCTS.  By "credit",
  15.  * we mean that if you incorporate our source code into one of your
  16.  * programs (commercial product, research project, or otherwise) that you
  17.  * acknowledge this fact somewhere in the documentation, research report,
  18.  * etc...  If you like PCCTS and have developed a nice tool with the
  19.  * output, please mention that you developed it using PCCTS.  In
  20.  * addition, we ask that this header remain intact in our source code.
  21.  * As long as these guidelines are kept, we expect to continue enhancing
  22.  * this system and expect to make other tools available as they are
  23.  * completed.
  24.  *
  25.  * ANTLR 1.33
  26.  * Terence Parr
  27.  * Parr Research Corporation
  28.  * with Purdue University and AHPCRC, University of Minnesota
  29.  * 1989-1998
  30.  */
  31. #ifndef ZZDLGDEF_H
  32. #define ZZDLGDEF_H
  33. #include "pcctscfg.h"
  34. #ifndef zzchar_t
  35. #ifdef ZZWCHAR_T
  36. #define zzchar_t wchar_t
  37. #else
  38. #define zzchar_t char
  39. #endif
  40. #endif
  41. struct zzdlg_state {
  42. FILE *stream;
  43. int (*func_ptr)();
  44. zzchar_t *str;
  45. int auto_num;
  46. int add_erase;
  47. int lookc;
  48. int char_full;
  49. int begcol, endcol;
  50. int line;
  51. zzchar_t *lextext, *begexpr, *endexpr;
  52. int bufsize;
  53. int bufovf;
  54. zzchar_t *nextpos;
  55. int class_num;
  56. };
  57. extern zzchar_t *zzlextext;   /* text of most recently matched token */
  58. extern zzchar_t *zzbegexpr; /* beginning of last reg expr recogn. */
  59. extern zzchar_t *zzendexpr; /* beginning of last reg expr recogn. */
  60. extern int zzbufsize; /* how long zzlextext is */
  61. extern int zzbegcol; /* column that first character of token is in*/
  62. extern int zzendcol; /* column that last character of token is in */
  63. extern int zzline; /* line current token is on */
  64. extern int zzreal_line; /* line of 1st portion of token that is not skipped */
  65. extern int zzchar; /* character to determine next state */
  66. extern int zzbufovf; /* indicates that buffer too small for text */
  67. #ifdef __USE_PROTOS
  68. extern void (*zzerr)(const char *);/* pointer to error reporting function */
  69. #else
  70. extern void (*zzerr)();
  71. #endif
  72. #ifdef USER_ZZMODE_STACK
  73. extern int     zzauto;
  74. #endif
  75. #ifdef __USE_PROTOS
  76. extern void zzadvance(void);
  77. extern void zzskip(void); /* erase zzlextext, look for antoher token */
  78. extern void zzmore(void); /* keep zzlextext, look for another token */
  79. extern void zzmode(int k); /* switch to automaton 'k' */
  80. extern void zzrdstream(FILE *);/* what stream to read from */
  81. extern void zzclose_stream(void);/* close the current input stream */
  82. extern void zzrdfunc(int (*)());/* what function to get char from */
  83. extern void zzrdstr( zzchar_t * );
  84. extern void zzgettok(void); /* get next token */
  85. extern void zzreplchar(zzchar_t c);/* replace last recognized reg. expr. with
  86. a character */
  87. extern void zzreplstr(zzchar_t *s);/* replace last recognized reg. expr. with
  88. a string */
  89. extern void zzsave_dlg_state(struct zzdlg_state *);
  90. extern void zzrestore_dlg_state(struct zzdlg_state *);
  91. extern int zzerr_in(void);
  92. extern void zzerrstd(const char *);
  93. extern void zzerraction();
  94. #else
  95. extern void zzadvance();
  96. extern void zzskip(); /* erase zzlextext, look for antoher token */
  97. extern void zzmore(); /* keep zzlextext, look for another token */
  98. extern void zzmode(/*k*/); /* switch to automaton 'k' */
  99. extern void zzrdstream(); /* what stream to read from */
  100. extern void zzclose_stream();/* close the current input stream */
  101. extern void zzrdfunc(); /* what function to get char from */
  102. extern void zzrdstr();
  103. extern void zzgettok(); /* get next token */
  104. extern void zzreplchar(); /* replace last recognized reg. expr. with
  105. a character */
  106. extern void zzreplstr(); /* replace last recognized reg. expr. with
  107. a string */
  108. extern void zzsave_dlg_state();
  109. extern void zzrestore_dlg_state();
  110. extern int zzerr_in();
  111. extern void zzerrstd();
  112. extern void zzerraction();
  113. #endif
  114. #endif