diff --git a/lib/next-resource/abstract/Common.gf b/lib/next-resource/abstract/Common.gf index 76bfd9cf4..2aa8f0d59 100644 --- a/lib/next-resource/abstract/Common.gf +++ b/lib/next-resource/abstract/Common.gf @@ -46,11 +46,14 @@ abstract Common = { --2 Tense, polarity, and anteriority + Temp ; -- temporal and aspectual features e.g. past anterior Tense ; -- tense e.g. present, past, future Pol ; -- polarity e.g. positive, negative Ant ; -- anteriority e.g. simultaneous, anterior fun + TTAnt : Tense -> Ant -> Temp ; + PPos, PNeg : Pol ; -- I sleep/don't sleep TPres : Tense ; diff --git a/lib/next-resource/abstract/Sentence.gf b/lib/next-resource/abstract/Sentence.gf index 1f771e12c..a7661ae7a 100644 --- a/lib/next-resource/abstract/Sentence.gf +++ b/lib/next-resource/abstract/Sentence.gf @@ -57,18 +57,18 @@ abstract Sentence = Cat ** { -- anteriority, which are defined in [``Common`` Common.html]. fun - UseCl : Tense -> Ant -> Pol -> Cl -> S ; - UseQCl : Tense -> Ant -> Pol -> QCl -> QS ; - UseRCl : Tense -> Ant -> Pol -> RCl -> RS ; - UseSlash : Tense -> Ant -> Pol -> ClSlash -> SSlash ; + UseCl : Temp -> Pol -> Cl -> S ; + UseQCl : Temp -> Pol -> QCl -> QS ; + UseRCl : Temp -> Pol -> RCl -> RS ; + UseSlash : Temp -> Pol -> ClSlash -> SSlash ; -- An adverb can be added to the beginning of a sentence. - AdvS : Adv -> S -> S ; -- today, I will go home + AdvS : Adv -> S -> S ; -- today, I will go home -- A sentence can be modified by a relative clause referring to its contents. - RelS : S -> RS -> S ; -- she sleeps, which is good + RelS : S -> RS -> S ; -- she sleeps, which is good } diff --git a/lib/next-resource/common/CommonX.gf b/lib/next-resource/common/CommonX.gf index bcaf1e4b9..9401e1ea5 100644 --- a/lib/next-resource/common/CommonX.gf +++ b/lib/next-resource/common/CommonX.gf @@ -14,11 +14,14 @@ concrete CommonX of Common = open (R = ParamX) in { CAdv = {s : Str} ; --lock_CAdv : {}} ; PConj = {s : Str} ; --lock_PConj : {}} ; + Temp = {s : Str ; t : R.Tense ; a : R.Anteriority} ; Tense = {s : Str ; t : R.Tense} ; Ant = {s : Str ; a : R.Anteriority} ; Pol = {s : Str ; p : R.Polarity} ; lin + TTAnt t a = {s = t.s ++ a.s ; t = t.t ; a = a.a} ; + PPos = {s = []} ** {p = R.Pos} ; PNeg = {s = []} ** {p = R.Neg} ; TPres = {s = []} ** {t = R.Pres} ; diff --git a/lib/next-resource/english/ExtraEng.gf b/lib/next-resource/english/ExtraEng.gf index 7f6b3fde3..b27f411d9 100644 --- a/lib/next-resource/english/ExtraEng.gf +++ b/lib/next-resource/english/ExtraEng.gf @@ -2,7 +2,7 @@ concrete ExtraEng of ExtraEngAbs = CatEng ** open ResEng, Coordination, Prelude in { lin - GenNP np = {s = \\_ => np.s ! Gen} ; + GenNP np = {s,sp = \\_,_ => np.s ! Gen} ; ComplBareVS v s = insertObj (\\_ => s.s) (predV v) ; StrandRelSlash rp slash = { diff --git a/lib/next-resource/english/SentenceEng.gf b/lib/next-resource/english/SentenceEng.gf index f643300ea..4ab0dcc87 100644 --- a/lib/next-resource/english/SentenceEng.gf +++ b/lib/next-resource/english/SentenceEng.gf @@ -41,18 +41,18 @@ concrete SentenceEng of Sentence = CatEng ** open Prelude, ResEng in { EmbedQS qs = {s = qs.s ! QIndir} ; EmbedVP vp = {s = infVP False vp (agrP3 Sg)} ; --- agr - UseCl t a p cl = { - s = t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! ctr p.p ! ODir + UseCl t p cl = { + s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! ODir } ; - UseQCl t a p cl = { - s = \\q => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! ctr p.p ! q + UseQCl t p cl = { + s = \\q => t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! q } ; - UseRCl t a p cl = { - s = \\r => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! ctr p.p ! r ; + UseRCl t p cl = { + s = \\r => t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! r ; c = cl.c } ; - UseSlash t a p cl = { - s = t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! ctr p.p ! ODir ; + UseSlash t p cl = { + s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! ODir ; c2 = cl.c2 } ; diff --git a/lib/next-resource/scandinavian/SentenceScand.gf b/lib/next-resource/scandinavian/SentenceScand.gf index e845b2a79..16bcd0b94 100644 --- a/lib/next-resource/scandinavian/SentenceScand.gf +++ b/lib/next-resource/scandinavian/SentenceScand.gf @@ -41,18 +41,18 @@ incomplete concrete SentenceScand of Sentence = EmbedQS qs = {s = qs.s ! QIndir} ; EmbedVP vp = {s = infMark ++ infVP vp (agrP3 utrum Sg)} ; --- agr - UseCl t a p cl = { - s = \\o => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! o + UseCl t p cl = { + s = \\o => t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! o } ; - UseQCl t a p cl = { - s = \\q => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! q + UseQCl t p cl = { + s = \\q => t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! q } ; - UseRCl t a p cl = { - s = \\r => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! r ; + UseRCl t p cl = { + s = \\r => t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! r ; c = cl.c } ; - UseSlash t a p cl = { - s = \\o => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! o ; + UseSlash t p cl = { + s = \\o => t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! o ; n3 = cl.n3 ; c2 = cl.c2 } ;