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 | static const escape_syntax_type escape_type_extended_backref = 57; // for \g |
96 | static const escape_syntax_type escape_type_reset_start_mark = 58; // for \K |
97 | static const escape_syntax_type escape_type_line_ending = 59; // for \R |
98 | |
99 | static const escape_syntax_type syntax_max = 60; |
100 | |
101 | } |
102 | } |
103 | |
104 | |
105 | #endif |
106 |