internal static object Parse(Metamodel metaModel, string stringExpression) { if (FullMatch(Syntax.Rule, stringExpression) == null) { throw new Exception($"Unmatched {nameof(RuleExpression)} {stringExpression}"); } var subClauses = stringExpression.Split(Syntax.Implies); TriggerExpression triggerExpression = TriggerExpression.Parse(metaModel, subClauses[0]); ActionsExpression actionsExpression = ActionsExpression.Parse(metaModel, subClauses[1]); return(new RuleExpression(triggerExpression, actionsExpression)); }
public UnaryExpression(UnaryOperator @operator, TriggerExpression operand) { Operator = @operator; Operand = operand; }
public RuleExpression(TriggerExpression triggerExpression, ActionsExpression actionsExpression) { this.triggerExpression = triggerExpression; this.actionsExpression = actionsExpression; }