Blame pccts/h/dlgdef.h

Packit Service 3e823c
/* dlgdef.h
Packit Service 3e823c
 * Things in scanner produced by dlg that should be visible to the outside
Packit Service 3e823c
 * world
Packit Service 3e823c
 *
Packit Service 3e823c
 * SOFTWARE RIGHTS
Packit Service 3e823c
 *
Packit Service 3e823c
 * We reserve no LEGAL rights to the Purdue Compiler Construction Tool
Packit Service 3e823c
 * Set (PCCTS) -- PCCTS is in the public domain.  An individual or
Packit Service 3e823c
 * company may do whatever they wish with source code distributed with
Packit Service 3e823c
 * PCCTS or the code generated by PCCTS, including the incorporation of
Packit Service 3e823c
 * PCCTS, or its output, into commerical software.
Packit Service 3e823c
 *
Packit Service 3e823c
 * We encourage users to develop software with PCCTS.  However, we do ask
Packit Service 3e823c
 * that credit is given to us for developing PCCTS.  By "credit",
Packit Service 3e823c
 * we mean that if you incorporate our source code into one of your
Packit Service 3e823c
 * programs (commercial product, research project, or otherwise) that you
Packit Service 3e823c
 * acknowledge this fact somewhere in the documentation, research report,
Packit Service 3e823c
 * etc...  If you like PCCTS and have developed a nice tool with the
Packit Service 3e823c
 * output, please mention that you developed it using PCCTS.  In
Packit Service 3e823c
 * addition, we ask that this header remain intact in our source code.
Packit Service 3e823c
 * As long as these guidelines are kept, we expect to continue enhancing
Packit Service 3e823c
 * this system and expect to make other tools available as they are
Packit Service 3e823c
 * completed.
Packit Service 3e823c
 *
Packit Service 3e823c
 * ANTLR 1.33
Packit Service 3e823c
 * Terence Parr
Packit Service 3e823c
 * Parr Research Corporation
Packit Service 3e823c
 * with Purdue University and AHPCRC, University of Minnesota
Packit Service 3e823c
 * 1989-2000
Packit Service 3e823c
 */
Packit Service 3e823c
Packit Service 3e823c
#ifndef ZZDLGDEF_H
Packit Service 3e823c
#define ZZDLGDEF_H
Packit Service 3e823c
Packit Service 3e823c
#include "pcctscfg.h"
Packit Service 3e823c
Packit Service 3e823c
#ifndef zzchar_t
Packit Service 3e823c
#ifdef ZZWCHAR_T
Packit Service 3e823c
#define zzchar_t wchar_t
Packit Service 3e823c
#else
Packit Service 3e823c
#define zzchar_t char
Packit Service 3e823c
#endif
Packit Service 3e823c
#endif
Packit Service 3e823c
Packit Service 3e823c
struct zzdlg_state {
Packit Service 3e823c
	FILE *stream;
Packit Service 3e823c
#ifdef __USE_PROTOS
Packit Service 3e823c
	int (*func_ptr)(void);
Packit Service 3e823c
#else
Packit Service 3e823c
	int (*func_ptr)();
Packit Service 3e823c
#endif
Packit Service 3e823c
	zzchar_t *str;
Packit Service 3e823c
	int auto_num;
Packit Service 3e823c
	int add_erase;
Packit Service 3e823c
	int lookc;
Packit Service 3e823c
	int char_full;
Packit Service 3e823c
	int begcol, endcol;
Packit Service 3e823c
	int line;
Packit Service 3e823c
	zzchar_t *lextext, *begexpr, *endexpr;
Packit Service 3e823c
	int bufsize;
Packit Service 3e823c
	int bufovf;
Packit Service 3e823c
	zzchar_t *nextpos;
Packit Service 3e823c
	int	class_num;
Packit Service 3e823c
};
Packit Service 3e823c
Packit Service 3e823c
extern zzchar_t	*zzlextext;  	/* text of most recently matched token */
Packit Service 3e823c
extern zzchar_t	*zzbegexpr;	/* beginning of last reg expr recogn. */
Packit Service 3e823c
extern zzchar_t	*zzendexpr;	/* beginning of last reg expr recogn. */
Packit Service 3e823c
extern int	zzbufsize;	/* how long zzlextext is */
Packit Service 3e823c
extern int	zzbegcol;	/* column that first character of token is in*/
Packit Service 3e823c
extern int	zzendcol;	/* column that last character of token is in */
Packit Service 3e823c
extern int	zzline;		/* line current token is on */
Packit Service 3e823c
extern int	zzreal_line;		/* line of 1st portion of token that is not skipped */
Packit Service 3e823c
extern int	zzchar;		/* character to determine next state */
Packit Service 3e823c
extern int	zzbufovf;	/* indicates that buffer too small for text */
Packit Service 3e823c
#ifdef __USE_PROTOS
Packit Service 3e823c
extern void	(*zzerr)(const char *);/* pointer to error reporting function */
Packit Service 3e823c
#else
Packit Service 3e823c
extern void	(*zzerr)();
Packit Service 3e823c
#endif
Packit Service 3e823c
Packit Service 3e823c
#ifdef USER_ZZMODE_STACK
Packit Service 3e823c
extern int     zzauto;
Packit Service 3e823c
#endif
Packit Service 3e823c
Packit Service 3e823c
#ifdef __USE_PROTOS
Packit Service 3e823c
extern void	zzadvance(void);
Packit Service 3e823c
extern void	zzskip(void);	/* erase zzlextext, look for antoher token */
Packit Service 3e823c
extern void	zzmore(void);	/* keep zzlextext, look for another token */
Packit Service 3e823c
extern void	zzmode(int k);	/* switch to automaton 'k' */
Packit Service 3e823c
extern void	zzrdstream(FILE *);/* what stream to read from */
Packit Service 3e823c
extern void	zzclose_stream(void);/* close the current input stream */
Packit Service 3e823c
extern void	zzrdfunc(int (*)(void));/* what function to get char from */
Packit Service 3e823c
extern void zzrdstr( zzchar_t * );
Packit Service 3e823c
extern void	zzgettok(void);	/* get next token */
Packit Service 3e823c
extern void	zzreplchar(zzchar_t c);/* replace last recognized reg. expr. with
Packit Service 3e823c
					a character */
Packit Service 3e823c
extern void	zzreplstr(zzchar_t *s);/* replace last recognized reg. expr. with
Packit Service 3e823c
					a string */
Packit Service 3e823c
extern void zzsave_dlg_state(struct zzdlg_state *);
Packit Service 3e823c
extern void zzrestore_dlg_state(struct zzdlg_state *);
Packit Service 3e823c
extern int zzerr_in(void);
Packit Service 3e823c
extern void	zzerrstd(const char *);
Packit Service 3e823c
extern void zzerraction(void);
Packit Service 3e823c
Packit Service 3e823c
#else
Packit Service 3e823c
Packit Service 3e823c
extern void	zzadvance();
Packit Service 3e823c
extern void	zzskip();	/* erase zzlextext, look for antoher token */
Packit Service 3e823c
extern void	zzmore();	/* keep zzlextext, look for another token */
Packit Service 3e823c
extern void	zzmode(/*k*/);	/* switch to automaton 'k' */
Packit Service 3e823c
extern void	zzrdstream();	/* what stream to read from */
Packit Service 3e823c
extern void	zzclose_stream();/* close the current input stream */
Packit Service 3e823c
extern void	zzrdfunc();	/* what function to get char from */
Packit Service 3e823c
extern void zzrdstr();
Packit Service 3e823c
extern void	zzgettok();	/* get next token */
Packit Service 3e823c
extern void	zzreplchar();	/* replace last recognized reg. expr. with
Packit Service 3e823c
					a character */
Packit Service 3e823c
extern void	zzreplstr();	/* replace last recognized reg. expr. with
Packit Service 3e823c
					a string */
Packit Service 3e823c
extern void zzsave_dlg_state();
Packit Service 3e823c
extern void zzrestore_dlg_state();
Packit Service 3e823c
extern int zzerr_in();
Packit Service 3e823c
extern void	zzerrstd();
Packit Service 3e823c
extern void zzerraction();
Packit Service 3e823c
#endif
Packit Service 3e823c
Packit Service 3e823c
#endif