jj_la1[6] = jj_gen;
jj_la1[5] = jj_gen;
  final public void entity() throws ParseException {        Token name ;        Token end ;    jj_consume_token(ENTITY);    name = identifier();    jj_consume_token(IS);                addModule( name.beginLine, name.image );    label_2:    while (true) {      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {      case GENERIC:      case PORT:        ;        break;      default:        jj_la1[3] = jj_gen;        break label_2;      }      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {      case GENERIC:        jj_consume_token(GENERIC);        jj_consume_token(LPAREN);        skipParen();        jj_consume_token(RPAREN);        jj_consume_token(EOS);        break;      case PORT:        jj_consume_token(PORT);        jj_consume_token(LPAREN);        port();        label_3:        while (true) {          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {          case EOS:            ;            break;          default:            jj_la1[4] = jj_gen;            break label_3;          }          jj_consume_token(EOS);          port();        }        jj_consume_token(RPAREN);        jj_consume_token(EOS);        break;      default:        jj_la1[5] = jj_gen;        jj_consume_token(-1);        throw new ParseException();      }    }    jj_consume_token(END);    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {    case ENTITY:      jj_consume_token(ENTITY);      break;    default:      jj_la1[6] = jj_gen;      ;    }    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {    case IDENT:      identifier();      break;    default:      jj_la1[7] = jj_gen;      ;    }    jj_consume_token(EOS);    jj_consume_token(ARCHITECTURE);    identifier();    jj_consume_token(OF);    identifier();    jj_consume_token(IS);    moduleBody();    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {    case IDENT:      identifier();      break;    default:      jj_la1[8] = jj_gen;      ;    }    end = jj_consume_token(EOS);                endModule( end.beginLine );  }