2
0
mirror of https://github.com/boostorg/parser.git synced 2026-01-19 04:22:13 +00:00

Commit Graph

  • c54307b95c update CI from macos-13 to macos-15 develop Andreas Buhr 2025-12-10 19:12:15 +01:00
  • 5b3f122aa7 use fold expressions in or_parser and seq_parser Andreas Buhr 2025-12-03 08:55:15 +01:00
  • 6db68bc7f7 add test for constexpr switch_parser Andreas Buhr 2025-11-25 09:42:05 +01:00
  • 00fe33d2f3 add "constexpr" to switch_parser constructor Andreas Buhr 2025-11-24 14:28:58 +01:00
  • bb183cf5ee Improve error visualization. Andreas Buhr 2025-11-18 09:49:49 +01:00
  • 885595f7bd Parse the attribute of quoted_string into a temporary, and assign at the end, if successful. This makes the code well-formed when the attribute type is an optional. Zach Laine 2025-11-15 16:39:34 -06:00
  • 6826f957a1 Add missing 'else' between two if constexpr cases. Zach Laine 2025-11-15 15:57:03 -06:00
  • 647cec6683 Address similar concern to the one about closures with move-only callables, but this time for adaptors. boost-1.90.0.beta1 boost-1.90.0 master Zach Laine 2025-10-31 17:30:31 -05:00
  • c2ddd6e116 Fix ill-formedness when using range_adaptor_closure with GCC14. Zach Laine 2025-10-31 17:22:11 -05:00
  • f7246de9db Do not call skip parser if we are already in failed state in seq_parser Andreas Buhr 2025-08-02 15:38:50 +02:00
  • 703a8afafe Fix error in drone CI Andreas Buhr 2025-10-15 09:09:48 +02:00
  • 0eacce6080 Add special-casing of nope attributes in seq_parser, so that seq_parser does not assign over valid values in a sequence's attribute after successfully parsing a subsquent nope-attributes parser. Zach Laine 2025-10-31 15:29:47 -05:00
  • 5e61ba4e9e Fix C++17 builds. Zach Laine 2025-10-31 14:24:49 -05:00
  • dc6144eeb4 Correct tuple/struct confusion in the logic of the if constexpr chain in perm_parser. Zach Laine 2025-10-31 12:37:40 -05:00
  • d873d7ea80 Provide failover empty symbol table tries for use inside of skippers, since nothing prevents using a symbol_parser in a skipper, and the previous commit introduced nullptr skipper data tables in some cases. Zach Laine 2025-10-13 18:43:08 -05:00
  • 1f5303c756 When creating the context object in detail::skip(), don't create empty structs for symbol table tries, since they are never used. Zach Laine 2025-10-13 18:18:01 -05:00
  • 41e891dc95 In opt_parser, don't forget to clear the attribute if the subparser fails. Zach Laine 2025-10-13 17:46:27 -05:00
  • 159472ac6e Change moves to forwards where appropriate. Zach Laine 2025-10-12 21:45:46 -05:00
  • bfa3e33372 Reduce compilation time by using SkipParser when determining attribute type. Andreas Buhr 2025-08-07 13:07:50 +02:00
  • 8d7a64f7fe Performance improvement: Do not copy use_parser into lambda Andreas Buhr 2025-08-02 15:15:06 +02:00
  • 8c23054e07 Fix bug that ASCII code for z/Z was noch included in case_fold fast-path Andreas Buhr 2025-08-02 14:13:59 +02:00
  • 11a5d9a872 Add fast-path for lower case ASCII letters in case_fold Andreas Buhr 2025-08-02 14:10:05 +02:00
  • d241bd7853 Make "transform" constexpr Andreas Buhr 2025-09-02 15:24:42 +02:00
  • 086241cbd9 Correct a munged bit of doc text. Zach Laine 2025-10-12 21:04:26 -05:00
  • e3a3cc8bf2 Update rationale.qbk ivanpanch 2025-08-24 00:57:11 +02:00
  • f789199743 Update parser_reference.xml ivanpanch 2025-08-24 00:42:56 +02:00
  • f20c4cfb02 Update parser.hpp ivanpanch 2025-08-24 00:07:21 +02:00
  • fcbc53ddce Update parser.hpp ivanpanch 2025-08-23 23:46:10 +02:00
  • fed0a883ad Update error_handling_fwd.hpp ivanpanch 2025-08-23 23:32:15 +02:00
  • bfc61fa963 Update config.hpp ivanpanch 2025-08-23 23:25:30 +02:00
  • 68c306bf66 Update json.cpp ivanpanch 2025-08-23 23:15:14 +02:00
  • d5d080b9f2 Update tutorial.qbk ivanpanch 2025-08-23 23:03:02 +02:00
  • 03341ba32d Update tutorial.qbk ivanpanch 2025-08-23 20:41:05 +02:00
  • 7e69b27d7c Update tutorial.qbk ivanpanch 2025-08-23 20:29:16 +02:00
  • 17d76bc158 Update tutorial.qbk ivanpanch 2025-08-23 20:17:29 +02:00
  • 050b9ba800 Update tutorial.qbk ivanpanch 2025-08-23 18:54:00 +02:00
  • 125f12407b Update tables.qbk ivanpanch 2025-08-23 17:16:51 +02:00
  • e4ba7c7a17 Remove g++9 github CI configuration Andreas Buhr 2025-08-13 20:52:37 +02:00
  • 9a138a20f6 Correct the claim in the docs that if_(c)[p] has attribute type optional<ATTR(p)>; it actually has attribute type ATTR(p). Zach Laine 2025-10-12 20:40:55 -05:00
  • c32d594d64 Eliminate double-instantiation of context templates (due to on a difference between a nope and nope const GlobalState template arg) by using nope const by default. Zach Laine 2025-10-12 20:00:05 -05:00
  • c674e94c3d Don't reuse the attribute-generating path in rule_parser's out-param overload of call. Doing so was wiping out previous partial results, in cases like foo >> bar, where foo produces a T, and bar is a rule that produces vector<T>. boost-1.89.0 Zach Laine 2025-07-27 17:50:38 -05:00
  • 84ee288b02 Attempt to fix odd error in happy path of code submitted with issue 223. Zach Laine 2025-07-26 21:13:28 -05:00
  • 39faa9ddbe Pass the sentinel type as a template parameter to the iterator template in project_view, as a workaround to the presence/absence of a disambiguating template keyword in iterator's implementation. Neither adding it nor temoving it works for all builds. Also, re-enable the C++17 MSVC 2022 Github build. Zach Laine 2025-07-26 20:58:50 -05:00
  • b2927abc6c Disable C++17 on MSVC 2022 in Github CI. Zach Laine 2025-07-26 20:17:56 -05:00
  • 5d6d2f7b84 Add missing special case for parsing a sequence of optional<T>s, writing the results into a sequence container of Ts. Zach Laine 2025-07-26 20:15:15 -05:00
  • fd6c56df1b Publicize project_view::{interator,sentinel} in attempt to fix VS 2022 build. Zach Laine 2025-07-13 15:56:35 -05:00
  • af41e6a7c2 Add missing template keyword disambiguator in attempt to fix VS 2022 build. Zach Laine 2025-07-13 15:34:21 -05:00
  • 0b93a586f1 Use an R-string instead of using so many backslashes in the quoted string examples. Zach Laine 2025-07-12 16:08:53 -05:00
  • ed9a06123b Comment out unused dont_assign param in second overload defined by BOOST_PARSER_DEFINE_IMPL. Zach Laine 2025-07-12 15:15:52 -05:00
  • 8ff46f394a Spelling corrections in tutorial. Zach Laine 2025-07-12 15:13:20 -05:00
  • 8c9ad7bdb3 Document why there are no Spirit-style charater class parsers (alnum, punct, etc.) in the Rationale section of the docs. Zach Laine 2025-07-12 15:01:46 -05:00
  • d8abe8f29e Fix some typos on documentation Adem Budak 2025-06-22 05:00:36 +03:00
  • 810adb43f6 Use a move asssignment instead of a copy assignment when returning a result via detail::make_parse_result(). Zach Laine 2025-07-12 14:42:47 -05:00
  • 5788fb6967 Add missing 'template ' after dot when naming a dependent template instantiation. Zach Laine 2025-04-26 17:34:59 -05:00
  • ec7df8a0af Add support for modular build structure. Rene Rivera 2025-05-03 13:25:10 -05:00
  • a93a1d2647 Use detail::hl::make_tuple() instead of CTAD in test to fix build breakage on some compilers. Zach Laine 2025-04-13 14:25:27 -05:00
  • 927f35f115 Provide a way to specify radix, and min/max digits for {u,}int_parser, without using the template parameters directly, since this also requires the user to type parser_interface. Zach Laine 2025-04-12 19:53:18 -05:00
  • 87617fdec0 std::tuple -> tuple in test to fix build with -DBUILD_WITH_HANA=true. Zach Laine 2025-04-12 19:33:11 -05:00
  • ead639e630 Add missing cxxstd to meta/libraries.json. Zach Laine 2025-04-12 13:56:00 -05:00
  • a3ca1193b2 Add error reporting when encountering unexpected (left over) code points at the end of an otherwise-successful parse, when doing non-prefix parsing. Zach Laine 2025-03-30 16:06:41 -05:00
  • 07153117ff Doc copy editing. Zach Laine 2025-03-30 16:06:02 -05:00
  • 6414f99e04 Remove space from declaration of UDLs, because apparently it matters?! boost-1.88.0 Zach Laine 2025-03-13 19:03:14 -05:00
  • 78bc141d5f Add doc example of unexpected combining sequence parsers. boost-1.88.0.beta1 Zach Laine 2025-03-01 16:23:10 -06:00
  • b253d9ca53 Add unicode symbols parser (#213) necessarily-equal 2025-02-21 06:51:17 +01:00
  • 0a34acc42a Add new macro BOOST_PARSER_GCC that is defined in config.hpp only for real (non-Clang-emulated) GCC builds; replace relevant uses of the __GNUC__ macro with BOOST_PARSER_GCC. Zach Laine 2025-02-20 22:16:35 -06:00
  • 56c81c0b57 Use gross pointer dereference expression to implement detail::whatever converions operator, since 2/3 of the big three compilers reject the use of declval() there. Zach Laine 2025-02-20 23:16:56 -06:00
  • 821d1d4c08 Fix longstanding mysterious ill-formedness in detail::static_assert_merge_attributes. It was down to unavailabilty of a default ctor for certain parser types. Zach Laine 2025-02-20 23:15:30 -06:00
  • 57cdd78210 Properly sort the code point values in detail::char_set<punct_chars>. Zach Laine 2024-12-23 17:28:07 -06:00
  • 3993efb692 Update MacOS badges in README.md. Zach Laine 2024-12-20 20:02:44 -06:00
  • 74bc8fc1bb Add the delimiter(p)[] directive proper (missing from previous commit). Zach Laine 2024-12-20 20:01:16 -06:00
  • b42b052df4 Add the delimiter(p)[] directive, whic allows you to introduce a delimiter into the parse of a permutation parser. Zach Laine 2024-12-19 21:37:34 -06:00
  • 42c9d82419 Add an optional char parser to quoted_string_parser, so that it can be made fully general. Zach Laine 2024-12-17 00:03:20 -06:00
  • 958ac38256 Note for the user that they must be aware of nonobvious C++ operator precedence impact of expression evaluation. Zach Laine 2024-12-16 22:33:55 -06:00
  • 88abb615aa Add pre_- and post_parser members to parser_modifiers; these are used as look-ahead/-behind positive or negative assertions. issue_160 Zach Laine 2024-12-14 22:07:29 -06:00
  • 54f8eecfe6 Change the no_case[] directive to use the parser_modifiers struct, like omit[] does; remove no_case_parser. Zach Laine 2024-12-14 19:52:35 -06:00
  • fcd257abca Generalize with_parser_mods(), so that some functions can be recursive, and others can be non-recursive. Zach Laine 2024-12-14 15:28:53 -06:00
  • 2f7e5964a6 Apply the same sort of change as the previous two commits, but to all the parsers not already modified. Generalize with_parser_mods(). Remove omit_parser, since it is now moot. Zach Laine 2024-12-10 01:39:45 -06:00
  • 2fff00b3e1 Change string_parser to support the use of parser_modifiers, and change lit() to return a parameterized string_parser instead of string_parser wrapped in an omit_parser. Zach Laine 2024-12-09 02:25:01 -06:00
  • 28e9b61735 Add a new template, parser_modifiers, that will hold common modifications to parsers, like turning off attribute generation (replacing omit_parser). Change char_parser to support the use of parser_modifiers, and change lit() to return a parameterized char_parser instead of char_parser wrapped in an omit_parser. Zach Laine 2024-12-08 17:53:19 -06:00
  • 354586dd76 Github runner macos-12 -> macos-13. Zach Laine 2024-12-16 19:14:59 -06:00
  • e575cbd9f3 WIP issue_160_action_attempt_1 Zach Laine 2024-12-14 14:28:20 -06:00
  • 3c65bcf187 WIP Zach Laine 2024-12-13 23:01:35 -06:00
  • c965c512ad WIP Zach Laine 2024-12-13 22:32:09 -06:00
  • 702c509ea1 Apply the same sort of change as the previous two commits, but to all the parsers not already modified. Generalize with_parser_mods(). Remove omit_parser, since it is now moot. Zach Laine 2024-12-10 01:39:45 -06:00
  • 974154c578 Change string_parser to support the use of parser_modifiers, and change lit() to return a parameterized string_parser instead of string_parser wrapped in an omit_parser. Zach Laine 2024-12-09 02:25:01 -06:00
  • 35a7bd3c09 Add a new template, parser_modifiers, that will hold common modifications to parsers, like turning off attribute generation (replacing omit_parser). Change char_parser to support the use of parser_modifiers, and change lit() to return a parameterized char_parser instead of char_parser wrapped in an omit_parser. Zach Laine 2024-12-08 17:53:19 -06:00
  • 305bba875b Grooming. Zach Laine 2024-12-09 01:56:51 -06:00
  • e22eb76f13 Update docs. ctre_doc Zach Laine 2024-12-08 17:19:48 -06:00
  • 05327b94c4 Merge branch 'ctre' into ctre_doc Zach Laine 2024-12-08 17:19:00 -06:00
  • c6d35e8791 Address TODOs about resolving the value used in detail::token_with_value, and doing transcoding for the match in detail::token_with_string_view. ctre Zach Laine 2024-12-08 17:16:15 -06:00
  • ff1059695d Complete initial pass on token parsing documentation. Zach Laine 2024-12-07 23:50:16 -06:00
  • bd3695bb94 Restore old Jamfile.v2. Zach Laine 2024-12-07 22:09:24 -06:00
  • 9a958224e4 Remove mooted TODOs. Zach Laine 2024-12-07 19:02:25 -06:00
  • 0463ecb4f6 Add Doxygen comments to all normalize_iterators() overloads, and indicate which error handling function apply this function to their inputs and which do not. Zach Laine 2024-12-07 18:56:18 -06:00
  • 5c036a778a Add lexer_and_parser_terminals.cpp, based on parser.cpp, to more fully exercise the token parsing code; fix errors. Zach Laine 2024-12-04 23:47:36 -06:00
  • c3667f5265 Add proper const/non-const interop to tokens_view::iterator. Zach Laine 2024-12-06 17:28:20 -06:00
  • e2f015991c Pull the single-character-fetching logic of the token parsing modes of the character parsers out into a standalone detail:: function; use it in all the character parsers. Zach Laine 2024-12-04 23:45:23 -06:00
  • 2b48b8656e Fix behavior of tokens_view::iterator::base() in the non-common_range case. Zach Laine 2024-12-04 23:44:18 -06:00
  • df966c78f6 Use a move instead of a copy in detail::make_parse_result(). Zach Laine 2024-12-02 21:27:44 -06:00
  • 9733445118 Trim trailing null from array ranges adapted by the to_tokens range adaptor. Zach Laine 2024-12-02 21:25:54 -06:00