示例#1
0
        virtual public RF VisitProbability(DensityExpressionGrammarParser.ProbabilityContext ctx)
        {
            var leftDensity  = VisitDensity(ctx.density(0));
            var rightDensity = VisitDensity(ctx.density(1));
            var opCtx        = ctx.binaryBooleanOp();

            if (opCtx.EQ() != null)
            {
                return(leftDensity.EqProb(rightDensity));
            }
            else if (opCtx.NEQ() != null)
            {
                return(leftDensity.NeqProb(rightDensity));
            }
            else if (opCtx.LT() != null)
            {
                return(leftDensity.LtProb(rightDensity));
            }
            else if (opCtx.LE() != null)
            {
                return(leftDensity.LeqProb(rightDensity));
            }
            else if (opCtx.GT() != null)
            {
                return(leftDensity.GtProb(rightDensity));
            }
            else if (opCtx.GE() != null)
            {
                return(leftDensity.GeqProb(rightDensity));
            }
            else
            {
                throw new NotImplementedException();
            }
        }
示例#2
0
 /// <summary>
 /// Exit a parse tree produced by <see cref="DensityExpressionGrammarParser.probability"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitProbability([NotNull] DensityExpressionGrammarParser.ProbabilityContext context)
 {
 }