mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-28 20:36:29 -06:00
(Romance) add copTyp to adjectives
- so that one can force the use of a copula verb - before this, a sentence like "he was ready when I saw him" would be translated as "ele era pronto quando eu o via" in Portuguese, instead of using the estar copula
This commit is contained in:
@@ -3,59 +3,70 @@ incomplete concrete AdjectiveRomance of Adjective =
|
||||
flags coding=utf8;
|
||||
lin
|
||||
|
||||
PositA a = {
|
||||
PositA a = {
|
||||
s = a.s ! Posit ;
|
||||
isPre = a.isPre
|
||||
isPre = a.isPre ;
|
||||
copTyp = a.copTyp
|
||||
} ;
|
||||
ComparA a np = {
|
||||
s = \\af => a.s ! Compar ! af ++ conjThan ++ (np.s ! Nom).ton ;
|
||||
isPre = False
|
||||
isPre = False ;
|
||||
copTyp = a.copTyp
|
||||
} ;
|
||||
CAdvAP ad ap np = {
|
||||
s = \\af => ad.s ++ ap.s ! af ++ ad.p ++ (np.s ! Nom).ton ;
|
||||
isPre = False
|
||||
isPre = False ;
|
||||
copTyp = ap.copTyp
|
||||
} ;
|
||||
UseComparA a = {
|
||||
s = \\af => a.s ! Compar ! af ;
|
||||
isPre = a.isPre
|
||||
isPre = a.isPre ;
|
||||
copTyp = a.copTyp
|
||||
} ;
|
||||
AdjOrd ord = {
|
||||
s = \\af => ord.s ! aform2aagr af ; ----
|
||||
isPre = False ----
|
||||
isPre = False ; ----
|
||||
copTyp = serCopula
|
||||
} ;
|
||||
|
||||
-- $SuperlA$ belongs to determiner syntax in $Noun$.
|
||||
|
||||
ComplA2 adj np = {
|
||||
s = \\af => adj.s ! Posit ! af ++ appCompl adj.c2 np ;
|
||||
isPre = False
|
||||
isPre = False ;
|
||||
copTyp = serCopula
|
||||
} ;
|
||||
|
||||
ReflA2 adj = {
|
||||
s = \\af =>
|
||||
adj.s ! Posit ! af ++
|
||||
adj.c2.s ++ prepCase adj.c2.c ++ reflPron Sg P3 Nom ; --- agr
|
||||
isPre = False
|
||||
isPre = False ;
|
||||
copTyp = serCopula
|
||||
} ;
|
||||
|
||||
SentAP ap sc = {
|
||||
s = \\a => ap.s ! a ++ sc.s ! dative ; -- prête à dormir --- mood
|
||||
isPre = False
|
||||
isPre = False ;
|
||||
copTyp = ap.copTyp
|
||||
} ;
|
||||
|
||||
AdAP ada ap = {
|
||||
s = \\a => ada.s ++ ap.s ! a ;
|
||||
isPre = ap.isPre
|
||||
isPre = ap.isPre ;
|
||||
copTyp = ap.copTyp
|
||||
} ;
|
||||
|
||||
UseA2 a = {
|
||||
s = a.s ! Posit ;
|
||||
isPre = False ---- A2 has no isPre
|
||||
isPre = False ; ---- A2 has no isPre
|
||||
copTyp = serCopula ---- A2 has no copTyp (yet)
|
||||
} ;
|
||||
|
||||
AdvAP ap adv = {
|
||||
s = \\a => ap.s ! a ++ adv.s ;
|
||||
isPre = False
|
||||
isPre = False ;
|
||||
copTyp = ap.copTyp
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ incomplete concrete CatRomance of Cat = CommonX - [SC,Pol]
|
||||
|
||||
-- Adjective
|
||||
|
||||
AP = {s : AForm => Str ; isPre : Bool} ;
|
||||
AP = {s : AForm => Str ; isPre : Bool ; copTyp : CopulaType} ;
|
||||
|
||||
-- Noun
|
||||
|
||||
@@ -105,7 +105,7 @@ incomplete concrete CatRomance of Cat = CommonX - [SC,Pol]
|
||||
V3, V2A, V2V = Verb ** {c2,c3 : Compl} ;
|
||||
VS = Verb ** {m : RPolarity => Mood} ;
|
||||
|
||||
A = {s : Degree => AForm => Str ; isPre : Bool} ;
|
||||
A = {s : Degree => AForm => Str ; isPre : Bool ; copTyp : CopulaType} ;
|
||||
A2 = {s : Degree => AForm => Str ; c2 : Compl} ;
|
||||
|
||||
N = Noun ;
|
||||
|
||||
@@ -14,7 +14,8 @@ incomplete concrete ConjunctionRomance of Conjunction =
|
||||
hasClit = False ; isNeg = ss.isNeg
|
||||
}) ;
|
||||
ConjAP conj ss = conjunctDistrTable AForm conj ss ** {
|
||||
isPre = ss.isPre
|
||||
isPre = ss.isPre ;
|
||||
copTyp = ss.copTyp
|
||||
} ;
|
||||
ConjRS conj ss = conjunctDistrTable2 Mood Agr conj ss ** {
|
||||
c = ss.c
|
||||
@@ -40,8 +41,8 @@ incomplete concrete ConjunctionRomance of Conjunction =
|
||||
s2 = \\c => xs.s2 ! c ; ----e (conjunctCase c) ;
|
||||
a = conjAgr x.a xs.a ; isNeg = orB x.isNeg xs.isNeg
|
||||
} ;
|
||||
BaseAP x y = twoTable AForm x y ** {isPre = andB x.isPre y.isPre} ;
|
||||
ConsAP xs x = consrTable AForm comma xs x ** {isPre = andB xs.isPre x.isPre} ;
|
||||
BaseAP x y = twoTable AForm x y ** {isPre = andB x.isPre y.isPre ; copTyp = y.copTyp} ;
|
||||
ConsAP x xs = consrTable AForm comma x xs ** {isPre = andB x.isPre xs.isPre ; copTyp = xs.copTyp} ;
|
||||
BaseRS x y = twoTable2 Mood Agr x y ** {c = y.c} ;
|
||||
ConsRS xs x = consrTable2 Mood Agr comma xs x ** {c = xs.c} ;
|
||||
BaseIAdv = twoSS ;
|
||||
@@ -55,7 +56,7 @@ incomplete concrete ConjunctionRomance of Conjunction =
|
||||
[AdV] = {s1,s2 : Str} ;
|
||||
[IAdv] = {s1,s2 : Str} ;
|
||||
[NP] = {s1,s2 : Case => Str ; a : Agr ; isNeg : Bool} ;
|
||||
[AP] = {s1,s2 : AForm => Str ; isPre : Bool} ;
|
||||
[AP] = {s1,s2 : AForm => Str ; isPre : Bool ; copTyp : CopulaType} ;
|
||||
[RS] = {s1,s2 : Mood => Agr => Str ; c : Case} ;
|
||||
[CN] = {s1,s2 : Number => Str ; g : Gender} ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user