summaryrefslogtreecommitdiff
path: root/next-lib/src/english/ParadigmsEng.gf
diff options
context:
space:
mode:
Diffstat (limited to 'next-lib/src/english/ParadigmsEng.gf')
-rw-r--r--next-lib/src/english/ParadigmsEng.gf17
1 files changed, 17 insertions, 0 deletions
diff --git a/next-lib/src/english/ParadigmsEng.gf b/next-lib/src/english/ParadigmsEng.gf
index 16d04045e..c6c9ba4db 100644
--- a/next-lib/src/english/ParadigmsEng.gf
+++ b/next-lib/src/english/ParadigmsEng.gf
@@ -128,6 +128,12 @@ oper
mkPN : N -> PN
} ;
+--3 Determiners and quantifiers
+
+ mkQuant : overload {
+ mkQuant : (this, these : Str) -> Quant ;
+ mkQuant : (no_sg, no_pl, none_sg, non_pl : Str) -> Quant ;
+ } ;
--2 Adjectives
@@ -391,6 +397,17 @@ mkSubj : Str -> Subj = \s -> {s = s ; lock_Subj = <>} ;
g = g ; lock_PN = <>} ;
nounPN n = {s = n.s ! singular ; g = n.g ; lock_PN = <>} ;
+ mkQuant = overload {
+ mkQuant : (this, these : Str) -> Quant = \sg,pl -> mkQuantifier sg pl sg pl;
+ mkQuant : (no_sg, no_pl, none_sg, non_pl : Str) -> Quant = mkQuantifier;
+ } ;
+
+ mkQuantifier : Str -> Str -> Str -> Str -> Quant = \sg,pl,sg',pl' -> {
+ s = \\_ => table { Sg => sg ; Pl => pl } ;
+ sp = \\_ => table { Sg => regGenitiveS sg' ; Pl => regGenitiveS pl' } ;
+ lock_Quant = <>
+ } ;
+
mk2A a b = mkAdjective a a a b ** {lock_A = <>} ;
regA a = case a of {
_ + ("a" | "e" | "i" | "o" | "u" | "y") + ? + _ +