private boolean jj_3R_248() {
    if (jj_3R_45()) return true;
    if (jj_scan_token(151)) return true;
    if (jj_scan_token(BLOCK)) return true;
    Token xsp;
    xsp = jj_scanpos;
    if (jj_3R_284()) jj_scanpos = xsp;
    xsp = jj_scanpos;
    if (jj_scan_token(45)) jj_scanpos = xsp;
    if (jj_3R_285()) return true;
    while (true) {
      xsp = jj_scanpos;
      if (jj_3R_286()) { jj_scanpos = xsp; break; }
    }
    if (jj_scan_token(BEGIN)) return true;
    if (jj_3R_287()) return true;
    if (jj_scan_token(END)) return true;
    if (jj_scan_token(BLOCK)) return true;
    xsp = jj_scanpos;
    if (jj_3R_288()) jj_scanpos = xsp;
    if (jj_scan_token(SEMICOLON)) return true;
    return false;
  }