From 734ac4cfc27bcd8873c879ae2a26d923199d409f Mon Sep 17 00:00:00 2001 From: bjorn Date: Tue, 25 Nov 2008 19:53:22 +0000 Subject: [PATCH] Added ParadigmsEng.mkConj. --- next-lib/src/english/ParadigmsEng.gf | 19 +++++++++++++++++++ next-lib/src/english/StructuralEng.gf | 11 +++++------ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/next-lib/src/english/ParadigmsEng.gf b/next-lib/src/english/ParadigmsEng.gf index 705c15189..005eb5454 100644 --- a/next-lib/src/english/ParadigmsEng.gf +++ b/next-lib/src/english/ParadigmsEng.gf @@ -202,6 +202,16 @@ oper -- (These two functions are synonyms.) +--2 Conjunctions +-- + + mkConj : overload { + mkConj : Str -> Conj ; -- and (plural agreement) + mkConj : Str -> Number -> Conj ; -- or (agrement number given as argument) + mkConj : Str -> Str -> Conj ; -- both ... and (plural) + mkConj : Str -> Str -> Number -> Conj ; -- either ... or (agrement number given as argument) + } ; + --2 Verbs -- @@ -630,6 +640,15 @@ mkSubj : Str -> Subj = \s -> {s = s ; lock_Subj = <>} ; mkV3 : Str -> V3 = \v -> dirdirV3 (regV v) ; } ; + mkConj = overload { + mkConj : Str -> Conj = \y -> mk2Conj [] y plural ; + mkConj : Str -> Number -> Conj = \y,n -> mk2Conj [] y n ; + mkConj : Str -> Str -> Conj = \x,y -> mk2Conj x y plural ; + mkConj : Str -> Str -> Number -> Conj = mk2Conj ; + } ; + + mk2Conj : Str -> Str -> Number -> Conj = \x,y,n -> sd2 x y ** { n = n; lock_Conj = <> } ; + ---- obsolete -- Comparison adjectives may two more forms. diff --git a/next-lib/src/english/StructuralEng.gf b/next-lib/src/english/StructuralEng.gf index 873e782b2..1f0715fc5 100644 --- a/next-lib/src/english/StructuralEng.gf +++ b/next-lib/src/english/StructuralEng.gf @@ -11,13 +11,12 @@ concrete StructuralEng of Structural = CatEng ** almost_AdN = mkAdN "almost" ; although_Subj = ss "although" ; always_AdV = mkAdV "always" ; - and_Conj = sd2 [] "and" ** {n = plural} ; ----b and_Conj = ss "and" ** {n = plural} ; + and_Conj = mkConj "and" ; because_Subj = ss "because" ; before_Prep = mkPrep "before" ; behind_Prep = mkPrep "behind" ; between_Prep = mkPrep "between" ; - both7and_DConj = sd2 "both" "and" ** {n = plural} ; + both7and_DConj = mkConj "both" "and"; but_PConj = ss "but" ; by8agent_Prep = mkPrep "by" ; by8means_Prep = mkPrep "by" ; @@ -34,7 +33,7 @@ concrete StructuralEng of Structural = CatEng ** isAux = True } ; during_Prep = mkPrep "during" ; - either7or_DConj = sd2 "either" "or" ** {n = singular} ; + either7or_DConj = mkConj "either" "or" singular ; everybody_NP = regNP "everybody" singular ; every_Det = mkDeterminer singular "every" ; everything_NP = regNP "everything" singular ; @@ -76,7 +75,7 @@ concrete StructuralEng of Structural = CatEng ** on_Prep = mkPrep "on" ; ---- one_Quant = mkDeterminer singular "one" ; -- DEPRECATED only_Predet = ss "only" ; - or_Conj = sd2 [] "or" ** {n = singular} ; + or_Conj = mkConj "or" singular ; otherwise_PConj = ss "otherwise" ; part_Prep = mkPrep "of" ; please_Voc = ss "please" ; @@ -124,7 +123,7 @@ concrete StructuralEng of Structural = CatEng ** not_Predet = {s = "not" ; lock_Predet = <>} ; no_Quant = mkQuant "no" "no" "none" "none" ; - if_then_Conj = {s1 = "if" ; s2 = "then" ; n = singular ; lock_Conj = <>} ; + if_then_Conj = mkConj "if" "then" singular ; nobody_NP = regNP "nobody" singular ; nothing_NP = regNP "nothing" singular ;