mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-21 00:52:51 -06:00
it clefts and let's, implemented for Germanic
This commit is contained in:
@@ -9,7 +9,7 @@ incomplete concrete CatScand of Cat =
|
||||
|
||||
S = {s : Order => Str} ;
|
||||
QS = {s : QForm => Str} ;
|
||||
RS = {s : Agr => Str} ;
|
||||
RS = {s : Agr => Str ; c : NPForm} ;
|
||||
|
||||
-- Sentence
|
||||
|
||||
@@ -24,10 +24,10 @@ incomplete concrete CatScand of Cat =
|
||||
IComp = {s : AFormPos => Str} ;
|
||||
IDet = {s : Gender => Str ; n : Number ; det : DetSpecies} ;
|
||||
|
||||
-- Relative
|
||||
-- Relative; the case $c$ is for "det" clefts.
|
||||
|
||||
RCl = {s : Tense => Anteriority => Polarity => Agr => Str} ;
|
||||
RP = {s : GenNum => RCase => Str ; a : RAgr} ;
|
||||
RCl = {s : Tense => Anteriority => Polarity => Agr => Str ; c : NPForm} ;
|
||||
RP = {s : GenNum => RCase => Str ; a : RAgr} ;
|
||||
|
||||
-- Verb
|
||||
|
||||
|
||||
@@ -6,7 +6,8 @@ incomplete concrete RelativeScand of Relative =
|
||||
lin
|
||||
|
||||
RelCl cl = {
|
||||
s = \\t,a,p,ag => pronSuch ! ag.gn ++ conjThat ++ cl.s ! t ! a ! p ! Sub
|
||||
s = \\t,a,p,ag => pronSuch ! ag.gn ++ conjThat ++ cl.s ! t ! a ! p ! Sub ;
|
||||
c = NPAcc
|
||||
} ;
|
||||
|
||||
RelVP rp vp = {
|
||||
@@ -18,7 +19,8 @@ incomplete concrete RelativeScand of Relative =
|
||||
} ;
|
||||
cl = mkClause (rp.s ! ag.gn ! RNom) agr vp
|
||||
in
|
||||
cl.s ! t ! ant ! b ! Sub
|
||||
cl.s ! t ! ant ! b ! Sub ;
|
||||
c = NPNom
|
||||
} ;
|
||||
|
||||
--- We make this easy by using "som" and preposition stranding. It would be
|
||||
@@ -29,7 +31,8 @@ incomplete concrete RelativeScand of Relative =
|
||||
|
||||
RelSlash rp slash = {
|
||||
s = \\t,a,p,ag =>
|
||||
rp.s ! ag.gn ! RNom ++ slash.s ! t ! a ! p ! Sub ++ slash.c2
|
||||
rp.s ! ag.gn ! RNom ++ slash.s ! t ! a ! p ! Sub ++ slash.c2 ;
|
||||
c = NPAcc
|
||||
} ;
|
||||
|
||||
--- The case here could be genitive.
|
||||
|
||||
@@ -42,6 +42,9 @@ incomplete concrete SentenceScand of Sentence =
|
||||
|
||||
UseCl t a p cl = {s = \\o => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.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} ;
|
||||
UseRCl t a p cl = {s = \\r => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! r} ;
|
||||
UseRCl t a p cl = {
|
||||
s = \\r => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! r ;
|
||||
c = cl.c
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user