2
0
mirror of https://github.com/boostorg/parser.git synced 2026-01-24 06:02:12 +00:00
Commit Graph

368 Commits

Author SHA1 Message Date
Zach Laine
bfcad8d415 Preserve the Attribute template parameter in char_parser::operator(). 2018-10-26 01:05:52 -05:00
Zach Laine
6086b69034 WIP 2018-10-25 23:45:27 -05:00
Zach Laine
c375492e82 Add where_ to the context before evaluating eps predicates. 2018-10-25 23:45:27 -05:00
Zach Laine
ce5d6b5adb Add missing nope overloads of detail::append(). 2018-10-25 23:45:27 -05:00
Zach Laine
28cdcf3e82 Add find() and erase() to symbol parser. 2018-10-25 19:49:07 -05:00
Zach Laine
ce0c7fb789 Fix horrible operator|() copy pasta. 2018-10-25 19:47:22 -05:00
Zach Laine
d1401e6b56 symbol_parser::elements -> symbol_parser::initial_elements 2018-10-25 19:46:03 -05:00
Zach Laine
f5dd97cf13 Incremental progress toward a new YAML parser. 2018-10-25 00:14:19 -05:00
Zach Laine
0d583b96b0 Add if_ and switch_, and tests for same. 2018-10-24 22:54:07 -05:00
Zach Laine
4d8239fa06 Add test of new lazy param handling; fix numerous errors. 2018-10-24 22:53:56 -05:00
Zach Laine
489f8f69d9 Zach Laine -> T. Zachary Laine 2018-10-23 23:52:05 -05:00
Zach Laine
2ecfea23e5 Sketch in lazy parameter handling (e.g. for expected values of parsers). 2018-10-23 23:48:12 -05:00
Zach Laine
fde9ec9f20 Start the process of providing C++14 portability (by removing a couple of if
constexprs).
2018-10-23 20:30:50 -05:00
Zach Laine
1dbdbc1c79 Move excessive_nesting to a common header. 2018-10-23 20:28:52 -05:00
Zach Laine
461a19a175 Adjust detail::sequence_of_impl to make the implementation of
repeat_parser:call() simpler.
2018-10-23 20:27:17 -05:00
Zach Laine
d85ac10156 Use detail::trace_input() in write_formatted_message(). 2018-10-23 17:33:16 -05:00
Zach Laine
515896d424 Add a test of the new paramerized rule system; fix an error. 2018-10-23 17:33:16 -05:00
Zach Laine
08a902b3d3 Get serious about printing and parser names. 2018-10-23 17:33:16 -05:00
Zach Laine
8a02ba7151 Remove testing-only header inclusions. 2018-10-23 17:33:16 -05:00
Zach Laine
985d0a1833 Sketch in initial support for parameterized rules. 2018-10-23 00:42:38 -05:00
Zach Laine
3d5f863547 Merge the implementations of debug_*parse() and *parse(). 2018-10-22 23:43:00 -05:00
Zach Laine
d57e163fe2 Remove a TODO I just don't care to implement. 2018-10-22 23:43:00 -05:00
Zach Laine
410cc05622 Automagically transcode 4-byte integral values to UTF-8 when appending them
into containers of 1-byte integral values.
2018-10-22 23:43:00 -05:00
Zach Laine
de27c0009b Grooming. 2018-10-22 23:42:19 -05:00
Zach Laine
a6a0826f22 Add bool_parser case to parser.cpp test. 2018-10-22 23:42:19 -05:00
Zach Laine
5b8c0ac658 Inverse the order of the sub-parsers in the parser returned from operator-(). 2018-10-22 16:46:33 -05:00
Zach Laine
a3c3956e60 Don't advance the parse position when evaluating expect_parser. 2018-10-22 16:46:33 -05:00
Zach Laine
c1a6a3da5c Turn off trace in the skip parser. 2018-10-22 16:46:33 -05:00
Zach Laine
6d80848c83 Fix numerous errors in debug trace. 2018-10-22 16:46:33 -05:00
Zach Laine
615ce5a2bc Get rid of the use of mutable in parser_interface. 2018-10-22 16:46:33 -05:00
Zach Laine
11490fc03e Correct std::pair/hana::tuple confusion in JSON parser. 2018-10-22 16:46:33 -05:00
Zach Laine
0e6eeefa9b Fix lack of attribute production in rule_parser. 2018-10-22 16:46:33 -05:00
Zach Laine
c06f4e921b Finish first sketch of new JSON parser. 2018-10-21 20:21:39 -05:00
Zach Laine
3150ae2b2b Make parser_interface::globals_ mutable. 2018-10-21 20:21:39 -05:00
Zach Laine
5631c57eac Change rule_parser's handling of given attributes so that the parser always
produces results in its attribute type; also regularize the modification of
contexts for use in rules.
2018-10-21 20:21:39 -05:00
Zach Laine
e3e6178750 Add AttributeType template parameter to char_parser, and create a cp parser
that produces uint32_t code points when parseing.
2018-10-21 20:19:49 -05:00
Zach Laine
fcf22a9299 Fix parser/parser_interface confusion in {or,seq}_parser::{pre,ap}pend(). 2018-10-21 20:19:49 -05:00
Zach Laine
b3fbb13c8c Warning mitigation. 2018-10-21 20:19:49 -05:00
Zach Laine
de9dd2aeaa Initial steps toward rewriting the JSON parser using the new parsers. 2018-10-21 20:19:49 -05:00
Zach Laine
12e9941b9f Add initializer list ctor to symbol_parser. 2018-10-19 20:31:59 -05:00
Zach Laine
c7d9dc38c6 Make symbol_parser concurrency-safe to use from different calls to *parse() on
different threads.
2018-10-19 19:49:17 -05:00
Zach Laine
f8758279a6 Minor corrections to new callback_*parse() overloads. 2018-10-19 16:19:56 -05:00
Zach Laine
87a8b86450 In write_formatted_message(), transcode the characters begin parsed to UTF-8
if they are 4 bytes wide.
2018-10-19 01:54:39 -05:00
Zach Laine
3aac783330 Use code points, not chars, to limit how much of the input to print in
debugging traces.
2018-10-19 01:53:11 -05:00
Zach Laine
8fbf96811e Treat the expected value of string_parser as UTF-8 (and transcode) when
parsing a stream of 4-byte valeus.
2018-10-19 01:32:21 -05:00
Zach Laine
f378a55e08 Treat the chars in a char_("...") parser as UTF-8 (and transcode) when parsing
a stream of 4-byte values.
2018-10-19 01:18:49 -05:00
Zach Laine
08225429e9 Treat the string_view parameter to symbols::add() as UTF-8, and transcode it
to UTF-32 before insertion into the underlying trie.
2018-10-19 01:12:21 -05:00
Zach Laine
d4bc212b6c Add printing support for symbol_parser. 2018-10-19 00:12:26 -05:00
Zach Laine
cf0ff4c312 Add missing callback_parse() overloads. 2018-10-19 00:08:12 -05:00
Zach Laine
6dafeacf95 Add with_globals(). 2018-10-18 22:31:50 -05:00