<commit_before>;; Format: a vector of tuples; each tuple has:
;; :agr   agreement
;; :p     parsing rules: pairs of (from:regex -> to:replacement pattern)
;; :g     generation rules: pairs of (from:regex -> to:replacement pattern)
;;
;; TODO: fill in uncommented blanks below:
;;  add examples for every pattern, both parsing (:p) and generation (:g).
[{:agr {:number :sing
        :person :1st}
  :g [#"^(.*)([aei])re$" "$1$2rei"

      #"(.*)[ae]rsi$"  "$1erei" ;; alzarsi -> alzerei
      #"(.*)[i]rsi$"   "$1irei"

      ;; :future-stem
      #"^(.*r)$" "$1ei" ;; vivere -> vivrei

      ]
  :p [
      #"(.*)erei"     "$1are"
      #"(.*)cherei"   "$1care"   ;; cercherei -> cercare
      #"(.*)chei"     "$1care"   ;; carichei -> caricare
      #"(.*)erei"     "$1arsi"
      #"(.*)er[r]?ei" "$1ere"
      #"(.*)erei"     "$1ersi"
      #"(.*)erei"     "$1iare"
      #"(.*)errei"    "$1ere"
      #"(.*)errei"    "$1enere"  ;; otterrei -> ottenere
      #"(.*)irei"     "$1ire"
      #"(.*)irei"     "$1irsi"
      #"(.*)drei"     "$1dare"
      #"(.*)drei"     "$1dere"
      #"(.*)rei"      "$1re"
      #"(.*)rei"      "$1ere"    ;; potrei -> potere
      #"(.*)trei"     "$1tere"
      #"(.*)vrei"     "$1vere"
      #"(.*)rrei"     "$1lere"   ;; vorrei -> volere
      #"(.*)rrei"     "$1nire"   ;; verrei -> venire
      #"(.*)gherei"   "$1gare"   ;; piegherei -> piegare
      #"(.*)rrei"     "$1nere"   ;; rimarrei -> rimanere
      ]}

 {:agr {:number :sing
        :person :2nd}
  :g [#"^(.*)([aei])re$" "$1$2resti"

      #"(.*)[ae]rsi$"  "$1eresti"
      #"(.*)[i]rsi$"   "$1iresti"

      ;; :future-stem
      #"^(.*r)$" "$1esti"
      ]
      
  :p [
      #"(.*)esti"       "$1e"     ;; faresti -> fare
      #"(.*)eresti"     "$1are"
      #"(.*)eresti"     "$1arsi"
      #"(.*)cheresti"   "$1care"  ;; cercheresti -> cercare
      #"(.*)dresti"     "$1dare"
      #"(.*)eresti"     "$1ersi"
      #"(.*)erresti"    "$1enere" ;; otterresti -> ottenere
      #"(.*)er[r]?esti" "$1ere"
      #"(.*)eresti"     "$1iare"
      #"(.*)erresti"    "$1edere" ;; verrà -> vedere
      #"(.*)gheresti"   "$1gare"  ;; piegheresti -> piegare
      #"(.*)ichesti"    "$1icare"
      #"(.*)iresti"     "$1ire"
      #"(.*)iresti"     "$1irsi"
      #"(.*)erresti"    "$1enire" ;; sverresti -> svenire
      #"(.*)resti"      "$1ere"   ;; potresti -> potere
      #"(.*)vresti"     "$1vere"
      #"(.*)rresti"     "$1lere"  ;; vorresti -> volere
      #"(.*)rresti"     "$1nere"  ;; rimarresti -> rimanere
      ]}
 
 {:agr {:number :sing
        :person :3rd}
  :g [#"^(.*)([aei])re$" "$1$2rebbe"

      #"(.*)[ae]rsi$"  "$1erebbe"
      #"(.*)[i]rsi$"   "$1irebbe"

      ;; :future-stem
      #"^(.*r)$" "$1ebbe"
      ]      
  :p [
      #"(.*)chebbe"     "$1care"
      #"(.*)cherebbe"   "$1care"
      #"(.*)drebbe"     "$1dare"
      #"(.*)vrebbe"     "$1vere"
      #"(.*)erebbe"     "$1are"
      #"(.*)erebbe"     "$1arsi"
      #"(.*)er[r]?ebbe" "$1ere"
      #"(.*)erebbe"     "$1ersi"
      #"(.*)erebbe"     "$1iare"
      #"(.*)errebbe"    "$1edere" ;; verrebbe -> vedere
      #"(.*)errebbe"    "$1enere" ;; otterrebbe -> ottenere
      #"(.*)gherebbe"   "$1gare"  ;; piegherebbe -> piegare
      #"(.*)irebbe"     "$1ire"
      #"(.*)irebbe"     "$1irsi"
      #"(.*)rebbe"      "$1re"
      #"(.*)errebbe"    "$1enire" ;; sverrebbe -> svenire
      #"(.*)rebbe"      "$1ere"   ;; potrebbe -> potere
      #"(.*)rrebbe"     "$1lere"  ;; vorrebbe -> volere
      #"(.*)rrebbe"     "$1nere"  ;; rimarrebbe -> rimanere
      ]}
 
 {:agr {:number :plur
        :person :1st}
  :g [#"^(.*)([aei])re$" "$1$2remmo"

      #"(.*)[ae]rsi$"  "$1eremmo"
      #"(.*)[i]rsi$"   "$1iremmo"

      ;; :future-stem
      #"^(.*r)$" "$1emmo"]
  :p [
      #"(.*)cheremmo"   "$1care"   ;; giocheremmo -> giocare
      #"(.*)eramo"     "$1ere"
      #"(.*)eremmo"     "$1are"
      #"(.*)erremmo"    "$1enere"  ;; otterremmo -> ottenere
      #"(.*)ichemmo"     "$1icare" ;; carichemmo -> caricare
      #"(.*)remmo"      "$1are"    ;; "andremmo" -> "andare"
      #"(.*)remmo"      "$1ere"    ;; "avremmo" -> "avere"
      #"(.*)rremmo"     "$1nere"   ;; "terremmo" -> "tenere"
      #"(.*)emmo"       "$1e"      ;; "daremmo" -> "dare"
      #"(.*)gheremmo"   "$1gare"   ;; piegherete -> piegare
      #"(.*)iremmo"     "$1ire"
      #"(.*)iremmo"     "$1irsi"
      #"(.*)erremmo"    "$1edere"  ;; verremmo -> vedere
      #"(.*)erremmo"    "$1enire"  ;; sverremmo -> svenire
      #"(.*)eremmo"     "$1arsi"
      #"(.*)eremmo"     "$1ersi"
      #"(.*)er[r]?emmo" "$1ere"
      #"(.*)rremmo"     "$1lere"   ;; vorremmo -> volere
      #"(.*)eremmo"     "$1iare"
      ]}
 
 {:agr {:number :plur
        :person :2nd}
  :g [#"^(.*)([aei])re$" "$1$2reste"

      #"(.*)[ae]rsi$"  "$1ereste"
      #"(.*)[i]rsi$"   "$1ireste"

      ;; :future-stem
      #"^(.*r)$" "$1este"]
  :p [
      #"(.*)areste"     "$1are"
      #"(.*)cheste"     "$1care"  ;; caricheste -> caricare
      #"(.*)chereste"   "$1care"  ;; giochereste -> giocare
      #"(.*)dreste"     "$1dare"
      #"(.*)ereste"     "$1are"
      #"(.*)ereste"     "$1arsi"
      #"(.*)ereste"     "$1ersi"
      #"(.*)ereste"     "$1irsi"
      #"(.*)ghereste"   "$1gare"  ;; pieghereste -> piegare
      #"(.*)er[r]?este" "$1ere"
      #"(.*)ereste"     "$1iare"
      #"(.*)erreste"    "$1enere" ;; otterreste -> ottenere
      #"(.*)ireste"     "$1ire"
      #"(.*)ireste"     "$1irsi"
      #"(.*)vreste"     "$1vere"
      #"(.*)reste"      "$1ere"   ;; potreste -> potere
      #"(.*)rreste"     "$1lere"  ;; vorreste -> volere
      #"(.*)rreste"     "$1nere"  ;; rimarreste -> rimanere
      #"(.*)rreste"     "$1nire"  ;; verreste -> venire
      ]}

 {:agr {:number :plur
        :person :3rd}
  :g [#"^(.*)([aei])re$" "$1$2rebbero"

      #"(.*)[ae]rsi$"  "$1erebbero"
      #"(.*)[i]rsi$"   "$1irebbero"

      ;; :future-stem
      #"^(.*r)$" "$1ebbero"]
  :p [
      #"(.*)chebbero"     "$1care"
      #"(.*)cherebbero"   "$1care"
      #"(.*)drebbero"     "$1dare"
      #"(.*)drebbero"     "$1edere" ;; vedrebbero -> vedere
      #"(.*)erebbero"     "$1are"
      #"(.*)erebbero"     "$1iare"
      #"(.*)erebbero"     "$1arsi"
      #"(.*)erebbero"     "$1ersi"
      #"(.*)errebbero"    "$1enire"
      #"(.*)errebbero"    "$1enere" ;; otterrebbero -> ottenere
      #"(.*)er[r]?ebbero" "$1ere"
      #"(.*)gherebbero"   "$1gare"  ;; piegherete -> piegare
      #"(.*)irebbero"     "$1ire"
      #"(.*)irebbero"     "$1irsi"
      #"(.*)rebbero"      "$1re"
      #"(.*)rebbero"      "$1ere"   ;; potrebbero -> potere
      #"(.*)vrebbero"     "$1vere"
      #"(.*)rrebbero"     "$1nere"  ;; rimarreste -> rimanere
      #"(.*)rrebbero"     "$1lere"  ;; vorrebbero -> volere
      
      ]}]

<commit_msg>fix conditional 3rd person<commit_after>;; Format: a vector of tuples; each tuple has:
;; :agr   agreement
;; :p     parsing rules: pairs of (from:regex -> to:replacement pattern)
;; :g     generation rules: pairs of (from:regex -> to:replacement pattern)
;;
;; TODO: fill in uncommented blanks below:
;;  add examples for every pattern, both parsing (:p) and generation (:g).
[{:agr {:number :sing
        :person :1st}
  :g [#"^(.*)([aei])re$" "$1$2rei"

      #"(.*)[ae]rsi$"  "$1erei" ;; alzarsi -> alzerei
      #"(.*)[i]rsi$"   "$1irei"

      ;; :future-stem
      #"^(.*r)$" "$1ei" ;; vivere -> vivrei

      ]
  :p [
      #"(.*)erei"     "$1are"
      #"(.*)cherei"   "$1care"   ;; cercherei -> cercare
      #"(.*)chei"     "$1care"   ;; carichei -> caricare
      #"(.*)erei"     "$1arsi"
      #"(.*)er[r]?ei" "$1ere"
      #"(.*)erei"     "$1ersi"
      #"(.*)erei"     "$1iare"
      #"(.*)errei"    "$1ere"
      #"(.*)errei"    "$1enere"  ;; otterrei -> ottenere
      #"(.*)irei"     "$1ire"
      #"(.*)irei"     "$1irsi"
      #"(.*)drei"     "$1dare"
      #"(.*)drei"     "$1dere"
      #"(.*)rei"      "$1re"
      #"(.*)rei"      "$1ere"    ;; potrei -> potere
      #"(.*)trei"     "$1tere"
      #"(.*)vrei"     "$1vere"
      #"(.*)rrei"     "$1lere"   ;; vorrei -> volere
      #"(.*)rrei"     "$1nire"   ;; verrei -> venire
      #"(.*)gherei"   "$1gare"   ;; piegherei -> piegare
      #"(.*)rrei"     "$1nere"   ;; rimarrei -> rimanere
      ]}

 {:agr {:number :sing
        :person :2nd}
  :g [#"^(.*)([aei])re$" "$1$2resti"

      #"(.*)[ae]rsi$"  "$1eresti"
      #"(.*)[i]rsi$"   "$1iresti"

      ;; :future-stem
      #"^(.*r)$" "$1esti"
      ]
      
  :p [
      #"(.*)esti"       "$1e"     ;; faresti -> fare
      #"(.*)eresti"     "$1are"
      #"(.*)eresti"     "$1arsi"
      #"(.*)cheresti"   "$1care"  ;; cercheresti -> cercare
      #"(.*)dresti"     "$1dare"
      #"(.*)eresti"     "$1ersi"
      #"(.*)erresti"    "$1enere" ;; otterresti -> ottenere
      #"(.*)er[r]?esti" "$1ere"
      #"(.*)eresti"     "$1iare"
      #"(.*)erresti"    "$1edere" ;; verrà -> vedere
      #"(.*)gheresti"   "$1gare"  ;; piegheresti -> piegare
      #"(.*)ichesti"    "$1icare"
      #"(.*)iresti"     "$1ire"
      #"(.*)iresti"     "$1irsi"
      #"(.*)erresti"    "$1enire" ;; sverresti -> svenire
      #"(.*)resti"      "$1ere"   ;; potresti -> potere
      #"(.*)vresti"     "$1vere"
      #"(.*)rresti"     "$1lere"  ;; vorresti -> volere
      #"(.*)rresti"     "$1nere"  ;; rimarresti -> rimanere
      ]}
 
 {:agr {:number :sing
        :person :3rd}
  :g [#"^(.*)([ae])re$"  "$1erebbe"
      #"^(.*)([i])re$"   "$1irebbe"

      #"(.*)[ae]rsi$"  "$1erebbe"
      #"(.*)[i]rsi$"   "$1irebbe"

      ;; :future-stem
      #"^(.*r)$" "$1ebbe"
      ]      
  :p [
      #"(.*)chebbe"     "$1care"
      #"(.*)cherebbe"   "$1care"
      #"(.*)drebbe"     "$1dare"
      #"(.*)vrebbe"     "$1vere"
      #"(.*)erebbe"     "$1are"
      #"(.*)erebbe"     "$1arsi"
      #"(.*)er[r]?ebbe" "$1ere"
      #"(.*)erebbe"     "$1ersi"
      #"(.*)erebbe"     "$1iare"
      #"(.*)errebbe"    "$1edere" ;; verrebbe -> vedere
      #"(.*)errebbe"    "$1enere" ;; otterrebbe -> ottenere
      #"(.*)gherebbe"   "$1gare"  ;; piegherebbe -> piegare
      #"(.*)irebbe"     "$1ire"
      #"(.*)irebbe"     "$1irsi"
      #"(.*)rebbe"      "$1re"
      #"(.*)errebbe"    "$1enire" ;; sverrebbe -> svenire
      #"(.*)rebbe"      "$1ere"   ;; potrebbe -> potere
      #"(.*)rrebbe"     "$1lere"  ;; vorrebbe -> volere
      #"(.*)rrebbe"     "$1nere"  ;; rimarrebbe -> rimanere
      ]}
 
 {:agr {:number :plur
        :person :1st}
  :g [#"^(.*)([aei])re$" "$1$2remmo"

      #"(.*)[ae]rsi$"  "$1eremmo"
      #"(.*)[i]rsi$"   "$1iremmo"

      ;; :future-stem
      #"^(.*r)$" "$1emmo"]
  :p [
      #"(.*)cheremmo"   "$1care"   ;; giocheremmo -> giocare
      #"(.*)eramo"     "$1ere"
      #"(.*)eremmo"     "$1are"
      #"(.*)erremmo"    "$1enere"  ;; otterremmo -> ottenere
      #"(.*)ichemmo"     "$1icare" ;; carichemmo -> caricare
      #"(.*)remmo"      "$1are"    ;; "andremmo" -> "andare"
      #"(.*)remmo"      "$1ere"    ;; "avremmo" -> "avere"
      #"(.*)rremmo"     "$1nere"   ;; "terremmo" -> "tenere"
      #"(.*)emmo"       "$1e"      ;; "daremmo" -> "dare"
      #"(.*)gheremmo"   "$1gare"   ;; piegherete -> piegare
      #"(.*)iremmo"     "$1ire"
      #"(.*)iremmo"     "$1irsi"
      #"(.*)erremmo"    "$1edere"  ;; verremmo -> vedere
      #"(.*)erremmo"    "$1enire"  ;; sverremmo -> svenire
      #"(.*)eremmo"     "$1arsi"
      #"(.*)eremmo"     "$1ersi"
      #"(.*)er[r]?emmo" "$1ere"
      #"(.*)rremmo"     "$1lere"   ;; vorremmo -> volere
      #"(.*)eremmo"     "$1iare"
      ]}
 
 {:agr {:number :plur
        :person :2nd}
  :g [#"^(.*)([aei])re$" "$1$2reste"

      #"(.*)[ae]rsi$"  "$1ereste"
      #"(.*)[i]rsi$"   "$1ireste"

      ;; :future-stem
      #"^(.*r)$" "$1este"]
  :p [
      #"(.*)areste"     "$1are"
      #"(.*)cheste"     "$1care"  ;; caricheste -> caricare
      #"(.*)chereste"   "$1care"  ;; giochereste -> giocare
      #"(.*)dreste"     "$1dare"
      #"(.*)ereste"     "$1are"
      #"(.*)ereste"     "$1arsi"
      #"(.*)ereste"     "$1ersi"
      #"(.*)ereste"     "$1irsi"
      #"(.*)ghereste"   "$1gare"  ;; pieghereste -> piegare
      #"(.*)er[r]?este" "$1ere"
      #"(.*)ereste"     "$1iare"
      #"(.*)erreste"    "$1enere" ;; otterreste -> ottenere
      #"(.*)ireste"     "$1ire"
      #"(.*)ireste"     "$1irsi"
      #"(.*)vreste"     "$1vere"
      #"(.*)reste"      "$1ere"   ;; potreste -> potere
      #"(.*)rreste"     "$1lere"  ;; vorreste -> volere
      #"(.*)rreste"     "$1nere"  ;; rimarreste -> rimanere
      #"(.*)rreste"     "$1nire"  ;; verreste -> venire
      ]}

 {:agr {:number :plur
        :person :3rd}
  :g [#"^(.*)([aei])re$" "$1$2rebbero"

      #"(.*)[ae]rsi$"  "$1erebbero"
      #"(.*)[i]rsi$"   "$1irebbero"

      ;; :future-stem
      #"^(.*r)$" "$1ebbero"]
  :p [
      #"(.*)chebbero"     "$1care"
      #"(.*)cherebbero"   "$1care"
      #"(.*)drebbero"     "$1dare"
      #"(.*)drebbero"     "$1edere" ;; vedrebbero -> vedere
      #"(.*)erebbero"     "$1are"
      #"(.*)erebbero"     "$1iare"
      #"(.*)erebbero"     "$1arsi"
      #"(.*)erebbero"     "$1ersi"
      #"(.*)errebbero"    "$1enire"
      #"(.*)errebbero"    "$1enere" ;; otterrebbero -> ottenere
      #"(.*)er[r]?ebbero" "$1ere"
      #"(.*)gherebbero"   "$1gare"  ;; piegherete -> piegare
      #"(.*)irebbero"     "$1ire"
      #"(.*)irebbero"     "$1irsi"
      #"(.*)rebbero"      "$1re"
      #"(.*)rebbero"      "$1ere"   ;; potrebbero -> potere
      #"(.*)vrebbero"     "$1vere"
      #"(.*)rrebbero"     "$1nere"  ;; rimarreste -> rimanere
      #"(.*)rrebbero"     "$1lere"  ;; vorrebbero -> volere
      
      ]}]


{'fraction_non_alphanumeric': 0.27841325707581754, 'fraction_numerical': 0.022363982988708023, 'mean_word_length': 1.9193065068493151, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 109, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5038995', 'n_tokens_mistral': 6565, 'n_tokens_neox': 6372, 'n_words': 953}