summaryrefslogtreecommitdiff
path: root/globals.h
blob: 8ef6d425c82b50107f7dda43c45ae0dc83d31400 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/* $Id: globals.h 855 2008-03-24 18:46:49Z helly $ */
#ifndef	_globals_h
#define	_globals_h

#include "basics.h"
#include <set>
#include <algorithm>
#include <string>
#include "stream_lc.h"
#include "code_names.h"

namespace re2c
{

enum { BSIZE = 8192};

extern file_info sourceFileInfo;
extern file_info outputFileInfo;
extern file_info headerFileInfo;

extern bool bFlag;
extern bool cFlag;
extern bool dFlag;
extern bool DFlag;
extern bool eFlag;
extern bool fFlag;
extern bool FFlag;
extern bool gFlag;
extern bool iFlag;
extern bool rFlag;
extern bool sFlag;
extern bool tFlag;
extern bool uFlag;
extern bool wFlag;

extern bool bNoGenerationDate;

extern bool bSinglePass;
extern bool bFirstPass;
extern bool bLastPass;

extern bool bUsedYYAccept;
extern bool bUsedYYMaxFill;
extern bool bUsedYYMarker;
extern bool bUsedYYBitmap;

extern bool bUseStartLabel;
extern std::string startLabelName;
extern std::string labelPrefix;
extern std::string condPrefix;
extern std::string condEnumPrefix;
extern std::string condDivider;
extern std::string condDividerParam;
extern std::string condGoto;
extern std::string condGotoParam;
extern std::string yychConversion;
extern std::string yyFillLength;
extern std::string yySetConditionParam;
extern std::string yySetStateParam;
extern std::string yySetupRule;
extern uint maxFill;
extern uint next_label;
extern uint cGotoThreshold;

/* configurations */
extern uint topIndent;
extern std::string indString;
extern bool yybmHexTable;
extern bool bEmitYYCh;
extern bool bUseStateAbort;
extern bool bUseStateNext;
extern bool bUseYYFill;
extern bool bUseYYFillParam;
extern bool bUseYYFillCheck;
extern bool bUseYYFillNaked;
extern bool bUseYYSetConditionParam;
extern bool bUseYYGetConditionNaked;
extern bool bUseYYSetStateParam;
extern bool bUseYYSetStateNaked;
extern bool bUseYYGetStateNaked;
extern bool bWroteGetState;
extern bool bWroteCondCheck;
extern bool bCaseInsensitive;
extern bool bCaseInverted;
extern bool bTypesDone;

extern uint asc2ebc[256];
extern uint ebc2asc[256];

extern uint *xlat, *talx;

extern uint next_fill_index;
extern uint last_fill_index;
extern std::set<uint> vUsedLabels;
extern CodeNames mapCodeName;
extern std::string typesInline;

extern uint nRealChars;

extern char octCh(uint c);
extern char hexCh(uint c);

} // end namespace re2c

#endif