hyperion 0.2.1

Generic LSystem implementation.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::LSystemBuilder;

use super::{parser::{parse_rule, parse_state}, Token};

impl LSystemBuilder<Token> {
    pub fn new_str(axiom: &str) -> Result<LSystemBuilder<Token>, nom::Err<nom::error::Error<&str>>> {
        let (_, state) = parse_state(axiom)?;
        Ok(LSystemBuilder::new(state))
    }

    pub fn rule_str(self, rule: &str) -> Result<LSystemBuilder<Token>, nom::Err<nom::error::Error<&str>>> {
        Ok(self.rule(parse_rule(rule)?.1))
    }
}