2
0
mirror of https://github.com/boostorg/parser.git synced 2026-01-22 05:22:32 +00:00
Commit Graph

72 Commits

Author SHA1 Message Date
Zach Laine
6f06bc4189 Add no_case[] docs. 2024-01-06 02:36:26 -06:00
Zach Laine
0b7891d9cd Add a note to the "Parsing structs" section of the docs, indicating the
50-member limit on automatic use of structs as tuple.

Fixes #48.
2024-01-04 19:38:47 -06:00
Zach Laine
60cea9aa29 Fix broken docs.
Partially addresses #28.
2024-01-03 23:44:40 -06:00
Zach Laine
d60d33e40b Finish implementing support for parsing into structs as if they were tuples.
This makes it possible to map from sequence parsers onto structs with no
semantic actions.  Also, add a doc section describing how parsing structs
works (including a couple of short example programs).

Fixes #45.
Partially addresses #28.
2024-01-03 23:24:37 -06:00
Zach Laine
0e78ea2d26 Remove the T >> T -> std::vector<T> attribute combining rule from seq_parser. 2024-01-03 02:04:04 -06:00
Zach Laine
7883b8ed1e Update docs to reflect the new detail::sequence_of<T> semantics (std::string
for sequence of char, std::vector<T> for everything else).  Also, update one
of the examples to match the associated test code.

Partially addresses #36.
2024-01-03 01:37:07 -06:00
Zach Laine
009ad6fc69 Add a note to the entry for "ws" in the big table in "The Parsers and Their
Uses", indicating that it should be preferred over asci::space.

Partially addresses #34.
2024-01-01 18:53:21 -06:00
Zach Laine
24d18b4eaf Remove the documentation section "An Odd Case", which was obviated by the
previous commit.  Also remove the test cases that exercised that case.
2024-01-01 15:30:45 -06:00
Zach Laine
d34d4b7e6a Remove the seq_parser C<T> >> C<T> -> C<T> collapsing rule. Add special logic
for recursive rules to make accumulating recursive parsers like
recursive_string_rule in the parser_rule test easier to write.
2024-01-01 15:29:45 -06:00
Zach Laine
27cf4b73ad Improve description of parse context. 2024-01-01 15:29:45 -06:00
Zach Laine
32b244aa3a Clean up uses of tuple template names in variaous parts of the docs. This
mostly amounts to replacing uses of boost::hana::tuple with more general
boost::parser::tuple where appropriate.
2024-01-01 15:29:45 -06:00
Zach Laine
19f398907b Remove references to Boost.Preprocessor.
Applies to #32.
2023-12-30 21:04:31 -06:00
Zach Laine
e88d819122 Change the trivial_skipper example to use ws instead of ascii::space, and add
text to the tutorial to explain why this is a better choice.

Fixes #34.
2023-12-30 17:22:55 -06:00
Zach Laine
38279949a4 Fix numerous doc typos. Guess I haven't run spellcheck in a while. 2023-12-30 16:24:08 -06:00
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
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
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
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
103b517309 Remove references to boost::text in docs. 2023-12-16 16:00:51 -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
dda33ef5e8 Copy editing. 2023-12-02 17:26:18 -06:00
Zach Laine
0744da497b innermost -> bottommost 2023-12-02 17:26:18 -06:00
Zach Laine
176f9a71a7 Flesh out the Best Practices section. 2022-07-23 13:41:48 -05:00
Zach Laine
127e3d65c7 Doc copy edits. 2022-04-07 21:58:30 -05:00
Zach Laine
93a51860e3 Doc copy edits. 2022-04-07 00:10:38 -05:00
Zach Laine
10d0ec0846 First draft of Error Handling and Debugging. 2020-09-08 00:00:03 -05:00
Zach Laine
ff856a20a3 First draft of Memory Allocation section. 2020-09-07 22:27:40 -05:00
Zach Laine
19fa0d31a3 Add a reference to the callback JSON example to the section on callback
parsing.
2020-09-07 20:44:54 -05:00
Zach Laine
47a53489c8 Frist draft of Callback Parsing section. 2020-09-07 20:44:54 -05:00
Zach Laine
750fa90cad First draft of Unicode Support section. 2020-09-06 20:14:35 -05:00
Zach Laine
71dddaf844 Make an unconditional eps in a repeat parser an error.
Fixes #10.
2020-09-06 15:08:53 -05:00
Zach Laine
322bb32b2b Warning mitigation. 2020-09-06 14:44:49 -05:00
Zach Laine
84ab0327f9 Doc spell checking corrections. 2020-09-06 01:54:17 -05:00
Zach Laine
673fa56bc6 Remove hana::map as the implementation strategy for the parse context. Use a
plain ol' struct instead.

Fixes #13.
2020-09-06 01:54:17 -05:00
Zach Laine
faab941450 Add exended JSON parsing example. 2020-09-05 01:49:16 -05:00
Zach Laine
0348ed2b69 First draft of section on rules. 2020-09-05 01:49:16 -05:00
Zach Laine
447a2fb1c2 Document how with_{globals,error_handler}() work in The parse() API. 2020-09-04 03:00:02 -05:00
Zach Laine
aad66c39f2 Explain how to define parsers from {u,}int_parser directly. 2020-09-04 02:40:21 -05:00
Zach Laine
080b89f920 Add a short example using a rule before we get into the weeds. 2020-09-04 02:23:29 -05:00
Zach Laine
1a17be97c6 Doc copy editing. 2020-09-03 23:27:58 -05:00
Zach Laine
35113f30ad Add TODOs. 2020-09-03 23:00:16 -05:00