Skip to main content

Module stream

Module stream 

Source
Expand description

The parse source for the SATySFi surface grammar.

The parse source is the eagerly lexed Vec<Atom>, wrapped by AtomStream: syan core has no IntoParseStream for Vec<_>, so the buffering lives here.

Neither stream erasure (a &mut dyn ParseStream tower) nor a failure high-water mark belongs here, obsoleted by syan on both counts: Parse::parse_stream takes &mut S and recursion reborrows, so S is a genuine fixed point and the instantiation set is finite without erasing anything (and no stream operation is a virtual call); and ParseError is span-generic, every variant carrying the position it failed at, so the error reports itself.

Structsยง

AtomStream
A parse source over an eagerly lexed token vector.