|
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
|