(Romance) WIP: remove comparative más,più from A

This commit is contained in:
Inari Listenmaa
2021-09-13 10:49:41 +08:00
parent 93945265b8
commit 3d703856a6
3 changed files with 16 additions and 15 deletions

View File

@@ -3,25 +3,24 @@ incomplete concrete AdjectiveRomance of Adjective =
flags coding=utf8; flags coding=utf8;
lin lin
PositA a = { PositA a = a ** {
s = a.s ! Posit ; s = a.s ! Posit ;
isPre = a.isPre ;
copTyp = a.copTyp
} ; } ;
ComparA a np = { ComparA a np = a ** {
s = \\af => a.s ! Compar ! af ++ conjThan ++ (np.s ! Nom).ton ; s = \\af =>
let compar : Str = case a.isDeg of {
True => a.s ! Compar ! af ; -- bueno, mejor
False => piuComp ++ a.s ! Posit ! af } ; -- cher, plus cher
in compar ++ conjThan ++ (np.s ! Nom).ton ;
isPre = False ; isPre = False ;
copTyp = a.copTyp
} ; } ;
CAdvAP ad ap np = { CAdvAP ad ap np = {
s = \\af => ad.s ++ ap.s ! af ++ ad.p ++ (np.s ! Nom).ton ; s = \\af => ad.s ++ ap.s ! af ++ ad.p ++ (np.s ! Nom).ton ;
isPre = False ; isPre = False ;
copTyp = ap.copTyp copTyp = ap.copTyp
} ; } ;
UseComparA a = { UseComparA a = a ** {
s = \\af => a.s ! Compar ! af ; s = \\af => a.s ! Compar ! af ;
isPre = a.isPre ;
copTyp = a.copTyp
} ; } ;
AdjOrd ord = { AdjOrd ord = {
s = \\af => ord.s ! aform2aagr af ; ---- s = \\af => ord.s ! aform2aagr af ; ----

View File

@@ -104,8 +104,8 @@ incomplete concrete CatRomance of Cat = CommonX - [SC,Pol]
V3, V2A, V2V = Verb ** {c2,c3 : Compl} ; V3, V2A, V2V = Verb ** {c2,c3 : Compl} ;
VS = Verb ** {m : RPolarity => Mood} ; VS = Verb ** {m : RPolarity => Mood} ;
A = {s : Degree => AForm => Str ; isPre : Bool ; copTyp : CopulaType} ; A = {s : Degree => AForm => Str ; isPre : Bool ; copTyp : CopulaType ; isDeg : Bool} ;
A2 = {s : Degree => AForm => Str ; c2 : Compl ; copTyp : CopulaType} ; A2 = {s : Degree => AForm => Str ; c2 : Compl ; copTyp : CopulaType ; isDeg : Bool} ;
N = Noun ; N = Noun ;
N2 = Noun ** {c2 : Compl} ; N2 = Noun ** {c2 : Compl} ;

View File

@@ -43,7 +43,7 @@ interface DiffRomance = open CommonRomance, Prelude in {
oper clitInf : Bool -> Str -> Str -> Str ; oper clitInf : Bool -> Str -> Str -> Str ;
-- To render pronominal arguments as clitics and/or ordinary complements. -- To render pronominal arguments as clitics and/or ordinary complements.
-- Returns $True$ if there are any clitics. -- Returns $True$ if there are any clitics.
oper pronArg : Number -> Person -> CAgr -> CAgr -> Str * Str * Bool ; oper pronArg : Number -> Person -> CAgr -> CAgr -> Str * Str * Bool ;
@@ -100,6 +100,8 @@ interface DiffRomance = open CommonRomance, Prelude in {
subjIf : Str ; subjIf : Str ;
piuComp : Str ; -- to form comparative and superlative: plus cher, más grande, …
relPron : Bool => AAgr => Case => Str ; relPron : Bool => AAgr => Case => Str ;
pronSuch : AAgr => Str ; pronSuch : AAgr => Str ;
@@ -114,7 +116,7 @@ interface DiffRomance = open CommonRomance, Prelude in {
--2 Constants needed in type signatures above --2 Constants needed in type signatures above
param param
Case = Nom | Acc | CPrep Prepos ; Case = Nom | Acc | CPrep Prepos ;
oper oper
Verb = {s : VF => Str ; vtyp : VType ; p : Str} ; Verb = {s : VF => Str ; vtyp : VType ; p : Str} ;
@@ -122,7 +124,7 @@ oper
VPAgrType : Type = Str * Bool ; ---- originally VPAgr, expensive VPAgrType : Type = Str * Bool ; ---- originally VPAgr, expensive
getVPAgr : Verb -> VPAgrType = \v -> <verbDefaultPart v, partAgr v.vtyp> ; -- str may be used getVPAgr : Verb -> VPAgrType = \v -> <verbDefaultPart v, partAgr v.vtyp> ; -- str may be used
vpAgrSubj : Verb -> VPAgrType = \v -> <verbDefaultPart v, True> ; -- str not used but subject instead ---- VPAgrSubj vpAgrSubj : Verb -> VPAgrType = \v -> <verbDefaultPart v, True> ; -- str not used but subject instead ---- VPAgrSubj
vpAgrClits : Verb -> AAgr -> VPAgrType = \v,a -> <v.s ! (VPart a.g a.n), False> ; -- str used from clitic ---- vpAgrClit vpAgrClits : Verb -> AAgr -> VPAgrType = \v,a -> <v.s ! (VPart a.g a.n), False> ; -- str used from clitic ---- vpAgrClit
verbDefaultPart : Verb -> Str = \v -> v.s ! (VPart Masc Sg) ; verbDefaultPart : Verb -> Str = \v -> v.s ! (VPart Masc Sg) ;
@@ -165,7 +167,7 @@ oper
-- AR 21/2/2013 -- AR 21/2/2013
-- inverted clause order, only deviant in Fre where also the intervening -t- has to be taken to account -- inverted clause order, only deviant in Fre where also the intervening -t- has to be taken to account
invertedClause : invertedClause :
VType -> (RTense * Anteriority * Number * Person) -> Bool -> (Str * Str) -> Str -> (clit,fin,inf,compl,subj,ext : Str) -> Str = VType -> (RTense * Anteriority * Number * Person) -> Bool -> (Str * Str) -> Str -> (clit,fin,inf,compl,subj,ext : Str) -> Str =
\_,_,_,neg,_,clit,fin,inf,compl,subj,ext -> neg.p1 ++ clit ++ fin ++ neg.p2 ++ inf ++ compl ++ subj ++ ext ; \_,_,_,neg,_,clit,fin,inf,compl,subj,ext -> neg.p1 ++ clit ++ fin ++ neg.p2 ++ inf ++ compl ++ subj ++ ext ;