[−][src]Struct moore::lexer::BufferedLexer
A buffered lexer that allows tokens to be peeked at before they are actually consumed.
Implementations
impl<T> BufferedLexer<T> where
T: Clone + PartialEq<T>,
[src]
T: Clone + PartialEq<T>,
pub fn new(
inner: Box<dyn Lexer<T> + 'static, Global>,
eof: T
) -> BufferedLexer<T>
[src]
inner: Box<dyn Lexer<T> + 'static, Global>,
eof: T
) -> BufferedLexer<T>
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> !RefUnwindSafe for BufferedLexer<T>
[src]
impl<T> !Send for BufferedLexer<T>
[src]
impl<T> !Sync for BufferedLexer<T>
[src]
impl<T> Unpin for BufferedLexer<T> where
T: Unpin,
[src]
T: Unpin,
impl<T> !UnwindSafe for BufferedLexer<T>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
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.
pub 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>,