mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 08:58:55 -06:00
esto/isto in Spanish/Portuguese
This commit is contained in:
@@ -30,11 +30,16 @@ lin
|
||||
during_Prep = mkPrep "durant" ; ----
|
||||
either7or_DConj = {s1,s2 = "o" ; n = Sg} ;
|
||||
everybody_NP = makeNP ["tothom"] Masc Sg ;
|
||||
every_Det = {s,sp = \\_,_ => "cada" ; n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
every_Det = {
|
||||
s,sp = \\_,_ => "cada";
|
||||
spn =\\c => prepCase c ++ "tot" ;
|
||||
n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
everything_NP = pn2np (mkPN "tot" Masc) ;
|
||||
everywhere_Adv = ss ["a tot arreu"] ;
|
||||
few_Det = {
|
||||
s,sp = \\g,c => prepCase c ++ genForms "pocs" "poques" ! g ; n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
s,sp = \\g,c => prepCase c ++ genForms "pocs" "poques" ! g ;
|
||||
spn = \\c => prepCase c ++ "pocs" ;
|
||||
n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
--- first_Ord = {s = \\ag => (regA "primer").s ! Posit ! AF ag.g ag.n} ;
|
||||
for_Prep = mkPrep ["per a"] ;
|
||||
from_Prep = complGen ; ---
|
||||
@@ -64,12 +69,16 @@ lin
|
||||
|
||||
less_CAdv = X.mkCAdv "menys" conjThan ; ----
|
||||
many_Det = {
|
||||
s,sp = \\g,c => prepCase c ++ genForms "molts" "moltes" ! g ; n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
s,sp = \\g,c => prepCase c ++ genForms "molts" "moltes" ! g ;
|
||||
spn = \\c => prepCase c ++ "molts" ;
|
||||
n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
more_CAdv = X.mkCAdv "més" conjThan ;
|
||||
most_Predet = {s = \\_,c => prepCase c ++ ["la majoria"] ; c = CPrep P_de ;
|
||||
a = PNoAg} ;
|
||||
much_Det = {
|
||||
s,sp = \\g,c => prepCase c ++ genForms "molt" "molta" ! g ; n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
s,sp = \\g,c => prepCase c ++ genForms "molt" "molta" ! g ;
|
||||
spn = \\c => prepCase c ++ "molt" ;
|
||||
n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
must_VV = deVV (verbV (haver_59 "haver" True)) ;
|
||||
no_Utt = ss "no" ;
|
||||
on_Prep = mkPrep "sobre" ;
|
||||
@@ -89,10 +98,14 @@ lin
|
||||
Fem Sg P3 ;
|
||||
so_AdA = ss "tan" ;
|
||||
somebody_NP = pn2np (mkPN ["alg˙"] Masc) ;
|
||||
somePl_Det = {s,sp =
|
||||
\\g,c => prepCase c ++ genForms "alguns" "algunes" ! g ; n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
somePl_Det = {
|
||||
s,sp = \\g,c => prepCase c ++ genForms "alguns" "algunes" ! g ;
|
||||
spn = \\c => prepCase c ++ "alguns" ;
|
||||
n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
someSg_Det = {
|
||||
s,sp = \\g,c => prepCase c ++ genForms "algun" "alguna" ! g ; n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
s,sp = \\g,c => prepCase c ++ genForms "algun" "alguna" ! g ;
|
||||
spn = \\c => prepCase c ++ "quelcom" ;
|
||||
n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
something_NP = pn2np (mkPN ["quelcom"] Masc) ;
|
||||
somewhere_Adv = ss ["a algun lloc"] ;
|
||||
that_Quant =
|
||||
@@ -103,6 +116,7 @@ lin
|
||||
in {
|
||||
s = \\_ => aquell ;
|
||||
sp = aquell ;
|
||||
spn= aquell ! Sg ! Masc ;
|
||||
s2 = [] ; isNeg = False
|
||||
} ;
|
||||
there_Adv = mkAdv "allà" ; -- all·
|
||||
@@ -122,6 +136,7 @@ lin
|
||||
in {
|
||||
s = \\_ => aquest ;
|
||||
sp = aquest ;
|
||||
spn= aquest ! Sg ! Masc ;
|
||||
s2 = [] ; isNeg = False
|
||||
} ;
|
||||
through_Prep = mkPrep "mitjançant" ;
|
||||
@@ -172,7 +187,7 @@ oper
|
||||
|
||||
lin
|
||||
if_then_Conj = {s1 = "si" ; s2 = "llavors" ; n = Sg ; lock_Conj = <>} ;
|
||||
|
||||
|
||||
no_Quant =
|
||||
let
|
||||
capS : Str = "cap" ;
|
||||
@@ -183,6 +198,7 @@ lin
|
||||
in {
|
||||
s = \\_ => cap ;
|
||||
sp = cap ;
|
||||
spn= \\c => prepCase c ++ "res" ;
|
||||
s2 = [] ; isNeg = True
|
||||
} ;
|
||||
nobody_NP = pn2npNeg (mkPN "ningú") ;
|
||||
|
||||
@@ -61,4 +61,32 @@ lin ApposNP np1 np2 = np1 ** { -- guessed by KA
|
||||
|
||||
lin CompoundN a b = lin N {s = \\n => b.s ! n ++ a.s ! Sg ; g = b.g} ; -- connessione internet = internet connection
|
||||
|
||||
lin UseDAP = \dap ->
|
||||
let
|
||||
g = Masc ;
|
||||
n = dap.n
|
||||
in heavyNPpol dap.isNeg {
|
||||
s = dap.spn ;
|
||||
a = agrP3 g n ;
|
||||
hasClit = False
|
||||
} ;
|
||||
UseDAPMasc = \dap ->
|
||||
let
|
||||
g = Masc ;
|
||||
n = dap.n
|
||||
in heavyNPpol dap.isNeg {
|
||||
s = dap.sp ! g ;
|
||||
a = agrP3 g n ;
|
||||
hasClit = False
|
||||
} ;
|
||||
UseDAPFem dap =
|
||||
let
|
||||
g = Fem ;
|
||||
n = dap.n
|
||||
in heavyNPpol dap.isNeg {
|
||||
s = dap.sp ! g ;
|
||||
a = agrP3 g n ;
|
||||
hasClit = False
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -74,8 +74,8 @@ concrete ExtraFre of ExtraFreAbs = ExtraRomanceFre **
|
||||
|
||||
lin
|
||||
tout_Det = {
|
||||
s = \\g,c => prepCase c ++ genForms "tout" "toute" ! g ;
|
||||
sp = \\g,c => prepCase c ++ genForms "tout" "toute" ! g ;
|
||||
s,sp = \\g,c => prepCase c ++ genForms "tout" "toute" ! g ;
|
||||
spn= \\c => prepCase c ++ "tout" ;
|
||||
n = Sg ;
|
||||
s2 = [] ;
|
||||
isNeg = False
|
||||
|
||||
@@ -23,6 +23,7 @@ oper
|
||||
in lin Quant {
|
||||
s = \\_ => aucun ;
|
||||
sp = aucun ;
|
||||
spn= \\c => prepCase c ++ sm ;
|
||||
s2 = [] ;
|
||||
isNeg = False
|
||||
} ;
|
||||
@@ -38,9 +39,15 @@ oper
|
||||
|
||||
mkInterj : Str -> Interj = \s -> lin Interj (ss s) ;
|
||||
mkDet = overload {
|
||||
mkDet : Str -> Det = \s -> lin Det {s,sp = \\_,c => prepCase c ++ s ; n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
mkDet : Str -> Det = \s -> lin Det {
|
||||
s,sp = \\_,c => prepCase c ++ s ;
|
||||
spn = \\c => prepCase c ++ s ;
|
||||
n = Sg ; s2 = [] ; isNeg = False
|
||||
} ;
|
||||
mkDet : Str -> Str -> Number -> Det = \m,f,n -> lin Det {
|
||||
s,sp = \\g,c => prepCase c ++ case g of {Masc => m ; Fem => f} ; n = n ; s2 = [] ; isNeg = False
|
||||
s,sp = \\g,c => prepCase c ++ case g of {Masc => m ; Fem => f} ;
|
||||
spn = \\c => prepCase c ++ m ;
|
||||
n = n ; s2 = [] ; isNeg = False
|
||||
} ;
|
||||
} ;
|
||||
|
||||
|
||||
@@ -36,13 +36,17 @@ lin
|
||||
every_Det = {
|
||||
s = \\_,c => prepCase c ++ "chaque" ;
|
||||
sp = \\g,c => prepCase c ++ genForms "chacun" "chacune" ! g ;
|
||||
n = Sg ;
|
||||
spn= \\c => prepCase c ++ "tout" ;
|
||||
n = Sg ;
|
||||
s2 = [] ;
|
||||
isNeg = False
|
||||
} ;
|
||||
everything_NP = pn2np (mkPN ["tout"] Masc) ;
|
||||
everywhere_Adv = ss "partout" ;
|
||||
few_Det = {s,sp = \\g,c => prepCase c ++ "peu" ++ elisDe ; n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
few_Det = {
|
||||
s,sp = \\g,c => prepCase c ++ "peu" ++ elisDe ;
|
||||
spn = \\c => prepCase c ++ "peu" ++ elisDe ;
|
||||
n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
--- DEPREC first_Ord = {s = \\ag => (regA "premier").s ! Posit ! AF ag.g ag.n} ;
|
||||
for_Prep = mkPreposition "pour" ;
|
||||
from_Prep = complGen ; ---
|
||||
@@ -68,10 +72,15 @@ lin
|
||||
"il" (elision "l") "lui" "lui" "son" (elisPoss "s") "ses"
|
||||
Masc Sg P3 ;
|
||||
less_CAdv = X.mkCAdv "moins" conjThan ;
|
||||
many_Det = {s,sp = \\_,c => prepCase c ++ "plusieurs" ; n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
many_Det = {
|
||||
s,sp = \\_,c => prepCase c ++ "plusieurs" ;
|
||||
spn = \\c => prepCase c ++ "plusieurs" ;
|
||||
n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
more_CAdv = X.mkCAdv "plus" conjThan ;
|
||||
most_Predet = {s = \\_,c => prepCase c ++ ["la plupart"] ; c = CPrep P_de ; a = PNoAg} ;
|
||||
much_Det = {s,sp = \\_,c => prepCase c ++ "beaucoup" ++ elisDe ; n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
much_Det = {s,sp = \\_,c => prepCase c ++ "beaucoup" ++ elisDe ;
|
||||
spn = \\c => prepCase c ++ "beaucoup" ++ elisDe ;
|
||||
n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
must_VV = mkVV (devoir_V2 ** {lock_V = <>}) ;
|
||||
---b no_Phr = ss "non" ;
|
||||
no_Utt = ss "non" ;
|
||||
@@ -91,8 +100,14 @@ lin
|
||||
|
||||
so_AdA = ss "si" ;
|
||||
somebody_NP = pn2np (mkPN ["quelqu'un"] Masc) ;
|
||||
somePl_Det = {s,sp = \\_,c => prepCase c ++ "quelques" ; n = Pl ; s2 = [] ; isNeg = False} ; ---- sp
|
||||
someSg_Det = {s,sp = \\_,c => prepCase c ++ "quelque" ; n = Sg ; s2 = [] ; isNeg = False} ; ----sp
|
||||
somePl_Det = {
|
||||
s,sp = \\_,c => prepCase c ++ "quelques" ;
|
||||
spn = \\c => prepCase c ++ "quelque chose" ;
|
||||
n = Pl ; s2 = [] ; isNeg = False} ; ---- sp
|
||||
someSg_Det = {
|
||||
s,sp = \\_,c => prepCase c ++ "quelque" ;
|
||||
spn = \\c => prepCase c ++ "quelque chose" ;
|
||||
n = Sg ; s2 = [] ; isNeg = False} ; ----sp
|
||||
something_NP = pn2np (mkPN ["quelque chose"] Masc) ;
|
||||
somewhere_Adv = ss ["quelque part"] ; --- ne - pas
|
||||
|
||||
@@ -106,6 +121,7 @@ lin
|
||||
Sg => \\g,c => prepCase c ++ genForms "celui-là" "celle-là" ! g ;
|
||||
Pl => \\g,c => prepCase c ++ genForms "ceux-là" "celles-là" ! g
|
||||
} ;
|
||||
spn= \\c => prepCase c ++ "celui-là" ;
|
||||
s2 = [] ; ---- "-là" ;
|
||||
isNeg = False
|
||||
} ;
|
||||
@@ -130,6 +146,7 @@ lin
|
||||
Sg => \\g,c => prepCase c ++ genForms "celui-ci" "celle-ci" ! g ;
|
||||
Pl => \\g,c => prepCase c ++ genForms "ceux-ci" "celles-ci" ! g
|
||||
} ;
|
||||
spn= \\c => prepCase c ++ "cela" ;
|
||||
s2 = [] ; ---- "-ci"
|
||||
isNeg = False
|
||||
} ;
|
||||
@@ -188,6 +205,7 @@ lin
|
||||
in {
|
||||
s = \\_ => aucun ;
|
||||
sp = aucun ;
|
||||
spn= aucun ! Sg ! Masc ;
|
||||
s2 = [] ;
|
||||
isNeg = True
|
||||
} ;
|
||||
|
||||
@@ -39,6 +39,7 @@ concrete ExtraIta of ExtraItaAbs = ExtraRomanceIta **
|
||||
PossFamQuant p = {
|
||||
s = \\_,n,g,c => case n of {Sg => prepCase c ; _ => possCase g n c} ++ p.poss ! n ! g ;
|
||||
sp = \\ n,g,c => case n of {Sg => prepCase c ; _ => possCase g n c} ++ p.poss ! n ! g ;
|
||||
spn= \\ c => prepCase c ++ p.poss ! Sg ! Masc ;
|
||||
s2 = [] ; isNeg = False
|
||||
} ;
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ oper
|
||||
in lin Quant {
|
||||
s = \\b => questo ;
|
||||
sp = questo ;
|
||||
spn= \\c => prepCase c ++ s ;
|
||||
s2 = [] ;
|
||||
isNeg = False
|
||||
} ;
|
||||
@@ -53,6 +54,7 @@ oper
|
||||
in lin Quant {
|
||||
s = \\b => questo ;
|
||||
sp = questo ;
|
||||
spn= \\c => prepCase c ++ tutto ;
|
||||
s2 = [] ;
|
||||
isNeg = False
|
||||
} ;
|
||||
@@ -62,6 +64,7 @@ oper
|
||||
-- Does not inflect for number
|
||||
mkDet : Str -> Number -> Det = \piu,n -> lin Det {
|
||||
s,sp = \\_,_ => piu ;
|
||||
spn = \\_ => piu ;
|
||||
n = n ;
|
||||
s2 = [] ;
|
||||
isNeg = False
|
||||
@@ -72,6 +75,7 @@ oper
|
||||
Masc => \\_ => alcuni ;
|
||||
Fem => \\_ => alcune
|
||||
} ;
|
||||
spn = \\_ => alcuni ;
|
||||
n = n ;
|
||||
s2 = [] ;
|
||||
isNeg = False
|
||||
|
||||
@@ -31,10 +31,16 @@ lin
|
||||
during_Prep = mkPrep "durante" ;
|
||||
either7or_DConj = {s1,s2 = "o" ; n = Sg} ;
|
||||
everybody_NP = makeNP ["tutti"] Masc Pl ;
|
||||
every_Det = {s,sp = \\_,_ => "ogni" ; n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
every_Det = {
|
||||
s,sp = \\_,_ => "ogni" ;
|
||||
spn = \\c => prepCase c ++ "tutto" ;
|
||||
n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
everything_NP = pn2np (mkPN ["tutto"] Masc) ;
|
||||
everywhere_Adv = ss "dappertutto" ;
|
||||
few_Det = {s,sp = \\g,c => prepCase c ++ genForms "pochi" "poche" ! g ; n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
few_Det = {
|
||||
s,sp = \\g,c => prepCase c ++ genForms "pochi" "poche" ! g ;
|
||||
spn = \\c => prepCase c ++ "pochi" ;
|
||||
n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
---- first_Ord = {s = \\ag => (regA "primo").s ! Posit ! AF ag.g ag.n} ;
|
||||
for_Prep = mkPrep "per" ;
|
||||
from_Prep = da_Prep ;
|
||||
@@ -60,11 +66,17 @@ lin
|
||||
"lui" "lo" "gli" "glie" "lui" "suo" "sua" "suoi" "sue"
|
||||
Masc Sg P3 ;
|
||||
less_CAdv = X.mkCAdv "meno" conjThan ;
|
||||
many_Det = {s,sp = \\g,c => prepCase c ++ genForms "molti" "molte" ! g ; n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
many_Det = {
|
||||
s,sp = \\g,c => prepCase c ++ genForms "molti" "molte" ! g ;
|
||||
spn = \\c => prepCase c ++ "molto" ;
|
||||
n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
more_CAdv = X.mkCAdv "più" conjThan ;
|
||||
most_Predet = {s = \\_,c => prepCase c ++ ["la maggior parte"] ; c = CPrep P_di ;
|
||||
a = PNoAg} ;
|
||||
much_Det = {s,sp = \\g,c => prepCase c ++ genForms "molto" "molta" ! g ; n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
much_Det = {
|
||||
s,sp = \\g,c => prepCase c ++ genForms "molto" "molta" ! g ;
|
||||
spn = \\c => prepCase c ++ "molto" ;
|
||||
n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
must_VV = mkVV (verboV (dovere_47 "dovere")) ;
|
||||
no_Utt = ss "no" ;
|
||||
on_Prep = {s = [] ; c = CPrep P_su ; isDir = False} ;
|
||||
@@ -83,8 +95,14 @@ lin
|
||||
Fem Sg P3 ;
|
||||
so_AdA = ss "così" ;
|
||||
somebody_NP = pn2np (mkPN ["qualcuno"] Masc) ;
|
||||
somePl_Det = {s,sp = \\_,c => prepCase c ++ "qualche" ; n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
someSg_Det = {s,sp = \\_,c => prepCase c ++ "qualche" ; n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
somePl_Det = {
|
||||
s,sp = \\_,c => prepCase c ++ "qualche" ;
|
||||
spn = \\c => prepCase c ++ "qualche cosa" ;
|
||||
n = Pl ; s2 = [] ; isNeg = False} ;
|
||||
someSg_Det = {
|
||||
s,sp = \\_,c => prepCase c ++ "qualche" ;
|
||||
spn = \\c => prepCase c ++ "qualche cosa" ;
|
||||
n = Sg ; s2 = [] ; isNeg = False} ;
|
||||
something_NP = pn2np (mkPN ["qualche cosa"] Masc) ;
|
||||
somewhere_Adv = ss ["qualche parte"] ;
|
||||
that_Quant = let
|
||||
@@ -98,6 +116,7 @@ lin
|
||||
quello (elision "quel" "quell'" "quello")
|
||||
(elision "quei" "quegli" "quegli") ;
|
||||
sp = quello "quello" "quelli" ;
|
||||
spn= \\c => prepCase c ++ "quello" ;
|
||||
s2 = [] ;
|
||||
isNeg = False
|
||||
} ;
|
||||
@@ -118,6 +137,7 @@ lin
|
||||
in {
|
||||
s = \\_ => questo ;
|
||||
sp = questo ;
|
||||
spn= \\c => prepCase c ++ "questo" ;
|
||||
s2 = [] ;
|
||||
isNeg = False
|
||||
} ;
|
||||
@@ -169,6 +189,7 @@ lin
|
||||
in {
|
||||
s = \\_ => aucun ;
|
||||
sp = aucun ;
|
||||
spn= \\c => prepCase c ++ "nessuno" ;
|
||||
s2 = [] ;
|
||||
isNeg = True
|
||||
} ;
|
||||
|
||||
@@ -254,7 +254,7 @@ oper
|
||||
s = \\ag => adj.s ! genNum2Aform ag.g ag.n ;
|
||||
} ;
|
||||
|
||||
mkQuantifier : (esse,essa,esses,essas : Str) -> Quant = \esse,essa,esses,essas->
|
||||
mkQuantifier : (esse,essa,esses,essas,esso : Str) -> Quant = \esse,essa,esses,essas,esso->
|
||||
let
|
||||
attrforms : Number => Gender => Case => Str = table {
|
||||
Sg => \\g,c => prepCase c ++ genForms esse essa ! g ;
|
||||
@@ -264,12 +264,14 @@ oper
|
||||
s = \\_ => attrforms ;
|
||||
s2 = [] ;
|
||||
sp = attrforms ; -- in spanish it was different
|
||||
spn= \\c => prepCase c ++ esso ;
|
||||
isNeg = False
|
||||
} ;
|
||||
|
||||
mkDeterminer : (muito,muita : Str) -> Number -> Bool -> Det = \muito,muita,number,neg ->
|
||||
lin Det {
|
||||
s,sp = \\g,c => prepCase c ++ genForms muito muita ! g ;
|
||||
spn = \\c => prepCase c ++ muito ;
|
||||
n = number;
|
||||
s2 = [] ;
|
||||
isNeg = neg
|
||||
|
||||
@@ -102,6 +102,7 @@ concrete StructuralPor of Structural = CatPor **
|
||||
in {
|
||||
s = \\_ => nenhum ;
|
||||
sp = nenhum ;
|
||||
spn= \\c => prepCase c ++ "nada" ;
|
||||
s2 = [] ; isNeg = True
|
||||
} ;
|
||||
no_Utt = ss "não" ;
|
||||
@@ -124,13 +125,13 @@ concrete StructuralPor of Structural = CatPor **
|
||||
someSg_Det = mkDeterminer "algum" "alguma" Sg False ;
|
||||
something_NP = pn2np (mkPN "algo" Masc) ;
|
||||
somewhere_Adv = ss ["em algum lugar"] ;
|
||||
that_Quant = mkQuantifier "esse" "essa" "esses" "essas" ;
|
||||
that_Quant = mkQuantifier "esse" "essa" "esses" "essas" "isso" ;
|
||||
there_Adv = mkAdv "ali" ; -- lá
|
||||
there7to_Adv = mkAdv ["para lá"] ;
|
||||
there7from_Adv = mkAdv "dali" ;
|
||||
therefore_PConj = ss ["por isso"] ;
|
||||
|
||||
this_Quant = mkQuantifier "este" "esta" "estes" "estas" ;
|
||||
this_Quant = mkQuantifier "este" "esta" "estes" "estas" "isto" ;
|
||||
through_Prep = mkPrep [] ablative ; -- por
|
||||
too_AdA = ss "demasiado" ; -- o certo seria demais como postfix
|
||||
to_Prep = complDat ;
|
||||
|
||||
@@ -67,12 +67,14 @@ incomplete concrete CatRomance of Cat = CommonX - [SC,Pol,MU]
|
||||
n : Number ;
|
||||
s2 : Str ; -- -ci
|
||||
sp : Gender => Case => Str ; -- substantival: mien, mienne
|
||||
spn: Case => Str ;
|
||||
isNeg : Bool -- negative element, e.g. aucun
|
||||
} ;
|
||||
Quant = {
|
||||
s : Bool => Number => Gender => Case => Str ;
|
||||
s2 : Str ;
|
||||
sp : Number => Gender => Case => Str ;
|
||||
spn: Case => Str ; -- neutral Spa: esto, eso, Por: isto, isso
|
||||
isNeg : Bool -- negative element, e.g. aucun
|
||||
} ;
|
||||
Predet = {
|
||||
|
||||
@@ -27,6 +27,7 @@ incomplete concrete ExtendRomanceFunctor of Extend =
|
||||
let denp = (np.s ! ResRomance.genitive).ton in {
|
||||
s = \\_,_,_,_ => [] ;
|
||||
sp = \\_,_,_ => denp ;
|
||||
spn= \\_ => denp ;
|
||||
s2 = denp ;
|
||||
isNeg = False ;
|
||||
} ;
|
||||
@@ -240,7 +241,16 @@ incomplete concrete ExtendRomanceFunctor of Extend =
|
||||
} ;
|
||||
|
||||
|
||||
UseDAP, UseDAPMasc = \dap ->
|
||||
UseDAP = \dap ->
|
||||
let
|
||||
g = Masc ;
|
||||
n = dap.n
|
||||
in heavyNPpol dap.isNeg {
|
||||
s = dap.spn ;
|
||||
a = agrP3 g n ;
|
||||
hasClit = False
|
||||
} ;
|
||||
UseDAPMasc = \dap ->
|
||||
let
|
||||
g = Masc ;
|
||||
n = dap.n
|
||||
|
||||
@@ -55,6 +55,8 @@ incomplete concrete NounRomance of Noun =
|
||||
DetQuantOrd quant num ord = {
|
||||
s,sp = \\g,c => quant.s ! num.isNum ! num.n ! g ! c ++ num.s ! g ++
|
||||
ord.s ! aagr g num.n ;
|
||||
spn = \\c => quant.s ! num.isNum ! num.n ! Masc ! c ++ num.s ! Masc ++
|
||||
ord.s ! aagr Masc num.n ;
|
||||
s2 = quant.s2 ;
|
||||
n = num.n ;
|
||||
isNeg = quant.isNeg
|
||||
@@ -66,6 +68,10 @@ incomplete concrete NounRomance of Noun =
|
||||
True => quant.s ! True ! num.n ! g ! c ++ num.s ! g ;
|
||||
False => quant.sp ! num.n ! g ! c ++ num.s ! g
|
||||
} ;
|
||||
spn= \\c => case num.isNum of {
|
||||
True => quant.s ! True ! num.n ! Masc ! c ++ num.s ! Masc ;
|
||||
False => quant.spn ! c ++ num.s ! Masc
|
||||
} ;
|
||||
s2 = quant.s2 ;
|
||||
n = num.n ;
|
||||
isNeg = quant.isNeg
|
||||
@@ -84,6 +90,7 @@ incomplete concrete NounRomance of Noun =
|
||||
PossPron p = {
|
||||
s = \\_,n,g,c => possCase g n c ++ p.poss ! n ! g ; ---- il mio!
|
||||
sp = \\ n,g,c => possCase g n c ++ p.poss ! n ! g ; ---- not for Fre
|
||||
spn= \\ c => possCase Masc Sg c ++ p.poss ! Sg ! Masc ; ---- not for Fre
|
||||
s2 = [] ;
|
||||
isNeg = False
|
||||
} ;
|
||||
@@ -117,6 +124,7 @@ incomplete concrete NounRomance of Noun =
|
||||
DefArt = {
|
||||
s = \\_,n,g,c => artDef False g n c ;
|
||||
sp = \\n,g,c => artDef True g n c ;
|
||||
spn= \\c => artDef True Masc Sg c ;
|
||||
s2 = [] ;
|
||||
isNeg = False
|
||||
} ;
|
||||
@@ -124,6 +132,7 @@ incomplete concrete NounRomance of Noun =
|
||||
IndefArt = {
|
||||
s = \\b,n,g,c => if_then_Str b (prepCase c) (artIndef False g n c) ;
|
||||
sp = \\n,g,c => artIndef True g n c ;
|
||||
spn= \\c => artIndef True Masc Sg c ;
|
||||
s2 = [] ;
|
||||
isNeg = False
|
||||
} ;
|
||||
@@ -202,6 +211,7 @@ incomplete concrete NounRomance of Noun =
|
||||
n = det.n ;
|
||||
s2 = det.s2 ; -- -ci
|
||||
sp = \\g,c => det.s ! g ! c ++ ap.s ! genNum2Aform g det.n ;
|
||||
spn= \\c => det.s ! Masc ! c ++ ap.s ! genNum2Aform Masc det.n ;
|
||||
isNeg = det.isNeg
|
||||
} ;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
Reference in New Issue
Block a user