コード例 #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));
        }
コード例 #2
0
 public RuleExpression(TriggerExpression triggerExpression, ActionsExpression actionsExpression)
 {
     this.triggerExpression = triggerExpression;
     this.actionsExpression = actionsExpression;
 }