add some more changes

This commit is contained in:
odanoburu
2018-03-23 19:02:52 -03:00
parent 2aaa698f69
commit 2939809f45
20 changed files with 5555 additions and 6852 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,15 @@
--# -path=.:alltenses:prelude
resource CombinatorsPor = Combinators - [appCN, appCNc] with
(Cat = CatPor),
(Structural = StructuralPor),
(Noun = NounPor),
(Constructors = ConstructorsPor) **
{
oper
appCN : CN -> NP -> NP
= \cn,x -> mkNP the_Art (PossNP cn x) ;
appCNc : CN -> [NP] -> NP
= \cn,xs -> let np : NP = mkNP and_Conj xs
in mkNP the_Art (PossNP cn np) ;
}

View File

@@ -4,32 +4,31 @@ concrete ConstructionPor of Construction = CatPor **
open SyntaxPor, SymbolicPor, ParadigmsPor, open SyntaxPor, SymbolicPor, ParadigmsPor,
(L = LexiconPor), (E = ExtraPor), (I = IrregPor), (R = ResPor), (C = CommonRomance), (L = LexiconPor), (E = ExtraPor), (I = IrregPor), (R = ResPor), (C = CommonRomance),
Prelude in { Prelude in {
flags coding=utf8 ; flags coding=utf8 ;
lin lin
hungry_VP = E.ComplCN have_V2 (mkCN (mkN "hambre" feminine)) ; hungry_VP = E.ComplCN have_V2 (mkCN (mkN "fome" feminine)) ;
thirsty_VP = E.ComplCN have_V2 (mkCN (mkN "sed" feminine)) ; thirsty_VP = E.ComplCN have_V2 (mkCN (mkN "sede" feminine)) ;
has_age_VP card = mkVP have_V2 (mkNP <lin Card card : Card> L.year_N) ; has_age_VP card = mkVP have_V2 (mkNP <lin Card card : Card> L.year_N) ;
have_name_Cl x y = mkCl x (mkV2 (reflV (mkV "llamar"))) y ; have_name_Cl x y = mkCl x (mkV2 (reflV (mkV "chamar"))) y ;
married_Cl x y = mkCl (lin NP x) L.married_A2 (lin NP y) | mkCl (mkNP and_Conj (lin NP x) (lin NP y)) (mkA "casado") ; married_Cl x y = mkCl (lin NP x) L.married_A2 (lin NP y) | mkCl (mkNP and_Conj (lin NP x) (lin NP y)) (mkA "casado") ;
what_name_QCl x = mkQCl how_IAdv (mkCl (lin NP x) (reflV (mkV "llamar"))) ; 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_old_QCl x = mkQCl (mkIP how8many_IDet L.year_N) x have_V2 ;
how_far_QCl x = mkQCl (lin IAdv (ss "a qué distancia")) (mkCl x I.estar_V) ; how_far_QCl x = mkQCl (lin IAdv (ss "a que distância")) (mkCl x I.estar_V) ;
-- some more things -- some more things
weather_adjCl ap = mkCl (mkVP (mkVA I.hacer_V) (lin AP ap)) ; weather_adjCl ap = mkCl (mkVP (mkVA I.hacer_V) (lin AP ap)) ;
is_right_VP = E.ComplCN have_V2 (mkCN (mkN "razón")) ; is_right_VP = E.ComplCN have_V2 (mkCN (mkN "razão")) ;
is_wrong_VP = mkVP (mkVA I.estar_V) (mkAP (mkA "equivocado")) ; is_wrong_VP = mkVP (mkVA I.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) ; n_units_AP card cn a = mkAP (lin AdA (mkUtt (mkNP <lin Card card : Card> (lin CN cn)))) (lin A a) ;
bottle_of_CN np = mkCN (lin N2 (mkN2 (mkN "botella" feminine) part_Prep)) np ; bottle_of_CN np = mkCN (lin N2 (mkN2 (mkN "garrafa" feminine) part_Prep)) np ;
cup_of_CN np = mkCN (lin N2 (mkN2 (mkN "taza") part_Prep)) np ; cup_of_CN np = mkCN (lin N2 (mkN2 (mkN "copo") part_Prep)) np ;
glass_of_CN np = mkCN (lin N2 (mkN2 (mkN "vaso") part_Prep)) np ; -- copa glass_of_CN np = mkCN (lin N2 (mkN2 (mkN "taça") part_Prep)) np ;
{- {-
-- spatial deixis and motion verbs -- spatial deixis and motion verbs
@@ -57,14 +56,14 @@ oper
lin lin
weekdayPunctualAdv w = lin Adv {s = w.s ! C.Sg} ; -- lundi weekdayPunctualAdv w = lin Adv {s = w.s ! C.Sg} ; -- lundi
weekdayHabitualAdv w = SyntaxPor.mkAdv noPrep (mkNP the_Det w) ; -- il lunedí ---- weekdayHabitualAdv w = SyntaxPor.mkAdv noPrep (mkNP the_Det w) ; -- il lunedí ----
weekdayLastAdv w = SyntaxPor.mkAdv noPrep (mkNP the_Det (mkCN (mkA "pasado") w)) ; -- il lunedí scorso weekdayLastAdv w = SyntaxPor.mkAdv noPrep (mkNP the_Det (mkCN (mkA "passado") w)) ; -- il lunedí scorso
weekdayNextAdv w = SyntaxPor.mkAdv noPrep (mkNP the_Det (mkCN (mkA "próximo") w)) ; -- il lunedí prossimo weekdayNextAdv w = SyntaxPor.mkAdv noPrep (mkNP the_Det (mkCN (prefixA (mkA "próximo")) w)) ; -- il lunedí prossimo
monthAdv m = lin Adv {s = "en" ++ m.s ! C.Sg} ; -- in mggio monthAdv m = lin Adv {s = "em" ++ m.s ! C.Sg} ; -- in maggio
yearAdv y = SyntaxPor.mkAdv (mkPrep "en") y ; ---- yearAdv y = SyntaxPor.mkAdv (mkPrep "em") y ; ----
dayMonthAdv d m = ParadigmsPor.mkAdv ("el" ++ (d.s ! R.Nom).comp ++ m.s ! C.Sg) ; -- le 17 mai dayMonthAdv d m = ParadigmsPor.mkAdv ("o" ++ (d.s ! R.Nom).comp ++ m.s ! C.Sg) ; -- le 17 mai
monthYearAdv m y = lin Adv {s = "en" ++ m.s ! C.Sg ++ (y.s ! R.Nom).comp} ; -- in maggio 2012 monthYearAdv m y = lin Adv {s = "em" ++ m.s ! C.Sg ++ (y.s ! R.Nom).comp} ; -- in maggio 2012
dayMonthYearAdv d m y = ParadigmsPor.mkAdv ("el" ++ (d.s ! R.Nom).comp ++ m.s ! C.Sg ++ (y.s ! R.Nom).comp) ; -- il 17 maggio 2013 dayMonthYearAdv d m y = ParadigmsPor.mkAdv ("o" ++ (d.s ! R.Nom).comp ++ m.s ! C.Sg ++ (y.s ! R.Nom).comp) ; -- il 17 maggio 2013
intYear = symb ; intYear = symb ;
intMonthday = symb ; intMonthday = symb ;
@@ -72,7 +71,7 @@ lin
lincat Language = N ; lincat Language = N ;
lin InLanguage l = SyntaxPor.mkAdv (mkPrep "en") (mkNP l) ; lin InLanguage l = SyntaxPor.mkAdv (mkPrep "em") (mkNP l) ;
lin lin
weekdayN w = w ; weekdayN w = w ;
@@ -88,60 +87,60 @@ oper mkLanguage : Str -> N = \s -> mkN s ;
---------------------------------------------- ----------------------------------------------
---- lexicon of special names ---- lexicon of special names
lin monday_Weekday = mkN "lunes" ; lin monday_Weekday = mkN "segunda" ;
lin tuesday_Weekday = mkN "martes" ; lin tuesday_Weekday = mkN "terça" ;
lin wednesday_Weekday = mkN "miércoles" ; lin wednesday_Weekday = mkN "quarta" ;
lin thursday_Weekday = mkN "jueves" ; lin thursday_Weekday = mkN "quinta" ;
lin friday_Weekday = mkN "viernes" ; lin friday_Weekday = mkN "sexta" ;
lin saturday_Weekday = mkN "sábado" ; lin saturday_Weekday = mkN "sábado" ;
lin sunday_Weekday = mkN "domingo" ; lin sunday_Weekday = mkN "domingo" ;
lin january_Month = mkN "enero" ; lin january_Month = mkN "janeiro" ;
lin february_Month = mkN "febrero" ; lin february_Month = mkN "fevereiro" ;
lin march_Month = mkN "marzo" ; lin march_Month = mkN "março" ;
lin april_Month = mkN "abril" ; lin april_Month = mkN "abril" ;
lin may_Month = mkN "mayo" ; lin may_Month = mkN "maio" ;
lin june_Month = mkN "junio" ; lin june_Month = mkN "junho" ;
lin july_Month = mkN "julio" ; lin july_Month = mkN "julho" ;
lin august_Month = mkN "agosto" ; lin august_Month = mkN "agosto" ;
lin september_Month = mkN "septiembre" ; lin september_Month = mkN "setembro" ;
lin october_Month = mkN "octubre" ; lin october_Month = mkN "outubro" ;
lin november_Month = mkN "noviembre" ; lin november_Month = mkN "novembro" ;
lin december_Month = mkN "diciembre" ; lin december_Month = mkN "dezembro" ;
lin afrikaans_Language = mkLanguage "afrikáans" ; lin afrikaans_Language = mkLanguage "africâner" ;
lin amharic_Language = mkLanguage "amárico" ; lin amharic_Language = mkLanguage "amárico" ;
lin arabic_Language = mkLanguage "árabe" ; lin arabic_Language = mkLanguage "árabe" ;
lin bulgarian_Language = mkLanguage "búlgaro" ; lin bulgarian_Language = mkLanguage "búlgaro" ;
lin catalan_Language = mkLanguage "catalán" ; lin catalan_Language = mkLanguage "catalão" ;
lin chinese_Language = mkLanguage "chino" ; lin chinese_Language = mkLanguage "chinês" ;
lin danish_Language = mkLanguage "danés" ; lin danish_Language = mkLanguage "dinamarquês" ;
lin dutch_Language = mkLanguage "neerlandés" ; lin dutch_Language = mkLanguage "holandês" ;
lin english_Language = mkLanguage "inglés" ; lin english_Language = mkLanguage "inglês" ;
lin estonian_Language = mkLanguage "estonio" ; lin estonian_Language = mkLanguage "estônio" ;
lin finnish_Language = mkLanguage "finés" ; lin finnish_Language = mkLanguage "finlandês" ;
lin french_Language = mkLanguage "francés" ; lin french_Language = mkLanguage "francês" ;
lin german_Language = mkLanguage "alemán" ; lin german_Language = mkLanguage "alemão" ;
lin greek_Language = mkLanguage "griego" ; lin greek_Language = mkLanguage "grego" ;
lin hebrew_Language = mkLanguage "ebreo" ; lin hebrew_Language = mkLanguage "hebraico" ;
lin hindi_Language = mkLanguage "hindi" ; lin hindi_Language = mkLanguage "hindi" ;
lin japanese_Language = mkLanguage "japonés" ; lin japanese_Language = mkLanguage "japonês" ;
lin italian_Language = mkLanguage "italiano" ; lin italian_Language = mkLanguage "italiano" ;
lin latin_Language = mkLanguage "latín" ; lin latin_Language = mkLanguage "latim" ;
lin latvian_Language = mkLanguage "letón" ; lin latvian_Language = mkLanguage "letão" ;
lin maltese_Language = mkLanguage "maltés" ; lin maltese_Language = mkLanguage "maltês" ;
lin nepali_Language = mkLanguage "nepalí" ; lin nepali_Language = mkLanguage "nepalês" ;
lin norwegian_Language = mkLanguage "noruego" ; lin norwegian_Language = mkLanguage "norueguês" ;
lin persian_Language = mkLanguage "persa" ; lin persian_Language = mkLanguage "persa" ;
lin polish_Language = mkLanguage "polaco" ; lin polish_Language = mkLanguage "polonês" ;
lin punjabi_Language = mkLanguage "punjabi" ; lin punjabi_Language = mkLanguage "punjabi" ;
lin romanian_Language = mkLanguage "rumano" ; lin romanian_Language = mkLanguage "romeno" ;
lin russian_Language = mkLanguage "ruso" ; lin russian_Language = mkLanguage "russo" ;
lin sindhi_Language = mkLanguage "sindhi" ; lin sindhi_Language = mkLanguage "sindhi" ;
lin spanish_Language = mkLanguage "español" | mkLanguage "castellano" ; lin spanish_Language = mkLanguage "espanhol" | mkLanguage "castelhano" ;
lin swahili_Language = mkLanguage "swahili" ; lin swahili_Language = mkLanguage "suaíli" ;
lin swedish_Language = mkLanguage "sueco" ; lin swedish_Language = mkLanguage "sueco" ;
lin thai_Language = mkLanguage "tailandés" ; lin thai_Language = mkLanguage "tailandês" ;
lin turkish_Language = mkLanguage "turco" ; lin turkish_Language = mkLanguage "turco" ;
lin urdu_Language = mkLanguage "urdu" ; lin urdu_Language = mkLanguage "urdu" ;

View File

@@ -0,0 +1,3 @@
--# -path=.:alltenses:prelude
resource ConstructorsPor = Constructors with (Grammar = GrammarPor) ;

View File

@@ -32,30 +32,30 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo
artDef : Bool -> Gender -> Number -> Case -> Str = \isNP,g,n,c -> artDef : Bool -> Gender -> Number -> Case -> Str = \isNP,g,n,c ->
case isNP of { case isNP of {
True => case <g,n,c> of { True => case <g,n,c> of {
<Masc,Sg, _> => prepCase c ++ "el" ; <Masc,Sg, _> => prepCase c ++ "o" ;
<Fem, Sg, _> => prepCase c ++ "la" ; ----- ?? <Fem, Sg, _> => prepCase c ++ "a" ; ----- ??
<Masc,Pl, _> => prepCase c ++ "los" ; <Masc,Pl, _> => prepCase c ++ "os" ;
<Fem ,Pl, _> => prepCase c ++ "las" <Fem ,Pl, _> => prepCase c ++ "as"
} ; } ;
_ => case <g,n,c> of { False => case <g,n,c> of {
<Masc,Sg, CPrep P_de> => "del" ; <Masc,Sg, CPrep P_de> => "do" ;
<Masc,Sg, CPrep P_a> => "al" ; <Masc,Sg, CPrep P_a> => "ao" ;
<Masc,Sg, _> => prepCase c ++ "el" ; <Masc,Sg, _> => prepCase c ++ "o" ;
<Fem ,Sg, CPrep P_de> => chooseDeLa ; <Fem ,Sg, CPrep P_de> => "da" ;
<Fem ,Sg, CPrep P_a> => chooseALa ; <Fem ,Sg, CPrep P_a> => "à" ;
<Fem, Sg, _> => prepCase c ++ chooseLa ; <Fem, Sg, _> => prepCase c ++ "a" ;
<Masc,Pl, _> => prepCase c ++ "los" ; <Masc,Pl, _> => prepCase c ++ "os" ;
<Fem ,Pl, _> => prepCase c ++ "las" <Fem ,Pl, _> => prepCase c ++ "as"
} }
} ; } ;
artIndef = \isNP,g,n,c -> case isNP of { artIndef = \isNP,g,n,c -> case isNP of {
True => case n of { True => case n of {
Sg => prepCase c ++ genForms "uno" "una" ! g ; Sg => prepCase c ++ genForms "um" "uma" ! g ;
_ => prepCase c ++ genForms "unos" "unas" ! g _ => prepCase c ++ genForms "uns" "umas" ! g
} ; } ;
_ => case n of { _ => case n of {
Sg => prepCase c ++ genForms "un" "una" ! g ; Sg => prepCase c ++ genForms "um" "uma" ! g ;
_ => prepCase c _ => prepCase c
} }
} ; } ;
@@ -154,13 +154,13 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo
relPron : Bool => AAgr => Case => Str = \\b,a,c => relPron : Bool => AAgr => Case => Str = \\b,a,c =>
case c of { case c of {
Nom | Acc => "que" ; Nom | Acc => "que" ;
CPrep P_a => "cuyo" ; CPrep P_a => "cujo" ;
_ => prepCase c ++ "cuyo" _ => prepCase c ++ "cujo"
} ; } ;
pronSuch : AAgr => Str = aagrForms "tál" "tál" "tales" "tales" ; pronSuch : AAgr => Str = aagrForms "tal" "tal" "tais" "tais" ;
quelPron : AAgr => Str = aagrForms "cuál" "cuál" "cuales" "cuales" ; quelPron : AAgr => Str = aagrForms "qual" "qual" "quais" "quais" ;
partQIndir = [] ; ---- ? partQIndir = [] ; ---- ?
@@ -204,13 +204,13 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo
_ => False _ => False
} ; } ;
auxPassive : Verb = verbBeschH (estar_2 "estar") ; auxPassive : Verb = verbBeschH (estar_10 "estar") ;
copula : Verb = verbBeschH (ser_1 "ser") ; copula : Verb = verbBeschH (ser_3 []) ;
estar_V : Verb = verbBeschH (estar_2 "estar") ; estar_V : Verb = verbBeschH (estar_10 "estar") ;
haber_V : Verb = verbBeschH (haber_3 "haber") ; haber_V : Verb = verbBeschH (haver_2 "haver") ;
verbBeschH : Verbum -> Verb = \v -> verbBesch v ** {vtyp = VHabere ; p = []} ; verbBeschH : Verbum -> Verb = \v -> verbBesch v ** {vtyp = VHabere ; p = []} ;

View File

@@ -52,13 +52,13 @@ lin
InflectionAdv adv = { InflectionAdv adv = {
t = "adv" ; t = "adv" ;
s1 = heading1 "Adverbe" ; s1 = heading1 "Advérbio" ;
s2 = paragraph adv.s s2 = paragraph adv.s
} ; } ;
InflectionPrep p = { InflectionPrep p = {
t = "prep" ; t = "prep" ;
s1 = heading1 "Préposition" ; s1 = heading1 "Preposição" ;
s2 = paragraph p.s s2 = paragraph p.s
} ; } ;
@@ -135,8 +135,8 @@ lin
lin lin
NoDefinition t = {s=t.s}; NoDefinition t = {s=t.s};
MkDefinition t d = {s="<p><b>Definición:</b>"++t.s++d.s++"</p>"}; MkDefinition t d = {s="<p><b>Definição:</b>"++t.s++d.s++"</p>"};
MkDefinitionEx t d e = {s="<p><b>Definición:</b>"++t.s++d.s++"</p><p><b>Ejemplo:</b>"++e.s++"</p>"}; MkDefinitionEx t d e = {s="<p><b>Definição:</b>"++t.s++d.s++"</p><p><b>Exemplo:</b>"++e.s++"</p>"};
lin lin
MkDocument b i e = ss (i.s1 ++ "<p style=\"font-size:20px\">"++b.s++"</p>" ++ i.s2 ++ paragraph e.s) ; -- explanation appended in a new paragraph MkDocument b i e = ss (i.s1 ++ "<p style=\"font-size:20px\">"++b.s++"</p>" ++ i.s2 ++ paragraph e.s) ; -- explanation appended in a new paragraph

View File

@@ -1,49 +1,26 @@
concrete ExtraPor of ExtraPorAbs = ExtraRomancePor ** concrete ExtraPor of ExtraPorAbs = ExtraRomancePor **
open CommonRomance, PhonoPor, MorphoPor, ParadigmsPor, ParamX, ResPor, BeschPor, (I = IrregPor), open CommonRomance, PhonoPor, MorphoPor, ParadigmsPor, ParamX, ResPor, BeschPor, (I = IrregPor), (S = StructuralPor),
Prelude in { Prelude in {
flags coding=utf8 ; flags coding=utf8 ;
lin lin
i8fem_Pron = mkPronoun --- Prons
"yo" "me" "me" "mí" i8fem_Pron = pronAgr S.i_Pron Fem Sg P1 ;
"mi" "mi" "mis" "mis" youSg8fem_Pron = pronAgr S.youSg_Pron Fem Sg P3 ;
Fem Sg P1 ; we8fem_Pron = pronAgr S.we_Pron Fem Pl P1 ;
youPl8fem_Pron = pronAgr S.youPl_Pron Fem Pl P3 ;
youPolPl_Pron = S.youPlPol_Pron ;
youPol8fem_Pron = pronAgr S.youSgPol_Pron Fem Sg P2 ;
youPolPl8fem_Pron = pronAgr S.youPlPol_Pron Fem Pl P2 ;
they8fem_Pron = mkPronFrom S.they_Pron "elas" "as" "lhes" "elas" Fem Pl P3 ;
these8fem_NP = makeNP ["estas"] Fem Pl ; these8fem_NP = makeNP ["estas"] Fem Pl ;
they8fem_Pron = mkPronoun
"ellas" "las" "les" "ellas"
"su" "su" "sus" "sus"
Fem Pl P3 ;
this8fem_NP = pn2np (mkPN ["esta"] Fem) ; this8fem_NP = pn2np (mkPN ["esta"] Fem) ;
those8fem_NP = makeNP ["esas"] Fem Pl ; those8fem_NP = makeNP ["essas"] Fem Pl ;
we8fem_Pron = mkPronoun whoPl8fem_IP = {s = \\c => prepCase c ++ "quem" ; a = aagr Fem Pl} ;
"nosotras" "nos" "nos" "nosotras" whoSg8fem_IP = {s = \\c => prepCase c ++ "quem" ; a = aagr Fem Sg} ;
"nuestro" "nuestra" "nuestros" "nuestras"
Fem Pl P1 ;
whoPl8fem_IP = {s = \\c => prepCase c ++ "quién" ; a = aagr Fem Pl} ;
whoSg8fem_IP = {s = \\c => prepCase c ++ "quién" ; a = aagr Fem Sg} ;
youSg8fem_Pron = mkPronoun
"tú" "te" "te" "ti"
"tu" "tu" "tus" "tus"
Fem Sg P2 ;
youPl8fem_Pron = mkPronoun
"vosotras" "os" "os" "vosotras"
"vuestro" "vuestra" "vuestros" "vuestras"
Fem Pl P2 ;
youPol8fem_Pron = mkPronoun
"usted" "la" "le" "usted"
"su" "su" "sus" "sus"
Fem Sg P3 ;
youPolPl_Pron = mkPronoun
"ustedes" "los" "les" "usted"
"su" "su" "sus" "sus"
Masc Pl P3 ;
youPolPl8fem_Pron = mkPronoun
"ustedes" "las" "les" "usted"
"su" "su" "sus" "sus"
Fem Pl P3 ;
ImpNeg np vp = lin Utt{ ImpNeg np vp = lin Utt{
s = (mkClause (np.s ! Nom).comp np.hasClit False np.a vp).s s = (mkClause (np.s ! Nom).comp np.hasClit False np.a vp).s

View File

@@ -32,6 +32,6 @@ abstract ExtraPorAbs = ExtraRomanceAbs ** {
PassVPSlash_ser : VPSlash -> VP ; PassVPSlash_ser : VPSlash -> VP ;
UseComp_estar : Comp -> VP ; -- esta lleno, as opposed to es lleno UseComp_estar : Comp -> VP ; -- 'está cheio', instead of 'é cheio'
} }

View File

@@ -5,6 +5,7 @@ concrete LexiconPor of Lexicon = CatPor ** open
flags flags
optimize=values ; optimize=values ;
coding=utf8 ;
lin lin
easy_A2V = mkA2V (regA "fácil") dative genitive ; easy_A2V = mkA2V (regA "fácil") dative genitive ;
@@ -38,8 +39,9 @@ lin
near_A = regA "cercano" ; near_A = regA "cercano" ;
new_A = prefA (regADeg "novo") ; new_A = prefA (regADeg "novo") ;
old_A = prefA (regADeg "velho") ; old_A = prefA (regADeg "velho") ;
ready_A = regA "pronto" ;
red_A = regADeg "vermelho" ; red_A = regADeg "vermelho" ;
rotten_A = regA "podrido" ; rotten_A = regA "podre" ;
round_A = regA "redondo" ; round_A = regA "redondo" ;
sharp_A = regA "filoso" ; -- afilado, puntiagudo sharp_A = regA "filoso" ; -- afilado, puntiagudo
short_A = regADeg "curto" ; --- breve, pequeno, baixo short_A = regADeg "curto" ; --- breve, pequeno, baixo
@@ -50,6 +52,7 @@ lin
thick_A = regADeg "grosso" ; thick_A = regADeg "grosso" ;
thin_A = regADeg "fino" ; -- delgado thin_A = regADeg "fino" ; -- delgado
ugly_A = regADeg "feio" ; ugly_A = regADeg "feio" ;
uncertain_A = regA "incerto" ;
warm_A = regADeg "quente" ; warm_A = regADeg "quente" ;
wet_A = regA "mojado" ; wet_A = regA "mojado" ;
white_A = compADeg (regA "blanco") ; white_A = compADeg (regA "blanco") ;
@@ -251,47 +254,47 @@ lin
right_Ord = M.mkOrd (regA "direita") ; right_Ord = M.mkOrd (regA "direita") ;
john_PN = mkPN "João" masculine ; john_PN = mkPN "João" masculine ;
paris_PN = mkPN "Paris" feminine ; paris_PN = mkPN "Paris" feminine ;
rain_V0 = mkV0 (verboV (llover_89 "chover")) ; -- V
rain_V0 = mkV0 (verboV (chover_47 "chover")) ;
paint_V2A = mkV2A (regV "pintar") accusative (mkPrep "em") ; paint_V2A = mkV2A (regV "pintar") accusative (mkPrep "em") ;
ask_V2Q = mkV2Q (regV "perguntar") dative ; ask_V2Q = mkV2Q (regV "perguntar") dative ;
answer_V2S = mkV2S (regV "responder") dative ; answer_V2S = mkV2S (regV "responder") dative ;
beg_V2V = mkV2V (mkV "rogar" "rogo") accusative dative ; -- pedir beg_V2V = mkV2V (mkV "rogar") accusative dative ; -- pedir
-- V2 bite_V2 = dirV2 (regV "morder") ;
bite_V2 = dirV2 (verboV (morder_50b "morder")) ;
break_V2 = dirV2 (special_ppV (regV "romper") "rompido") ; break_V2 = dirV2 (special_ppV (regV "romper") "rompido") ;
buy_V2 = dirV2 (regV "comprar") ; buy_V2 = dirV2 (regV "comprar") ;
close_V2 = dirV2 (mkV "fechar" "fechado") ; close_V2 = dirV2 (mkV "fechar") ;
count_V2 = dirV2 (verboV (contar_38b "contar")) ; count_V2 = dirV2 (regV "contar") ;
cut_V2 = dirV2 (regV "cortar") ; cut_V2 = dirV2 (regV "cortar") ;
do_V2 = dirV2 (verboV (hacer_44 "fazer")) ; do_V2 = dirV2 (regV "fazer") ;
drink_V2 = dirV2 (regV "beber") ; drink_V2 = dirV2 (regV "beber") ;
eat_V2 = dirV2 (regV "comer") ; eat_V2 = dirV2 (regV "comer") ;
fear_V2 = dirV2 (regV "temer") ; fear_V2 = dirV2 (regV "temer") ;
fight_V2 = dirV2 (regV "lutar") ; fight_V2 = dirV2 (regV "lutar") ;
find_V2 = dirV2 (verboV (encontrar_38 "encontrar")) ; find_V2 = dirV2 (regV "encontrar") ;
forget_V2 = dirV2 (regV "esquecer") ; forget_V2 = dirV2 (regV "esquecer") ;
hate_V2 = dirV2 (mkV "odiar" "ódio") ; hate_V2 = dirV2 (mkV "odiar") ;
hear_V2 = dirV2 (mkV (oir_51 "ouvir")) ; hear_V2 = dirV2 (mkV "ouvir") ;
hit_V2 = dirV2 (regV "bater") ; hit_V2 = dirV2 (regV "bater") ;
hold_V2 = dirV2 (verboV (tener_4 "ter")) ; hold_V2 = dirV2 (regV "ter") ;
hunt_V2 = dirV2 (regV "caçar") ; hunt_V2 = dirV2 (regV "caçar") ;
kill_V2 = dirV2 (regV "matar") ; kill_V2 = dirV2 (regV "matar") ;
know_V2 = mkV2 (verboV (conocer_25 "conhecer")) ; know_V2 = mkV2 (regV "conhecer") ;
learn_V2 = dirV2 (regV "aprender") ; learn_V2 = dirV2 (regV "aprender") ;
leave_V2 = dirV2 (regV "partir") ; -- irse, dejar leave_V2 = dirV2 (regV "partir") ; -- irse, dejar
like_V2 = dirV2 (regV "gostar") ; like_V2 = dirV2 (regV "gostar") ;
listen_V2 = dirV2 (regV "escutar") ; listen_V2 = dirV2 (regV "escutar") ;
lose_V2 = dirV2 (verboV (defender_29 "perder")) ; lose_V2 = dirV2 (regV "perder") ;
love_V2 = dirV2 (regV "amar") ; love_V2 = dirV2 (regV "amar") ;
open_V2 = dirV2 (special_ppV (regV "abrir") "aberto") ; open_V2 = dirV2 (special_ppV (regV "abrir") "aberto") ;
play_V2 = dirV2 (verboV (jugar_47 "jogar")) ; play_V2 = dirV2 (regV "jogar") ;
pull_V2 = dirV2 (regV "tirar") ; pull_V2 = dirV2 (regV "tirar") ;
push_V2 = dirV2 (regV "empurrar") ; push_V2 = dirV2 (regV "empurrar") ;
put_V2 = dirV2 (verboV (poner_60 "por")) ; put_V2 = dirV2 (regV "por") ;
read_V2 = dirV2 (verboV (creer_26 "ler")) ; read_V2 = dirV2 (regV "ler") ;
rub_V2 = dirV2 (regV "resfregar") ; rub_V2 = dirV2 (regV "resfregar") ;
scratch_V2 = dirV2 (regV "rascar") ; scratch_V2 = dirV2 (regV "rascar") ;
see_V2 = dirV2 (verboV (ver_83 "ver")) ; see_V2 = dirV2 (regV "ver") ;
seek_V2 = dirV2 (regV "buscar") ; seek_V2 = dirV2 (regV "buscar") ;
speak_V2 = dirV2 (regV "falar") ; speak_V2 = dirV2 (regV "falar") ;
split_V2 = dirV2 (regV "separar") ; -- dividir,) ; split_V2 = dirV2 (regV "separar") ; -- dividir,) ;
@@ -303,51 +306,51 @@ lin
teach_V2 = dirV2 (regV "enseñar") ; teach_V2 = dirV2 (regV "enseñar") ;
throw_V2 = dirV2 (regV "tirar") ; throw_V2 = dirV2 (regV "tirar") ;
tie_V2 = dirV2 (regV "atar") ; tie_V2 = dirV2 (regV "atar") ;
understand_V2 = dirV2 (mkV "entender" "entiendo") ; understand_V2 = dirV2 (mkV "entender") ;
wait_V2 = mkV2 (regV "esperar") dative ; wait_V2 = mkV2 (regV "esperar") dative ;
wash_V2 = dirV2 (regV "lavar") ; wash_V2 = dirV2 (regV "lavar") ;
watch_V2 = dirV2 (regV "mirar") ; -- ver watch_V2 = dirV2 (regV "mirar") ; -- ver
win_V2 = dirV2 (regV "ganar") ; win_V2 = dirV2 (regV "ganar") ;
wipe_V2 = dirV2 (regV "secar") ; wipe_V2 = dirV2 (regV "secar") ;
write_V2 = dirV2 (special_ppV (regV "escribir") "escrito") ; write_V2 = dirV2 (special_ppV (regV "escribir") "escrito") ;
add_V3 = dirV3 (regV "sumar") dative ; add_V3 = dirV3 (regV "somar") dative ;
give_V3 = dirdirV3 (verboV (dar_27 "dar")) ; give_V3 = dirdirV3 (regV "dar") ;
sell_V3 = dirV3 (regV "vender") dative ; sell_V3 = dirV3 (regV "vender") dative ;
send_V3 = dirV3 (regV "mandar") dative ; -- enviar send_V3 = dirV3 (regV "mandar") dative ; -- enviar
talk_V3 = mkV3 (regV "hablar") dative genitive ; talk_V3 = mkV3 (regV "falar") dative genitive ;
become_VA = reflV (mkV "converter" "convertido") ; --- convertirse en, volverse, ponerse become_VA = reflV (mkV "converter") ; --- convertirse en, volverse, ponerse
know_VQ = mkVQ (verboV (saber_71 "saber")) ; know_VQ = mkVQ (regV "saber") ;
wonder_VQ = mkVQ (reflV (regV "preguntar")) ; wonder_VQ = mkVQ (reflV (regV "preguntar")) ;
fear_VS = mkVS (regV "temer") ; fear_VS = mkVS (regV "temer") ;
hope_VS = mkVS (regV "esperar") ; hope_VS = mkVS (regV "esperar") ;
know_VS = mkVS (verboV (saber_71 "saber")) ; know_VS = mkVS (regV "saber") ;
say_VS = mkVS (verboV (decir_28 "dizer")) ; say_VS = mkVS (regV "dizer") ;
-- V -- V
blow_V = regV "soplar" ; blow_V = regV "assoprar" ;
breathe_V = (regV "respirar") ; breathe_V = regV "respirar" ;
burn_V = regV "quemar" ; burn_V = regV "queimar" ;
come_V = verboV (venir_82 "vir") ; come_V = regV "vir" ;
die_V = verboV (morir_35b "morrer") ; die_V = regV "morrer" ;
dig_V = regV "escarbar" ; dig_V = regV "escavar" ;
fall_V = verboV (caer_20 "caer") ; fall_V = regV "cair" ;
float_V = regV "flotar" ; float_V = regV "flutuar" ;
flow_V = verboV (influir_45 "fluir") ; -- circular flow_V = regV "fluir" ; -- circular
fly_V = regV "volar" ; fly_V = regV "voar" ;
freeze_V = regV "congelar" ; freeze_V = regV "congelar" ;
go_V = (verboV (ir_46 "ir")) ; go_V = (regV "ir") ;
jump_V = regV "saltar" ; jump_V = regV "saltar" ;
laugh_V = regV "reir" ; ----V reír_67 laugh_V = regV "reir" ; ----V reír_67
lie_V = reflV (regV "acostar") ; -- "acostarse" lie_V = reflV (regV "acostar") ; -- "acostarse"
live_V = verboV (vivir_7 "viver") ; live_V = regV "viver" ;
play_V = regV "jugar" ; play_V = regV "jugar" ;
run_V = regV "correr" ; run_V = regV "correr" ;
sew_V = regV "coser" ; sew_V = regV "coser" ;
sing_V = regV "cantar" ; sing_V = regV "cantar" ;
sit_V = reflV (mkV "sentar" "siento") ; sit_V = reflV (mkV "sentar") ;
sleep_V = verboV (dormir_35 "dormir") ; sleep_V = regV "dormir" ;
smell_V = verboV (oler_52 "oler") ; smell_V = regV "cheirar" ;
spit_V = regV "escupir" ; spit_V = regV "escupir" ;
stand_V = verboV (estar_2 "estar") ; ---- "estar de pie" ; stand_V = regV "estar" ; ---- "estar de pie" ;
stop_V = regV "parar" ; stop_V = regV "parar" ;
swell_V = regV "tragar" ; swell_V = regV "tragar" ;
swim_V = regV "nadar" ; swim_V = regV "nadar" ;
@@ -356,5 +359,6 @@ lin
turn_V = regV "doblar" ; turn_V = regV "doblar" ;
vomit_V = regV "vomitar" ; vomit_V = regV "vomitar" ;
walk_V = mkV "caminhar" ; walk_V = mkV "caminhar" ;
-- interj
alas_Interj = ss "infelizmente" ;
} ; } ;

View File

@@ -12,7 +12,7 @@ resource MorphoPor = CommonRomance, ResPor **
CatPor in { CatPor in {
flags optimize=all ; flags optimize=all ;
coding=utf8 ;
--2 Nouns --2 Nouns
-- --
-- The following macro is useful for creating the forms of -- The following macro is useful for creating the forms of

View File

@@ -1,6 +1,8 @@
concrete NumeralPor of Numeral = CatPor [Numeral,Digits] ** concrete NumeralPor of Numeral = CatPor [Numeral,Digits] **
open CommonRomance, ResRomance, MorphoPor, Prelude in { open CommonRomance, ResRomance, MorphoPor, Prelude in {
flags coding=utf8 ;
lincat lincat
Digit = {s : DForm => CardOrd => Str} ; Digit = {s : DForm => CardOrd => Str} ;
Sub10 = {s : DForm => CardOrd => Str ; n : Number} ; Sub10 = {s : DForm => CardOrd => Str ; n : Number} ;

View File

@@ -31,6 +31,7 @@ resource ParadigmsPor =
CatPor in { CatPor in {
flags optimize=all ; flags optimize=all ;
coding=utf8 ;
--2 Parameters --2 Parameters
-- --
@@ -92,7 +93,7 @@ oper
mascN : N -> N ; mascN : N -> N ;
mascN x = {s = x.s ; g = masculine ; lock_N = <>} ; mascN x = {s = x.s ; g = masculine ; lock_N = <>} ;
mk2N : (baston,bastones : Str) -> Gender -> N ; mk2N : (bastão, bastões : Str) -> Gender -> N ;
mk2N x y g = mkNounIrreg x y g ** {lock_N = <>} ; mk2N x y g = mkNounIrreg x y g ** {lock_N = <>} ;
--- [] update this docstring --- [] update this docstring
@@ -188,6 +189,11 @@ oper
a.s ! Posit ! f} ; a.s ! Posit ! f} ;
isPre = a.isPre ; lock_A = <>} ; isPre = a.isPre ; lock_A = <>} ;
{- superlADeg : A -> A ;
superlADeg a = {s = table {Posit => a.s ! Posit ;
Compar => a.s ! Compar ;
Superl => a.s ! Compar}} ;
-}
regA : Str -> A ; regA : Str -> A ;
regA a = compADeg {s = \\_ => (mkAdjReg a).s ; isPre = False ; regA a = compADeg {s = \\_ => (mkAdjReg a).s ; isPre = False ;
lock_A = <>} ; lock_A = <>} ;
@@ -267,31 +273,39 @@ oper
--2 Verbs --2 Verbs
regV : Str -> V ; regV : Str -> V ;
regV x = -- cortar actuar cazar guiar pagar sacar regV v = -- cortar actuar cazar guiar pagar sacar
let let
ar = Predef.dp 2 x ; xr = Predef.dp 2 v ; -- -ar
z = Predef.dp 1 (Predef.tk 2 x) ; z = Predef.dp 1 (Predef.tk 2 v) ; -- i in -iar
verb = case ar of { verb = case xr of {
"ir" => vivir_7 x ; "ir" => case z of {
"er" => deber_6 x ; "g" => redigir_52 v ;
"ar" => case z of { "a" => sair_68 v ;
"u" => actuar_9 x ; "u" => distribuir_73 v ;
"z" => cazar_21 x ; _ => garantir_6 v
"i" => guiar_43 x ;
"g" => pagar_53 x ;
"c" => sacar_72 x ;
_ => cortar_5 x
} ; } ;
_ => Predef.error ("regular verb infinitive must end ar/ir/er, not satisfied by" ++ x) -- rm this? "er" => case z of {
"c" => aquecer_25 v ;
_ => vender_5 v
} ;
"ar" => case z of {
"e" => recear_15 v ;
"i" => anunciar_16 v ;
"o" => perdoar_20 v ;
"u" => averiguar_21 v ;
_ => comprar_4 v
} ;
"or" => pôr_45 v ;
_ => comprar_4 v -- hole
} }
in verboV verb ; in verboV verb ;
regAltV : (mostrar,muestro : Str) -> V ; {- regAltV : (mostrar,muestro : Str) -> V ;
regAltV x y = case x of { regAltV x y = case x of {
_ + "ar" => verboV (regAlternV x y) ; _ + "ar" => verboV (regAlternV x y) ;
_ => verboV (regAlternVEr x y) _ => verboV (regAlternVEr x y)
} ; } ;
-}
verboV : Verbum -> V ; verboV : Verbum -> V ;
verboV ve = verbBesch ve ** {vtyp = VHabere ; p = [] ; verboV ve = verbBesch ve ** {vtyp = VHabere ; p = [] ;
lock_V = <>} ; lock_V = <>} ;
@@ -311,7 +325,8 @@ oper
-- Verbs with vowel alternation in the stem - easiest to give with two -- Verbs with vowel alternation in the stem - easiest to give with two
-- forms, e.g. "mostrar"/"muestro". -- forms, e.g. "mostrar"/"muestro".
mkV : (mostrar,muestro : Str) -> V = regAltV ; -- mkV : (mostrar,muestro : Str) -> V = regAltV ;
-- rm'ed as is uncommon in Por
-- Most irregular verbs are found in $IrregPor$. If this is not -- Most irregular verbs are found in $IrregPor$. If this is not
-- enough, the module $BeschPor$ gives all the patterns of the -- enough, the module $BeschPor$ gives all the patterns of the

View File

@@ -46,12 +46,12 @@ lin
-- lexical entries -- lexical entries
another_Quant = mkQuantifier "otro" "otra" "otros" "otras" ; another_Quant = mkQuantifier "outro" "outra" "outros" "outras" ;
some_Quant = mkQuantifier "algún" "alguna" "algunos" "algunas" ; some_Quant = mkQuantifier "algum" "alguma" "alguns" "algumas" ;
anySg_Det = mkDeterminer "algún" "alguna" Sg False ; ---- also meaning "whichever" ? anySg_Det = mkDeterminer "algum" "alguma" Sg False ; ---- also meaning "whichever" ?
each_Det = SyntaxPor.every_Det ; each_Det = SyntaxPor.every_Det ;
but_Subj = {s = "pero" ; m = Indic} ; ---- strange to have this as Subj but_Subj = {s = "mas" ; m = Indic} ; ---- strange to have this as Subj
{- {-
myself_NP = regNP "myself" singular ; myself_NP = regNP "myself" singular ;

View File

@@ -1,39 +1,3 @@
resource PhonoPor = open Prelude in { resource PhonoPor = open Prelude in {
flags coding=utf8 ;
--3 Elision
--
-- The phonological rule of *elision* can be defined as follows in GF.
-- In Pornish it includes both vowels and 'h'.
oper
vocale : Strs = strs {
"a" ; "e" ; "h" ; "i" ; "o" ; "u"
} ;
--Feminine nouns that start with stressed a use the masculine article el for phonetic reasons:
--e.g. "el agua pura" but "la pura agua".
--To prevent "el aguamarina", we list explicitly words that begin with these words
falseAWords : pattern Str = #("aguam"|"aguaf"|"almac"|"alab"|"alac"|"alam"|"alan"|"alar") ;
aWords : pattern Str = #("agua" | "alma" | "ala") ;
chooseLa = pre {
falseAWords => "la" ;
aWords => "el" ;
"á" => "el" ;
_ => "la"
} ;
chooseDeLa = pre {
falseAWords => "de la" ;
aWords => "del" ;
"á" => "del" ;
_ => "de la"
} ;
chooseALa = pre {
falseAWords => "a la" ;
aWords => "al" ;
"á" => "al" ;
_ => "a la"
} ;
} }

View File

@@ -3,6 +3,7 @@ concrete StructuralPor of Structural = CatPor **
MakeStructuralPor, (X = ConstructX), Prelude in { MakeStructuralPor, (X = ConstructX), Prelude in {
flags optimize=all ; flags optimize=all ;
coding=utf8 ;
lin lin
-- have_V3 -- have_V3
@@ -60,8 +61,8 @@ concrete StructuralPor of Structural = CatPor **
but_PConj = ss "mas" ; but_PConj = ss "mas" ;
by8agent_Prep = mkPrep "por" ; by8agent_Prep = mkPrep "por" ;
by8means_Prep = mkPrep "por" ; by8means_Prep = mkPrep "por" ;
can8know_VV = mkVV (verboV (saber_71 "saber")) ; can8know_VV = mkVV (verboV (saber_35 "saber")) ;
can_VV = mkVV (verboV (poder_58 "poder")) ; can_VV = mkVV (verboV (poder_36 "poder")) ;
during_Prep = mkPrep "durante" ; during_Prep = mkPrep "durante" ;
either7or_DConj = {s1,s2 = "o" ; n = Sg} ; either7or_DConj = {s1,s2 = "o" ; n = Sg} ;
everybody_NP = makeNP ["todos"] Masc Pl ; everybody_NP = makeNP ["todos"] Masc Pl ;
@@ -91,7 +92,7 @@ concrete StructuralPor of Structural = CatPor **
most_Predet = {s = \\_,c => prepCase c ++ ["a maior parte"] ; c = CPrep P_de ; most_Predet = {s = \\_,c => prepCase c ++ ["a maior parte"] ; c = CPrep P_de ;
a = PNoAg} ; a = PNoAg} ;
much_Det = mkDeterminer "muito" "muita" Sg False ; much_Det = mkDeterminer "muito" "muita" Sg False ;
must_VV = mkVV (verboV (deber_6 "dever")) ; must_VV = mkVV (regV "dever") ;
no_Quant = no_Quant =
let let
ningun : ParadigmsPor.Number => ParadigmsPor.Gender => Case => Str = table { ningun : ParadigmsPor.Number => ParadigmsPor.Gender => Case => Str = table {
@@ -135,7 +136,7 @@ concrete StructuralPor of Structural = CatPor **
to_Prep = complDat ; to_Prep = complDat ;
under_Prep = mkPrep "embaixo" ; under_Prep = mkPrep "embaixo" ;
very_AdA = ss "muito" ; very_AdA = ss "muito" ;
want_VV = mkVV (verboV (querer_64 "querer")) ; want_VV = mkVV (verboV (querer_38 "querer")) ;
whatSg_IP = {s = \\c => prepCase c ++ ["que"] ; a = aagr Masc Sg} ; whatSg_IP = {s = \\c => prepCase c ++ ["que"] ; a = aagr Masc Sg} ;
whatPl_IP = {s = \\c => prepCase c ++ ["que"] ; a = aagr Masc Pl} ; --- whatPl_IP = {s = \\c => prepCase c ++ ["que"] ; a = aagr Masc Pl} ; ---
when_IAdv = ss "quando" ; when_IAdv = ss "quando" ;
@@ -166,7 +167,7 @@ concrete StructuralPor of Structural = CatPor **
Masc Pl P2 ; Masc Pl P2 ;
lin lin
as_CAdv = X.mkCAdv "tão" conjThan ; ---- as_CAdv = X.mkCAdv "tão" conjThan ; ----
have_V2 = dirV2 (verboV (tener_4 "ter")) ; have_V2 = dirV2 (verboV (ter_1 "ter")) ;
that_Subj = {s = "que" ; m = Conjunct} ; that_Subj = {s = "que" ; m = Conjunct} ;
lin language_title_Utt = ss "português" ; lin language_title_Utt = ss "português" ;

View File

@@ -0,0 +1,5 @@
--# -path=.:../spanish:../romance:../common:../abstract:../prelude
resource SymbolicPor = Symbolic with
(Symbol = SymbolPor),
(Grammar = GrammarPor) ;

View File

@@ -0,0 +1,4 @@
--# -path=.:alltenses
instance SyntaxPor of Syntax =
ConstructorsPor, CatPor, StructuralPor, CombinatorsPor ;

View File

@@ -1,3 +1,4 @@
--# -path=.:../abstract:../common --# -path=.:../abstract:../common
concrete TerminologyPor of Terminology = CatPor ** open concrete TerminologyPor of Terminology = CatPor ** open
@@ -22,23 +23,23 @@ lincat
lin lin
noun_Category = mkN "sustantivo" ; noun_Category = mkN "substantivo" ;
adjective_Category = mkN "adjetivo" ; adjective_Category = mkN "adjetivo" ;
verb_Category = mkN "verbo" masculine ; verb_Category = mkN "verbo" masculine ;
gender_ParameterType = mkN "género" masculine ; gender_ParameterType = mkN "gênero" masculine ;
singular_Parameter = mkN "singular" ; singular_Parameter = mkN "singular" ;
plural_Parameter = mkN "plural" ; plural_Parameter = mkN "plural" ;
masculine_Parameter = mkN "masculino" ; masculine_Parameter = mkN "masculino" ;
feminine_Parameter = mkN "femenino" ; feminine_Parameter = mkN "feminino" ;
neuter_Parameter = mkN "neutro" ; neuter_Parameter = mkN "neutro" ;
nominative_Parameter = mkN "nominativo" ; nominative_Parameter = mkN "nominativo" ;
genitive_Parameter = mkN "genitivo" ; genitive_Parameter = mkN "genitivo" ;
dative_Parameter = mkN "dativo" ; dative_Parameter = mkN "dativo" ;
accusative_Parameter = mkN "accusativo" ; accusative_Parameter = mkN "acusativo" ;
imperative_Parameter = mkN "imperativo" ; imperative_Parameter = mkN "imperativo" ;
indicative_Parameter = mkN "indicativo" ; indicative_Parameter = mkN "indicativo" ;
@@ -49,11 +50,11 @@ lin
past_Parameter = mkN "pretérito" ; past_Parameter = mkN "pretérito" ;
future_Parameter = mkN "futuro" ; future_Parameter = mkN "futuro" ;
conditional_Parameter = mkN "condicional" ; conditional_Parameter = mkN "condicional" ;
perfect_Parameter = mkN "perfecto compuesto" ; ---- perfect_Parameter = mkN "perfeito composto" ; ----
imperfect_Parameter = mkN "imperfecto" ; imperfect_Parameter = mkN "imperfeito" ;
simple_past_Parameter = mkN "perfecto simple" ; ---- simple_past_Parameter = mkN "perfeito simples" ; ----
participle_Parameter = mkN "participio" ; participle_Parameter = mkN "particípio" ;
aux_verb_Parameter = mkN "auxiliar" ; ---- aux_verb_Parameter = mkN "auxiliar" ; ----
positive_Parameter = mkN "positivo" ; positive_Parameter = mkN "positivo" ;
@@ -63,6 +64,6 @@ lin
nounHeading n = ss (n.s ! Sg) ; nounHeading n = ss (n.s ! Sg) ;
exampleGr_N = mkN "ejemplo" masculine ; exampleGr_N = mkN "examplo" masculine ;
} }

View File

@@ -1,12 +1,11 @@
concrete TextPor of Text = CommonX - [Temp,TTAnt,Tense,TPres,TPast,TFut,TCond] ** open Prelude in { concrete TextPor of Text = CommonX - [Temp,TTAnt,Tense,TPres,TPast,TFut,TCond] ** open Prelude in {
flags coding=utf8 ; flags coding=utf8 ;
-- This works for the special punctuation marks of Portuguese.
lin lin
TEmpty = {s = []} ; TEmpty = {s = []} ;
TFullStop x xs = {s = x.s ++ SOFT_BIND ++ "." ++ xs.s} ; TFullStop x xs = {s = x.s ++ SOFT_BIND ++ "." ++ xs.s} ;
TQuestMark x xs = {s = "¿" ++ SOFT_BIND ++ x.s ++ SOFT_BIND ++ "?" ++ xs.s} ; TQuestMark x xs = {s = x.s ++ SOFT_BIND ++ "?" ++ xs.s} ;
TExclMark x xs = {s = "¡" ++ SOFT_BIND ++ x.s ++ SOFT_BIND ++ "!" ++ xs.s} ; TExclMark x xs = {s = x.s ++ SOFT_BIND ++ "!" ++ xs.s} ;
} }

3
src/portuguese/TryPor.gf Normal file
View File

@@ -0,0 +1,3 @@
--# -path=.:../spanish:../romance:../common:../abstract:../prelude
resource TryPor = SyntaxPor, LexiconPor, ParadigmsPor - [mkAdv,mkAdN] ;