pub trait ParametricSystem {
type Rule: ParametricRule;
// Required method
fn apply_first_rule(
&self,
sym: &<Self::Rule as ParametricRule>::OutSym,
) -> Option<Vec<<Self::Rule as ParametricRule>::OutSym>>;
// Provided methods
fn develop_next(
&self,
axiom: &Vec<<Self::Rule as ParametricRule>::OutSym>,
) -> (Vec<<Self::Rule as ParametricRule>::OutSym>, usize) { ... }
fn develop(
&self,
axiom: Vec<<Self::Rule as ParametricRule>::OutSym>,
max_iterations: usize,
) -> (Vec<<Self::Rule as ParametricRule>::OutSym>, usize) { ... }
}Required Associated Types§
type Rule: ParametricRule
Required Methods§
fn apply_first_rule( &self, sym: &<Self::Rule as ParametricRule>::OutSym, ) -> Option<Vec<<Self::Rule as ParametricRule>::OutSym>>
Provided Methods§
Sourcefn develop_next(
&self,
axiom: &Vec<<Self::Rule as ParametricRule>::OutSym>,
) -> (Vec<<Self::Rule as ParametricRule>::OutSym>, usize)
fn develop_next( &self, axiom: &Vec<<Self::Rule as ParametricRule>::OutSym>, ) -> (Vec<<Self::Rule as ParametricRule>::OutSym>, usize)
Apply in parallel the first matching rule to each symbol in the string. Returns the total number of rule applications.