]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/example/qi/compiler_tutorial/conjure2/conjure_static_lexer.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / spirit / example / qi / compiler_tutorial / conjure2 / 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_03_08)
10 #define BOOST_SPIRIT_LEXER_NEXT_TOKEN_CONJURE_STATIC_JUL_25_2011_07_03_08
11
12 #include <boost/detail/iterator.hpp>
13 #include <boost/spirit/home/support/detail/lexer/char_traits.hpp>
14
15 ////////////////////////////////////////////////////////////////////////////////
16 // the generated table of state names and the tokenizer have to be
17 // defined in the boost::spirit::lex::lexertl::static_ namespace
18 namespace boost { namespace spirit { namespace lex { namespace lexertl { namespace static_ {
19
20 ////////////////////////////////////////////////////////////////////////////////
21 // this table defines the names of the lexer states
22 char const* const lexer_state_names_conjure_static[1] =
23 {
24 "INITIAL"
25 };
26
27 ////////////////////////////////////////////////////////////////////////////////
28 // this variable defines the number of lexer states
29 std::size_t const lexer_state_count_conjure_static = 1;
30
31 ////////////////////////////////////////////////////////////////////////////////
32 // this function returns the next matched token
33 template<typename Iterator>
34 std::size_t next_token_conjure_static (std::size_t& /*start_state_*/, bool& /*bol_*/,
35 Iterator &start_token_, Iterator const& end_, std::size_t& unique_id_)
36 {
37 enum {end_state_index, id_index, unique_id_index, state_index, bol_index,
38 eol_index, dead_state_index, dfa_offset};
39
40 static std::size_t const npos = static_cast<std::size_t>(~0);
41 static std::size_t const lookup_[256] = {
42 41, 41, 41, 41, 41, 41, 41, 41,
43 41, 7, 7, 41, 41, 7, 41, 41,
44 41, 41, 41, 41, 41, 41, 41, 41,
45 41, 41, 41, 41, 41, 41, 41, 41,
46 7, 8, 41, 41, 41, 41, 9, 41,
47 10, 11, 12, 13, 14, 15, 41, 16,
48 17, 17, 17, 17, 17, 17, 17, 17,
49 17, 17, 41, 19, 20, 21, 22, 41,
50 41, 18, 18, 18, 18, 18, 18, 18,
51 18, 18, 18, 18, 18, 18, 18, 18,
52 18, 18, 18, 18, 18, 18, 18, 18,
53 18, 18, 18, 41, 41, 41, 41, 18,
54 41, 23, 18, 18, 24, 25, 26, 18,
55 27, 28, 18, 18, 29, 18, 30, 31,
56 18, 18, 32, 33, 34, 35, 36, 37,
57 18, 18, 18, 38, 39, 40, 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 41, 41, 41, 41, 41, 41, 41, 41 };
74 static std::size_t const dfa_alphabet_ = 42;
75 static std::size_t const dfa_[2604] = {
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, 0, 0, 0, 0, 0, 0, 0,
82 0, 27, 13, 11, 20, 21, 18, 16,
83 24, 17, 19, 2, 26, 25, 14, 12,
84 15, 26, 26, 7, 4, 26, 6, 26,
85 26, 26, 9, 26, 3, 26, 5, 8,
86 22, 10, 23, 0, 1, 35, 0, 0,
87 0, 0, 0, 0, 0, 0, 0, 0,
88 0, 0, 0, 0, 0, 2, 0, 0,
89 0, 0, 0, 0, 0, 0, 0, 0,
90 0, 0, 0, 0, 0, 0, 0, 0,
91 0, 0, 0, 0, 0, 0, 1, 32,
92 28, 0, 0, 0, 0, 0, 0, 0,
93 0, 0, 0, 0, 0, 0, 0, 26,
94 26, 0, 0, 0, 0, 26, 26, 26,
95 26, 26, 26, 26, 26, 26, 28, 26,
96 26, 26, 26, 26, 0, 0, 0, 0,
97 1, 32, 28, 0, 0, 0, 0, 0,
98 0, 0, 0, 0, 0, 0, 0, 0,
99 0, 26, 26, 0, 0, 0, 0, 29,
100 26, 26, 26, 26, 26, 26, 26, 26,
101 26, 26, 26, 26, 26, 26, 0, 0,
102 0, 0, 1, 32, 28, 0, 0, 0,
103 0, 0, 0, 0, 0, 0, 0, 0,
104 0, 0, 0, 26, 26, 0, 0, 0,
105 0, 26, 26, 26, 26, 26, 26, 26,
106 26, 30, 26, 26, 26, 26, 26, 26,
107 0, 0, 0, 0, 1, 32, 28, 0,
108 0, 0, 0, 0, 0, 0, 0, 0,
109 0, 0, 0, 0, 0, 26, 26, 0,
110 0, 0, 0, 26, 26, 26, 32, 26,
111 26, 26, 31, 26, 26, 26, 26, 26,
112 26, 26, 0, 0, 0, 0, 1, 32,
113 28, 0, 0, 0, 0, 0, 0, 0,
114 0, 0, 0, 0, 0, 0, 0, 26,
115 26, 0, 0, 0, 0, 26, 26, 26,
116 26, 26, 26, 33, 26, 26, 26, 26,
117 26, 26, 26, 26, 0, 0, 0, 0,
118 1, 32, 28, 0, 0, 0, 0, 0,
119 0, 0, 0, 0, 0, 0, 0, 0,
120 0, 26, 26, 0, 0, 0, 0, 26,
121 26, 26, 26, 34, 26, 26, 26, 26,
122 26, 26, 26, 26, 26, 26, 0, 0,
123 0, 0, 1, 32, 28, 0, 0, 0,
124 0, 0, 0, 0, 0, 0, 0, 0,
125 0, 0, 0, 26, 26, 0, 0, 0,
126 0, 26, 26, 35, 26, 26, 26, 26,
127 26, 26, 26, 26, 26, 26, 26, 26,
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, 0, 0, 0, 0, 0,
133 0, 0, 0, 36, 0, 0, 0, 0,
134 0, 0, 0, 0, 0, 0, 0, 37,
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 0, 0, 0, 0, 0, 0, 0, 0,
139 1, 61, 26, 0, 0, 0, 0, 0,
140 0, 0, 0, 0, 0, 0, 0, 0,
141 0, 0, 0, 0, 0, 38, 0, 0,
142 0, 0, 0, 0, 0, 0, 0, 0,
143 0, 0, 0, 0, 0, 0, 0, 0,
144 0, 0, 1, 262177, 20, 0, 0, 0,
145 0, 0, 0, 0, 0, 0, 0, 0,
146 0, 0, 0, 0, 0, 0, 0, 39,
147 0, 0, 0, 0, 0, 0, 0, 0,
148 0, 0, 0, 0, 0, 0, 0, 0,
149 0, 0, 0, 0, 1, 131091, 12, 0,
150 0, 0, 0, 0, 0, 0, 0, 0,
151 0, 0, 0, 0, 0, 0, 0, 0,
152 0, 40, 0, 0, 0, 0, 0, 0,
153 0, 0, 0, 0, 0, 0, 0, 0,
154 0, 0, 0, 0, 0, 0, 1, 131093,
155 14, 0, 0, 0, 0, 0, 0, 0,
156 0, 0, 0, 0, 0, 0, 0, 0,
157 0, 0, 0, 41, 0, 0, 0, 0,
158 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 0, 0, 0, 0, 0,
160 1, 393241, 16, 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, 0, 0, 0, 0, 0, 0,
165 0, 0, 1, 393242, 17, 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, 0, 0, 0, 0,
170 0, 0, 0, 0, 1, 131099, 18, 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, 0, 0,
175 0, 0, 0, 0, 0, 0, 1, 131100,
176 19, 0, 0, 0, 0, 0, 0, 0,
177 0, 0, 42, 0, 0, 0, 0, 0,
178 0, 0, 0, 0, 0, 0, 0, 0,
179 0, 0, 0, 0, 0, 0, 0, 0,
180 0, 0, 0, 0, 0, 0, 0, 0,
181 1, 40, 21, 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, 0, 0, 0, 0, 0, 0,
186 0, 0, 1, 41, 22, 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, 0, 0, 0, 0,
191 0, 0, 0, 0, 1, 123, 23, 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, 0, 0,
196 0, 0, 0, 0, 0, 0, 1, 125,
197 24, 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 0, 0, 0, 0, 0, 0, 0, 0,
202 1, 44, 25, 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, 0, 0, 0, 0, 0, 0,
207 0, 0, 1, 59, 27, 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, 0, 0, 0, 0,
212 0, 0, 0, 0, 1, 32, 28, 0,
213 0, 0, 0, 0, 0, 0, 0, 0,
214 0, 0, 0, 0, 0, 26, 26, 0,
215 0, 0, 0, 26, 26, 26, 26, 26,
216 26, 26, 26, 26, 26, 26, 26, 26,
217 26, 26, 0, 0, 0, 0, 1, 34,
218 30, 0, 0, 0, 0, 27, 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 0, 0, 0, 0, 0, 0, 0, 0,
223 1, 32, 28, 0, 0, 0, 0, 0,
224 0, 0, 0, 0, 0, 0, 0, 0,
225 0, 26, 26, 0, 0, 0, 0, 26,
226 26, 26, 26, 26, 26, 26, 26, 26,
227 26, 26, 26, 43, 26, 26, 0, 0,
228 0, 0, 1, 32, 28, 0, 0, 0,
229 0, 0, 0, 0, 0, 0, 0, 0,
230 0, 0, 0, 26, 26, 0, 0, 0,
231 0, 26, 26, 26, 26, 26, 26, 44,
232 26, 26, 26, 26, 26, 26, 26, 26,
233 0, 0, 0, 0, 1, 32, 28, 0,
234 0, 0, 0, 0, 0, 0, 0, 0,
235 0, 0, 0, 0, 0, 26, 26, 0,
236 0, 0, 0, 26, 26, 26, 26, 26,
237 45, 26, 26, 26, 26, 26, 26, 26,
238 26, 26, 0, 0, 0, 0, 1, 32,
239 28, 0, 0, 0, 0, 0, 0, 0,
240 0, 0, 0, 0, 0, 0, 0, 26,
241 26, 0, 0, 0, 0, 26, 26, 26,
242 26, 26, 26, 26, 26, 26, 26, 26,
243 46, 26, 26, 26, 0, 0, 0, 0,
244 1, 65538, 4, 0, 0, 0, 0, 0,
245 0, 0, 0, 0, 0, 0, 0, 0,
246 0, 26, 26, 0, 0, 0, 0, 26,
247 26, 26, 26, 26, 26, 26, 26, 26,
248 26, 26, 26, 26, 26, 26, 0, 0,
249 0, 0, 1, 32, 28, 0, 0, 0,
250 0, 0, 0, 0, 0, 0, 0, 0,
251 0, 0, 0, 26, 26, 0, 0, 0,
252 0, 26, 26, 26, 26, 26, 26, 26,
253 26, 26, 26, 47, 26, 26, 26, 26,
254 0, 0, 0, 0, 1, 32, 28, 0,
255 0, 0, 0, 0, 0, 0, 0, 0,
256 0, 0, 0, 0, 0, 26, 26, 0,
257 0, 0, 0, 26, 26, 26, 26, 26,
258 48, 26, 26, 26, 26, 26, 26, 26,
259 26, 26, 0, 0, 0, 0, 1, 32,
260 28, 0, 0, 0, 0, 0, 0, 0,
261 0, 0, 0, 0, 0, 0, 0, 26,
262 26, 0, 0, 0, 0, 26, 26, 26,
263 26, 26, 26, 26, 26, 26, 26, 26,
264 49, 26, 26, 26, 0, 0, 0, 0,
265 1, 131084, 8, 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, 0, 0, 0, 0, 0, 0,
270 0, 0, 1, 131085, 9, 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, 0, 0, 0, 0,
275 0, 0, 0, 0, 1, 131089, 10, 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, 0, 0,
280 0, 0, 0, 0, 0, 0, 1, 131090,
281 11, 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 0, 0, 0, 0, 0, 0, 0, 0,
286 1, 131092, 13, 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, 0, 0, 0, 0, 0, 0,
291 0, 0, 1, 131094, 15, 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, 0, 0, 0, 0, 0,
297 0, 0, 0, 42, 42, 42, 42, 42,
298 50, 42, 42, 42, 42, 42, 42, 42,
299 42, 42, 42, 42, 42, 42, 42, 42,
300 42, 42, 42, 42, 42, 42, 42, 42,
301 42, 42, 42, 42, 42, 42, 1, 32,
302 28, 0, 0, 0, 0, 0, 0, 0,
303 0, 0, 0, 0, 0, 0, 0, 26,
304 26, 0, 0, 0, 0, 26, 26, 51,
305 26, 26, 26, 26, 26, 26, 26, 26,
306 26, 26, 26, 26, 0, 0, 0, 0,
307 1, 32, 28, 0, 0, 0, 0, 0,
308 0, 0, 0, 0, 0, 0, 0, 0,
309 0, 26, 26, 0, 0, 0, 0, 26,
310 26, 26, 26, 26, 26, 26, 26, 26,
311 26, 43, 26, 26, 26, 26, 0, 0,
312 0, 0, 1, 32, 28, 0, 0, 0,
313 0, 0, 0, 0, 0, 0, 0, 0,
314 0, 0, 0, 26, 26, 0, 0, 0,
315 0, 26, 52, 26, 26, 26, 26, 26,
316 26, 26, 26, 26, 26, 26, 26, 26,
317 0, 0, 0, 0, 1, 65537, 3, 0,
318 0, 0, 0, 0, 0, 0, 0, 0,
319 0, 0, 0, 0, 0, 26, 26, 0,
320 0, 0, 0, 26, 26, 26, 26, 26,
321 26, 26, 26, 26, 26, 26, 26, 26,
322 26, 26, 0, 0, 0, 0, 1, 32,
323 28, 0, 0, 0, 0, 0, 0, 0,
324 0, 0, 0, 0, 0, 0, 0, 26,
325 26, 0, 0, 0, 0, 26, 26, 53,
326 26, 26, 26, 26, 26, 26, 26, 26,
327 26, 26, 26, 26, 0, 0, 0, 0,
328 1, 32, 28, 0, 0, 0, 0, 0,
329 0, 0, 0, 0, 0, 0, 0, 0,
330 0, 26, 26, 0, 0, 0, 0, 26,
331 26, 26, 26, 26, 26, 54, 26, 26,
332 26, 26, 26, 26, 26, 26, 0, 0,
333 0, 0, 1, 32, 28, 0, 0, 0,
334 0, 0, 0, 0, 0, 0, 0, 0,
335 0, 0, 0, 26, 26, 0, 0, 0,
336 0, 26, 26, 26, 26, 26, 26, 26,
337 26, 26, 26, 26, 26, 55, 26, 26,
338 0, 0, 0, 0, 0, 0, 0, 0,
339 0, 0, 0, 56, 56, 56, 56, 56,
340 50, 56, 56, 56, 57, 56, 56, 56,
341 56, 56, 56, 56, 56, 56, 56, 56,
342 56, 56, 56, 56, 56, 56, 56, 56,
343 56, 56, 56, 56, 56, 56, 1, 36,
344 1, 0, 0, 0, 0, 0, 0, 0,
345 0, 0, 0, 0, 0, 0, 0, 26,
346 26, 0, 0, 0, 0, 26, 26, 26,
347 26, 26, 26, 26, 26, 26, 26, 26,
348 26, 26, 26, 26, 0, 0, 0, 0,
349 1, 65536, 2, 0, 0, 0, 0, 0,
350 0, 0, 0, 0, 0, 0, 0, 0,
351 0, 26, 26, 0, 0, 0, 0, 26,
352 26, 26, 26, 26, 26, 26, 26, 26,
353 26, 26, 26, 26, 26, 26, 0, 0,
354 0, 0, 1, 65539, 5, 0, 0, 0,
355 0, 0, 0, 0, 0, 0, 0, 0,
356 0, 0, 0, 26, 26, 0, 0, 0,
357 0, 26, 26, 26, 26, 26, 26, 26,
358 26, 26, 26, 26, 26, 26, 26, 26,
359 0, 0, 0, 0, 1, 32, 28, 0,
360 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 0, 0, 0, 0, 26, 26, 0,
362 0, 0, 0, 26, 26, 58, 26, 26,
363 26, 26, 26, 26, 26, 26, 26, 26,
364 26, 26, 0, 0, 0, 0, 1, 32,
365 28, 0, 0, 0, 0, 0, 0, 0,
366 0, 0, 0, 0, 0, 0, 0, 26,
367 26, 0, 0, 0, 0, 26, 26, 26,
368 26, 26, 26, 26, 26, 26, 59, 26,
369 26, 26, 26, 26, 0, 0, 0, 0,
370 0, 0, 0, 0, 0, 0, 0, 56,
371 56, 56, 56, 56, 60, 56, 56, 56,
372 56, 56, 56, 56, 56, 56, 56, 56,
373 56, 56, 56, 56, 56, 56, 56, 56,
374 56, 56, 56, 56, 56, 56, 56, 56,
375 56, 56, 1, 33, 29, 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, 0, 0, 0, 0,
380 0, 0, 0, 0, 1, 65540, 6, 0,
381 0, 0, 0, 0, 0, 0, 0, 0,
382 0, 0, 0, 0, 0, 26, 26, 0,
383 0, 0, 0, 26, 26, 26, 26, 26,
384 26, 26, 26, 26, 26, 26, 26, 26,
385 26, 26, 0, 0, 0, 0, 1, 32,
386 28, 0, 0, 0, 0, 0, 0, 0,
387 0, 0, 0, 0, 0, 0, 0, 26,
388 26, 0, 0, 0, 0, 26, 26, 26,
389 26, 26, 26, 26, 61, 26, 26, 26,
390 26, 26, 26, 26, 0, 0, 0, 0,
391 0, 0, 0, 0, 0, 0, 0, 56,
392 56, 56, 56, 56, 60, 56, 56, 56,
393 57, 56, 56, 56, 56, 56, 56, 56,
394 56, 56, 56, 56, 56, 56, 56, 56,
395 56, 56, 56, 56, 56, 56, 56, 56,
396 56, 56, 1, 65541, 7, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 0, 0,
398 0, 0, 0, 26, 26, 0, 0, 0,
399 0, 26, 26, 26, 26, 26, 26, 26,
400 26, 26, 26, 26, 26, 26, 26, 26,
401 0, 0, 0, 0 };
402
403 if (start_token_ == end_)
404 {
405 unique_id_ = npos;
406 return 0;
407 }
408
409 std::size_t const* ptr_ = dfa_ + dfa_alphabet_;
410 Iterator curr_ = start_token_;
411 bool end_state_ = *ptr_ != 0;
412 std::size_t id_ = *(ptr_ + id_index);
413 std::size_t uid_ = *(ptr_ + unique_id_index);
414 Iterator end_token_ = start_token_;
415
416 while (curr_ != end_)
417 {
418 std::size_t const state_ =
419 ptr_[lookup_[static_cast<unsigned char>(*curr_++)]];
420
421 if (state_ == 0) break;
422
423 ptr_ = &dfa_[state_ * dfa_alphabet_];
424
425 if (*ptr_)
426 {
427 end_state_ = true;
428 id_ = *(ptr_ + id_index);
429 uid_ = *(ptr_ + unique_id_index);
430 end_token_ = curr_;
431 }
432 }
433
434 if (end_state_)
435 {
436 // return longest match
437 start_token_ = end_token_;
438 }
439 else
440 {
441 id_ = npos;
442 uid_ = npos;
443 }
444
445 unique_id_ = uid_;
446 return id_;
447 }
448
449 ////////////////////////////////////////////////////////////////////////////////
450 // this defines a generic accessors for the information above
451 struct lexer_conjure_static
452 {
453 // version number and feature-set of compatible static lexer engine
454 enum
455 {
456 static_version = 65536,
457 supports_bol = false,
458 supports_eol = false
459 };
460
461 // return the number of lexer states
462 static std::size_t state_count()
463 {
464 return lexer_state_count_conjure_static;
465 }
466
467 // return the name of the lexer state as given by 'idx'
468 static char const* state_name(std::size_t idx)
469 {
470 return lexer_state_names_conjure_static[idx];
471 }
472
473 // return the next matched token
474 template<typename Iterator>
475 static std::size_t next(std::size_t &start_state_, bool& bol_
476 , Iterator &start_token_, Iterator const& end_, std::size_t& unique_id_)
477 {
478 return next_token_conjure_static(start_state_, bol_, start_token_, end_, unique_id_);
479 }
480 };
481
482 }}}}} // namespace boost::spirit::lex::lexertl::static_
483
484 #endif