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

Commit Graph

  • 977b6e069f Implement Block-style literal rule and its dependees. Zach Laine 2018-10-30 22:30:42 -05:00
  • 5380b02b06 When making a locals_type object in rule_parser, construct it from the context object if possible. Zach Laine 2018-10-28 13:59:45 -05:00
  • 96a8e2f3d3 More YAML parser progress. Now all of the rules through the flow styles compile. Zach Laine 2018-10-27 18:13:05 -05:00
  • 3de3f75785 Add -ftemplate-depth=1024 to build. Zach Laine 2018-10-27 18:12:12 -05:00
  • 5258fd84a5 Print "[[UNPRINTABLE]]" in yaml::value_impl::to_yaml() for un-YAML-able types. Zach Laine 2018-10-27 18:11:38 -05:00
  • 31580e74ba Fix missing AttribureType template param in parts of char_parser::operator(). Zach Laine 2018-10-26 17:48:09 -05:00
  • 3402e9f5f5 Set success to false if no or_parser alternative succeeds. Zach Laine 2018-10-26 17:17:26 -05:00
  • c1ea9879b4 Copy attr_parser's attribute instead of moving it. Zach Laine 2018-10-26 17:16:28 -05:00
  • 70d7736ece More YAML parser progress. Now all the character and basic structure rules compile. Zach Laine 2018-10-26 01:16:54 -05:00
  • 1a05ee1c09 Add cu. Zach Laine 2018-10-26 00:58:20 -05:00
  • bfcad8d415 Preserve the Attribute template parameter in char_parser::operator(). Zach Laine 2018-10-26 00:57:54 -05:00
  • 6086b69034 WIP Zach Laine 2018-10-25 20:24:30 -05:00
  • c375492e82 Add where_ to the context before evaluating eps predicates. Zach Laine 2018-10-25 23:45:02 -05:00
  • ce5d6b5adb Add missing nope overloads of detail::append(). Zach Laine 2018-10-25 23:44:21 -05:00
  • 28cdcf3e82 Add find() and erase() to symbol parser. Zach Laine 2018-10-25 19:49:07 -05:00
  • ce0c7fb789 Fix horrible operator|() copy pasta. Zach Laine 2018-10-25 19:47:22 -05:00
  • d1401e6b56 symbol_parser::elements -> symbol_parser::initial_elements Zach Laine 2018-10-25 19:46:03 -05:00
  • f5dd97cf13 Incremental progress toward a new YAML parser. Zach Laine 2018-10-25 00:14:19 -05:00
  • 0d583b96b0 Add if_ and switch_, and tests for same. Zach Laine 2018-10-24 22:54:26 -05:00
  • 4d8239fa06 Add test of new lazy param handling; fix numerous errors. Zach Laine 2018-10-24 22:53:56 -05:00
  • 489f8f69d9 Zach Laine -> T. Zachary Laine Zach Laine 2018-10-23 23:52:05 -05:00
  • 2ecfea23e5 Sketch in lazy parameter handling (e.g. for expected values of parsers). Zach Laine 2018-10-23 23:38:45 -05:00
  • fde9ec9f20 Start the process of providing C++14 portability (by removing a couple of if constexprs). Zach Laine 2018-10-23 20:30:47 -05:00
  • 1dbdbc1c79 Move excessive_nesting to a common header. Zach Laine 2018-10-23 20:28:20 -05:00
  • 461a19a175 Adjust detail::sequence_of_impl to make the implementation of repeat_parser:call() simpler. Zach Laine 2018-10-23 20:27:13 -05:00
  • d85ac10156 Use detail::trace_input() in write_formatted_message(). Zach Laine 2018-10-23 19:42:56 -05:00
  • 515896d424 Add a test of the new paramerized rule system; fix an error. Zach Laine 2018-10-23 18:29:15 -05:00
  • 08a902b3d3 Get serious about printing and parser names. Zach Laine 2018-10-23 17:40:21 -05:00
  • 8a02ba7151 Remove testing-only header inclusions. Zach Laine 2018-10-23 17:24:23 -05:00
  • 985d0a1833 Sketch in initial support for parameterized rules. Zach Laine 2018-10-23 00:42:38 -05:00
  • 3d5f863547 Merge the implementations of debug_*parse() and *parse(). Zach Laine 2018-10-22 21:50:53 -05:00
  • d57e163fe2 Remove a TODO I just don't care to implement. Zach Laine 2018-10-22 21:20:17 -05:00
  • 410cc05622 Automagically transcode 4-byte integral values to UTF-8 when appending them into containers of 1-byte integral values. Zach Laine 2018-10-22 21:16:04 -05:00
  • de27c0009b Grooming. Zach Laine 2018-10-22 20:53:38 -05:00
  • a6a0826f22 Add bool_parser case to parser.cpp test. Zach Laine 2018-10-22 20:53:11 -05:00
  • 5b8c0ac658 Inverse the order of the sub-parsers in the parser returned from operator-(). Zach Laine 2018-10-22 19:53:31 -05:00
  • a3c3956e60 Don't advance the parse position when evaluating expect_parser. Zach Laine 2018-10-22 19:52:48 -05:00
  • c1a6a3da5c Turn off trace in the skip parser. Zach Laine 2018-10-22 19:49:55 -05:00
  • 6d80848c83 Fix numerous errors in debug trace. Zach Laine 2018-10-22 19:48:37 -05:00
  • 615ce5a2bc Get rid of the use of mutable in parser_interface. Zach Laine 2018-10-22 17:38:54 -05:00
  • 11490fc03e Correct std::pair/hana::tuple confusion in JSON parser. Zach Laine 2018-10-22 17:27:16 -05:00
  • 0e6eeefa9b Fix lack of attribute production in rule_parser. Zach Laine 2018-10-22 17:15:43 -05:00
  • c06f4e921b Finish first sketch of new JSON parser. Zach Laine 2018-10-21 20:20:48 -05:00
  • 3150ae2b2b Make parser_interface::globals_ mutable. Zach Laine 2018-10-21 20:18:04 -05:00
  • 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. Zach Laine 2018-10-21 20:15:15 -05:00
  • e3e6178750 Add AttributeType template parameter to char_parser, and create a cp parser that produces uint32_t code points when parseing. Zach Laine 2018-10-21 20:12:47 -05:00
  • fcf22a9299 Fix parser/parser_interface confusion in {or,seq}_parser::{pre,ap}pend(). Zach Laine 2018-10-21 20:08:37 -05:00
  • b3fbb13c8c Warning mitigation. Zach Laine 2018-10-21 20:07:08 -05:00
  • de9dd2aeaa Initial steps toward rewriting the JSON parser using the new parsers. Zach Laine 2018-10-20 19:57:35 -05:00
  • 12e9941b9f Add initializer list ctor to symbol_parser. Zach Laine 2018-10-19 20:31:59 -05:00
  • c7d9dc38c6 Make symbol_parser concurrency-safe to use from different calls to *parse() on different threads. Zach Laine 2018-10-19 19:49:17 -05:00
  • f8758279a6 Minor corrections to new callback_*parse() overloads. Zach Laine 2018-10-19 17:14:55 -05:00
  • 87a8b86450 In write_formatted_message(), transcode the characters begin parsed to UTF-8 if they are 4 bytes wide. Zach Laine 2018-10-19 01:54:35 -05:00
  • 3aac783330 Use code points, not chars, to limit how much of the input to print in debugging traces. Zach Laine 2018-10-19 01:52:56 -05:00
  • 8fbf96811e Treat the expected value of string_parser as UTF-8 (and transcode) when parsing a stream of 4-byte valeus. Zach Laine 2018-10-19 01:32:17 -05:00
  • f378a55e08 Treat the chars in a char_("...") parser as UTF-8 (and transcode) when parsing a stream of 4-byte values. Zach Laine 2018-10-19 01:13:12 -05:00
  • 08225429e9 Treat the string_view parameter to symbols::add() as UTF-8, and transcode it to UTF-32 before insertion into the underlying trie. Zach Laine 2018-10-19 01:12:18 -05:00
  • d4bc212b6c Add printing support for symbol_parser. Zach Laine 2018-10-19 00:12:26 -05:00
  • cf0ff4c312 Add missing callback_parse() overloads. Zach Laine 2018-10-19 00:08:12 -05:00
  • 6dafeacf95 Add with_globals(). Zach Laine 2018-10-18 22:31:50 -05:00
  • 028cc35ad9 Remove mooted TODO. Zach Laine 2018-10-18 22:09:49 -05:00
  • 28faab7839 Sketch in a symbol parser. Zach Laine 2018-10-18 21:42:07 -05:00
  • da64c7b52b Change callback rules to behave as normal rules when not used within callback_*parse(). Zach Laine 2018-10-18 21:38:18 -05:00
  • d07dfa203c Get serious about covering all cases of assignment from nopes in parsers; add no-attribute case support to callback rule_parser. Zach Laine 2018-10-18 20:57:23 -05:00
  • ea0440f6fa Add plumbing to enable unification of the use of regular and callback rules. Zach Laine 2018-10-18 19:42:04 -05:00
  • 3c2c99ae73 Add callback_parse() and callback_rule. Zach Laine 2018-10-17 20:18:58 -05:00
  • da5596d05f Add TODOs. Zach Laine 2018-10-17 00:37:35 -05:00
  • c64aa1d441 Disable the generated tests, now that they all pass. Zach Laine 2018-10-17 00:21:32 -05:00
  • 4b9ac8073a Add parser_action test. Zach Laine 2018-10-17 00:18:58 -05:00
  • 1bbda8ea17 Fix more errors in generated parser tests. Zach Laine 2018-10-17 00:14:22 -05:00
  • 782632b967 Reinstate checks that failed parses do not write into attribute out-params. Zach Laine 2018-10-16 00:17:19 -05:00
  • ce53bf1d41 Fix errors in seq_parser::combine and the associated logic in the parser test generation. Zach Laine 2018-10-15 17:33:05 -05:00
  • 48fb282ff9 To each generated parser test, add a check that a failed parse does not mutate an attribute out-param. Zach Laine 2018-10-15 00:14:22 -05:00
  • ff5e1e4075 Cruft removal. Zach Laine 2018-10-15 00:13:12 -05:00
  • 09ed907c75 Add test for rules; fix errors. Zach Laine 2018-10-15 00:12:07 -05:00
  • 7570418d5a Add passing and failing parses to generated test files; fix errors. Zach Laine 2018-10-14 16:36:00 -05:00
  • d4266b464e Add generation of expected type to the generated parser tests; fix errors. Zach Laine 2018-10-14 14:40:11 -05:00
  • 378386fe67 Break compile_or_seq_attribute.cpp up into numerous files, and turn it into runnable -- not compile-only -- tests. Zach Laine 2018-10-14 01:08:50 -05:00
  • 038ce0a910 Add parser_name() overloads for newest parsers. Zach Laine 2018-10-13 22:53:27 -05:00
  • d6934eb3af Generate attribute test cases; fix errors. Zach Laine 2018-10-11 23:30:20 -05:00
  • e178cd9057 Fix copy pasta in test/CMakeLists.txt. Zach Laine 2018-10-11 23:29:59 -05:00
  • 477f95d494 Add tests of paren-grouped ors and seq. Zach Laine 2018-10-11 22:29:11 -05:00
  • f5430affba Add or_parser compile tests; fix errors. Zach Laine 2018-10-11 21:59:45 -05:00
  • 1cc3e53a44 Add seq_parser compile tests; fix errors. Zach Laine 2018-10-10 22:04:50 -05:00
  • 04dbec39dc Add parser tests. Zach Laine 2018-10-10 20:29:25 -05:00
  • 290cfa550b Initial add of a parser to use instead of Spirit. Zach Laine 2018-10-10 19:54:22 -05:00
  • 028719a9bf Sketch in even more X3 YAML parsing code. Zach Laine 2018-10-02 00:47:04 -05:00
  • 0fdf259c0c Sketch in a lot more of the new X3 YAML parser. Zach Laine 2018-10-01 21:46:05 -05:00
  • 6d8606cd80 Add the start of a Spirit X3-based parser for YAML. Zach Laine 2018-10-01 00:36:54 -05:00
  • f48336c2a8 Major refactor of the JSON value code for better reuse; introduce a sketch of a similarly-designed YAML value. Zach Laine 2018-09-29 19:08:26 -05:00
  • d18ee90b9a Fix Clang-on-Linux build. Zach Laine 2018-09-29 18:53:50 -05:00
  • 1a67c5d94f Add hashing of json::value. Zach Laine 2018-09-28 19:55:33 -05:00
  • 4f0c270483 Regular null_t. Zach Laine 2018-09-28 19:55:21 -05:00
  • b894548871 Add a TODO. Zach Laine 2018-09-28 19:24:13 -05:00
  • 7ff8f71fda Cruft removal. Zach Laine 2018-09-28 19:21:26 -05:00
  • bf75157cd3 Add a TODO. Zach Laine 2018-09-28 18:56:55 -05:00
  • 6feae9fdca Fix misplaced lexeme[] directive in JSON string parsing. Zach Laine 2018-09-28 18:55:08 -05:00
  • ab5105d1df Update JSONTestSuite submodule. Zach Laine 2018-09-28 18:44:47 -05:00
  • 2bdda1d54a Allow exceptions to escape from scoped_multipart_error_t's dtor. Zach Laine 2018-09-28 18:42:49 -05:00
  • 14a6d96b55 Add support for X3 debug trace. Zach Laine 2018-09-28 18:31:56 -05:00