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
Zach Laine
358adf247a
Address the remaining non-documentation TODOs in the lexer header and tests.
...
See #202 .
2024-11-29 16:29:55 -06:00
Zach Laine
ee8ab13779
Extend the lexer tests, addressing some of the testing TODOs; fix errors.
...
See #202 .
2024-11-29 16:29:55 -06:00
Zach Laine
391bb2b5b0
Factor out a lot of the lexer.cpp tests into a separate file.
...
See #202 .
2024-11-29 16:29:55 -06:00
Zach Laine
6ed1152390
Switch from double to long double as token's floating point representation.
...
Therer's room for it, since it's in a union with a string_view anyway.
See #202 .
2024-11-29 16:29:55 -06:00
Zach Laine
bf336fb096
Add much longer lexing test; fix errors.
...
See #202 .
2024-11-29 16:29:55 -06:00
Zach Laine
63483cb284
Specify the true/false and number token_specs in the adobe lexer test code to
...
use a bool and a double as its value, repsectively, instead of a string_view.
See #202 .
2024-11-29 16:29:55 -06:00
Zach Laine
49213c428e
Change all the existing lex runs to compare their output against an expected
...
sequence of tokens.
See #202 .
2024-11-29 16:29:55 -06:00
Zach Laine
79f34ef252
Add support for an externally-supplied token cache.
...
See #202 .
2024-11-29 16:29:55 -06:00
Zach Laine
cd9c7492dd
Add a range adaptor for token_view; token_view -> tokens_view. Break
...
detail::make_input_subrange() out into its own header for reuse.
See #202 .
2024-11-29 16:29:55 -06:00
Zach Laine
e5c101378b
Initial sketch of a lexer for Boost.Parser, based on using CTRE as an external
...
dependency. Lots of TODOs, somewhat thin testing, but the basics work.
See #202 .
2024-11-29 16:29:55 -06:00