1
0
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:
aarne
2016-06-05 16:40:46 +00:00
parent 773b2d8e16
commit 264806fbbd
9 changed files with 23 additions and 7 deletions

View File

@@ -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.

View File

@@ -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
} ;

View File

@@ -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
} ;

View File

@@ -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 ;

View File

@@ -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

View File

@@ -1,5 +1,7 @@
abstract ExtraScandAbs = Extra ** {
fun --# notpresent
fun
TFutKommer : Tense ; --# notpresent
emptyRP : RP ; -- empty RP in Acc position: "kvinnan jag såg"
}

View File

@@ -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
} ;

View File

@@ -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
} ;

View File

@@ -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 ;