|
1 /* |
|
2 * |
|
3 * Copyright (c) 2003 |
|
4 * John Maddock |
|
5 * |
|
6 * Use, modification and distribution are subject to the |
|
7 * Boost Software License, Version 1.0. (See accompanying file |
|
8 * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
|
9 * |
|
10 */ |
|
11 |
|
12 /* |
|
13 * LOCATION: see http://www.boost.org for most recent version. |
|
14 * FILE syntax_type.hpp |
|
15 * VERSION see <boost/version.hpp> |
|
16 * DESCRIPTION: Declares regular expression synatx type enumerator. |
|
17 */ |
|
18 |
|
19 #ifndef BOOST_REGEX_SYNTAX_TYPE_HPP |
|
20 #define BOOST_REGEX_SYNTAX_TYPE_HPP |
|
21 |
|
22 namespace boost{ |
|
23 namespace regex_constants{ |
|
24 |
|
25 typedef unsigned char syntax_type; |
|
26 |
|
27 // |
|
28 // values chosen are binary compatible with previous version: |
|
29 // |
|
30 static const syntax_type syntax_char = 0; |
|
31 static const syntax_type syntax_open_mark = 1; |
|
32 static const syntax_type syntax_close_mark = 2; |
|
33 static const syntax_type syntax_dollar = 3; |
|
34 static const syntax_type syntax_caret = 4; |
|
35 static const syntax_type syntax_dot = 5; |
|
36 static const syntax_type syntax_star = 6; |
|
37 static const syntax_type syntax_plus = 7; |
|
38 static const syntax_type syntax_question = 8; |
|
39 static const syntax_type syntax_open_set = 9; |
|
40 static const syntax_type syntax_close_set = 10; |
|
41 static const syntax_type syntax_or = 11; |
|
42 static const syntax_type syntax_escape = 12; |
|
43 static const syntax_type syntax_dash = 14; |
|
44 static const syntax_type syntax_open_brace = 15; |
|
45 static const syntax_type syntax_close_brace = 16; |
|
46 static const syntax_type syntax_digit = 17; |
|
47 static const syntax_type syntax_comma = 27; |
|
48 static const syntax_type syntax_equal = 37; |
|
49 static const syntax_type syntax_colon = 36; |
|
50 static const syntax_type syntax_not = 53; |
|
51 |
|
52 // extensions: |
|
53 |
|
54 static const syntax_type syntax_hash = 13; |
|
55 static const syntax_type syntax_newline = 26; |
|
56 |
|
57 // escapes: |
|
58 |
|
59 typedef syntax_type escape_syntax_type; |
|
60 |
|
61 static const escape_syntax_type escape_type_word_assert = 18; |
|
62 static const escape_syntax_type escape_type_not_word_assert = 19; |
|
63 static const escape_syntax_type escape_type_control_f = 29; |
|
64 static const escape_syntax_type escape_type_control_n = 30; |
|
65 static const escape_syntax_type escape_type_control_r = 31; |
|
66 static const escape_syntax_type escape_type_control_t = 32; |
|
67 static const escape_syntax_type escape_type_control_v = 33; |
|
68 static const escape_syntax_type escape_type_ascii_control = 35; |
|
69 static const escape_syntax_type escape_type_hex = 34; |
|
70 static const escape_syntax_type escape_type_unicode = 0; // not used |
|
71 static const escape_syntax_type escape_type_identity = 0; // not used |
|
72 static const escape_syntax_type escape_type_backref = syntax_digit; |
|
73 static const escape_syntax_type escape_type_decimal = syntax_digit; // not used |
|
74 static const escape_syntax_type escape_type_class = 22; |
|
75 static const escape_syntax_type escape_type_not_class = 23; |
|
76 |
|
77 // extensions: |
|
78 |
|
79 static const escape_syntax_type escape_type_left_word = 20; |
|
80 static const escape_syntax_type escape_type_right_word = 21; |
|
81 static const escape_syntax_type escape_type_start_buffer = 24; // for \` |
|
82 static const escape_syntax_type escape_type_end_buffer = 25; // for \' |
|
83 static const escape_syntax_type escape_type_control_a = 28; // for \a |
|
84 static const escape_syntax_type escape_type_e = 38; // for \e |
|
85 static const escape_syntax_type escape_type_E = 47; // for \Q\E |
|
86 static const escape_syntax_type escape_type_Q = 48; // for \Q\E |
|
87 static const escape_syntax_type escape_type_X = 49; // for \X |
|
88 static const escape_syntax_type escape_type_C = 50; // for \C |
|
89 static const escape_syntax_type escape_type_Z = 51; // for \Z |
|
90 static const escape_syntax_type escape_type_G = 52; // for \G |
|
91 |
|
92 static const escape_syntax_type escape_type_property = 54; // for \p |
|
93 static const escape_syntax_type escape_type_not_property = 55; // for \P |
|
94 static const escape_syntax_type escape_type_named_char = 56; // for \N |
|
95 |
|
96 static const escape_syntax_type syntax_max = 57; |
|
97 |
|
98 } |
|
99 } |
|
100 |
|
101 |
|
102 #endif |