Exemple #1
0
        public void add_rel(Logical.Opcode op, Expression a)
        {
            bool r1 = a.get_bool();

            if (op == Logical.Opcode.and)
            {
                b_val = (b_val && r1);
            }
            if (op == Logical.Opcode.or)
            {
                b_val = (b_val || r1);
            }
            if (op == Logical.Opcode.xor)
            {
                b_val = (b_val ^ r1);
            }
        }
Exemple #2
0
        private Expression parseLogical()
        {
            Expression result = parseRelation();

            //Expression log = null;
            while (true)
            {
                Logical.Opcode op = parseLogOperator();
                if (op != Logical.Opcode.none)
                {
                    Expression right = parseRelation();

                    result = new Logical(op, result, right);

                    continue;
                }
                else
                {
                    break;
                }
            }

            return(result);
        }