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