mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 08:58:55 -06:00
(Fre) Implement AForm+related opers in DiffFre
This commit is contained in:
@@ -159,10 +159,29 @@ instance DiffFre of DiffRomance - [
|
||||
|
||||
bindHyphen : Str = BIND ++ "-" ++ BIND ;
|
||||
|
||||
piuComp = "plus" ;
|
||||
-- AForm
|
||||
param
|
||||
AFormComplex = AF Gender Number | AAttrMasc | AA ;
|
||||
oper
|
||||
AForm = AFormComplex ;
|
||||
aform2aagr : AForm -> AAgr = \a -> case a of {
|
||||
DiffFre.AF g n => aagr g n ;
|
||||
_ => aagr Masc Sg -- "le plus lentement"
|
||||
} ;
|
||||
genNum2Aform : Gender -> Number -> AForm = DiffFre.AF ;
|
||||
genNumPos2Aform : Gender -> Number -> Bool -> AForm = \g,n,isPre ->
|
||||
case <g,n,isPre> of {
|
||||
<Masc,Sg,True> => AAttrMasc ;
|
||||
_ => genNum2Aform g n
|
||||
} ;
|
||||
|
||||
-- Comparatives
|
||||
ComparAgr = AAgr ;
|
||||
af2compar = aform2aagr ;
|
||||
aagr2compar = id AAgr ;
|
||||
piuComp = "plus" ;
|
||||
|
||||
|
||||
|
||||
CopulaType = {} ;
|
||||
selectCopula = \isEstar -> copula ;
|
||||
|
||||
@@ -75,11 +75,12 @@ oper
|
||||
mkAdj' : (_,_,_,_,_ : Str) -> Adj ;
|
||||
mkAdj' vieux vieil vieille vieuxs vieillement = {
|
||||
s = table {
|
||||
ASg Masc AAttr => pre {#voyelle => vieil ; "h" => vieil ; _ => vieux} ;
|
||||
ASg Masc APred => vieux ; -- `ce vin est nouveau et bon', not *nouvel et bon
|
||||
ASg Fem _ => vieille ;
|
||||
APl g => genForms vieuxs (vieille + "s") ! g ;
|
||||
AA => vieillement
|
||||
-- vieil, nouvel only comes as attributive, not predicative:
|
||||
-- 'un vieil ami', but 'ce vin est nouveau et bon', not *nouvel et bon.
|
||||
AAttrMasc => pre {#voyelle => vieil ; "h" => vieil ; _ => vieux} ;
|
||||
AF g Sg => genForms vieux vieille ! g ;
|
||||
AF g Pl => genForms vieuxs (vieille + "s") ! g ;
|
||||
AA => vieillement
|
||||
}
|
||||
} ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user