Zach Laine
07daa697f4
Make it an error to put eps in an or_parser anywhere but at the end.
...
Fixes #7 .
2020-08-31 22:02:37 -05:00
Zach Laine
a05a2c9f3a
Flesh out more of the attribute generation section.
2020-08-31 22:02:37 -05:00
Zach Laine
9064d46641
Add a compile test that covers all the standalone parsers, and fix errors
...
related to deducing uses of the Unicode vs. non-Unicode parsing code paths.
2020-08-31 22:02:35 -05:00
Zach Laine
cb8a7043a3
Make sure lit() and _l and _p UDLs all cover char, char8_t, and char32_t.
2020-08-31 22:02:33 -05:00
Zach Laine
af661a8b43
Suppress sign comparison warnings in detail::mismatch().
2020-08-31 22:02:33 -05:00
Zach Laine
5a7924f614
Fix the char8_t stream insertion problem throughout the printing code.
2020-08-31 22:02:27 -05:00
Zach Laine
d1cfdbe41d
Flatten or and seq parsers fully.
2020-08-31 22:01:48 -05:00
Zach Laine
24e7b1f134
Flesh out attribute generation section a bit; still more to do.
2020-08-31 22:01:48 -05:00
Zach Laine
fec67a1dd1
Hide some of the implementation details of parser_interface from Doxygen.
2020-08-31 22:01:48 -05:00
Zach Laine
470def65ab
Sketch more of the outline of the tutorial, including most of the section on
...
attribute generation.
2020-08-30 21:05:13 -05:00
Zach Laine
c37a9c65a8
Add a mutable symbol table example.
2020-08-30 18:07:43 -05:00
Zach Laine
b33992719c
Add symbol parser example.
2020-08-30 18:06:50 -05:00
Zach Laine
1d90a9d621
Lots of doc updates:
...
- Add a rationale for parser::none.
- Add a section introducing essential terminology.
- Flesh out the semantic action example.
- Add a section describing the parse context and how it works.
- Remove numerous TODOs related to documentation addressed above.
2020-08-30 15:33:56 -05:00
Zach Laine
df8aaafc87
Move nope into detail, and add a user-facing replacement "none" with semantics
...
more appropriate for users.
2020-08-30 15:29:26 -05:00
Zach Laine
f8191db3f5
Remove a nonsensical TODO.
2020-08-30 11:41:40 -05:00
Zach Laine
565596af52
Add section "This Library's Relationship to Boost.Spirit".
2020-08-30 01:17:58 -05:00
Zach Laine
b8e5eb7b4d
First draft of the intro.
2020-08-30 00:31:30 -05:00
Zach Laine
bf6c5c605f
Add a test of code-point matching when using UTF-8.
2020-08-30 00:31:30 -05:00
Zach Laine
e496cbb3a9
Accomodate printing of char8_t input strings to streams.
2020-08-30 00:31:30 -05:00
Zach Laine
b43e7a354c
Move a TODO within parser.hpp.
2020-08-30 00:31:30 -05:00
Zach Laine
d592a38f1f
Remove addressed TODO.
2020-08-30 00:31:30 -05:00
Zach Laine
b817d9f2f9
Move the "examples", which are really a step-by-step tutorial, to the tutorial
...
section.
2020-08-30 00:31:25 -05:00
Zach Laine
5fcca75797
Flesh out the trivial example, fix a problem with it, and add another example
...
just like it that uses a skipper.
2020-08-29 21:53:54 -05:00
Zach Laine
0b86c6771e
Flesh out the hello world example accompanying text.
2020-08-29 21:09:50 -05:00
Zach Laine
97c273e0c3
Replace a TODO in test/CMakeLists.txt with an indication of the "fix" for the
...
affected tests.
2020-08-29 21:09:50 -05:00
Zach Laine
950065b5d2
Range-parse overloads now indicated failure when the entire input is not
...
consumed.
2020-08-29 21:09:50 -05:00
Zach Laine
532b138c77
std::mismatch -> detail::mismatch for sentinel support.
2020-08-29 19:17:04 -05:00
Zach Laine
678f666785
Remove "skip_" from all parse function names, and reorder the parse API
...
functions for clarity. Also, drive-by cleanups in parser_{,api}.cpp.
2020-08-29 19:17:04 -05:00
Zach Laine
7020a9a7b3
Move parser_interface Doxygen doc to parser_fwd.hpp.
2020-08-29 19:17:04 -05:00
Zach Laine
9d72b3d1fc
Silence very verbose warnings about std::is_pod being deprecated, coming from
...
Boost.Hana.
2020-08-29 19:17:04 -05:00
Zach Laine
1f317d5588
Add trivial parsing example.
2020-08-29 19:17:04 -05:00
Zach Laine
7e32012482
Regularize {int,float}_parser. They were returning incorrect success results
...
when no input was consumed, and float_parser was never setting the success
value.
2020-08-29 19:17:04 -05:00
Zach Laine
c2374adf12
Warning mitigation in test/.
2020-08-29 19:17:04 -05:00
Zach Laine
2e8861256d
detail::make_input_range -> detail::make_input_view
2020-08-29 19:17:04 -05:00
Zach Laine
7b98b97615
R range -> R r
2020-08-29 19:17:04 -05:00
Zach Laine
b06c80bfe2
Add skeleton of Boost docs.
2020-08-29 19:17:04 -05:00
Zach Laine
da631afac4
Update the Spirit X3 code to Boost 1.71.
2020-08-28 20:43:51 -05:00
Zach Laine
19cd3646d5
Cruft removal.
2020-08-28 20:40:28 -05:00
Zach Laine
f96b6bb0ad
Trim all the YAML and JSON stuff, leaving only the parsing library.
2020-08-28 19:10:00 -05:00
Zach Laine
98c1426695
Amplify the nope Doxygen docs.
2020-08-28 19:10:00 -05:00
Zach Laine
4b516b9047
Make parser::range a proper view (called "parser::view"), via
...
view_interface. Some drive-by grooming.
2020-08-28 19:09:58 -05:00
Zach Laine
46a2acd18d
Largish changes to get things going again after a long break:
...
- Update text and stl_interface files.
- Flesh out concepts constraints, using C++20 proper instead of cmcstl2.
Remove SFINAE constraints (though SFINAE may make a comback for C++17
support).
- Remove parser concept entirely. Matching parser_interface<...> should
suffice.
- Add CXX_STD to CMake files, a la text and stl_interfaces.
2020-08-28 19:09:45 -05:00
Zach Laine
96f78ef743
Doxygen doc copy editing.
2020-08-27 19:07:01 -05:00
Zach Laine
03e01b9810
Add an API test for the parser API, using the new standalone CMake parser
...
library; fix errors.
2019-11-27 22:28:56 -06:00
Zach Laine
ea3242867c
Update concepts constraints, but disable them for now.
2019-11-27 22:28:18 -06:00
Zach Laine
443bbb92e6
Add initial sketch of concept constraints for parser.
2019-11-19 09:55:22 -06:00
Zach Laine
7651786c3f
Add optional support for cmcstl2 to the CMake build.
2019-11-19 09:55:15 -06:00
Zach Laine
5de175bd3a
Change detail::make_input_range() to treat char8_t ranges as UTF-8.
2019-11-19 09:54:52 -06:00
Zach Laine
84eedfe4f9
detail::nope -> nope
2019-11-16 19:34:03 -06:00
Zach Laine
653aa020dc
For all inputs to the parse API, enforce the use of char for non-Unicode
...
parsing, and interpret all other integral types as some sort of UTF encoding.
2019-11-16 19:15:34 -06:00