tame/tamer/src/xir
Mike Gerwitz 4cb478a42d tamer: parser::ParseState::delegate_lookahead: New concept
This introduces a new method similar to the previous `delegate`, but with
another closure that allows for handling lookahead tokens from the child
parser.

Admittedly, this isn't exactly what I was going for---a list of arguments
isn't exactly self-documenting, especially with the brevity when the
arguments line up---but this was easy to do and so I'll run with this for
now.

This also modified `delegate` to accept a context, even though it wasn't
necessary, both for consistency with its lookup counterpart and for brevity
with the `into` argument (allowing, in our case, to just pass the name of
the variant, rather than a closure).

I'm not going to handle the actual starting and accepting state stitching
abstraction for now; I'd like to observe future boilerplate more before I
consider the best way to handle it, though I do have some ideas.

DEV-10863
2022-03-29 14:46:43 -04:00
..
attr tamer: parse: More flexible Transition API 2022-03-25 16:45:32 -04:00
flat tamer: xir: Complete parse type migration 2022-03-21 15:50:43 -04:00
reader tamer: xir::Token::AttrEnd: Remove 2021-12-17 10:14:31 -05:00
tree tamer: xir::parse::Transition: Generalize flat::Transition 2022-03-17 16:02:05 -04:00
attr.rs tamer: parse: More flexible Transition API 2022-03-25 16:45:32 -04:00
error.rs tamer: xir::XirString: WIP implementation (likely going away) 2021-11-10 12:22:10 -05:00
escape.rs tamer: xir::escape::CachingEscaper: allow(dead_code) for feature-flagged code 2022-03-10 10:03:07 -05:00
flat.rs tamer: parser::ParseState::delegate_lookahead: New concept 2022-03-29 14:46:43 -04:00
iter.rs tamer: {ir::=>}{asg, xir} 2021-11-04 16:13:27 -04:00
pred.rs tamer: {ir::=>}{asg, xir} 2021-11-04 16:13:27 -04:00
reader.rs tamer: xir::Token::AttrEnd: Remove 2021-12-17 10:14:31 -05:00
tree.rs tamer: parse: More flexible Transition API 2022-03-25 16:45:32 -04:00
writer.rs tamer: xir::Token::AttrEnd: Remove 2021-12-17 10:14:31 -05:00