forked from GitHub/gf-rgl
(Por) change mk2A paradigm
(such that the second argument is the adverb string, not the feminine form, which is easier to predict) - fix bug in adjVo paradigm - add two cases to mkAdjReg smart paradigm - update lexicon tbh, it is much more common to need to correct the adverbial form because it doesn't have the accents that the adjectival forms may have, so if there's a way of removing accents easily, that might be better.
This commit is contained in:
@@ -10,7 +10,7 @@ flags
|
||||
lin
|
||||
easy_A2V = mkA2V (mkA "fácil") dative genitive ;
|
||||
married_A2 = mkA2 (mkA "casado") dative ;
|
||||
probable_AS = mkAS (mkA "provável" "provável" "prováveis" "prováveis" "provavelmente") ;
|
||||
probable_AS = mkAS (mkA "provável" "provavelmente") ;
|
||||
fun_AV = mkAV (mkA "divertido") genitive ;
|
||||
-- A
|
||||
bad_A = prefA (mkA (mkA "mau") (mkA "pior")) ;
|
||||
@@ -58,7 +58,7 @@ lin
|
||||
white_A = compADeg (mkA "branco") ;
|
||||
wide_A = mkA "largo" ; -- extenso
|
||||
yellow_A = mkA "amarelo" ;
|
||||
young_A = prefA (mkA "jovem" "jovem" "jovens" "jovens" "juvenilmente") ;
|
||||
young_A = prefA (mkA "jovem" "juvenilmente") ;
|
||||
already_Adv = mkAdv "já" ;
|
||||
far_Adv = mkAdv "longe" ; ----?
|
||||
now_Adv = mkAdv "agora" ;
|
||||
|
||||
@@ -124,16 +124,16 @@ oper
|
||||
}
|
||||
} ;
|
||||
|
||||
mkAdj2N : (_,_: N) -> Str -> Adj = \mascN, femN, burramente ->
|
||||
{s = table {
|
||||
AF Masc n => mascN.s ! n ;
|
||||
AF Fem n => femN.s ! n ;
|
||||
AA => burramente
|
||||
}
|
||||
mkAdj2 : (_,_: Str) -> Adj ;
|
||||
mkAdj2 aj av = let
|
||||
adj = mkAdjReg aj
|
||||
in {
|
||||
s = table {
|
||||
AF g n => adj.s ! AF g n ;
|
||||
AA => av
|
||||
}
|
||||
} ;
|
||||
|
||||
mkAdjN : N -> Str -> Adj = \n, burramente -> mkAdj2N n n burramente ;
|
||||
|
||||
-- Then the regular and invariant patterns.
|
||||
|
||||
adjPreto : Str -> Adj = \preto ->
|
||||
@@ -174,7 +174,7 @@ oper
|
||||
"ã" => "a"
|
||||
} ;
|
||||
alemvo : Str = alem + v + "o" ;
|
||||
in mkAdj alemão alemã (alemã + "s") (alemã + "es") (alemã + "amente") ;
|
||||
in mkAdj alemão alemã (alemã + "s") (alemã + "es") (alemã + "mente") ;
|
||||
|
||||
adjEuropeu : Str -> Adj = \europeu -> let europe = init europeu in
|
||||
mkAdj europeu (europe + "ia") (europeu + "s") (europe + "ias")
|
||||
@@ -183,11 +183,13 @@ oper
|
||||
mkAdjReg : Str -> Adj = \a ->
|
||||
case a of {
|
||||
pret + "o" => adjPreto a ;
|
||||
anarquist + v@("e" | "a") => adjUtil (anarquist + v) (anarquist + v + "s") ;
|
||||
anarquist + v@("e" | "a") => adjUtil a (a + "s") ;
|
||||
ouvido + "r" => adjOuvidor a (ouvido + "ra") ;
|
||||
chin + "ês" => adjFrances a ;
|
||||
europ + "eu" => adjEuropeu a ;
|
||||
alem + "ão" => adjVo a ;
|
||||
provav + v@("e" | "i") + "l" => adjUtil a (provav + "eis") ;
|
||||
jove + "m" => adjUtil a (jove + "ns") ;
|
||||
_ => adjUtil a (a + "s")
|
||||
} ;
|
||||
|
||||
|
||||
@@ -203,9 +203,9 @@ oper
|
||||
regA a = compADeg {s = \\_ => (mkAdjReg a).s ; isPre = False ;
|
||||
lock_A = <>} ;
|
||||
|
||||
mk2A : (espanhol,espanhola : Str) -> A ;
|
||||
mk2A a b = compADeg {s = \\_ => (mkAdj2N (mkN a) (mkN b) (b + "mente")).s ; isPre = False ;
|
||||
lock_A = <>} ;
|
||||
mk2A : (único,unicamente : Str) -> A ;
|
||||
mk2A adj adv = compADeg {s = \\_ => (mkAdj2 adj adv).s ; isPre = False ;
|
||||
lock_A = <>} ;
|
||||
|
||||
mk5A : (preto,preta,pretos,pretas,pretamente : Str) -> A ;
|
||||
mk5A a b c d e = compADeg {s = \\_ => (mkAdj a b c d e).s ;
|
||||
|
||||
Reference in New Issue
Block a user