parser_enum.hpp 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. ///////////////////////////////////////////////////////////////////////////////
  2. // parser_enum.hpp
  3. //
  4. // Copyright 2008 Eric Niebler. Distributed under the Boost
  5. // Software License, Version 1.0. (See accompanying file
  6. // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  7. #ifndef BOOST_XPRESSIVE_DETAIL_DYNAMIC_PARSER_ENUM_HPP_EAN_10_04_2005
  8. #define BOOST_XPRESSIVE_DETAIL_DYNAMIC_PARSER_ENUM_HPP_EAN_10_04_2005
  9. // MS compatible compilers support #pragma once
  10. #if defined(_MSC_VER)
  11. # pragma once
  12. #endif
  13. namespace boost { namespace xpressive { namespace regex_constants
  14. {
  15. ///////////////////////////////////////////////////////////////////////////////
  16. // compiler_token_type
  17. //
  18. enum compiler_token_type
  19. {
  20. token_literal,
  21. token_any, // .
  22. token_escape, //
  23. token_group_begin, // (
  24. token_group_end, // )
  25. token_alternate, // |
  26. token_invalid_quantifier, // {
  27. token_charset_begin, // [
  28. token_charset_end, // ]
  29. token_charset_invert, // ^
  30. token_charset_hyphen, // -
  31. token_charset_backspace, // \b
  32. token_posix_charset_begin, // [:
  33. token_posix_charset_end, // :]
  34. token_equivalence_class_begin, // [=
  35. token_equivalence_class_end, // =]
  36. token_collation_element_begin, // [.
  37. token_collation_element_end, // .]
  38. token_quote_meta_begin, // \Q
  39. token_quote_meta_end, // \E
  40. token_no_mark, // ?:
  41. token_positive_lookahead, // ?=
  42. token_negative_lookahead, // ?!
  43. token_positive_lookbehind, // ?<=
  44. token_negative_lookbehind, // ?<!
  45. token_independent_sub_expression, // ?>
  46. token_comment, // ?#
  47. token_recurse, // ?R
  48. token_rule_assign, // ?$[name]=
  49. token_rule_ref, // ?$[name]
  50. token_named_mark, // ?P<name>
  51. token_named_mark_ref, // ?P=name
  52. token_assert_begin_sequence, // \A
  53. token_assert_end_sequence, // \Z
  54. token_assert_begin_line, // ^
  55. token_assert_end_line, // $
  56. token_assert_word_begin, // \<
  57. token_assert_word_end, // \>
  58. token_assert_word_boundary, // \b
  59. token_assert_not_word_boundary, // \B
  60. token_escape_newline, // \n
  61. token_escape_escape, // \e
  62. token_escape_formfeed, // \f
  63. token_escape_horizontal_tab, // \t
  64. token_escape_vertical_tab, // \v
  65. token_escape_bell, // \a
  66. token_escape_control, // \c
  67. token_end_of_pattern
  68. };
  69. }}} // namespace boost::xpressive::regex_constants
  70. #endif