final public int mode() throws ParseException {
        int m = DIR_LINKAGE;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case IN:
      jj_consume_token(IN);
                  m = DIR_IN;
      break;
    case OUT:
      jj_consume_token(OUT);
                  m = DIR_OUT;
      break;
    case INOUT:
      jj_consume_token(INOUT);
                    m = DIR_INOUT;
      break;
    case BUFFER:
      jj_consume_token(BUFFER);
                     m = DIR_BUFFER;
      break;
    case LINKAGE:
      jj_consume_token(LINKAGE);
                      m = DIR_LINKAGE;
      break;
    default:
      jj_la1[42] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
          {if (true) return m ;}
    throw new Error("Missing return statement in function");
  }