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