Esempio n. 1
0
        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;
 }
Esempio n. 3
0
 public RuleExpression(TriggerExpression triggerExpression, ActionsExpression actionsExpression)
 {
     this.triggerExpression = triggerExpression;
     this.actionsExpression = actionsExpression;
 }