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

Commit Graph

  • 75c29c0378 Add missing implementations for hidden friends in project_view::iterator (op== and op-). Zach Laine 2024-09-29 13:28:17 -05:00
  • 6b0194d7d6 Just use 'make check' to run tests on Github actions for every configuration but Win+MSVC; the tests previously were not being run at all! Zach Laine 2024-09-29 13:44:04 -05:00
  • 4cea9c03d6 Remove -Werror from Fedora Github action builds. Zach Laine 2024-04-01 16:00:31 -05:00
  • 058fb68314 unix: disable boost windres usage Jannik Glückert 2024-04-01 10:22:11 +02:00
  • 5864eee3be fix CI clang warnings in tests Jannik Glückert 2024-04-01 10:12:11 +02:00
  • 6eeed0dce9 modernize MacOS CI & update checkout actions Jannik Glückert 2024-03-31 00:53:50 +01:00
  • d25207c0ee simplify Windows CI Jannik Glückert 2024-03-31 00:52:53 +01:00
  • d7593f7960 simplify Ubuntu CI Jannik Glückert 2024-03-31 00:50:42 +01:00
  • 57e796e2ae add Fedora CI for gcc & clang Jannik Glückert 2024-03-30 22:23:14 +01:00
  • 554e7e3ae1 Update docs. Zach Laine 2024-03-31 20:19:48 -05:00
  • 35f2bcd02d Merge branch 'master' into gh-pages Zach Laine 2024-03-31 20:13:07 -05:00
  • d774edc0e6 Add the condition that BOOST_PARSER_USE_CONCEPTS is true to/in place of many places that used __cpp_lib{concepts,ranges} previously. This is often necessary when concepts are disabled, since the user might have a broken implementation of concepts. Zach Laine 2024-03-30 22:02:55 -05:00
  • a37a1223ff Now that the code disables the use of concepts for Clangs earlier than 16, re-enable the C++20 build modes for Clang 13,14,15. Zach Laine 2024-03-30 14:01:48 -05:00
  • 5f50c371af Disable the use of concept constraints in Clang < 16. Zach Laine 2024-03-30 13:54:19 -05:00
  • 1cb67e7728 Remove apparently broken ARM64 and S390x Clang compilers from Drone builds. Zach Laine 2024-03-28 21:47:03 -05:00
  • 12de839618 Officially drop support for Clang 10. Zach Laine 2024-03-28 21:06:34 -05:00
  • 7d6682d536 Remove C++20 variants from Linux and FreeBSD Drone builds, since libc++ <ranges> was missing a lot of tuff before Clang 16. Zach Laine 2024-03-28 18:29:55 -05:00
  • 6f28211166 Use handrolled indirectly_copyable for Clang <= 13, not just 13 itself. Zach Laine 2024-03-28 02:22:49 -05:00
  • 294d84f2d5 Disabling the post-C++17 Clang+libstdc++ Drone builds. That combination will not work when concepts are in use until Clang 16 at the earliest. See: https://github.com/llvm/llvm-project/issues/44178#issuecomment-1282493131 Zach Laine 2024-03-28 02:18:10 -05:00
  • dbfc8da474 Add missing #include <iterator>. Zach Laine 2024-03-27 21:24:26 -05:00
  • 939502e358 Remove C++17 variants of ARM64 and S390x Clang Drone builds. Zach Laine 2024-03-27 20:33:39 -05:00
  • ce38d43657 Remove XCode 10.1 from Drone builds. Zach Laine 2024-03-27 20:29:24 -05:00
  • 0bbf5a8df6 Remove VS 2015 from Drone builds. Zach Laine 2024-03-27 19:27:17 -05:00
  • 5dce167bf9 Disable some of the compile tests that spuriously fail on older Apple Clangs. Zach Laine 2024-03-27 18:09:11 -05:00
  • 88842dc789 Remove post-C++17 builds from Drone OSX-XCode targets before 14.3.1. Zach Laine 2024-03-27 02:43:41 -05:00
  • 072a812bcc Add <library>/boost/charconv//boost_charconv project requirement to the b2 build. Zach Laine 2024-03-27 02:30:05 -05:00
  • a49c9521b5 Don't include <version>, since it turns out that it's a C++20 header. Who knew? Zach Laine 2024-03-27 00:55:54 -05:00
  • 7980c98222 Depend on specific files (instead of dirs) custom rules/targets in cmake/dependencies.cmake. This is necessary for MSVC builds. Zach Laine 2024-03-26 04:13:02 -05:00
  • 843867944b Add documentation of the new VS output trace/error_Handler feature. Zach Laine 2024-03-25 21:43:17 -05:00
  • 56d043b3a4 Add VS debugger output error_handler and trace support. Tobias Loew 2024-03-25 21:33:41 -05:00
  • 62f4646c55 Make .drone/*sh executable. Zach Laine 2024-03-25 20:19:30 -05:00
  • f39d119d44 Initial add of Drone build files. Zach Laine 2024-03-24 23:09:25 -05:00
  • c7baa5f65a Update docs. Zach Laine 2024-03-24 22:54:37 -05:00
  • 9282349144 Revert "Add/update b2 build for docs and tests." Zach Laine 2024-03-24 22:49:57 -05:00
  • c31e81714c Merge branch 'master' into gh-pages Zach Laine 2024-03-24 22:49:18 -05:00
  • 06c49a428e Small doc copy edit. Zach Laine 2024-03-24 22:48:24 -05:00
  • d34cc345bb Add/update b2 build for docs and tests. Zach Laine 2024-03-24 21:27:10 -05:00
  • d88e47cf17 Fix deficiencies in the CMake build: Zach Laine 2024-03-24 19:43:03 -05:00
  • 8e39ad067b Change tests from GTest to Boost.Test. Remove Goolge.{Test,Benchmark}. Zach Laine 2024-03-23 23:18:10 -05:00
  • 55dcb7a8ad Remove boost_review_changes branch from the Github workflows. Zach Laine 2024-03-23 22:28:14 -05:00
  • abbab9017f Address gaps in code coverage; fix a couple of small errors in the trace code. Zach Laine 2024-03-23 21:51:01 -05:00
  • 889be318f8 Add code coverage generation and reporting. Zach Laine 2024-03-23 20:31:43 -05:00
  • be8a9591f2 Add coverage.yml and CMakePresets.json from Boost.Redis. Zach Laine 2024-03-23 18:46:57 -05:00
  • 317248843b BOOST_PARSER_DISABLE_HANA_TUPLE - > BOOST_PARSER_USE_HANA_TUPLE; disable Hana by default. Zach Laine 2024-03-23 18:17:08 -05:00
  • d5eba27273 Honor the use of BOOST_DISABLE_ASSERTS even when Boost.Assert is not available. Zach Laine 2024-03-23 18:04:18 -05:00
  • f461b38850 Address TODO about BOOST_PARSER_ASSERT vs. BOOST_PARSER_DEBUG_ASSERT in quoted_string_parser. Zach Laine 2024-03-23 16:51:17 -05:00
  • 669399ac2a Update docs. Zach Laine 2024-03-23 16:03:32 -05:00
  • 9052813304 Merge branch 'master' into gh-pages Zach Laine 2024-03-23 16:02:38 -05:00
  • 744fd1bdc0 Add diagnostic text to symbols, like that for rules. Zach Laine 2024-03-20 03:07:56 -05:00
  • 06fb60c78f Add an intial sketch of a memoization system. packrat Zach Laine 2024-03-11 17:53:45 -05:00
  • 48f12beb7b Update docs. Zach Laine 2024-03-15 16:22:52 -05:00
  • 656638e53f Merge branch 'master' into gh-pages Zach Laine 2024-03-15 16:20:56 -05:00
  • 24288a03a2 Add quoted_string, to automate probably the most commonly-written parser of all time -- the quoted string. Zach Laine 2024-02-22 00:58:00 -06:00
  • 390cd1dbe1 parser_config_WIP parser_config_experiment Zach Laine 2024-03-10 20:09:59 -05:00
  • 824a208133 Add a permutation parser. Zach Laine 2024-03-10 04:02:00 -05:00
  • 48d5cceb8f Add more tests of seq_parser and or_parser, to cover all the permutations of different parsers that they might use. Zach Laine 2024-03-09 17:41:57 -06:00
  • 262c19e441 Explain how seq_parser combining logic interacts with directives. Zach Laine 2024-03-09 20:21:02 -06:00
  • f113d302de !success || !detail::gen_attrs(flags) -> !success in condition to reset attribute in repeat_parser. Looks like copy pasta. Zach Laine 2024-03-09 17:29:38 -06:00
  • 6d253beaac Cruft removal. Zach Laine 2024-03-09 17:29:15 -06:00
  • 2fa916530e Add missing optional<Container> overloads of detail::append. Zach Laine 2024-03-09 17:28:57 -06:00
  • 3ff6a575ad Add a TODO. Zach Laine 2024-03-08 21:16:51 -06:00
  • a19af1b5ce Expanded the text and examples, plus provided cross-references to more extended examples, in The Parse Context. Zach Laine 2024-03-07 19:42:23 -06:00
  • 4c0377a5ae Explicitly state that null-terminated string pointers are accepted by *parse(), in the list of properties common to all the overloads. Zach Laine 2024-03-06 22:10:43 -06:00
  • f55d3779de Define BOOST_PARSER_USE_CONCEPTS to be 1 when running Doxygen. This gets concepts constraints on template parameters to show up. Also explicitly state requirements in the Doxygen strings for anything that adds constraints via requires clauses, since those do not show up in Doxygen. Zach Laine 2024-03-06 22:04:14 -06:00
  • 87b50154cf Fix incorrect attribute returned by a rule in some cases. The problem was that the changes to support recursive rules made all rules use the out-arg overload of parse_rule. This is wrong. Now, rules use the attribute-returning overload unless asked explicitly to use the out-arg one, *or* if the rule is being invoked recursively, and we are in an iteration after the 0th. Zach Laine 2024-03-06 18:53:44 -06:00
  • 1e011a1fac Add transform(f)[p] attribute-transforming directive. Zach Laine 2024-03-04 17:22:23 -06:00
  • 456a81155a When there are alternate implementations controlled by __has_include, put each alternate implementation in its own inline namespace. Zach Laine 2024-03-03 21:53:17 -06:00
  • 947fd7782d Explicitly state that char_, cp, and cu can be used without args in their API docs. Zach Laine 2024-03-03 21:19:53 -06:00
  • cc9b74cb2d Add no_case support to symbol tabels. Zach Laine 2024-03-03 21:09:32 -06:00
  • e129193296 Now that the library requires C++17, use std::any instead of any_copyable. Zach Laine 2024-03-03 16:54:23 -06:00
  • a07efbbd72 Add note to Memory Allocations that the symbol tables are implemented using a trie, and that those have lots of allocated nodes. Zach Laine 2024-03-03 15:44:07 -06:00
  • 9f46597ea9 Add --output-on-failure to make check. Zach Laine 2024-03-03 02:17:53 -06:00
  • 5dc826c89d Explicitly state in the Semantic Actions page of the tutorial that attaching a semantic action nullifies the attribute type. Zach Laine 2024-03-03 01:19:40 -06:00
  • 374cad3c35 Get specific about what RESOLVE() means, and link usage of it to the place where it is defined. Zach Laine 2024-03-03 01:07:48 -06:00
  • 4a9a45f856 Warning mitigation. Zach Laine 2024-03-03 00:47:09 -06:00
  • b7f6cd8dbf Add a section about when to use auto-generated attributes vs. using semantic actions. Zach Laine 2024-03-03 00:36:39 -06:00
  • aea0ff8dab Removed the very small example of how to use rules with a much longer one based on a real section of YAML. Zach Laine 2024-03-02 22:34:25 -06:00
  • 9af9b5e373 Use parser::get() instead of operator[] in the implementation of param_t::operator(). Zach Laine 2024-03-03 01:23:06 -06:00
  • f05b25ea1d Use detail::print() to print the values in switch alternatives, instead of printing them directly. Zach Laine 2024-03-02 21:47:01 -06:00
  • f57de243a4 Put #ifndef BOOST_PARSER_DOXYGEN around all the structs in parser.hpp that were forwrard declared in parser_fwd.hpp. This was causing them to show up without any documentation string, or default tempalte parameters! Zach Laine 2024-03-02 20:45:12 -06:00
  • 02c140a251 MSVC warning mitigation. Zach Laine 2024-03-02 23:33:30 -06:00
  • 0e2936e20d Fix broken constraint on 2-param utf_iterator ctor in C++17 mode. Zach Laine 2024-03-02 19:26:08 -06:00
  • 4235706764 Move DoCallbacks NTTP for all the parsers' call() members to the context as a simplification. Zach Laine 2024-03-02 16:11:22 -06:00
  • 0056bd25d1 Add a DoTrace template parameter to the context, and to scoped_trace_t; specialize scoped_trace_t for DoTrace == false to be empty. Zach Laine 2024-02-29 22:17:09 -06:00
  • 64e76e7b58 GCC warning mitigation. Zach Laine 2024-02-29 21:17:21 -06:00
  • ed9fcc6f3a Don't construct or use a stringstream in every parser when tracing is disabled(!). Zach Laine 2024-02-29 20:56:25 -06:00
  • 0a945decb6 Add a small section to the end of the Unidoce Support page indicating that Parser is normalization-agnostic. Zach Laine 2024-02-29 01:08:34 -06:00
  • 9b47f3c551 Work around what looks like a Clang concept bug, in which two identical declarations are parsed to be non-identical. Zach Laine 2024-02-28 23:11:40 -06:00
  • 51d9b81927 Add USE_CONCEPTS guard around unguarded concept. Zach Laine 2024-02-28 22:42:16 -06:00
  • 3e047101f6 Doc copy editing. Zach Laine 2024-02-28 17:51:08 -06:00
  • 7ae0f9f817 Add missing #include <algorithm> to error_handling.hpp. Zach Laine 2024-02-27 23:05:08 -06:00
  • 40b495ae5d Add a note about which header includes the as_utfN adaptors to "Explicit transcoding". Zach Laine 2024-02-27 22:52:45 -06:00
  • e3c46c10c2 Use std::from_chars, if available; otherwise, use boost::charconv::from_chars, if available; otherwise, use the Spirit X3 number parsers. Zach Laine 2024-02-26 00:59:55 -06:00
  • 42f66d9079 Use some of the examples and wording from the part of the intro where I talk about X3 rules in the More About Rules section. Zach Laine 2024-02-25 23:14:02 -06:00
  • 9ebc984ff8 Add a type trait, "attribute", and associated alias attribute_t, that provide the attribute type for a parser Parser used to parse range R. Zach Laine 2024-02-25 15:31:18 -06:00
  • ed6e1b4a2c Create a Cheat Sheet page in the docs, right before the tutorial. This contains all the tables from elsewhere in the docs, gathered in one spot. Zach Laine 2024-02-25 03:14:32 -06:00
  • 125ddf43c2 Change the way action_parser calls invocables, to make it easier to write those invocables. Zach Laine 2024-02-25 00:54:30 -06:00
  • a2b7afc3a0 Grooming. Zach Laine 2024-02-24 16:23:55 -06:00
  • 112290f63e Cruft removal. Zach Laine 2024-02-24 15:46:39 -06:00
  • 27506af2f3 Constrain parse() overloads that take an out-attribute Attr & -- but no skipper -- so that Attr is not derived from a specialization of parser_interface. This prevents this from being the best overload when using a mutable skipper, and producing lots of diagnostics that say the skipper (which would be mistakenly bound to Attr &) is not assignable from whatever the attribute type is. Zach Laine 2024-02-24 15:23:30 -06:00