mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
guessed DetDAP and UseDAP*
This commit is contained in:
@@ -54,7 +54,7 @@ concrete CatAra of Cat = CommonX - [Utt] ** open ResAra, Prelude, ParamX in {
|
|||||||
Card = ResAra.NumOrdCard ;
|
Card = ResAra.NumOrdCard ;
|
||||||
Predet = ResAra.Predet ;
|
Predet = ResAra.Predet ;
|
||||||
|
|
||||||
Det = ResAra.Det ;
|
DAP, Det = ResAra.Det ;
|
||||||
-- {s : Species => Gender => Case => Str ;
|
-- {s : Species => Gender => Case => Str ;
|
||||||
-- d : State; n : Size; isNum : Bool } ;
|
-- d : State; n : Size; isNum : Bool } ;
|
||||||
Quant = ResAra.Quant ;
|
Quant = ResAra.Quant ;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ concrete ExtendAra of Extend =
|
|||||||
VPS, MkVPS, PredVPS, BaseVPS, ConsVPS, ConjVPS,
|
VPS, MkVPS, PredVPS, BaseVPS, ConsVPS, ConjVPS,
|
||||||
EmbedSSlash, AdjAsNP, GerundNP,
|
EmbedSSlash, AdjAsNP, GerundNP,
|
||||||
PassVPSlash, ---- bogus implementation, see below
|
PassVPSlash, ---- bogus implementation, see below
|
||||||
CompoundN
|
CompoundN, UseDAP, UseDAPMasc, UseDAPFem
|
||||||
]
|
]
|
||||||
with (Grammar=GrammarAra)
|
with (Grammar=GrammarAra)
|
||||||
** open
|
** open
|
||||||
@@ -105,4 +105,31 @@ lin
|
|||||||
s2 = \\n, s, c => b.s2 ! n ! Const ! c ++ a.s2 ! n ! s ! c
|
s2 = \\n, s, c => b.s2 ! n ! Const ! c ++ a.s2 ! n ! s ! c
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
lin UseDAP dap = case dap.isEmpty of {
|
||||||
|
True => case <dap.d,dap.n> of { -- if the s field is empty, make up some other determiner
|
||||||
|
<Def,One> => it_Pron ;
|
||||||
|
<Def,_> => they_Pron ;
|
||||||
|
<Indef,One> => emptyNP ** {s = someSg_Det.s ! NoHum ! Masc} ;
|
||||||
|
_ => emptyNP ** {s = somePl_Det.s ! NoHum ! Masc}
|
||||||
|
} ;
|
||||||
|
False => emptyNP ** {s = dap.s ! NoHum ! Masc} } ;
|
||||||
|
|
||||||
|
lin UseDAPMasc dap = case dap.isEmpty of {
|
||||||
|
True => case <dap.d,dap.n> of { -- if the s field is empty, make up some other determiner
|
||||||
|
<Def,One> => it_Pron ;
|
||||||
|
<Def,_> => theyMasc_Pron ;
|
||||||
|
<Indef,One> => emptyNP ** {s = someSg_Det.s ! NoHum ! Masc} ;
|
||||||
|
_ => emptyNP ** {s = somePl_Det.s ! NoHum ! Masc}
|
||||||
|
} ;
|
||||||
|
False => emptyNP ** {s = dap.s ! NoHum ! Masc} } ;
|
||||||
|
|
||||||
|
lin UseDAPFem dap = case dap.isEmpty of {
|
||||||
|
True => case <dap.d,dap.n> of { -- if the s field is empty, make up some other determiner
|
||||||
|
<Def,One> => it_Pron ;
|
||||||
|
<Def,_> => theyFem_Pron ;
|
||||||
|
<Indef,One> => emptyNP ** {s = someSg_Det.s ! NoHum ! Fem} ;
|
||||||
|
_ => emptyNP ** {s = somePl_Det.s ! NoHum ! Fem}
|
||||||
|
} ;
|
||||||
|
False => emptyNP ** {s = dap.s ! NoHum ! Fem} } ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -237,6 +237,8 @@ lin
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
DetDAP d = d ;
|
||||||
|
|
||||||
QuantityNP n m = emptyNP ** {
|
QuantityNP n m = emptyNP ** {
|
||||||
s = \\c => preOrPost m.isPre m.s n.s ;
|
s = \\c => preOrPost m.isPre m.s n.s ;
|
||||||
a = { pgn = agrP3 NoHum Masc (sizeToNumber n.n);
|
a = { pgn = agrP3 NoHum Masc (sizeToNumber n.n);
|
||||||
|
|||||||
Reference in New Issue
Block a user