forked from GitHub/gf-core
enabled emptyRP in Scandinavian by distinguishing between RNom and RAcc ; this also made it possible to use der as the Danish RNom form
This commit is contained in:
@@ -12,10 +12,12 @@ abstract Extra = Cat ** {
|
||||
GenRP : Num -> CN -> RP ; -- whose car
|
||||
CompBareCN : CN -> Comp ; -- (est) professeur
|
||||
|
||||
PiedPipingRelSlash : RP -> ClSlash -> RCl ; -- in which he lives
|
||||
StrandRelSlash : RP -> ClSlash -> RCl ; -- that he lives in
|
||||
EmptyRelSlash : ClSlash -> RCl ; -- he lives in
|
||||
StrandQuestSlash : IP -> ClSlash -> QCl ; -- whom does John live with
|
||||
|
||||
PiedPipingQuestSlash : IP -> ClSlash -> QCl ; -- with whom does John live
|
||||
|
||||
-- $VP$ conjunction, which has different fragments implemented in
|
||||
-- different languages - never a full $VP$, though.
|
||||
|
||||
|
||||
@@ -64,7 +64,8 @@ instance DiffDan of DiffScand = open CommonScand, Prelude in {
|
||||
} ;
|
||||
|
||||
relPron : Gender => Number => RCase => Str = \\g,n,c => case c of {
|
||||
RNom | RPrep False => "som" ;
|
||||
RNom => "der" ; --- could be som as well
|
||||
RAcc | RPrep False => "som" ;
|
||||
RGen => "hvis" ;
|
||||
RPrep _ => gennumForms "hvilken" "hvilket" "hvilke" ! gennum g n
|
||||
} ;
|
||||
|
||||
@@ -74,7 +74,7 @@ instance DiffNor of DiffScand = open CommonScand, Prelude in {
|
||||
} ;
|
||||
|
||||
relPron : Gender => Number => RCase => Str = \\g,n,c => case c of {
|
||||
RNom | RPrep False => "som" ;
|
||||
RNom | RAcc | RPrep False => "som" ;
|
||||
RGen => "hvis" ;
|
||||
RPrep _ => gennumForms "hvilken" "hvilket" "hvilke" ! gennum g n
|
||||
} ;
|
||||
|
||||
@@ -75,7 +75,7 @@ param
|
||||
|
||||
NPForm = NPNom | NPAcc | NPPoss GenNum Case ;
|
||||
|
||||
RCase = RNom | RGen | RPrep Bool ;
|
||||
RCase = RNom | RAcc | RGen | RPrep Bool ;
|
||||
|
||||
RAgr = RNoAg | RAg Gender Number Person ;
|
||||
|
||||
|
||||
@@ -16,6 +16,14 @@ incomplete concrete ExtraScand of ExtraScandAbs = CatScand **
|
||||
}
|
||||
} ;
|
||||
|
||||
emptyRP = {
|
||||
s = \\g,n => table {
|
||||
RAcc => [] ;
|
||||
c => relPron ! g ! n ! c
|
||||
} ;
|
||||
a = RNoAg
|
||||
} ;
|
||||
|
||||
PiedPipingRelSlash rp slash = {
|
||||
s = \\t,a,p,ag,_ =>
|
||||
let
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
abstract ExtraScandAbs = Extra ** {
|
||||
|
||||
fun --# notpresent
|
||||
fun
|
||||
TFutKommer : Tense ; --# notpresent
|
||||
emptyRP : RP ; -- empty RP in Acc position: "kvinnan jag såg"
|
||||
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ incomplete concrete RelativeScand of Relative =
|
||||
|
||||
RelSlash rp slash = {
|
||||
s = \\t,a,p,ag,_ =>
|
||||
rp.s ! ag.g ! ag.n ! RNom ++ slash.s ! t ! a ! p ! Sub ++ slash.c2.s ;
|
||||
rp.s ! ag.g ! ag.n ! RAcc ++ slash.s ! t ! a ! p ! Sub ++ slash.c2.s ;
|
||||
c = NPAcc
|
||||
} ;
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ instance DiffSwe of DiffScand = open CommonScand, Prelude in {
|
||||
} ;
|
||||
|
||||
relPron : Gender => Number => RCase => Str = \\g,n,c => case c of {
|
||||
RNom | RPrep False => "som" ;
|
||||
RNom | RAcc | RPrep False => "som" ;
|
||||
RGen => "vars" ;
|
||||
RPrep True => gennumForms "vilken" "vilket" "vilka" ! gennum g n
|
||||
} ;
|
||||
|
||||
@@ -21,6 +21,7 @@ concrete TranslateSwe of Translate =
|
||||
],
|
||||
RelativeSwe - [
|
||||
RelSlash -- replaced by RelSlash | PiedPipingRelSlash
|
||||
,IdRP -- replaced by IdRP | emptyRP
|
||||
],
|
||||
IdiomSwe,
|
||||
ConstructionSwe,
|
||||
@@ -49,6 +50,8 @@ lin
|
||||
| {s = \\n,d,c => np.s ! NPPoss (gennum (ngen2gen cn.g) n) Nom ++ cn.s ! n ! DDef Indef ! c ; g = cn.g ; isMod = True} ---- overgenerating
|
||||
;
|
||||
|
||||
IdRP = G.IdRP | E.emptyRP ;
|
||||
|
||||
RelSlash rp cls = G.RelSlash rp cls | E.PiedPipingRelSlash rp cls ;
|
||||
|
||||
QuestSlash ip cls = G.QuestSlash ip cls | E.PiedPipingQuestSlash ip cls ;
|
||||
|
||||
Reference in New Issue
Block a user