1
0
forked from GitHub/gf-rgl

(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
This commit is contained in:
bruno cuconato
2018-05-24 11:24:39 +00:00
committed by Inari Listenmaa
parent fe0b7c13fe
commit 9bd63b9d8d
19 changed files with 1067 additions and 1429 deletions

View File

@@ -4,7 +4,7 @@
-- 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 ** {

View File

@@ -3,5 +3,5 @@
concrete AllPor of AllPorAbs =
LangPor,
IrregPor,
ExtraPor
ExtendPor
** {} ;

View File

@@ -1,5 +1,5 @@
abstract AllPorAbs =
Lang,
IrregPorAbs,
ExtraPorAbs
Extend
** {} ;

View File

@@ -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" ;

View File

@@ -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 Card card : Card> (lin CN cn)))) (lin A a) ;

View File

@@ -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 -> <verbDefaultPart v, False> ;
vpAgrClits : Verb -> AAgr -> VPAgrType = \v,a -> <verbDefaultPart v, False> ;
--------------------------------
param
Prepos = P_de | P_a ;
VType = VHabere | VRefl ;
oper
partAgr : VType -> Bool ;
-- exception
partAgr _ = False ;
vpAgrSubj : Verb -> VPAgrType ;
-- exception
vpAgrSubj v = <verbDefaultPart v, False> ;
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 => <reflPron n p Acc, p,True> ;
CPron ag an ap => <argPron ag an ap Acc, ap,True> ;
_ => <[],P2,False>
} ;
pdatp = case dat of {
CPron ag an ap => <argPron ag an ap dative, ap,True> ;
_ => <[],P2,False>
} ;
peither = case acc of {
CRefl | CPron _ _ _ => True ;
_ => case dat of {
CPron _ _ _ => True ;
_ => False
}
} ;
defaultPronArg = <pdatp.p1 ++ paccp.p1, [], peither>
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 => <reflPron n pe Acc,True> ;
_ => <[],False>
} ;
clpr = <vp.clit1 ++ vp.clit2, [],vp.clit3.hasClit> ;
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 <g,n,c> 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 => <reflPron n p Acc, p,True> ;
CPron ag an ap => <argPron ag an ap Acc, ap,True> ;
_ => <[],P2,False>
} ;
pdatp = case dat of {
CPron ag an ap => <argPron ag an ap dative, ap,True> ;
_ => <[],P2,False>
} ;
peither = case acc of {
CRefl | CPron _ _ _ => True ;
_ => case dat of {
CPron _ _ _ => True ;
_ => False
}
} ;
defaultPronArg = <pdatp.p1 ++ paccp.p1, [], peither>
---- defaultPronArg = <pdatp.p1 ++ paccp.p1, [], orB paccp.p3 pdatp.p3>
in
---- case <<paccp.p2, pdatp.p2> : Person * Person> of {
---- <P3,P3> => <"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 => <reflPron n pe Acc,True> ;
_ => <[],False>
} ;
clpr = <vp.clit1 ++ vp.clit2, [],vp.clit3.hasClit> ;
---- clpr = <[],[],False> ; ----e pronArg agr.n agr.p vp.clAcc vp.clDat ;
----e verb = case <aag.n, pol,pe> of {
----e <Sg,Neg,P2> => (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 = <verbDefaultPart v, False> ;
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" ;
<Fem,Pl,P3> => 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 = <>} ;
}

View File

@@ -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 ;
} ;

View File

@@ -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) ;
}

View File

@@ -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 ;

View File

@@ -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
}

View File

@@ -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

View File

@@ -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") ;
} ;

View File

@@ -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 ;
} ;

View File

@@ -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") ;
}

View File

@@ -1,6 +1,4 @@
abstract IrregPorAbs = Cat ** {
flags coding=utf8 ;
fun estar_V : V ;
fun fazer_V : V ;
}

File diff suppressed because it is too large Load Diff

View File

@@ -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" ;

View File

@@ -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

View File

@@ -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" ;