diff --git a/lib/resource/exper/abstract/Cat.gf b/lib/resource/exper/abstract/Cat.gf index 6127742f7..23b8f3b0e 100644 --- a/lib/resource/exper/abstract/Cat.gf +++ b/lib/resource/exper/abstract/Cat.gf @@ -98,7 +98,7 @@ abstract Cat = Common ** { -- Constructed in [Structural Structural.html]. Conj ; -- conjunction e.g. "and" - DConj ; -- distributed conjunction e.g. "both - and" +---b DConj ; -- distributed conjunction e.g. "both - and" Subj ; -- subjunction e.g. "if" Prep ; -- preposition, or just case e.g. "in" diff --git a/lib/resource/exper/abstract/Conjunction.gf b/lib/resource/exper/abstract/Conjunction.gf index 4cb770810..4c2183919 100644 --- a/lib/resource/exper/abstract/Conjunction.gf +++ b/lib/resource/exper/abstract/Conjunction.gf @@ -22,10 +22,10 @@ abstract Conjunction = Cat ** { ConjNP : Conj -> [NP] -> NP ; -- "she or we" ConjAdv : Conj -> [Adv] -> Adv ; -- "here or there" - DConjS : DConj -> [S] -> S ; -- "either he walks or she runs" - DConjAP : DConj -> [AP] -> AP ; -- "both warm and cold" - DConjNP : DConj -> [NP] -> NP ; -- "either he or she" - DConjAdv : DConj -> [Adv] -> Adv; -- "both here and there" +---b DConjS : DConj -> [S] -> S ; -- "either he walks or she runs" +---b DConjAP : DConj -> [AP] -> AP ; -- "both warm and cold" +---b DConjNP : DConj -> [NP] -> NP ; -- "either he or she" +---b DConjAdv : DConj -> [Adv] -> Adv; -- "both here and there" --2 Categories diff --git a/lib/resource/exper/abstract/Structural.gf b/lib/resource/exper/abstract/Structural.gf index 832a0864e..ec80bcb52 100644 --- a/lib/resource/exper/abstract/Structural.gf +++ b/lib/resource/exper/abstract/Structural.gf @@ -24,14 +24,16 @@ abstract Structural = Cat ** { before_Prep : Prep ; behind_Prep : Prep ; between_Prep : Prep ; - both7and_DConj : DConj ; + both7and_DConj : Conj ; +---b both7and_DConj : DConj ; but_PConj : PConj ; by8agent_Prep : Prep ; by8means_Prep : Prep ; can8know_VV : VV ; can_VV : VV ; during_Prep : Prep ; - either7or_DConj : DConj ; + either7or_DConj : Conj ; +---b either7or_DConj : DConj ; every_Det : Det ; everybody_NP : NP ; everything_NP : NP ; diff --git a/lib/resource/exper/english/CatEng.gf b/lib/resource/exper/english/CatEng.gf index e69ee202d..bbc367f6c 100644 --- a/lib/resource/exper/english/CatEng.gf +++ b/lib/resource/exper/english/CatEng.gf @@ -64,8 +64,9 @@ concrete CatEng of Cat = CommonX ** open ResEng, Prelude in { -- Structural - Conj = {s : Str ; n : Number} ; - DConj = {s1,s2 : Str ; n : Number} ; + Conj = {s1,s2 : Str ; n : Number} ; +---b Conj = {s : Str ; n : Number} ; +---b DConj = {s1,s2 : Str ; n : Number} ; Subj = {s : Str} ; Prep = {s : Str} ; diff --git a/lib/resource/exper/english/ConjunctionEng.gf b/lib/resource/exper/english/ConjunctionEng.gf index 79474e80f..269ae5f80 100644 --- a/lib/resource/exper/english/ConjunctionEng.gf +++ b/lib/resource/exper/english/ConjunctionEng.gf @@ -5,6 +5,20 @@ concrete ConjunctionEng of Conjunction = lin + ConjS = conjunctDistrSS ; + + ConjAdv = conjunctDistrSS ; + + ConjNP conj ss = conjunctDistrTable Case conj ss ** { + a = conjAgr (agrP3 conj.n) ss.a + } ; + + ConjAP conj ss = conjunctDistrTable Agr conj ss ** { + isPre = ss.isPre + } ; + +{---b + ConjS = conjunctSS ; DConjS = conjunctDistrSS ; @@ -24,6 +38,7 @@ concrete ConjunctionEng of Conjunction = DConjAP conj ss = conjunctDistrTable Agr conj ss ** { isPre = ss.isPre } ; +-} -- These fun's are generated from the list cat's. diff --git a/lib/resource/exper/english/PhraseEng.gf b/lib/resource/exper/english/PhraseEng.gf index ec31aeb83..c635d4b98 100644 --- a/lib/resource/exper/english/PhraseEng.gf +++ b/lib/resource/exper/english/PhraseEng.gf @@ -16,7 +16,7 @@ concrete PhraseEng of Phrase = CatEng ** open Prelude, ResEng in { UttAdv adv = adv ; NoPConj = {s = []} ; - PConjConj conj = conj ; + PConjConj conj = {s = conj.s2} ; --- NoVoc = {s = []} ; VocNP np = {s = "," ++ np.s ! Nom} ; diff --git a/lib/resource/exper/english/StructuralEng.gf b/lib/resource/exper/english/StructuralEng.gf index 970e402fb..f7e1b363b 100644 --- a/lib/resource/exper/english/StructuralEng.gf +++ b/lib/resource/exper/english/StructuralEng.gf @@ -10,7 +10,8 @@ concrete StructuralEng of Structural = CatEng ** almost_AdA, almost_AdN = ss "almost" ; although_Subj = ss "although" ; always_AdV = ss "always" ; - and_Conj = ss "and" ** {n = Pl} ; + and_Conj = sd2 [] "and" ** {n = Pl} ; +---b and_Conj = ss "and" ** {n = Pl} ; because_Subj = ss "because" ; before_Prep = ss "before" ; behind_Prep = ss "behind" ; @@ -73,7 +74,7 @@ concrete StructuralEng of Structural = CatEng ** on_Prep = ss "on" ; ---- one_Quant = mkDeterminer Sg "one" ; -- DEPRECATED only_Predet = ss "only" ; - or_Conj = ss "or" ** {n = Sg} ; + or_Conj = sd2 [] "or" ** {n = Sg} ; otherwise_PConj = ss "otherwise" ; part_Prep = ss "of" ; please_Voc = ss "please" ;