[][src]Function liblet::grammar::grammar_quadruple

pub fn grammar_quadruple<'a, I>(n: I, t: I, p: I, s: &str) -> Grammar where
    I: IntoIterator<Item = &'a str>, 

Convenience function for creating a grammar from collections of string as in grammar new_from_string.

It returns the grammar directly, as opposed to the Result returned from the grammar new_from_string.

Panics

Panics if some error occurred during grammar creation (see grammar new_from_string for further details)

Examples

use liblet::grammar::grammar_quadruple;
use liblet::production::production;
use liblet::symbol::symbol;

let g = grammar_quadruple(
    vec!["A"],
    vec!["a"],
    vec!["A -> a"],
    "A"
);

assert_eq!(g.n(), vec![symbol("A")].into_iter().collect());
assert_eq!(g.t(), vec![symbol("a")].into_iter().collect());
assert_eq!(g.p(), vec![production("A","a")]);
assert_eq!(g.s(), symbol("A"));