pub fn parse_spec(toml_content: &str) -> Result<AlgebraSpec, ParseError>Expand description
Parses a TOML specification into the IR.
§Arguments
toml_content- The TOML specification as a string.
§Returns
A validated AlgebraSpec or an error describing what went wrong.
§Example
use clifford_codegen::spec::parse_spec;
let spec = parse_spec(r#"
[algebra]
name = "euclidean2"
complete = false
[signature]
positive = ["e1", "e2"]
[types.Vector]
grades = [1]
field_map = [
{ name = "x", blade = "e1" },
{ name = "y", blade = "e2" }
]
"#).unwrap();
assert_eq!(spec.name, "euclidean2");
assert_eq!(spec.signature.dim(), 2);