コード例 #1
0
        public static Formula CreateBinaryFormula()
        {
            var ap1  = new AtomarPropositionFormula();
            var ap2  = new AtomarPropositionFormula();
            var bexp = new BinaryFormula(ap1, BinaryOperator.And, ap2);

            return(bexp);
        }
コード例 #2
0
ファイル: FormulaVisitor.cs プロジェクト: pascalpfeil/ssharp
 /// <summary>
 ///   Visits the <paramref name="formula." />
 /// </summary>
 public abstract void VisitAtomarPropositionFormula(AtomarPropositionFormula formula);
コード例 #3
0
        public override Expression CreateExecutableExpressionFromAtomarPropositionFormula(AtomarPropositionFormula formula)
        {
            var executableStateFormula = formula as ExecutableStateFormula;

            if (executableStateFormula != null)
            {
                return(Expression.Invoke(Expression.Constant(executableStateFormula.Expression)));
            }
            throw new InvalidOperationException("AtomarPropositionFormula cannot be evaluated. Use ExecutableStateFormula instead.");
        }
コード例 #4
0
 /// <summary>
 ///   Visits the <paramref name="formula." />
 /// </summary>
 public override void VisitAtomarPropositionFormula(AtomarPropositionFormula formula)
 {
     _builder.Append(formula.Label);
 }
コード例 #5
0
ファイル: ExecutableModel.cs プロジェクト: gobo7793/ssharp
 public abstract Expression CreateExecutableExpressionFromAtomarPropositionFormula(AtomarPropositionFormula formula);
コード例 #6
0
        public override Expression CreateExecutableExpressionFromAtomarPropositionFormula(AtomarPropositionFormula formula)
        {
            if (formula is LustreAtomarProposition atomarProposition)
            {
                Func <bool> formulaEvaluatesToTrue = () => atomarProposition.Evaluate(Model);
                return(Expression.Invoke(Expression.Constant(formulaEvaluatesToTrue)));
            }

            throw new InvalidOperationException("AtomarPropositionFormula cannot be evaluated. Use SimpleAtomarProposition instead.");
        }
コード例 #7
0
 /// <summary>
 ///   Visits the <paramref name="formula." />
 /// </summary>
 public override void VisitAtomarPropositionFormula(AtomarPropositionFormula formula)
 {
 }