private boolean step1()

in lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java [373:564]


  private boolean step1() {
    if (CT == null) return false;

    // suffix length = 7
    if (suffix(CT, "uciones") && suffix(R2, "uciones")) {
      CT = replaceSuffix(CT, "uciones", "u");
      return true;
    }

    // suffix length = 6
    if (CT.length() >= 6) {
      if (suffix(CT, "imentos") && suffix(R2, "imentos")) {
        CT = removeSuffix(CT, "imentos");
        return true;
      }
      if (suffix(CT, "amentos") && suffix(R2, "amentos")) {
        CT = removeSuffix(CT, "amentos");
        return true;
      }
      if (suffix(CT, "adores") && suffix(R2, "adores")) {
        CT = removeSuffix(CT, "adores");
        return true;
      }
      if (suffix(CT, "adoras") && suffix(R2, "adoras")) {
        CT = removeSuffix(CT, "adoras");
        return true;
      }
      if (suffix(CT, "logias") && suffix(R2, "logias")) {
        replaceSuffix(CT, "logias", "log");
        return true;
      }
      if (suffix(CT, "encias") && suffix(R2, "encias")) {
        CT = replaceSuffix(CT, "encias", "ente");
        return true;
      }
      if (suffix(CT, "amente") && suffix(R1, "amente")) {
        CT = removeSuffix(CT, "amente");
        return true;
      }
      if (suffix(CT, "idades") && suffix(R2, "idades")) {
        CT = removeSuffix(CT, "idades");
        return true;
      }
    }

    // suffix length = 5
    if (CT.length() >= 5) {
      if (suffix(CT, "acoes") && suffix(R2, "acoes")) {
        CT = removeSuffix(CT, "acoes");
        return true;
      }
      if (suffix(CT, "imento") && suffix(R2, "imento")) {
        CT = removeSuffix(CT, "imento");
        return true;
      }
      if (suffix(CT, "amento") && suffix(R2, "amento")) {
        CT = removeSuffix(CT, "amento");
        return true;
      }
      if (suffix(CT, "adora") && suffix(R2, "adora")) {
        CT = removeSuffix(CT, "adora");
        return true;
      }
      if (suffix(CT, "ismos") && suffix(R2, "ismos")) {
        CT = removeSuffix(CT, "ismos");
        return true;
      }
      if (suffix(CT, "istas") && suffix(R2, "istas")) {
        CT = removeSuffix(CT, "istas");
        return true;
      }
      if (suffix(CT, "logia") && suffix(R2, "logia")) {
        CT = replaceSuffix(CT, "logia", "log");
        return true;
      }
      if (suffix(CT, "ucion") && suffix(R2, "ucion")) {
        CT = replaceSuffix(CT, "ucion", "u");
        return true;
      }
      if (suffix(CT, "encia") && suffix(R2, "encia")) {
        CT = replaceSuffix(CT, "encia", "ente");
        return true;
      }
      if (suffix(CT, "mente") && suffix(R2, "mente")) {
        CT = removeSuffix(CT, "mente");
        return true;
      }
      if (suffix(CT, "idade") && suffix(R2, "idade")) {
        CT = removeSuffix(CT, "idade");
        return true;
      }
    }

    // suffix length = 4
    if (CT.length() >= 4) {
      if (suffix(CT, "acao") && suffix(R2, "acao")) {
        CT = removeSuffix(CT, "acao");
        return true;
      }
      if (suffix(CT, "ezas") && suffix(R2, "ezas")) {
        CT = removeSuffix(CT, "ezas");
        return true;
      }
      if (suffix(CT, "icos") && suffix(R2, "icos")) {
        CT = removeSuffix(CT, "icos");
        return true;
      }
      if (suffix(CT, "icas") && suffix(R2, "icas")) {
        CT = removeSuffix(CT, "icas");
        return true;
      }
      if (suffix(CT, "ismo") && suffix(R2, "ismo")) {
        CT = removeSuffix(CT, "ismo");
        return true;
      }
      if (suffix(CT, "avel") && suffix(R2, "avel")) {
        CT = removeSuffix(CT, "avel");
        return true;
      }
      if (suffix(CT, "ivel") && suffix(R2, "ivel")) {
        CT = removeSuffix(CT, "ivel");
        return true;
      }
      if (suffix(CT, "ista") && suffix(R2, "ista")) {
        CT = removeSuffix(CT, "ista");
        return true;
      }
      if (suffix(CT, "osos") && suffix(R2, "osos")) {
        CT = removeSuffix(CT, "osos");
        return true;
      }
      if (suffix(CT, "osas") && suffix(R2, "osas")) {
        CT = removeSuffix(CT, "osas");
        return true;
      }
      if (suffix(CT, "ador") && suffix(R2, "ador")) {
        CT = removeSuffix(CT, "ador");
        return true;
      }
      if (suffix(CT, "ivas") && suffix(R2, "ivas")) {
        CT = removeSuffix(CT, "ivas");
        return true;
      }
      if (suffix(CT, "ivos") && suffix(R2, "ivos")) {
        CT = removeSuffix(CT, "ivos");
        return true;
      }
      if (suffix(CT, "iras") && suffix(RV, "iras") && suffixPreceded(CT, "iras", "e")) {
        CT = replaceSuffix(CT, "iras", "ir");
        return true;
      }
    }

    // suffix length = 3
    if (CT.length() >= 3) {
      if (suffix(CT, "eza") && suffix(R2, "eza")) {
        CT = removeSuffix(CT, "eza");
        return true;
      }
      if (suffix(CT, "ico") && suffix(R2, "ico")) {
        CT = removeSuffix(CT, "ico");
        return true;
      }
      if (suffix(CT, "ica") && suffix(R2, "ica")) {
        CT = removeSuffix(CT, "ica");
        return true;
      }
      if (suffix(CT, "oso") && suffix(R2, "oso")) {
        CT = removeSuffix(CT, "oso");
        return true;
      }
      if (suffix(CT, "osa") && suffix(R2, "osa")) {
        CT = removeSuffix(CT, "osa");
        return true;
      }
      if (suffix(CT, "iva") && suffix(R2, "iva")) {
        CT = removeSuffix(CT, "iva");
        return true;
      }
      if (suffix(CT, "ivo") && suffix(R2, "ivo")) {
        CT = removeSuffix(CT, "ivo");
        return true;
      }
      if (suffix(CT, "ira") && suffix(RV, "ira") && suffixPreceded(CT, "ira", "e")) {
        CT = replaceSuffix(CT, "ira", "ir");
        return true;
      }
    }

    // no ending was removed by step1
    return false;
  }