final public Expression StringExpression(int str_type) throws ParseException {
        final Variable v;
        final String s;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case VARIABLE:
      v = Variable();
                 {if (true) return new VariableExpression(v);}
      break;
    case STRING_END:
    case STRING:
    case IDENTIFIER:
    case CHARACTER:
      s = String(str_type);
                 {if (true) return new StringExpression(s);}
      break;
    default:
      jj_la1[46] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
    throw new Error("Missing return statement in function");
  }