pub struct Parser { /* private fields */ }
Expand description
The parser takes an iterator of Tokens from the scanner, and uses the grammar of the language to convert this stream of tokens into a semantically valid Abstract Syntax Tree (AST).
Whereas the scanner ensures incoming syntax is correct, e.g. the characters are arranged into chunks of valid tokens, the parser ensures the order of these tokens is meaningful and correct.
Implementations§
Source§impl Parser
impl Parser
pub fn parse(&mut self) -> Result<Expression, Vec<ParserError>>
Sourcepub fn next_or_eof(&mut self) -> Token
pub fn next_or_eof(&mut self) -> Token
Returns the next value in the token list, or the EOF token when the end of the iterator is reached.
pub fn peek(&self) -> &Token
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Parser
impl RefUnwindSafe for Parser
impl Send for Parser
impl Sync for Parser
impl Unpin for Parser
impl UnwindSafe for Parser
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