pub struct ValkyrieParser<'config> { /* private fields */ }Expand description
A parser for the Valkyrie programming language.
Implementations§
Source§impl<'config> ValkyrieParser<'config>
impl<'config> ValkyrieParser<'config>
pub fn build_root( &self, green_tree: &GreenNode<'_, ValkyrieLanguage>, source: &SourceText, ) -> Result<ValkyrieRoot, OakError>
Source§impl<'config> ValkyrieParser<'config>
impl<'config> ValkyrieParser<'config>
Sourcepub fn new(config: &'config ValkyrieLanguage) -> Self
pub fn new(config: &'config ValkyrieLanguage) -> Self
Creates a new Valkyrie parser.
Trait Implementations§
Source§impl<'config> Clone for ValkyrieParser<'config>
impl<'config> Clone for ValkyrieParser<'config>
Source§fn clone(&self) -> ValkyrieParser<'config>
fn clone(&self) -> ValkyrieParser<'config>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'config> Parser<ValkyrieLanguage> for ValkyrieParser<'config>
impl<'config> Parser<ValkyrieLanguage> for ValkyrieParser<'config>
Source§fn parse<'a, S: Source + ?Sized>(
&self,
source: &'a S,
edits: &[TextEdit],
cache: &'a mut impl ParseCache<ValkyrieLanguage>,
) -> ParseOutput<'a, ValkyrieLanguage>
fn parse<'a, S: Source + ?Sized>( &self, source: &'a S, edits: &[TextEdit], cache: &'a mut impl ParseCache<ValkyrieLanguage>, ) -> ParseOutput<'a, ValkyrieLanguage>
The core parsing entry point. Read more
Source§impl<'config> Pratt<ValkyrieLanguage> for ValkyrieParser<'config>
impl<'config> Pratt<ValkyrieLanguage> for ValkyrieParser<'config>
Source§fn primary<'a, S: Source + ?Sized>(
&self,
state: &mut ParserState<'a, ValkyrieLanguage, S>,
) -> &'a GreenNode<'a, ValkyrieLanguage>
fn primary<'a, S: Source + ?Sized>( &self, state: &mut ParserState<'a, ValkyrieLanguage, S>, ) -> &'a GreenNode<'a, ValkyrieLanguage>
Parses a primary expression (e.g., literals, identifiers, group).
Source§fn infix<'a, S: Source + ?Sized>(
&self,
state: &mut ParserState<'a, ValkyrieLanguage, S>,
left: &'a GreenNode<'a, ValkyrieLanguage>,
min_precedence: u8,
) -> Option<&'a GreenNode<'a, ValkyrieLanguage>>
fn infix<'a, S: Source + ?Sized>( &self, state: &mut ParserState<'a, ValkyrieLanguage, S>, left: &'a GreenNode<'a, ValkyrieLanguage>, min_precedence: u8, ) -> Option<&'a GreenNode<'a, ValkyrieLanguage>>
Handles infix and postfix operators. Read more
Source§fn prefix<'a, S: Source + ?Sized>(
&self,
state: &mut ParserState<'a, ValkyrieLanguage, S>,
) -> &'a GreenNode<'a, ValkyrieLanguage>
fn prefix<'a, S: Source + ?Sized>( &self, state: &mut ParserState<'a, ValkyrieLanguage, S>, ) -> &'a GreenNode<'a, ValkyrieLanguage>
Handles prefix operators and primary expressions. Read more
Auto Trait Implementations§
impl<'config> Freeze for ValkyrieParser<'config>
impl<'config> RefUnwindSafe for ValkyrieParser<'config>
impl<'config> Send for ValkyrieParser<'config>
impl<'config> Sync for ValkyrieParser<'config>
impl<'config> Unpin for ValkyrieParser<'config>
impl<'config> UnwindSafe for ValkyrieParser<'config>
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