Skip to main content

parse_spec

Function parse_spec 

Source
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);