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-2000 30 */ 31 32 #ifndef ZZDLGDEF_H 33 #define ZZDLGDEF_H 34 35 #include "pcctscfg.h" 36 37 #ifndef zzchar_t 38 #ifdef ZZWCHAR_T 39 #define zzchar_t wchar_t 40 #else 41 #define zzchar_t char 42 #endif 43 #endif 44 45 struct zzdlg_state { 46 FILE *stream; 47 #ifdef __USE_PROTOS 48 int (*func_ptr)(void); 49 #else 50 int (*func_ptr)(); 51 #endif 52 zzchar_t *str; 53 int auto_num; 54 int add_erase; 55 int lookc; 56 int char_full; 57 int begcol, endcol; 58 int line; 59 zzchar_t *lextext, *begexpr, *endexpr; 60 int bufsize; 61 int bufovf; 62 zzchar_t *nextpos; 63 int class_num; 64 }; 65 66 extern zzchar_t *zzlextext; /* text of most recently matched token */ 67 extern zzchar_t *zzbegexpr; /* beginning of last reg expr recogn. */ 68 extern zzchar_t *zzendexpr; /* beginning of last reg expr recogn. */ 69 extern int zzbufsize; /* how long zzlextext is */ 70 extern int zzbegcol; /* column that first character of token is in*/ 71 extern int zzendcol; /* column that last character of token is in */ 72 extern int zzline; /* line current token is on */ 73 extern int zzreal_line; /* line of 1st portion of token that is not skipped */ 74 extern int zzchar; /* character to determine next state */ 75 extern int zzbufovf; /* indicates that buffer too small for text */ 76 #ifdef __USE_PROTOS 77 extern void (*zzerr)(const char *);/* pointer to error reporting function */ 78 #else 79 extern void (*zzerr)(); 80 #endif 81 82 #ifdef USER_ZZMODE_STACK 83 extern int zzauto; 84 #endif 85 86 #ifdef __USE_PROTOS 87 extern void zzadvance(void); 88 extern void zzskip(void); /* erase zzlextext, look for antoher token */ 89 extern void zzmore(void); /* keep zzlextext, look for another token */ 90 extern void zzmode(int k); /* switch to automaton 'k' */ 91 extern void zzrdstream(FILE *);/* what stream to read from */ 92 extern void zzclose_stream(void);/* close the current input stream */ 93 extern void zzrdfunc(int (*)(void));/* what function to get char from */ 94 extern void zzrdstr( zzchar_t * ); 95 extern void zzgettok(void); /* get next token */ 96 extern void zzreplchar(zzchar_t c);/* replace last recognized reg. expr. with 97 a character */ 98 extern void zzreplstr(zzchar_t *s);/* replace last recognized reg. expr. with 99 a string */ 100 extern void zzsave_dlg_state(struct zzdlg_state *); 101 extern void zzrestore_dlg_state(struct zzdlg_state *); 102 extern int zzerr_in(void); 103 extern void zzerrstd(const char *); 104 extern void zzerraction(void); 105 106 #else 107 108 extern void zzadvance(); 109 extern void zzskip(); /* erase zzlextext, look for antoher token */ 110 extern void zzmore(); /* keep zzlextext, look for another token */ 111 extern void zzmode(/*k*/); /* switch to automaton 'k' */ 112 extern void zzrdstream(); /* what stream to read from */ 113 extern void zzclose_stream();/* close the current input stream */ 114 extern void zzrdfunc(); /* what function to get char from */ 115 extern void zzrdstr(); 116 extern void zzgettok(); /* get next token */ 117 extern void zzreplchar(); /* replace last recognized reg. expr. with 118 a character */ 119 extern void zzreplstr(); /* replace last recognized reg. expr. with 120 a string */ 121 extern void zzsave_dlg_state(); 122 extern void zzrestore_dlg_state(); 123 extern int zzerr_in(); 124 extern void zzerrstd(); 125 extern void zzerraction(); 126 #endif 127 128 #endif 129