A simple extensible expression language for .net applications.
Dawal has very simple syntax, everything is either a function call or a primitive value. See examples below:
EqualTo(10, 10)
Not(EqualTo(10, null))
EqualTo(100, 1000 #this is a comment#)
var scanner = new DawalCompiler();
var expression = compiler.Compile(@"EqualTo(10, 10)");
var result = expression.First().EvaluateAsync<bool>(new BaseEvaluationContext(new IEvaluationFunction[]{
new EqualToFunction(),
}));
Assert.Equals(result, true);