pub struct Parser<'tokens, 'source: 'tokens> { /* private fields */ }Implementations§
Source§impl<'tokens, 'source: 'tokens> Parser<'tokens, 'source>
impl<'tokens, 'source: 'tokens> Parser<'tokens, 'source>
pub fn new(tokens: &'tokens [Loc<Token<'source>>]) -> Self
pub fn diagnostics(&self) -> &[Diagnostic]
pub fn is_eof(&self) -> bool
pub fn eof_span(&self) -> Span
pub fn get(&self, offset: isize) -> Option<&Loc<Token<'source>>>
pub fn is_at(&self, pattern: &Token<'_>) -> bool
pub fn next_is(&self, pattern: &Token<'_>) -> bool
pub fn advance(&mut self)
pub fn try_eat(&mut self, pattern: Token<'_>) -> Option<Loc<Token<'source>>>
pub fn eat<'a>( &mut self, pattern: impl TokenPattern<'a>, message: impl Into<String>, ) -> Result<Loc<Token<'source>>>
pub fn skip_newlines(&mut self)
pub fn recover( &mut self, goals: impl IntoIterator<Item = Token<'source>>, message: impl Into<String>, )
pub fn parse_separated<'a, U, F: FnMut(&mut Self) -> Result<U>>( &mut self, f: F, separators: impl TokenPattern<'a>, terminators: impl TokenPattern<'a>, message: impl Into<String>, ) -> Result<(Vec<U>, Loc<Token<'source>>)>
pub fn parse_local_name( &mut self, message: impl Into<String>, ) -> Result<Loc<&'source str>>
pub fn parse_imported_function_alias( &mut self, as_token: Loc<()>, ) -> Result<Loc<ImportedFunctionAlias<'source>>>
pub fn parse_imported_function( &mut self, ) -> Result<Loc<ImportedFunction<'source>>>
pub fn parse_import( &mut self, from_token: Loc<()>, ) -> Result<Loc<Import<'source>>>
pub fn parse_label(&mut self) -> Result<Loc<Label<'source>>>
pub fn parse_constant_value(&mut self) -> Result<Loc<ConstantValue>>
pub fn parse_constant( &mut self, name: Loc<&'source str>, type_annotation: Option<Loc<TypeAnnotation>>, equals_token: Loc<()>, const_token: Loc<()>, ) -> Result<Loc<Constant<'source>>>
pub fn parse_value_operation_op( &mut self, op_name: Loc<&'source str>, ) -> Result<Loc<ValueOperationOp<'source>>>
pub fn parse_value_operation( &mut self, name: Loc<&'source str>, type_annotation: Option<Loc<TypeAnnotation>>, equals_token: Loc<()>, op_name: Loc<&'source str>, ) -> Result<Loc<ValueOperation<'source>>>
pub fn parse_effect_operation_op( &mut self, ) -> Result<Loc<EffectOperationOp<'source>>>
pub fn parse_effect_operation( &mut self, ) -> Result<Loc<EffectOperation<'source>>>
pub fn parse_instruction(&mut self) -> Result<Loc<Instruction<'source>>>
pub fn parse_function_code(&mut self) -> Result<Loc<FunctionCode<'source>>>
pub fn parse_type(&mut self) -> Result<Loc<Type>>
pub fn parse_type_annotation(&mut self) -> Result<Loc<TypeAnnotation>>
pub fn parse_function_parameter( &mut self, ) -> Result<(Loc<&'source str>, Loc<TypeAnnotation>)>
pub fn parse_function( &mut self, name: Loc<&'source str>, ) -> Result<Loc<Function<'source>>>
pub fn parse_program(&mut self) -> Result<Program<'source>>
Auto Trait Implementations§
impl<'tokens, 'source> Freeze for Parser<'tokens, 'source>
impl<'tokens, 'source> RefUnwindSafe for Parser<'tokens, 'source>
impl<'tokens, 'source> Send for Parser<'tokens, 'source>
impl<'tokens, 'source> Sync for Parser<'tokens, 'source>
impl<'tokens, 'source> Unpin for Parser<'tokens, 'source>
impl<'tokens, 'source> UnwindSafe for Parser<'tokens, 'source>
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