Skip to content

Commit

Permalink
add support for some more cases of loan-word inflection
Browse files Browse the repository at this point in the history
  • Loading branch information
nolda committed Nov 7, 2024
1 parent ea530d5 commit 22ab44e
Show file tree
Hide file tree
Showing 6 changed files with 186 additions and 56 deletions.
6 changes: 6 additions & 0 deletions grammar/ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
This file logs the changes in FST files, starting from the DSDSmor fork.

2024-11-07:

* add inflection classes `NMasc_0_ix/izes_0`, `NMasc_es_ix/izes_0`,
`NMasc_0_os/en_0`, `NNeut_0_os/en_0`, `NNeut_0_ex/izia_0`,
`NNeut_es_ex/izia_0`, and `NFem_0_es/en_0`

2024-11-01:

* add inflection classes `NMasc_0_i_0`, `NMasc_0_es/iden_0`,
Expand Down
34 changes: 32 additions & 2 deletions grammar/infl.fst
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@ $NMasc_0_i/en_0$ = $NMasc_0_a/en_0$
$NMasc_0_is/es_0$ = {<+NN><Masc>}:{} $NGenSgSuff_0$ | \
{<+NN><Masc>}:{<del(VC)|Pl><SB>es} $NDatPlSuff_0$

% Appendix, Appendix, Appendizes, Appendizes
$NMasc_0_ix/izes_0$ = $NMasc_0_ex/izes_0$

% Saldo, Saldo, Salden, Salden
$NMasc_0_o/en_0$ = $NMasc_0_a/en_0$

Expand All @@ -172,7 +175,10 @@ $NMasc_0_os/oi_0$ = {<+NN><Masc>}:{} $NGenSgSuff_0$ | \
$NMasc_0_us/e_n$ = {<+NN><Masc>}:{} $NGenSgSuff_0$ | \
{<+NN><Masc>}:{<del(VC)|Pl><SB>e} $NDatPlSuff_n$

% Virus, Virus, Viren, Viren; Mythos, Mythos, Mythen, Mythen
% Mythos, Mythos, Mythen, Mythen
$NMasc_0_os/en_0$ = $NMasc_0_a/en_0$

% Virus, Virus, Viren, Viren
$NMasc_0_us/en_0$ = $NMasc_0_a/en_0$

% Kaktus, Kaktus, Kakteen, Kakteen
Expand Down Expand Up @@ -229,6 +235,9 @@ $NMasc_es_as/anten_0~ss$ = $SS$ {<+NN><Masc>}:{} $NGenSgSuf
$NMasc_es_ex/izes_0$ = {<+NN><Masc>}:{} $NGenSgSuff_es$ | \
{<+NN><Masc>}:{<del(VC)|Pl>iz<SB>es} $NDatPlSuff_0$

% Appendix, Appendixes, Appendizes, Appendizes
$NMasc_es_ix/izes_0$ = $NMasc_es_ex/izes_0$

% Virus, Virusses, Viren, Viren
$NMasc_es_us/en_0~ss$ = $SS$ {<+NN><Masc>}:{} $NGenSgSuff_es$ | \
{<+NN><Masc>}:{<del(VC)|Pl><SB>en} $NDatPlSuff_0$
Expand Down Expand Up @@ -456,6 +465,10 @@ $NNeut_0_ens/entien_0$ = {<+NN><Neut>}:{} $NGenSgSuff_0$ |
$NNeut_0_ens/enzien_0$ = {<+NN><Neut>}:{} $NGenSgSuff_0$ | \
{<+NN><Neut>}:{<del(VC)|Pl>enzi<SB>en} $NDatPlSuff_0$

% Simplex, Simplex, Simplizia, Simplizia
$NNeut_0_ex/izia_0$ = {<+NN><Neut>}:{} $NGenSgSuff_0$ | \
{<+NN><Neut>}:{<del(VC)|Pl>iz<SB>ia} $NDatPlSuff_0$

% Taxi, Taxi, Taxen, Taxen
$NNeut_0_i/en_0$ = $NNeut_0_a/en_0$

Expand All @@ -478,7 +491,10 @@ $NNeut_0_um/a_0$ = $NNeut_0_on/a_0$
% Museum, Museum, Museen, Museen
$NNeut_0_um/en_0$ = $NNeut_0_a/en_0$

% Virus, Virus, Viren, Viren; Epos, Epos, Epen, Epen
% Epos, Epos, Epen, Epen
$NNeut_0_os/en_0$ = $NNeut_0_a/en_0$

% Virus, Virus, Viren, Viren
$NNeut_0_us/en_0$ = $NNeut_0_a/en_0$

% Genus, Genus, Genera, Genera
Expand Down Expand Up @@ -524,6 +540,10 @@ $NNeut_es_s_0$ = {<+NN><Neut>}:{} $NGenSgSuff_es$ | \
$NNeut_es_ien_0$ = {<+NN><Neut>}:{} $NGenSgSuff_es$ | \
{<+NN><Neut>}:{i<SB>en} $NDatPlSuff_0$

% Simplex, Simplexes, Simplizia, Simplizia
$NNeut_es_ex/izia_0$ = {<+NN><Neut>}:{} $NGenSgSuff_es$ | \
{<+NN><Neut>}:{<del(VC)|Pl>iz<SB>ia} $NDatPlSuff_0$

% Almosen, Almosens, Almosen, Almosen
$NNeut_s_0_0$ = {<+NN><Neut>}:{} $NGenSgSuff_s$ | \
{<+NN><Neut>}:{} $NDatPlSuff_0$
Expand Down Expand Up @@ -743,6 +763,9 @@ $NFem_0_anx/angen_0$ = {<+NN><Fem>}:{} $NGenSgSuff_0$ | \
$NFem_0_e/i_0$ = {<+NN><Fem>}:{} $NGenSgSuff_0$ | \
{<+NN><Fem>}:{<del(VC)|Pl><SB>i} $NDatPlSuff_0$

% Spezies, Spezies, Spezien, Spezien
$NFem_0_es/en_0$ = $NFem_0_a/en_0$

% Lex, Lex, Leges, Leges
$NFem_0_ex/eges_0$ = {<+NN><Fem>}:{} $NGenSgSuff_0$ | \
{<+NN><Fem>}:{<del(VC)|Pl>eg<SB>es} $NDatPlSuff_0$
Expand Down Expand Up @@ -2740,6 +2763,7 @@ $INFL$ = <>:<AbbrAdj> $AbbrAdj$ | \
<>:<NFem_0_e/i_0> $NFem_0_e/i_0$ | \
<>:<NFem_0_en_0> $NFem_0_en_0$ | \
<>:<NFem_0_es_0> $NFem_0_es_0$ | \
<>:<NFem_0_es/en_0> $NFem_0_es/en_0$ | \
<>:<NFem_0_ex/eges_0> $NFem_0_ex/eges_0$ | \
<>:<NFem_0_is/en_0> $NFem_0_is/en_0$ | \
<>:<NFem_0_is/iden_0> $NFem_0_is/iden_0$ | \
Expand Down Expand Up @@ -2773,12 +2797,14 @@ $INFL$ = <>:<AbbrAdj> $AbbrAdj$ | \
<>:<NMasc_0_es/ides_0> $NMasc_0_es/ides_0$ | \
<>:<NMasc_0_es_0> $NMasc_0_es_0$ | \
<>:<NMasc_0_ex/izes_0> $NMasc_0_ex/izes_0$ | \
<>:<NMasc_0_ix/izes_0> $NMasc_0_ix/izes_0$ | \
<>:<NMasc_0_i/en_0> $NMasc_0_i/en_0$ | \
<>:<NMasc_0_i_0> $NMasc_0_i_0$ | \
<>:<NMasc_0_is/es_0> $NMasc_0_is/es_0$ | \
<>:<NMasc_0_nen_0> $NMasc_0_nen_0$ | \
<>:<NMasc_0_o/en_0> $NMasc_0_o/en_0$ | \
<>:<NMasc_0_o/i_0> $NMasc_0_o/i_0$ | \
<>:<NMasc_0_os/en_0> $NMasc_0_os/en_0$ | \
<>:<NMasc_0_os/oden_0> $NMasc_0_os/oden_0$ | \
<>:<NMasc_0_os/oen_0> $NMasc_0_os/oen_0$ | \
<>:<NMasc_0_os/oi_0> $NMasc_0_os/oi_0$ | \
Expand All @@ -2800,6 +2826,7 @@ $INFL$ = <>:<AbbrAdj> $AbbrAdj$ | \
<>:<NMasc_es_es_0> $NMasc_es_es_0$ | \
<>:<NMasc_es_s_0> $NMasc_es_s_0$ | \
<>:<NMasc_es_ex/izes_0> $NMasc_es_ex/izes_0$ | \
<>:<NMasc_es_ix/izes_0> $NMasc_es_ix/izes_0$ | \
<>:<NMasc_es_us/een_0~ss> $NMasc_es_us/een_0~ss$ | \
<>:<NMasc_es_us/en_0~ss> $NMasc_es_us/en_0~ss$ | \
<>:<NMasc_es_us/i_0~ss> $NMasc_es_us/i_0~ss$ | \
Expand Down Expand Up @@ -2854,12 +2881,14 @@ $INFL$ = <>:<AbbrAdj> $AbbrAdj$ | \
<>:<NNeut_0_ens/entien_0> $NNeut_0_ens/entien_0$ | \
<>:<NNeut_0_ens/enzien_0> $NNeut_0_ens/enzien_0$ | \
<>:<NNeut_0_es_0> $NNeut_0_es_0$ | \
<>:<NNeut_0_ex/izia_0> $NNeut_0_ex/izia_0$ | \
<>:<NNeut_0_i/en_0> $NNeut_0_i/en_0$ | \
<>:<NNeut_0_nen_0> $NNeut_0_nen_0$ | \
<>:<NNeut_0_o/en_0> $NNeut_0_o/en_0$ | \
<>:<NNeut_0_o/i_0> $NNeut_0_o/i_0$ | \
<>:<NNeut_0_on/a_0> $NNeut_0_on/a_0$ | \
<>:<NNeut_0_on/en_0> $NNeut_0_on/en_0$ | \
<>:<NNeut_0_os/en_0> $NNeut_0_os/en_0$ | \
<>:<NNeut_0_s_0> $NNeut_0_s_0$ | \
<>:<NNeut_0_um/a_0> $NNeut_0_um/a_0$ | \
<>:<NNeut_0_um/en_0> $NNeut_0_um/en_0$ | \
Expand All @@ -2874,6 +2903,7 @@ $INFL$ = <>:<AbbrAdj> $AbbrAdj$ | \
<>:<NNeut_es_en_0> $NNeut_es_en_0$ | \
<>:<NNeut_es_er_n> $NNeut_es_er_n$ | \
<>:<NNeut_es_es_0> $NNeut_es_es_0$ | \
<>:<NNeut_es_ex/izia_0> $NNeut_es_ex/izia_0$ | \
<>:<NNeut_es_ien_0> $NNeut_es_ien_0$ | \
<>:<NNeut_es_s_0> $NNeut_es_s_0$ | \
<>:<NNeut_s_$_n> $NNeut_s_\$_n$ | \
Expand Down
82 changes: 43 additions & 39 deletions grammar/symbols.fst
Original file line number Diff line number Diff line change
Expand Up @@ -151,55 +151,59 @@
<NFem_0_$e_n><NFem_0_$en_0><NFem_0_0_0><NFem_0_0_n> \
<NFem_0_a/e_0><NFem_0_a/en_0><NFem_0_e_0><NFem_0_e_n> \
<NFem_0_e_n~ss><NFem_0_ans/anten_0><NFem_0_anx/angen_0> \
<NFem_0_e/i_0><NFem_0_en_0><NFem_0_es_0><NFem_0_ex/eges_0> \
<NFem_0_is/en_0><NFem_0_is/iden_0><NFem_0_is/ides_0> \
<NFem_0_ix/ices_0><NFem_0_ix/izen_0><NFem_0_ix/izes_0> \
<NFem_0_n_0><NFem_0_ien_0><NFem_0_nes_0><NFem_0_os/otes_0> \
<NFem_0_ox/oces_0><NFem_0_s_0><NMasc-Adj><NMasc|Pl_0> \
<NMasc|Sg_0><NMasc|Sg_es><NMasc|Sg_ns><NMasc|Sg_s> \
<NMasc_0_$e_n><NMasc_0_0_0><NMasc_0_0_n><NMasc_0_a/en_0> \
<NMasc_0_as/anten_0><NMasc_0_e_n><NMasc_0_e_n~ss> \
<NMasc_0_e/i_0><NMasc_0_en_0><NMasc_0_ens/entes_0> \
<NMasc_0_es/iden_0><NMasc_0_es/ides_0><NMasc_0_es_0> \
<NMasc_0_ex/izes_0><NMasc_0_i/en_0><NMasc_0_i_0> \
<NMasc_0_is/es_0><NMasc_0_nen_0><NMasc_0_o/en_0> \
<NMasc_0_o/i_0><NMasc_0_os/oden_0><NMasc_0_os/oen_0> \
<NFem_0_e/i_0><NFem_0_en_0><NFem_0_es_0><NFem_0_es/en_0> \
<NFem_0_ex/eges_0><NFem_0_is/en_0><NFem_0_is/iden_0> \
<NFem_0_is/ides_0><NFem_0_ix/ices_0><NFem_0_ix/izen_0> \
<NFem_0_ix/izes_0><NFem_0_n_0><NFem_0_ien_0><NFem_0_nes_0> \
<NFem_0_os/otes_0><NFem_0_ox/oces_0><NFem_0_s_0><NMasc-Adj> \
<NMasc|Pl_0><NMasc|Sg_0><NMasc|Sg_es><NMasc|Sg_ns> \
<NMasc|Sg_s><NMasc_0_$e_n><NMasc_0_0_0><NMasc_0_0_n> \
<NMasc_0_a/en_0><NMasc_0_as/anten_0><NMasc_0_e_n> \
<NMasc_0_e_n~ss><NMasc_0_e/i_0><NMasc_0_en_0> \
<NMasc_0_ens/entes_0><NMasc_0_es/iden_0><NMasc_0_es/ides_0> \
<NMasc_0_es_0><NMasc_0_ex/izes_0><NMasc_0_ix/izes_0> \
<NMasc_0_i/en_0><NMasc_0_i_0><NMasc_0_is/es_0> \
<NMasc_0_nen_0><NMasc_0_o/en_0><NMasc_0_o/i_0> \
<NMasc_0_os/en_0><NMasc_0_os/oden_0><NMasc_0_os/oen_0> \
<NMasc_0_os/oi_0><NMasc_0_s_0><NMasc_0_us/e_n> \
<NMasc_0_us/een_0><NMasc_0_us/en_0><NMasc_0_us/i_0> \
<NMasc_0_us/ier_n><NMasc_0_ynx/yngen_0><NMasc_en_en_0> \
<NMasc_es_$e_n><NMasc_es_$er_n><NMasc_es_as/anten_0~ss> \
<NMasc_es_e_n><NMasc_es_e_n~ss><NMasc_es_en_0> \
<NMasc_es_er_n><NMasc_es_es_0><NMasc_es_ex/izes_0> \
<NMasc_es_s_0><NMasc_es_us/een_0~ss><NMasc_es_us/en_0~ss> \
<NMasc_es_us/i_0~ss><NMasc_n_e/s_0><NMasc_n_n_0> \
<NMasc_n_ns_0><NMasc_ns_n_0><NMasc_ns_$n_0><NMasc_s_$_n> \
<NMasc_s_$e_n><NMasc_s_$er_n><NMasc_s_$_0><NMasc_s_0_0> \
<NMasc_s_0_n><NMasc_s_a/en_0><NMasc_s_e_n><NMasc_s_e/i_0> \
<NMasc_s_er/res_0><NMasc_s_en_0><NMasc_s_er_n><NMasc_s_es_0> \
<NMasc_s_/en_0><NMasc_s_n_0><NMasc_s_ien_0><NMasc_s_nen_0> \
<NMasc_s_o/en_0><NMasc_s_o/i_0><NMasc_s_s_0><NNeut-Adj> \
<NNeut-Adj|Sg><NNeut-Inner><NNeut|Pl_0><NNeut|Pl_n> \
<NNeut|Sg_0><NNeut|Sg_es><NNeut|Sg_es~ss><NNeut|Sg_s> \
<NNeut_0_0_0><NNeut_0_0_n><NNeut_0_a/ata_0><NNeut_0_a/en_0> \
<NMasc_es_ix/izes_0><NMasc_es_s_0><NMasc_es_us/een_0~ss> \
<NMasc_es_us/en_0~ss><NMasc_es_us/i_0~ss><NMasc_n_e/s_0> \
<NMasc_n_n_0><NMasc_n_ns_0><NMasc_ns_n_0><NMasc_ns_$n_0> \
<NMasc_s_$_n><NMasc_s_$e_n><NMasc_s_$er_n><NMasc_s_$_0> \
<NMasc_s_0_0><NMasc_s_0_n><NMasc_s_a/en_0><NMasc_s_e_n> \
<NMasc_s_e/i_0><NMasc_s_er/res_0><NMasc_s_en_0> \
<NMasc_s_er_n><NMasc_s_es_0><NMasc_s_i/en_0><NMasc_s_/en_0> \
<NMasc_s_n_0><NMasc_s_ien_0><NMasc_s_nen_0><NMasc_s_o/en_0> \
<NMasc_s_o/i_0><NMasc_s_s_0><NNeut-Adj><NNeut-Adj|Sg> \
<NNeut-Inner><NNeut|Pl_0><NNeut|Pl_n><NNeut|Sg_0> \
<NNeut|Sg_es><NNeut|Sg_es~ss><NNeut|Sg_s><NNeut_0_0_0> \
<NNeut_0_0_n><NNeut_0_a/ata_0><NNeut_0_a/en_0> \
<NNeut_0_ans/antien_0><NNeut_0_ans/anzien_0><NNeut_0_e_n> \
<NNeut_0_e_n~ss><NNeut_0_e/i_0><NNeut_0_e/ia_0> \
<NNeut_0_e/ien_0><NNeut_0_en_0><NNeut_0_en/ina_0> \
<NNeut_0_ens/entia_0><NNeut_0_ens/entien_0> \
<NNeut_0_ens/enzien_0><NNeut_0_es_0><NNeut_0_i/en_0> \
<NNeut_0_nen_0><NNeut_0_o/en_0><NNeut_0_o/i_0> \
<NNeut_0_on/a_0><NNeut_0_on/en_0><NNeut_0_s_0> \
<NNeut_0_um/a_0><NNeut_0_um/en_0><NNeut_0_us/en_0> \
<NNeut_0_us/era_0><NNeut_0_us/ora_0><NNeut_ens_en_0> \
<NNeut_es_$e_n><NNeut_es_$er_n><NNeut_es_e_n> \
<NNeut_es_e_n~ss><NNeut_es_en_0><NNeut_es_er_n> \
<NNeut_es_es_0><NNeut_es_ien_0><NNeut_es_s_0><NNeut_s_$_n> \
<NNeut_s_$er_n><NNeut_s_0_n><NNeut_s_a_0><NNeut_s_a/ata_0> \
<NNeut_s_a/en_0><NNeut_s_e_n><NNeut_s_e/i_0><NNeut_s_e/ia_0> \
<NNeut_s_e/ien_0><NNeut_s_en_0><NNeut_s_en/ina_0> \
<NNeut_s_i/en_0><NNeut_s_ien_0><NNeut_s_n_0><NNeut_s_nen_0> \
<NNeut_s_o/en_0><NNeut_s_o/i_0><NNeut_s_on/a_0> \
<NNeut_s_on/en_0><NNeut_s_s_0><NNeut_s_um/a_0> \
<NNeut_s_um/en_0><NNeut_s_0_0><NNoGend|Pl_0><NNoGend|Pl_n>
<NNeut_0_ens/enzien_0><NNeut_0_es_0><NNeut_0_ex/izia_0> \
<NNeut_0_i/en_0><NNeut_0_nen_0><NNeut_0_o/en_0> \
<NNeut_0_o/i_0><NNeut_0_on/a_0><NNeut_0_on/en_0> \
<NNeut_0_os/en_0><NNeut_0_s_0><NNeut_0_um/a_0> \
<NNeut_0_um/en_0><NNeut_0_us/en_0><NNeut_0_us/era_0> \
<NNeut_0_us/ora_0><NNeut_ens_en_0><NNeut_es_$e_n> \
<NNeut_es_$er_n><NNeut_es_e_n><NNeut_es_e_n~ss> \
<NNeut_es_en_0><NNeut_es_er_n><NNeut_es_es_0> \
<NNeut_es_ex/izia_0><NNeut_es_ien_0><NNeut_es_s_0> \
<NNeut_s_$_n><NNeut_s_$er_n><NNeut_s_0_n><NNeut_s_a_0> \
<NNeut_s_a/ata_0><NNeut_s_a/en_0><NNeut_s_e_n> \
<NNeut_s_e/i_0><NNeut_s_e/ia_0><NNeut_s_e/ien_0> \
<NNeut_s_en_0><NNeut_s_en/ina_0><NNeut_s_i/en_0> \
<NNeut_s_ien_0><NNeut_s_n_0><NNeut_s_nen_0><NNeut_s_o/en_0> \
<NNeut_s_o/i_0><NNeut_s_on/a_0><NNeut_s_on/en_0> \
<NNeut_s_s_0><NNeut_s_um/a_0><NNeut_s_um/en_0><NNeut_s_0_0> \
<NNoGend|Pl_0><NNoGend|Pl_n>
#Name-inflection# = <NameFem_0><NameFem_apos><NameFem_s><NameMasc_0> \
<NameMasc_apos><NameMasc_es><NameMasc_s><NameNeut_0> \
Expand Down
Loading

0 comments on commit 22ab44e

Please sign in to comment.