mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-30 10:28:53 -06:00
- add missing lins tired_VP, scared_VP, ill_VP, ready_VP
- add time linearizations - rm Spa from RNeg lin and Refl and pronouns - use constructors (mkV, mkA, etc) when possible - update Lexicon - update Numeral
This commit is contained in:
@@ -9,6 +9,10 @@ concrete ConstructionPor of Construction = CatPor **
|
|||||||
lin
|
lin
|
||||||
hungry_VP = E.ComplCN have_V2 (mkCN (mkN "fome" feminine)) ;
|
hungry_VP = E.ComplCN have_V2 (mkCN (mkN "fome" feminine)) ;
|
||||||
thirsty_VP = E.ComplCN have_V2 (mkCN (mkN "sede" feminine)) ;
|
thirsty_VP = E.ComplCN have_V2 (mkCN (mkN "sede" feminine)) ;
|
||||||
|
tired_VP = mkVP (mkA "cansado") ;
|
||||||
|
scared_VP = mkVP (mkA "assustado") ;
|
||||||
|
ill_VP = mkVP (mkA "doente") ;
|
||||||
|
ready_VP = mkVP (mkA "pronto") ;
|
||||||
has_age_VP card = mkVP have_V2 (mkNP <lin Card card : Card> L.year_N) ;
|
has_age_VP card = mkVP have_V2 (mkNP <lin Card card : Card> L.year_N) ;
|
||||||
|
|
||||||
have_name_Cl x y = mkCl x (mkV2 (reflV (mkV "chamar"))) y ;
|
have_name_Cl x y = mkCl x (mkV2 (reflV (mkV "chamar"))) y ;
|
||||||
@@ -45,15 +49,21 @@ lin
|
|||||||
come_from_there_VP = mkVP (mkVP L.come_V) (mkAdv "de allí") ; -- "de allá"
|
come_from_there_VP = mkVP (mkVP L.come_V) (mkAdv "de allí") ; -- "de allá"
|
||||||
-}
|
-}
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
Weekday = N ;
|
Timeunit = N ;
|
||||||
Monthday = NP ;
|
Weekday = N ;
|
||||||
Month = N ;
|
Monthday = NP ;
|
||||||
Year = NP ;
|
Month = N ;
|
||||||
|
Year = NP ;
|
||||||
oper
|
oper
|
||||||
noPrep : Prep = mkPrep [] ;
|
noPrep : Prep = mkPrep [] ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
|
timeunitAdv n time =
|
||||||
|
let n_card : Card = lin Card n;
|
||||||
|
n_hours_NP : NP = mkNP n_card time ;
|
||||||
|
in SyntaxPor.mkAdv for_Prep n_hours_NP ;--| SyntaxPor.mkAdv (n_hours_NP.s ! R.Nom) ;
|
||||||
|
|
||||||
weekdayPunctualAdv w = lin Adv {s = w.s ! C.Sg} ; -- lundi
|
weekdayPunctualAdv w = lin Adv {s = w.s ! C.Sg} ; -- lundi
|
||||||
weekdayHabitualAdv w = SyntaxPor.mkAdv noPrep (mkNP the_Det w) ; -- il lunedí ----
|
weekdayHabitualAdv w = SyntaxPor.mkAdv noPrep (mkNP the_Det w) ; -- il lunedí ----
|
||||||
weekdayLastAdv w = SyntaxPor.mkAdv noPrep (mkNP the_Det (mkCN (mkA "passado") w)) ; -- il lunedí scorso
|
weekdayLastAdv w = SyntaxPor.mkAdv noPrep (mkNP the_Det (mkCN (mkA "passado") w)) ; -- il lunedí scorso
|
||||||
@@ -75,6 +85,7 @@ lin InLanguage l = SyntaxPor.mkAdv (mkPrep "em") (mkNP l) ;
|
|||||||
|
|
||||||
lin
|
lin
|
||||||
weekdayN w = w ;
|
weekdayN w = w ;
|
||||||
|
monthN m = m ;
|
||||||
|
|
||||||
weekdayPN w = mkPN w ;
|
weekdayPN w = mkPN w ;
|
||||||
monthPN m = mkPN m ;
|
monthPN m = mkPN m ;
|
||||||
@@ -86,6 +97,13 @@ oper mkLanguage : Str -> N = \s -> mkN s ;
|
|||||||
|
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
---- lexicon of special names
|
---- lexicon of special names
|
||||||
|
lin second_Timeunit = mkN "segundo" ;
|
||||||
|
lin minute_Timeunit = mkN "minuto" ;
|
||||||
|
lin hour_Timeunit = mkN "hora" ;
|
||||||
|
lin day_Timeunit = mkN "dia" masculine ;
|
||||||
|
lin week_Timeunit = mkN "semana" ;
|
||||||
|
lin month_Timeunit = mkN "mês" "meses" ;
|
||||||
|
lin year_Timeunit = mkN "ano" ;
|
||||||
|
|
||||||
lin monday_Weekday = mkN "segunda" ;
|
lin monday_Weekday = mkN "segunda" ;
|
||||||
lin tuesday_Weekday = mkN "terça" ;
|
lin tuesday_Weekday = mkN "terça" ;
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo
|
|||||||
CPrep P_a => "a"
|
CPrep P_a => "a"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
artDef : Bool -> Gender -> Number -> Case -> Str = \isNP,g,n,c ->
|
artDef : Bool -> Gender -> Number -> Case -> Str = \isNP,g,n,c ->
|
||||||
case isNP of {
|
case isNP of {
|
||||||
True => case <g,n,c> of {
|
True => case <g,n,c> of {
|
||||||
@@ -141,12 +140,12 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo
|
|||||||
|
|
||||||
negation : RPolarity => (Str * Str) = table {
|
negation : RPolarity => (Str * Str) = table {
|
||||||
RPos => <[],[]> ;
|
RPos => <[],[]> ;
|
||||||
RNeg _ => <"no",[]>
|
RNeg _ => <"não",[]>
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
conjThan = "que" ;
|
conjThan = "que" ;
|
||||||
conjThat = "que" ;
|
conjThat = "que" ;
|
||||||
subjIf = "si" ;
|
subjIf = "se" ;
|
||||||
|
|
||||||
|
|
||||||
clitInf b cli inf = inf ++ bindIf b ++ cli ;
|
clitInf b cli inf = inf ++ bindIf b ++ cli ;
|
||||||
@@ -170,7 +169,7 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo
|
|||||||
case p of {
|
case p of {
|
||||||
P3 => case c of {
|
P3 => case c of {
|
||||||
Acc | CPrep P_a => "se" ;
|
Acc | CPrep P_a => "se" ;
|
||||||
_ => "sí"
|
_ => "si"
|
||||||
} ;
|
} ;
|
||||||
_ => pro
|
_ => pro
|
||||||
} ;
|
} ;
|
||||||
@@ -188,14 +187,14 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo
|
|||||||
} ;
|
} ;
|
||||||
in
|
in
|
||||||
\g,n,p -> case <<g,n,p> : Gender * Number * Person> of {
|
\g,n,p -> case <<g,n,p> : Gender * Number * Person> of {
|
||||||
<_,Sg,P1> => cases "me" "mí" ;
|
<_,Sg,P1> => cases "me" "mim" ;
|
||||||
<_,Sg,P2> => cases "te" "tí" ;
|
<_,Sg,P2> => cases "te" "ti" ;
|
||||||
<_,Pl,P1> => cases "nos" "nosotras" ; --- nosotros
|
<_,Pl,P1> => cases "nos" "nós" ; --- nosotros
|
||||||
<_,Pl,P2> => cases "vos" "vosotras" ; --- vosotros
|
<_,Pl,P2> => cases "vos" "vós" ; --- vosotros
|
||||||
<Fem,Sg,P3> => cases3 "la" "le" "ella" ;
|
<Fem,Sg,P3> => cases3 "a" "sua" "ela" ;
|
||||||
<_, Sg,P3> => cases3 "lo" "le" "èl" ;
|
<_, Sg,P3> => cases3 "o" "seu" "ele" ;
|
||||||
<Fem,Pl,P3> => cases3 "las" "les" "ellas" ;
|
<Fem,Pl,P3> => cases3 "as" "suas" "elas" ;
|
||||||
<_, Pl,P3> => cases3 "los" "les" "ellos"
|
<_, Pl,P3> => cases3 "os" "seus" "eles"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
vRefl _ = VRefl ;
|
vRefl _ = VRefl ;
|
||||||
|
|||||||
@@ -20,11 +20,11 @@ concrete IdiomPor of Idiom = CatPor **
|
|||||||
|
|
||||||
ExistNP np =
|
ExistNP np =
|
||||||
mkClause [] True False (agrP3 Masc Sg)
|
mkClause [] True False (agrP3 Masc Sg)
|
||||||
(insertComplement (\\_ => (np.s ! Acc).ton) (predV (verboV (haver_2 "haver")))) ;
|
(insertComplement (\\_ => (np.s ! Acc).ton) (predV (mkV (haver_2 "haver")))) ;
|
||||||
ExistIP ip = {
|
ExistIP ip = {
|
||||||
s = \\t,a,p,_ =>
|
s = \\t,a,p,_ =>
|
||||||
ip.s ! Nom ++
|
ip.s ! Nom ++
|
||||||
(mkClause [] True False (agrP3 Masc Sg) (predV (verboV (haver_2 "haver")))).s ! DDir ! t ! a ! p ! Indic
|
(mkClause [] True False (agrP3 Masc Sg) (predV (mkV (haver_2 "haver")))).s ! DDir ! t ! a ! p ! Indic
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ProgrVP vp =
|
ProgrVP vp =
|
||||||
@@ -36,7 +36,7 @@ concrete IdiomPor of Idiom = CatPor **
|
|||||||
in
|
in
|
||||||
vp.s.s ! VGer ++ clpr.p1 ++ obj
|
vp.s.s ! VGer ++ clpr.p1 ++ obj
|
||||||
)
|
)
|
||||||
(predV (verboV (estar_10 "estar"))) ;
|
(predV (mkV (estar_10 "estar"))) ;
|
||||||
|
|
||||||
ImpPl1 vp = {s =
|
ImpPl1 vp = {s =
|
||||||
mkImperative False P1 vp ! RPos ! Masc ! Pl ; --- fem
|
mkImperative False P1 vp ! RPos ! Masc ! Pl ; --- fem
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ concrete IrregPor of IrregPorAbs = CatPor **
|
|||||||
flags optimize=values ;
|
flags optimize=values ;
|
||||||
coding=utf8 ;
|
coding=utf8 ;
|
||||||
|
|
||||||
lin estar_V = verboV (estar_10 "estar") ;
|
lin estar_V = mkV (estar_10 "estar") ;
|
||||||
lin fazer_V = verboV (fazer_31 "fazer") ;
|
lin fazer_V = mkV (fazer_31 "fazer") ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,12 +23,12 @@ lin
|
|||||||
clean_A = mkA "limpo" ;
|
clean_A = mkA "limpo" ;
|
||||||
clever_A = mkA "inteligente" ;
|
clever_A = mkA "inteligente" ;
|
||||||
cold_A = mkA "frio" ; -- fria
|
cold_A = mkA "frio" ; -- fria
|
||||||
correct_A = mkA "correcto" ;
|
correct_A = mkA "correto" | mkA "correcto" ;
|
||||||
dirty_A = mkA "sujo" ;
|
dirty_A = mkA "sujo" ;
|
||||||
dry_A = mkA "seco" ;
|
dry_A = mkA "seco" ;
|
||||||
dull_A = mkA "desafilado" ;
|
dull_A = mkA "desafilado" ;
|
||||||
empty_A = mkA "vazio" ;
|
empty_A = mkA "vazio" ;
|
||||||
full_A = mkA "lleno" ;
|
full_A = mkA "cheio" ;
|
||||||
good_A = prefA (mkA (mkA "bom") (mkA "melhor")) ; ---- adv?
|
good_A = prefA (mkA (mkA "bom") (mkA "melhor")) ; ---- adv?
|
||||||
green_A = mkA "verde" ;
|
green_A = mkA "verde" ;
|
||||||
heavy_A = mkA "pesado" ;
|
heavy_A = mkA "pesado" ;
|
||||||
@@ -36,32 +36,32 @@ lin
|
|||||||
important_A = mkA "importante" ;
|
important_A = mkA "importante" ;
|
||||||
long_A = mkA "longo" ;
|
long_A = mkA "longo" ;
|
||||||
narrow_A = mkA "estreito" ;
|
narrow_A = mkA "estreito" ;
|
||||||
near_A = mkA "cercano" ;
|
near_A = mkA "perto" ;
|
||||||
new_A = prefA (mkA "novo") ;
|
new_A = prefA (mkA "novo") ;
|
||||||
old_A = prefA (mkA "velho") ;
|
old_A = prefA (mkA "velho") ;
|
||||||
ready_A = mkA "pronto" ;
|
ready_A = mkA "pronto" ;
|
||||||
red_A = mkA "vermelho" ;
|
red_A = mkA "vermelho" ;
|
||||||
rotten_A = mkA "podre" ;
|
rotten_A = mkA "podre" ;
|
||||||
round_A = mkA "redondo" ;
|
round_A = mkA "redondo" ;
|
||||||
sharp_A = mkA "filoso" ; -- afilado, puntiagudo
|
sharp_A = mkA "afiado" ; -- pontiagudo
|
||||||
short_A = mkA "curto" ; --- breve, pequeno, baixo
|
short_A = mkA "curto" ; --- breve, pequeno, baixo
|
||||||
small_A = prefA (mkA "pequeno") ;
|
small_A = prefA (mkA "pequeno") ;
|
||||||
smooth_A = mkA "liso" ; -- suave
|
smooth_A = mkA "liso" ; -- suave
|
||||||
straight_A = mkA "directo" ;
|
straight_A = mkA "direto" | mkA "directo" ; -- reto
|
||||||
stupid_A = mkA "estúpido" ;
|
stupid_A = mkA "estúpido" ;
|
||||||
thick_A = mkA "grosso" ;
|
thick_A = mkA "grosso" ;
|
||||||
thin_A = mkA "fino" ; -- delgado
|
thin_A = mkA "fino" ; -- delgado, magro
|
||||||
ugly_A = mkA "feio" ;
|
ugly_A = mkA "feio" ;
|
||||||
uncertain_A = mkA "incerto" ;
|
uncertain_A = mkA "incerto" ;
|
||||||
warm_A = mkA "quente" ;
|
warm_A = mkA "quente" ;
|
||||||
wet_A = mkA "mojado" ;
|
wet_A = mkA "molhado" ;
|
||||||
white_A = compADeg (mkA "blanco") ;
|
white_A = compADeg (mkA "branco") ;
|
||||||
wide_A = mkA "ancho" ; -- extenso
|
wide_A = mkA "largo" ; -- extenso
|
||||||
yellow_A = mkA "amarillo" ;
|
yellow_A = mkA "amarelo" ;
|
||||||
young_A = prefA (mkA "joven" "joven" "jóvenes" "jóvenes" "jovenamente") ;
|
young_A = prefA (mkA "jovem" "jovem" "jovens" "jovens" "juvenilmente") ;
|
||||||
already_Adv = mkAdv "ya" ;
|
already_Adv = mkAdv "já" ;
|
||||||
far_Adv = mkAdv "lejos" ; ----?
|
far_Adv = mkAdv "longe" ; ----?
|
||||||
now_Adv = mkAdv "ahora" ;
|
now_Adv = mkAdv "agora" ;
|
||||||
today_Adv = mkAdv "hoje" ;
|
today_Adv = mkAdv "hoje" ;
|
||||||
brother_N2 = deN2 (mkN "irmão") ;
|
brother_N2 = deN2 (mkN "irmão") ;
|
||||||
father_N2 = deN2 (mkN "pai") ;
|
father_N2 = deN2 (mkN "pai") ;
|
||||||
@@ -255,28 +255,28 @@ lin
|
|||||||
john_PN = mkPN "João" masculine ;
|
john_PN = mkPN "João" masculine ;
|
||||||
paris_PN = mkPN "Paris" feminine ;
|
paris_PN = mkPN "Paris" feminine ;
|
||||||
-- V
|
-- V
|
||||||
rain_V0 = mkV0 (verboV (chover_47 "chover")) ;
|
rain_V0 = mkV0 (mkV (chover_47 "chover")) ;
|
||||||
paint_V2A = mkV2A (mkV "pintar") accusative (mkPrep "em") ;
|
paint_V2A = mkV2A (mkV "pintar") accusative (mkPrep "em") ;
|
||||||
ask_V2Q = mkV2Q (mkV "perguntar") dative ;
|
ask_V2Q = mkV2Q (mkV "perguntar") dative ;
|
||||||
answer_V2S = mkV2S (mkV "responder") dative ;
|
answer_V2S = mkV2S (mkV "responder") dative ;
|
||||||
beg_V2V = mkV2V (mkV "rogar") accusative dative ; -- pedir
|
beg_V2V = mkV2V (mkV "rogar") accusative dative ; -- pedir
|
||||||
bite_V2 = dirV2 (mkV "morder") ;
|
bite_V2 = dirV2 (mkV "morder") ;
|
||||||
break_V2 = dirV2 (special_ppV (mkV "romper") "rompido") ;
|
break_V2 = dirV2 (mkV "quebrar") ;
|
||||||
buy_V2 = dirV2 (mkV "comprar") ;
|
buy_V2 = dirV2 (mkV "comprar") ;
|
||||||
close_V2 = dirV2 (mkV "fechar") ;
|
close_V2 = dirV2 (mkV "fechar") ;
|
||||||
count_V2 = dirV2 (mkV "contar") ;
|
count_V2 = dirV2 (mkV "contar") ;
|
||||||
cut_V2 = dirV2 (mkV "cortar") ;
|
cut_V2 = dirV2 (mkV "cortar") ;
|
||||||
do_V2 = dirV2 (mkV "fazer") ;
|
do_V2 = dirV2 (mkV (fazer_31 "fazer")) ;
|
||||||
drink_V2 = dirV2 (mkV "beber") ;
|
drink_V2 = dirV2 (mkV "beber") ;
|
||||||
eat_V2 = dirV2 (mkV "comer") ;
|
eat_V2 = dirV2 (mkV "comer") ;
|
||||||
fear_V2 = dirV2 (mkV "temer") ;
|
fear_V2 = dirV2 (mkV "temer") ;
|
||||||
fight_V2 = dirV2 (mkV "lutar") ;
|
fight_V2 = dirV2 (mkV "lutar") ;
|
||||||
find_V2 = dirV2 (mkV "encontrar") ;
|
find_V2 = dirV2 (mkV "encontrar") ;
|
||||||
forget_V2 = dirV2 (mkV "esquecer") ;
|
forget_V2 = dirV2 (mkV "esquecer") ;
|
||||||
hate_V2 = dirV2 (mkV "odiar") ;
|
hate_V2 = dirV2 (mkV (odiar_17 "odiar")) ;
|
||||||
hear_V2 = dirV2 (mkV "ouvir") ;
|
hear_V2 = dirV2 (mkV "ouvir") ;
|
||||||
hit_V2 = dirV2 (mkV "bater") ;
|
hit_V2 = dirV2 (mkV "bater") ;
|
||||||
hold_V2 = dirV2 (mkV "ter") ;
|
hold_V2 = dirV2 (mkV (ter_1 "ter")) ;
|
||||||
hunt_V2 = dirV2 (mkV "caçar") ;
|
hunt_V2 = dirV2 (mkV "caçar") ;
|
||||||
kill_V2 = dirV2 (mkV "matar") ;
|
kill_V2 = dirV2 (mkV "matar") ;
|
||||||
know_V2 = mkV2 (mkV "conhecer") ;
|
know_V2 = mkV2 (mkV "conhecer") ;
|
||||||
@@ -284,43 +284,43 @@ lin
|
|||||||
leave_V2 = dirV2 (mkV "partir") ; -- irse, dejar
|
leave_V2 = dirV2 (mkV "partir") ; -- irse, dejar
|
||||||
like_V2 = dirV2 (mkV "gostar") ;
|
like_V2 = dirV2 (mkV "gostar") ;
|
||||||
listen_V2 = dirV2 (mkV "escutar") ;
|
listen_V2 = dirV2 (mkV "escutar") ;
|
||||||
lose_V2 = dirV2 (mkV "perder") ;
|
lose_V2 = dirV2 (mkV (perder_44 "perder")) ;
|
||||||
love_V2 = dirV2 (mkV "amar") ;
|
love_V2 = dirV2 (mkV "amar") ;
|
||||||
open_V2 = dirV2 (special_ppV (mkV "abrir") "aberto") ;
|
open_V2 = dirV2 (special_ppV (mkV "abrir") "aberto") ;
|
||||||
play_V2 = dirV2 (mkV "jogar") ;
|
play_V2 = dirV2 (mkV "jogar") ;
|
||||||
pull_V2 = dirV2 (mkV "tirar") ;
|
pull_V2 = dirV2 (mkV "tirar") ;
|
||||||
push_V2 = dirV2 (mkV "empurrar") ;
|
push_V2 = dirV2 (mkV "empurrar") ;
|
||||||
put_V2 = dirV2 (mkV "por") ;
|
put_V2 = dirV2 (mkV (pôr_45 "pôr")) ;
|
||||||
read_V2 = dirV2 (mkV "ler") ;
|
read_V2 = dirV2 (mkV (ler_42 "ler")) ;
|
||||||
rub_V2 = dirV2 (mkV "resfregar") ;
|
rub_V2 = dirV2 (mkV "esfregar") ;
|
||||||
scratch_V2 = dirV2 (mkV "rascar") ;
|
scratch_V2 = dirV2 (mkV "coçar") ;
|
||||||
see_V2 = dirV2 (mkV "ver") ;
|
see_V2 = dirV2 (mkV (ver_40 "ver")) ;
|
||||||
seek_V2 = dirV2 (mkV "buscar") ;
|
seek_V2 = dirV2 (mkV "buscar") ;
|
||||||
speak_V2 = dirV2 (mkV "falar") ;
|
speak_V2 = dirV2 (mkV "falar") ;
|
||||||
split_V2 = dirV2 (mkV "separar") ; -- dividir,) ;
|
split_V2 = dirV2 (mkV "separar") ; -- dividir,) ;
|
||||||
squeeze_V2 = dirV2 (mkV "exprimir") ;
|
squeeze_V2 = dirV2 (mkV "apertar") ;
|
||||||
stab_V2 = dirV2 (mkV "apuñalar") ;
|
stab_V2 = dirV2 (mkV "esfaquear") ;
|
||||||
suck_V2 = dirV2 (mkV "chupar") ;
|
suck_V2 = dirV2 (mkV "chupar") ;
|
||||||
switch8off_V2 = dirV2 (mkV "apagar") ;
|
switch8off_V2 = dirV2 (mkV "apagar") ;
|
||||||
switch8on_V2 = dirV2 (mkV "ligar") ; -- acender
|
switch8on_V2 = dirV2 (mkV "ligar") ; -- acender
|
||||||
teach_V2 = dirV2 (mkV "enseñar") ;
|
teach_V2 = dirV2 (mkV "ensinar") ;
|
||||||
throw_V2 = dirV2 (mkV "tirar") ;
|
throw_V2 = dirV2 (mkV "jogar") ;
|
||||||
tie_V2 = dirV2 (mkV "atar") ;
|
tie_V2 = dirV2 (mkV "atar") ;
|
||||||
understand_V2 = dirV2 (mkV "entender") ;
|
understand_V2 = dirV2 (mkV "entender") ;
|
||||||
wait_V2 = mkV2 (mkV "esperar") dative ;
|
wait_V2 = mkV2 (mkV "esperar") dative ;
|
||||||
wash_V2 = dirV2 (mkV "lavar") ;
|
wash_V2 = dirV2 (mkV "lavar") ;
|
||||||
watch_V2 = dirV2 (mkV "mirar") ; -- ver
|
watch_V2 = dirV2 (mkV "ver") ; -- ver
|
||||||
win_V2 = dirV2 (mkV "ganar") ;
|
win_V2 = dirV2 (mkV "ganhar") ;
|
||||||
wipe_V2 = dirV2 (mkV "secar") ;
|
wipe_V2 = dirV2 (mkV "remover") ;
|
||||||
write_V2 = dirV2 (special_ppV (mkV "escribir") "escrito") ;
|
write_V2 = dirV2 (special_ppV (mkV "escrever") "escrito") ;
|
||||||
add_V3 = dirV3 (mkV "somar") dative ;
|
add_V3 = dirV3 (mkV "somar") dative ;
|
||||||
give_V3 = dirdirV3 (mkV "dar") ;
|
give_V3 = dirdirV3 (mkV (dar_11 "dar")) ;
|
||||||
sell_V3 = dirV3 (mkV "vender") dative ;
|
sell_V3 = dirV3 (mkV "vender") dative ;
|
||||||
send_V3 = dirV3 (mkV "mandar") dative ; -- enviar
|
send_V3 = dirV3 (mkV "enviar") dative ; -- mandar
|
||||||
talk_V3 = mkV3 (mkV "falar") dative genitive ;
|
talk_V3 = mkV3 (mkV "falar") dative genitive ;
|
||||||
become_VA = reflV (mkV "converter") ; --- convertirse en, volverse, ponerse
|
become_VA = reflV (mkV "virar") ; --- convertirse en, volverse, ponerse
|
||||||
know_VQ = mkVQ (mkV "saber") ;
|
know_VQ = mkVQ (mkV "saber") ;
|
||||||
wonder_VQ = mkVQ (reflV (mkV "preguntar")) ;
|
wonder_VQ = mkVQ (reflV (mkV "perguntar")) ;
|
||||||
fear_VS = mkVS (mkV "temer") ;
|
fear_VS = mkVS (mkV "temer") ;
|
||||||
hope_VS = mkVS (mkV "esperar") ;
|
hope_VS = mkVS (mkV "esperar") ;
|
||||||
know_VS = mkVS (mkV "saber") ;
|
know_VS = mkVS (mkV "saber") ;
|
||||||
@@ -329,34 +329,34 @@ lin
|
|||||||
blow_V = mkV "assoprar" ;
|
blow_V = mkV "assoprar" ;
|
||||||
breathe_V = mkV "respirar" ;
|
breathe_V = mkV "respirar" ;
|
||||||
burn_V = mkV "queimar" ;
|
burn_V = mkV "queimar" ;
|
||||||
come_V = mkV "vir" ;
|
come_V = mkV (vir_67 "vir") ;
|
||||||
die_V = mkV "morrer" ;
|
die_V = mkV "morrer" ;
|
||||||
dig_V = mkV "escavar" ;
|
dig_V = mkV "escavar" ;
|
||||||
fall_V = mkV "cair" ;
|
fall_V = mkV "cair" ;
|
||||||
float_V = mkV "flutuar" ;
|
float_V = mkV "flutuar" ;
|
||||||
flow_V = mkV "fluir" ; -- circular
|
flow_V = mkV "fluir" ; -- circular
|
||||||
fly_V = mkV "voar" ;
|
fly_V = mkV "voar" ;
|
||||||
freeze_V = mkV "congelar" ;
|
freeze_V = mkV "congelar" ;
|
||||||
go_V = (mkV "ir") ;
|
go_V = (mkV "ir") ;
|
||||||
jump_V = mkV "saltar" ;
|
jump_V = mkV "saltar" ;
|
||||||
laugh_V = mkV "reir" ; ----V reír_67
|
laugh_V = mkV (rir_69 "rir") ;
|
||||||
lie_V = reflV (mkV "acostar") ; -- "acostarse"
|
lie_V = reflV (mkV "mentir") ;
|
||||||
live_V = mkV "viver" ;
|
live_V = mkV "viver" ;
|
||||||
play_V = mkV "jugar" ;
|
play_V = mkV "jogar" ;
|
||||||
run_V = mkV "correr" ;
|
run_V = mkV "correr" ;
|
||||||
sew_V = mkV "coser" ;
|
sew_V = mkV "costurar" ;
|
||||||
sing_V = mkV "cantar" ;
|
sing_V = mkV "cantar" ;
|
||||||
sit_V = reflV (mkV "sentar") ;
|
sit_V = reflV (mkV "sentar") ;
|
||||||
sleep_V = mkV "dormir" ;
|
sleep_V = mkV "dormir" ;
|
||||||
smell_V = mkV "cheirar" ;
|
smell_V = mkV "cheirar" ;
|
||||||
spit_V = mkV "escupir" ;
|
spit_V = mkV "cuspir" ;
|
||||||
stand_V = mkV "estar" ; ---- "estar de pie" ;
|
stand_V = mkV (estar_10 "estar") ; ---- "estar de pé" ;
|
||||||
stop_V = mkV "parar" ;
|
stop_V = mkV "parar" ;
|
||||||
swell_V = mkV "tragar" ;
|
swell_V = mkV "tragar" ;
|
||||||
swim_V = mkV "nadar" ;
|
swim_V = mkV "nadar" ;
|
||||||
think_V = mkV "pensar" ;
|
think_V = mkV "pensar" ;
|
||||||
travel_V = mkV "viajar" ;
|
travel_V = mkV "viajar" ;
|
||||||
turn_V = mkV "doblar" ;
|
turn_V = mkV "virar" ;
|
||||||
vomit_V = mkV "vomitar" ;
|
vomit_V = mkV "vomitar" ;
|
||||||
walk_V = mkV "caminhar" ;
|
walk_V = mkV "caminhar" ;
|
||||||
-- interj
|
-- interj
|
||||||
|
|||||||
@@ -269,8 +269,9 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkIDet : (quantos, quantas : Str) -> Number -> IDet = \quantos,quantas,number ->
|
mkIDet : (quantos, quantas : Str) -> Number -> IDet = \quantos,quantas,number ->
|
||||||
lin IDet {
|
lin IDet {
|
||||||
s = \\g,c => prepCase c ++ genForms quantos quantas ! g ;
|
s = \\g,c => prepCase c ++ genForms quantos quantas ! g ;
|
||||||
n = number
|
n = number
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ concrete NumeralPor of Numeral = CatPor [Numeral,Digits] **
|
|||||||
|
|
||||||
flags coding=utf8 ;
|
flags coding=utf8 ;
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
Digit = {s : DForm => CardOrd => Str} ;
|
Digit = {s : DForm => CardOrd => Str} ;
|
||||||
Sub10 = {s : DForm => CardOrd => Str ; n : Number} ;
|
Sub10 = {s : DForm => CardOrd => Str ; n : Number} ;
|
||||||
Sub100 = {s : CardOrd => Str ; n : Number} ;
|
Sub100 = {s : CardOrd => Str ; n : Number} ;
|
||||||
Sub1000 = {s : CardOrd => Str ; n : Number} ;
|
Sub1000 = {s : CardOrd => Str ; n : Number} ;
|
||||||
Sub1000000 = {s : CardOrd => Str ; n : Number} ;
|
Sub1000000 = {s : CardOrd => Str ; n : Number} ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
num x = x ;
|
num x = x ;
|
||||||
@@ -25,29 +25,28 @@ lincat
|
|||||||
mkTal "três" "treze" "trinta" "trezentos"
|
mkTal "três" "treze" "trinta" "trezentos"
|
||||||
"terceiro" "trigésimo" "tricentésimo" ;
|
"terceiro" "trigésimo" "tricentésimo" ;
|
||||||
n4 =
|
n4 =
|
||||||
mkTal "quatro" (variants {"catorze" ; "quatorze"}) "quarenta"
|
mkTal "quatro" ("catorze" | "quatorze") "quarenta"
|
||||||
"quatrocentos" "quarto" "quadragésimo" "quadringentésimo" ;
|
"quatrocentos" "quarto" "quadragésimo" "quadringentésimo" ;
|
||||||
n5 =
|
n5 =
|
||||||
mkTal "cinco" "quinze" "cinquenta" "quinhentos"
|
mkTal "cinco" "quinze" "cinquenta" "quinhentos"
|
||||||
"quinto" "quinquagésimo" "guingentésimo" ;
|
"quinto" "quinquagésimo" "guingentésimo" ;
|
||||||
n6 =
|
n6 =
|
||||||
mkTal "seis" (variants {"dezesseis"; "dezasseis"})
|
mkTal "seis" ("dezesseis" | "dezasseis") "sessenta" "seiscentos"
|
||||||
"sessenta" "seiscentos" "sexto" "sexagésimo" "sexcentésimo" ;
|
"sexto" "sexagésimo" "sexcentésimo" ;
|
||||||
n7 =
|
n7 =
|
||||||
mkTal "sete" (variants {"dezessete" ; "dezassete"}) "setenta"
|
mkTal "sete" ("dezessete" | "dezassete") "setenta"
|
||||||
"setecentos" "sétimo" "septuagésimo" "septingentésimo" ;
|
"setecentos" "sétimo" "septuagésimo" "septingentésimo" ;
|
||||||
n8 =
|
n8 =
|
||||||
mkTal "oito" "dezoito" "oitenta" "oitocentos"
|
mkTal "oito" "dezoito" "oitenta" "oitocentos"
|
||||||
"oitavo" "octogésimo" "octingentésimo" ;
|
"oitavo" "octogésimo" "octingentésimo" ;
|
||||||
n9 =
|
n9 =
|
||||||
mkTal "nove" (variants {"dezenove" ; "dezanove"}) "noventa"
|
mkTal "nove" ("dezenove" | "dezanove") "noventa"
|
||||||
"novecentos" "nono" "nonagésimo" "noningentésimo";
|
"novecentos" "nono" "nonagésimo" "noningentésimo";
|
||||||
|
|
||||||
pot01 =
|
pot01 =
|
||||||
let um = (mkTal "um" "onze" "dez" "cento" "primeiro"
|
let um = (mkTal "um" "onze" "dez" "cento" "primeiro"
|
||||||
"décimo" "centésimo").s in
|
"décimo" "centésimo").s in
|
||||||
{s =\\f,g => case <f,g> of {
|
{s =\\f,g => case <f,g> of {
|
||||||
<unit, NCard Masc> => "um" ;
|
|
||||||
<unit, NCard Fem> => "uma" ;
|
<unit, NCard Fem> => "uma" ;
|
||||||
_ => um ! f ! g
|
_ => um ! f ! g
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ oper
|
|||||||
\s,p -> regN s ** {s = numForms s p} ;
|
\s,p -> regN s ** {s = numForms s p} ;
|
||||||
-- force gender
|
-- force gender
|
||||||
mkN : Str -> Gender -> N =
|
mkN : Str -> Gender -> N =
|
||||||
\s,g -> regN s ** {g = g};
|
\s,g -> regN s ** {g = g} ;
|
||||||
-- The worst case has two forms (singular + plural) and the
|
-- The worst case has two forms (singular + plural) and the
|
||||||
-- gender.
|
-- gender.
|
||||||
mkN : (bastão,bastões : Str) -> Gender -> N = mk2N
|
mkN : (bastão,bastões : Str) -> Gender -> N = mk2N
|
||||||
@@ -207,13 +207,16 @@ oper
|
|||||||
mk2A a b = compADeg {s = \\_ => (mkAdj2N (mkN a) (mkN b) (b + "mente")).s ; isPre = False ;
|
mk2A a b = compADeg {s = \\_ => (mkAdj2N (mkN a) (mkN b) (b + "mente")).s ; isPre = False ;
|
||||||
lock_A = <>} ;
|
lock_A = <>} ;
|
||||||
|
|
||||||
mk5A : (solo,sola,solos,solas,solamente : Str) -> A ;
|
mk5A : (preto,preta,pretos,pretas,pretamente : Str) -> A ;
|
||||||
mk5A a b c d e = compADeg {s = \\_ => (mkAdj a b c d e).s ;
|
mk5A a b c d e = compADeg {s = \\_ => (mkAdj a b c d e).s ;
|
||||||
isPre = False ; lock_A = <>} ;
|
isPre = False ; lock_A = <>} ;
|
||||||
|
|
||||||
mkADeg : A -> A -> A ;
|
mkADeg : A -> A -> A ;
|
||||||
mkADeg a b = {s = table {Posit => a.s ! Posit ;
|
mkADeg a b = {s = table {Posit => a.s ! Posit ;
|
||||||
_ => b.s ! Posit} ;
|
_ => b.s ! Posit
|
||||||
|
-- Compar => b.s ! Posit ;
|
||||||
|
-- Superl => "o" ++ b.s ! Posit ;
|
||||||
|
} ;
|
||||||
isPre = a.isPre ; lock_A = <>} ;
|
isPre = a.isPre ; lock_A = <>} ;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -61,8 +61,8 @@ concrete StructuralPor of Structural = CatPor **
|
|||||||
but_PConj = ss "mas" ;
|
but_PConj = ss "mas" ;
|
||||||
by8agent_Prep = mkPrep "por" ;
|
by8agent_Prep = mkPrep "por" ;
|
||||||
by8means_Prep = mkPrep "por" ;
|
by8means_Prep = mkPrep "por" ;
|
||||||
can8know_VV = mkVV (verboV (saber_35 "saber")) ;
|
can8know_VV = mkVV (mkV (saber_35 "saber")) ;
|
||||||
can_VV = mkVV (verboV (poder_36 "poder")) ;
|
can_VV = mkVV (mkV (poder_36 "poder")) ;
|
||||||
during_Prep = mkPrep "durante" ;
|
during_Prep = mkPrep "durante" ;
|
||||||
either7or_DConj = {s1,s2 = "o" ; n = Sg} ;
|
either7or_DConj = {s1,s2 = "o" ; n = Sg} ;
|
||||||
everybody_NP = makeNP ["todos"] Masc Pl ;
|
everybody_NP = makeNP ["todos"] Masc Pl ;
|
||||||
@@ -136,7 +136,7 @@ concrete StructuralPor of Structural = CatPor **
|
|||||||
to_Prep = complDat ;
|
to_Prep = complDat ;
|
||||||
under_Prep = mkPrep "embaixo" ;
|
under_Prep = mkPrep "embaixo" ;
|
||||||
very_AdA = ss "muito" ;
|
very_AdA = ss "muito" ;
|
||||||
want_VV = mkVV (verboV (querer_38 "querer")) ;
|
want_VV = mkVV (mkV (querer_38 "querer")) ;
|
||||||
whatSg_IP = {s = \\c => prepCase c ++ ["que"] ; a = aagr Masc Sg} ;
|
whatSg_IP = {s = \\c => prepCase c ++ ["que"] ; a = aagr Masc Sg} ;
|
||||||
whatPl_IP = {s = \\c => prepCase c ++ ["que"] ; a = aagr Masc Pl} ; ---
|
whatPl_IP = {s = \\c => prepCase c ++ ["que"] ; a = aagr Masc Pl} ; ---
|
||||||
when_IAdv = ss "quando" ;
|
when_IAdv = ss "quando" ;
|
||||||
@@ -167,7 +167,7 @@ concrete StructuralPor of Structural = CatPor **
|
|||||||
Masc Pl P2 ;
|
Masc Pl P2 ;
|
||||||
lin
|
lin
|
||||||
as_CAdv = X.mkCAdv "tão" conjThan ; ----
|
as_CAdv = X.mkCAdv "tão" conjThan ; ----
|
||||||
have_V2 = dirV2 (verboV (ter_1 "ter")) ;
|
have_V2 = dirV2 (mkV (ter_1 "ter")) ;
|
||||||
that_Subj = {s = "que" ; m = Conjunct} ;
|
that_Subj = {s = "que" ; m = Conjunct} ;
|
||||||
|
|
||||||
lin language_title_Utt = ss "português" ;
|
lin language_title_Utt = ss "português" ;
|
||||||
|
|||||||
Reference in New Issue
Block a user