[−][src]Struct moore::lexer::BufferedLexer
A buffered lexer that allows tokens to be peeked at before they are actually consumed.
Methods
impl<T> BufferedLexer<T> where
T: PartialEq<T> + Clone,
[src]
T: PartialEq<T> + Clone,
pub fn new(inner: Box<dyn Lexer<T> + 'static>, eof: T) -> BufferedLexer<T>
[src]
Create a new buffered lexer.
pub fn peek<'td>(&mut self, offset: usize) -> Result<&T, DiagnosticBuilder<'td>>
[src]
Peek at a token not yet consumed. This function merely returns a
reference to said token. Use pop()
to advance the lexer.
pub fn push(&mut self, token: T)
[src]
Insert a token in front of the stream such that it becomes the next
token to be returned from peek(0)
or pop()
.
pub fn pop<'td>(&mut self) -> Result<T, DiagnosticBuilder<'td>>
[src]
Consume and return the current token. This is the same token that would
be returned by peek(0)
.
pub fn inner(&self) -> &dyn Lexer<T>
[src]
pub fn inner_mut(&mut self) -> &mut dyn Lexer<T>
[src]
Auto Trait Implementations
impl<T> !Send for BufferedLexer<T>
impl<T> !Sync for BufferedLexer<T>
impl<T> Unpin for BufferedLexer<T> where
T: Unpin,
T: Unpin,
impl<T> !UnwindSafe for BufferedLexer<T>
impl<T> !RefUnwindSafe for BufferedLexer<T>
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,