forked from GitHub/gf-core
added to Romance the constructs missing for Query
This commit is contained in:
@@ -56,4 +56,10 @@ incomplete concrete AdjectiveRomance of Adjective =
|
|||||||
isPre = False ---- A2 has no isPre
|
isPre = False ---- A2 has no isPre
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
AdvAP ap adv = {
|
||||||
|
s = \\a => ap.s ! a ++ adv.s ;
|
||||||
|
isPre = False
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ incomplete concrete ConjunctionRomance of Conjunction =
|
|||||||
c = ss.c
|
c = ss.c
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
ConjIAdv = conjunctDistrSS ;
|
||||||
|
|
||||||
|
ConjCN co ns = conjunctDistrTable Number co ns ** {g = ns.g} ;
|
||||||
|
|
||||||
-- These fun's are generated from the list cat's.
|
-- These fun's are generated from the list cat's.
|
||||||
|
|
||||||
@@ -41,12 +44,18 @@ incomplete concrete ConjunctionRomance of Conjunction =
|
|||||||
ConsAP xs x = consrTable AForm comma xs x ** {isPre = andB xs.isPre x.isPre} ;
|
ConsAP xs x = consrTable AForm comma xs x ** {isPre = andB xs.isPre x.isPre} ;
|
||||||
BaseRS x y = twoTable2 Mood Agr x y ** {c = y.c} ;
|
BaseRS x y = twoTable2 Mood Agr x y ** {c = y.c} ;
|
||||||
ConsRS xs x = consrTable2 Mood Agr comma xs x ** {c = xs.c} ;
|
ConsRS xs x = consrTable2 Mood Agr comma xs x ** {c = xs.c} ;
|
||||||
|
BaseIAdv = twoSS ;
|
||||||
|
ConsIAdv = consrSS comma ;
|
||||||
|
BaseCN x y = twoTable Number x y ** {g = conjGender x.g y.g} ;
|
||||||
|
ConsCN x xs = consrTable Number comma x xs ** {g = conjGender x.g xs.g} ;
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
[S] = {s1,s2 : Mood => Str} ;
|
[S] = {s1,s2 : Mood => Str} ;
|
||||||
[Adv] = {s1,s2 : Str} ;
|
[Adv] = {s1,s2 : Str} ;
|
||||||
|
[IAdv] = {s1,s2 : Str} ;
|
||||||
[NP] = {s1,s2 : Case => Str ; a : Agr} ;
|
[NP] = {s1,s2 : Case => Str ; a : Agr} ;
|
||||||
[AP] = {s1,s2 : AForm => Str ; isPre : Bool} ;
|
[AP] = {s1,s2 : AForm => Str ; isPre : Bool} ;
|
||||||
[RS] = {s1,s2 : Mood => Agr => Str ; c : Case} ;
|
[RS] = {s1,s2 : Mood => Agr => Str ; c : Case} ;
|
||||||
|
[CN] = {s1,s2 : Number => Str ; g : Gender} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,16 +99,20 @@ incomplete concrete QuestionRomance of Question =
|
|||||||
|
|
||||||
CompIP p = {s = \\_ => p.s ! Nom} ;
|
CompIP p = {s = \\_ => p.s ! Nom} ;
|
||||||
|
|
||||||
|
lincat
|
||||||
|
QVP = ResRomance.VP ;
|
||||||
|
lin
|
||||||
|
ComplSlashIP vp ip = insertObject vp.c2 (heavyNP {s = ip.s ; a = ip.a ** {p = P3}}) vp ;
|
||||||
|
AdvQVP vp adv = insertAdv adv.s vp ;
|
||||||
|
AddAdvQVP vp adv = insertAdv adv.s vp ;
|
||||||
|
|
||||||
|
QuestQVP qp vp = {
|
||||||
|
s = \\t,a,b,_ =>
|
||||||
|
let
|
||||||
|
cl = mkClause (qp.s ! Nom) False False (agrP3 qp.a.g qp.a.n) vp
|
||||||
|
in
|
||||||
|
cl.s ! DDir ! t ! a ! b ! Indic
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{- ---b
|
|
||||||
IDetCN idet num ord cn =
|
|
||||||
let
|
|
||||||
g = cn.g ;
|
|
||||||
n = idet.n ;
|
|
||||||
a = aagr g n
|
|
||||||
in {
|
|
||||||
s = \\c => idet.s ! g ! c ++ num.s ! g ++ ord.s ! a ++ cn.s ! n ;
|
|
||||||
a = a
|
|
||||||
} ;
|
|
||||||
-}
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ incomplete concrete ConjunctionScand of Conjunction =
|
|||||||
ConjIAdv = conjunctDistrSS ;
|
ConjIAdv = conjunctDistrSS ;
|
||||||
|
|
||||||
ConjCN co ns = conjunctDistrTable3 Number DetSpecies Case co ns **
|
ConjCN co ns = conjunctDistrTable3 Number DetSpecies Case co ns **
|
||||||
{g = utrum ; isMod = True} ; ----
|
{g = neutrum ; isMod = False} ; ----
|
||||||
|
|
||||||
|
|
||||||
-- These fun's are generated from the list cat's.
|
-- These fun's are generated from the list cat's.
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ lin
|
|||||||
ship_N = regGenN "skepp" neutrum ;
|
ship_N = regGenN "skepp" neutrum ;
|
||||||
shirt_N = regGenN "skjorta" utrum ;
|
shirt_N = regGenN "skjorta" utrum ;
|
||||||
shoe_N = mk2N "sko" "skor" ;
|
shoe_N = mk2N "sko" "skor" ;
|
||||||
shop_N = mk2N "affär" "affären" ;
|
shop_N = mk2N "affär" "affärer" ;
|
||||||
short_A = regA "kort" ;
|
short_A = regA "kort" ;
|
||||||
silver_N = mkN "silver" "silvret" "silver" "silvren" ;
|
silver_N = mkN "silver" "silvret" "silver" "silvren" ;
|
||||||
sister_N = mk2N "syster" "systrar" ;
|
sister_N = mk2N "syster" "systrar" ;
|
||||||
|
|||||||
Reference in New Issue
Block a user