final public void package_declarative_item(Context c) throws ParseException {
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case FUNCTION:
    case IMPURE:
    case PROCEDURE:
    case PURE:
      subprogram_declaration();
      break;
    case TYPE:
      type_declaration();
      break;
    case SUBTYPE:
      subtype_declaration();
      break;
    case CONSTANT:
      constant_declaration();
      break;
    case SIGNAL:
      signal_declaration(null);
      break;
    case FILE:
      file_declaration();
      break;
    case ALIAS:
      alias_declaration();
      break;
    case COMPONENT:
      component_declaration(c);
      break;
    default:
      jj_la1[35] = jj_gen;
      if (jj_2_5(2147483647)) {
        attribute_declaration();
      } else {
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
        case ATTRIBUTE:
          attribute_specification();
          break;
        case USE:
          use_clause();
          break;
        default:
          jj_la1[36] = jj_gen;
          jj_consume_token(-1);
          throw new ParseException();
        }
      }
    }
  }