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§
Sourcetype Rule: YggdrasilRule
type Rule: YggdrasilRule
Specify the rules of this language
Required Methods§
Provided Methods§
Sourcefn parse_lex(
input: &str,
rule: Self::Rule,
) -> Result<TokenStream<'_, Self::Rule>, YggdrasilError<Self::Rule>>
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.