mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
(Por)
- add AdjAsCN AdjAsNP - copied VPS functions from ExtraRomance - fixes to Lexicon
This commit is contained in:
@@ -70,7 +70,7 @@ abstract Sentence = Cat ** {
|
||||
|
||||
-- This covers subjunctive clauses, but they can also be added to the end.
|
||||
|
||||
SSubjS : S -> Subj -> S -> S ; -- I go home if she comes
|
||||
SSubjS : S -> Subj -> S -> S ; -- I go home, if she comes
|
||||
|
||||
-- A sentence can be modified by a relative clause referring to its contents.
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@ concrete ExtendPor of Extend =
|
||||
CatPor ** ExtendFunctor -
|
||||
[
|
||||
AdAdV,
|
||||
AdjAsCN,
|
||||
AdjAsNP,
|
||||
ApposNP,
|
||||
BaseVPS,
|
||||
ByVP,
|
||||
@@ -13,6 +15,7 @@ concrete ExtendPor of Extend =
|
||||
CompoundAP,
|
||||
CompoundN,
|
||||
CompVP,
|
||||
ConjVPS,
|
||||
ConsVPS,
|
||||
--EmptyRelSlash,
|
||||
ExistsNP,
|
||||
@@ -27,11 +30,13 @@ concrete ExtendPor of Extend =
|
||||
ICompAP,
|
||||
InOrderToVP,
|
||||
ListVPS,
|
||||
MkVPS,
|
||||
PassAgentVPSlash,
|
||||
PassVPSlash,
|
||||
PastPartAP,
|
||||
PastPartAgentAP,
|
||||
PositAdVAdj,
|
||||
PredVPS,
|
||||
PresPartAP,
|
||||
ProDrop,
|
||||
PurposeVP,
|
||||
@@ -85,17 +90,28 @@ concrete ExtendPor of Extend =
|
||||
c = Nom
|
||||
} ;
|
||||
|
||||
---- these come from ExtraRomance: how to avoid the repetition?
|
||||
---- can't seem to be able to use two functors
|
||||
lincat
|
||||
VPS = {s : Agr => Mood => Str} ;
|
||||
[VPS] = {s1,s2 : Agr => Mood => Str} ;
|
||||
-- VPI = {s : VType => Agr => Str } ;
|
||||
VPS = {s : Mood => Agr => Bool => Str} ;
|
||||
[VPS] = {s1,s2 : Mood => Agr => Bool => Str} ;
|
||||
|
||||
lin
|
||||
BaseVPS = twoTable2 Agr Mood ;
|
||||
ConsVPS = consrTable2 Agr Mood comma ;
|
||||
BaseVPS x y = twoTable3 Mood Agr Bool x y ;
|
||||
ConsVPS = consrTable3 Mood Agr Bool comma ;
|
||||
|
||||
-- MkVPS t p vp = mkVPS (lin Temp t) (lin Pol p) (lin VP vp) ;
|
||||
--TODO: write mkVPS oper
|
||||
PredVPS np vpi = {
|
||||
s = \\m => (np.s ! Nom).comp ++ vpi.s ! m ! np.a ! np.isNeg
|
||||
} ;
|
||||
|
||||
MkVPS tm p vp = {
|
||||
s = \\m,agr,isNeg =>
|
||||
tm.s ++ p.s ++
|
||||
(mkClausePol (orB isNeg vp.isNeg) [] False False agr vp).s
|
||||
! DDir ! tm.t ! tm.a ! p.p ! m
|
||||
} ;
|
||||
|
||||
ConjVPS = conjunctDistrTable3 Mood Agr Bool ;
|
||||
|
||||
lin
|
||||
ProDrop p = {
|
||||
@@ -148,6 +164,16 @@ concrete ExtendPor of Extend =
|
||||
|
||||
ComplBareVS = ComplVS ;
|
||||
|
||||
AdjAsCN ap = {
|
||||
s =\\n => ap.s ! AF Masc n ;
|
||||
g = Masc
|
||||
} ;
|
||||
|
||||
AdjAsNP ap = heavyNP {
|
||||
s = \\_c => ap.s ! AF Masc Sg ;
|
||||
a = Ag Masc Sg P3
|
||||
} ;
|
||||
|
||||
oper
|
||||
pastPartAP : VPSlash -> Str -> AP ;
|
||||
pastPartAP vps agent = lin AP {
|
||||
|
||||
@@ -10,7 +10,7 @@ flags
|
||||
lin
|
||||
easy_A2V = mkA2V (mkA "fácil") dative genitive ;
|
||||
married_A2 = mkA2 (mkA "casado") dative ;
|
||||
probable_AS = mkAS (mkA "provável" "provavelmente") ;
|
||||
probable_AS = mkAS (prefA (mkA "provável" "provavelmente")) ;
|
||||
fun_AV = mkAV (mkA "divertido") genitive ;
|
||||
-- A
|
||||
bad_A = prefA (mkA (mkA "mau") (mkA "pior")) ;
|
||||
|
||||
Reference in New Issue
Block a user