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); } }
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); }