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