code: final public Selector FieldRef() throws ParseException {
                          Token tok; String id;
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case IDENTIFIER:
        tok = jj_consume_token(IDENTIFIER);
                           id = tok.image;
                           // Identifiers with '.' in their name are not JMS conformant
                           if (strict && id.indexOf('.') != -1)
                           {if (true) throw generateParseException();}
        break;
      case QUOTED_IDENTIFIER:
        tok = jj_consume_token(QUOTED_IDENTIFIER);
                                    if (strict) {if (true) throw generateParseException();}
                                    id = tok.image.substring(1, tok.image.length()-1);
        break;
      default:
        jj_la1[19] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
      Selector ans = new IdentifierImpl(id);
      {if (true) return ans;}
      throw new Error("Missing return statement in function");
    }
docs: |  <QUOTED_IDENTIFIER>