예제 #1
0
        private object GreaterOrEqualNode(GreaterOrEqualNode ge)
        {
            var l = Evaluate(ge.l);
            var r = Evaluate(ge.r);

            return((decimal)l <= (decimal)r);
        }
        public void Visit(GreaterOrEqualNode node)
        {
            var right = Nodes.Pop();
            var left  = Nodes.Pop();

            Nodes.Push(new GreaterOrEqualNode(left, right));
        }
예제 #3
0
        public DomainId <IAstNode> CreateGreaterOrEqualOperation(
            string definition,
            DomainId <IAstNode> leftExpression,
            DomainId <IAstNode> rightExpression)
        {
            var greaterOrEqualNode = new GreaterOrEqualNode(
                m_ids.Next,
                definition,
                leftExpression,
                rightExpression);

            return(DomainItemRegistration <IGreaterOrEqualNode>(greaterOrEqualNode));
        }
 public void Visit(GreaterOrEqualNode node)
 {
     node.Left.Accept(this);
     node.Right.Accept(this);
     node.Accept(_visitor);
 }
예제 #5
0
 public void Visit(GreaterOrEqualNode node)
 {
 }
예제 #6
0
 private TypeInfo Visit(GreaterOrEqualNode node, MethodBuilder builder, CodegenContext context)
 {
     return(BinaryOperatorVisit(node, builder, (x) => x.GreaterOrEqual(), context));
 }
예제 #7
0
 /// <summary>
 /// This method prints the greaterNode
 /// </summary>
 /// <param name="greaterNode">The node to print.</param>
 /// <returns>Returns null</returns>
 public override object Visit(GreaterOrEqualNode greaterNode)
 {
     Print("GreaterOrEqualNode");
     return(null);
 }
예제 #8
0
 /// <summary>
 /// This method type checks the GreaterOrEqualNode node in the AST.
 /// </summary>
 /// <param name="greaterNode">The node to check.</param>
 /// <returns>Greater or Equal operator type context</returns>
 public override object Visit(GreaterOrEqualNode greaterNode)
 {
     return(new TypeContext(OP_GEQ));
 }
예제 #9
0
 /// <summary>
 /// This method visits a greater or equal node
 /// </summary>
 /// <param name="greaterNode">The name of the node</param>
 /// <returns>It returns &gt;=;</returns>
 public override object Visit(GreaterOrEqualNode greaterNode)
 {
     return(" >= ");
 }
예제 #10
0
 /// <summary>
 /// This visits a Greater or equal node
 /// </summary>
 /// <param name="greaterNode">The visited node</param>
 /// <returns></returns>
 public abstract object Visit(GreaterOrEqualNode greaterNode);
예제 #11
0
 private ValInfo Visit(GreaterOrEqualNode node)
 {
     return(BinaryOperator(node, (x, y) => x >= y));
 }
예제 #12
0
 private TypeDescriptor Visit(GreaterOrEqualNode node, Context context)
 {
     return(RelationOperator(node, context));
 }