1
0
forked from GitHub/gf-rgl

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

View File

@@ -45,8 +45,8 @@ lin
s1 = heading1 (nounHeading adjective_Category).s ; s1 = heading1 (nounHeading adjective_Category).s ;
s2 = frameTable ( s2 = frameTable (
tr (th "" ++ th (heading singular_Parameter) ++ th (heading plural_Parameter)) ++ 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 masculine_Parameter) ++ td (adj.s ! genNum2Aform Masc Sg) ++ td (adj.s ! 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 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")) ; bad_A = prefA (mkADeg (regA "mauvais") (regA "pire")) ;
bank_N = regGenN "banque" feminine ; bank_N = regGenN "banque" feminine ;
beautiful_A = beautiful_A =
prefA (compADeg (mkA "beau" "bel" "belle" "beaux" "bellement")) ; prefA (mkA "beau" "bel" "belle" "beaux" "bellement") ;
become_VA = mkVA devenir_V ; become_VA = mkVA devenir_V ;
beer_N = regGenN "bière" feminine ; beer_N = regGenN "bière" feminine ;
beg_V2V = mkV2V (regV "demander") accusative dative ; beg_V2V = mkV2V (regV "demander") accusative dative ;
@@ -115,7 +115,7 @@ lin
like_V2 = dirV2 (regV "aimer") ; like_V2 = dirV2 (regV "aimer") ;
listen_V2 = dirV2 (regV "écouter") ; listen_V2 = dirV2 (regV "écouter") ;
live_V = v2V vivre_V2 ; live_V = v2V vivre_V2 ;
long_A = compADeg (mkA "long" "longue" "longs" "longuement") ; long_A = mkA "long" "longue" "longs" "longuement" ;
lose_V2 = perdre_V2 ; lose_V2 = perdre_V2 ;
love_N = regGenN "amour" masculine ; love_N = regGenN "amour" masculine ;
love_V2 = dirV2 (regV "aimer") ; love_V2 = dirV2 (regV "aimer") ;
@@ -129,11 +129,11 @@ lin
music_N = regGenN "musique" feminine ; music_N = regGenN "musique" feminine ;
narrow_A = regA "étroit" ; narrow_A = regA "étroit" ;
new_A = new_A =
prefA (compADeg (mkA "nouveau" "nouvel" "nouvelle" "nouveaux" "nouvellement")) ; prefA (mkA "nouveau" "nouvel" "nouvelle" "nouveaux" "nouvellement") ;
newspaper_N = regGenN "journal" masculine ; newspaper_N = regGenN "journal" masculine ;
oil_N = regGenN "huile" feminine ; oil_N = regGenN "huile" feminine ;
old_A = old_A =
prefA (compADeg (mkA "vieux" "vieil" "vieille" "vieux" "vieillement")) ; prefA (mkA "vieux" "vieil" "vieille" "vieux" "vieillement") ;
open_V2 = ouvrir_V2 ; open_V2 = ouvrir_V2 ;
paint_V2A = mkV2A (v2V peindre_V2) accusative (mkPrep "en") ; paint_V2A = mkV2A (v2V peindre_V2) accusative (mkPrep "en") ;
paper_N = regGenN "papier" masculine ; paper_N = regGenN "papier" masculine ;
@@ -193,7 +193,7 @@ lin
teacher_N = regGenN "professeur" masculine ; teacher_N = regGenN "professeur" masculine ;
teach_V2 = dirV2 (regV "enseigner") ; teach_V2 = dirV2 (regV "enseigner") ;
television_N = regGenN "télévision" feminine ; 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" ; thin_A = regA "fin" ;
train_N = regGenN "train" masculine ; train_N = regGenN "train" masculine ;
travel_V = regV "voyager" ; travel_V = regV "voyager" ;
@@ -209,7 +209,7 @@ lin
war_N = regGenN "guerre" masculine ; war_N = regGenN "guerre" masculine ;
watch_V2 = dirV2 (regV "regarder") ; watch_V2 = dirV2 (regV "regarder") ;
water_N = regGenN "eau" feminine ; 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 ; window_N = regGenN "fenêtre" feminine ;
wine_N = regGenN "vin" masculine ; wine_N = regGenN "vin" masculine ;
win_V2 = dirV2 (regV "gagner") ; ---- vaincre win_V2 = dirV2 (regV "gagner") ; ---- vaincre

View File

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