forked from GitHub/gf-core
nominalization in Extra Dut and Eng (from Ramona)
This commit is contained in:
@@ -74,4 +74,8 @@ abstract Extra = Cat ** {
|
||||
|
||||
PassVPSlash : VPSlash -> VP ; -- be forced to sleep
|
||||
|
||||
-- publishing of the document
|
||||
|
||||
NominalizeVPSlashNP : VPSlash -> NP -> NP ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
concrete ExtraDut of ExtraDutAbs = CatDut **
|
||||
open ResDut, Coordination, Prelude, IrregDut in
|
||||
open ResDut, MorphoDut, Coordination, Prelude, IrregDut in
|
||||
{
|
||||
--{
|
||||
--
|
||||
@@ -113,4 +113,14 @@ lin
|
||||
|
||||
ConjVPS = conjunctDistrTable2 Order Agr ;
|
||||
|
||||
lin
|
||||
NominalizeVPSlashNP vpslash np =
|
||||
let vp : ResDut.VP = insertObjNP np.isPron (\\_ => appPrep vpslash.c2 np.s) vpslash ;
|
||||
agrDef : Agr = agrP3 Sg ;
|
||||
compl : Str = vp.n0 ! agrDef ++ vp.a1 ! Pos ++ vp.n2 ! agrDef ++ vp.s.prefix ;
|
||||
inf : Str = vp.inf.p1 ;
|
||||
extra : Str = vp.ext
|
||||
in
|
||||
lin NP (MorphoDut.mkNP (vp.s.s ! VInf ++ "van" ++ compl ++ inf ++ extra ) Utr Sg) ;
|
||||
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ abstract ExtraDutAbs = Extra [
|
||||
VPI,ListVPI,BaseVPI,ConsVPI,MkVPI,ComplVPIVV,ConjVPI,
|
||||
VPS,ListVPS,BaseVPS,ConsVPS,ConjVPS,MkVPS,PredVPS,
|
||||
Temp,Pol,S,NP,
|
||||
VV,VP,Conj,IComp,ICompAP,IAdvAdv,Adv,AP,IAdv] **
|
||||
VV,VP,Conj,IComp,ICompAP,IAdvAdv,Adv,AP,IAdv,
|
||||
VPSlash, NominalizeVPSlashNP] **
|
||||
{
|
||||
|
||||
--{
|
||||
--
|
||||
-- fun
|
||||
@@ -14,4 +16,6 @@ abstract ExtraDutAbs = Extra [
|
||||
--
|
||||
--}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -40,7 +40,8 @@ oper
|
||||
de : Gender ; -- non-neutrum
|
||||
het : Gender ; -- neutrum
|
||||
|
||||
|
||||
nominative : Case ; -- nominative of nouns
|
||||
genitive : Case ; -- genitive of nouns
|
||||
|
||||
--2 Nouns
|
||||
|
||||
@@ -48,6 +49,8 @@ oper
|
||||
mkN : (muis : Str) -> N ; -- de muis-muisen, with some predictable exceptions
|
||||
mkN : (bit : Str) -> Gender -> N ; -- if gender is not predictable
|
||||
mkN : (gat,gaten : Str) -> Gender -> N ; -- worst-case for nouns
|
||||
mkN : (huis, boot : N) -> N ; -- compound huisboot
|
||||
mkN : (station, hal : N) -> Case -> N ; -- compound stationshal
|
||||
} ;
|
||||
|
||||
-- Relational nouns need a preposition. The most common is "van".
|
||||
@@ -195,6 +198,10 @@ oper
|
||||
= \a,b -> lin N (regNounG a b) ;
|
||||
mkN : (gat,gaten : Str) -> Gender -> N
|
||||
= \a,b,c -> lin N (mkNoun a b c) ;
|
||||
mkN : (huis,boot : N) -> N
|
||||
= \huis,boot -> lin N {s = \\n => huis.s ! NF Sg Nom + boot.s ! n ; g = boot.g} ;
|
||||
mkN : (huis,boot : N) -> Case -> N
|
||||
= \huis,boot,c -> lin N {s = \\n => huis.s ! NF Sg c + boot.s ! n ; g = boot.g} ;
|
||||
} ;
|
||||
|
||||
mkN2 = overload {
|
||||
@@ -213,6 +220,8 @@ oper
|
||||
feminine = Utr ;
|
||||
het,neuter = Neutr ;
|
||||
de,utrum = Utr ;
|
||||
nominative = Nom ;
|
||||
genitive = Gen ;
|
||||
|
||||
mkA = overload {
|
||||
mkA : (vers : Str) -> A = \a -> lin A (regAdjective a) ;
|
||||
|
||||
@@ -112,6 +112,24 @@ concrete ExtraEng of ExtraEngAbs = CatEng **
|
||||
typ = VVAux
|
||||
} ;
|
||||
|
||||
may_VV = lin VV {
|
||||
s = table {
|
||||
VVF VInf => ["be allowed to"] ;
|
||||
VVF VPres => "may" ;
|
||||
VVF VPPart => ["been allowed to"] ;
|
||||
VVF VPresPart => ["being allowed to"] ;
|
||||
VVF VPast => "might" ;
|
||||
VVPastNeg => "mightn't" ;
|
||||
VVPresNeg => "may not"
|
||||
} ;
|
||||
typ = VVAux
|
||||
} ;
|
||||
|
||||
|
||||
NominalizeVPSlashNP vpslash np =
|
||||
let vp : ResEng.VP = insertObjPre (\\_ => vpslash.c2 ++ np.s ! NPAcc) vpslash
|
||||
in
|
||||
lin NP {s=\\_=>vp.ad ++ vp.prp ++ vp.s2! (AgP3Sg Neutr); a=AgP3Sg Neutr } ;
|
||||
|
||||
lin
|
||||
UncNeg = {s = [] ; p = CNeg False} ;
|
||||
|
||||
@@ -21,7 +21,9 @@ abstract ExtraEngAbs = Extra - [ProDrop] ** {
|
||||
|
||||
do_VV : VV ;
|
||||
|
||||
may_VV : VV ;
|
||||
|
||||
---------------------
|
||||
--- these are obsolete: use UncNeg : Pol instead
|
||||
|
||||
fun
|
||||
@@ -33,4 +35,5 @@ abstract ExtraEngAbs = Extra - [ProDrop] ** {
|
||||
UncNegImpPl : Pol -> Imp -> Utt; -- do not help yourselves
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user