예제 #1
0
 public override void Visit(NotExpressionNode node)
 {
     node.expression.Accept(this);
     Gen("xor", "eax", "1");
 }
예제 #2
0
        public override void Visit(NotExpressionNode node)
        {
            node.expression.Accept(this);

            if (!AreTypeCompatible(node.expression.ExpressionType.GetType(), typeof(BooleanType)))
                throw new Exception("Expression for ! operation is not of type Boolean!");

            node.ExpressionType = BooleanType.Instance;
        }
예제 #3
0
 public virtual void Visit(NotExpressionNode node)
 {
     node.expression.Accept(this);
 }
예제 #4
0
 public override void Visit(NotExpressionNode node)
 {
     Console.WriteLine(this.indentation + "!");
     indentation = indentation + "   ";
     node.expression.Accept(this);
     indentation = indentation.Substring(0, indentation.Length - 3);
 }