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

13 Commits

Author SHA1 Message Date
Zach Laine
ff1059695d Complete initial pass on token parsing documentation.
See #202.
2024-12-07 23:50:27 -06:00
Zach Laine
9a958224e4 Remove mooted TODOs. 2024-12-07 21:57:53 -06:00
Zach Laine
19952581f0 Extend support for token parsing to the prefix*parse() API. Add tests for the
full set of *parse() functions that support token parsing; fix errors.

See #202.
2024-12-02 21:46:36 -06:00
Zach Laine
3176c6f823 Fix error detected in tests of token caching introduced in doc examples. Make
sure not to copy tokens_view within the *parse() call graph.

See #202.
2024-11-29 20:00:28 -06:00
Zach Laine
92c4993b87 Documentation pass on the changes made so far to support token parsing.
See #202.
2024-11-29 20:00:28 -06:00
Zach Laine
9dbf30241d Plumb a pointer to the tokens_view through to the parse context; change
seq_parser to use the tokens_view pointer from the contet to trim the cache at
an expectation point.

See #202.
2024-11-29 16:29:55 -06:00
Zach Laine
1a5b7467ca Add a TODO. 2024-11-29 16:29:55 -06:00
Zach Laine
67c3ec180c Add a smoke test for using token views as input to parse(); fix errors.
See #202.
2024-11-29 16:29:55 -06:00
Zach Laine
f69d7acdd9 Unify the implementations of the non-callback parse() API, to make it posible
for the new token parsingcode path to use that one unified implementation too.
The previous implementation dispatched like parse() -> prefix_parse(), the
latter of which is incompatible with token parsing.
2024-11-29 16:29:55 -06:00
Zach Laine
b6c1229c54 Reorganize the lexer-related header inclusion scheme slightly. lexer.hpp is
now required to come before parser.hpp.

See #202.
2024-11-29 16:29:55 -06:00
Zach Laine
416607c954 Add token_parser::operator()(range) to support matchign against tokens that
producestring_views.

See #202.
2024-11-29 16:29:55 -06:00
Zach Laine
e419ef2a60 Completely rethink the relationship among token_parser, token_spec_t, and
parser_interface.  token_spec is now a variable template that generates a
parser_interface wrapping a token_parser, which parameterized on the
token_spec_t.  This way, a single token_spec use can be used to specify how to
lex, and how to parse.

See #202.
2024-11-29 16:29:55 -06:00
Zach Laine
f00f4dfa75 Initial, partial sketch of token_parser.
See #202.
2024-11-29 16:29:55 -06:00