diff options
| author | bjculkin <bjculkin@mix.wvu.edu> | 2017-04-05 09:55:46 -0400 |
|---|---|---|
| committer | bjculkin <bjculkin@mix.wvu.edu> | 2017-04-05 09:55:46 -0400 |
| commit | 8259732a0e1d70284adcc6e7ef492603a3d59565 (patch) | |
| tree | dddf7426a5df91d7c72c95c4f8a86c9e33bafb5f /src/main/java/bjc/inflexion/v2/Nouns.java | |
| parent | 33ca2d7aab7405cff287ac2248079fe60fee779a (diff) | |
More plural fixes
Diffstat (limited to 'src/main/java/bjc/inflexion/v2/Nouns.java')
| -rw-r--r-- | src/main/java/bjc/inflexion/v2/Nouns.java | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/main/java/bjc/inflexion/v2/Nouns.java b/src/main/java/bjc/inflexion/v2/Nouns.java index 3a97be3..e2609be 100644 --- a/src/main/java/bjc/inflexion/v2/Nouns.java +++ b/src/main/java/bjc/inflexion/v2/Nouns.java @@ -182,18 +182,38 @@ public class Nouns { private void handleCompound(String actSingular, String actModern, String actClassical, String singularPatt, String modernPatt, String classicalPatt, List<CompoundNounInflection> inflections) { + if(singularPatt.contains("*")) { + singularPatt = singularPatt.replaceAll(Pattern.quote("*"), "(?<scratch>\\\\w+)"); + modernPatt = modernPatt.replaceAll(Pattern.quote("*"), "(?<scratch>\\\\w+)"); + classicalPatt = classicalPatt.replaceAll(Pattern.quote("*"), "(?<scratch>\\\\w+)"); + + actSingular = actSingular.replaceAll(Pattern.quote("*"), "%2\\$s"); + actModern = actModern.replaceAll(Pattern.quote("*"), "%2\\$s"); + actClassical = actClassical.replaceAll(Pattern.quote("*"), "%2\\$s"); + + handleNonpluralCompound(actSingular, actModern, actClassical, singularPatt, modernPatt, + classicalPatt, inflections, true); + } else { + handleNonpluralCompound(actSingular, actModern, actClassical, singularPatt, modernPatt, + classicalPatt, inflections, false); + } + } + + private void handleNonpluralCompound(String actSingular, String actModern, String actClassical, + String singularPatt, String modernPatt, String classicalPatt, + List<CompoundNounInflection> inflections, boolean hasScratch) { actModern = actModern.equals("") ? null : actModern; actClassical = actClassical.equals("") ? null : actClassical; CompoundNounInflection singularInflection = new CompoundNounInflection(this, prepositionDB, - Pattern.compile(singularPatt), actSingular, actModern, actClassical, false, false); + Pattern.compile(singularPatt), actSingular, actModern, actClassical, false, hasScratch); inflections.add(singularInflection); if(!modernPatt.equals("")) { CompoundNounInflection modernInflection = new CompoundNounInflection(this, prepositionDB, Pattern.compile(modernPatt), actSingular, actModern, actClassical, false, - false); + hasScratch); inflections.add(modernInflection); } @@ -201,7 +221,7 @@ public class Nouns { if(!classicalPatt.equals("")) { CompoundNounInflection classicalInflection = new CompoundNounInflection(this, prepositionDB, Pattern.compile(classicalPatt), actSingular, actModern, actClassical, false, - false); + hasScratch); inflections.add(classicalInflection); } |
