forked from GitHub/gf-rgl
Merge pull request #225 from inariksit/spanish
Small fixes and additions in Spanish + Persian
This commit is contained in:
@@ -138,13 +138,20 @@ abstract Extend = Cat ** {
|
|||||||
-- proper structure of "it is AP to VP"
|
-- proper structure of "it is AP to VP"
|
||||||
|
|
||||||
PredAPVP : AP -> VP -> Cl ; -- it is good to walk
|
PredAPVP : AP -> VP -> Cl ; -- it is good to walk
|
||||||
PredIAdvVP : IAdv -> VP -> QCl ; -- how to walk?
|
|
||||||
|
|
||||||
-- to use an AP as CN or NP without CN
|
-- to use an AP as CN or NP without CN
|
||||||
|
|
||||||
AdjAsCN : AP -> CN ; -- a green one ; en grön (Swe)
|
AdjAsCN : AP -> CN ; -- a green one ; en grön (Swe)
|
||||||
AdjAsNP : AP -> NP ; -- green (is good)
|
AdjAsNP : AP -> NP ; -- green (is good)
|
||||||
|
|
||||||
|
-- infinitive complement for IAdv
|
||||||
|
|
||||||
|
PredIAdvVP : IAdv -> VP -> QCl ; -- how to walk?
|
||||||
|
|
||||||
|
-- alternative SC, with "what"
|
||||||
|
|
||||||
|
WhatSSC : S -> SC ; -- what we did (was fun)
|
||||||
|
|
||||||
-- reflexive noun phrases: a generalization of Verb.ReflVP, which covers just reflexive pronouns
|
-- reflexive noun phrases: a generalization of Verb.ReflVP, which covers just reflexive pronouns
|
||||||
-- This is necessary in languages like Swedish, which have special reflexive possessives.
|
-- This is necessary in languages like Swedish, which have special reflexive possessives.
|
||||||
-- However, it is also needed in application grammars that want to treat "brush one's teeth" as a one-place predicate.
|
-- However, it is also needed in application grammars that want to treat "brush one's teeth" as a one-place predicate.
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ lin
|
|||||||
FrontComplDirectVQ = variants {} ; -- NP -> VQ -> Utt -> Cl ; -- "where", she asked
|
FrontComplDirectVQ = variants {} ; -- NP -> VQ -> Utt -> Cl ; -- "where", she asked
|
||||||
PredAPVP ap vp = ImpersCl (UseComp (CompAP (SentAP ap (EmbedVP vp)))) ; -- DEFAULT it is (good to walk)
|
PredAPVP ap vp = ImpersCl (UseComp (CompAP (SentAP ap (EmbedVP vp)))) ; -- DEFAULT it is (good to walk)
|
||||||
PredIAdvVP iadv vp = QuestIAdv iadv (GenericCl vp) ; -- DEFAULT how does one walk
|
PredIAdvVP iadv vp = QuestIAdv iadv (GenericCl vp) ; -- DEFAULT how does one walk
|
||||||
|
WhatSSC = EmbedS ; -- DEFAULT that we did (was fun)
|
||||||
AdjAsCN = variants {} ; -- AP -> CN ; -- a green one ; en grön (Swe)
|
AdjAsCN = variants {} ; -- AP -> CN ; -- a green one ; en grön (Swe)
|
||||||
AdjAsNP = variants {} ; -- AP -> NP ; -- green (is good)
|
AdjAsNP = variants {} ; -- AP -> NP ; -- green (is good)
|
||||||
ReflRNP = variants {} ; -- VPSlash -> RNP -> VP ; -- love my family and myself
|
ReflRNP = variants {} ; -- VPSlash -> RNP -> VP ; -- love my family and myself
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ concrete ExtendEng of Extend =
|
|||||||
FocusAP, FocusAdV, FocusAdv, FocusObj, GenIP, GenModIP, GenModNP, GenNP, GenRP,
|
FocusAP, FocusAdV, FocusAdv, FocusObj, GenIP, GenModIP, GenModNP, GenNP, GenRP,
|
||||||
GerundAdv, GerundCN, GerundNP, IAdvAdv, ICompAP, InOrderToVP, MkVPS, NominalizeVPSlashNP,
|
GerundAdv, GerundCN, GerundNP, IAdvAdv, ICompAP, InOrderToVP, MkVPS, NominalizeVPSlashNP,
|
||||||
PassAgentVPSlash, PassVPSlash, PastPartAP, PastPartAgentAP, PositAdVAdj, PredVPS, PredVPSVV, PredetRNP, PrepCN,
|
PassAgentVPSlash, PassVPSlash, PastPartAP, PastPartAgentAP, PositAdVAdj, PredVPS, PredVPSVV, PredetRNP, PrepCN,
|
||||||
PredIAdvVP, PresPartAP, PurposeVP, ReflPoss, ReflPron, ReflRNP, SlashBareV2S, SlashV2V, StrandQuestSlash, StrandRelSlash,
|
WhatSSC, PredIAdvVP, PresPartAP, PurposeVP, ReflPoss, ReflPron, ReflRNP, SlashBareV2S, SlashV2V, StrandQuestSlash, StrandRelSlash,
|
||||||
UncontractedNeg, UttAccIP, UttAccNP, UttAdV, UttDatIP, UttDatNP, UttVPShort, WithoutVP, BaseVPS2, ConsVPS2, ConjVPS2, ComplVPS2, MkVPS2
|
UncontractedNeg, UttAccIP, UttAccNP, UttAdV, UttDatIP, UttDatNP, UttVPShort, WithoutVP, BaseVPS2, ConsVPS2, ConjVPS2, ComplVPS2, MkVPS2
|
||||||
]
|
]
|
||||||
with
|
with
|
||||||
@@ -193,6 +193,8 @@ concrete ExtendEng of Extend =
|
|||||||
|
|
||||||
PredIAdvVP iadv vp = {s = \\t,a,p,q => iadv.s ++ infVP VVInf vp False Simul CPos (agrP3 Sg)} ;
|
PredIAdvVP iadv vp = {s = \\t,a,p,q => iadv.s ++ infVP VVInf vp False Simul CPos (agrP3 Sg)} ;
|
||||||
|
|
||||||
|
WhatSSC s = {s = \\_ => "what" ++ s.s} ;
|
||||||
|
|
||||||
NominalizeVPSlashNP vpslash np =
|
NominalizeVPSlashNP vpslash np =
|
||||||
let vp : ResEng.VP = insertObjPre (\\_ => vpslash.c2 ++ np.s ! NPAcc) vpslash ;
|
let vp : ResEng.VP = insertObjPre (\\_ => vpslash.c2 ++ np.s ! NPAcc) vpslash ;
|
||||||
a = AgP3Sg Neutr
|
a = AgP3Sg Neutr
|
||||||
|
|||||||
@@ -316,6 +316,7 @@ oper
|
|||||||
haveVerb : Verb = haveRegV ** {s = table {
|
haveVerb : Verb = haveRegV ** {s = table {
|
||||||
ImpPrefix _ => [] ;
|
ImpPrefix _ => [] ;
|
||||||
VAor Neg agr => imperfectSuffix agr (addN "دار") ;
|
VAor Neg agr => imperfectSuffix agr (addN "دار") ;
|
||||||
|
VSubj pol agr => haveRegV.s ! VPerf pol agr ;
|
||||||
vf => haveRegV.s ! vf }
|
vf => haveRegV.s ! vf }
|
||||||
} where { haveRegV = mkVerb "داشتن" "دار" } ;
|
} where { haveRegV = mkVerb "داشتن" "دار" } ;
|
||||||
|
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ oper
|
|||||||
|
|
||||||
mkPrep = overload {
|
mkPrep = overload {
|
||||||
mkPrep : Str -> Prep -- Takes a string, returns a preposition.
|
mkPrep : Str -> Prep -- Takes a string, returns a preposition.
|
||||||
= \str -> lin Prep {s = str ; ra = [] ; mod = Bare} ;
|
= \str -> lin Prep (prepOrRa str) ;
|
||||||
mkPrep : Str -> Mod -> Prep -- Takes a string and Mod (so far only option is ezafe), returns a preposition.
|
mkPrep : Str -> Mod -> Prep -- Takes a string and Mod (so far only option is ezafe), returns a preposition.
|
||||||
= \str,m -> lin Prep {s = str ; ra = [] ; mod=m}
|
= \str,m -> lin Prep {s = str ; ra = [] ; mod=m}
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -223,7 +223,15 @@ incomplete concrete ExtendRomanceFunctor of Extend =
|
|||||||
|
|
||||||
lin
|
lin
|
||||||
DetNPMasc = DetNP ;
|
DetNPMasc = DetNP ;
|
||||||
DetNPFem = DetNP ;
|
DetNPFem det =
|
||||||
|
let
|
||||||
|
g = Fem ;
|
||||||
|
n = det.n
|
||||||
|
in heavyNPpol det.isNeg {
|
||||||
|
s = det.sp ! g ;
|
||||||
|
a = agrP3 g n ;
|
||||||
|
hasClit = False
|
||||||
|
} ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
iFem_Pron = i_Pron ; -- DEFAULT I (masc)
|
iFem_Pron = i_Pron ; -- DEFAULT I (masc)
|
||||||
|
|||||||
@@ -158,8 +158,8 @@ instance DiffSpa of DiffRomance - [iAdvQuestionInv,otherInv,partAgr,stare_V,vpAg
|
|||||||
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_de => "cuyo" ;
|
||||||
_ => prepCase c ++ "cuyo"
|
_ => prepCase c ++ "que"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
pronSuch : AAgr => Str = aagrForms "tál" "tál" "tales" "tales" ;
|
pronSuch : AAgr => Str = aagrForms "tál" "tál" "tales" "tales" ;
|
||||||
|
|||||||
@@ -61,6 +61,8 @@ concrete ExtendSpa of Extend = CatSpa ** ExtendRomanceFunctor -
|
|||||||
s = "qué tan" ++ adv.s
|
s = "qué tan" ++ adv.s
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
WhatSSC s = {s = \\_ => "lo que" ++ s.s ! Indic} ; --- mood
|
||||||
|
|
||||||
ExistsNP np =
|
ExistsNP np =
|
||||||
mkClause [] True False np.a
|
mkClause [] True False np.a
|
||||||
(insertComplement (\\_ => (np.s ! Nom).ton)
|
(insertComplement (\\_ => (np.s ! Nom).ton)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ concrete ExtendSwe of Extend = CatSwe **
|
|||||||
PassVPSlash, PassAgentVPSlash, UttVPShort, ByVP, InOrderToVP,
|
PassVPSlash, PassAgentVPSlash, UttVPShort, ByVP, InOrderToVP,
|
||||||
MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV,
|
MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV,
|
||||||
MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS,
|
MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS,
|
||||||
ICompAP,ProDrop,
|
ICompAP,ProDrop,WhatSSC,
|
||||||
AdAdV, PositAdVAdj, GerundCN, GerundNP, GerundAdv, PresPartAP, PastPartAP, PastPartAgentAP,
|
AdAdV, PositAdVAdj, GerundCN, GerundNP, GerundAdv, PresPartAP, PastPartAP, PastPartAgentAP,
|
||||||
RNP, RNPList, ReflRNP, ReflPron, ReflPoss, PredetRNP, ConjRNP,
|
RNP, RNPList, ReflRNP, ReflPron, ReflPoss, PredetRNP, ConjRNP,
|
||||||
Base_rr_RNP, Base_nr_RNP, Base_rn_RNP, Cons_rr_RNP, Cons_nr_RNP,
|
Base_rr_RNP, Base_nr_RNP, Base_rn_RNP, Cons_rr_RNP, Cons_nr_RNP,
|
||||||
@@ -230,4 +230,6 @@ concrete ExtendSwe of Extend = CatSwe **
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdvIsNP adv np = PredVP {s = \\_ => adv.s ; a = np.a ; isPron = False} (UseComp (CompNP np)) ;
|
AdvIsNP adv np = PredVP {s = \\_ => adv.s ; a = np.a ; isPron = False} (UseComp (CompNP np)) ;
|
||||||
|
|
||||||
|
WhatSSC s = {s = "det" ++ s.s ! Main} ;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user