YggdrasilParser

Trait YggdrasilParser 

Source
pub trait YggdrasilParser {
    type Rule: YggdrasilRule;

    // Required method
    fn parse_cst(
        input: &str,
        rule: Self::Rule,
    ) -> Result<TokenTree<'_, Self::Rule>, YggdrasilError<Self::Rule>>;

    // Provided method
    fn parse_lex(
        input: &str,
        rule: Self::Rule,
    ) -> Result<TokenStream<'_, Self::Rule>, YggdrasilError<Self::Rule>> { ... }
}
Expand description

A trait with a single method that parses strings.

Required Associated Types§

Source

type Rule: YggdrasilRule

Specify the rules of this language

Required Methods§

Source

fn parse_cst( input: &str, rule: Self::Rule, ) -> Result<TokenTree<'_, Self::Rule>, YggdrasilError<Self::Rule>>

Parses a &str starting from rule.

Provided Methods§

Source

fn parse_lex( input: &str, rule: Self::Rule, ) -> Result<TokenStream<'_, Self::Rule>, YggdrasilError<Self::Rule>>

Get flatten token stream

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§