]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/example/qi/compiler_tutorial/conjure3/conjure_static_lexer.hpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / libs / spirit / example / qi / compiler_tutorial / conjure3 / conjure_static_lexer.hpp
1 // Copyright (c) 2008-2009 Ben Hanson
2 // Copyright (c) 2008-2011 Hartmut Kaiser
3 //
4 // Distributed under the Boost Software License, Version 1.0. (See accompanying
5 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7 // Auto-generated by boost::lexer, do not edit
8
9 #if !defined(BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_JUL_25_2011_07_25_53)
10 #define BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_JUL_25_2011_07_25_53
11
12 #include <boost/spirit/home/support/detail/lexer/char_traits.hpp>
13
14 ////////////////////////////////////////////////////////////////////////////////
15 // the generated table of state names and the tokenizer have to be
16 // defined in the boost::spirit::lex::lexertl::static_ namespace
17 namespace boost { namespace spirit { namespace lex { namespace lexertl { namespace static_ {
18
19 ////////////////////////////////////////////////////////////////////////////////
20 // this table defines the names of the lexer states
21 char const* const lexer_state_names_conjure_static[1] =
22 {
23 "INITIAL"
24 };
25
26 ////////////////////////////////////////////////////////////////////////////////
27 // this variable defines the number of lexer states
28 std::size_t const lexer_state_count_conjure_static = 1;
29
30 ////////////////////////////////////////////////////////////////////////////////
31 // this function returns the next matched token
32 template<typename Iterator>
33 std::size_t next_token_conjure_static (std::size_t& /*start_state_*/, bool& /*bol_*/,
34 Iterator &start_token_, Iterator const& end_, std::size_t& unique_id_)
35 {
36 enum {end_state_index, id_index, unique_id_index, state_index, bol_index,
37 eol_index, dead_state_index, dfa_offset};
38
39 static std::size_t const npos = static_cast<std::size_t>(~0);
40 static std::size_t const lookup_[256] = {
41 41, 41, 41, 41, 41, 41, 41, 41,
42 41, 7, 7, 41, 41, 7, 41, 41,
43 41, 41, 41, 41, 41, 41, 41, 41,
44 41, 41, 41, 41, 41, 41, 41, 41,
45 7, 8, 41, 41, 41, 41, 9, 41,
46 10, 11, 12, 13, 14, 15, 41, 16,
47 17, 17, 17, 17, 17, 17, 17, 17,
48 17, 17, 41, 19, 20, 21, 22, 41,
49 41, 18, 18, 18, 18, 18, 18, 18,
50 18, 18, 18, 18, 18, 18, 18, 18,
51 18, 18, 18, 18, 18, 18, 18, 18,
52 18, 18, 18, 41, 41, 41, 41, 18,
53 41, 23, 18, 18, 24, 25, 26, 18,
54 27, 28, 18, 18, 29, 18, 30, 31,
55 18, 18, 32, 33, 34, 35, 36, 37,
56 18, 18, 18, 38, 39, 40, 41, 41,
57 41, 41, 41, 41, 41, 41, 41, 41,
58 41, 41, 41, 41, 41, 41, 41, 41,
59 41, 41, 41, 41, 41, 41, 41, 41,
60 41, 41, 41, 41, 41, 41, 41, 41,
61 41, 41, 41, 41, 41, 41, 41, 41,
62 41, 41, 41, 41, 41, 41, 41, 41,
63 41, 41, 41, 41, 41, 41, 41, 41,
64 41, 41, 41, 41, 41, 41, 41, 41,
65 41, 41, 41, 41, 41, 41, 41, 41,
66 41, 41, 41, 41, 41, 41, 41, 41,
67 41, 41, 41, 41, 41, 41, 41, 41,
68 41, 41, 41, 41, 41, 41, 41, 41,
69 41, 41, 41, 41, 41, 41, 41, 41,
70 41, 41, 41, 41, 41, 41, 41, 41,
71 41, 41, 41, 41, 41, 41, 41, 41,
72 41, 41, 41, 41, 41, 41, 41, 41 };
73 static std::size_t const dfa_alphabet_ = 42;
74 static std::size_t const dfa_[2604] = {
75 0, 0, 0, 0, 0, 0, 0, 0,
76 0, 0, 0, 0, 0, 0, 0, 0,
77 0, 0, 0, 0, 0, 0, 0, 0,
78 0, 0, 0, 0, 0, 0, 0, 0,
79 0, 0, 0, 0, 0, 0, 0, 0,
80 0, 0, 0, 0, 0, 0, 0, 0,
81 0, 27, 13, 11, 20, 21, 18, 16,
82 24, 17, 19, 2, 26, 25, 14, 12,
83 15, 26, 26, 7, 4, 26, 6, 26,
84 26, 26, 9, 26, 3, 26, 5, 8,
85 22, 10, 23, 0, 1, 35, 0, 0,
86 0, 0, 0, 0, 0, 0, 0, 0,
87 0, 0, 0, 0, 0, 2, 0, 0,
88 0, 0, 0, 0, 0, 0, 0, 0,
89 0, 0, 0, 0, 0, 0, 0, 0,
90 0, 0, 0, 0, 0, 0, 1, 32,
91 28, 0, 0, 0, 0, 0, 0, 0,
92 0, 0, 0, 0, 0, 0, 0, 26,
93 26, 0, 0, 0, 0, 26, 26, 26,
94 26, 26, 26, 26, 26, 26, 28, 26,
95 26, 26, 26, 26, 0, 0, 0, 0,
96 1, 32, 28, 0, 0, 0, 0, 0,
97 0, 0, 0, 0, 0, 0, 0, 0,
98 0, 26, 26, 0, 0, 0, 0, 29,
99 26, 26, 26, 26, 26, 26, 26, 26,
100 26, 26, 26, 26, 26, 26, 0, 0,
101 0, 0, 1, 32, 28, 0, 0, 0,
102 0, 0, 0, 0, 0, 0, 0, 0,
103 0, 0, 0, 26, 26, 0, 0, 0,
104 0, 26, 26, 26, 26, 26, 26, 26,
105 26, 30, 26, 26, 26, 26, 26, 26,
106 0, 0, 0, 0, 1, 32, 28, 0,
107 0, 0, 0, 0, 0, 0, 0, 0,
108 0, 0, 0, 0, 0, 26, 26, 0,
109 0, 0, 0, 26, 26, 26, 32, 26,
110 26, 26, 31, 26, 26, 26, 26, 26,
111 26, 26, 0, 0, 0, 0, 1, 32,
112 28, 0, 0, 0, 0, 0, 0, 0,
113 0, 0, 0, 0, 0, 0, 0, 26,
114 26, 0, 0, 0, 0, 26, 26, 26,
115 26, 26, 26, 33, 26, 26, 26, 26,
116 26, 26, 26, 26, 0, 0, 0, 0,
117 1, 32, 28, 0, 0, 0, 0, 0,
118 0, 0, 0, 0, 0, 0, 0, 0,
119 0, 26, 26, 0, 0, 0, 0, 26,
120 26, 26, 26, 34, 26, 26, 26, 26,
121 26, 26, 26, 26, 26, 26, 0, 0,
122 0, 0, 1, 32, 28, 0, 0, 0,
123 0, 0, 0, 0, 0, 0, 0, 0,
124 0, 0, 0, 26, 26, 0, 0, 0,
125 0, 26, 26, 35, 26, 26, 26, 26,
126 26, 26, 26, 26, 26, 26, 26, 26,
127 0, 0, 0, 0, 0, 0, 0, 0,
128 0, 0, 0, 0, 0, 0, 0, 0,
129 0, 0, 0, 0, 0, 0, 0, 0,
130 0, 0, 0, 0, 0, 0, 0, 0,
131 0, 0, 0, 0, 0, 0, 0, 0,
132 0, 0, 0, 36, 0, 0, 0, 0,
133 0, 0, 0, 0, 0, 0, 0, 37,
134 0, 0, 0, 0, 0, 0, 0, 0,
135 0, 0, 0, 0, 0, 0, 0, 0,
136 0, 0, 0, 0, 0, 0, 0, 0,
137 0, 0, 0, 0, 0, 0, 0, 0,
138 1, 61, 26, 0, 0, 0, 0, 0,
139 0, 0, 0, 0, 0, 0, 0, 0,
140 0, 0, 0, 0, 0, 38, 0, 0,
141 0, 0, 0, 0, 0, 0, 0, 0,
142 0, 0, 0, 0, 0, 0, 0, 0,
143 0, 0, 1, 262177, 20, 0, 0, 0,
144 0, 0, 0, 0, 0, 0, 0, 0,
145 0, 0, 0, 0, 0, 0, 0, 39,
146 0, 0, 0, 0, 0, 0, 0, 0,
147 0, 0, 0, 0, 0, 0, 0, 0,
148 0, 0, 0, 0, 1, 131091, 12, 0,
149 0, 0, 0, 0, 0, 0, 0, 0,
150 0, 0, 0, 0, 0, 0, 0, 0,
151 0, 40, 0, 0, 0, 0, 0, 0,
152 0, 0, 0, 0, 0, 0, 0, 0,
153 0, 0, 0, 0, 0, 0, 1, 131093,
154 14, 0, 0, 0, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 0, 0,
156 0, 0, 0, 41, 0, 0, 0, 0,
157 0, 0, 0, 0, 0, 0, 0, 0,
158 0, 0, 0, 0, 0, 0, 0, 0,
159 1, 393241, 16, 0, 0, 0, 0, 0,
160 0, 0, 0, 0, 0, 0, 0, 0,
161 0, 0, 0, 0, 0, 0, 0, 0,
162 0, 0, 0, 0, 0, 0, 0, 0,
163 0, 0, 0, 0, 0, 0, 0, 0,
164 0, 0, 1, 393242, 17, 0, 0, 0,
165 0, 0, 0, 0, 0, 0, 0, 0,
166 0, 0, 0, 0, 0, 0, 0, 0,
167 0, 0, 0, 0, 0, 0, 0, 0,
168 0, 0, 0, 0, 0, 0, 0, 0,
169 0, 0, 0, 0, 1, 131099, 18, 0,
170 0, 0, 0, 0, 0, 0, 0, 0,
171 0, 0, 0, 0, 0, 0, 0, 0,
172 0, 0, 0, 0, 0, 0, 0, 0,
173 0, 0, 0, 0, 0, 0, 0, 0,
174 0, 0, 0, 0, 0, 0, 1, 131100,
175 19, 0, 0, 0, 0, 0, 0, 0,
176 0, 0, 42, 0, 0, 0, 0, 0,
177 0, 0, 0, 0, 0, 0, 0, 0,
178 0, 0, 0, 0, 0, 0, 0, 0,
179 0, 0, 0, 0, 0, 0, 0, 0,
180 1, 40, 21, 0, 0, 0, 0, 0,
181 0, 0, 0, 0, 0, 0, 0, 0,
182 0, 0, 0, 0, 0, 0, 0, 0,
183 0, 0, 0, 0, 0, 0, 0, 0,
184 0, 0, 0, 0, 0, 0, 0, 0,
185 0, 0, 1, 41, 22, 0, 0, 0,
186 0, 0, 0, 0, 0, 0, 0, 0,
187 0, 0, 0, 0, 0, 0, 0, 0,
188 0, 0, 0, 0, 0, 0, 0, 0,
189 0, 0, 0, 0, 0, 0, 0, 0,
190 0, 0, 0, 0, 1, 123, 23, 0,
191 0, 0, 0, 0, 0, 0, 0, 0,
192 0, 0, 0, 0, 0, 0, 0, 0,
193 0, 0, 0, 0, 0, 0, 0, 0,
194 0, 0, 0, 0, 0, 0, 0, 0,
195 0, 0, 0, 0, 0, 0, 1, 125,
196 24, 0, 0, 0, 0, 0, 0, 0,
197 0, 0, 0, 0, 0, 0, 0, 0,
198 0, 0, 0, 0, 0, 0, 0, 0,
199 0, 0, 0, 0, 0, 0, 0, 0,
200 0, 0, 0, 0, 0, 0, 0, 0,
201 1, 44, 25, 0, 0, 0, 0, 0,
202 0, 0, 0, 0, 0, 0, 0, 0,
203 0, 0, 0, 0, 0, 0, 0, 0,
204 0, 0, 0, 0, 0, 0, 0, 0,
205 0, 0, 0, 0, 0, 0, 0, 0,
206 0, 0, 1, 59, 27, 0, 0, 0,
207 0, 0, 0, 0, 0, 0, 0, 0,
208 0, 0, 0, 0, 0, 0, 0, 0,
209 0, 0, 0, 0, 0, 0, 0, 0,
210 0, 0, 0, 0, 0, 0, 0, 0,
211 0, 0, 0, 0, 1, 32, 28, 0,
212 0, 0, 0, 0, 0, 0, 0, 0,
213 0, 0, 0, 0, 0, 26, 26, 0,
214 0, 0, 0, 26, 26, 26, 26, 26,
215 26, 26, 26, 26, 26, 26, 26, 26,
216 26, 26, 0, 0, 0, 0, 1, 34,
217 30, 0, 0, 0, 0, 27, 0, 0,
218 0, 0, 0, 0, 0, 0, 0, 0,
219 0, 0, 0, 0, 0, 0, 0, 0,
220 0, 0, 0, 0, 0, 0, 0, 0,
221 0, 0, 0, 0, 0, 0, 0, 0,
222 1, 32, 28, 0, 0, 0, 0, 0,
223 0, 0, 0, 0, 0, 0, 0, 0,
224 0, 26, 26, 0, 0, 0, 0, 26,
225 26, 26, 26, 26, 26, 26, 26, 26,
226 26, 26, 26, 43, 26, 26, 0, 0,
227 0, 0, 1, 32, 28, 0, 0, 0,
228 0, 0, 0, 0, 0, 0, 0, 0,
229 0, 0, 0, 26, 26, 0, 0, 0,
230 0, 26, 26, 26, 26, 26, 26, 44,
231 26, 26, 26, 26, 26, 26, 26, 26,
232 0, 0, 0, 0, 1, 32, 28, 0,
233 0, 0, 0, 0, 0, 0, 0, 0,
234 0, 0, 0, 0, 0, 26, 26, 0,
235 0, 0, 0, 26, 26, 26, 26, 26,
236 45, 26, 26, 26, 26, 26, 26, 26,
237 26, 26, 0, 0, 0, 0, 1, 32,
238 28, 0, 0, 0, 0, 0, 0, 0,
239 0, 0, 0, 0, 0, 0, 0, 26,
240 26, 0, 0, 0, 0, 26, 26, 26,
241 26, 26, 26, 26, 26, 26, 26, 26,
242 46, 26, 26, 26, 0, 0, 0, 0,
243 1, 65538, 4, 0, 0, 0, 0, 0,
244 0, 0, 0, 0, 0, 0, 0, 0,
245 0, 26, 26, 0, 0, 0, 0, 26,
246 26, 26, 26, 26, 26, 26, 26, 26,
247 26, 26, 26, 26, 26, 26, 0, 0,
248 0, 0, 1, 32, 28, 0, 0, 0,
249 0, 0, 0, 0, 0, 0, 0, 0,
250 0, 0, 0, 26, 26, 0, 0, 0,
251 0, 26, 26, 26, 26, 26, 26, 26,
252 26, 26, 26, 47, 26, 26, 26, 26,
253 0, 0, 0, 0, 1, 32, 28, 0,
254 0, 0, 0, 0, 0, 0, 0, 0,
255 0, 0, 0, 0, 0, 26, 26, 0,
256 0, 0, 0, 26, 26, 26, 26, 26,
257 48, 26, 26, 26, 26, 26, 26, 26,
258 26, 26, 0, 0, 0, 0, 1, 32,
259 28, 0, 0, 0, 0, 0, 0, 0,
260 0, 0, 0, 0, 0, 0, 0, 26,
261 26, 0, 0, 0, 0, 26, 26, 26,
262 26, 26, 26, 26, 26, 26, 26, 26,
263 49, 26, 26, 26, 0, 0, 0, 0,
264 1, 131084, 8, 0, 0, 0, 0, 0,
265 0, 0, 0, 0, 0, 0, 0, 0,
266 0, 0, 0, 0, 0, 0, 0, 0,
267 0, 0, 0, 0, 0, 0, 0, 0,
268 0, 0, 0, 0, 0, 0, 0, 0,
269 0, 0, 1, 131085, 9, 0, 0, 0,
270 0, 0, 0, 0, 0, 0, 0, 0,
271 0, 0, 0, 0, 0, 0, 0, 0,
272 0, 0, 0, 0, 0, 0, 0, 0,
273 0, 0, 0, 0, 0, 0, 0, 0,
274 0, 0, 0, 0, 1, 131089, 10, 0,
275 0, 0, 0, 0, 0, 0, 0, 0,
276 0, 0, 0, 0, 0, 0, 0, 0,
277 0, 0, 0, 0, 0, 0, 0, 0,
278 0, 0, 0, 0, 0, 0, 0, 0,
279 0, 0, 0, 0, 0, 0, 1, 131090,
280 11, 0, 0, 0, 0, 0, 0, 0,
281 0, 0, 0, 0, 0, 0, 0, 0,
282 0, 0, 0, 0, 0, 0, 0, 0,
283 0, 0, 0, 0, 0, 0, 0, 0,
284 0, 0, 0, 0, 0, 0, 0, 0,
285 1, 131092, 13, 0, 0, 0, 0, 0,
286 0, 0, 0, 0, 0, 0, 0, 0,
287 0, 0, 0, 0, 0, 0, 0, 0,
288 0, 0, 0, 0, 0, 0, 0, 0,
289 0, 0, 0, 0, 0, 0, 0, 0,
290 0, 0, 1, 131094, 15, 0, 0, 0,
291 0, 0, 0, 0, 0, 0, 0, 0,
292 0, 0, 0, 0, 0, 0, 0, 0,
293 0, 0, 0, 0, 0, 0, 0, 0,
294 0, 0, 0, 0, 0, 0, 0, 0,
295 0, 0, 0, 0, 0, 0, 0, 0,
296 0, 0, 0, 42, 42, 42, 42, 42,
297 50, 42, 42, 42, 42, 42, 42, 42,
298 42, 42, 42, 42, 42, 42, 42, 42,
299 42, 42, 42, 42, 42, 42, 42, 42,
300 42, 42, 42, 42, 42, 42, 1, 32,
301 28, 0, 0, 0, 0, 0, 0, 0,
302 0, 0, 0, 0, 0, 0, 0, 26,
303 26, 0, 0, 0, 0, 26, 26, 51,
304 26, 26, 26, 26, 26, 26, 26, 26,
305 26, 26, 26, 26, 0, 0, 0, 0,
306 1, 32, 28, 0, 0, 0, 0, 0,
307 0, 0, 0, 0, 0, 0, 0, 0,
308 0, 26, 26, 0, 0, 0, 0, 26,
309 26, 26, 26, 26, 26, 26, 26, 26,
310 26, 43, 26, 26, 26, 26, 0, 0,
311 0, 0, 1, 32, 28, 0, 0, 0,
312 0, 0, 0, 0, 0, 0, 0, 0,
313 0, 0, 0, 26, 26, 0, 0, 0,
314 0, 26, 52, 26, 26, 26, 26, 26,
315 26, 26, 26, 26, 26, 26, 26, 26,
316 0, 0, 0, 0, 1, 65537, 3, 0,
317 0, 0, 0, 0, 0, 0, 0, 0,
318 0, 0, 0, 0, 0, 26, 26, 0,
319 0, 0, 0, 26, 26, 26, 26, 26,
320 26, 26, 26, 26, 26, 26, 26, 26,
321 26, 26, 0, 0, 0, 0, 1, 32,
322 28, 0, 0, 0, 0, 0, 0, 0,
323 0, 0, 0, 0, 0, 0, 0, 26,
324 26, 0, 0, 0, 0, 26, 26, 53,
325 26, 26, 26, 26, 26, 26, 26, 26,
326 26, 26, 26, 26, 0, 0, 0, 0,
327 1, 32, 28, 0, 0, 0, 0, 0,
328 0, 0, 0, 0, 0, 0, 0, 0,
329 0, 26, 26, 0, 0, 0, 0, 26,
330 26, 26, 26, 26, 26, 54, 26, 26,
331 26, 26, 26, 26, 26, 26, 0, 0,
332 0, 0, 1, 32, 28, 0, 0, 0,
333 0, 0, 0, 0, 0, 0, 0, 0,
334 0, 0, 0, 26, 26, 0, 0, 0,
335 0, 26, 26, 26, 26, 26, 26, 26,
336 26, 26, 26, 26, 26, 55, 26, 26,
337 0, 0, 0, 0, 0, 0, 0, 0,
338 0, 0, 0, 56, 56, 56, 56, 56,
339 50, 56, 56, 56, 57, 56, 56, 56,
340 56, 56, 56, 56, 56, 56, 56, 56,
341 56, 56, 56, 56, 56, 56, 56, 56,
342 56, 56, 56, 56, 56, 56, 1, 36,
343 1, 0, 0, 0, 0, 0, 0, 0,
344 0, 0, 0, 0, 0, 0, 0, 26,
345 26, 0, 0, 0, 0, 26, 26, 26,
346 26, 26, 26, 26, 26, 26, 26, 26,
347 26, 26, 26, 26, 0, 0, 0, 0,
348 1, 65536, 2, 0, 0, 0, 0, 0,
349 0, 0, 0, 0, 0, 0, 0, 0,
350 0, 26, 26, 0, 0, 0, 0, 26,
351 26, 26, 26, 26, 26, 26, 26, 26,
352 26, 26, 26, 26, 26, 26, 0, 0,
353 0, 0, 1, 65539, 5, 0, 0, 0,
354 0, 0, 0, 0, 0, 0, 0, 0,
355 0, 0, 0, 26, 26, 0, 0, 0,
356 0, 26, 26, 26, 26, 26, 26, 26,
357 26, 26, 26, 26, 26, 26, 26, 26,
358 0, 0, 0, 0, 1, 32, 28, 0,
359 0, 0, 0, 0, 0, 0, 0, 0,
360 0, 0, 0, 0, 0, 26, 26, 0,
361 0, 0, 0, 26, 26, 58, 26, 26,
362 26, 26, 26, 26, 26, 26, 26, 26,
363 26, 26, 0, 0, 0, 0, 1, 32,
364 28, 0, 0, 0, 0, 0, 0, 0,
365 0, 0, 0, 0, 0, 0, 0, 26,
366 26, 0, 0, 0, 0, 26, 26, 26,
367 26, 26, 26, 26, 26, 26, 59, 26,
368 26, 26, 26, 26, 0, 0, 0, 0,
369 0, 0, 0, 0, 0, 0, 0, 56,
370 56, 56, 56, 56, 60, 56, 56, 56,
371 56, 56, 56, 56, 56, 56, 56, 56,
372 56, 56, 56, 56, 56, 56, 56, 56,
373 56, 56, 56, 56, 56, 56, 56, 56,
374 56, 56, 1, 33, 29, 0, 0, 0,
375 0, 0, 0, 0, 0, 0, 0, 0,
376 0, 0, 0, 0, 0, 0, 0, 0,
377 0, 0, 0, 0, 0, 0, 0, 0,
378 0, 0, 0, 0, 0, 0, 0, 0,
379 0, 0, 0, 0, 1, 65540, 6, 0,
380 0, 0, 0, 0, 0, 0, 0, 0,
381 0, 0, 0, 0, 0, 26, 26, 0,
382 0, 0, 0, 26, 26, 26, 26, 26,
383 26, 26, 26, 26, 26, 26, 26, 26,
384 26, 26, 0, 0, 0, 0, 1, 32,
385 28, 0, 0, 0, 0, 0, 0, 0,
386 0, 0, 0, 0, 0, 0, 0, 26,
387 26, 0, 0, 0, 0, 26, 26, 26,
388 26, 26, 26, 26, 61, 26, 26, 26,
389 26, 26, 26, 26, 0, 0, 0, 0,
390 0, 0, 0, 0, 0, 0, 0, 56,
391 56, 56, 56, 56, 60, 56, 56, 56,
392 57, 56, 56, 56, 56, 56, 56, 56,
393 56, 56, 56, 56, 56, 56, 56, 56,
394 56, 56, 56, 56, 56, 56, 56, 56,
395 56, 56, 1, 65541, 7, 0, 0, 0,
396 0, 0, 0, 0, 0, 0, 0, 0,
397 0, 0, 0, 26, 26, 0, 0, 0,
398 0, 26, 26, 26, 26, 26, 26, 26,
399 26, 26, 26, 26, 26, 26, 26, 26,
400 0, 0, 0, 0 };
401
402 if (start_token_ == end_)
403 {
404 unique_id_ = npos;
405 return 0;
406 }
407
408 std::size_t const* ptr_ = dfa_ + dfa_alphabet_;
409 Iterator curr_ = start_token_;
410 bool end_state_ = *ptr_ != 0;
411 std::size_t id_ = *(ptr_ + id_index);
412 std::size_t uid_ = *(ptr_ + unique_id_index);
413 Iterator end_token_ = start_token_;
414
415 while (curr_ != end_)
416 {
417 std::size_t const state_ =
418 ptr_[lookup_[static_cast<unsigned char>(*curr_++)]];
419
420 if (state_ == 0) break;
421
422 ptr_ = &dfa_[state_ * dfa_alphabet_];
423
424 if (*ptr_)
425 {
426 end_state_ = true;
427 id_ = *(ptr_ + id_index);
428 uid_ = *(ptr_ + unique_id_index);
429 end_token_ = curr_;
430 }
431 }
432
433 if (end_state_)
434 {
435 // return longest match
436 start_token_ = end_token_;
437 }
438 else
439 {
440 id_ = npos;
441 uid_ = npos;
442 }
443
444 unique_id_ = uid_;
445 return id_;
446 }
447
448 ////////////////////////////////////////////////////////////////////////////////
449 // this defines a generic accessors for the information above
450 struct lexer_conjure_static
451 {
452 // version number and feature-set of compatible static lexer engine
453 enum
454 {
455 static_version = 65536,
456 supports_bol = false,
457 supports_eol = false
458 };
459
460 // return the number of lexer states
461 static std::size_t state_count()
462 {
463 return lexer_state_count_conjure_static;
464 }
465
466 // return the name of the lexer state as given by 'idx'
467 static char const* state_name(std::size_t idx)
468 {
469 return lexer_state_names_conjure_static[idx];
470 }
471
472 // return the next matched token
473 template<typename Iterator>
474 static std::size_t next(std::size_t &start_state_, bool& bol_
475 , Iterator &start_token_, Iterator const& end_, std::size_t& unique_id_)
476 {
477 return next_token_conjure_static(start_state_, bol_, start_token_, end_, unique_id_);
478 }
479 };
480
481 }}}}} // namespace boost::spirit::lex::lexertl::static_
482
483 #endif