static final public MExp SQLUnaryExpression() throws ParseException {
  Token op = null;
  MExp e1, e;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case 101:
    case 102:
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case 101:
        op = jj_consume_token(101);
        break;
      case 102:
        op = jj_consume_token(102);
        break;
      default:
        jj_la1[91] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
      break;
    default:
      jj_la1[92] = jj_gen;
      ;
    }
    e1 = SQLPrimaryExpression();
    if(op == null) e = e1;
    else e = new MExpression(op.toString(), e1);
    {if (true) return e;}
    throw new Error("Missing return statement in function");
  }