private boolean jj_3R_54() {
    if (jj_3R_45()) return true;
    if (jj_scan_token(151)) return true;
    if (jj_3R_99()) return true;
    if (jj_scan_token(GENERATE)) return true;
    Token xsp;
    xsp = jj_scanpos;
    if (jj_3_21()) jj_scanpos = xsp;
    while (true) {
      xsp = jj_scanpos;
      if (jj_3R_100()) { jj_scanpos = xsp; break; }
    }
    if (jj_scan_token(END)) return true;
    if (jj_scan_token(GENERATE)) return true;
    xsp = jj_scanpos;
    if (jj_3R_101()) jj_scanpos = xsp;
    if (jj_scan_token(SEMICOLON)) return true;
    return false;
  }