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

Commit Graph

  • b1c5c4b487 Add char to the set of types that can be used as token attributes. Zach Laine 2024-12-02 21:25:09 -06:00
  • 96824b2013 Add a TODO. Zach Laine 2024-12-01 20:18:49 -06:00
  • 19952581f0 Extend support for token parsing to the prefix*parse() API. Add tests for the full set of *parse() functions that support token parsing; fix errors. Zach Laine 2024-12-01 16:33:09 -06:00
  • 06816abc62 Initial sketch of adapting lexeme and skip directives for use in token parsing. Zach Laine 2024-11-30 19:32:36 -06:00
  • 8f8791244a Adapt symbol_parser for use in token_parsing. Zach Laine 2024-12-01 20:33:32 -06:00
  • 05a110c54d Initial sketch of adapting string_view_parser for use in token parsing. Zach Laine 2024-12-01 20:32:12 -06:00
  • cafd04c391 Fix return statement on the wrong side of macro guard. Zach Laine 2024-12-01 20:27:24 -06:00
  • 3fd285c014 Correct memory safety issue in converting token iteratos to underlying iterators. Zach Laine 2024-12-01 20:26:18 -06:00
  • bc6e9e3447 Grooming. Zach Laine 2024-11-30 17:35:06 -06:00
  • eab7e82988 Slight simplification of code trying to detect token iterators. Zach Laine 2024-11-30 17:23:58 -06:00
  • 655870000b Remove a mootetd TODO. Zach Laine 2024-11-29 20:17:49 -06:00
  • 039453079e Cruft removal. Zach Laine 2024-11-29 20:11:50 -06:00
  • a908e950d5 Address TODO about removing detail::defulat_flags(). Zach Laine 2024-11-29 20:10:46 -06:00
  • 87e00a173d Add static_assert(std::integral<T> || std::floating_point<T>) to detail::token_with_value, just in case. Zach Laine 2024-11-29 20:03:36 -06:00
  • 3176c6f823 Fix error detected in tests of token caching introduced in doc examples. Make sure not to copy tokens_view within the *parse() call graph. Zach Laine 2024-11-29 19:51:57 -06:00
  • 92c4993b87 Documentation pass on the changes made so far to support token parsing. Zach Laine 2024-11-25 20:38:00 -06:00
  • 9d67b0df7f Cruft removal. Zach Laine 2024-11-29 16:35:53 -06:00
  • d4f4589ead Add TODOs. Zach Laine 2024-11-16 14:29:03 -06:00
  • 178d62a250 Preclude skipper *parse() overloads from token parsing with a static_assert. Zach Laine 2024-11-16 14:28:47 -06:00
  • e654c9fda7 Macro guard private members of tokens_view from inclusion in Doxygen reference entry. Zach Laine 2024-11-16 14:27:33 -06:00
  • 9dbf30241d Plumb a pointer to the tokens_view through to the parse context; change seq_parser to use the tokens_view pointer from the contet to trim the cache at an expectation point. Zach Laine 2024-11-14 21:03:31 -06:00
  • f298bfe59b Remove the support for token_view::iterator -> underlying iterator translation in *parse_impl(); add support to the error handlers and their support functions directly instead. There are simply too many APIs there that need the translation to leave it to other code. Zach Laine 2024-11-13 01:14:24 -06:00
  • 07cd667a91 Add TODOs. Zach Laine 2024-11-12 00:56:58 -06:00
  • 00510ed962 Add cases to tracing.cpp to cover the printing of token parsers; fix errors. Zach Laine 2024-11-12 00:37:27 -06:00
  • 1a5b7467ca Add a TODO. Zach Laine 2024-11-12 00:10:20 -06:00
  • 13a52e10f9 Cruft removal. Zach Laine 2024-11-11 20:08:49 -06:00
  • 67c3ec180c Add a smoke test for using token views as input to parse(); fix errors. Zach Laine 2024-11-10 23:45:28 -06:00
  • 8658f8cd6b Unify the implementations of the callback parse() API. Zach Laine 2024-11-10 23:21:36 -06:00
  • f69d7acdd9 Unify the implementations of the non-callback parse() API, to make it posible for the new token parsingcode path to use that one unified implementation too. The previous implementation dispatched like parse() -> prefix_parse(), the latter of which is incompatible with token parsing. Zach Laine 2024-11-10 23:09:30 -06:00
  • 542bdb0e0e Unify the detail::{skip_,}parse_impl overloads. Zach Laine 2024-11-10 18:52:01 -06:00
  • f3e326e344 Unify the two detail::skip_parse_impl overloads. Zach Laine 2024-11-10 18:35:11 -06:00
  • 027d861b08 Unify the two detail::callback_*parse_impl overloads. Zach Laine 2024-11-10 18:22:13 -06:00
  • 6ab8f96e19 Unify the two detail::parse_impl overloads. Zach Laine 2024-11-10 18:07:37 -06:00
  • 2b518bc74d Fix multiple thinkos in tokens_view. Zach Laine 2024-11-10 13:34:54 -06:00
  • 1421592876 Add a std::string data member, and an override of what() to parser_error, to ensure that the messge is preserved exactly when translating exceptions in failed lexer parsing. Zach Laine 2024-11-10 02:46:57 -06:00
  • 092a76173b Change token<> to include the position of the start of the token in the underlying sequence, and change the way that the error handler is invoked, so that it detects token iterators, and passes iterators into the underlying range to the error handler, instead of the token iterators. Zach Laine 2024-11-10 02:40:44 -06:00
  • 8830dfed02 Alter detail::make_input_subrange() to return its input unchanged when the range's value type is a specializtion of token. Zach Laine 2024-11-10 01:05:34 -06:00
  • 935322649b Add an iterator/sentinel overload of detail::make_input_subrange(), so that an overload of this function is called in every *parse() overload. Zach Laine 2024-11-10 00:55:17 -06:00
  • 7566dbdde1 Remove the pointer case from detail::make_input_range(). Zach Laine 2024-11-10 00:25:21 -06:00
  • 298bae0058 Sketch in the printing implemetnation for token_parser. Zach Laine 2024-11-09 22:29:40 -06:00
  • b6c1229c54 Reorganize the lexer-related header inclusion scheme slightly. lexer.hpp is now required to come before parser.hpp. Zach Laine 2024-11-09 22:02:28 -06:00
  • 793e519eb8 Put detail::make_input_subrange back into parer.hpp. Zach Laine 2024-11-09 21:34:28 -06:00
  • 416607c954 Add token_parser::operator()(range) to support matchign against tokens that producestring_views. Zach Laine 2024-11-09 16:44:57 -06:00
  • e419ef2a60 Completely rethink the relationship among token_parser, token_spec_t, and parser_interface. token_spec is now a variable template that generates a parser_interface wrapping a token_parser, which parameterized on the token_spec_t. This way, a single token_spec use can be used to specify how to lex, and how to parse. Zach Laine 2024-11-09 01:49:39 -06:00
  • 1a405f8133 Sketch in operator() on token_spec_t. Zach Laine 2024-11-09 01:38:47 -06:00
  • fbc21ef2fd Sketch in support for matching tokens against expected values in token_parser. Zach Laine 2024-11-09 01:20:25 -06:00
  • f00f4dfa75 Initial, partial sketch of token_parser. Zach Laine 2024-11-08 23:15:34 -06:00
  • 358adf247a Address the remaining non-documentation TODOs in the lexer header and tests. Zach Laine 2024-11-07 23:36:00 -06:00
  • ee8ab13779 Extend the lexer tests, addressing some of the testing TODOs; fix errors. Zach Laine 2024-11-07 23:23:29 -06:00
  • 391bb2b5b0 Factor out a lot of the lexer.cpp tests into a separate file. Zach Laine 2024-11-07 20:14:55 -06:00
  • ad64fb6973 Use bitfields to reduce the size of token by a few bytes. Zach Laine 2024-11-07 20:07:04 -06:00
  • 6ed1152390 Switch from double to long double as token's floating point representation. Therer's room for it, since it's in a union with a string_view anyway. Zach Laine 2024-11-07 20:03:11 -06:00
  • 51cc855dd7 Grooming. Zach Laine 2024-11-07 19:49:11 -06:00
  • bf336fb096 Add much longer lexing test; fix errors. Zach Laine 2024-11-07 19:43:39 -06:00
  • 63483cb284 Specify the true/false and number token_specs in the adobe lexer test code to use a bool and a double as its value, repsectively, instead of a string_view. Zach Laine 2024-11-07 19:22:25 -06:00
  • 8b24206aee Add a TODO. Zach Laine 2024-11-07 19:20:40 -06:00
  • 49213c428e Change all the existing lex runs to compare their output against an expected sequence of tokens. Zach Laine 2024-11-06 23:34:04 -06:00
  • 3df6626e58 Rewrite a TODO. Zach Laine 2024-11-06 23:03:22 -06:00
  • 79f34ef252 Add support for an externally-supplied token cache. Zach Laine 2024-11-06 22:38:08 -06:00
  • f465a75069 Add a token cache to tokens_view; grab a bunch of tokens at a time when advancing past the end of the cache. Filter out whitespace tokens entirely. Make tokens_view noncopyable+nonmovable. Zach Laine 2024-11-06 21:33:44 -06:00
  • 6159a481db Make tokens_view regular by removing tokens_view::tokens_, which creates internal references. Zach Laine 2024-11-05 22:59:34 -06:00
  • cd9c7492dd Add a range adaptor for token_view; token_view -> tokens_view. Break detail::make_input_subrange() out into its own header for reuse. Zach Laine 2024-11-05 17:25:16 -06:00
  • 9a1fadbe82 Remove/update some TODOs. Zach Laine 2024-11-05 17:26:30 -06:00
  • e5c101378b Initial sketch of a lexer for Boost.Parser, based on using CTRE as an external dependency. Lots of TODOs, somewhat thin testing, but the basics work. Zach Laine 2024-11-04 23:43:27 -06:00
  • f468d529fe Fix stale comment in doc example. boost-1.87.0 Zach Laine 2024-11-16 14:30:56 -06:00
  • b5d4339f2c Fix semicolon-delimited bullet list in parsers table. Zach Laine 2024-11-16 14:30:08 -06:00
  • 6d7fa6f105 Add missing Docbook tag to fix broken reference in docs. Zach Laine 2024-11-16 14:26:01 -06:00
  • c975f57908 Add index.html Mohammad Nejati 2024-11-27 11:05:47 +00:00
  • 063291b78c Correct the parser used in the second half of the "Parse Into a Class" example. Zach Laine 2024-11-24 22:55:21 -06:00
  • 3eb827dcd6 Fix error in seq_parser::append() that causes AllowBacktracking=false to be treated as =true. Zach Laine 2024-11-14 22:26:57 -06:00
  • 6d796287b6 Disable the tests for in-Boost builds. Zach Laine 2024-11-13 20:51:39 -06:00
  • bb0fb885b8 Doc update for previous symbol table changes. boost-1.87.0.beta1 Zach Laine 2024-10-31 23:25:56 -05:00
  • 94a9daec40 Change the way that the pending operations are applied to symbol table parsers. Instead of trying to find all of them at the start of the top-level parse, they are recorded in the context, and then applied at the end of the top-level parse. The previous technique did not work, simplt because the top-level parse cannot see all the parser involded -- some are behind rule firewalls, by design. Zach Laine 2024-10-31 23:03:40 -05:00
  • 4344dd3f47 Remove mooted TODOs. Zach Laine 2024-10-31 00:54:13 -05:00
  • a7c7470bc1 Remove unused lambda capture Vernon Mauery 2024-10-26 16:44:51 -07:00
  • b273133fd2 Remove Hana dependency note from README. Zach Laine 2024-10-23 19:35:19 -05:00
  • 3a7ddcf936 Remove doc link from README. Zach Laine 2024-10-23 19:32:29 -05:00
  • d79efb0daa Update README.md Marshall Clow 2024-10-23 07:09:41 -07:00
  • 1cdf8a246a Update docs. gh-pages Zach Laine 2024-10-03 20:09:21 -05:00
  • 4fc75eb97a Merge branch 'develop' into gh-pages Zach Laine 2024-10-03 20:07:51 -05:00
  • 9b03f3c1f9 Remove " (Proposed)" from docs. Zach Laine 2024-10-03 19:46:25 -05:00
  • 446d09dc5d Update README.md badges. Zach Laine 2024-10-03 19:31:46 -05:00
  • f2aa039282 Document newly-added operations in the Mutable Symbol Tables page of the docs. Zach Laine 2024-10-03 19:23:46 -05:00
  • 1e64b6e416 Add insert/erase/clear operations on symbol tables for the current parse and subsequent parses both. Add better tests for the added API and the previous subset of the operations already present. Fix errors revealed by the tests. Zach Laine 2024-09-30 16:14:22 -05:00
  • 41fb3997ba Remove official support for VS 2019. Zach Laine 2024-10-03 17:43:25 -05:00
  • 23017af526 Remove support for direct use of null-terminated strings with the parser APIs. Zach Laine 2024-10-01 00:07:59 -05:00
  • 274e4e36ea Revert "avoid usage of CMAKE_CXX_COMPILER_FRONTEND_VARIANT and go with pre 3.14 version" Martin Posch 2024-10-01 07:24:03 +02:00
  • 9d3647db3d avoid usage of CMAKE_CXX_COMPILER_FRONTEND_VARIANT and go with pre 3.14 version Martin Posch 2024-09-30 23:48:29 +02:00
  • 568494346a remove commented-out cmake Martin Posch 2024-09-30 22:37:57 +02:00
  • f12e6a4882 quotes were missing for string comparison; use alternative compiler frontend check Martin Posch 2024-04-27 22:48:31 +02:00
  • 912bfbded6 Fix MSVC Compiler issue. MSVC in cmake has always been a boolean variable ( see https://cmake.org/cmake/help/latest/variable/MSVC.html) detecting the MSVC Compiler requires therefore "if (MSVC)" MPo 2024-04-26 13:00:07 +02:00
  • 8f5b84ded5 Fix __clang__/__clang_major__ confusion when trying to define language feature macros in terms of Clang major version number. Zach Laine 2024-09-30 13:04:35 -05:00
  • 8accdd922f Fix ignored USE_{A,UB}SAN in CMake files. Zach Laine 2024-09-30 18:05:48 -05:00
  • 71eeb36272 Remove the broken use of alias CTAD from the transcoding views. Zach Laine 2024-09-30 16:52:58 -05:00
  • 7ae86c1a0c Fix macro guard on s1_boost_variant2 tuple_aggregate test. Zach Laine 2024-09-29 15:41:37 -05:00
  • e35d066f44 Avoid Compiler Warning. move declaration of 'buf' into region of #if BOOST_PARSER_DETAIL_TEXT_USE_CONCEPTS as it is only used there. Martin Posch 2024-04-30 23:27:38 +02:00
  • b1b7b221c7 Avoid Compiler Warning. move declaration of 'buf' into region of #if BOOST_PARSER_DETAIL_TEXT_USE_CONCEPTS as it is only used there. Martin Posch 2024-04-30 23:10:57 +02:00
  • d45b964cb1 fix boost build b2.exe for non-msvc compilers in win32. propagate the selected compiler from cmake down to the boost bootstrap process Martin Posch 2024-04-30 23:38:49 +02:00
  • 2a9687f22f Fix __clang__/__clang_major__ confusion when trying to define language feature macros in terms of Clang major version number. Zach Laine 2024-09-29 13:14:22 -05:00
  • edd802ea8f char8_type -> unsigned char in UTF8 -> UTF32 implementation in utf_iterator::decode_code_point() to mitigate warnings. Zach Laine 2024-09-29 13:07:04 -05:00