forked from GitHub/gf-rgl
(Por) rm (indirect) use of runtime gluing
This commit is contained in:
@@ -33,7 +33,10 @@ lin
|
||||
n_units_AP card cn a = mkAP (lin AdA (mkUtt (mkNP <lin Card card : Card> (lin CN cn))))
|
||||
(lin A a) ;
|
||||
n_units_of_NP card cn np = mkNP card (mkCN (lin N2 cn) np) ;
|
||||
n_unit_CN card cn cn = mkCN (invarA ("de" ++ card.s ! cn.g ++ cn.s ! card.n)) cn ;
|
||||
n_unit_CN card cn cn =
|
||||
let s : Str = "de" ++ card.s ! cn.g ++ cn.s ! card.n ;
|
||||
adj : A = mkA s s s s s ;
|
||||
in mkCN adj cn ;
|
||||
|
||||
bottle_of_CN np = mkCN (lin N2 (mkN2 (mkN "garrafa" feminine) part_Prep)) np ;
|
||||
cup_of_CN np = mkCN (lin N2 (mkN2 (mkN "copo") part_Prep)) np ;
|
||||
|
||||
@@ -64,7 +64,7 @@ oper
|
||||
"i" => "í" ;
|
||||
"o" => "ó" ;
|
||||
"u" => "ú" ;
|
||||
_ => error ("input '" ++ v ++ "' must be vowel character.")
|
||||
_ => error ("input" ++ v ++ "must be vowel character.")
|
||||
} ;
|
||||
|
||||
diacriticToVowel : Str -> Str = \v ->
|
||||
@@ -74,7 +74,7 @@ oper
|
||||
"í" => "i" ;
|
||||
("ó"|"ô"|"õ") => "o" ;
|
||||
"ú" => "u" ;
|
||||
_ => error ("input '" ++ v ++ "' must be a vowel character with an accent.")
|
||||
_ => error ("input" ++ v ++ "must be a vowel character with an accent.")
|
||||
} ;
|
||||
|
||||
-- Common nouns are inflected in number and have an inherent gender.
|
||||
@@ -130,7 +130,7 @@ oper
|
||||
|
||||
home + "m" => mkNoun (nomNuvem vinho) Masc ;
|
||||
|
||||
g + v@("á"|"é"|"í"|"ó"|"ú"|"ê") + "s" => mkNoun (numForms vinho (g + diacriticToVowel v + "ses")) Masc ;
|
||||
g + v@("á"|"é"|"í"|"ó"|"ú"|"ê") + "s" => mkNoun (numForms vinho (g + (diacriticToVowel v) + "ses")) Masc ;
|
||||
|
||||
ônibu + "s" => mkNoun (nomAreia vinho) Masc ;
|
||||
|
||||
@@ -158,19 +158,21 @@ oper
|
||||
} ;
|
||||
|
||||
mkAdj4 : (_,_,_,_ : Str) -> Adj ;
|
||||
mkAdj4 ms fs mp fp = {
|
||||
s = table {
|
||||
ASg g _ => genForms ms fs ! g ;
|
||||
APl g => genForms mp fp ! g ;
|
||||
AA => case fs of {
|
||||
exeg + v@("é"|"á"|"í"|"ó"|"ú"|"ê"|"ô") + tica
|
||||
=> exeg + (diacriticToVowel v) + tica + "mente" ;
|
||||
mkAdj4 ms fs mp fp =
|
||||
let adv : Str = case fs of {
|
||||
exeg + vo@("é"|"á"|"í"|"ó"|"ú"|"ê"|"ô") + tica
|
||||
=> exeg + (diacriticToVowel vo) + tica ;
|
||||
|
||||
comu + "m" => comu + "mente" ; -- for Brazilian Portuguese
|
||||
comu + "m" => comu ; -- for Brazilian Portuguese
|
||||
|
||||
_ => fs + "mente"
|
||||
_ => fs
|
||||
} + "mente" ;
|
||||
in {
|
||||
s = table {
|
||||
ASg g _ => genForms ms fs ! g ;
|
||||
APl g => genForms mp fp ! g ;
|
||||
AA => adv
|
||||
}
|
||||
}
|
||||
} ;
|
||||
|
||||
mkAdjFromNouns : Noun -> Noun -> Adj ;
|
||||
|
||||
@@ -245,7 +245,7 @@ oper
|
||||
-- One-place adjectives compared with "mais" need five forms in
|
||||
-- the worst case (masc and fem singular, masc and fem plural,
|
||||
-- adverbial).
|
||||
mkA : (bobo,boba,bobos,bobas,bobamente : Str) -> A = mk5A ;
|
||||
mkA : (gabarolas,gabarolas,gabarolas,gabarolas,gabarolamente : Str) -> A = mk5A ;
|
||||
|
||||
-- In the worst case, two separate adjectives are given: the positive
|
||||
-- ("bom"), and the comparative ("melhor"). special comparison with
|
||||
|
||||
Reference in New Issue
Block a user