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