Initialize Tizen 2.3
[external/ragel.git] / ragel / rlparse.h
1 /* Automatically generated by Kelbt from "rlparse.kh".
2  *
3  * Parts of this file are copied from Kelbt source covered by the GNU
4  * GPL. As a special exception, you may use the parts of this file copied
5  * from Kelbt source without restriction. The remainder is derived from
6  * "rlparse.kh" and inherits the copyright status of that file.
7  */
8
9 #line 1 "rlparse.kh"
10 /*
11  *  Copyright 2001-2007 Adrian Thurston <thurston@complang.org>
12  */
13
14 /*  This file is part of Ragel.
15  *
16  *  Ragel is free software; you can redistribute it and/or modify
17  *  it under the terms of the GNU General Public License as published by
18  *  the Free Software Foundation; either version 2 of the License, or
19  *  (at your option) any later version.
20  * 
21  *  Ragel is distributed in the hope that it will be useful,
22  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
23  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24  *  GNU General Public License for more details.
25  * 
26  *  You should have received a copy of the GNU General Public License
27  *  along with Ragel; if not, write to the Free Software
28  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
29  */
30
31 #ifndef _RLPARSE_H
32 #define _RLPARSE_H
33
34 #include <iostream>
35 #include "avltree.h"
36 #include "parsedata.h"
37
38
39 /* Import scanner tokens. */
40 #define IMP_Word 128
41 #define IMP_Literal 129
42 #define IMP_UInt 130
43 #define IMP_Define 131
44
45 /* This is used for tracking the include files/machine pairs. */
46 struct IncludeHistoryItem
47 {
48         IncludeHistoryItem( const char *fileName, const char *sectionName )
49                 : fileName(fileName), sectionName(sectionName) {}
50
51         const char *fileName;
52         const char *sectionName;
53 };
54
55 typedef Vector<IncludeHistoryItem> IncludeHistory;
56
57 struct Parser
58 {
59 #line 102 "rlparse.kh"
60
61
62         #line 63 "rlparse.h"
63         struct Parser_Block *block;
64         struct Parser_LangEl *freshEl;
65         int freshPos;
66         struct Parser_LangEl *pool;
67         int numRetry;
68         int numNodes;
69         struct Parser_LangEl *stackTop;
70         struct Parser_LangEl *lastFinal;
71         int errCount;
72         int curs;
73 #line 105 "rlparse.kh"
74
75         void init();
76         int parseLangEl( int type, const Token *token );
77
78         Parser( const char *fileName, char *sectionName, InputLoc &sectionLoc )
79                 : sectionName(sectionName)
80         {
81                 pd = new ParseData( fileName, sectionName, sectionLoc );
82                 exportContext.append( false );
83                 includeHistory.append( IncludeHistoryItem( 
84                                 fileName, sectionName ) );
85         }
86
87         int token( InputLoc &loc, int tokId, char *tokstart, int toklen );
88         void tryMachineDef( InputLoc &loc, char *name, 
89                 MachineDef *machineDef, bool isInstance );
90
91         /* Report an error encountered by the parser. */
92         ostream &parse_error( int tokId, Token &token );
93
94         ParseData *pd;
95
96         /* The name of the root section, this does not change during an include. */
97         char *sectionName;
98
99         NameRef nameRef;
100         NameRefList nameRefList;
101
102         Vector<bool> exportContext;
103         IncludeHistory includeHistory;
104
105         Parser *prev, *next;
106 };
107
108 #line 109 "rlparse.h"
109 #define TK_Word 128
110 #define TK_Literal 129
111 #define TK_Number 130
112 #define TK_EndSection 131
113 #define TK_UInt 132
114 #define TK_Hex 133
115 #define TK_DotDot 134
116 #define TK_ColonGt 135
117 #define TK_ColonGtGt 136
118 #define TK_LtColon 137
119 #define TK_Arrow 138
120 #define TK_DoubleArrow 139
121 #define TK_StarStar 140
122 #define TK_ColonEquals 141
123 #define TK_NameSep 142
124 #define TK_BarStar 143
125 #define TK_DashDash 144
126 #define TK_StartCond 145
127 #define TK_AllCond 146
128 #define TK_LeavingCond 147
129 #define TK_Middle 148
130 #define TK_StartGblError 149
131 #define TK_AllGblError 150
132 #define TK_FinalGblError 151
133 #define TK_NotFinalGblError 152
134 #define TK_NotStartGblError 153
135 #define TK_MiddleGblError 154
136 #define TK_StartLocalError 155
137 #define TK_AllLocalError 156
138 #define TK_FinalLocalError 157
139 #define TK_NotFinalLocalError 158
140 #define TK_NotStartLocalError 159
141 #define TK_MiddleLocalError 160
142 #define TK_StartEOF 161
143 #define TK_AllEOF 162
144 #define TK_FinalEOF 163
145 #define TK_NotFinalEOF 164
146 #define TK_NotStartEOF 165
147 #define TK_MiddleEOF 166
148 #define TK_StartToState 167
149 #define TK_AllToState 168
150 #define TK_FinalToState 169
151 #define TK_NotFinalToState 170
152 #define TK_NotStartToState 171
153 #define TK_MiddleToState 172
154 #define TK_StartFromState 173
155 #define TK_AllFromState 174
156 #define TK_FinalFromState 175
157 #define TK_NotFinalFromState 176
158 #define TK_NotStartFromState 177
159 #define TK_MiddleFromState 178
160 #define RE_Slash 179
161 #define RE_SqOpen 180
162 #define RE_SqOpenNeg 181
163 #define RE_SqClose 182
164 #define RE_Dot 183
165 #define RE_Star 184
166 #define RE_Dash 185
167 #define RE_Char 186
168 #define IL_WhiteSpace 187
169 #define IL_Comment 188
170 #define IL_Literal 189
171 #define IL_Symbol 190
172 #define KW_Machine 191
173 #define KW_Include 192
174 #define KW_Import 193
175 #define KW_Write 194
176 #define KW_Action 195
177 #define KW_AlphType 196
178 #define KW_Range 197
179 #define KW_GetKey 198
180 #define KW_InWhen 199
181 #define KW_When 200
182 #define KW_OutWhen 201
183 #define KW_Eof 202
184 #define KW_Err 203
185 #define KW_Lerr 204
186 #define KW_To 205
187 #define KW_From 206
188 #define KW_Export 207
189 #define KW_PrePush 208
190 #define KW_PostPop 209
191 #define KW_Length 210
192 #define KW_Break 211
193 #define KW_Exec 212
194 #define KW_Hold 213
195 #define KW_PChar 214
196 #define KW_Char 215
197 #define KW_Goto 216
198 #define KW_Call 217
199 #define KW_Ret 218
200 #define KW_CurState 219
201 #define KW_TargState 220
202 #define KW_Entry 221
203 #define KW_Next 222
204 #define KW_Variable 223
205 #define KW_Access 224
206 #define Parser_tk_eof 225
207
208 #line 140 "rlparse.kh"
209
210 #endif