~ubuntu-branches/ubuntu/utopic/cccc/utopic

« back to all changes in this revision

Viewing changes to pccts/h/dlgdef.h

  • Committer: Bazaar Package Importer
  • Author(s): Colin Watson
  • Date: 2003-08-23 04:34:05 UTC
  • Revision ID: james.westby@ubuntu.com-20030823043405-xnzd3mn3hwtvi6dr
Tags: upstream-3.pre81
ImportĀ upstreamĀ versionĀ 3.pre81

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
 
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