pub struct Tokenizer { /* private fields */ }Expand description
Tokenizer for Scheme source code
Corresponds to OpenJade’s SchemeParser lexical analysis methods.
§Whitespace Handling
Critical difference from Steel: This tokenizer is fully whitespace-agnostic. Whitespace can appear anywhere between tokens without affecting parsing.
Example that breaks Steel but works here:
(let ((x 1)
(y 2)) ; Multi-line let bindings
(+ x y))Implementations§
Source§impl Tokenizer
impl Tokenizer
Sourcepub fn next_token(&mut self) -> ParseResult<Token>
pub fn next_token(&mut self) -> ParseResult<Token>
Get the next token
Sourcepub fn peek_token(&mut self) -> ParseResult<&Token>
pub fn peek_token(&mut self) -> ParseResult<&Token>
Peek at the next token without consuming it
Auto Trait Implementations§
impl Freeze for Tokenizer
impl RefUnwindSafe for Tokenizer
impl Send for Tokenizer
impl Sync for Tokenizer
impl Unpin for Tokenizer
impl UnwindSafe for Tokenizer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more