jj_la1[27] = jj_gen;
jj_la1[30] = jj_gen;
  final public void packageDeclaration() throws ParseException {        Token variable;        Token postfix;    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {    case CONSTANT:    case SIGNAL:    case SHARED:    case VARIABLE:      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {      case CONSTANT:        jj_consume_token(CONSTANT);        break;      case SIGNAL:        jj_consume_token(SIGNAL);        break;      case SHARED:      case VARIABLE:        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {        case SHARED:          jj_consume_token(SHARED);          break;        default:          jj_la1[25] = jj_gen;          ;        }        jj_consume_token(VARIABLE);        break;      default:        jj_la1[26] = jj_gen;        jj_consume_token(-1);        throw new ParseException();      }                        setPrefix(token.image + " ");      variable = identifier();                        addVariable(variable.beginLine, variable.image);      label_11:      while (true) {        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {        case COMMA:          ;          break;        default:          jj_la1[27] = jj_gen;          break label_11;        }        jj_consume_token(COMMA);        variable = identifier();                                addVariable(variable.beginLine, variable.image);      }      jj_consume_token(COLON);      postfix = interfaceElementIndication();                        setPostfix(" : " + postfix.image);      jj_consume_token(EOS);      break;    case TYPE:    case SUBTYPE:      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {      case TYPE:        jj_consume_token(TYPE);        break;      case SUBTYPE:        jj_consume_token(SUBTYPE);        break;      default:        jj_la1[28] = jj_gen;        jj_consume_token(-1);        throw new ParseException();      }      identifier();      jj_consume_token(IS);      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {      case RECORD:        jj_consume_token(RECORD);        skipEnd();        jj_consume_token(END);        jj_consume_token(RECORD);        jj_consume_token(EOS);        break;      default:        jj_la1[29] = jj_gen;        skipTo(EOS);      }      break;    case FILE:    case ALIAS:    case ATTRIBUTE:    case FOR:    case DISCONNECT:    case GROUP:      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {      case FILE:        jj_consume_token(FILE);        break;      case ALIAS:        jj_consume_token(ALIAS);        break;      case ATTRIBUTE:        jj_consume_token(ATTRIBUTE);        break;      case FOR:        jj_consume_token(FOR);        break;      case DISCONNECT:        jj_consume_token(DISCONNECT);        break;      case GROUP:        jj_consume_token(GROUP);        break;      default:        jj_la1[30] = jj_gen;        jj_consume_token(-1);        throw new ParseException();      }      skipTo(EOS);      break;    case PROCEDURE:      jj_consume_token(PROCEDURE);      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {      case EOS:        jj_consume_token(EOS);        break;      default:        jj_la1[32] = jj_gen;        skipTo(BEGIN);        skipEnd();        jj_consume_token(END);        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {        case IDENT:          identifier();          break;        default:          jj_la1[31] = jj_gen;          ;        }        jj_consume_token(EOS);      }      break;    case FUNCTION:      jj_consume_token(FUNCTION);      skipTo(RETURN);      identifier();      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {      case EOS:        jj_consume_token(EOS);        break;      default:        jj_la1[34] = jj_gen;        skipTo(BEGIN);        skipEnd();        jj_consume_token(END);        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {        case IDENT:          identifier();          break;        default:          jj_la1[33] = jj_gen;          ;        }        jj_consume_token(EOS);      }      break;    default:      jj_la1[35] = jj_gen;      jj_consume_token(-1);      throw new ParseException();    }  }