From 9bd63b9d8d85746da219a568417e7399a560a747 Mon Sep 17 00:00:00 2001 From: bruno cuconato Date: Thu, 24 May 2018 11:24:39 +0000 Subject: [PATCH 1/3] (Por) several minor updates (#49) * fix linearization of either/or * (Por) minor updates - correction in Lexicon - documentation in Morpho - rm variants from Structural * (Por) correct references to extinct opers * (Por) rm Spa remnants * (Abs) rm reference to Extra in Structural -- use Extend instead * (Por) ExtendPor - use Extend instead of Extra in All - use Extend funs in Extra whenever possible * trigger CI * (Por) Diff - sort opers - rm old commented code - tidy things up - no semantic changes * (Por) add IrregBesch module with verbs using Besch paradigms - Besch : - use hack to prevent runtime failure with glue in in vars output - rm paradigm numbers - add IrregBeschPor, verbs that use only bescherelle paradigms - use them in Construction, Structural, Idiom, Extra - Diff and Paradigms had (almost) the same oper (verboV/verbBeschH), so combine them into one and use it * (Por) update functions to use new Irreg suffix and resolve name conflicts --- src/abstract/Structural.gf | 14 +- src/portuguese/AllPor.gf | 4 +- src/portuguese/AllPorAbs.gf | 4 +- src/portuguese/BeschPor.gf | 166 ++--- src/portuguese/ConstructionPor.gf | 8 +- src/portuguese/DiffPor.gf | 238 +++--- src/portuguese/ExtendPor.gf | 68 ++ src/portuguese/ExtraPor.gf | 40 +- src/portuguese/ExtraPorAbs.gf | 10 +- src/portuguese/ExtraSpaPor.gf | 37 - src/portuguese/IdiomPor.gf | 8 +- src/portuguese/IrregBeschPor.gf | 360 +++++++++ src/portuguese/IrregBeschPorAbs.gf | 354 +++++++++ src/portuguese/IrregPor.gf | 7 +- src/portuguese/IrregPorAbs.gf | 2 - src/portuguese/IrregSpaPor.gf | 1093 ---------------------------- src/portuguese/LexiconPor.gf | 24 +- src/portuguese/ParadigmsPor.gf | 48 +- src/portuguese/StructuralPor.gf | 11 +- 19 files changed, 1067 insertions(+), 1429 deletions(-) create mode 100644 src/portuguese/ExtendPor.gf delete mode 100644 src/portuguese/ExtraSpaPor.gf create mode 100644 src/portuguese/IrregBeschPor.gf create mode 100644 src/portuguese/IrregBeschPorAbs.gf delete mode 100644 src/portuguese/IrregSpaPor.gf diff --git a/src/abstract/Structural.gf b/src/abstract/Structural.gf index 2a54bbd70..8d5e3d6e3 100644 --- a/src/abstract/Structural.gf +++ b/src/abstract/Structural.gf @@ -1,10 +1,10 @@ --1 Structural: Structural Words --- +-- -- Here we have some words belonging to closed classes and appearing -- in all languages we have considered. -- Sometimes more distinctions are needed, e.g. $we_Pron$ in Spanish -- should be replaced by masculine and feminine variants, found in --- [``ExtraSpa`` ../spanish/ExtraSpa.gf]. +-- [``ExtendSpa`` ../spanish/ExtendSpa.gf]. abstract Structural = Cat ** { @@ -12,11 +12,11 @@ abstract Structural = Cat ** { -- This is an alphabetical list of structural words - above_Prep : Prep ; + above_Prep : Prep ; after_Prep : Prep ; all_Predet : Predet ; - almost_AdA : AdA ; - almost_AdN : AdN ; + almost_AdA : AdA ; + almost_AdN : AdN ; although_Subj : Subj ; always_AdV : AdV ; and_Conj : Conj ; @@ -84,7 +84,7 @@ abstract Structural = Cat ** { there7to_Adv : Adv ; -- to there there7from_Adv : Adv ; -- from there therefore_PConj : PConj ; - they_Pron : Pron ; + they_Pron : Pron ; this_Quant : Quant ; through_Prep : Prep ; to_Prep : Prep ; @@ -110,7 +110,7 @@ abstract Structural = Cat ** { youPl_Pron : Pron ; -- you (plural) youPol_Pron : Pron ; -- you (polite) - no_Quant : Quant ; + no_Quant : Quant ; not_Predet : Predet ; if_then_Conj : Conj ; at_least_AdN : AdN ; diff --git a/src/portuguese/AllPor.gf b/src/portuguese/AllPor.gf index 67b192158..aa8048e2d 100644 --- a/src/portuguese/AllPor.gf +++ b/src/portuguese/AllPor.gf @@ -1,7 +1,7 @@ --# -path=.:../romance:../abstract:../common:../api:../prelude -concrete AllPor of AllPorAbs = +concrete AllPor of AllPorAbs = LangPor, IrregPor, - ExtraPor + ExtendPor ** {} ; diff --git a/src/portuguese/AllPorAbs.gf b/src/portuguese/AllPorAbs.gf index 057c97a11..5fef5fca1 100644 --- a/src/portuguese/AllPorAbs.gf +++ b/src/portuguese/AllPorAbs.gf @@ -1,5 +1,5 @@ -abstract AllPorAbs = +abstract AllPorAbs = Lang, IrregPorAbs, - ExtraPorAbs + Extend ** {} ; diff --git a/src/portuguese/BeschPor.gf b/src/portuguese/BeschPor.gf index bf7f10dc8..16fd305c9 100644 --- a/src/portuguese/BeschPor.gf +++ b/src/portuguese/BeschPor.gf @@ -67,17 +67,17 @@ oper mkPass : Str -> Gender => Number => Str ; -- passive form is highly predictable from singular masculine - mkPass p = case p of { + mkPass p' = let p = p' + [] in case p of { amad + "o" => genNumForms p (amad + "a") (amad + "os") (amad + "as") ; entregu + "e" => \\g => numForms p (p + "s") ; _ => error "unknown ending" -- nothing should reach here } ; - -- paradigm numbers follow Portuguese Bescherelle, unless they are - -- prefixed by 'r', in which case they follow =Ryan, - -- M. A. Conjugação dos Verbos em Português. ática, 1991.= + -- you can look up verb paradigms in the Portuguese Bescherelle, + -- or in =Ryan, M. A. Conjugação dos Verbos em Português. ática, + -- 1991.= -oper ter_1 : Str -> Verbum = \ter -> +oper ter_Besch : Str -> Verbum = \ter -> let x_ = Predef.tk 3 ter in {s = table { VI Infn => x_ + "ter" ; @@ -146,7 +146,7 @@ oper ter_1 : Str -> Verbum = \ter -> } } ; -oper haver_2 : Str -> Verbum = \haver -> +oper haver_Besch : Str -> Verbum = \haver -> let x_ = Predef.tk 5 haver in {s = table { VI Infn => x_ + "haver" ; @@ -215,7 +215,7 @@ oper haver_2 : Str -> Verbum = \haver -> } } ; -oper ser_3 : Str -> Verbum = \ser -> +oper ser_Besch : Str -> Verbum = \ser -> let x_ = Predef.tk 3 ser in {s = table { VI Infn => x_ + "ser" ; @@ -284,7 +284,7 @@ oper ser_3 : Str -> Verbum = \ser -> } } ; -oper comprar_4 : Str -> Verbum = \comprar -> +oper comprar_Besch : Str -> Verbum = \comprar -> let compr_ = Predef.tk 2 comprar in {s = table { VI Infn => compr_ + "ar" ; @@ -353,7 +353,7 @@ oper comprar_4 : Str -> Verbum = \comprar -> } } ; -oper vender_5 : Str -> Verbum = \vender -> +oper vender_Besch : Str -> Verbum = \vender -> let vend_ = Predef.tk 2 vender in {s = table { VI Infn => vend_ + "er" ; @@ -422,7 +422,7 @@ oper vender_5 : Str -> Verbum = \vender -> } } ; -oper garantir_6 : Str -> Verbum = \garantir -> +oper garantir_Besch : Str -> Verbum = \garantir -> let garant_ = Predef.tk 2 garantir in {s = table { VI Infn => garant_ + "ir" ; @@ -491,7 +491,7 @@ oper garantir_6 : Str -> Verbum = \garantir -> } } ; -oper estar_10 : Str -> Verbum = \estar -> +oper estar_Besch : Str -> Verbum = \estar -> let est_ = Predef.tk 2 estar in {s = table { VI Infn => est_ + "ar" ; @@ -560,7 +560,7 @@ oper estar_10 : Str -> Verbum = \estar -> } } ; -oper dar_11 : Str -> Verbum = \dar -> +oper dar_Besch : Str -> Verbum = \dar -> let x_ = Predef.tk 3 dar in {s = table { VI Infn => x_ + "dar" ; @@ -629,7 +629,7 @@ oper dar_11 : Str -> Verbum = \dar -> } } ; -oper ficar_12 : Str -> Verbum = \ficar -> +oper ficar_Besch : Str -> Verbum = \ficar -> let x_ = Predef.tk 5 ficar in {s = table { VI Infn => x_ + "ficar" ; @@ -698,7 +698,7 @@ oper ficar_12 : Str -> Verbum = \ficar -> } } ; -oper começar_13 : Str -> Verbum = \começar -> +oper começar_Besch : Str -> Verbum = \começar -> let x_ = Predef.tk 7 começar in {s = table { VI Infn => x_ + "começar" ; @@ -767,7 +767,7 @@ oper começar_13 : Str -> Verbum = \começar -> } } ; -oper chegar_14 : Str -> Verbum = \chegar -> +oper chegar_Besch : Str -> Verbum = \chegar -> let cheg_ = Predef.tk 2 chegar in {s = table { VI Infn => cheg_ + "ar" ; @@ -836,7 +836,7 @@ oper chegar_14 : Str -> Verbum = \chegar -> } } ; -oper recear_15 : Str -> Verbum = \recear -> +oper recear_Besch : Str -> Verbum = \recear -> let rec_ = Predef.tk 3 recear in {s = table { VI Infn => rec_ + "ear" ; @@ -905,7 +905,7 @@ oper recear_15 : Str -> Verbum = \recear -> } } ; -oper anunciar_16 : Str -> Verbum = \anunciar -> +oper anunciar_Besch : Str -> Verbum = \anunciar -> let anunci_ = Predef.tk 2 anunciar in {s = table { VI Infn => anunci_ + "ar" ; @@ -974,7 +974,7 @@ oper anunciar_16 : Str -> Verbum = \anunciar -> } } ; -oper odiar_17 : Str -> Verbum = \odiar -> +oper odiar_Besch : Str -> Verbum = \odiar -> let od_ = Predef.tk 3 odiar in {s = table { VI Infn => od_ + "iar" ; @@ -1043,7 +1043,7 @@ oper odiar_17 : Str -> Verbum = \odiar -> } } ; -oper comerciar_18 : Str -> Verbum = \comerciar -> +oper comerciar_Besch : Str -> Verbum = \comerciar -> let comerc_ = Predef.tk 3 comerciar in {s = table { VI Infn => comerc_ + "iar" ; @@ -1112,7 +1112,7 @@ oper comerciar_18 : Str -> Verbum = \comerciar -> } } ; -oper saudar_19 : Str -> Verbum = \saudar -> +oper saudar_Besch : Str -> Verbum = \saudar -> let sa_ = Predef.tk 4 saudar in {s = table { VI Infn => sa_ + "udar" ; @@ -1181,7 +1181,7 @@ oper saudar_19 : Str -> Verbum = \saudar -> } } ; -oper perdoar_20 : Str -> Verbum = \perdoar -> +oper perdoar_Besch : Str -> Verbum = \perdoar -> let perd_ = Predef.tk 3 perdoar in {s = table { VI Infn => perd_ + "oar" ; @@ -1250,7 +1250,7 @@ oper perdoar_20 : Str -> Verbum = \perdoar -> } } ; -oper averiguar_21 : Str -> Verbum = \averiguar -> +oper averiguar_Besch : Str -> Verbum = \averiguar -> let averigu_ = Predef.tk 2 averiguar in {s = table { VI Infn => averigu_ + "ar" ; @@ -1319,7 +1319,7 @@ oper averiguar_21 : Str -> Verbum = \averiguar -> } } ; -oper neviscar_22 : Str -> Verbum = \neviscar -> +oper neviscar_Besch : Str -> Verbum = \neviscar -> let n_ = Predef.tk 7 neviscar in {s = table { VI Infn => n_ + "eviscar" ; @@ -1388,7 +1388,7 @@ oper neviscar_22 : Str -> Verbum = \neviscar -> } } ; -oper adequar_23 : Str -> Verbum = \adequar -> +oper adequar_Besch : Str -> Verbum = \adequar -> let adequ_ = Predef.tk 2 adequar in {s = table { VI Infn => adequ_ + "ar" ; @@ -1457,7 +1457,7 @@ oper adequar_23 : Str -> Verbum = \adequar -> } } ; -oper relampaguear_24 : Str -> Verbum = \relampaguear -> +oper relampaguear_Besch : Str -> Verbum = \relampaguear -> let relamp_ = Predef.tk 6 relampaguear in {s = table { VI Infn => relamp_ + "aguear" ; @@ -1526,7 +1526,7 @@ oper relampaguear_24 : Str -> Verbum = \relampaguear -> } } ; -oper aquecer_25 : Str -> Verbum = \aquecer -> +oper aquecer_Besch : Str -> Verbum = \aquecer -> let aque_ = Predef.tk 3 aquecer in {s = table { VI Infn => aque_ + "cer" ; @@ -1595,7 +1595,7 @@ oper aquecer_25 : Str -> Verbum = \aquecer -> } } ; -oper proteger_26 : Str -> Verbum = \proteger -> +oper proteger_Besch : Str -> Verbum = \proteger -> let prote_ = Predef.tk 3 proteger in {s = table { VI Infn => prote_ + "ger" ; @@ -1664,7 +1664,7 @@ oper proteger_26 : Str -> Verbum = \proteger -> } } ; -oper erguer_27 : Str -> Verbum = \erguer -> +oper erguer_Besch : Str -> Verbum = \erguer -> let erg_ = Predef.tk 3 erguer in {s = table { VI Infn => erg_ + "uer" ; @@ -1733,7 +1733,7 @@ oper erguer_27 : Str -> Verbum = \erguer -> } } ; -oper moer_28 : Str -> Verbum = \moer -> +oper moer_Besch : Str -> Verbum = \moer -> let m_ = Predef.tk 3 moer in {s = table { VI Infn => m_ + "oer" ; @@ -1802,7 +1802,7 @@ oper moer_28 : Str -> Verbum = \moer -> } } ; -oper dizer_29 : Str -> Verbum = \dizer -> +oper dizer_Besch : Str -> Verbum = \dizer -> let di_ = Predef.tk 3 dizer in {s = table { VI Infn => di_ + "zer" ; @@ -1871,7 +1871,7 @@ oper dizer_29 : Str -> Verbum = \dizer -> } } ; -oper trazer_30 : Str -> Verbum = \trazer -> +oper trazer_Besch : Str -> Verbum = \trazer -> let tr_ = Predef.tk 4 trazer in {s = table { VI Infn => tr_ + "azer" ; @@ -1940,7 +1940,7 @@ oper trazer_30 : Str -> Verbum = \trazer -> } } ; -oper fazer_31 : Str -> Verbum = \fazer -> +oper fazer_Besch : Str -> Verbum = \fazer -> let f_ = Predef.tk 4 fazer in {s = table { VI Infn => f_ + "azer" ; @@ -2009,7 +2009,7 @@ oper fazer_31 : Str -> Verbum = \fazer -> } } ; -oper aprazer_32 : Str -> Verbum = \aprazer -> +oper aprazer_Besch : Str -> Verbum = \aprazer -> let apr_ = Predef.tk 4 aprazer in {s = table { VI Infn => apr_ + "azer" ; @@ -2078,7 +2078,7 @@ oper aprazer_32 : Str -> Verbum = \aprazer -> } } ; -oper jazer_33 : Str -> Verbum = \jazer -> +oper jazer_Besch : Str -> Verbum = \jazer -> let jaz_ = Predef.tk 2 jazer in {s = table { VI Infn => jaz_ + "er" ; @@ -2147,7 +2147,7 @@ oper jazer_33 : Str -> Verbum = \jazer -> } } ; -oper caber_34 : Str -> Verbum = \caber -> +oper caber_Besch : Str -> Verbum = \caber -> let c_ = Predef.tk 4 caber in {s = table { VI Infn => c_ + "aber" ; @@ -2216,7 +2216,7 @@ oper caber_34 : Str -> Verbum = \caber -> } } ; -oper saber_35 : Str -> Verbum = \saber -> +oper saber_Besch : Str -> Verbum = \saber -> let s_ = Predef.tk 4 saber in {s = table { VI Infn => s_ + "aber" ; @@ -2285,7 +2285,7 @@ oper saber_35 : Str -> Verbum = \saber -> } } ; -oper poder_36 : Str -> Verbum = \poder -> +oper poder_Besch : Str -> Verbum = \poder -> let p_ = Predef.tk 4 poder in {s = table { VI Infn => p_ + "oder" ; @@ -2354,7 +2354,7 @@ oper poder_36 : Str -> Verbum = \poder -> } } ; -oper crer_37 : Str -> Verbum = \crer -> +oper crer_Besch : Str -> Verbum = \crer -> let cr_ = Predef.tk 2 crer in {s = table { VI Infn => cr_ + "er" ; @@ -2423,7 +2423,7 @@ oper crer_37 : Str -> Verbum = \crer -> } } ; -oper querer_38 : Str -> Verbum = \querer -> +oper querer_Besch : Str -> Verbum = \querer -> let qu_ = Predef.tk 4 querer in {s = table { VI Infn => qu_ + "erer" ; @@ -2492,7 +2492,7 @@ oper querer_38 : Str -> Verbum = \querer -> } } ; -oper requerer_39 : Str -> Verbum = \requerer -> +oper requerer_Besch : Str -> Verbum = \requerer -> let reque_ = Predef.tk 3 requerer in {s = table { VI Infn => reque_ + "rer" ; @@ -2561,7 +2561,7 @@ oper requerer_39 : Str -> Verbum = \requerer -> } } ; -oper ver_40 : Str -> Verbum = \ver -> +oper ver_Besch : Str -> Verbum = \ver -> let v_ = Predef.tk 2 ver in {s = table { VI Infn => v_ + "er" ; @@ -2630,7 +2630,7 @@ oper ver_40 : Str -> Verbum = \ver -> } } ; -oper prover_41 : Str -> Verbum = \prover -> +oper prover_Besch : Str -> Verbum = \prover -> let prov_ = Predef.tk 2 prover in {s = table { VI Infn => prov_ + "er" ; @@ -2699,7 +2699,7 @@ oper prover_41 : Str -> Verbum = \prover -> } } ; -oper ler_42 : Str -> Verbum = \ler -> +oper ler_Besch : Str -> Verbum = \ler -> let l_ = Predef.tk 2 ler in {s = table { VI Infn => l_ + "er" ; @@ -2768,7 +2768,7 @@ oper ler_42 : Str -> Verbum = \ler -> } } ; -oper valer_43 : Str -> Verbum = \valer -> +oper valer_Besch : Str -> Verbum = \valer -> let val_ = Predef.tk 2 valer in {s = table { VI Infn => val_ + "er" ; @@ -2837,7 +2837,7 @@ oper valer_43 : Str -> Verbum = \valer -> } } ; -oper perder_44 : Str -> Verbum = \perder -> +oper perder_Besch : Str -> Verbum = \perder -> let per_ = Predef.tk 3 perder in {s = table { VI Infn => per_ + "der" ; @@ -2906,7 +2906,7 @@ oper perder_44 : Str -> Verbum = \perder -> } } ; -oper pôr_45 : Str -> Verbum = \pôr -> +oper pôr_Besch : Str -> Verbum = \pôr -> let p_ = Predef.tk 2 pôr in {s = table { VI Infn => p_ + "ôr" ; @@ -2975,7 +2975,7 @@ oper pôr_45 : Str -> Verbum = \pôr -> } } ; -oper acontecer_46 : Str -> Verbum = \acontecer -> +oper acontecer_Besch : Str -> Verbum = \acontecer -> let aconte_ = Predef.tk 3 acontecer in {s = table { VI Infn => aconte_ + "cer" ; @@ -3044,7 +3044,7 @@ oper acontecer_46 : Str -> Verbum = \acontecer -> } } ; -oper chover_47 : Str -> Verbum = \chover -> +oper chover_Besch : Str -> Verbum = \chover -> let chov_ = Predef.tk 2 chover in {s = table { VI Infn => chov_ + "er" ; @@ -3113,7 +3113,7 @@ oper chover_47 : Str -> Verbum = \chover -> } } ; -oper doer_48 : Str -> Verbum = \doer -> +oper doer_Besch : Str -> Verbum = \doer -> let d_ = Predef.tk 3 doer in {s = table { VI Infn => d_ + "oer" ; @@ -3182,7 +3182,7 @@ oper doer_48 : Str -> Verbum = \doer -> } } ; -oper prazer_49 : Str -> Verbum = \prazer -> +oper prazer_Besch : Str -> Verbum = \prazer -> let pr_ = Predef.tk 4 prazer in {s = table { VI Infn => pr_ + "azer" ; @@ -3251,7 +3251,7 @@ oper prazer_49 : Str -> Verbum = \prazer -> } } ; -oper precaver_50 : Str -> Verbum = \precaver -> +oper precaver_Besch : Str -> Verbum = \precaver -> let precav_ = Predef.tk 2 precaver in {s = table { VI Infn => precav_ + "er" ; @@ -3320,7 +3320,7 @@ oper precaver_50 : Str -> Verbum = \precaver -> } } ; -oper reaver_51 : Str -> Verbum = \reaver -> +oper reaver_Besch : Str -> Verbum = \reaver -> let re_ = Predef.tk 4 reaver in {s = table { VI Infn => re_ + "aver" ; @@ -3389,7 +3389,7 @@ oper reaver_51 : Str -> Verbum = \reaver -> } } ; -oper redigir_52 : Str -> Verbum = \redigir -> +oper redigir_Besch : Str -> Verbum = \redigir -> let red_ = Predef.tk 4 redigir in {s = table { VI Infn => red_ + "igir" ; @@ -3458,7 +3458,7 @@ oper redigir_52 : Str -> Verbum = \redigir -> } } ; -oper extinguir_53 : Str -> Verbum = \extinguir -> +oper extinguir_Besch : Str -> Verbum = \extinguir -> let extin_ = Predef.tk 4 extinguir in {s = table { VI Infn => extin_ + "guir" ; @@ -3527,7 +3527,7 @@ oper extinguir_53 : Str -> Verbum = \extinguir -> } } ; -oper servir_54 : Str -> Verbum = \servir -> +oper servir_Besch : Str -> Verbum = \servir -> let s_ = Predef.tk 5 servir in {s = table { VI Infn => s_ + "ervir" ; @@ -3596,7 +3596,7 @@ oper servir_54 : Str -> Verbum = \servir -> } } ; -oper seguir_55 : Str -> Verbum = \seguir -> +oper seguir_Besch : Str -> Verbum = \seguir -> let s_ = Predef.tk 5 seguir in {s = table { VI Infn => s_ + "eguir" ; @@ -3665,7 +3665,7 @@ oper seguir_55 : Str -> Verbum = \seguir -> } } ; -oper sentir_56 : Str -> Verbum = \sentir -> +oper sentir_Besch : Str -> Verbum = \sentir -> let s_ = Predef.tk 5 sentir in {s = table { VI Infn => s_ + "entir" ; @@ -3734,7 +3734,7 @@ oper sentir_56 : Str -> Verbum = \sentir -> } } ; -oper preferir_57 : Str -> Verbum = \preferir -> +oper preferir_Besch : Str -> Verbum = \preferir -> let pref_ = Predef.tk 4 preferir in {s = table { VI Infn => pref_ + "erir" ; @@ -3803,7 +3803,7 @@ oper preferir_57 : Str -> Verbum = \preferir -> } } ; -oper agredir_58 : Str -> Verbum = \agredir -> +oper agredir_Besch : Str -> Verbum = \agredir -> let agr_ = Predef.tk 4 agredir in {s = table { VI Infn => agr_ + "edir" ; @@ -3872,7 +3872,7 @@ oper agredir_58 : Str -> Verbum = \agredir -> } } ; -oper dormir_59 : Str -> Verbum = \dormir -> +oper dormir_Besch : Str -> Verbum = \dormir -> let d_ = Predef.tk 5 dormir in {s = table { VI Infn => d_ + "ormir" ; @@ -3941,7 +3941,7 @@ oper dormir_59 : Str -> Verbum = \dormir -> } } ; -oper polir_60 : Str -> Verbum = \polir -> +oper polir_Besch : Str -> Verbum = \polir -> let p_ = Predef.tk 4 polir in {s = table { VI Infn => p_ + "olir" ; @@ -4010,7 +4010,7 @@ oper polir_60 : Str -> Verbum = \polir -> } } ; -oper acudir_61 : Str -> Verbum = \acudir -> +oper acudir_Besch : Str -> Verbum = \acudir -> let ac_ = Predef.tk 4 acudir in {s = table { VI Infn => ac_ + "udir" ; @@ -4079,7 +4079,7 @@ oper acudir_61 : Str -> Verbum = \acudir -> } } ; -oper fugir_62 : Str -> Verbum = \fugir -> +oper fugir_Besch : Str -> Verbum = \fugir -> let f_ = Predef.tk 4 fugir in {s = table { VI Infn => f_ + "ugir" ; @@ -4148,7 +4148,7 @@ oper fugir_62 : Str -> Verbum = \fugir -> } } ; -oper frigir_63 : Str -> Verbum = \frigir -> +oper frigir_Besch : Str -> Verbum = \frigir -> let fr_ = Predef.tk 4 frigir in {s = table { VI Infn => fr_ + "igir" ; @@ -4217,7 +4217,7 @@ oper frigir_63 : Str -> Verbum = \frigir -> } } ; -oper divergir_64 : Str -> Verbum = \divergir -> +oper divergir_Besch : Str -> Verbum = \divergir -> let div_ = Predef.tk 5 divergir in {s = table { VI Infn => div_ + "ergir" ; @@ -4286,7 +4286,7 @@ oper divergir_64 : Str -> Verbum = \divergir -> } } ; -oper refletir_65 : Str -> Verbum = \refletir -> +oper refletir_Besch : Str -> Verbum = \refletir -> let refl_ = Predef.tk 4 refletir in {s = table { VI Infn => refl_ + vars "etir" "ectir" ; @@ -4355,7 +4355,7 @@ oper refletir_65 : Str -> Verbum = \refletir -> } } ; -oper ir_66 : Str -> Verbum = \ir -> +oper ir_Besch : Str -> Verbum = \ir -> let x_ = Predef.tk 2 ir in {s = table { VI Infn => x_ + "ir" ; @@ -4424,7 +4424,7 @@ oper ir_66 : Str -> Verbum = \ir -> } } ; -oper vir_67 : Str -> Verbum = \vir -> +oper vir_Besch : Str -> Verbum = \vir -> let v_ = Predef.tk 2 vir in {s = table { VI Infn => v_ + "ir" ; @@ -4493,7 +4493,7 @@ oper vir_67 : Str -> Verbum = \vir -> } } ; -oper sair_68 : Str -> Verbum = \sair -> +oper sair_Besch : Str -> Verbum = \sair -> let sa_ = Predef.tk 2 sair in {s = table { VI Infn => sa_ + "ir" ; @@ -4562,7 +4562,7 @@ oper sair_68 : Str -> Verbum = \sair -> } } ; -oper rir_69 : Str -> Verbum = \rir -> +oper rir_Besch : Str -> Verbum = \rir -> let r_ = Predef.tk 2 rir in {s = table { VI Infn => r_ + "ir" ; @@ -4631,7 +4631,7 @@ oper rir_69 : Str -> Verbum = \rir -> } } ; -oper pedir_70 : Str -> Verbum = \pedir -> +oper pedir_Besch : Str -> Verbum = \pedir -> let pe_ = Predef.tk 3 pedir in {s = table { VI Infn => pe_ + "dir" ; @@ -4700,7 +4700,7 @@ oper pedir_70 : Str -> Verbum = \pedir -> } } ; -oper ouvir_71 : Str -> Verbum = \ouvir -> +oper ouvir_Besch : Str -> Verbum = \ouvir -> let ou_ = Predef.tk 3 ouvir in {s = table { VI Infn => ou_ + "vir" ; @@ -4769,7 +4769,7 @@ oper ouvir_71 : Str -> Verbum = \ouvir -> } } ; -oper traduzir_72 : Str -> Verbum = \traduzir -> +oper traduzir_Besch : Str -> Verbum = \traduzir -> let traduz_ = Predef.tk 2 traduzir in {s = table { VI Infn => traduz_ + "ir" ; @@ -4838,7 +4838,7 @@ oper traduzir_72 : Str -> Verbum = \traduzir -> } } ; -oper distribuir_73 : Str -> Verbum = \distribuir -> +oper distribuir_Besch : Str -> Verbum = \distribuir -> let distribu_ = Predef.tk 2 distribuir in {s = table { VI Infn => distribu_ + "ir" ; @@ -4907,7 +4907,7 @@ oper distribuir_73 : Str -> Verbum = \distribuir -> } } ; -oper destruir_74 : Str -> Verbum = \destruir -> +oper destruir_Besch : Str -> Verbum = \destruir -> let destr_ = Predef.tk 3 destruir in {s = table { VI Infn => destr_ + "uir" ; @@ -4976,7 +4976,7 @@ oper destruir_74 : Str -> Verbum = \destruir -> } } ; -oper arguir_75 : Str -> Verbum = \arguir -> +oper arguir_Besch : Str -> Verbum = \arguir -> let arg_ = Predef.tk 3 arguir in {s = table { VI Infn => arg_ + "uir" ; @@ -5045,7 +5045,7 @@ oper arguir_75 : Str -> Verbum = \arguir -> } } ; -oper reunir_76 : Str -> Verbum = \reunir -> +oper reunir_Besch : Str -> Verbum = \reunir -> let re_ = Predef.tk 4 reunir in {s = table { VI Infn => re_ + "unir" ; @@ -5114,7 +5114,7 @@ oper reunir_76 : Str -> Verbum = \reunir -> } } ; -oper proibir_77 : Str -> Verbum = \proibir -> +oper proibir_Besch : Str -> Verbum = \proibir -> let pro_ = Predef.tk 4 proibir in {s = table { VI Infn => pro_ + "ibir" ; @@ -5183,7 +5183,7 @@ oper proibir_77 : Str -> Verbum = \proibir -> } } ; -oper imergir_78 : Str -> Verbum = \imergir -> +oper imergir_Besch : Str -> Verbum = \imergir -> let imerg_ = Predef.tk 2 imergir in {s = table { VI Infn => imerg_ + "ir" ; @@ -5252,7 +5252,7 @@ oper imergir_78 : Str -> Verbum = \imergir -> } } ; -oper falir_79 : Str -> Verbum = \falir -> +oper falir_Besch : Str -> Verbum = \falir -> let fal_ = Predef.tk 2 falir in {s = table { VI Infn => fal_ + "ir" ; @@ -5321,7 +5321,7 @@ oper falir_79 : Str -> Verbum = \falir -> } } ; -oper remir_80 : Str -> Verbum = \remir -> +oper remir_Besch : Str -> Verbum = \remir -> let rem_ = Predef.tk 2 remir in {s = table { VI Infn => rem_ + "ir" ; @@ -5390,7 +5390,7 @@ oper remir_80 : Str -> Verbum = \remir -> } } ; -oper viajar_r22 : Str -> Verbum = \viajar -> +oper viajar_Besch : Str -> Verbum = \viajar -> let viaj_ = Predef.tk 2 viajar in {s = table { VI Infn => viaj_ + "ar" ; @@ -5459,7 +5459,7 @@ oper viajar_r22 : Str -> Verbum = \viajar -> } } ; -oper suar_r37 : Str -> Verbum = \suar -> +oper suar_Besch : Str -> Verbum = \suar -> let su_ = Predef.tk 2 suar in {s = table { VI Infn => su_ + "ar" ; diff --git a/src/portuguese/ConstructionPor.gf b/src/portuguese/ConstructionPor.gf index d861f1cf7..4d4edbf8e 100644 --- a/src/portuguese/ConstructionPor.gf +++ b/src/portuguese/ConstructionPor.gf @@ -2,7 +2,7 @@ concrete ConstructionPor of Construction = CatPor ** open SyntaxPor, SymbolicPor, ParadigmsPor, BeschPor, - (L = LexiconPor), (E = ExtraPor), (I = IrregPor), (R = ResPor), (C = CommonRomance), + (L = LexiconPor), (E = ExtraPor), (B = IrregBeschPor), (R = ResPor), (C = CommonRomance), Prelude in { flags coding=utf8 ; @@ -20,13 +20,13 @@ lin what_name_QCl x = mkQCl how_IAdv (mkCl (lin NP x) (reflV (mkV "chamar"))) ; how_old_QCl x = mkQCl (mkIP how8many_IDet L.year_N) x have_V2 ; - how_far_QCl x = mkQCl (lin IAdv (ss "a que distância")) (mkCl x I.estar_V) ; + how_far_QCl x = mkQCl (lin IAdv (ss "a que distância")) (mkCl x B.estar_V) ; -- some more things - weather_adjCl ap = mkCl (mkVP (mkVA I.fazer_V) (lin AP ap)) ; + weather_adjCl ap = mkCl (mkVP (mkVA B.fazer_V) (lin AP ap)) ; is_right_VP = E.ComplCN have_V2 (mkCN (mkN "razão")) ; - is_wrong_VP = mkVP (mkVA I.estar_V) (mkAP (mkA "errado")) ; + is_wrong_VP = mkVP (mkVA B.estar_V) (mkAP (mkA "errado")) ; n_units_AP card cn a = mkAP (lin AdA (mkUtt (mkNP (lin CN cn)))) (lin A a) ; diff --git a/src/portuguese/DiffPor.gf b/src/portuguese/DiffPor.gf index c7d732064..423540588 100644 --- a/src/portuguese/DiffPor.gf +++ b/src/portuguese/DiffPor.gf @@ -5,22 +5,91 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo flags optimize=noexpand ; coding=utf8 ; ----- exceptions ---------------- - oper - partAgr : VType -> Bool = \vtyp -> False ; - vpAgrSubj : Verb -> VPAgrType = \v -> ; - vpAgrClits : Verb -> AAgr -> VPAgrType = \v,a -> ; - --------------------------------- - param Prepos = P_de | P_a ; + VType = VHabere | VRefl ; + oper + partAgr : VType -> Bool ; + -- exception + partAgr _ = False ; + + vpAgrSubj : Verb -> VPAgrType ; + -- exception + vpAgrSubj v = ; + + oper + conjunctCase : Case -> Case = \c -> case c of { + Nom => Nom ; + _ => Acc + } ; + + oper + clitInf b cli inf = inf ++ bindIf b ++ cli ; + + oper + pronArg = \n,p,acc,dat -> + let + paccp = case acc of { + CRefl => ; + CPron ag an ap => ; + _ => <[],P2,False> + } ; + pdatp = case dat of { + CPron ag an ap => ; + _ => <[],P2,False> + } ; + peither = case acc of { + CRefl | CPron _ _ _ => True ; + _ => case dat of { + CPron _ _ _ => True ; + _ => False + } + } ; + defaultPronArg = + in + ---- 8/6/2008 efficiency problem in pgf generation: replace the case + ---- expr with a constant produces an error in V3 predication with + ---- two pronouns + defaultPronArg ; + + oper + mkImperative b p vp = + \\pol,g,n => + let + pe = case b of {True => P3 ; _ => p} ; + agr = {g = g ; n = n ; p = pe} ; + refl = case vp.s.vtyp of { + VRefl => ; + _ => <[],False> + } ; + + clpr = ; + verb = vp.s.s ! vImper n pe ; + neg = vp.neg ! pol ; + compl = neg.p2 ++ clpr.p2 ++ vp.comp ! agr ++ vp.ext ! pol + in + neg.p1 ++ verb ++ bindIf refl.p2 ++ refl.p1 ++ bindIf clpr.p3 ++ clpr.p1 ++ compl ; + + oper + CopulaType = Bool ; + selectCopula = \isEstar -> case isEstar of {True => estar_V ; False => copula} ; + serCopula = False ; + estarCopula = True ; + oper dative : Case = CPrep P_a ; genitive : Case = CPrep P_de ; + oper + vRefl _ = VRefl ; + isVRefl : VType -> Bool = \ty -> case ty of { + VRefl => True ; + _ => False + } ; + + oper prepCase = \c -> case c of { Nom => [] ; Acc => [] ; @@ -28,6 +97,10 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo CPrep P_a => "a" } ; + oper + partitive = \_,c -> prepCase c ; + + oper artDef : Bool -> Gender -> Number -> Case -> Str = \isNP,g,n,c -> case isNP of { True => case of { @@ -59,121 +132,74 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo } } ; + oper possCase = \_,_,c -> prepCase c ; - partitive = \_,c -> prepCase c ; - -{- - partitive = \g,c -> case c of { - CPrep P_de => "de" ; - _ => prepCase c ++ artDef g Sg (CPrep P_de) - } ; --} - - conjunctCase : Case -> Case = \c -> case c of { - Nom => Nom ; - _ => Acc - } ; - + oper auxVerb : VType -> (VF => Str) = \_ -> haver_V.s ; - vpAgrClit : Agr -> VPAgr = \a -> - vpAgrNone ; - - pronArg = \n,p,acc,dat -> - let - paccp = case acc of { - CRefl => ; - CPron ag an ap => ; - _ => <[],P2,False> - } ; - pdatp = case dat of { - CPron ag an ap => ; - _ => <[],P2,False> - } ; - peither = case acc of { - CRefl | CPron _ _ _ => True ; - _ => case dat of { - CPron _ _ _ => True ; - _ => False - } - } ; - defaultPronArg = ----- defaultPronArg = - in - ---- case < : Person * Person> of { - ---- => <"se" ++ paccp.p1, [], True> ; - ---- _ => defaultPronArg - --- } ; - ---- 8/6/2008 efficiency problem in pgf generation: replace the case expr with - ---- a constant produces an error in V3 predication with two pronouns - defaultPronArg ; - - infForm _ _ _ _ = True ; - - mkImperative b p vp = - \\pol,g,n => - let - pe = case b of {True => P3 ; _ => p} ; - agr = {g = g ; n = n ; p = pe} ; - refl = case vp.s.vtyp of { - VRefl => ; - _ => <[],False> - } ; - - clpr = ; ----- clpr = <[],[],False> ; ----e pronArg agr.n agr.p vp.clAcc vp.clDat ; -----e verb = case of { -----e => (vp.s ! VPInfinit Simul clpr.p3).inf ! aag ; -----e _ => (vp.s ! VPImperat).fin ! agr -----e } ; - verb = vp.s.s ! vImper n pe ; - neg = vp.neg ! pol ; - compl = neg.p2 ++ clpr.p2 ++ vp.comp ! agr ++ vp.ext ! pol - in - neg.p1 ++ verb ++ bindIf refl.p2 ++ refl.p1 ++ bindIf clpr.p3 ++ clpr.p1 ++ compl ; - - CopulaType = Bool ; - selectCopula = \isEstar -> case isEstar of {True => estar_V ; False => copula} ; - serCopula = False ; - estarCopula = True ; - negation : RPolarity => (Str * Str) = table { RPos => <[],[]> ; RNeg _ => <"não",[]> } ; + copula : Verb = verboV (ser_Besch "ser") ; + + oper conjThan = "que" ; conjThat = "que" ; + + oper subjIf = "se" ; - - clitInf b cli inf = inf ++ bindIf b ++ cli ; - + oper relPron : Bool => AAgr => Case => Str = \\b,a,c => case c of { Nom | Acc => "que" ; CPrep P_a => "cujo" ; _ => prepCase c ++ "cujo" - } ; + } ; pronSuch : AAgr => Str = aagrForms "tal" "tal" "tais" "tais" ; - quelPron : AAgr => Str = aagrForms "qual" "qual" "quais" "quais" ; - - partQIndir = [] ; ---- ? + oper + partQIndir = [] ; + oper reflPron : Number -> Person -> Case -> Str = \n,p,c -> - let pro = argPron Fem n p c - in - case p of { + let pro = argPron Fem n p c + in + case p of { P3 => case c of { Acc | CPrep P_a => "se" ; _ => "si" } ; _ => pro - } ; + } ; + oper + auxPassive : Verb = copula ; + + oper + vpAgrClits : Verb -> AAgr -> VPAgrType ; + -- exception + vpAgrClits v a = ; + + oper + subjPron = \_ -> [] ; + + oper + polNegDirSubj = RPos ; + + oper + infForm _ _ _ _ = True ; + + oper + vpAgrClit : Agr -> VPAgr = \a -> + vpAgrNone ; + +-- oper's opers + oper argPron : Gender -> Number -> Person -> Case -> Str = let cases : (x,y : Str) -> Case -> Str = \me,moi,c -> case c of { @@ -195,28 +221,16 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo <_, Sg,P3> => cases3 "o" "seu" "ele" ; => cases3 "as" "suas" "elas" ; <_, Pl,P3> => cases3 "os" "seus" "eles" - } ; - - vRefl _ = VRefl ; - isVRefl : VType -> Bool = \ty -> case ty of { - VRefl => True ; - _ => False } ; - auxPassive : Verb = copula ; + estar_V : Verb = verboV (estar_Besch "estar") ; - copula : Verb = verbBeschH (ser_3 "ser") ; + haver_V : Verb = verboV (haver_Besch "haver") ; - estar_V : Verb = verbBeschH (estar_10 "estar") ; + ficar_V : Verb = verboV (ficar_Besch "ficar") ; - haver_V : Verb = verbBeschH (haver_2 "haver") ; - - ficar_V : Verb = verbBeschH (ficar_12 "ficar") ; - - verbBeschH : Verbum -> Verb = \v -> verbBesch v ** {vtyp = VHabere ; p = []} ; - - subjPron = \_ -> [] ; - - polNegDirSubj = RPos ; + verboV : Verbum -> Verb ; + -- make a verb of type haver + verboV v = verbBesch v ** {vtyp = VHabere ; p = [] ; lock_V = <>} ; } diff --git a/src/portuguese/ExtendPor.gf b/src/portuguese/ExtendPor.gf new file mode 100644 index 000000000..c432ab3e9 --- /dev/null +++ b/src/portuguese/ExtendPor.gf @@ -0,0 +1,68 @@ +--# -path=alltenses:../common:../abstract + +concrete ExtendPor of Extend = + CatPor ** ExtendFunctor - + [ + iFem_Pron, weFem_Pron, youFem_Pron, youPlFem_Pron, youPolPl_Pron, youPolFem_Pron, youPolPlFem_Pron, theyFem_Pron, + ProDrop, + PassVPSlash, ExistsNP + ] -- put the names of your own definitions here + with + (Grammar = GrammarPor), (Syntax = SyntaxPor) ** + open + GrammarPor, + ResPor, + MorphoPor, + Coordination, + Prelude, + ParadigmsPor, + (S = StructuralPor) in { + + lin + ProDrop p = { + s = table { + Nom => let pn = p.s ! Nom in {c1 = pn.c1 ; c2 = pn.c2 ; comp = [] ; ton = pn.ton} ; + c => p.s ! c + } ; + a = p.a ; + poss = p.poss ; + hasClit = p.hasClit ; + isPol = p.isPol ; + isNeg = False + } ; + + lin + PassVPSlash vps = + let auxvp = predV copula + in + insertComplement (\\a => let agr = complAgr a in vps.s.s ! VPart agr.g agr.n) { + s = auxvp.s ; + agr = auxvp.agr ; + neg = vps.neg ; + clit1 = vps.clit1 ; + clit2 = vps.clit2 ; + clit3 = vps.clit3 ; + isNeg = vps.isNeg ; + comp = vps.comp ; + ext = vps.ext + } ; + + ExistsNP np = + mkClause [] True False np.a + (insertComplement (\\_ => (np.s ! Nom).ton) + (predV (mkV "existir"))) ; + + lin + -- Romance + iFem_Pron = pronAgr S.i_Pron Fem Sg P1 ; + weFem_Pron = pronAgr S.we_Pron Fem Pl P1 ; + youFem_Pron = pronAgr S.youSg_Pron Fem Sg P3 ; + youPlFem_Pron = pronAgr S.youPl_Pron Fem Pl P3 ; + youPolPl_Pron = mkPronoun "vós" "vos" "vos" "vós" + "vosso" "vossa" "vossos" "vossas" + Masc Pl P2 ; + youPolFem_Pron = pronAgr S.youPol_Pron Fem Sg P2 ; + youPolPlFem_Pron = pronAgr youPolPl_Pron Fem Pl P2 ; + theyFem_Pron = mkPronFrom S.they_Pron "elas" "as" "lhes" "elas" Fem Pl P3 ; + +} ; diff --git a/src/portuguese/ExtraPor.gf b/src/portuguese/ExtraPor.gf index 6c8e181c5..aca1f7d49 100644 --- a/src/portuguese/ExtraPor.gf +++ b/src/portuguese/ExtraPor.gf @@ -1,18 +1,20 @@ +-- the Extra* modules are to be deprecated in favour of the Extend* +-- module. concrete ExtraPor of ExtraPorAbs = ExtraRomancePor ** - open CommonRomance, PhonoPor, MorphoPor, ParadigmsPor, ParamX, ResPor, BeschPor, (I = IrregPor), (S = StructuralPor), + open CommonRomance, PhonoPor, MorphoPor, ParadigmsPor, ParamX, ResPor, BeschPor, (B = IrregBeschPor), (E = ExtendPor), Prelude in { flags coding=utf8 ; lin --- Prons - i8fem_Pron = pronAgr S.i_Pron Fem Sg P1 ; - youSg8fem_Pron = pronAgr S.youSg_Pron Fem Sg P3 ; - we8fem_Pron = pronAgr S.we_Pron Fem Pl P1 ; - youPl8fem_Pron = pronAgr S.youPl_Pron Fem Pl P3 ; - youPolPl_Pron = S.youPol_Pron ** pronLin "vós" "vos" "vos" "vós" ; - youPol8fem_Pron = pronAgr S.youPol_Pron Fem Sg P2 ; - youPolPl8fem_Pron = pronAgr youPolPl_Pron Fem Pl P2 ; - they8fem_Pron = mkPronFrom S.they_Pron "elas" "as" "lhes" "elas" Fem Pl P3 ; + i8fem_Pron = E.iFem_Pron ; + youSg8fem_Pron = E.youFem_Pron ; + we8fem_Pron = E.weFem_Pron ; + youPl8fem_Pron = E.youPlFem_Pron ; + youPolPl_Pron = E.youPolPl_Pron ; + youPol8fem_Pron = E.youPolFem_Pron ; + youPolPl8fem_Pron = E.youPolPlFem_Pron ; + they8fem_Pron = E.theyFem_Pron ; these8fem_NP = makeNP ["estas"] Fem Pl ; @@ -37,24 +39,10 @@ concrete ExtraPor of ExtraPorAbs = ExtraRomancePor ** } ; -- ExtraRomance.PassVPSlash uses estar - PassVPSlash_ser vps = - let auxvp = predV copula - in - insertComplement (\\a => let agr = complAgr a in vps.s.s ! VPart agr.g agr.n) { - s = auxvp.s ; - agr = auxvp.agr ; - neg = vps.neg ; - clit1 = vps.clit1 ; - clit2 = vps.clit2 ; - clit3 = vps.clit3 ; - isNeg = vps.isNeg ; - comp = vps.comp ; - ext = vps.ext - } ; + PassVPSlash_ser = E.PassVPSlash ; - ExistsNP np = - mkClause [] True False np.a (insertComplement (\\_ => (np.s ! Nom).ton) (predV (mkV "existir"))) ; + ExistsNP = E.ExistsNP ; - UseComp_estar comp = insertComplement comp.s (predV I.estar_V) ; + UseComp_estar comp = insertComplement comp.s (predV B.estar_V) ; } diff --git a/src/portuguese/ExtraPorAbs.gf b/src/portuguese/ExtraPorAbs.gf index 4355aa89a..5a709c5f1 100644 --- a/src/portuguese/ExtraPorAbs.gf +++ b/src/portuguese/ExtraPorAbs.gf @@ -14,19 +14,19 @@ abstract ExtraPorAbs = ExtraRomanceAbs ** { this8fem_NP : NP ; those8fem_NP : NP ; - we8fem_Pron : Pron ; -- nosotras + we8fem_Pron : Pron ; whoPl8fem_IP : IP ; whoSg8fem_IP : IP ; youSg8fem_Pron : Pron ; - youPl8fem_Pron : Pron ; -- vosotras - youPol8fem_Pron : Pron ; -- usted + youPl8fem_Pron : Pron ; + youPol8fem_Pron : Pron ; - youPolPl_Pron : Pron ; -- ustedes + youPolPl_Pron : Pron ; youPolPl8fem_Pron : Pron ; - ImpNeg : NP -> VP -> Utt ; --"no fumes" + ImpNeg : NP -> VP -> Utt ; --"não fume" InvQuestCl : Cl -> QCl ; diff --git a/src/portuguese/ExtraSpaPor.gf b/src/portuguese/ExtraSpaPor.gf deleted file mode 100644 index d926766e8..000000000 --- a/src/portuguese/ExtraSpaPor.gf +++ /dev/null @@ -1,37 +0,0 @@ --- Structures special for Pornish. These are not implemented in other --- Romance languages. - -abstract ExtraPorAbs = ExtraRomanceAbs ** { - - fun - --- Feminine variants of pronouns (those in $Structural$ are --- masculine, which is the default when gender is unknown). - - i8fem_Pron : Pron ; - these8fem_NP : NP ; - they8fem_Pron : Pron ; - this8fem_NP : NP ; - those8fem_NP : NP ; - - we8fem_Pron : Pron ; -- nosotras - whoPl8fem_IP : IP ; - whoSg8fem_IP : IP ; - - youSg8fem_Pron : Pron ; - youPl8fem_Pron : Pron ; -- vosotras - youPol8fem_Pron : Pron ; -- usted - - youPolPl_Pron : Pron ; -- ustedes - youPolPl8fem_Pron : Pron ; - - - ImpNeg : NP -> VP -> Utt ; --"no fumes" - InvQuestCl : Cl -> QCl ; - - - PassVPSlash_ser : VPSlash -> VP ; - - UseComp_estar : Comp -> VP ; -- esta lleno, as opposed to es lleno - -} diff --git a/src/portuguese/IdiomPor.gf b/src/portuguese/IdiomPor.gf index 138fecea3..39b99578f 100644 --- a/src/portuguese/IdiomPor.gf +++ b/src/portuguese/IdiomPor.gf @@ -1,5 +1,5 @@ concrete IdiomPor of Idiom = CatPor ** - open (P = ParamX), MorphoPor, ParadigmsPor, BeschPor, Prelude in { + open (P = ParamX), MorphoPor, ParadigmsPor, BeschPor, (B = IrregBeschPor), Prelude in { flags optimize=all_subs ; @@ -20,11 +20,11 @@ concrete IdiomPor of Idiom = CatPor ** ExistNP np = mkClause [] True False (agrP3 Masc Sg) - (insertComplement (\\_ => (np.s ! Acc).ton) (predV (mkV (haver_2 "haver")))) ; + (insertComplement (\\_ => (np.s ! Acc).ton) (predV B.haver_V)) ; ExistIP ip = { s = \\t,a,p,_ => ip.s ! Nom ++ - (mkClause [] True False (agrP3 Masc Sg) (predV (mkV (haver_2 "haver")))).s ! DDir ! t ! a ! p ! Indic + (mkClause [] True False (agrP3 Masc Sg) (predV B.haver_V)).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 (mkV (estar_10 "estar"))) ; + (predV B.estar_V) ; ImpPl1 vp = {s = mkImperative False P1 vp ! RPos ! Masc ! Pl ; --- fem diff --git a/src/portuguese/IrregBeschPor.gf b/src/portuguese/IrregBeschPor.gf new file mode 100644 index 000000000..21c8c72da --- /dev/null +++ b/src/portuguese/IrregBeschPor.gf @@ -0,0 +1,360 @@ +--# -path=.:../romance:../common:../abstract:../prelude + +concrete IrregBeschPor of IrregBeschPorAbs = CatPor ** + open ParadigmsPor, BeschPor in { + +flags optimize=noexpand ; + coding=utf8 ; + +-- machine-generated file: do not edit directly! + +-- look up your verb here. if you don't find it, see if +-- if you can find out what is its paradigm and then add it! + + lin + acontecer_V = mkV (acontecer_Besch "acontecer") ; + acudir_V = mkV (acudir_Besch "acudir") ; + bulir_V = mkV (acudir_Besch "bulir") ; + cuspir_V = mkV (acudir_Besch "cuspir") ; + sacudir_V = mkV (acudir_Besch "sacudir") ; + subir_V = mkV (acudir_Besch "subir") ; + sumir_V = mkV (acudir_Besch "sumir") ; + consumir_V = mkV (acudir_Besch "consumir") ; + adequar_V = mkV (adequar_Besch "adequar") ; + agredir_V = mkV (agredir_Besch "agredir") ; + denegrir_V = mkV (agredir_Besch "denegrir") ; + prevenir_V = mkV (agredir_Besch "prevenir") ; + progredir_V = mkV (agredir_Besch "progredir") ; + transgredir_V = mkV (agredir_Besch "transgredir") ; + anunciar_V = mkV (anunciar_Besch "anunciar") ; + abreviar_V = mkV (anunciar_Besch "abreviar") ; + acariciar_V = mkV (anunciar_Besch "acariciar") ; + afiar_V = mkV (anunciar_Besch "afiar") ; + aliviar_V = mkV (anunciar_Besch "aliviar") ; + apreciar_V = mkV (anunciar_Besch "apreciar") ; + assobiar_V = mkV (anunciar_Besch "assobiar") ; + avaliar_V = mkV (anunciar_Besch "avaliar") ; + avariar_V = mkV (anunciar_Besch "avariar") ; + criar_V = mkV (anunciar_Besch "criar") ; + denunciar_V = mkV (anunciar_Besch "denunciar") ; + desviar_V = mkV (anunciar_Besch "desviar") ; + enfiar_V = mkV (anunciar_Besch "enfiar") ; + enviar_V = mkV (anunciar_Besch "enviar") ; + iniciar_V = mkV (anunciar_Besch "iniciar") ; + principiar_V = mkV (anunciar_Besch "principiar") ; + pronunciar_V = mkV (anunciar_Besch "pronunciar") ; + renunciar_V = mkV (anunciar_Besch "renunciar") ; + aprazer_V = mkV (aprazer_Besch "aprazer") ; + desprazer_V = mkV (aprazer_Besch "desprazer") ; + aquecer_V = mkV (aquecer_Besch "aquecer") ; + agradecer_V = mkV (aquecer_Besch "agradecer") ; + amarelecer_V = mkV (aquecer_Besch "amarelecer") ; + amolecer_V = mkV (aquecer_Besch "amolecer") ; + arrefecer_V = mkV (aquecer_Besch "arrefecer") ; + empecer_V = mkV (aquecer_Besch "empecer") ; + entretecer_V = mkV (aquecer_Besch "entretecer") ; + entristecer_V = mkV (aquecer_Besch "entristecer") ; + escurecer_V = mkV (aquecer_Besch "escurecer") ; + estremecer_V = mkV (aquecer_Besch "estremecer") ; + favorecer_V = mkV (aquecer_Besch "favorecer") ; + merecer_V = mkV (aquecer_Besch "merecer") ; + oferecer_V = mkV (aquecer_Besch "oferecer") ; + parecer_V = mkV (aquecer_Besch "parecer") ; + perecer_V = mkV (aquecer_Besch "perecer") ; + reverdecer_V = mkV (aquecer_Besch "reverdecer") ; + tecer_V = mkV (aquecer_Besch "tecer") ; + arguir_V = mkV (arguir_Besch "arguir") ; + redarguir_V = mkV (arguir_Besch "redarguir") ; + averiguar_V = mkV (averiguar_Besch "averiguar") ; + aguar_V = mkV (averiguar_Besch "aguar") ; + apaniguar_V = mkV (averiguar_Besch "apaniguar") ; + apaziguar_V = mkV (averiguar_Besch "apaziguar") ; + apropinquar_V = mkV (averiguar_Besch "apropinquar") ; + deliquar_V = mkV (averiguar_Besch "deliquar") ; + desaguar_V = mkV (averiguar_Besch "desaguar") ; + enxaguar_V = mkV (averiguar_Besch "enxaguar") ; + obliquar_V = mkV (averiguar_Besch "obliquar") ; + caber_V = mkV (caber_Besch "caber") ; + chegar_V = mkV (chegar_Besch "chegar") ; + chover_V = mkV (chover_Besch "chover") ; + começar_V = mkV (começar_Besch "começar") ; + comerciar_V = mkV (comerciar_Besch "comerciar") ; + agenciar_V = mkV (comerciar_Besch "agenciar") ; + licenciar_V = mkV (comerciar_Besch "licenciar") ; + negociar_V = mkV (comerciar_Besch "negociar") ; + obsequiar_V = mkV (comerciar_Besch "obsequiar") ; + premiar_V = mkV (comerciar_Besch "premiar") ; + providenciar_V = mkV (comerciar_Besch "providenciar") ; + sentenciar_V = mkV (comerciar_Besch "sentenciar") ; + silenciar_V = mkV (comerciar_Besch "silenciar") ; + comprar_V = mkV (comprar_Besch "comprar") ; + crer_V = mkV (crer_Besch "crer") ; + descrer_V = mkV (crer_Besch "descrer") ; + dar_V = mkV (dar_Besch "dar") ; + destruir_V = mkV (destruir_Besch "destruir") ; + construir_V = mkV (destruir_Besch "construir") ; + reconstruir_V = mkV (destruir_Besch "reconstruir") ; + distribuir_V = mkV (distribuir_Besch "distribuir") ; + imbuir_V = mkV (distribuir_Besch "imbuir") ; + afluir_V = mkV (distribuir_Besch "afluir") ; + confluir_V = mkV (distribuir_Besch "confluir") ; + fluir_V = mkV (distribuir_Besch "fluir") ; + influir_V = mkV (distribuir_Besch "influir") ; + refluir_V = mkV (distribuir_Besch "refluir") ; + atribuir_V = mkV (distribuir_Besch "atribuir") ; + contribuir_V = mkV (distribuir_Besch "contribuir") ; + retribuir_V = mkV (distribuir_Besch "retribuir") ; + instituir_V = mkV (distribuir_Besch "instituir") ; + restituir_V = mkV (distribuir_Besch "restituir") ; + substituir_V = mkV (distribuir_Besch "substituir") ; + divergir_V = mkV (divergir_Besch "divergir") ; + aspergir_V = mkV (divergir_Besch "aspergir") ; + convergir_V = mkV (divergir_Besch "convergir") ; + dizer_V = mkV (dizer_Besch "dizer") ; + bendizer_V = mkV (dizer_Besch "bendizer") ; + condizer_V = mkV (dizer_Besch "condizer") ; + contradizer_V = mkV (dizer_Besch "contradizer") ; + desdizer_V = mkV (dizer_Besch "desdizer") ; + maldizer_V = mkV (dizer_Besch "maldizer") ; + predizer_V = mkV (dizer_Besch "predizer") ; + doer_V = mkV (doer_Besch "doer") ; + dormir_V = mkV (dormir_Besch "dormir") ; + cobrir_V = mkV (dormir_Besch "cobrir") ; + descobrir_V = mkV (dormir_Besch "descobrir") ; + encobrir_V = mkV (dormir_Besch "encobrir") ; + recobrir_V = mkV (dormir_Besch "recobrir") ; + explodir_V = mkV (dormir_Besch "explodir") ; + engolir_V = mkV (dormir_Besch "engolir") ; + tossir_V = mkV (dormir_Besch "tossir") ; + erguer_V = mkV (erguer_Besch "erguer") ; + soerguer_V = mkV (erguer_Besch "soerguer") ; + estar_V = mkV (estar_Besch "estar") ; + extinguir_V = mkV (extinguir_Besch "extinguir") ; + falir_V = mkV (falir_Besch "falir") ; + aguerrir_V = mkV (falir_Besch "aguerrir") ; + combalir_V = mkV (falir_Besch "combalir") ; + desflorir_V = mkV (falir_Besch "desflorir") ; + florir_V = mkV (falir_Besch "florir") ; + reflorir_V = mkV (falir_Besch "reflorir") ; + renhir_V = mkV (falir_Besch "renhir") ; + fazer_V = mkV (fazer_Besch "fazer") ; + afazer_V = mkV (fazer_Besch "afazer") ; + contrafazer_V = mkV (fazer_Besch "contrafazer") ; + desfazer_V = mkV (fazer_Besch "desfazer") ; + liquefazer_V = mkV (fazer_Besch "liquefazer") ; + perfazer_V = mkV (fazer_Besch "perfazer") ; + rarefazer_V = mkV (fazer_Besch "rarefazer") ; + refazer_V = mkV (fazer_Besch "refazer") ; + satisfazer_V = mkV (fazer_Besch "satisfazer") ; + ficar_V = mkV (ficar_Besch "ficar") ; + frigir_V = mkV (frigir_Besch "frigir") ; + fugir_V = mkV (fugir_Besch "fugir") ; + garantir_V = mkV (garantir_Besch "garantir") ; + haver_V = mkV (haver_Besch "haver") ; + abolir_V = mkV (imergir_Besch "abolir") ; + banir_V = mkV (imergir_Besch "banir") ; + brandir_V = mkV (imergir_Besch "brandir") ; + brunir_V = mkV (imergir_Besch "brunir") ; + emergir_V = mkV (imergir_Besch "emergir") ; + empedernir_V = mkV (imergir_Besch "empedernir") ; + exaurir_V = mkV (imergir_Besch "exaurir") ; + extorquir_V = mkV (imergir_Besch "extorquir") ; + fremir_V = mkV (imergir_Besch "fremir") ; + fulgir_V = mkV (imergir_Besch "fulgir") ; + jungir_V = mkV (imergir_Besch "jungir") ; + retorquir_V = mkV (imergir_Besch "retorquir") ; + submergir_V = mkV (imergir_Besch "submergir") ; + ungir_V = mkV (imergir_Besch "ungir") ; + colorir_V = mkV (imergir_Besch "colorir") ; + demolir_V = mkV (imergir_Besch "demolir") ; + ir_V = mkV (ir_Besch "ir") ; + jazer_V = mkV (jazer_Besch "jazer") ; + ler_V = mkV (ler_Besch "ler") ; + reler_V = mkV (ler_Besch "reler") ; + tresler_V = mkV (ler_Besch "tresler") ; + moer_V = mkV (moer_Besch "moer") ; + roer_V = mkV (moer_Besch "roer") ; + neviscar_V = mkV (neviscar_Besch "neviscar") ; + odiar_V = mkV (odiar_Besch "odiar") ; + ansiar_V = mkV (odiar_Besch "ansiar") ; + incendiar_V = mkV (odiar_Besch "incendiar") ; + mediar_V = mkV (odiar_Besch "mediar") ; + remediar_V = mkV (odiar_Besch "remediar") ; + ouvir_V = mkV (ouvir_Besch "ouvir") ; + pedir_V = mkV (pedir_Besch "pedir") ; + despedir_V = mkV (pedir_Besch "despedir") ; + expedir_V = mkV (pedir_Besch "expedir") ; + reexpedir_V = mkV (pedir_Besch "reexpedir") ; + impedir_V = mkV (pedir_Besch "impedir") ; + desimpedir_V = mkV (pedir_Besch "desimpedir") ; + medir_V = mkV (pedir_Besch "medir") ; + perder_V = mkV (perder_Besch "perder") ; + perdoar_V = mkV (perdoar_Besch "perdoar") ; + abalroar_V = mkV (perdoar_Besch "abalroar") ; + abençoar_V = mkV (perdoar_Besch "abençoar") ; + amaldiçoar_V = mkV (perdoar_Besch "amaldiçoar") ; + aperfeiçoar_V = mkV (perdoar_Besch "aperfeiçoar") ; + apregoar_V = mkV (perdoar_Besch "apregoar") ; + coar_V = mkV (perdoar_Besch "coar") ; + doar_V = mkV (perdoar_Besch "doar") ; + entoar_V = mkV (perdoar_Besch "entoar") ; + esboroar_V = mkV (perdoar_Besch "esboroar") ; + povoar_V = mkV (perdoar_Besch "povoar") ; + soar_V = mkV (perdoar_Besch "soar") ; + toar_V = mkV (perdoar_Besch "toar") ; + voar_V = mkV (perdoar_Besch "voar") ; + poder_V = mkV (poder_Besch "poder") ; + polir_V = mkV (polir_Besch "polir") ; + pôr_V = mkV (pôr_Besch "pôr") ; + apor_V = mkV (pôr_Besch "apor") ; + compor_V = mkV (pôr_Besch "compor") ; + contrapor_V = mkV (pôr_Besch "contrapor") ; + decompor_V = mkV (pôr_Besch "decompor") ; + descompor_V = mkV (pôr_Besch "descompor") ; + dispor_V = mkV (pôr_Besch "dispor") ; + expor_V = mkV (pôr_Besch "expor") ; + impor_V = mkV (pôr_Besch "impor") ; + opor_V = mkV (pôr_Besch "opor") ; + propor_V = mkV (pôr_Besch "propor") ; + repor_V = mkV (pôr_Besch "repor") ; + supor_V = mkV (pôr_Besch "supor") ; + prazer_V = mkV (prazer_Besch "prazer") ; + precaver_V = mkV (precaver_Besch "precaver") ; + preferir_V = mkV (preferir_Besch "preferir") ; + aderir_V = mkV (preferir_Besch "aderir") ; + aferir_V = mkV (preferir_Besch "aferir") ; + conferir_V = mkV (preferir_Besch "conferir") ; + deferir_V = mkV (preferir_Besch "deferir") ; + diferir_V = mkV (preferir_Besch "diferir") ; + digerir_V = mkV (preferir_Besch "digerir") ; + ferir_V = mkV (preferir_Besch "ferir") ; + inferir_V = mkV (preferir_Besch "inferir") ; + inserir_V = mkV (preferir_Besch "inserir") ; + proferir_V = mkV (preferir_Besch "proferir") ; + referir_V = mkV (preferir_Besch "referir") ; + repelir_V = mkV (preferir_Besch "repelir") ; + repetir_V = mkV (preferir_Besch "repetir") ; + sugerir_V = mkV (preferir_Besch "sugerir") ; + transferir_V = mkV (preferir_Besch "transferir") ; + proibir_V = mkV (proibir_Besch "proibir") ; + coibir_V = mkV (proibir_Besch "coibir") ; + proteger_V = mkV (proteger_Besch "proteger") ; + eleger_V = mkV (proteger_Besch "eleger") ; + reger_V = mkV (proteger_Besch "reger") ; + prover_V = mkV (prover_Besch "prover") ; + querer_V = mkV (querer_Besch "querer") ; + reaver_V = mkV (reaver_Besch "reaver") ; + recear_V = mkV (recear_Besch "recear") ; + acarear_V = mkV (recear_Besch "acarear") ; + afear_V = mkV (recear_Besch "afear") ; + altear_V = mkV (recear_Besch "altear") ; + apear_V = mkV (recear_Besch "apear") ; + arquear_V = mkV (recear_Besch "arquear") ; + asnear_V = mkV (recear_Besch "asnear") ; + costear_V = mkV (recear_Besch "costear") ; + custear_V = mkV (recear_Besch "custear") ; + enfrear_V = mkV (recear_Besch "enfrear") ; + frear_V = mkV (recear_Besch "frear") ; + olear_V = mkV (recear_Besch "olear") ; + passear_V = mkV (recear_Besch "passear") ; + pear_V = mkV (recear_Besch "pear") ; + pentear_V = mkV (recear_Besch "pentear") ; + pratear_V = mkV (recear_Besch "pratear") ; + presentear_V = mkV (recear_Besch "presentear") ; + recrear_V = mkV (recear_Besch "recrear") ; + saborear_V = mkV (recear_Besch "saborear") ; + sofrear_V = mkV (recear_Besch "sofrear") ; + redigir_V = mkV (redigir_Besch "redigir") ; + afligir_V = mkV (redigir_Besch "afligir") ; + agir_V = mkV (redigir_Besch "agir") ; + coligir_V = mkV (redigir_Besch "coligir") ; + corrigir_V = mkV (redigir_Besch "corrigir") ; + erigir_V = mkV (redigir_Besch "erigir") ; + exigir_V = mkV (redigir_Besch "exigir") ; + fingir_V = mkV (redigir_Besch "fingir") ; + frangir_V = mkV (redigir_Besch "frangir") ; + infligir_V = mkV (redigir_Besch "infligir") ; + transigir_V = mkV (redigir_Besch "transigir") ; + refletir_V = mkV (refletir_Besch "refletir") ; + fletir_V = mkV (refletir_Besch "fletir") ; + defletir_V = mkV (refletir_Besch "defletir") ; + infletir_V = mkV (refletir_Besch "infletir") ; + remir_V = mkV (remir_Besch "remir") ; + requerer_V = mkV (requerer_Besch "requerer") ; + reunir_V = mkV (reunir_Besch "reunir") ; + rir_V = mkV (rir_Besch "rir") ; + sorrir_V = mkV (rir_Besch "sorrir") ; + saber_V = mkV (saber_Besch "saber") ; + dessaber_V = mkV (saber_Besch "dessaber") ; + sair_V = mkV (sair_Besch "sair") ; + cair_V = mkV (sair_Besch "cair") ; + decair_V = mkV (sair_Besch "decair") ; + descair_V = mkV (sair_Besch "descair") ; + recair_V = mkV (sair_Besch "recair") ; + trair_V = mkV (sair_Besch "trair") ; + atrair_V = mkV (sair_Besch "atrair") ; + contrair_V = mkV (sair_Besch "contrair") ; + distrair_V = mkV (sair_Besch "distrair") ; + extrair_V = mkV (sair_Besch "extrair") ; + protrair_V = mkV (sair_Besch "protrair") ; + retrair_V = mkV (sair_Besch "retrair") ; + subtrair_V = mkV (sair_Besch "subtrair") ; + saudar_V = mkV (saudar_Besch "saudar") ; + seguir_V = mkV (seguir_Besch "seguir") ; + conseguir_V = mkV (seguir_Besch "conseguir") ; + perseguir_V = mkV (seguir_Besch "perseguir") ; + prosseguir_V = mkV (seguir_Besch "prosseguir") ; + sentir_V = mkV (sentir_Besch "sentir") ; + assentir_V = mkV (sentir_Besch "assentir") ; + consentir_V = mkV (sentir_Besch "consentir") ; + pressentir_V = mkV (sentir_Besch "pressentir") ; + ressentir_V = mkV (sentir_Besch "ressentir") ; + mentir_V = mkV (sentir_Besch "mentir") ; + desmentir_V = mkV (sentir_Besch "desmentir") ; + ser_V = mkV (ser_Besch "ser") ; + servir_V = mkV (servir_Besch "servir") ; + concernir_V = mkV (servir_Besch "concernir") ; + discernir_V = mkV (servir_Besch "discernir") ; + cerzir_V = mkV (servir_Besch "cerzir") ; + despir_V = mkV (servir_Besch "despir") ; + vestir_V = mkV (servir_Besch "vestir") ; + investir_V = mkV (servir_Besch "investir") ; + revestir_V = mkV (servir_Besch "revestir") ; + ter_V = mkV (ter_Besch "ter") ; + conter_V = mkV (ter_Besch "conter") ; + deter_V = mkV (ter_Besch "deter") ; + entreter_V = mkV (ter_Besch "entreter") ; + reter_V = mkV (ter_Besch "reter") ; + suster_V = mkV (ter_Besch "suster") ; + traduzir_V = mkV (traduzir_Besch "traduzir") ; + abduzir_V = mkV (traduzir_Besch "abduzir") ; + aduzir_V = mkV (traduzir_Besch "aduzir") ; + conduzir_V = mkV (traduzir_Besch "conduzir") ; + deduzir_V = mkV (traduzir_Besch "deduzir") ; + induzir_V = mkV (traduzir_Besch "induzir") ; + introduzir_V = mkV (traduzir_Besch "introduzir") ; + luzir_V = mkV (traduzir_Besch "luzir") ; + perluzir_V = mkV (traduzir_Besch "perluzir") ; + produzir_V = mkV (traduzir_Besch "produzir") ; + reduzir_V = mkV (traduzir_Besch "reduzir") ; + reluzir_V = mkV (traduzir_Besch "reluzir") ; + seduzir_V = mkV (traduzir_Besch "seduzir") ; + trazer_V = mkV (trazer_Besch "trazer") ; + valer_V = mkV (valer_Besch "valer") ; + desvaler_V = mkV (valer_Besch "desvaler") ; + equivaler_V = mkV (valer_Besch "equivaler") ; + vender_V = mkV (vender_Besch "vender") ; + ver_V = mkV (ver_Besch "ver") ; + antever_V = mkV (ver_Besch "antever") ; + entrever_V = mkV (ver_Besch "entrever") ; + prever_V = mkV (ver_Besch "prever") ; + rever_V = mkV (ver_Besch "rever") ; + vir_V = mkV (vir_Besch "vir") ; + advir_V = mkV (vir_Besch "advir") ; + convir_V = mkV (vir_Besch "convir") ; + desavir_V = mkV (vir_Besch "desavir") ; + intervir_V = mkV (vir_Besch "intervir") ; + porvir_V = mkV (vir_Besch "porvir") ; + sobrevir_V = mkV (vir_Besch "sobrevir") ; + +} ; \ No newline at end of file diff --git a/src/portuguese/IrregBeschPorAbs.gf b/src/portuguese/IrregBeschPorAbs.gf new file mode 100644 index 000000000..54a270eac --- /dev/null +++ b/src/portuguese/IrregBeschPorAbs.gf @@ -0,0 +1,354 @@ +--# -path=.:../romance:../common:../abstract:../prelude + +abstract IrregBeschPorAbs = Cat ** { + flags coding=utf8 ; + +-- machine-generated file: do not edit directly! + + fun + acontecer_V : V ; + acudir_V : V ; + bulir_V : V ; + cuspir_V : V ; + sacudir_V : V ; + subir_V : V ; + sumir_V : V ; + consumir_V : V ; + adequar_V : V ; + agredir_V : V ; + denegrir_V : V ; + prevenir_V : V ; + progredir_V : V ; + transgredir_V : V ; + anunciar_V : V ; + abreviar_V : V ; + acariciar_V : V ; + afiar_V : V ; + aliviar_V : V ; + apreciar_V : V ; + assobiar_V : V ; + avaliar_V : V ; + avariar_V : V ; + criar_V : V ; + denunciar_V : V ; + desviar_V : V ; + enfiar_V : V ; + enviar_V : V ; + iniciar_V : V ; + principiar_V : V ; + pronunciar_V : V ; + renunciar_V : V ; + aprazer_V : V ; + desprazer_V : V ; + aquecer_V : V ; + agradecer_V : V ; + amarelecer_V : V ; + amolecer_V : V ; + arrefecer_V : V ; + empecer_V : V ; + entretecer_V : V ; + entristecer_V : V ; + escurecer_V : V ; + estremecer_V : V ; + favorecer_V : V ; + merecer_V : V ; + oferecer_V : V ; + parecer_V : V ; + perecer_V : V ; + reverdecer_V : V ; + tecer_V : V ; + arguir_V : V ; + redarguir_V : V ; + averiguar_V : V ; + aguar_V : V ; + apaniguar_V : V ; + apaziguar_V : V ; + apropinquar_V : V ; + deliquar_V : V ; + desaguar_V : V ; + enxaguar_V : V ; + obliquar_V : V ; + caber_V : V ; + chegar_V : V ; + chover_V : V ; + começar_V : V ; + comerciar_V : V ; + agenciar_V : V ; + licenciar_V : V ; + negociar_V : V ; + obsequiar_V : V ; + premiar_V : V ; + providenciar_V : V ; + sentenciar_V : V ; + silenciar_V : V ; + comprar_V : V ; + crer_V : V ; + descrer_V : V ; + dar_V : V ; + destruir_V : V ; + construir_V : V ; + reconstruir_V : V ; + distribuir_V : V ; + imbuir_V : V ; + afluir_V : V ; + confluir_V : V ; + fluir_V : V ; + influir_V : V ; + refluir_V : V ; + atribuir_V : V ; + contribuir_V : V ; + retribuir_V : V ; + instituir_V : V ; + restituir_V : V ; + substituir_V : V ; + divergir_V : V ; + aspergir_V : V ; + convergir_V : V ; + dizer_V : V ; + bendizer_V : V ; + condizer_V : V ; + contradizer_V : V ; + desdizer_V : V ; + maldizer_V : V ; + predizer_V : V ; + doer_V : V ; + dormir_V : V ; + cobrir_V : V ; + descobrir_V : V ; + encobrir_V : V ; + recobrir_V : V ; + explodir_V : V ; + engolir_V : V ; + tossir_V : V ; + erguer_V : V ; + soerguer_V : V ; + estar_V : V ; + extinguir_V : V ; + falir_V : V ; + aguerrir_V : V ; + combalir_V : V ; + desflorir_V : V ; + florir_V : V ; + reflorir_V : V ; + renhir_V : V ; + fazer_V : V ; + afazer_V : V ; + contrafazer_V : V ; + desfazer_V : V ; + liquefazer_V : V ; + perfazer_V : V ; + rarefazer_V : V ; + refazer_V : V ; + satisfazer_V : V ; + ficar_V : V ; + frigir_V : V ; + fugir_V : V ; + garantir_V : V ; + haver_V : V ; + abolir_V : V ; + banir_V : V ; + brandir_V : V ; + brunir_V : V ; + emergir_V : V ; + empedernir_V : V ; + exaurir_V : V ; + extorquir_V : V ; + fremir_V : V ; + fulgir_V : V ; + jungir_V : V ; + retorquir_V : V ; + submergir_V : V ; + ungir_V : V ; + colorir_V : V ; + demolir_V : V ; + ir_V : V ; + jazer_V : V ; + ler_V : V ; + reler_V : V ; + tresler_V : V ; + moer_V : V ; + roer_V : V ; + neviscar_V : V ; + odiar_V : V ; + ansiar_V : V ; + incendiar_V : V ; + mediar_V : V ; + remediar_V : V ; + ouvir_V : V ; + pedir_V : V ; + despedir_V : V ; + expedir_V : V ; + reexpedir_V : V ; + impedir_V : V ; + desimpedir_V : V ; + medir_V : V ; + perder_V : V ; + perdoar_V : V ; + abalroar_V : V ; + abençoar_V : V ; + amaldiçoar_V : V ; + aperfeiçoar_V : V ; + apregoar_V : V ; + coar_V : V ; + doar_V : V ; + entoar_V : V ; + esboroar_V : V ; + povoar_V : V ; + soar_V : V ; + toar_V : V ; + voar_V : V ; + poder_V : V ; + polir_V : V ; + pôr_V : V ; + apor_V : V ; + compor_V : V ; + contrapor_V : V ; + decompor_V : V ; + descompor_V : V ; + dispor_V : V ; + expor_V : V ; + impor_V : V ; + opor_V : V ; + propor_V : V ; + repor_V : V ; + supor_V : V ; + prazer_V : V ; + precaver_V : V ; + preferir_V : V ; + aderir_V : V ; + aferir_V : V ; + conferir_V : V ; + deferir_V : V ; + diferir_V : V ; + digerir_V : V ; + ferir_V : V ; + inferir_V : V ; + inserir_V : V ; + proferir_V : V ; + referir_V : V ; + repelir_V : V ; + repetir_V : V ; + sugerir_V : V ; + transferir_V : V ; + proibir_V : V ; + coibir_V : V ; + proteger_V : V ; + eleger_V : V ; + reger_V : V ; + prover_V : V ; + querer_V : V ; + reaver_V : V ; + recear_V : V ; + acarear_V : V ; + afear_V : V ; + altear_V : V ; + apear_V : V ; + arquear_V : V ; + asnear_V : V ; + costear_V : V ; + custear_V : V ; + enfrear_V : V ; + frear_V : V ; + olear_V : V ; + passear_V : V ; + pear_V : V ; + pentear_V : V ; + pratear_V : V ; + presentear_V : V ; + recrear_V : V ; + saborear_V : V ; + sofrear_V : V ; + redigir_V : V ; + afligir_V : V ; + agir_V : V ; + coligir_V : V ; + corrigir_V : V ; + erigir_V : V ; + exigir_V : V ; + fingir_V : V ; + frangir_V : V ; + infligir_V : V ; + transigir_V : V ; + refletir_V : V ; + fletir_V : V ; + defletir_V : V ; + infletir_V : V ; + remir_V : V ; + requerer_V : V ; + reunir_V : V ; + rir_V : V ; + sorrir_V : V ; + saber_V : V ; + dessaber_V : V ; + sair_V : V ; + cair_V : V ; + decair_V : V ; + descair_V : V ; + recair_V : V ; + trair_V : V ; + atrair_V : V ; + contrair_V : V ; + distrair_V : V ; + extrair_V : V ; + protrair_V : V ; + retrair_V : V ; + subtrair_V : V ; + saudar_V : V ; + seguir_V : V ; + conseguir_V : V ; + perseguir_V : V ; + prosseguir_V : V ; + sentir_V : V ; + assentir_V : V ; + consentir_V : V ; + pressentir_V : V ; + ressentir_V : V ; + mentir_V : V ; + desmentir_V : V ; + ser_V : V ; + servir_V : V ; + concernir_V : V ; + discernir_V : V ; + cerzir_V : V ; + despir_V : V ; + vestir_V : V ; + investir_V : V ; + revestir_V : V ; + ter_V : V ; + conter_V : V ; + deter_V : V ; + entreter_V : V ; + reter_V : V ; + suster_V : V ; + traduzir_V : V ; + abduzir_V : V ; + aduzir_V : V ; + conduzir_V : V ; + deduzir_V : V ; + induzir_V : V ; + introduzir_V : V ; + luzir_V : V ; + perluzir_V : V ; + produzir_V : V ; + reduzir_V : V ; + reluzir_V : V ; + seduzir_V : V ; + trazer_V : V ; + valer_V : V ; + desvaler_V : V ; + equivaler_V : V ; + vender_V : V ; + ver_V : V ; + antever_V : V ; + entrever_V : V ; + prever_V : V ; + rever_V : V ; + vir_V : V ; + advir_V : V ; + convir_V : V ; + desavir_V : V ; + intervir_V : V ; + porvir_V : V ; + sobrevir_V : V ; + +} ; \ No newline at end of file diff --git a/src/portuguese/IrregPor.gf b/src/portuguese/IrregPor.gf index 82cf0d562..71ba38dfd 100644 --- a/src/portuguese/IrregPor.gf +++ b/src/portuguese/IrregPor.gf @@ -1,14 +1,9 @@ --# -path=.:../romance:../abstract:../common:../prelude --- machine-generated GF file from Andersson & Söderberg's MSc work - concrete IrregPor of IrregPorAbs = CatPor ** - open (C=CommonRomance), ParadigmsPor, BeschPor in { + open ParadigmsPor, BeschPor in { flags optimize=values ; coding=utf8 ; - lin estar_V = mkV (estar_10 "estar") ; - lin fazer_V = mkV (fazer_31 "fazer") ; - } diff --git a/src/portuguese/IrregPorAbs.gf b/src/portuguese/IrregPorAbs.gf index c3a38b68e..1069d9d0a 100644 --- a/src/portuguese/IrregPorAbs.gf +++ b/src/portuguese/IrregPorAbs.gf @@ -1,6 +1,4 @@ abstract IrregPorAbs = Cat ** { flags coding=utf8 ; - fun estar_V : V ; - fun fazer_V : V ; } diff --git a/src/portuguese/IrregSpaPor.gf b/src/portuguese/IrregSpaPor.gf deleted file mode 100644 index 3656dd46c..000000000 --- a/src/portuguese/IrregSpaPor.gf +++ /dev/null @@ -1,1093 +0,0 @@ -abstract IrregPorAbs = Cat ** { - flags coding=utf8 ; - fun abarse_V : V ; - fun abastecer_V : V ; - fun abeldar_V : V ; - fun aberrar_V : V ; - fun ablandecer_V : V ; - fun abnegar_V : V ; - fun abolir_V : V ; - fun aborrecer_V : V ; - fun abravecer_V : V ; - fun abrir_V : V ; - fun absolver_V : V ; - fun abstener_V : V ; - fun absterger_V : V ; - fun absterger2_V : V ; - fun abstraer_V : V ; - fun abuñolar_V : V ; - fun acaecer2_V : V ; - fun acaecer_V : V ; - fun acertar_V : V ; - fun aclarecer_V : V ; - fun acoger_V : V ; - fun acoger2_V : V ; - fun acollar_V : V ; - fun acomedirse_V : V ; - fun acontecer2_V : V ; - fun acontecer_V : V ; - fun acordar_V : V ; - fun acornar_V : V ; - fun acostar_V : V ; - fun acrecentar_V : V ; - fun acrecer_V : V ; - fun adestrar_V : V ; - fun adherir_V : V ; - fun adir_V : V ; - fun adolecer_V : V ; - fun adormecer_V : V ; - fun adormir_V : V ; - fun adquirir_V : V ; - fun adscribir_V : V ; - fun adstringir_V : V ; - fun aducir_V : V ; - fun advenir_V : V ; - fun advertir_V : V ; - fun aferrar_V : V ; - fun afligir_V : V ; - fun afluir_V : V ; - fun afollar_V : V ; - fun aforar_V : V ; - fun agradecer_V : V ; - fun agredir_V : V ; - fun aguerrir_V : V ; - fun ahincar_V : V ; - fun albeldar_V : V ; - fun alentar_V : V ; - fun aliquebrar_V : V ; - fun almorzar_V : V ; - fun alongar_V : V ; - fun aloquecerse_V : V ; - fun altivecer_V : V ; - fun amanecer_V : V ; - fun amarecer_V : V ; - fun amarillecer_V : V ; - fun amoblar_V : V ; - fun amohecer_V : V ; - fun amolar_V : V ; - fun amorecer_V : V ; - fun amortecer_V : V ; - fun amover_V : V ; - fun andar_V : V ; - fun anochecer_V : V ; - fun antecoger_V : V ; - fun antecoger2_V : V ; - fun antedecir_V : V ; - fun anteponer_V : V ; - fun antevenir_V : V ; - fun antever_V : V ; - fun anzolar_V : V ; - fun apacentar_V : V ; - fun aparecer_V : V ; - fun apercollar_V : V ; - fun apergollar_V : V ; - fun apernar_V : V ; - fun apescoliar_V : V ; - fun apetecer_V : V ; - fun aplacer2_V : V ; - fun aplacer_V : V ; - fun aponer_V : V ; - fun apostar_V : V ; - fun apretar_V : V ; - fun aprevenir_V : V ; - fun aprobar_V : V ; - fun arbolecer_V : V ; - fun arborecer_V : V ; - fun arcaizar_V : V ; - fun argüir_V : V ; - fun aridecer_V : V ; - fun arrecir_V : V ; - fun arrendar_V : V ; - fun arrusticar_V : V ; - fun ascender_V : V ; - fun asentar_V : V ; - fun asentir_V : V ; - fun aserrar_V : V ; - fun asestar_V : V ; - fun asestar2_V : V ; - fun asir_V : V ; - fun asolar_V : V ; - fun asoldar_V : V ; - fun asonar_V : V ; - fun aspaventar_V : V ; - fun asperger_V : V ; - fun asperger2_V : V ; - fun astreñir_V : V ; - fun astriñir_V : V ; - fun astringir_V : V ; - fun atardecer_V : V ; - fun atender_V : V ; - fun aterir_V : V ; - fun aterrar_V : V ; - fun atestar_V : V ; - fun atorar_V : V ; - fun atraer_V : V ; - fun atravesar_V : V ; - fun atribuir_V : V ; - fun atronar_V : V ; - fun avanecerse_V : V ; - fun avenir_V : V ; - fun aventar_V : V ; - fun avergonzar_V : V ; - fun azolar_V : V ; - fun beldar_V : V ; - fun bendecir_V : V ; - fun bienquerer_V : V ; - fun blandir_V : V ; - fun blanquecer_V : V ; - fun bruñir_V : V ; - fun bullir_V : V ; - fun caber_V : V ; - fun caer_V : V ; - fun calecer_V : V ; - fun calentar_V : V ; - fun canecerse_V : V ; - fun carecer_V : V ; - fun cegar_V : V ; - fun ceñir_V : V ; - fun cerner_V : V ; - fun cernir_V : V ; - fun cerrar_V : V ; - fun cimentar_V : V ; - fun circuir_V : V ; - fun circunferir_V : V ; - fun circunscribir_V : V ; - fun circunvolar_V : V ; - fun clarecer_V : V ; - fun clocar_V : V ; - fun coadquirir_V : V ; - fun cocer_V : V ; - fun coercer_V : V ; - fun coextenderse_V : V ; - fun coger_V : V ; - fun coger2_V : V ; - fun cohibir_V : V ; - fun colar_V : V ; - fun colegir_V : V ; - fun colgar_V : V ; - fun colicuecer_V : V ; - fun colorir_V : V ; - fun comedirse_V : V ; - fun comenzar_V : V ; - fun compadecer_V : V ; - fun comparecer_V : V ; - fun competir_V : V ; - fun complacer_V : V ; - fun componer_V : V ; - fun comprobar_V : V ; - fun compungir_V : V ; - fun concebir_V : V ; - fun concernir_V : V ; - fun concernir2_V : V ; - fun concertar_V : V ; - fun concluir_V : V ; - fun concordar_V : V ; - fun condecender_V : V ; - fun condecir_V : V ; - fun condescender_V : V ; - fun condolecerse_V : V ; - fun condolerse_V : V ; - fun conducir_V : V ; - fun conferir_V : V ; - fun confesar_V : V ; - fun confluir_V : V ; - fun conmover_V : V ; - fun conocer_V : V ; - fun conseguir_V : V ; - fun consentir_V : V ; - fun consolar_V : V ; - fun consonar_V : V ; - fun constituir_V : V ; - fun constreñir_V : V ; - fun construir_V : V ; - fun contar_V : V ; - fun contender_V : V ; - fun contener_V : V ; - fun contradecir_V : V ; - fun contraer_V : V ; - fun contrahacer_V : V ; - fun contramanifestar_V : V ; - fun contraponer_V : V ; - fun contravenir_V : V ; - fun contribuir_V : V ; - fun controvertir_V : V ; - fun convalecer_V : V ; - fun convencer_V : V ; - fun convenir_V : V ; - fun converger_V : V ; - fun converger2_V : V ; - fun convergir_V : V ; - fun convertir_V : V ; - fun coproducir_V : V ; - fun corregir_V : V ; - fun corroer_V : V ; - fun costar_V : V ; - fun crecer_V : V ; - fun creer_V : V ; - fun cubrir_V : V ; - fun dar_V : V ; - fun decaer_V : V ; - fun decentar_V : V ; - fun decir_V : V ; - fun decrecer_V : V ; - fun deducir_V : V ; - fun defender_V : V ; - fun deferir_V : V ; - fun degollar_V : V ; - fun delinquir_V : V ; - fun demoler_V : V ; - fun demostrar_V : V ; - fun denegar_V : V ; - fun denegrir_V : V ; - fun denostar_V : V ; - fun dentar_V : V ; - fun deponer_V : V ; - fun derrelinquir_V : V ; - fun derrenegar_V : V ; - fun derrengar_V : V ; - fun derretir_V : V ; - fun derruir_V : V ; - fun desabastecer_V : V ; - fun desacertar_V : V ; - fun desacollar_V : V ; - fun desacordar_V : V ; - fun desadormecer_V : V ; - fun desadvertir_V : V ; - fun desaferrar_V : V ; - fun desaforar_V : V ; - fun desagradecer_V : V ; - fun desalentar_V : V ; - fun desamoblar_V : V ; - fun desandar_V : V ; - fun desaparecer_V : V ; - fun desapretar_V : V ; - fun desaprobar_V : V ; - fun desarrendar_V : V ; - fun desasentar_V : V ; - fun desasir_V : V ; - fun desasosegar_V : V ; - fun desatender_V : V ; - fun desatentar_V : V ; - fun desaterrar_V : V ; - fun desavenir_V : V ; - fun desbravecer_V : V ; - fun descabullirse_V : V ; - fun descaecer_V : V ; - fun descaer_V : V ; - fun desceñir_V : V ; - fun descender_V : V ; - fun descerrar_V : V ; - fun descimentar_V : V ; - fun descocer_V : V ; - fun descoger_V : V ; - fun descoger2_V : V ; - fun descolgar_V : V ; - fun descollar_V : V ; - fun descolorir_V : V ; - fun descomedirse_V : V ; - fun descomponer_V : V ; - fun desconcertar_V : V ; - fun desconocer_V : V ; - fun desconsentir_V : V ; - fun desconsolar_V : V ; - fun descontar_V : V ; - fun desconvenir_V : V ; - fun descordar_V : V ; - fun descornar_V : V ; - fun descreer_V : V ; - fun describir_V : V ; - fun descubrir_V : V ; - fun desdecir_V : V ; - fun desdentar_V : V ; - fun desembebecerse_V : V ; - fun desembravecer_V : V ; - fun desempedrar_V : V ; - fun desencerrar_V : V ; - fun desencoger_V : V ; - fun desencoger2_V : V ; - fun desencordar_V : V ; - fun desencovar_V : V ; - fun desenfurecer_V : V ; - fun desengrosar_V : V ; - fun desenmohecer_V : V ; - fun desenmudecer_V : V ; - fun desenrudecer_V : V ; - fun desensoberbecer_V : V ; - fun desentenderse_V : V ; - fun desenterrar_V : V ; - fun desentorpecer_V : V ; - fun desentumecer_V : V ; - fun desenvolver_V : V ; - fun deservir_V : V ; - fun desfallecer_V : V ; - fun desfavorecer_V : V ; - fun desflorecer_V : V ; - fun desfortalecer_V : V ; - fun desfruncir_V : V ; - fun desgobernar_V : V ; - fun desguarnecer_V : V ; - fun deshacer_V : V ; - fun deshelar_V : V ; - fun desherbar_V : V ; - fun desherrar_V : V ; - fun deshumedecer_V : V ; - fun desimponer_V : V ; - fun desinvernar_V : V ; - fun deslendrar_V : V ; - fun desleír_V : V ; - fun deslucir_V : V ; - fun desmajolar_V : V ; - fun desmedirse_V : V ; - fun desmelar_V : V ; - fun desmembrar_V : V ; - fun desmentir_V : V ; - fun desmerecer_V : V ; - fun desmullir_V : V ; - fun desobedecer_V : V ; - fun desobstruir_V : V ; - fun desolar_V : V ; - fun desoldar_V : V ; - fun desollar_V : V ; - fun desoír_V : V ; - fun desosar_V : V ; - fun desosegar_V : V ; - fun desparecer_V : V ; - fun despedir_V : V ; - fun despedrar_V : V ; - fun desperecerse_V : V ; - fun despernar_V : V ; - fun despertar_V : V ; - fun despezar_V : V ; - fun desplacer_V : V ; - fun desplegar_V : V ; - fun despoblar_V : V ; - fun desposeer_V : V ; - fun desproveer_V : V ; - fun desquerer_V : V ; - fun desraizar_V : V ; - fun desteñir_V : V ; - fun destentar_V : V ; - fun desterrar_V : V ; - fun destituir_V : V ; - fun destorcer_V : V ; - fun destruir_V : V ; - fun desuncir_V : V ; - fun desvanecer_V : V ; - fun desventar_V : V ; - fun desvestir_V : V ; - fun desvolver_V : V ; - fun detener_V : V ; - fun deterger_V : V ; - fun deterger2_V : V ; - fun detraer_V : V ; - fun devenir_V : V ; - fun devolver_V : V ; - fun dezmar_V : V ; - fun diferir_V : V ; - fun difluir_V : V ; - fun digerir_V : V ; - fun diluir_V : V ; - fun diminuir_V : V ; - fun dirigir_V : V ; - fun discernir_V : V ; - fun discontar_V : V ; - fun disconvenir_V : V ; - fun discordar_V : V ; - fun disentir_V : V ; - fun disminuir_V : V ; - fun disolver_V : V ; - fun disonar_V : V ; - fun displacer_V : V ; - fun disponer_V : V ; - fun distender_V : V ; - fun distinguir_V : V ; - fun distraer_V : V ; - fun distribuir_V : V ; - fun divergir_V : V ; - fun divertir_V : V ; - fun dolar_V : V ; - fun doler_V : V ; - fun dormir_V : V ; - fun eflorecerse_V : V ; - fun efluir_V : V ; - fun ejercer_V : V ; - fun elegir_V : V ; - fun embarbecer_V : V ; - fun embastecer_V : V ; - fun embebecer_V : V ; - fun embellaquecerse_V : V ; - fun embellecer_V : V ; - fun embermejecer_V : V ; - fun embestir_V : V ; - fun emblandecer_V : V ; - fun emblanquecer_V : V ; - fun embobecer_V : V ; - fun embosquecer_V : V ; - fun embravecer_V : V ; - fun embrutecer_V : V ; - fun emerger_V : V ; - fun emerger2_V : V ; - fun empajolar_V : V ; - fun empalidecer_V : V ; - fun emparentar_V : V ; - fun empavorecer_V : V ; - fun empecer_V : V ; - fun empedernir_V : V ; - fun empedrar_V : V ; - fun empeller_V : V ; - fun empequehecer_V : V ; - fun empezar_V : V ; - fun emplastecer_V : V ; - fun emplebeyecer_V : V ; - fun emplumecer_V : V ; - fun empobrecer_V : V ; - fun empodrecer_V : V ; - fun empoltronecerse_V : V ; - fun emporcar_V : V ; - fun empretecer_V : V ; - fun emputecer_V : V ; - fun enaltecer_V : V ; - fun enamarillecer_V : V ; - fun enardecer_V : V ; - fun encabellecerse_V : V ; - fun encallecer_V : V ; - fun encalvecer_V : V ; - fun encandecer_V : V ; - fun encanecer_V : V ; - fun encarecer_V : V ; - fun encarnecer_V : V ; - fun enceguecer_V : V ; - fun encender_V : V ; - fun encentar_V : V ; - fun encerrar_V : V ; - fun enclocar_V : V ; - fun encloquecer_V : V ; - fun encoger_V : V ; - fun encoger2_V : V ; - fun encomendar_V : V ; - fun encontrar_V : V ; - fun encorar_V : V ; - fun encordar_V : V ; - fun encorecer_V : V ; - fun encovar_V : V ; - fun encrudecer_V : V ; - fun encruelecer_V : V ; - fun encubertar_V : V ; - fun encubrir_V : V ; - fun endentar_V : V ; - fun endentecer_V : V ; - fun endurecer_V : V ; - fun enflaquecer_V : V ; - fun enflorecer_V : V ; - fun enfranquecer_V : V ; - fun enfurecer_V : V ; - fun engorar_V : V ; - fun engrandecer_V : V ; - fun engravecer_V : V ; - fun engreír_V : V ; - fun engrosar_V : V ; - fun engrumecerse_V : V ; - fun engullir_V : V ; - fun enhestar_V : V ; - fun enlenzar_V : V ; - fun enllentecer_V : V ; - fun enlobreguecer_V : V ; - fun enloquecer_V : V ; - fun enlucir_V : V ; - fun enlustrecer_V : V ; - fun enmagrecer_V : V ; - fun enmalecer_V : V ; - fun enmarillecerse_V : V ; - fun enmelar_V : V ; - fun enmendar_V : V ; - fun enmohecer_V : V ; - fun enmollecer_V : V ; - fun enmudecer_V : V ; - fun ennegrecer_V : V ; - fun ennoblecer_V : V ; - fun ennudecer_V : V ; - fun enorgullecer_V : V ; - fun enraizar_V : V ; - fun enralecer_V : V ; - fun enrarecer_V : V ; - fun enrigidecer_V : V ; - fun enriquecer_V : V ; - fun enrocar_V : V ; - fun enrodar_V : V ; - fun enrojecer_V : V ; - fun enronquecer_V : V ; - fun enrudecer_V : V ; - fun enruinecer_V : V ; - fun ensandecer_V : V ; - fun ensangrentar_V : V ; - fun ensarmentar_V : V ; - fun ensarnecer_V : V ; - fun ensilvecerse_V : V ; - fun ensoñar_V : V ; - fun ensoberbecer_V : V ; - fun ensolver_V : V ; - fun ensombrecer_V : V ; - fun ensordecer_V : V ; - fun entallecer_V : V ; - fun entender_V : V ; - fun entenebrecer_V : V ; - fun enternecer_V : V ; - fun enterrar_V : V ; - fun entesar_V : V ; - fun entestecer_V : V ; - fun entigrecerse_V : V ; - fun entontecer_V : V ; - fun entorpecer_V : V ; - fun entortar_V : V ; - fun entreabrir_V : V ; - fun entrecerrar_V : V ; - fun entrecoger_V : V ; - fun entrecoger2_V : V ; - fun entredecir_V : V ; - fun entrelucir_V : V ; - fun entreoír_V : V ; - fun entreparecerse_V : V ; - fun entrepernar_V : V ; - fun entretener_V : V ; - fun entrever_V : V ; - fun entristecer_V : V ; - fun entullecer_V : V ; - fun entumecer_V : V ; - fun envaguecer_V : V ; - fun envanecer_V : V ; - fun envejecer_V : V ; - fun enverdecer_V : V ; - fun envestir_V : V ; - fun envolver_V : V ; - fun enzurdecer_V : V ; - fun equivaler_V : V ; - fun erguir_V : V ; - fun erigir_V : V ; - fun errar_V : V ; - fun escabullirse_V : V ; - fun escaecer_V : V ; - fun escalfecerse_V : V ; - fun escarmentar_V : V ; - fun escarnecer_V : V ; - fun esclarecer_V : V ; - fun escocer_V : V ; - fun escoger_V : V ; - fun escoger2_V : V ; - fun escolar_V : V ; - fun escribir_V : V ; - fun esforzar_V : V ; - fun esmorecer_V : V ; - fun esmuir_V : V ; - fun establecer_V : V ; - fun estarcir_V : V ; - fun estar_V : V ; - fun estatuir_V : V ; - fun estregar_V : V ; - fun estreñir_V : V ; - fun estremecer_V : V ; - fun europeizar_V : V ; - fun evanecer_V : V ; - fun evanescer_V : V ; - fun excandecer_V : V ; - fun excluir_V : V ; - fun exigir_V : V ; - fun expedir_V : V ; - fun exponer_V : V ; - fun extender_V : V ; - fun extinguir_V : V ; - fun extraer_V : V ; - fun fallecer_V : V ; - fun fallir_V : V ; - fun favorecer_V : V ; - fun fenecer_V : V ; - fun ferrar_V : V ; - fun fingir_V : V ; - fun florecer_V : V ; - fun fluir_V : V ; - fun follar_V : V ; - fun fortalecer_V : V ; - fun forzar_V : V ; - fun fosforecer_V : V ; - fun fosforescer_V : V ; - fun fotocomponer_V : V ; - fun frangir_V : V ; - fun fregar_V : V ; - fun freír_V : V ; - fun fruir_V : V ; - fun fruncir_V : V ; - fun frutecer_V : V ; - fun fulgir_V : V ; - fun fungir_V : V ; - fun gañir_V : V ; - fun garantir_V : V ; - fun gemir_V : V ; - fun gernir_V : V ; - fun gobernar_V : V ; - fun grandisonar_V : V ; - fun gruñir_V : V ; - fun gruir_V : V ; - fun guañir_V : V ; - fun guarecer_V : V ; - fun guarnecer_V : V ; - fun haber_V : V ; - fun hacendar_V : V ; - fun hacer_V : V ; - fun hebraizar_V : V ; - fun heder_V : V ; - fun heñir_V : V ; - fun helar_V : V ; - fun henchir_V : V ; - fun hender_V : V ; - fun hendir_V : V ; - fun herbar_V : V ; - fun herbecer_V : V ; - fun herir_V : V ; - fun hermanecer_V : V ; - fun herrar_V : V ; - fun herventar_V : V ; - fun hervir_V : V ; - fun holgar_V : V ; - fun holiar_V : V ; - fun huir_V : V ; - fun humedecer_V : V ; - fun imbuir_V : V ; - fun impedir_V : V ; - fun imponer_V : V ; - fun imprimir_V : V ; - fun improbar_V : V ; - fun incensar_V : V ; - fun incluir_V : V ; - fun indisponer_V : V ; - fun inducir_V : V ; - fun inferir_V : V ; - fun infernar_V : V ; - fun infligir_V : V ; - fun influir_V : V ; - fun infringir_V : V ; - fun ingerir_V : V ; - fun injerir_V : V ; - fun inmergir_V : V ; - fun inmiscuir_V : V ; - fun inquirir_V : V ; - fun inscribir_V : V ; - fun inserir_V : V ; - fun instituir_V : V ; - fun instruir_V : V ; - fun interferir_V : V ; - fun interponer_V : V ; - fun intervenir_V : V ; - fun introducir_V : V ; - fun intuir_V : V ; - fun invernar_V : V ; - fun invertir_V : V ; - fun investir_V : V ; - fun irruir_V : V ; - fun ir_V : V ; - fun jamerdar_V : V ; - fun jimenzar_V : V ; - fun judaizar_V : V ; - fun jugar_V : V ; - fun juñir_V : V ; - fun languidecer_V : V ; - fun leer_V : V ; - fun licuefacer_V : V ; - fun lividecer_V : V ; - fun llover_V : V ; - fun lobreguecer_V : V ; - fun lucir_V : V ; - fun luir_V : V ; - fun malentender_V : V ; - fun malherir_V : V ; - fun malquerer_V : V ; - fun maltraer_V : V ; - fun mancornar_V : V ; - fun manifestar_V : V ; - fun manir_V : V ; - fun mantener_V : V ; - fun manuscribir_V : V ; - fun manutener_V : V ; - fun mecer_V : V ; - fun medir_V : V ; - fun melar_V : V ; - fun mentar_V : V ; - fun mentir_V : V ; - fun merecer_V : V ; - fun merendar_V : V ; - fun moblar_V : V ; - fun mohecer_V : V ; - fun moler_V : V ; - fun morder_V : V ; - fun morir_V : V ; - fun mostrar_V : V ; - fun mover_V : V ; - fun mugir_V : V ; - fun muñir_V : V ; - fun mullir_V : V ; - fun nacer_V : V ; - fun negar_V : V ; - fun negrecer_V : V ; - fun nevar_V : V ; - fun obedecer_V : V ; - fun obscurecer_V : V ; - fun obstruir_V : V ; - fun obtener_V : V ; - fun ocluir_V : V ; - fun ofrecer_V : V ; - fun oler_V : V ; - fun oponer_V : V ; - fun oír_V : V ; - fun oscurecer_V : V ; - fun pacer_V : V ; - fun padecer_V : V ; - fun palidecer_V : V ; - fun parecer_V : V ; - fun patiquebrar_V : V ; - fun pedir_V : V ; - fun pensar_V : V ; - fun percollar_V : V ; - fun perder_V : V ; - fun perecer_V : V ; - fun permanecer_V : V ; - fun perniquebrar_V : V ; - fun perquirir_V : V ; - fun perseguir_V : V ; - fun pertenecer_V : V ; - fun pervertir_V : V ; - fun pimpollecer_V : V ; - fun placer_V : V ; - fun plañir_V : V ; - fun plastecer_V : V ; - fun plegar_V : V ; - fun poblar_V : V ; - fun poder_V : V ; - fun poner_V : V ; - fun poseer_V : V ; - fun posponer_V : V ; - fun preconcebir_V : V ; - fun preconocer_V : V ; - fun predecir_V : V ; - fun predisponer_V : V ; - fun preelegir_V : V ; - fun preestablecer_V : V ; - fun preferir_V : V ; - fun prelucir_V : V ; - fun premorir_V : V ; - fun premostrar_V : V ; - fun prender_V : V ; - fun preponer_V : V ; - fun prescribir_V : V ; - fun presentir_V : V ; - fun presuponer_V : V ; - fun preterir_V : V ; - fun prevalecer_V : V ; - fun prevaler_V : V ; - fun prevenir_V : V ; - fun prever_V : V ; - fun probar_V : V ; - fun producir_V : V ; - fun proferir_V : V ; - fun prohibir_V : V ; - fun promover_V : V ; - fun proponer_V : V ; - fun proscribir_V : V ; - fun proseguir_V : V ; - fun prostituir_V : V ; - fun proteger_V : V ; - fun proteger2_V : V ; - fun proveer_V : V ; - fun provenir_V : V ; - fun pudrir_V : V ; - fun pungir_V : V ; - fun quebrar_V : V ; - fun querer_V : V ; - fun radiodirigir_V : V ; - fun raer_V : V ; - fun rarefacer_V : V ; - fun reabrir_V : V ; - fun reaparecer_V : V ; - fun reapretar_V : V ; - fun reargüir_V : V ; - fun reaventar_V : V ; - fun reblandecer_V : V ; - fun rebullir_V : V ; - fun recaer_V : V ; - fun recalentar_V : V ; - fun receñir_V : V ; - fun recentar_V : V ; - fun recluir_V : V ; - fun recocer_V : V ; - fun recoger_V : V ; - fun recoger2_V : V ; - fun recolar_V : V ; - fun recolegir_V : V ; - fun recomendar_V : V ; - fun recomenzar_V : V ; - fun recomponer_V : V ; - fun reconducir_V : V ; - fun reconocer_V : V ; - fun reconstituir_V : V ; - fun reconstruir_V : V ; - fun recontar_V : V ; - fun reconvalecer_V : V ; - fun reconvenir_V : V ; - fun reconvertir_V : V ; - fun recordar_V : V ; - fun recostar_V : V ; - fun recrecer_V : V ; - fun recrudecer_V : V ; - fun redargüir_V : V ; - fun redecir_V : V ; - fun redescontar_V : V ; - fun redistribuir_V : V ; - fun reducir_V : V ; - fun reelegir_V : V ; - fun reencontrar_V : V ; - fun reexpedir_V : V ; - fun referir_V : V ; - fun reflorecer_V : V ; - fun refluir_V : V ; - fun reforzar_V : V ; - fun refregar_V : V ; - fun refreír_V : V ; - fun refringir_V : V ; - fun refulgir_V : V ; - fun regañir_V : V ; - fun regar_V : V ; - fun regimentar_V : V ; - fun regir_V : V ; - fun regoldar_V : V ; - fun regruñir_V : V ; - fun reguarnecer_V : V ; - fun rehacer_V : V ; - fun rehenchir_V : V ; - fun reherir_V : V ; - fun reherrar_V : V ; - fun rehervir_V : V ; - fun rehollar_V : V ; - fun rehuir_V : V ; - fun rehumedecer_V : V ; - fun reinscribir_V : V ; - fun reñir_V : V ; - fun rejuvenecer_V : V ; - fun releer_V : V ; - fun relentecer_V : V ; - fun relucir_V : V ; - fun remanecer_V : V ; - fun remecer_V : V ; - fun remedir_V : V ; - fun remembrar_V : V ; - fun remendar_V : V ; - fun remolar_V : V ; - fun remoler_V : V ; - fun remostecerse_V : V ; - fun remover_V : V ; - fun remullir_V : V ; - fun renacer_V : V ; - fun rencontrar_V : V ; - fun rendir_V : V ; - fun renegar_V : V ; - fun renovar_V : V ; - fun repacer_V : V ; - fun repensar_V : V ; - fun repetir_V : V ; - fun replegar_V : V ; - fun repoblar_V : V ; - fun reponer_V : V ; - fun reprobar_V : V ; - fun reproducir_V : V ; - fun requebrar_V : V ; - fun requerir_V : V ; - fun rernorder_V : V ; - fun reír_V : V ; - fun resaber_V : V ; - fun resalir_V : V ; - fun resarcir_V : V ; - fun rescontrar_V : V ; - fun rescribir_V : V ; - fun resegar_V : V ; - fun reseguir_V : V ; - fun resolgar_V : V ; - fun resollar_V : V ; - fun resolver_V : V ; - fun resonar_V : V ; - fun resplandecer_V : V ; - fun resquebrar_V : V ; - fun restablecer_V : V ; - fun restituir_V : V ; - fun restregar_V : V ; - fun restriñir_V : V ; - fun restringir_V : V ; - fun resurgir_V : V ; - fun retallecer_V : V ; - fun reteñir_V : V ; - fun retemblar_V : V ; - fun retener_V : V ; - fun retentar_V : V ; - fun retiñir_V : V ; - fun retoñecer_V : V ; - fun retorcer_V : V ; - fun retostar_V : V ; - fun retraducir_V : V ; - fun retraer_V : V ; - fun retribuir_V : V ; - fun retronar_V : V ; - fun retrotraer_V : V ; - fun reunir_V : V ; - fun revejecer_V : V ; - fun revenir_V : V ; - fun reventar_V : V ; - fun reverdecer_V : V ; - fun reverter_V : V ; - fun revertir_V : V ; - fun rever_V : V ; - fun revestir_V : V ; - fun revolar_V : V ; - fun revolcar_V : V ; - fun revolver_V : V ; - fun rezurcir_V : V ; - fun robustecer_V : V ; - fun rodar_V : V ; - fun roer_V : V ; - fun rogar_V : V ; - fun romper_V : V ; - fun rugir_V : V ; - fun rusentar_V : V ; - fun saber_V : V ; - fun salir_V : V ; - fun salpimentar_V : V ; - fun salpullir_V : V ; - fun sarmentar_V : V ; - fun sarpullir_V : V ; - fun satisfacer_V : V ; - fun seducir_V : V ; - fun segar_V : V ; - fun seguir_V : V ; - fun sembrar_V : V ; - fun sementar_V : V ; - fun sentar_V : V ; - fun sentir_V : V ; - fun serrar_V : V ; - fun servir_V : V ; - fun ser_V : V ; - fun soñar_V : V ; - fun sobrecalentar_V : V ; - fun sobrecoger_V : V ; - fun sobrecoger2_V : V ; - fun sobrecrecer_V : V ; - fun sobreentender_V : V ; - fun sobreexponer_V : V ; - fun sobrentender_V : V ; - fun sobreponer_V : V ; - fun sobresalir_V : V ; - fun sobrescribir_V : V ; - fun sobreseer_V : V ; - fun sobresembrar_V : V ; - fun sobresolar_V : V ; - fun sobrevenir_V : V ; - fun sobreverterse_V : V ; - fun sobrevestir_V : V ; - fun sobrevolar_V : V ; - fun socolar_V : V ; - fun sofreír_V : V ; - fun solar_V : V ; - fun soldar_V : V ; - fun soler_V : V ; - fun soltar_V : V ; - fun sonar_V : V ; - fun sonreír_V : V ; - fun sorregar_V : V ; - fun sosegar_V : V ; - fun sostener_V : V ; - fun soterrar_V : V ; - fun subarrendar_V : V ; - fun subdistinguir_V : V ; - fun subentender_V : V ; - fun subexponer_V : V ; - fun subscribir_V : V ; - fun subseguir_V : V ; - fun subsolar_V : V ; - fun substituir_V : V ; - fun substraer_V : V ; - fun subtender_V : V ; - fun subvenir_V : V ; - fun subvertir_V : V ; - fun subyacer_V : V ; - fun sugerir_V : V ; - fun sumergir_V : V ; - fun superentender_V : V ; - fun superponer_V : V ; - fun supervenir_V : V ; - fun suponer_V : V ; - fun surgir_V : V ; - fun suscribir_V : V ; - fun sustituir_V : V ; - fun sustraer_V : V ; - fun tañer_V : V ; - fun tallecer_V : V ; - fun tardecer_V : V ; - fun teñir_V : V ; - fun telecomponer_V : V ; - fun teledirigir_V : V ; - fun temblar_V : V ; - fun tender_V : V ; - fun tener_V : V ; - fun tentar_V : V ; - fun tonar_V : V ; - fun torcer_V : V ; - fun tostar_V : V ; - fun traducir_V : V ; - fun traer_V : V ; - fun transcender_V : V ; - fun transcribir_V : V ; - fun transferir_V : V ; - fun transgredir_V : V ; - fun transigir_V : V ; - fun translucirse_V : V ; - fun transponer_V : V ; - fun trascender_V : V ; - fun trascolar_V : V ; - fun trascribir_V : V ; - fun trasegar_V : V ; - fun trasferir_V : V ; - fun trasfregar_V : V ; - fun trasgredir_V : V ; - fun traslucir_V : V ; - fun trasoñar_V : V ; - fun trasoír_V : V ; - fun trasparecer_V : V ; - fun trasponer_V : V ; - fun trastrocar_V : V ; - fun trasverter_V : V ; - fun trasver_V : V ; - fun travestir_V : V ; - fun trocar_V : V ; - fun tronar_V : V ; - fun tropezar_V : V ; - fun tullecer_V : V ; - fun tullir_V : V ; - fun tumefacer_V : V ; - fun uncir_V : V ; - fun ungir_V : V ; - fun unisonar_V : V ; - fun urgir_V : V ; - fun usucapir_V : V ; - fun valer_V : V ; - fun vencer_V : V ; - fun venir_V : V ; - fun ventar_V : V ; - fun verdecer_V : V ; - fun verter_V : V ; - fun ver_V : V ; - fun vestir_V : V ; - fun volar_V : V ; - fun volcar_V : V ; - fun volver_V : V ; - fun yacer_V : V ; - fun yuxtaponer_V : V ; - fun zabullir_V : V ; - fun zaherir_V : V ; - fun zambullir_V : V ; - fun zurcir_V : V ; - - -} diff --git a/src/portuguese/LexiconPor.gf b/src/portuguese/LexiconPor.gf index 8891dcc87..32eefe2b8 100644 --- a/src/portuguese/LexiconPor.gf +++ b/src/portuguese/LexiconPor.gf @@ -255,7 +255,7 @@ lin john_PN = mkPN "João" masculine ; paris_PN = mkPN "Paris" feminine ; -- V - rain_V0 = mkV0 (mkV (chover_47 "chover")) ; + rain_V0 = mkV0 (mkV (chover_Besch "chover")) ; paint_V2A = mkV2A (mkV "pintar") accusative (mkPrep "em") ; ask_V2Q = mkV2Q (mkV "perguntar") dative ; answer_V2S = mkV2S (mkV "responder") dative ; @@ -266,17 +266,17 @@ lin close_V2 = dirV2 (mkV "fechar") ; count_V2 = dirV2 (mkV "contar") ; cut_V2 = dirV2 (mkV "cortar") ; - do_V2 = dirV2 (mkV (fazer_31 "fazer")) ; + do_V2 = dirV2 (mkV (fazer_Besch "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_17 "odiar")) ; + hate_V2 = dirV2 (mkV (odiar_Besch "odiar")) ; hear_V2 = dirV2 (mkV "ouvir") ; hit_V2 = dirV2 (mkV "bater") ; - hold_V2 = dirV2 (mkV (ter_1 "ter")) ; + hold_V2 = dirV2 (mkV (ter_Besch "ter")) ; hunt_V2 = dirV2 (mkV "caçar") ; kill_V2 = dirV2 (mkV "matar") ; know_V2 = mkV2 (mkV "conhecer") ; @@ -284,17 +284,17 @@ lin leave_V2 = dirV2 (mkV "partir") ; like_V2 = mkV2 (mkV "gostar") genitive ; listen_V2 = dirV2 (mkV "escutar") ; - lose_V2 = dirV2 (mkV (perder_44 "perder")) ; + lose_V2 = dirV2 (mkV (perder_Besch "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 (pôr_45 "pôr")) ; - read_V2 = dirV2 (mkV (ler_42 "ler")) ; + put_V2 = dirV2 (mkV (pôr_Besch "pôr")) ; + read_V2 = dirV2 (mkV (ler_Besch "ler")) ; rub_V2 = dirV2 (mkV "esfregar") ; scratch_V2 = dirV2 (mkV "coçar") ; - see_V2 = dirV2 (mkV (ver_40 "ver")) ; + see_V2 = dirV2 (mkV (ver_Besch "ver")) ; seek_V2 = dirV2 (mkV "buscar") ; speak_V2 = dirV2 (mkV "falar") ; split_V2 = dirV2 (mkV "separar") ; -- dividir,) ; @@ -314,7 +314,7 @@ lin wipe_V2 = dirV2 (mkV "remover") ; write_V2 = dirV2 (special_ppV (mkV "escrever") "escrito") ; add_V3 = dirV3 (mkV "somar") dative ; - give_V3 = dirdirV3 (mkV (dar_11 "dar")) ; + give_V3 = dirdirV3 (mkV (dar_Besch "dar")) ; sell_V3 = dirV3 (mkV "vender") dative ; send_V3 = dirV3 (mkV "enviar") dative ; -- mandar talk_V3 = mkV3 (mkV "falar") dative genitive ; @@ -329,7 +329,7 @@ lin blow_V = mkV "assoprar" ; breathe_V = mkV "respirar" ; burn_V = mkV "queimar" ; - come_V = mkV (vir_67 "vir") ; + come_V = mkV (vir_Besch "vir") ; die_V = mkV "morrer" ; dig_V = mkV "escavar" ; fall_V = mkV "cair" ; @@ -339,7 +339,7 @@ lin freeze_V = mkV "congelar" ; go_V = (mkV "ir") ; jump_V = mkV "saltar" ; - laugh_V = mkV (rir_69 "rir") ; + laugh_V = mkV (rir_Besch "rir") ; lie_V = reflV (mkV "mentir") ; live_V = mkV "viver" ; play_V = mkV "jogar" ; @@ -350,7 +350,7 @@ lin sleep_V = mkV "dormir" ; smell_V = mkV "cheirar" ; spit_V = mkV "cuspir" ; - stand_V = mkV (estar_10 "estar") ; ---- "estar de pé" ; + stand_V = mkV (estar_Besch "estar") ; ---- "estar de pé" ; stop_V = mkV "parar" ; swell_V = mkV "tragar" ; swim_V = mkV "nadar" ; diff --git a/src/portuguese/ParadigmsPor.gf b/src/portuguese/ParadigmsPor.gf index f985f61e9..ae24864a1 100644 --- a/src/portuguese/ParadigmsPor.gf +++ b/src/portuguese/ParadigmsPor.gf @@ -295,43 +295,33 @@ oper z = Predef.dp 1 (Predef.tk 2 v) ; -- i in -iar paradigm = case xr of { "ir" => case z of { - "g" => redigir_52 ; - "a" => sair_68 ; - "u" => distribuir_73 ; - _ => garantir_6 + "g" => redigir_Besch ; + "a" => sair_Besch ; + "u" => distribuir_Besch ; + _ => garantir_Besch } ; "er" => case z of { - "c" => aquecer_25 ; - "g" => proteger_26 ; - "o" => moer_28 ; - _ => vender_5 + "c" => aquecer_Besch ; + "g" => proteger_Besch ; + "o" => moer_Besch ; + _ => vender_Besch } ; "ar" => case z of { - "c" => ficar_12 ; - "ç" => começar_13 ; - "e" => recear_15 ; - "g" => chegar_14 ; - "i" => anunciar_16 ; - "j" => viajar_r22 ; - "o" => perdoar_20 ; - "u" => suar_r37 ; - _ => comprar_4 + "c" => ficar_Besch ; + "ç" => começar_Besch ; + "e" => recear_Besch ; + "g" => chegar_Besch ; + "i" => anunciar_Besch ; + "j" => viajar_Besch ; + "o" => perdoar_Besch ; + "u" => suar_Besch ; + _ => comprar_Besch } ; - "or" | "ôr" => pôr_45 ; - _ => comprar_4 -- hole + "or" | "ôr" => pôr_Besch ; + _ => comprar_Besch -- hole } in verboV (paradigm v) ; -{- regAltV : (mostrar,muestro : Str) -> V ; - regAltV x y = case x of { - _ + "ar" => verboV (regAlternV x y) ; - _ => verboV (regAlternVEr x y) - } ; --} - verboV : Verbum -> V ; - verboV ve = verbBesch ve ** {vtyp = VHabere ; p = [] ; - lock_V = <>} ; - mkV = overload { --- [ ] update -- Regular verbs are ones inflected like "cortar", "dever", or diff --git a/src/portuguese/StructuralPor.gf b/src/portuguese/StructuralPor.gf index 67d705012..8a8c47466 100644 --- a/src/portuguese/StructuralPor.gf +++ b/src/portuguese/StructuralPor.gf @@ -1,6 +1,7 @@ concrete StructuralPor of Structural = CatPor ** open PhonoPor, MorphoPor, ParadigmsPor, BeschPor, - MakeStructuralPor, (X = ConstructX), Prelude in { + MakeStructuralPor, (X = ConstructX), (B=IrregBeschPor) + , Prelude in { flags optimize=all ; coding=utf8 ; @@ -63,8 +64,8 @@ concrete StructuralPor of Structural = CatPor ** but_PConj = ss "mas" ; by8agent_Prep = mkPrep "por" ; by8means_Prep = mkPrep "por" ; - can8know_VV = mkVV (mkV (saber_35 "saber")) ; - can_VV = mkVV (mkV (poder_36 "poder")) ; + can8know_VV = mkVV B.saber_V ; + can_VV = mkVV B.poder_V ; during_Prep = mkPrep "durante" ; either7or_DConj = {s1,s2 = "ou" ; n = Sg} ; everybody_NP = makeNP ["todos"] Masc Pl ; @@ -138,7 +139,7 @@ concrete StructuralPor of Structural = CatPor ** to_Prep = complDat ; under_Prep = mkPrep "embaixo" ; very_AdA = ss "muito" ; - want_VV = mkVV (mkV (querer_38 "querer")) ; + want_VV = mkVV B.querer_V ; 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" ; @@ -162,7 +163,7 @@ concrete StructuralPor of Structural = CatPor ** lin as_CAdv = X.mkCAdv "tão" conjThan ; ---- - have_V2 = dirV2 (mkV (ter_1 "ter")) ; + have_V2 = dirV2 B.ter_V ; that_Subj = {s = "que" ; m = Conjunct} ; lin language_title_Utt = ss "português" ; From 8ae61cc1a82ea8f547906fd1a3d7bc086e26f669 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Thu, 24 May 2018 14:17:11 +0100 Subject: [PATCH 2/3] minor Estonian additions from last summer (#51) * add two new nominal modifiers of type NP -> CN -> CN * change married_A2 to invariant adjective * rename CommonNoun to Noun * change type of relPron * merge CompAP and ICompAP using the same oper ; fix reflPron (ise, enda, ...) and add a helper function fixPlNom * minor cleanup * change in who_RP, reflecting the change of relative pronouns in ResEst * Add new functions to ExtendEst ; update comments in ResEst --- src/estonian/CatEst.gf | 4 +-- src/estonian/ExtendEst.gf | 60 ++++++++++++++++++++++----------- src/estonian/ExtraEst.gf | 9 +++-- src/estonian/ExtraEstAbs.gf | 4 ++- src/estonian/LexiconEst.gf | 2 +- src/estonian/MorphoEst.gf | 26 ++++++-------- src/estonian/RelativeEst.gf | 2 +- src/estonian/ResEst.gf | 51 ++++++++++++++++++---------- src/estonian/VerbEst.gf | 15 ++------- src/translator/ExtensionsEst.gf | 2 +- 10 files changed, 100 insertions(+), 75 deletions(-) diff --git a/src/estonian/CatEst.gf b/src/estonian/CatEst.gf index ec771952e..a91a245e0 100644 --- a/src/estonian/CatEst.gf +++ b/src/estonian/CatEst.gf @@ -89,8 +89,8 @@ concrete CatEst of Cat = CommonX ** open HjkEst, ResEst, Prelude in { A2 = A ** {c2 : Compl} ; N = Noun ; - N2 = CommonNoun ** {c2 : Compl ; isPre : Bool ; lock_N2 : {}} ; - N3 = CommonNoun ** {c2,c3 : Compl ; isPre,isPre2 : Bool ; lock_N3 : {}} ; + N2 = Noun ** {c2 : Compl ; isPre : Bool ; lock_N2 : {}} ; + N3 = Noun ** {c2,c3 : Compl ; isPre,isPre2 : Bool ; lock_N3 : {}} ; PN = {s : Case => Str} ; oper Verb1 = Verb ** { sc : NPForm} ; --what is this for? --subject case, i.e. "ma näen kassi"/"mul on kass" diff --git a/src/estonian/ExtendEst.gf b/src/estonian/ExtendEst.gf index 7230bb6db..42551d197 100644 --- a/src/estonian/ExtendEst.gf +++ b/src/estonian/ExtendEst.gf @@ -28,6 +28,7 @@ concrete ExtendEst of Extend = Coordination, Prelude, MorphoEst, + LexiconEst, ParadigmsEst in { lin @@ -44,7 +45,7 @@ concrete ExtendEst of Extend = -- : Num -> CN -> RP ; -- whose car GenRP num cn = { - s = \\n,c => let k = npform2case num.n c in relPron ! n ! Gen ++ cn.s ! NCase num.n k ; + s = \\n,c => let k = npform2case num.n c in relPron ! NCase n Gen ++ cn.s ! NCase num.n k ; a = RNoAg } ; @@ -115,26 +116,34 @@ concrete ExtendEst of Extend = mkVPI : VP -> VPI = \vp -> lin VPI {} ; ----- - - lin - ICompAP ap = {} ; ---- IComp should have agr! - - IAdvAdv adv = {} ; -} - -- : VP -> AP ; -- (the man) looking at Mary / filme vaatav (mees) +lin + -- : AP -> IComp ; -- "how old" + ICompAP ap = icompAP "kui" ap ; + + -- : Adv -> IAdv ; -- "how often" + IAdvAdv adv = { s = "kui" ++ adv.s } ; + + -- : VP -> AP ; -- (the man) looking at Mary / filme vaatav (mees) PresPartAP vp = { s = \\_,_ => vp2adv vp True VIPresPart ; infl = Invariable } ; -{- TODO: need to change VP to get this to work properly: +{- TODO: need to change VP to get the following 3 functions to work properly: 1) Add "mine" form into VP (or switch to a BIND solution and just add a stem) 2) Change s2 in VP so that we can manipulate the complement to be in genitive! -- : VP -> SC ; -- looking at Mary (is fun) / filmide vaatamine (on tore) EmbedPresPart vp = let vpGen = vp ; --** { s2 = \\_,_,_ => vp.s2 ! True ! Pos ! } {s = vp2adv vp True VI } ; + + -- : VP -> CN -- publishing of the document (can get a determiner) + GerundCN vp = {} ; + + -- : VP -> NP -- publishing the document (by nature definite) + GerundNP vp = {} ; -} -- : VPSlash -> AP ; -- täna leitud @@ -147,13 +156,7 @@ concrete ExtendEst of Extend = s = \\_,_ => np.s ! NPCase Gen ++ "poolt" ++ vp2adv vp True (VIPass Past) ; infl = Invariable } ; -{- - -- : VP -> CN -- publishing of the document (can get a determiner) - GerundCN vp = {} ; - -- : VP -> NP -- publishing the document (by nature definite) - GerundNP vp = {} ; --} -- : VP -> Adv GerundAdv vp = { s = vp2adv vp True (VIInf InfDes) } ; @@ -192,22 +195,38 @@ lin ComplBareVS v s = insertExtra s.s (predV v) ; SlashBareV2S v s = insertExtrac s.s (predVc v) ; -} + -- : N -> N -> N ; -- control system / controls system / control-system CompoundN noun cn = lin N { - s = \\nf => noun.s ! NCase Sg Gen ++ BIND ++ cn.s ! nf ---- AR genitive best? + s = \\nf => noun.s ! NCase Sg Gen ++ BIND ++ cn.s ! nf } ; {- + -- : N -> A -> AP ; -- language independent / language-independent CompoundAP noun adj = {} ; - FrontExtPredVP np vp = {} ; - - InvFrontExtPredVP np vp = {} ; + -- : VS -> Utt -> VP ; -- say: "today" + ComplDirectVS vs utt = {} ; + -- : VQ -> Utt -> VP ; -- ask: "when" + ComplDirectVQ vq utt = {} ; + -- : NP -> VS -> Utt -> Cl ; -- "I am here", she said + FrontComplDirectVS np vs utt = {} ; + -- : NP -> VQ -> Utt -> Cl ; -- "where", she asked + FrontComplDirectVQ np vq utt = {} ; +-} + -- : AP -> VP -> Cl ; -- it is good to walk / on hea kõndida + PredAPVP ap vp = + let heaOllaVP : VP = insertObj (\\_,_ => ap.s) vp ; -- puts AP into the s2 field + heaOllaComp : Comp = CompVP ASimul PPos heaOlla ; -- chooses InfDa, fixes word order + heaOlla : VP = UseComp heaOllaComp -- looks silly, but I want to reuse the abstract syntax funs :-P + in existClause noSubj (agrP3 Sg) heaOlla ; +oper +testCl = PredAPVP (PositA good_A) (UseV walk_V) ; lin --} + -- : AP -> CN ; -- a green one ; en grön (Swe) AdjAsCN ap = { s = ap.s ! True } ; -- True = it's a modifier, not a predicate @@ -224,7 +243,10 @@ lin lin ReflRNP vps rnp = insertObjPre (\\a => vps.c2 ++ rnp.s ! a) vps ; + + -- : RNP ReflPron = {s = reflPron} ; + ReflPoss num cn = {s = \\a => possPron ! a ++ num.s ! Nom ++ cn.s ! num.n ! Nom} ; PredetRNP predet rnp = {s = \\a => predet.s ++ rnp.s ! a} ; diff --git a/src/estonian/ExtraEst.gf b/src/estonian/ExtraEst.gf index fd091dca7..b9be4010a 100644 --- a/src/estonian/ExtraEst.gf +++ b/src/estonian/ExtraEst.gf @@ -9,14 +9,16 @@ concrete ExtraEst of ExtraEstAbs = CatEst ** isNeg = False } ; - GenCN = caseCN Gen ; -- auton merkki + GenCN = caseCN Gen ; -- soome mees ComitCN = caseCN Comit ; -- puudega mets ElatCN = caseCN Elat ; -- puust laud + AbessCN = caseCN Abess ; -- autota pere + TerminCN = caseCN Termin ; -- maani kleit GenIP ip = {s = \\_,_ => ip.s ! NPCase Gen} ; GenRP num cn = { - s = \\n,c => let k = npform2case num.n c in relPron ! n ! Gen ++ cn.s ! NCase num.n k ; + s = \\n,c => let k = npform2case num.n c in relPron ! NCase n Gen ++ cn.s ! NCase num.n k ; a = RNoAg --- a = RAg (agrP3 num.n) } ; @@ -190,8 +192,9 @@ concrete ExtraEst of ExtraEstAbs = CatEst ** a = p.a } ; + -- : Pron -> Quant ; ProDropPoss p = { - s = \\_,_ => "oma" ; --??? + s = \\_,_ => "oma" ; sp = \\_,_ => p.s ! NPCase Gen ; isNum = False ; isDef = True ; diff --git a/src/estonian/ExtraEstAbs.gf b/src/estonian/ExtraEstAbs.gf index 761200cf8..0e09f3d4a 100644 --- a/src/estonian/ExtraEstAbs.gf +++ b/src/estonian/ExtraEstAbs.gf @@ -7,9 +7,11 @@ abstract ExtraEstAbs = Extra [ flags coding=utf8 ; fun - GenCN : NP -> CN -> CN ; -- auton merkki + GenCN : NP -> CN -> CN ; -- soome mees ComitCN : NP -> CN -> CN ; -- põlenud puudega mets ElatCN : NP -> CN -> CN ; -- puust laud + AbessCN : NP -> CN -> CN ; -- autota pere + TerminCN : NP -> CN -> CN ; -- maani kleit AdvExistNP : Adv -> NP -> Cl ; -- kuvassa olemme me AdvPredNP : Adv -> V -> NP -> Cl ; -- kuvassa hymyilee Veikko diff --git a/src/estonian/LexiconEst.gf b/src/estonian/LexiconEst.gf index dde11f96b..fb7634579 100644 --- a/src/estonian/LexiconEst.gf +++ b/src/estonian/LexiconEst.gf @@ -119,7 +119,7 @@ lin love_N = mkN "armastus" ; love_V2 = mkV2 (mkV "armastama") partitive ; man_N = mkN "mees" "mehe" "meest" "mehesse" "meeste" "mehi" ; - married_A2 = mkA2 (mkA "abielus") (casePrep comitative) ; + married_A2 = mkA2 (invA "abielus") (casePrep comitative) ; meat_N = mkN "liha" ; milk_N = mkN "piim" "piima" "piima" ; moon_N = mkN "kuu" ; diff --git a/src/estonian/MorphoEst.gf b/src/estonian/MorphoEst.gf index eb3591c78..dfd3af921 100644 --- a/src/estonian/MorphoEst.gf +++ b/src/estonian/MorphoEst.gf @@ -487,10 +487,10 @@ These used to be here: -- for Structural ----------------------- -caseTable : Number -> CommonNoun -> Case => Str = \n,cn -> +caseTable : Number -> Noun -> Case => Str = \n,cn -> \\c => cn.s ! NCase n c ; - mkDet : Number -> CommonNoun -> { + mkDet : Number -> Noun -> { s,sp : Case => Str ; -- minun kolme n : Number ; -- Pl (agreement feature for verb) isNum : Bool ; -- True (a numeral is present) @@ -563,24 +563,18 @@ caseTable : Number -> CommonNoun -> Case => Str = \n,cn -> x => shortMa.s ! x } } ; --- The relative pronoun, "joka", is inflected in case and number, --- like common nouns, but it does not take possessive suffixes. --- The inflextion shows a surprising similarity with "suo". + oper - relPron : Number => Case => Str = - let mis = nForms2N (nForms6 "mis" "mille" "mida" "millesse" "mille" "mida") in - \\n,c => case of { - => "mis" ; - <> => mis.s ! NCase n c } ; + relPron : NForm => Str = + let mis = nForms2N (nForms6 "mis" "mille" "mida" "millesse" "mille" "mida") + in fixPlNom "mis" mis.s ; + + kesPron : NForm => Str = + let kes = nForms2N (nForms6 "kes" "kelle" "keda" "kellesse" "kelle" "keda") + in fixPlNom "kes" kes.s ; - kesPron : Number => Case => Str = - let kes = nForms2N (nForms6 "kes" "kelle" "keda" "kellesse" "kelle" "keda") in - \\n,c => case of { - => "kes" ; - <> => kes.s ! NCase n c } ; - ProperName = {s : Case => Str} ; -- TODO: generate using mkPronoun diff --git a/src/estonian/RelativeEst.gf b/src/estonian/RelativeEst.gf index c58c2fd5e..705d77a86 100644 --- a/src/estonian/RelativeEst.gf +++ b/src/estonian/RelativeEst.gf @@ -41,7 +41,7 @@ concrete RelativeEst of Relative = CatEst ** open Prelude, ResEst, MorphoEst in } ; IdRP = { - s = \\n,c => relPron ! n ! npform2case n c ; + s = \\n,c => relPron ! NCase n (npform2case n c) ; a = RNoAg } ; diff --git a/src/estonian/ResEst.gf b/src/estonian/ResEst.gf index fb3bd9ff2..6418b9a27 100644 --- a/src/estonian/ResEst.gf +++ b/src/estonian/ResEst.gf @@ -321,7 +321,7 @@ oper let agrfin = case vp.sc of { NPCase Nom => ; - _ => -- minun täytyy, minulla on + _ => -- minule meeldib, minul on } ; verb = vp.s ! VIFin t ! a ! b ! agrfin.p1 ; in {subj = sub b ; @@ -566,17 +566,14 @@ oper vforms2V (regVForms kinkima kinkida kingib kingitakse) ; - noun2adj : CommonNoun -> Adj = noun2adjComp True ; --- noun2adj : Noun -> Adj = noun2adjComp True ; + noun2adj : Noun -> Adj = noun2adjComp True ; - -- TODO: remove the unused arguments and clean up the code -- TODO: AAdv is current just Sg Ablat, which seems OK in most cases, although -- ilus -> ilusti | ilusalt? -- hea -> hästi -- parem -> paremini -- parim -> kõige paremini | parimalt? - noun2adjComp : Bool -> CommonNoun -> Adj = \isPos,tuore -> --- noun2adjComp : Bool -> Noun -> Adj = \isPos,tuore -> + noun2adjComp : Bool -> Noun -> Adj = \isPos,tuore -> let tuoreesti = Predef.tk 1 (tuore.s ! NCase Sg Gen) + "sti" ; tuoreemmin = Predef.tk 2 (tuore.s ! NCase Sg Gen) + "in" @@ -587,37 +584,55 @@ oper } ; } ; - CommonNoun = {s : NForm => Str} ; + Noun = {s : NForm => Str} ; + -- To form an adjective, it is usually enough to give a noun declension: the -- adverbial form is regular. Adj : Type = {s : AForm => Str} ; +-- Helper functions to form Comps. + compAP = icompAP [] ; + + icompAP : Str -> {s : Bool => NForm => Str} -> {s : Agr => Str} = \kui,ap -> + { s = \\agr => + let n = complNumAgr agr ; + in kui ++ ap.s ! False ! NCase n Nom } ; + + compCN : Noun -> {s : Agr => Str} = \cn -> + { s = \\agr => + let n = complNumAgr agr ; + in cn.s ! NCase n Nom } ; + -- Reflexive pronoun. --- Possessive could be shared with the more general $NounFin.DetCN$. ---oper - --Estonian version started reflPron : Agr -> NP = \agr -> let - ise = nForms2N (nForms6 "ise" "enda" "ennast" "endasse" "IGNORE" "IGNORE") - in { + ise = nForms2N (nForms6 "ise" "enda" "ennast" "endasse" "endi" "endid") ; + n = case agr of { + AgPol => Sg ; + Ag n _ => n } ; + in { s = table { NPAcc => "ennast" ; - NPCase c => ise.s ! NCase Sg c + NPCase c => fixPlNom "endid" ise.s ! NCase n c } ; a = agr ; isPron = False -- no special acc form } ; + -- Using nForms6 as a shortcut works pretty nicely, but plural nominative is often wrong. + -- This is used at least 3 times :-D + fixPlNom : Str -> (NForm => Str) -> (NForm => Str) = \mis,n -> + table { NCase Pl Nom => mis ; + x => n ! x } ; + NForms : Type = Predef.Ints 5 => Str ; - Noun = CommonNoun ** {lock_N : {}} ; - NForms : Type = Predef.Ints 5 => Str ; - - nForms6 : (x1,_,_,_,_,x6 : Str) -> NForms = + nForms6 : (x1,_,_,_,_,x6 : Str) -> NForms = \jogi,joe,joge,joesse, -- sg nom, gen, part, ill jogede,jogesid -> table { -- pl gen, part, 0 => jogi ; @@ -628,7 +643,7 @@ oper 5 => jogesid } ; - n2nforms : CommonNoun -> NForms = \ukko -> table { + n2nforms : Noun -> NForms = \ukko -> table { 0 => ukko.s ! NCase Sg Nom ; 1 => ukko.s ! NCase Sg Gen ; 2 => ukko.s ! NCase Sg Part ; @@ -639,7 +654,7 @@ oper -- Converts 6 given strings (Nom, Gen, Part, Illat, Gen, Part) into Noun -- http://www.eki.ee/books/ekk09/index.php?p=3&p1=5&id=226 - nForms2N : NForms -> CommonNoun = \f -> + nForms2N : NForms -> Noun = \f -> let jogi = f ! 0 ; joe = f ! 1 ; diff --git a/src/estonian/VerbEst.gf b/src/estonian/VerbEst.gf index 9b0379578..8c84e22f2 100644 --- a/src/estonian/VerbEst.gf +++ b/src/estonian/VerbEst.gf @@ -97,19 +97,8 @@ concrete VerbEst of Verb = CatEst ** open Prelude, ResEst in { ----b UseVS, UseVQ = \v -> v ** {c2 = {s = [] ; c = NPAcc ; isPre = True}} ; - CompAP ap = { - s = \\agr => - let - n = complNumAgr agr ; - in ap.s ! False ! (NCase n Nom) - } ; - - CompCN cn = { - s = \\agr => - let - n = complNumAgr agr ; - in cn.s ! (NCase n Nom) - } ; + CompAP = compAP ; + CompCN = compCN ; CompNP np = {s = \\_ => np.s ! NPCase Nom} ; CompAdv a = {s = \\_ => a.s} ; diff --git a/src/translator/ExtensionsEst.gf b/src/translator/ExtensionsEst.gf index b6f1a21dd..1a0f6e9bd 100644 --- a/src/translator/ExtensionsEst.gf +++ b/src/translator/ExtensionsEst.gf @@ -152,7 +152,7 @@ lin {s = \\agr => infVPAnt ant.a (NPCase Nom) pol.p agr vp InfDa } ; -- TODO: revisit pronouns? Looks a bit overly complicated. /IL - who_RP = { s = \\n,c => MorphoEst.kesPron ! n ! npform2case n c ; + who_RP = { s = \\n,c => MorphoEst.kesPron ! NCase n (npform2case n c) ; a = RNoAg } ; that_RP = which_RP ; From b3eeee54ce43e1d3c57a3b79e47dc5887c932b71 Mon Sep 17 00:00:00 2001 From: Aarne Ranta Date: Sun, 27 May 2018 10:11:46 +0200 Subject: [PATCH 3/3] fixed the use of de in Chi Adv --- src/chinese/AdverbChi.gf | 14 +++++++------- src/chinese/CatChi.gf | 2 +- src/chinese/ConjunctionChi.gf | 16 ++++++++-------- src/chinese/ConstructionChi.gf | 18 +++++++++--------- src/chinese/NounChi.gf | 6 +++--- src/chinese/ParadigmsChi.gf | 8 ++++---- src/chinese/ResChi.gf | 14 ++++++++++---- 7 files changed, 42 insertions(+), 36 deletions(-) diff --git a/src/chinese/AdverbChi.gf b/src/chinese/AdverbChi.gf index 73876c496..8a50ddd90 100644 --- a/src/chinese/AdverbChi.gf +++ b/src/chinese/AdverbChi.gf @@ -2,19 +2,19 @@ concrete AdverbChi of Adverb = CatChi ** open ResChi, Prelude in { lin - PositAdvAdj a = {s = a.s ++ "地" ; advType = ATManner} ; ---- for all adjs? + PositAdvAdj a = {s = a.s ++ "地" ; advType = ATManner ; hasDe = False} ; ---- for all adjs? - PrepNP prep np = ss (appPrep prep np.s) ** {advType = prep.advType} ; --- should depend on np too ? + PrepNP prep np = ss (appPrep prep np.s) ** {advType = prep.advType ; hasDe = prep.hasDe} ; --- should depend on np too ? - ComparAdvAdj cadv a np = ss (a.s ++ cadv.s ++ cadv.p ++ np.s) ** {advType = ATManner} ; + ComparAdvAdj cadv a np = ss (a.s ++ cadv.s ++ cadv.p ++ np.s) ** {advType = ATManner ; hasDe = False} ; - ComparAdvAdjS cadv a s = ss (a.s ++ cadv.s ++ cadv.p ++ s.s) ** {advType = ATManner} ; + ComparAdvAdjS cadv a s = ss (a.s ++ cadv.s ++ cadv.p ++ s.s) ** {advType = ATManner ; hasDe = False} ; - AdAdv adv ad = ss (ad.s ++ adv.s) ** {advType = ad.advType} ; + AdAdv ad adv = adv ** {s = ad.s ++ adv.s} ; - SubjS subj s = ss (subj.prePart ++ s.s ++ subj.sufPart) ** {advType = ATTime} ; + SubjS subj s = ss (subj.prePart ++ s.s ++ subj.sufPart) ** {advType = ATTime ; hasDe = False} ; - AdnCAdv cadv = ss (cadv.s ++ conjThat) ** {advType = ATManner} ; ----- + AdnCAdv cadv = ss (cadv.s ++ conjThat) ** {advType = ATManner ; hasDe = False} ; ----- PositAdAAdj a = {s = a.s} ; ---- diff --git a/src/chinese/CatChi.gf b/src/chinese/CatChi.gf index b65edceb6..679846ced 100644 --- a/src/chinese/CatChi.gf +++ b/src/chinese/CatChi.gf @@ -50,7 +50,7 @@ concrete CatChi of Cat = CommonX - [Tense, Temp, Ant, Adv] ** open ResChi, Prelu Ord = {s : Str} ; Num = {s : Str ; numType : NumType} ; - Adv = {s : Str ; advType : AdvType} ; + Adv = {s : Str ; advType : AdvType ; hasDe : Bool} ; -- Numeral diff --git a/src/chinese/ConjunctionChi.gf b/src/chinese/ConjunctionChi.gf index bc5abeab0..e507667ae 100644 --- a/src/chinese/ConjunctionChi.gf +++ b/src/chinese/ConjunctionChi.gf @@ -3,9 +3,9 @@ concrete ConjunctionChi of Conjunction = CatChi ** open ResChi, Prelude, Coordin lin ConjS c = conjunctDistrSS (c.s ! CSent) ; - ConjAdv c as = conjunctDistrSS (c.s ! CSent) as ** {advType = as.advType} ; ---- ?? + ConjAdv c as = conjunctDistrSS (c.s ! CSent) as ** {advType = as.advType ; hasDe = as.hasDe} ; ---- ?? ConjNP c = conjunctDistrSS (c.s ! CPhr CNPhrase) ; - ConjAP c as = conjunctDistrSS (c.s ! CPhr CAPhrase) as ** {monoSyl = False ; hasAdA = True} ; ---- ?? + ConjAP c as = conjunctDistrSS (c.s ! CPhr CAPhrase) as ** {monoSyl = notB as.monoSyl ; hasAdA = True} ; ---- add de iff as doesn't ConjRS c = conjunctDistrSS (c.s ! CSent) ; ConjCN c ns = conjunctDistrSS (c.s ! CPhr CNPhrase) ns ** {c = ns.c} ; @@ -13,12 +13,12 @@ concrete ConjunctionChi of Conjunction = CatChi ** open ResChi, Prelude, Coordin BaseS = twoSS ; ConsS = consrSS duncomma ; - BaseAdv x y = twoSS x y ** {advType = x.advType} ; ---- ?? - ConsAdv x xs = consrSS duncomma x xs ** {advType = x.advType} ; ---- ?? + BaseAdv x y = twoSS x y ** {advType = x.advType ; hasDe = y.hasDe} ; ---- ?? + ConsAdv x xs = consrSS duncomma x xs ** {advType = x.advType ; hasDe = xs.hasDe} ; ---- ?? BaseNP = twoSS ; ConsNP = consrSS duncomma ; - BaseAP = twoSS ; - ConsAP = consrSS duncomma ; + BaseAP x y = twoSS x y ** {monoSyl = y.monoSyl} ; + ConsAP x xs = consrSS duncomma x xs ** {monoSyl = xs.monoSyl} ; BaseRS = twoSS ; ConsRS = consrSS duncomma ; BaseCN x y = twoSS x y ** {c = x.c} ; --- classified comes from first part ; should it rather be ge? @@ -26,9 +26,9 @@ concrete ConjunctionChi of Conjunction = CatChi ** open ResChi, Prelude, Coordin lincat [S] = {s1,s2 : Str} ; - [Adv] = {s1,s2 : Str ; advType : AdvType} ; + [Adv] = {s1,s2 : Str ; advType : AdvType ; hasDe : Bool} ; [NP] = {s1,s2 : Str} ; - [AP] = {s1,s2 : Str} ; + [AP] = {s1,s2 : Str ; monoSyl : Bool} ; [RS] = {s1,s2 : Str} ; [CN] = {s1,s2 : Str ; c : Str} ; diff --git a/src/chinese/ConstructionChi.gf b/src/chinese/ConstructionChi.gf index 0202f2b9c..c6032b857 100644 --- a/src/chinese/ConstructionChi.gf +++ b/src/chinese/ConstructionChi.gf @@ -36,16 +36,16 @@ lincat Month = N ; Year = NP ; lin - weekdayPunctualAdv w = lin Adv {s = w.s ; advType = timeAdvType} ; - weekdayHabitualAdv w = lin Adv {s = w.s ; advType = timeAdvType} ; - weekdayNextAdv w = lin Adv {s = "下" ++ w.s ; advType = timeAdvType} ; - weekdayLastAdv w = lin Adv {s = "上" ++ w.s ; advType = timeAdvType} ; + weekdayPunctualAdv w = lin Adv {s = w.s ; advType = timeAdvType ; hasDe = False} ; + weekdayHabitualAdv w = lin Adv {s = w.s ; advType = timeAdvType ; hasDe = False} ; + weekdayNextAdv w = lin Adv {s = "下" ++ w.s ; advType = timeAdvType ; hasDe = False} ; + weekdayLastAdv w = lin Adv {s = "上" ++ w.s ; advType = timeAdvType ; hasDe = False} ; - monthAdv m = lin Adv {s = m.s ; advType = timeAdvType} ; - yearAdv y = lin Adv {s = y.s ++ "年" ; advType = timeAdvType} ; - dayMonthAdv d m = lin Adv {s = m.s ++ d.s ++ "日" ; advType = timeAdvType} ; - monthYearAdv m y = lin Adv {s = y.s ++ "年" ++ m.s ; advType = timeAdvType} ; - dayMonthYearAdv d m y = lin Adv {s = y.s ++ "年" ++ m.s ++ d.s ++ "日" ; advType = timeAdvType} ; + monthAdv m = lin Adv {s = m.s ; advType = timeAdvType ; hasDe = False} ; + yearAdv y = lin Adv {s = y.s ++ "年" ; advType = timeAdvType ; hasDe = False} ; + dayMonthAdv d m = lin Adv {s = m.s ++ d.s ++ "日" ; advType = timeAdvType ; hasDe = False} ; + monthYearAdv m y = lin Adv {s = y.s ++ "年" ++ m.s ; advType = timeAdvType ; hasDe = False} ; + dayMonthYearAdv d m y = lin Adv {s = y.s ++ "年" ++ m.s ++ d.s ++ "日" ; advType = timeAdvType ; hasDe = False} ; intYear i = lin NP i ; intMonthday i = lin NP i ; diff --git a/src/chinese/NounChi.gf b/src/chinese/NounChi.gf index 9277ce35d..4a4a330b4 100644 --- a/src/chinese/NounChi.gf +++ b/src/chinese/NounChi.gf @@ -20,8 +20,8 @@ concrete NounChi of Noun = CatChi ** open ResChi, Prelude in { PPartNP np v2 = mkNP ((predV v2 v2.part).verb.s ++ possessive_s ++ np.s) ; ---- ?? - AdvNP np adv = mkNP (adv.s ++ possessiveIf adv.advType ++ np.s) ; - ExtAdvNP np adv = mkNP (adv.s ++ possessiveIf adv.advType ++ embedInCommas np.s) ; ---- commas? + AdvNP np adv = mkNP (adv.s ++ possessiveIf adv.hasDe ++ np.s) ; + ExtAdvNP np adv = mkNP (adv.s ++ possessiveIf adv.hasDe ++ embedInCommas np.s) ; ---- commas? DetQuant quant num = { s = case num.numType of { @@ -85,7 +85,7 @@ concrete NounChi of Noun = CatChi ** open ResChi, Prelude in { } ; RelCN cn rs = {s = rs.s ++ cn.s ; c = cn.c} ; - AdvCN cn ad = {s = ad.s ++ possessiveIf ad.advType ++ cn.s ; c = cn.c} ; + AdvCN cn ad = {s = ad.s ++ possessiveIf ad.hasDe ++ cn.s ; c = cn.c} ; SentCN cn cs = {s = cs.s ++ cn.s ; c = cn.c} ; ApposCN cn np = {s = np.s ++ cn.s ; c = cn.c} ; diff --git a/src/chinese/ParadigmsChi.gf b/src/chinese/ParadigmsChi.gf index 269bfbc44..6ec08c2f4 100644 --- a/src/chinese/ParadigmsChi.gf +++ b/src/chinese/ParadigmsChi.gf @@ -145,13 +145,13 @@ oper mkAdv = overload { mkAdv : Str -> Adv - = \s -> lin Adv {s = word s ; advType = getAdvType s} ; + = \s -> let at = getAdvType s in lin Adv {s = word s ; advType = at ; hasDe = advTypeHasDe at} ; mkAdv : Str -> Str -> Adv - = \s,t -> lin Adv {s = word (s + t) ; advType = getAdvType s} ; ---- + = \s,t -> let at = getAdvType s in lin Adv {s = word (s + t) ; advType = at ; hasDe = advTypeHasDe at} ; ---- mkAdv : Str -> AdvType -> Adv - = \s,at -> lin Adv {s = word s ; advType = at} ; + = \s,at -> lin Adv {s = word s ; advType = at ; hasDe = advTypeHasDe at} ; mkAdv : Adv -> AdvType -> Adv -- To fix the AdvType in an Adv produced by SyntaxChi.mkAdv - = \adv,at -> adv ** {advType = at} ; + = \adv,at -> adv ** {advType = at ; hasDe = advTypeHasDe at} ; } ; diff --git a/src/chinese/ResChi.gf b/src/chinese/ResChi.gf index ba96bceea..e30a87941 100644 --- a/src/chinese/ResChi.gf +++ b/src/chinese/ResChi.gf @@ -250,13 +250,19 @@ oper s = word s } ; - Preposition = {prepPre : Str ; prepPost : Str ; advType : AdvType} ; + Preposition = {prepPre : Str ; prepPost : Str ; advType : AdvType ; hasDe : Bool} ; mkPreposition : Str -> Str -> AdvType -> Preposition = \s1,s2,at -> { prepPre = word s1 ; prepPost = word s2 ; - advType = at + advType = at ; + hasDe = advTypeHasDe at ; } ; + + advTypeHasDe : AdvType -> Bool = \at -> case at of { + ATPoss => True ; + _ => False + } ; getAdvType : Str -> AdvType = \s -> case s of { "的" => ATPoss ; @@ -264,8 +270,8 @@ oper _ => ATPlace False -- uncertain whether ATPlace } ; - possessiveIf : AdvType -> Str = \at -> case at of { - ATPoss => [] ; --- to avoid double "de" + possessiveIf : Bool -> Str = \hasDe -> case hasDe of { + True => [] ; --- to avoid double "de" _ => possessive_s } ;