diff --git a/lib/src/spanish/BeschSpa.gf b/lib/src/spanish/BeschSpa.gf index abf41e0f9..6114985f9 100644 --- a/lib/src/spanish/BeschSpa.gf +++ b/lib/src/spanish/BeschSpa.gf @@ -3840,7 +3840,7 @@ oper mover_50 : Str -> Verbum = \mover -> } } ; oper morder_50b : Str -> Verbum = \morder -> - let m_ = Predef.tk 4 morder in + let m_ = Predef.tk 5 morder in {s = table { VI Infn => m_ + "order" ; VI Ger => m_ + "ordiendo" ; @@ -3911,6 +3911,80 @@ oper morder_50b : Str -> Verbum = \morder -> VPB (Pass Pl Fem) => m_ + "ordidas" } } ; + +oper oir_51 : Str -> Verbum = \oir -> + let o_ = Predef.tk 2 oir in + {s = table { + VI Infn => o_ + "ír" ; + VI Ger => o_ + "yendo" ; + VI Part => o_ + "ído" ; + VPB (Pres Ind Sg P1) => o_ + "igo" ; + VPB (Pres Ind Sg P2) => o_ + "yes" ; + VPB (Pres Ind Sg P3) => o_ + "ye" ; + VPB (Pres Ind Pl P1) => o_ + "ímos" ; + VPB (Pres Ind Pl P2) => o_ + "ís" ; + VPB (Pres Ind Pl P3) => o_ + "yen" ; + VPB (Pres Sub Sg P1) => o_ + "iga" ; + VPB (Pres Sub Sg P2) => o_ + "igas" ; + VPB (Pres Sub Sg P3) => o_ + "iga" ; + VPB (Pres Sub Pl P1) => o_ + "igamos" ; + VPB (Pres Sub Pl P2) => o_ + "igáis" ; + VPB (Pres Sub Pl P3) => o_ + "igan" ; + VPB (Impf Ind Sg P1) => o_ + "ía" ; --# notpresent + VPB (Impf Ind Sg P2) => o_ + "ías" ; --# notpresent + VPB (Impf Ind Sg P3) => o_ + "ía" ; --# notpresent + VPB (Impf Ind Pl P1) => o_ + "íamos" ; --# notpresent + VPB (Impf Ind Pl P2) => o_ + "íais" ; --# notpresent + VPB (Impf Ind Pl P3) => o_ + "ían" ; --# notpresent + VPB (Impf Sub Sg P1) => o_ + "yera" ; --# notpresent + VPB (Impf Sub Sg P2) => o_ + "yeras" ; --# notpresent + VPB (Impf Sub Sg P3) => o_ + "yera" ; --# notpresent + VPB (Impf Sub Pl P1) => o_ + "yéramos" ; --# notpresent + VPB (Impf Sub Pl P2) => o_ + "yerais" ; --# notpresent + VPB (Impf Sub Pl P3) => o_ + "yeran" ; --# notpresent + VPB (ImpfSub2 Sg P1) => o_ + "yese" ; --# notpresent + VPB (ImpfSub2 Sg P2) => o_ + "yeses" ; --# notpresent + VPB (ImpfSub2 Sg P3) => o_ + "yese" ; --# notpresent + VPB (ImpfSub2 Pl P1) => o_ + "yésemos" ; --# notpresent + VPB (ImpfSub2 Pl P2) => o_ + "yeseis" ; --# notpresent + VPB (ImpfSub2 Pl P3) => o_ + "yesen" ; --# notpresent + VPB (Pret Sg P1) => o_ + "í" ; --# notpresent + VPB (Pret Sg P2) => o_ + "iste" ; --# notpresent + VPB (Pret Sg P3) => o_ + "yó" ; --# notpresent + VPB (Pret Pl P1) => o_ + "ímos" ; --# notpresent + VPB (Pret Pl P2) => o_ + "ísteis" ; --# notpresent + VPB (Pret Pl P3) => o_ + "yeron" ; --# notpresent + VPB (Fut Ind Sg P1) => o_ + "iré" ; --# notpresent + VPB (Fut Ind Sg P2) => o_ + "irás" ; --# notpresent + VPB (Fut Ind Sg P3) => o_ + "irá" ; --# notpresent + VPB (Fut Ind Pl P1) => o_ + "iremos" ; --# notpresent + VPB (Fut Ind Pl P2) => o_ + "iréis" ; --# notpresent + VPB (Fut Ind Pl P3) => o_ + "irán" ; --# notpresent + VPB (Fut Sub Sg P1) => o_ + "yere" ; --# notpresent + VPB (Fut Sub Sg P2) => o_ + "yeres" ; --# notpresent + VPB (Fut Sub Sg P3) => o_ + "yere" ; --# notpresent + VPB (Fut Sub Pl P1) => o_ + "yéremos" ; --# notpresent + VPB (Fut Sub Pl P2) => o_ + "yereis" ; --# notpresent + VPB (Fut Sub Pl P3) => o_ + "yeren" ; --# notpresent + VPB (Cond Sg P1) => o_ + "iría" ; --# notpresent + VPB (Cond Sg P2) => o_ + "irías" ; --# notpresent + VPB (Cond Sg P3) => o_ + "iría" ; --# notpresent + VPB (Cond Pl P1) => o_ + "iríamos" ; --# notpresent + VPB (Cond Pl P2) => o_ + "iríais" ; --# notpresent + VPB (Cond Pl P3) => o_ + "irían" ; --# notpresent + VPB (Imper Sg P1) => variants {} ; + VPB (Imper Sg P2) => o_ + "ye" ; + VPB (Imper Sg P3) => o_ + "iga" ; + VPB (Imper Pl P1) => o_ + "igamos" ; + VPB (Imper Pl P2) => o_ + "íd" ; + VPB (Imper Pl P3) => o_ + "igan" ; + VPB (Pass Sg Masc) => o_ + "ído" ; + VPB (Pass Sg Fem) => o_ + "ída" ; + VPB (Pass Pl Masc) => o_ + "ídos" ; + VPB (Pass Pl Fem) => o_ + "ídas" + } + } ; + oper oler_52 : Str -> Verbum = \oler -> let x_ = Predef.tk 4 oler in {s = table { @@ -6365,6 +6439,7 @@ oper llover_89 : Str -> Verbum = \llover -> } } ; + -- Verbs: conversion from full verbs to present-tense verbs. verbBesch : {s : VFB => Str} -> {s : CommonRomance.VF => Str} = \amar -> diff --git a/lib/src/spanish/LexiconSpa.gf b/lib/src/spanish/LexiconSpa.gf index 16ff678bb..8fc8fcd7a 100644 --- a/lib/src/spanish/LexiconSpa.gf +++ b/lib/src/spanish/LexiconSpa.gf @@ -19,7 +19,7 @@ lin beautiful_A = prefA (regADeg "bello") ; -- bella become_VA = reflV (regV "convertir") ; --- convertirse en, volverse, ponerse beer_N = regN "cerveza" ; - beg_V2V = mkV2V (regV "rogar") accusative dative ; -- pedir + beg_V2V = mkV2V (mkV "rogar" "ruego") accusative dative ; -- pedir big_A = prefA (regADeg "grande") ; bike_N = regN "bicicleta" ; bird_N = regN "pájaro" ; @@ -50,11 +50,11 @@ lin city_N = femN (regN "ciudad") ; -- fem clean_A = regADeg "limpio" ; clever_A = regADeg "inteligente" ; - close_V2 = dirV2 (regV "cerrar") ; + close_V2 = dirV2 (mkV "cerrar" "cierro") ; coat_N = regN "abrigo" ; cold_A = regADeg "frío" ; -- fría come_V = verboV (venir_82 "venir") ; - computer_N = regN "computadora" ; -- also computador, ordenador in Spain + computer_N = regN "ordenador" ; -- also computador, ordenador in Spain country_N = regN "país" ; -- masc cousin_N = regN "primo" ; cow_N = regN "vaca" ; @@ -88,9 +88,9 @@ lin go_V = (verboV (ir_46 "ir")) ; green_A = regADeg "verde" ; harbour_N = regN "puerto" ; - hate_V2 = dirV2 (regV "odiar") ; + hate_V2 = dirV2 (mkV "odiar" "odio") ; hat_N = regN "sombrero" ; - hear_V2 = mkV2 (regV "escuchar") dative ; -- oír_51 + hear_V2 = dirV2 (mkV (oir_51 "oír")) ; hill_N = regN "colina" ; hope_VS = mkVS (regV "esperar") ; horse_N = regN "caballo" ; @@ -98,7 +98,7 @@ lin house_N = regN "casa" ; important_A = regADeg "importante" ; industry_N = regN "industria" ; - iron_N = regN "fierro" ; + iron_N = regN "hierro" ; king_N = regN "rey" ; know_V2 = mkV2 (verboV (conocer_25 "conocer")) ; know_VQ = mkVQ (verboV (saber_71 "saber")) ; @@ -120,36 +120,38 @@ lin meat_N = femN (regN "carne") ; milk_N = femN (regN "leche") ; moon_N = regN "luna" ; - mother_N2 = deN2 (femN (regN "madre")) ; -- fem - mountain_N = regN "montaña" ; - music_N = regN "música" ; + mother_N2 = deN2 (mkN "madre" feminine) ; + mountain_N = mkN "montaña" ; + music_N = mkN "música" ; narrow_A = regADeg "estrecho" ; new_A = prefA (regADeg "nuevo") ; - newspaper_N = regN "periódico" ; -- diario - oil_N = regN "aceite" ; + newspaper_N = mkN "periódico" ; -- diario + oil_N = mkN "aceite" ; old_A = prefA (regADeg "viejo") ; open_V2 = dirV2 (special_ppV (regV "abrir") "abierto") ; paint_V2A = mkV2A (regV "pintar") accusative (mkPrep "en") ; - paper_N = regN "papel" ; + paper_N = mkN "papel" ; paris_PN = mkPN "París" masculine ; - peace_N = femN (regN "paz") ; - pen_N = regN "lapicera" ; - planet_N = mascN (regN "planeta") ; - plastic_N = regN "plástico" ; + peace_N = mkN "paz" feminine ; + pen_N = mkN "lapicera" ; + planet_N = mkN "planeta" masculine ; + plastic_N = mkN "plástico" ; play_V2 = dirV2 (verboV (jugar_47 "jugar")) ; - policeman_N = mascN (regN "policía") ; -- fem refers to the institution - priest_N = mascN (regN "cura") ; -- masc + policeman_N = mkN "policía" masculine ; -- fem refers to the institution + priest_N = mkN "cura" masculine ; -- masc probable_AS = mkAS (regA "probable") ; - queen_N = regN "reina" ; - radio_N = femN (regN "radio") ; + queen_N = mkN "reina" ; + question_N = mkN "pregunta" ; + radio_N = mkN "radio" feminine ; rain_V0 = mkV0 (verboV (llover_89 "llover")) ; read_V2 = dirV2 (verboV (creer_26 "leer")) ; + reason_N = mkN "razón" feminine ; red_A = regADeg "rojo" ; religion_N = mkN "religión" "religiones" feminine ; - restaurant_N = regN "restaurante" ; -- restorán, restaurán, masc - river_N = regN "río" ; - rock_N = regN "roca" ; - roof_N = regN "techo" ; + restaurant_N = mkN "restaurante" ; -- restorán, restaurán, masc + river_N = mkN "río" ; + rock_N = mkN "roca" ; + roof_N = mkN "techo" ; rubber_N = regN "goma" ; run_V = regV "correr" ; say_VS = mkVS (verboV (decir_28 "decir")) ; @@ -186,7 +188,7 @@ lin talk_V3 = mkV3 (regV "hablar") dative genitive ; teacher_N = regN "maestro" ; -- maestra teach_V2 = dirV2 (regV "enseñar") ; - television_N = mkN "televisión" "televisiones" feminine ; -- televisor masc + television_N = mkN "televisión" feminine ; -- televisor masc thick_A = regADeg "grueso" ; thin_A = regADeg "fino" ; -- delgado train_N = regN "tren" ; @@ -194,25 +196,25 @@ lin tree_N = regN "árbol" ; --- trousers_N = regN "pantalón" ; -- masc ugly_A = regADeg "feo" ; - understand_V2 = dirV2 (regV "entender") ; + understand_V2 = dirV2 (mkV "entender" "entiendo") ; university_N = femN (regN "universidad") ; village_N = regN "pueblo" ; wait_V2 = mkV2 (regV "esperar") dative ; - walk_V = regV "caminar" ; - warm_A = regADeg "tibio" ; - war_N = regN "guerra" ; + walk_V = mkV "caminar" ; + warm_A = regADeg "caliente" ; + war_N = mkN "guerra" ; watch_V2 = dirV2 (regV "mirar") ; -- ver - water_N = mascN (regN "agua") ; + water_N = mkN "agua" ; ---- feminine, but uses masculine article "el". TODO defArt pre {} thingy for the nouns (limited set) that behave like this. white_A = compADeg (regA "blanco") ; window_N = regN "ventana" ; wine_N = regN "vino" ; win_V2 = dirV2 (regV "ganar") ; - woman_N = femN (regN "mujer") ; + woman_N = mkN "mujer" feminine ; wonder_VQ = mkVQ (reflV (regV "preguntar")) ; wood_N = regN "madera" ; write_V2 = dirV2 (special_ppV (regV "escribir") "escrito") ; yellow_A = regADeg "amarillo" ; - young_A = prefA (regADeg "joven") ; + young_A = prefA (mkA "joven" "joven" "jóvenes" "jóvenes" "jovenamente") ; do_V2 = dirV2 (verboV (hacer_44 "hacer")) ; now_Adv = mkAdv "ahora" ; @@ -330,7 +332,7 @@ lin scratch_V2 = dirV2 (regV "rascar") ; sew_V = regV "coser" ; sing_V = regV "cantar" ; - sit_V = reflV (regV "sentar") ; + sit_V = reflV (mkV "sentar" "siento") ; smell_V = verboV (oler_52 "oler") ; spit_V = regV "escupir" ; split_V2 = dirV2 (regV "separar") ; -- dividir,) ; diff --git a/lib/src/spanish/MorphoSpa.gf b/lib/src/spanish/MorphoSpa.gf index aa9fa0b1a..9395583e3 100644 --- a/lib/src/spanish/MorphoSpa.gf +++ b/lib/src/spanish/MorphoSpa.gf @@ -45,7 +45,7 @@ oper mkNomReg : Str -> Noun = \mec -> case mec of { - _ + ("o" | "e") => mkNoun (nomVino mec) Masc ; + _ + ("o" | "e" | "é" | "á") => mkNoun (nomVino mec) Masc ; --bebé, papá; how about other accented vocal endings? champú champúes _ + "a" => mkNoun (nomVino mec) Fem ; _ + "z" => mkNounIrreg mec (init mec + "ces") Fem ; _ + "án" => mkNounIrreg mec (tk 2 mec + "anes") Masc ;