esto/isto in Spanish/Portuguese

This commit is contained in:
Krasimir Angelov
2023-10-16 16:20:42 +02:00
parent da608c2084
commit 17da1893d7
16 changed files with 168 additions and 42 deletions

View File

@@ -28,11 +28,12 @@ oper
in lin Quant {
s = \\b => questo ;
sp = questo ;
spn= \\c => prepCase c ++ s ;
s2 = [] ;
isNeg = False
} ;
-- Inflects for number and gender
mkQuant : Str -> Str -> Str -> Str -> Quant = \tutto,tutta,tutti,tutte ->
mkQuant : Str -> Str -> Str -> Str -> Str -> Quant = \tutto,tutta,tutti,tutte,esto ->
let
questo : Number => Gender => Case => Str = table {
Sg => table {
@@ -47,6 +48,7 @@ oper
in lin Quant {
s = \\b => questo ;
sp = questo ;
spn= \\c => prepCase c ++ "esto" ;
s2 = [] ;
isNeg = False
} ;
@@ -56,6 +58,7 @@ oper
-- Does not inflect for number
mkDet : Str -> Number -> Det = \piu,n -> lin Det {
s,sp = \\_,c => prepCase c ++ piu ;
spn = \\c => prepCase c ++ piu ;
n = n ;
s2 = [] ;
isNeg = False
@@ -63,6 +66,7 @@ oper
-- Inflects for number
mkDet : Str -> Str -> Number -> Det = \alcuni,alcune,n -> lin Det {
s,sp = \\g,c => prepCase c ++ genForms alcuni alcune ! g ;
spn = \\c => prepCase c ++ alcuni ;
n = n ;
s2 = [] ;
isNeg = False

View File

@@ -239,29 +239,27 @@ oper
s = \\ag => adj.s ! genNum2Aform ag.g ag.n ;
} ;
mkQuantifier : (ese,esa,esos,esas : Str) -> Quant = \ese,esa,esos,esas->
mkQuantifier : (ese,esa,esos,esas,eso : Str) -> Quant = \ese,esa,esos,esas,eso->
let
se : Str = Predef.drop 1 ese ;
sa : Str = Predef.drop 1 esa ;
sos : Str = Predef.drop 1 esos ;
sas : Str = Predef.drop 1 esas ;
E : Str = "é" ;
attrforms : Number => Gender => Case => Str = table {
Sg => \\g,c => prepCase c ++ genForms ese esa ! g ;
Pl => \\g,c => prepCase c ++ genForms esos esas ! g ----
} ;
npforms : Number => Gender => Case => Str = table {
Sg => \\g,c => prepCase c ++ genForms (E + se) (E + sa) ! g ;
Pl => \\g,c => prepCase c ++ genForms (E + sos) (E + sas) ! g }
Sg => \\g,c => prepCase c ++ genForms ese esa ! g ;
Pl => \\g,c => prepCase c ++ genForms esos esas ! g }
in lin Quant {
s = \\_ => attrforms ;
s2 = [] ;
sp = npforms ; isNeg = False
sp = npforms ;
spn= \\c => prepCase c ++ eso ;
isNeg = False
} ;
mkDeterminer : (mucho,mucha : Str) -> Number -> Bool -> Det = \mucho,mucha,number,neg ->
lin Det {
s,sp = \\g,c => prepCase c ++ genForms mucho mucha ! g ;
spn = \\c => prepCase c ++ mucho ;
n = number;
s2 = [] ;
isNeg = neg

View File

@@ -35,7 +35,10 @@ lin
during_Prep = mkPrep "durante" ;
either7or_DConj = {s1,s2 = "o" ; n = Sg} ;
everybody_NP = makeNP ["todos"] Masc Pl ;
every_Det = mkDeterminer "cada" "cada" Sg False ;
every_Det = mkDeterminer "cada" "cada" Sg False ** {
sp = \\g,c => prepCase c ++ genForms "todos" "todas" ! g ;
spn = \\c => prepCase c ++ "todo"
};
everything_NP = pn2np (mkPN ["todo"] Masc) ;
everywhere_Adv = ss ["en todas partes"] ;
except_Prep = mkPrep "excepto" ;
@@ -75,7 +78,8 @@ lin
}
in {
s = \\_ => ningun ;
sp = ningun ;
sp = \\_,_,_ => "nadie" ;
spn= \\c => prepCase c ++ "nada" ;
s2 = [] ; isNeg = True
} ;
no_Utt = ss "no" ;
@@ -100,13 +104,13 @@ lin
someSg_Det = mkDeterminer "algún" "alguna" Sg False ;
something_NP = pn2np (mkPN ["algo"] Masc) ;
somewhere_Adv = ss ["en alguna parte"] ;
that_Quant = mkQuantifier "ese" "esa" "esos" "esas" ;
that_Quant = mkQuantifier "ese" "esa" "esos" "esas" "eso" ;
there_Adv = mkAdv "allí" ; -- allá
there7to_Adv = mkAdv ["para allí"] ;
there7from_Adv = mkAdv ["de allí"] ;
therefore_PConj = ss ["por eso"] ;
they_Pron = agr2pron ! {g=Masc ; n=Pl ; p=P3} ;
this_Quant = mkQuantifier "este" "esta" "estos" "estas" ;
this_Quant = mkQuantifier "este" "esta" "estos" "estas" "esto" ;
through_Prep = mkPrep "por" ;
too_AdA = ss "demasiado" ;
to_Prep = complDat ;