summaryrefslogtreecommitdiff
path: root/next-lib/src
diff options
context:
space:
mode:
authorbjorn <bjorn@bringert.net>2008-10-31 09:22:09 +0000
committerbjorn <bjorn@bringert.net>2008-10-31 09:22:09 +0000
commit6fcfe5d7b7360b7092cb87c66d717443b374d1a4 (patch)
treec84070ba2aea68073a1aeeba98b9ebaf9acb796e /next-lib/src
parentb49a021608d1e15a17ffd54195aa812dbed2948f (diff)
Added Pol argument to ExtraEng.Unc* to give them the same signatures as the standard (contracted) versions. This makes it easier to use Unc* as a variant without getting meta-variables when parsing,
Diffstat (limited to 'next-lib/src')
-rw-r--r--next-lib/src/english/ExtraEng.gf22
-rw-r--r--next-lib/src/english/ExtraEngAbs.gf10
-rw-r--r--next-lib/src/parsing/ParseEng.gf12
3 files changed, 23 insertions, 21 deletions
diff --git a/next-lib/src/english/ExtraEng.gf b/next-lib/src/english/ExtraEng.gf
index 6954539f0..8f3c65b3d 100644
--- a/next-lib/src/english/ExtraEng.gf
+++ b/next-lib/src/english/ExtraEng.gf
@@ -35,20 +35,24 @@ concrete ExtraEng of ExtraEngAbs = CatEng **
ComplVPIVV vv vpi =
insertObj (\\a => (if_then_Str vv.isAux [] "to") ++ vpi.s ! VPIInf ! a) (predVV vv) ;
- UncNegCl t cl = {s = t.s ++ cl.s ! t.t ! t.a ! neg ! ODir} ;
- UncNegQCl t cl = {s = \\q => t.s ++ cl.s ! t.t ! t.a ! neg !q} ;
- UncNegRCl t cl = {
- s = \\r => t.s ++ cl.s ! t.t ! t.a ! neg ! r ;
+ UncNegCl t p cl = {
+ s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! unc p.p ! ODir
+ } ;
+ UncNegQCl t p cl = {
+ s = \\q => t.s ++ p.s ++ cl.s ! t.t ! t.a ! unc p.p ! q
+ } ;
+ UncNegRCl t p cl = {
+ s = \\r => t.s ++ p.s ++ cl.s ! t.t ! t.a ! unc p.p ! r ;
c = cl.c
- } ;
- UncNegImpSg imp = {s = imp.s ! neg ! ImpF Sg False} ;
- UncNegImpPl imp = {s = imp.s ! neg ! ImpF Pl False} ;
+ } ;
- CompoundCN a b = {s = \\n,c => a.s ! Sg ! Nom ++ b.s ! n ! c ; g = b.g} ;
+ UncNegImpSg p imp = {s = p.s ++ imp.s ! unc p.p ! ImpF Sg False} ;
+ UncNegImpPl p imp = {s = p.s ++ imp.s ! unc p.p ! ImpF Pl False} ;
+ CompoundCN a b = {s = \\n,c => a.s ! Sg ! Nom ++ b.s ! n ! c ; g = b.g} ;
oper
- neg = CNeg False ;
+ unc = contrNeg False ;
lin
diff --git a/next-lib/src/english/ExtraEngAbs.gf b/next-lib/src/english/ExtraEngAbs.gf
index f97f2551d..38da65a38 100644
--- a/next-lib/src/english/ExtraEngAbs.gf
+++ b/next-lib/src/english/ExtraEngAbs.gf
@@ -2,12 +2,12 @@ abstract ExtraEngAbs = Extra ** {
-- uncontracted negations; contracted are the default
fun
- UncNegCl : Temp -> Cl -> S ;
- UncNegQCl : Temp -> QCl -> QS ;
- UncNegRCl : Temp -> RCl -> RS ;
+ UncNegCl : Temp -> Pol -> Cl -> S ;
+ UncNegQCl : Temp -> Pol -> QCl -> QS ;
+ UncNegRCl : Temp -> Pol -> RCl -> RS ;
- UncNegImpSg : Imp -> Utt; -- do not help yourself
- UncNegImpPl : Imp -> Utt; -- do not help yourselves
+ UncNegImpSg : Pol -> Imp -> Utt; -- do not help yourself
+ UncNegImpPl : Pol -> Imp -> Utt; -- do not help yourselves
-- freely compounded nouns
diff --git a/next-lib/src/parsing/ParseEng.gf b/next-lib/src/parsing/ParseEng.gf
index d0c0f47ff..f892957f6 100644
--- a/next-lib/src/parsing/ParseEng.gf
+++ b/next-lib/src/parsing/ParseEng.gf
@@ -38,33 +38,31 @@ lin ComplVS v s = variants { VerbEng.ComplVS v s; insertObj (\\_ => s.s) (predV
lin UseCl t p cl =
case p.p of {
Pos => SentenceEng.UseCl t p cl;
- Neg => variants { SentenceEng.UseCl t p cl; { s = p.s ++ (UncNegCl t cl).s } }
+ Neg => variants { SentenceEng.UseCl t p cl; UncNegCl t p cl }
} ;
lin UseQCl t p cl =
case p.p of {
Pos => SentenceEng.UseQCl t p cl;
- Neg => variants { SentenceEng.UseQCl t p cl; { s = \\qf => p.s ++ (UncNegQCl t cl).s!qf } }
+ Neg => variants { SentenceEng.UseQCl t p cl; UncNegQCl t p cl }
} ;
lin UseRCl t p cl =
case p.p of {
Pos => SentenceEng.UseRCl t p cl;
- Neg => variants { SentenceEng.UseRCl t p cl;
- let s = UncNegRCl t cl
- in { s = \\agr => p.s ++ s.s!agr; c = s.c } }
+ Neg => variants { SentenceEng.UseRCl t p cl; UncNegRCl t p cl }
} ;
lin UttImpSg p i =
case p.p of {
Pos => PhraseEng.UttImpSg p i;
- Neg => variants { PhraseEng.UttImpSg p i ; { s = p.s ++ (UncNegImpSg i).s } }
+ Neg => variants { PhraseEng.UttImpSg p i ; UncNegImpSg p i }
} ;
lin UttImpPl p i =
case p.p of {
Pos => PhraseEng.UttImpPl p i;
- Neg => variants { PhraseEng.UttImpPl p i ; { s = p.s ++ (UncNegImpPl i).s } }
+ Neg => variants { PhraseEng.UttImpPl p i ; UncNegImpPl p i }
} ;
-- Allow both "who"/"which" and "that"