(Fre) Update A,A2 to not have Degree

This commit is contained in:
Inari Listenmaa
2021-09-14 18:16:13 +08:00
parent b696b9e932
commit 5281c3ba71
4 changed files with 131 additions and 121 deletions

View File

@@ -4,7 +4,9 @@ instance DiffFre of DiffRomance - [
imperClit,
invertedClause,
verbHyphen,
iAdvQuestionInv
iAdvQuestionInv,
-- for comparative forms
ComparAgr, af2compar, aagr2compar
]
= open CommonRomance, PhonoFre, Prelude in {
@@ -157,6 +159,11 @@ instance DiffFre of DiffRomance - [
bindHyphen : Str = BIND ++ "-" ++ BIND ;
piuComp = "plus" ;
ComparAgr = AAgr ;
af2compar = aform2aagr ;
aagr2compar = id AAgr ;
CopulaType = {} ;
selectCopula = \isEstar -> copula ;
serCopula = <> ;

View File

@@ -45,8 +45,8 @@ lin
s1 = heading1 (nounHeading adjective_Category).s ;
s2 = frameTable (
tr (th "" ++ th (heading singular_Parameter) ++ th (heading plural_Parameter)) ++
tr (th (heading masculine_Parameter) ++ td (adj.s ! Posit ! (genNum2Aform Masc Sg)) ++ td (adj.s ! Posit ! (genNum2Aform Masc Pl))) ++
tr (th (heading feminine_Parameter) ++ td (adj.s ! Posit ! (genNum2Aform Fem Sg)) ++ td (adj.s ! Posit ! (genNum2Aform Fem Pl)))
tr (th (heading masculine_Parameter) ++ td (adj.s ! genNum2Aform Masc Sg) ++ td (adj.s ! genNum2Aform Masc Pl)) ++
tr (th (heading feminine_Parameter) ++ td (adj.s ! genNum2Aform Fem Sg) ++ td (adj.s ! genNum2Aform Fem Pl))
)
} ;

View File

@@ -18,7 +18,7 @@ lin
bad_A = prefA (mkADeg (regA "mauvais") (regA "pire")) ;
bank_N = regGenN "banque" feminine ;
beautiful_A =
prefA (compADeg (mkA "beau" "bel" "belle" "beaux" "bellement")) ;
prefA (mkA "beau" "bel" "belle" "beaux" "bellement") ;
become_VA = mkVA devenir_V ;
beer_N = regGenN "bière" feminine ;
beg_V2V = mkV2V (regV "demander") accusative dative ;
@@ -115,7 +115,7 @@ lin
like_V2 = dirV2 (regV "aimer") ;
listen_V2 = dirV2 (regV "écouter") ;
live_V = v2V vivre_V2 ;
long_A = compADeg (mkA "long" "longue" "longs" "longuement") ;
long_A = mkA "long" "longue" "longs" "longuement" ;
lose_V2 = perdre_V2 ;
love_N = regGenN "amour" masculine ;
love_V2 = dirV2 (regV "aimer") ;
@@ -129,11 +129,11 @@ lin
music_N = regGenN "musique" feminine ;
narrow_A = regA "étroit" ;
new_A =
prefA (compADeg (mkA "nouveau" "nouvel" "nouvelle" "nouveaux" "nouvellement")) ;
prefA (mkA "nouveau" "nouvel" "nouvelle" "nouveaux" "nouvellement") ;
newspaper_N = regGenN "journal" masculine ;
oil_N = regGenN "huile" feminine ;
old_A =
prefA (compADeg (mkA "vieux" "vieil" "vieille" "vieux" "vieillement")) ;
prefA (mkA "vieux" "vieil" "vieille" "vieux" "vieillement") ;
open_V2 = ouvrir_V2 ;
paint_V2A = mkV2A (v2V peindre_V2) accusative (mkPrep "en") ;
paper_N = regGenN "papier" masculine ;
@@ -193,7 +193,7 @@ lin
teacher_N = regGenN "professeur" masculine ;
teach_V2 = dirV2 (regV "enseigner") ;
television_N = regGenN "télévision" feminine ;
thick_A = compADeg (mkA "épais" "épaisse" "épais" "épaissement") ;
thick_A = mkA "épais" "épaisse" "épais" "épaissement" ;
thin_A = regA "fin" ;
train_N = regGenN "train" masculine ;
travel_V = regV "voyager" ;
@@ -209,7 +209,7 @@ lin
war_N = regGenN "guerre" masculine ;
watch_V2 = dirV2 (regV "regarder") ;
water_N = regGenN "eau" feminine ;
white_A = compADeg (mkA "blanc" "blanche" "blancs" "blanchement") ;
white_A = mkA "blanc" "blanche" "blancs" "blanchement" ;
window_N = regGenN "fenêtre" feminine ;
wine_N = regGenN "vin" masculine ;
win_V2 = dirV2 (regV "gagner") ; ---- vaincre

View File

@@ -394,9 +394,9 @@ oper
} ;
mk4A masc fem mascpl aa = mk5A masc masc fem mascpl aa ;
mk5A masc mascv fem mascpl aa = compADeg {s = \\_ => (mkAdj' masc mascv fem mascpl aa).s ; isPre = False ; copTyp = serCopula ; lock_A = <>} ;
regA a = compADeg {s = \\_ => (mkAdjReg a).s ; isPre = False ; copTyp = serCopula ; lock_A = <>} ;
prefA a = {s = a.s ; isPre = True ; copTyp = a.copTyp ; lock_A = <>} ;
mk5A masc mascv fem mascpl aa = compADeg (mkAdj' masc mascv fem mascpl aa) ;
regA a = compADeg (mkAdjReg a);
prefA a = a ** {isPre = True} ;
adjCopula a cop = a ** {copTyp = cop} ;
mkA2 a p = a ** {c2 = p ; lock_A2 = <>} ;
@@ -411,7 +411,7 @@ oper
mkA : A -> CopulaType -> A = adjCopula ;
};
prefixA a = {s = a.s ; isPre = True ; copTyp = a.copTyp ; lock_A = <>} ;
prefixA = prefA ;
mkAdv x = ss x ** {lock_Adv = <>} ;
mkAdV x = ss x ** {lock_AdV = <>} ;
@@ -477,7 +477,7 @@ oper
mk2PN : Str -> Gender -> PN = \x,g -> {s = x ; g = g} ** {lock_PN = <>} ;
mkADeg : A -> A -> A ;
compADeg : A -> A ;
compADeg : Adj -> A ;
regA : Str -> A ;
mk4A : (banal,banale,banaux,banalement : Str) -> A ;
@@ -486,13 +486,16 @@ oper
prefA : A -> A ;
adjCopula : A -> CopulaType -> A ;
mkADeg a b =
{s = table {Posit => a.s ! Posit ; _ => b.s ! Posit} ; isPre = a.isPre ; copTyp = a.copTyp ; lock_A = <>} ;
compADeg a =
{s = table {Posit => a.s ! Posit ; _ => \\f => "plus" ++ a.s ! Posit ! f} ;
isPre = a.isPre ;
copTyp = a.copTyp ;
lock_A = <>} ;
mkADeg a b = a ** {
compar = \\aagr => b.s ! aagr2aform aagr ; -- meilleur, meilleure, meilleurs, meilleures
isDeg = True } ;
compADeg a = lin A
{s = a.s ;
compar = \\_ => nonExist ; --
isPre = False ; -- default values
copTyp = <> ;
isDeg = False
} ;
mkV = overload {
mkV : Str -> V = regV ;