diff --git a/lib/src/english/ExtraEng.gf b/lib/src/english/ExtraEng.gf index b7c2d036f..94a56713f 100644 --- a/lib/src/english/ExtraEng.gf +++ b/lib/src/english/ExtraEng.gf @@ -179,7 +179,9 @@ lin ComplBareVS v s = insertExtra s.s (predV v) ; SlashBareV2S v s = insertExtrac s.s (predVc v) ; - + ContractedUseCl t p cl = { + s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! ODir True + } ; diff --git a/lib/src/english/ExtraEngAbs.gf b/lib/src/english/ExtraEngAbs.gf index 283fdeff2..1010d02d2 100644 --- a/lib/src/english/ExtraEngAbs.gf +++ b/lib/src/english/ExtraEngAbs.gf @@ -28,7 +28,11 @@ abstract ExtraEngAbs = Extra - [ProDrop] ** { --- AR 7/3/2013 ComplSlashPartLast : VPSlash -> NP -> VP ; ---------------------- + --- AR 3/12/2013 ---- TODO: the same for QCl, RCl + ContractedUseCl : Temp -> Pol -> Cl -> S ; -- he's here, I'll be back + + +----------------------------------------------------- --- these are obsolete: use UncNeg : Pol instead fun @@ -38,7 +42,7 @@ abstract ExtraEngAbs = Extra - [ProDrop] ** { UncNegImpSg : Pol -> Imp -> Utt; -- do not help yourself UncNegImpPl : Pol -> Imp -> Utt; -- do not help yourselves - +----------------------------------------------------- } diff --git a/lib/src/english/ParseEng.gf b/lib/src/english/ParseEng.gf index 9a2306506..841798e2d 100644 --- a/lib/src/english/ParseEng.gf +++ b/lib/src/english/ParseEng.gf @@ -10,7 +10,7 @@ concrete ParseEng of ParseEngAbs = VerbEng - [SlashV2V, PassV2, UseCopula, ComplVV], AdverbEng, PhraseEng, - SentenceEng, + SentenceEng - [UseCl], -- replaced by UseCl | ContractedUseCl QuestionEng, RelativeEng, IdiomEng [NP, VP, Tense, Cl, ProgrVP, ExistNP], @@ -21,11 +21,15 @@ concrete ParseEng of ParseEngAbs = ClSlash, RCl, EmptyRelSlash, VS, V2S, ComplBareVS, SlashBareV2S], DictEng ** -open MorphoEng, ResEng, ParadigmsEng, Prelude in { +open MorphoEng, ResEng, ParadigmsEng, (S = SentenceEng), (E = ExtraEng), Prelude in { flags literal=Symb ; +-- exceptional linearizations +lin + UseCl t p cl = S.UseCl t p cl | E.ContractedUseCl t p cl ; + lin myself_NP = regNP "myself" singular ; yourselfSg_NP = regNP "yourself" singular ; @@ -147,8 +151,7 @@ lin lin PPos = {s = [] ; p = CPos} ; - PNeg = {s = [] ; p = CNeg True} ; -- contracted: don't - UncNeg = {s = [] ; p = CNeg False} ; + PNeg = {s = [] ; p = CNeg True} | {s = [] ; p = CNeg False} ; lincat Feat = Str;