final public Exp LogicOp() throws ParseException {
        Exp ret;
        BinaryExp postfix;
    ret = CmpOp();
    label_11:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case KW_AND:
      case KW_OR:
        ;
        break;
      default:
        jj_la1[22] = jj_gen;
        break label_11;
      }
      postfix = LogicOp_postfix();
                  postfix.setLeft(ret);  ret = postfix;
    }
          {if (true) return ret;}
    throw new Error("Missing return statement in function");
  }