final public String identifier() throws ParseException {
  Token t;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case basic_identifier:
      t = jj_consume_token(basic_identifier);
      break;
    case extended_identifier:
      t = jj_consume_token(extended_identifier);
      break;
    default:
      jj_la1[141] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
 {if (true) return t.image;}
    throw new Error("Missing return statement in function");
  }