essence_vec

Macro essence_vec 

Source
essence_vec!() { /* proc-macro */ }
Expand description

Parses a sequence of Essence expressions into a vector of Conjure AST instances

ยงExample

use conjure_cp::ast::{Atom, Expression, Moo, Metadata};
use conjure_cp::matrix_expr;
use conjure_cp_essence_macros::essence_vec;

let exprs = essence_vec!(2 + 2, false = true);
println!("{:?}", exprs);
assert_eq!(exprs.len(), 2);
assert_eq!(
    exprs[0],
    Expression::Sum(Metadata::new(), Moo::new(matrix_expr![
        Expression::Atomic(Metadata::new(), 2.into()),
        Expression::Atomic(Metadata::new(), 2.into())
    ]))
);
assert_eq!(
   exprs[1],
    Expression::Eq(Metadata::new(),
        Moo::new(Expression::Atomic(Metadata::new(), false.into())),
        Moo::new(Expression::Atomic(Metadata::new(), true.into()))
    )
);