2
0
mirror of https://github.com/boostorg/parser.git synced 2026-01-26 06:42:25 +00:00

1077 Commits

Author SHA1 Message Date
sehe
b7d1d3dba5 Fix spelling of hexadecimal
The library and documentation misspells it (consistently, which is good
:)) as hexidecimal. That makes it hard for (new) users to find out by
searching documentation.

The fifteen spots fixed:

    example/callback_json.cpp|47 col 15| "four hexidecimal digits";
    example/callback_json.cpp|49 col 18| "\\uXXXX hexidecimal escape sequence";
    example/callback_json.cpp|51 col 38| escape_double_seq = "\\uXXXX hexidecimal escape sequence";
    example/json.cpp|57 col 28| // like "expected four hexidecimal digits here:", instead of "expected
    example/json.cpp|65 col 15| "four hexidecimal digits";
    example/json.cpp|67 col 18| "\\uXXXX hexidecimal escape sequence";
    example/json.cpp|69 col 38| escape_double_seq = "\\uXXXX hexidecimal escape sequence";
    example/json.cpp|158 col 18| // declare a hexidecimal parser that matches exactly 4.
    doc/tutorial.qbk|981 col 18| [ Matches a hexidecimal unsigned integral value. ]
    doc/tutorial.qbk|986 col 28| [ Matches exactly the hexidecimal unsigned integral value `_RES_np_(arg0)`. ]
    doc/tutorial.qbk|1118 col 42| So, if you wanted to parse exactly eight hexidecimal digits in a row in order
    doc/tutorial.qbk|2729 col 18| "\\uXXXX hexidecimal escape sequence";
    doc/tutorial.qbk|2731 col 38| escape_double_seq = "\\uXXXX hexidecimal escape sequence";
    doc/tutorial.qbk|2741 col 9| put a hexidecimal escape sequence there.
    include/boost/parser/parser.hpp|5622 col 13| /** The hexidecimal unsigned integer parser.  Produces an `unsigned int`

The one spot that was inconsistent (outside the gtest subtree):

    include/boost/parser/tuple.hpp|66 col 36| // 0xDEADBEEF (hexadecimal)
2023-12-30 15:13:04 -06:00
Zach Laine
fcb435df99 Add test for the struct <-> tuple assignment machinery; fix errors.
Partially addresses #28.
2023-12-30 04:12:05 -06:00
Zach Laine
95374a7878 Add initial sketch of struct -> tuple assignment machinery.
Partially addresses #28.
2023-12-30 02:58:50 -06:00
Zach Laine
669af7fa69 Add initial sketch of tuple -> struct assignment machinery.
Partially addresses #28.
2023-12-30 01:40:43 -06:00
Zach Laine
7afc5e5ac3 Remove needless inclusion of <coroutine>.
Fixes #37.
2023-12-29 19:55:25 -06:00
Zach Laine
2030e41bc5 Doc typo.
Fixes #31.
2023-12-29 14:50:57 -06:00
Zach Laine
868b5854c0 MSVC warning mitigation.
Fixes #29.
2023-12-29 14:00:27 -06:00
Zach Laine
ed95f33ef6 Add explicit mention of BOOST_PARSER_DEFINE_RULE* to the tutorial page on
rules.

Partially addresses #27.
2023-12-29 13:46:04 -06:00
Zach Laine
b218bd78d7 Print diagnostics to cerr by default instead of cout.
Fixes #30.
2023-12-29 13:27:52 -06:00
Zach Laine
7cba6c36f5 Doc typo. 2023-12-29 13:27:28 -06:00
Zach Laine
88a965d9c5 Rename the {callback_,}parse() overloads that take an iterator/sentinel pair
to {callback,}prefix_parse().

Fixes #21.
2023-12-23 04:05:54 -06:00
Zach Laine
cb74df5601 Add documentation for string_view directive. 2023-12-23 03:08:15 -06:00
Zach Laine
8e620ae21b Add/correct existing documentation for null_sentinel_t. 2023-12-23 03:07:19 -06:00
Zach Laine
2416d0d966 Doc copy editing. 2023-12-23 03:06:28 -06:00
Zach Laine
fe23476eed Get rid of phony Doxygen-only as_utf*, since they were not showing up in the
generated docs anyway, and let Doxygen see the real as_utf*s and utf*_views
instead.
2023-12-23 03:01:08 -06:00
Zach Laine
30d02167e1 Add an alias for boost::parser::detail::text::null_sentinel_t to
boost::parser, and add a Doxygen comment to document it.
2023-12-23 02:58:29 -06:00
Zach Laine
21cb1a2184 Half open ranges -> closed ranges in Doxygen comments in parser.hpp. 2023-12-23 02:57:19 -06:00
Zach Laine
3b8c74c990 Use boost::parser::as_utf32 instead of boost::parser::detail::text::as_utf32
in the examples.
2023-12-23 02:55:26 -06:00
Zach Laine
d50b961199 Add a more explicit description of as_utfN. 2023-12-21 18:21:31 -06:00
Zach Laine
dfcc7ae20b Doc typos. 2023-12-21 18:20:47 -06:00
Zach Laine
88a7b39dc2 Fix MSVC 2022 in C++20 mode. 2023-12-21 23:29:59 -06:00
Zach Laine
9c0e07812f Fix the VS2022 build. 2023-12-17 14:15:17 -06:00
Zach Laine
1bbad0a871 Address TODOs about the need to document an unexpected aspect of how out-param
attributes are assigned.
2023-12-16 16:37:06 -06:00
Zach Laine
05bfffa5c0 Add a note to the runtime-debugging example that it is taken from an older version of the code. 2023-12-16 16:01:35 -06:00
Zach Laine
103b517309 Remove references to boost::text in docs. 2023-12-16 16:00:51 -06:00
Zach Laine
449a964b23 Publicize the as_utfN and utfN_view templates/aliases in boost::parser, so
users can use them to drive Unicode-aware parsing.

Fixes #23.
2023-12-15 22:35:28 -06:00
Zach Laine
14054ed1bf Consolidate the two implementations of is_detected into one.
Fixes #25.
2023-12-15 21:54:51 -06:00
Zach Laine
efaa7c8c08 Replace the half-assed subrange implementation in boost::parser with the more
robust one from boost::text.

Fixes #26.
2023-12-15 21:23:31 -06:00
Zach Laine
869df54e36 Add the latest version of Boost.Text components used here. This comes from
2c9d55a8 of the Boost.Tet clang_support branch.

Fixes #24.
2023-12-15 21:00:09 -06:00
Zach Laine
fbcc28a810 Doc tweak. 2023-12-03 16:58:08 -06:00
Zach Laine
ef3c90b552 view -> subrange
Fixes #20.
2023-12-03 16:54:44 -06:00
Zach Laine
a33883d59b symbols::add -> symbols::insert_for_next_parse
Fixes #19.
2023-12-03 16:33:42 -06:00
Zach Laine
91c3689ccd Remove descriptions of old integral-value-based meataprogramming logic from
the docs.

Fixes #22.
2023-12-03 16:10:25 -06:00
Zach Laine
8f560956c4 Change the assumption in parser.hpp that a code point is a uint32_t; use
char32_t instead.

Fixes #18.
Fixes #22.
2023-12-03 16:10:25 -06:00
Zach Laine
bdf8ea7fed In detail::unequal_impl, valeus are comparable if they're both character types
(previously, is was whether they were integral).

Fixes #22.
2023-12-03 16:10:25 -06:00
Zach Laine
f9708f9a0a In detail namespace, change equality_comparable_with and is_invocable to be
constexpr bools.
2023-12-03 15:55:09 -06:00
Zach Laine
235f4d92c9 Change many C++17-mode metafunction predicates to constexpr bools instead of
structs.
2023-12-03 15:20:53 -06:00
Zach Laine
72e5573505 Replace use of is_integral with parsable_code_unit, which is all the character
types.  Also slightly simplify the logic for parsable_code_unit.

Fixes #22.
2023-12-03 15:20:40 -06:00
Zach Laine
876056aa28 uint32_t -> char32_t in transcode_iterator. 2023-12-03 14:19:08 -06:00
Zach Laine
7e45010e55 Remove the lazy usage of decay instead of remove_cvref in the public concepts. 2023-12-03 13:57:34 -06:00
Zach Laine
cf63c1ccf6 More char8_t-specific cruft removal. 2023-12-03 13:53:56 -06:00
Zach Laine
fe28fcb8ff Remove superfluous {utf8,code_point}_* concepts and their associated C++17
type traits.
2023-12-03 13:49:15 -06:00
Zach Laine
362542d688 Remove the char8_t-specific public concepts, and simplify code that was
previously the downstream use of those public concepts.
2023-12-03 13:40:50 -06:00
Zach Laine
dda33ef5e8 Copy editing. 2023-12-02 17:26:18 -06:00
Zach Laine
dba593e052 Add section about standalone config and optional Boost features to intro. 2023-12-02 17:26:18 -06:00
Zach Laine
0744da497b innermost -> bottommost 2023-12-02 17:26:18 -06:00
Zach Laine
593c78643d Copy editing. 2023-12-02 17:26:18 -06:00
Zach Laine
25fa063493 Update compiler support docs. 2023-12-02 17:26:18 -06:00
Zach Laine
28b663eeb8 Add doc build script. 2023-12-02 17:26:18 -06:00
Zach Laine
ffe3c522b5 Change the concepts for utf{8,32}_code_unit to be char/char8_t and
wchar_t/char32_t, respectively.  Obvs, the wchar_t bit only applies to
non-MSVC.
2023-12-02 14:19:57 -06:00