1/*=============================================================================
2 Copyright (c) 2001-2011 Joel de Guzman
3 http://spirit.sourceforge.net/
4
5 Distributed under the Boost Software License, Version 1.0. (See accompanying
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7=============================================================================*/
8#ifndef BOOST_SPIRIT_COMMON_PLACEHOLDERS_OCTOBER_16_2008_0102PM
9#define BOOST_SPIRIT_COMMON_PLACEHOLDERS_OCTOBER_16_2008_0102PM
10
11#if defined(_MSC_VER)
12#pragma once
13#endif
14
15#include <boost/spirit/home/support/terminal.hpp>
16#include <boost/spirit/home/support/char_encoding/standard.hpp>
17#include <boost/spirit/home/support/char_encoding/standard_wide.hpp>
18#include <boost/spirit/home/support/char_encoding/ascii.hpp>
19#include <boost/spirit/home/support/char_encoding/iso8859_1.hpp>
20#include <boost/spirit/home/support/char_class.hpp>
21#include <boost/mpl/vector.hpp>
22#include <boost/proto/traits.hpp>
23
24#if defined(BOOST_SPIRIT_UNICODE)
25# include <boost/spirit/home/support/char_encoding/unicode.hpp>
26#endif
27
28namespace boost { namespace spirit
29{
30 typedef mpl::vector<
31 spirit::char_encoding::ascii
32 , spirit::char_encoding::iso8859_1
33 , spirit::char_encoding::standard
34 , spirit::char_encoding::standard_wide
35#if defined(BOOST_SPIRIT_UNICODE)
36 , spirit::char_encoding::unicode
37#endif
38 >
39 char_encodings;
40
41 template <typename T>
42 struct is_char_encoding : mpl::false_ {};
43
44 template <>
45 struct is_char_encoding<spirit::char_encoding::ascii> : mpl::true_ {};
46
47 template <>
48 struct is_char_encoding<spirit::char_encoding::iso8859_1> : mpl::true_ {};
49
50 template <>
51 struct is_char_encoding<spirit::char_encoding::standard> : mpl::true_ {};
52
53 template <>
54 struct is_char_encoding<spirit::char_encoding::standard_wide> : mpl::true_ {};
55
56#if defined(BOOST_SPIRIT_UNICODE)
57 template <>
58 struct is_char_encoding<spirit::char_encoding::unicode> : mpl::true_ {};
59#endif
60
61 template <typename Encoding>
62 struct encoding
63 : proto::terminal<tag::char_code<tag::encoding, Encoding> >::type
64 {};
65
66 // Our basic terminals
67 BOOST_SPIRIT_DEFINE_TERMINALS_NAME(
68 ( verbatim, verbatim_type )
69 ( no_delimit, no_delimit_type )
70 ( lexeme, lexeme_type )
71 ( no_skip, no_skip_type )
72 ( omit, omit_type )
73 ( raw, raw_type )
74 ( as_string, as_string_type )
75 ( as_wstring, as_wstring_type )
76 ( inf, inf_type )
77 ( eol, eol_type )
78 ( eoi, eoi_type )
79 ( buffer, buffer_type )
80 ( true_, true_type )
81 ( false_, false_type )
82 ( matches, matches_type )
83 ( hold, hold_type )
84 ( strict, strict_type )
85 ( relaxed, relaxed_type )
86 ( duplicate, duplicate_type )
87 ( expect, expect_type )
88 )
89
90 // Our extended terminals
91 BOOST_SPIRIT_DEFINE_TERMINALS_NAME_EX(
92 ( lit, lit_type )
93 ( bin, bin_type )
94 ( oct, oct_type )
95 ( hex, hex_type )
96 ( bool_, bool_type )
97 ( ushort_, ushort_type )
98 ( ulong_, ulong_type )
99 ( uint_, uint_type )
100 ( short_, short_type )
101 ( long_, long_type )
102 ( int_, int_type )
103 ( ulong_long, ulong_long_type )
104 ( long_long, long_long_type )
105 ( float_, float_type )
106 ( double_, double_type )
107 ( long_double, long_double_type )
108 ( repeat, repeat_type )
109 ( eps, eps_type )
110 ( pad, pad_type )
111 ( byte_, byte_type )
112 ( word, word_type )
113 ( big_word, big_word_type )
114 ( little_word, little_word_type )
115 ( dword, dword_type )
116 ( big_dword, big_dword_type )
117 ( little_dword, little_dword_type )
118 ( qword, qword_type )
119 ( big_qword, big_qword_type )
120 ( little_qword, little_qword_type )
121 ( bin_float, bin_float_type )
122 ( big_bin_float, big_bin_float_type )
123 ( little_bin_float, little_bin_float_type )
124 ( bin_double, bin_double_type )
125 ( big_bin_double, big_bin_double_type )
126 ( little_bin_double, little_bin_double_type )
127 ( skip, skip_type )
128 ( delimit, delimit_type )
129 ( stream, stream_type )
130 ( wstream, wstream_type )
131 ( left_align, left_align_type )
132 ( right_align, right_align_type )
133 ( center, center_type )
134 ( maxwidth, maxwidth_type )
135 ( set_state, set_state_type )
136 ( in_state, in_state_type )
137 ( token, token_type )
138 ( tokenid, tokenid_type )
139 ( raw_token, raw_token_type )
140 ( tokenid_mask, tokenid_mask_type )
141 ( attr, attr_type )
142 ( columns, columns_type )
143 ( auto_, auto_type )
144 )
145
146 // special tags (used mainly for stateful tag types)
147 namespace tag
148 {
149 struct attr_cast { BOOST_SPIRIT_IS_TAG() };
150 struct as { BOOST_SPIRIT_IS_TAG() };
151 }
152}}
153
154///////////////////////////////////////////////////////////////////////////////
155// Here we place the character-set sensitive placeholders. We have one set
156// each for ascii, iso8859_1, standard and standard_wide and unicode. These
157// placeholders are placed in its char-set namespace. For example, there exist
158// a placeholder spirit::ascii::alnum for ascii versions of alnum.
159
160#define BOOST_SPIRIT_TAG_CHAR_SPEC(charset) \
161 typedef tag::char_code<tag::char_, charset> char_; \
162 typedef tag::char_code<tag::string, charset> string; \
163 /***/
164
165#ifdef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
166
167#define BOOST_SPIRIT_CHAR_SPEC(charset) \
168 typedef spirit::terminal<tag::charset::char_> char_type; \
169 typedef spirit::terminal<tag::charset::string> string_type; \
170 /***/
171
172#else
173
174#define BOOST_SPIRIT_CHAR_SPEC(charset) \
175 typedef spirit::terminal<tag::charset::char_> char_type; \
176 char_type const char_ = char_type(); \
177 \
178 inline void silence_unused_warnings_##char_() { (void) char_; } \
179 \
180 typedef spirit::terminal<tag::charset::string> string_type; \
181 string_type const string = string_type(); \
182 \
183 inline void silence_unused_warnings_##string() { (void) string; } \
184 /***/
185
186#endif
187
188#ifdef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
189
190#define BOOST_SPIRIT_CHAR_CODE(name, charset) \
191 typedef proto::terminal<tag::char_code<tag::name, charset> >::type \
192 name##_type; \
193 /***/
194
195#else
196
197#define BOOST_SPIRIT_CHAR_CODE(name, charset) \
198 typedef proto::terminal<tag::char_code<tag::name, charset> >::type \
199 name##_type; \
200 name##_type const name = name##_type(); \
201 \
202 inline void silence_unused_warnings_##name() { (void) name; } \
203 /***/
204
205
206#endif
207
208#define BOOST_SPIRIT_DEFINE_CHAR_CODES(charset) \
209 namespace boost { namespace spirit { namespace tag { namespace charset \
210 { \
211 BOOST_SPIRIT_TAG_CHAR_SPEC(spirit::char_encoding::charset) \
212 }}}} \
213 namespace boost { namespace spirit { namespace charset \
214 { \
215 BOOST_SPIRIT_CHAR_SPEC(charset) \
216 \
217 BOOST_SPIRIT_CHAR_CODE(alnum, spirit::char_encoding::charset) \
218 BOOST_SPIRIT_CHAR_CODE(alpha, spirit::char_encoding::charset) \
219 BOOST_SPIRIT_CHAR_CODE(blank, spirit::char_encoding::charset) \
220 BOOST_SPIRIT_CHAR_CODE(cntrl, spirit::char_encoding::charset) \
221 BOOST_SPIRIT_CHAR_CODE(digit, spirit::char_encoding::charset) \
222 BOOST_SPIRIT_CHAR_CODE(graph, spirit::char_encoding::charset) \
223 BOOST_SPIRIT_CHAR_CODE(print, spirit::char_encoding::charset) \
224 BOOST_SPIRIT_CHAR_CODE(punct, spirit::char_encoding::charset) \
225 BOOST_SPIRIT_CHAR_CODE(space, spirit::char_encoding::charset) \
226 BOOST_SPIRIT_CHAR_CODE(xdigit, spirit::char_encoding::charset) \
227 \
228 BOOST_SPIRIT_CHAR_CODE(no_case, spirit::char_encoding::charset) \
229 BOOST_SPIRIT_CHAR_CODE(lower, spirit::char_encoding::charset) \
230 BOOST_SPIRIT_CHAR_CODE(upper, spirit::char_encoding::charset) \
231 BOOST_SPIRIT_CHAR_CODE(lowernum, spirit::char_encoding::charset) \
232 BOOST_SPIRIT_CHAR_CODE(uppernum, spirit::char_encoding::charset) \
233 }}} \
234 /***/
235
236BOOST_SPIRIT_DEFINE_CHAR_CODES(ascii)
237BOOST_SPIRIT_DEFINE_CHAR_CODES(iso8859_1)
238BOOST_SPIRIT_DEFINE_CHAR_CODES(standard)
239BOOST_SPIRIT_DEFINE_CHAR_CODES(standard_wide)
240
241namespace boost { namespace spirit { namespace traits
242{
243 template <typename Char>
244 struct char_encoding_from_char;
245
246 template <>
247 struct char_encoding_from_char<char>
248 : mpl::identity<spirit::char_encoding::standard>
249 {};
250
251 template <>
252 struct char_encoding_from_char<wchar_t>
253 : mpl::identity<spirit::char_encoding::standard_wide>
254 {};
255
256 template <typename T>
257 struct char_encoding_from_char<T const>
258 : char_encoding_from_char<T>
259 {};
260}}}
261
262#if defined(BOOST_SPIRIT_UNICODE)
263BOOST_SPIRIT_DEFINE_CHAR_CODES(unicode)
264
265 namespace boost { namespace spirit { namespace tag { namespace unicode
266 {
267 BOOST_SPIRIT_TAG_CHAR_SPEC(spirit::char_encoding::unicode)
268 }}}}
269
270 namespace boost { namespace spirit { namespace unicode
271 {
272#define BOOST_SPIRIT_UNICODE_CHAR_CODE(name) \
273 BOOST_SPIRIT_CHAR_CODE(name, spirit::char_encoding::unicode) \
274
275 ///////////////////////////////////////////////////////////////////////////
276 // Unicode Major Categories
277 ///////////////////////////////////////////////////////////////////////////
278 BOOST_SPIRIT_UNICODE_CHAR_CODE(letter)
279 BOOST_SPIRIT_UNICODE_CHAR_CODE(mark)
280 BOOST_SPIRIT_UNICODE_CHAR_CODE(number)
281 BOOST_SPIRIT_UNICODE_CHAR_CODE(separator)
282 BOOST_SPIRIT_UNICODE_CHAR_CODE(other)
283 BOOST_SPIRIT_UNICODE_CHAR_CODE(punctuation)
284 BOOST_SPIRIT_UNICODE_CHAR_CODE(symbol)
285
286 ///////////////////////////////////////////////////////////////////////////
287 // Unicode General Categories
288 ///////////////////////////////////////////////////////////////////////////
289 BOOST_SPIRIT_UNICODE_CHAR_CODE(uppercase_letter)
290 BOOST_SPIRIT_UNICODE_CHAR_CODE(lowercase_letter)
291 BOOST_SPIRIT_UNICODE_CHAR_CODE(titlecase_letter)
292 BOOST_SPIRIT_UNICODE_CHAR_CODE(modifier_letter)
293 BOOST_SPIRIT_UNICODE_CHAR_CODE(other_letter)
294
295 BOOST_SPIRIT_UNICODE_CHAR_CODE(nonspacing_mark)
296 BOOST_SPIRIT_UNICODE_CHAR_CODE(enclosing_mark)
297 BOOST_SPIRIT_UNICODE_CHAR_CODE(spacing_mark)
298
299 BOOST_SPIRIT_UNICODE_CHAR_CODE(decimal_number)
300 BOOST_SPIRIT_UNICODE_CHAR_CODE(letter_number)
301 BOOST_SPIRIT_UNICODE_CHAR_CODE(other_number)
302
303 BOOST_SPIRIT_UNICODE_CHAR_CODE(space_separator)
304 BOOST_SPIRIT_UNICODE_CHAR_CODE(line_separator)
305 BOOST_SPIRIT_UNICODE_CHAR_CODE(paragraph_separator)
306
307 BOOST_SPIRIT_UNICODE_CHAR_CODE(control)
308 BOOST_SPIRIT_UNICODE_CHAR_CODE(format)
309 BOOST_SPIRIT_UNICODE_CHAR_CODE(private_use)
310 BOOST_SPIRIT_UNICODE_CHAR_CODE(surrogate)
311 BOOST_SPIRIT_UNICODE_CHAR_CODE(unassigned)
312
313 BOOST_SPIRIT_UNICODE_CHAR_CODE(dash_punctuation)
314 BOOST_SPIRIT_UNICODE_CHAR_CODE(open_punctuation)
315 BOOST_SPIRIT_UNICODE_CHAR_CODE(close_punctuation)
316 BOOST_SPIRIT_UNICODE_CHAR_CODE(connector_punctuation)
317 BOOST_SPIRIT_UNICODE_CHAR_CODE(other_punctuation)
318 BOOST_SPIRIT_UNICODE_CHAR_CODE(initial_punctuation)
319 BOOST_SPIRIT_UNICODE_CHAR_CODE(final_punctuation)
320
321 BOOST_SPIRIT_UNICODE_CHAR_CODE(math_symbol)
322 BOOST_SPIRIT_UNICODE_CHAR_CODE(currency_symbol)
323 BOOST_SPIRIT_UNICODE_CHAR_CODE(modifier_symbol)
324 BOOST_SPIRIT_UNICODE_CHAR_CODE(other_symbol)
325
326 ///////////////////////////////////////////////////////////////////////////
327 // Unicode Derived Categories
328 ///////////////////////////////////////////////////////////////////////////
329 BOOST_SPIRIT_UNICODE_CHAR_CODE(alphabetic)
330 BOOST_SPIRIT_UNICODE_CHAR_CODE(uppercase)
331 BOOST_SPIRIT_UNICODE_CHAR_CODE(lowercase)
332 BOOST_SPIRIT_UNICODE_CHAR_CODE(white_space)
333 BOOST_SPIRIT_UNICODE_CHAR_CODE(hex_digit)
334 BOOST_SPIRIT_UNICODE_CHAR_CODE(noncharacter_code_point)
335 BOOST_SPIRIT_UNICODE_CHAR_CODE(default_ignorable_code_point)
336
337 ///////////////////////////////////////////////////////////////////////////
338 // Unicode Scripts
339 ///////////////////////////////////////////////////////////////////////////
340 BOOST_SPIRIT_UNICODE_CHAR_CODE(adlam)
341 BOOST_SPIRIT_UNICODE_CHAR_CODE(caucasian_albanian)
342 BOOST_SPIRIT_UNICODE_CHAR_CODE(ahom)
343 BOOST_SPIRIT_UNICODE_CHAR_CODE(arabic)
344 BOOST_SPIRIT_UNICODE_CHAR_CODE(imperial_aramaic)
345 BOOST_SPIRIT_UNICODE_CHAR_CODE(armenian)
346 BOOST_SPIRIT_UNICODE_CHAR_CODE(avestan)
347 BOOST_SPIRIT_UNICODE_CHAR_CODE(balinese)
348 BOOST_SPIRIT_UNICODE_CHAR_CODE(bamum)
349 BOOST_SPIRIT_UNICODE_CHAR_CODE(bassa_vah)
350 BOOST_SPIRIT_UNICODE_CHAR_CODE(batak)
351 BOOST_SPIRIT_UNICODE_CHAR_CODE(bengali)
352 BOOST_SPIRIT_UNICODE_CHAR_CODE(bhaiksuki)
353 BOOST_SPIRIT_UNICODE_CHAR_CODE(bopomofo)
354 BOOST_SPIRIT_UNICODE_CHAR_CODE(brahmi)
355 BOOST_SPIRIT_UNICODE_CHAR_CODE(braille)
356 BOOST_SPIRIT_UNICODE_CHAR_CODE(buginese)
357 BOOST_SPIRIT_UNICODE_CHAR_CODE(buhid)
358 BOOST_SPIRIT_UNICODE_CHAR_CODE(chakma)
359 BOOST_SPIRIT_UNICODE_CHAR_CODE(canadian_aboriginal)
360 BOOST_SPIRIT_UNICODE_CHAR_CODE(carian)
361 BOOST_SPIRIT_UNICODE_CHAR_CODE(cham)
362 BOOST_SPIRIT_UNICODE_CHAR_CODE(cherokee)
363 BOOST_SPIRIT_UNICODE_CHAR_CODE(chorasmian)
364 BOOST_SPIRIT_UNICODE_CHAR_CODE(coptic)
365 BOOST_SPIRIT_UNICODE_CHAR_CODE(cypro_minoan)
366 BOOST_SPIRIT_UNICODE_CHAR_CODE(cypriot)
367 BOOST_SPIRIT_UNICODE_CHAR_CODE(cyrillic)
368 BOOST_SPIRIT_UNICODE_CHAR_CODE(devanagari)
369 BOOST_SPIRIT_UNICODE_CHAR_CODE(dives_akuru)
370 BOOST_SPIRIT_UNICODE_CHAR_CODE(dogra)
371 BOOST_SPIRIT_UNICODE_CHAR_CODE(deseret)
372 BOOST_SPIRIT_UNICODE_CHAR_CODE(duployan)
373 BOOST_SPIRIT_UNICODE_CHAR_CODE(egyptian_hieroglyphs)
374 BOOST_SPIRIT_UNICODE_CHAR_CODE(elbasan)
375 BOOST_SPIRIT_UNICODE_CHAR_CODE(elymaic)
376 BOOST_SPIRIT_UNICODE_CHAR_CODE(ethiopic)
377 BOOST_SPIRIT_UNICODE_CHAR_CODE(georgian)
378 BOOST_SPIRIT_UNICODE_CHAR_CODE(glagolitic)
379 BOOST_SPIRIT_UNICODE_CHAR_CODE(gunjala_gondi)
380 BOOST_SPIRIT_UNICODE_CHAR_CODE(masaram_gondi)
381 BOOST_SPIRIT_UNICODE_CHAR_CODE(gothic)
382 BOOST_SPIRIT_UNICODE_CHAR_CODE(grantha)
383 BOOST_SPIRIT_UNICODE_CHAR_CODE(greek)
384 BOOST_SPIRIT_UNICODE_CHAR_CODE(gujarati)
385 BOOST_SPIRIT_UNICODE_CHAR_CODE(gurmukhi)
386 BOOST_SPIRIT_UNICODE_CHAR_CODE(hangul)
387 BOOST_SPIRIT_UNICODE_CHAR_CODE(han)
388 BOOST_SPIRIT_UNICODE_CHAR_CODE(hanunoo)
389 BOOST_SPIRIT_UNICODE_CHAR_CODE(hatran)
390 BOOST_SPIRIT_UNICODE_CHAR_CODE(hebrew)
391 BOOST_SPIRIT_UNICODE_CHAR_CODE(hiragana)
392 BOOST_SPIRIT_UNICODE_CHAR_CODE(anatolian_hieroglyphs)
393 BOOST_SPIRIT_UNICODE_CHAR_CODE(pahawh_hmong)
394 BOOST_SPIRIT_UNICODE_CHAR_CODE(nyiakeng_puachue_hmong)
395 BOOST_SPIRIT_UNICODE_CHAR_CODE(katakana_or_hiragana)
396 BOOST_SPIRIT_UNICODE_CHAR_CODE(old_hungarian)
397 BOOST_SPIRIT_UNICODE_CHAR_CODE(old_italic)
398 BOOST_SPIRIT_UNICODE_CHAR_CODE(javanese)
399 BOOST_SPIRIT_UNICODE_CHAR_CODE(kayah_li)
400 BOOST_SPIRIT_UNICODE_CHAR_CODE(katakana)
401 BOOST_SPIRIT_UNICODE_CHAR_CODE(kawi)
402 BOOST_SPIRIT_UNICODE_CHAR_CODE(kharoshthi)
403 BOOST_SPIRIT_UNICODE_CHAR_CODE(khmer)
404 BOOST_SPIRIT_UNICODE_CHAR_CODE(khojki)
405 BOOST_SPIRIT_UNICODE_CHAR_CODE(khitan_small_script)
406 BOOST_SPIRIT_UNICODE_CHAR_CODE(kannada)
407 BOOST_SPIRIT_UNICODE_CHAR_CODE(kaithi)
408 BOOST_SPIRIT_UNICODE_CHAR_CODE(tai_tham)
409 BOOST_SPIRIT_UNICODE_CHAR_CODE(lao)
410 BOOST_SPIRIT_UNICODE_CHAR_CODE(latin)
411 BOOST_SPIRIT_UNICODE_CHAR_CODE(lepcha)
412 BOOST_SPIRIT_UNICODE_CHAR_CODE(limbu)
413 BOOST_SPIRIT_UNICODE_CHAR_CODE(linear_a)
414 BOOST_SPIRIT_UNICODE_CHAR_CODE(linear_b)
415 BOOST_SPIRIT_UNICODE_CHAR_CODE(lisu)
416 BOOST_SPIRIT_UNICODE_CHAR_CODE(lycian)
417 BOOST_SPIRIT_UNICODE_CHAR_CODE(lydian)
418 BOOST_SPIRIT_UNICODE_CHAR_CODE(mahajani)
419 BOOST_SPIRIT_UNICODE_CHAR_CODE(makasar)
420 BOOST_SPIRIT_UNICODE_CHAR_CODE(mandaic)
421 BOOST_SPIRIT_UNICODE_CHAR_CODE(manichaean)
422 BOOST_SPIRIT_UNICODE_CHAR_CODE(marchen)
423 BOOST_SPIRIT_UNICODE_CHAR_CODE(medefaidrin)
424 BOOST_SPIRIT_UNICODE_CHAR_CODE(mende_kikakui)
425 BOOST_SPIRIT_UNICODE_CHAR_CODE(meroitic_cursive)
426 BOOST_SPIRIT_UNICODE_CHAR_CODE(meroitic_hieroglyphs)
427 BOOST_SPIRIT_UNICODE_CHAR_CODE(malayalam)
428 BOOST_SPIRIT_UNICODE_CHAR_CODE(modi)
429 BOOST_SPIRIT_UNICODE_CHAR_CODE(mongolian)
430 BOOST_SPIRIT_UNICODE_CHAR_CODE(mro)
431 BOOST_SPIRIT_UNICODE_CHAR_CODE(meetei_mayek)
432 BOOST_SPIRIT_UNICODE_CHAR_CODE(multani)
433 BOOST_SPIRIT_UNICODE_CHAR_CODE(myanmar)
434 BOOST_SPIRIT_UNICODE_CHAR_CODE(nag_mundari)
435 BOOST_SPIRIT_UNICODE_CHAR_CODE(nandinagari)
436 BOOST_SPIRIT_UNICODE_CHAR_CODE(old_north_arabian)
437 BOOST_SPIRIT_UNICODE_CHAR_CODE(nabataean)
438 BOOST_SPIRIT_UNICODE_CHAR_CODE(newa)
439 BOOST_SPIRIT_UNICODE_CHAR_CODE(nko)
440 BOOST_SPIRIT_UNICODE_CHAR_CODE(nushu)
441 BOOST_SPIRIT_UNICODE_CHAR_CODE(ogham)
442 BOOST_SPIRIT_UNICODE_CHAR_CODE(ol_chiki)
443 BOOST_SPIRIT_UNICODE_CHAR_CODE(old_turkic)
444 BOOST_SPIRIT_UNICODE_CHAR_CODE(oriya)
445 BOOST_SPIRIT_UNICODE_CHAR_CODE(osage)
446 BOOST_SPIRIT_UNICODE_CHAR_CODE(osmanya)
447 BOOST_SPIRIT_UNICODE_CHAR_CODE(old_uyghur)
448 BOOST_SPIRIT_UNICODE_CHAR_CODE(palmyrene)
449 BOOST_SPIRIT_UNICODE_CHAR_CODE(pau_cin_hau)
450 BOOST_SPIRIT_UNICODE_CHAR_CODE(old_permic)
451 BOOST_SPIRIT_UNICODE_CHAR_CODE(phags_pa)
452 BOOST_SPIRIT_UNICODE_CHAR_CODE(inscriptional_pahlavi)
453 BOOST_SPIRIT_UNICODE_CHAR_CODE(psalter_pahlavi)
454 BOOST_SPIRIT_UNICODE_CHAR_CODE(phoenician)
455 BOOST_SPIRIT_UNICODE_CHAR_CODE(miao)
456 BOOST_SPIRIT_UNICODE_CHAR_CODE(inscriptional_parthian)
457 BOOST_SPIRIT_UNICODE_CHAR_CODE(rejang)
458 BOOST_SPIRIT_UNICODE_CHAR_CODE(hanifi_rohingya)
459 BOOST_SPIRIT_UNICODE_CHAR_CODE(runic)
460 BOOST_SPIRIT_UNICODE_CHAR_CODE(samaritan)
461 BOOST_SPIRIT_UNICODE_CHAR_CODE(old_south_arabian)
462 BOOST_SPIRIT_UNICODE_CHAR_CODE(saurashtra)
463 BOOST_SPIRIT_UNICODE_CHAR_CODE(signwriting)
464 BOOST_SPIRIT_UNICODE_CHAR_CODE(shavian)
465 BOOST_SPIRIT_UNICODE_CHAR_CODE(sharada)
466 BOOST_SPIRIT_UNICODE_CHAR_CODE(siddham)
467 BOOST_SPIRIT_UNICODE_CHAR_CODE(khudawadi)
468 BOOST_SPIRIT_UNICODE_CHAR_CODE(sinhala)
469 BOOST_SPIRIT_UNICODE_CHAR_CODE(sogdian)
470 BOOST_SPIRIT_UNICODE_CHAR_CODE(old_sogdian)
471 BOOST_SPIRIT_UNICODE_CHAR_CODE(sora_sompeng)
472 BOOST_SPIRIT_UNICODE_CHAR_CODE(soyombo)
473 BOOST_SPIRIT_UNICODE_CHAR_CODE(sundanese)
474 BOOST_SPIRIT_UNICODE_CHAR_CODE(syloti_nagri)
475 BOOST_SPIRIT_UNICODE_CHAR_CODE(syriac)
476 BOOST_SPIRIT_UNICODE_CHAR_CODE(tagbanwa)
477 BOOST_SPIRIT_UNICODE_CHAR_CODE(takri)
478 BOOST_SPIRIT_UNICODE_CHAR_CODE(tai_le)
479 BOOST_SPIRIT_UNICODE_CHAR_CODE(new_tai_lue)
480 BOOST_SPIRIT_UNICODE_CHAR_CODE(tamil)
481 BOOST_SPIRIT_UNICODE_CHAR_CODE(tangut)
482 BOOST_SPIRIT_UNICODE_CHAR_CODE(tai_viet)
483 BOOST_SPIRIT_UNICODE_CHAR_CODE(telugu)
484 BOOST_SPIRIT_UNICODE_CHAR_CODE(tifinagh)
485 BOOST_SPIRIT_UNICODE_CHAR_CODE(tagalog)
486 BOOST_SPIRIT_UNICODE_CHAR_CODE(thaana)
487 BOOST_SPIRIT_UNICODE_CHAR_CODE(thai)
488 BOOST_SPIRIT_UNICODE_CHAR_CODE(tibetan)
489 BOOST_SPIRIT_UNICODE_CHAR_CODE(tirhuta)
490 BOOST_SPIRIT_UNICODE_CHAR_CODE(tangsa)
491 BOOST_SPIRIT_UNICODE_CHAR_CODE(toto)
492 BOOST_SPIRIT_UNICODE_CHAR_CODE(ugaritic)
493 BOOST_SPIRIT_UNICODE_CHAR_CODE(vai)
494 BOOST_SPIRIT_UNICODE_CHAR_CODE(vithkuqi)
495 BOOST_SPIRIT_UNICODE_CHAR_CODE(warang_citi)
496 BOOST_SPIRIT_UNICODE_CHAR_CODE(wancho)
497 BOOST_SPIRIT_UNICODE_CHAR_CODE(old_persian)
498 BOOST_SPIRIT_UNICODE_CHAR_CODE(cuneiform)
499 BOOST_SPIRIT_UNICODE_CHAR_CODE(yezidi)
500 BOOST_SPIRIT_UNICODE_CHAR_CODE(yi)
501 BOOST_SPIRIT_UNICODE_CHAR_CODE(zanabazar_square)
502 BOOST_SPIRIT_UNICODE_CHAR_CODE(inherited)
503 BOOST_SPIRIT_UNICODE_CHAR_CODE(common)
504 BOOST_SPIRIT_UNICODE_CHAR_CODE(unknown)
505
506#undef BOOST_SPIRIT_UNICODE_CHAR_CODE
507 }}}
508#endif
509
510#endif
511

source code of boost/libs/spirit/include/boost/spirit/home/support/common_terminals.hpp