mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
(May) No verbal prefixes in relative clauses
This commit is contained in:
@@ -9,7 +9,7 @@ concrete CatMay of Cat = CommonX ** open ResMay, Prelude in {
|
|||||||
|
|
||||||
S = ResMay.Sentence ;
|
S = ResMay.Sentence ;
|
||||||
QS = SS ;
|
QS = SS ;
|
||||||
RS = ResMay.RClause ;
|
RS = ResMay.RS ;
|
||||||
-- relative sentence. Tense and polarity fixed,
|
-- relative sentence. Tense and polarity fixed,
|
||||||
-- but agreement may depend on the CN/NP it modifies.
|
-- but agreement may depend on the CN/NP it modifies.
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ concrete NounMay of Noun = CatMay ** open ResMay, Prelude in {
|
|||||||
|
|
||||||
-- : NP -> RS -> NP ; -- Paris, which is here
|
-- : NP -> RS -> NP ; -- Paris, which is here
|
||||||
RelNP np rs = np ** {
|
RelNP np rs = np ** {
|
||||||
s = np.s ++ rs.subj ++ rs.pred ! np.p
|
s = np.s ++ rs.s ! np.p
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Determiners can form noun phrases directly.
|
-- Determiners can form noun phrases directly.
|
||||||
@@ -147,7 +147,7 @@ concrete NounMay of Noun = CatMay ** open ResMay, Prelude in {
|
|||||||
|
|
||||||
-- : CN -> RS -> CN ;
|
-- : CN -> RS -> CN ;
|
||||||
RelCN cn rs = cn ** {
|
RelCN cn rs = cn ** {
|
||||||
s = \\nf => cn.s ! nf ++ rs.subj ++ rs.pred ! P3
|
s = \\nf => cn.s ! nf ++ rs.s ! P3
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
{-
|
{-
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ lin
|
|||||||
-- : RP -> VP -> RCl ;
|
-- : RP -> VP -> RCl ;
|
||||||
RelVP rp vp = {
|
RelVP rp vp = {
|
||||||
subj = rp.s ;
|
subj = rp.s ;
|
||||||
pred = \\_ => vp.s ! Root ; -- TODO
|
pred = \\_ => vp.s ! Root ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- : RP -> ClSlash -> RCl ; -- who I went with
|
-- : RP -> ClSlash -> RCl ; -- who I went with
|
||||||
@@ -17,7 +17,7 @@ lin
|
|||||||
subj = rp.s -- yang
|
subj = rp.s -- yang
|
||||||
++ cls.subj ; -- saya
|
++ cls.subj ; -- saya
|
||||||
pred =
|
pred =
|
||||||
\\p => cls.pred -- ikut sama
|
\\p => cls.pred ! Root -- ikut sama
|
||||||
++ cls.c2.obj ! p -- dengan+nya (depends on the head, not known yet)
|
++ cls.c2.obj ! p -- dengan+nya (depends on the head, not known yet)
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -154,11 +154,17 @@ oper
|
|||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
-- Cl, S
|
-- Cl, S
|
||||||
|
|
||||||
Clause : Type = {subj, pred : Str} ;
|
Clause : Type = {
|
||||||
|
subj : Str ;
|
||||||
|
pred : VForm => Str -- Cl may become relative clause, need to keep open
|
||||||
|
} ;
|
||||||
|
|
||||||
RClause : Type = {
|
RClause : Type = {
|
||||||
subj : Str ;
|
subj : Str ;
|
||||||
pred : Person => Str} ;
|
pred : Person => Str
|
||||||
|
} ;
|
||||||
|
|
||||||
|
RS : Type = {s : Person => Str} ;
|
||||||
|
|
||||||
ClSlash : Type = Clause ** {c2 : Preposition} ;
|
ClSlash : Type = Clause ** {c2 : Preposition} ;
|
||||||
|
|
||||||
@@ -166,7 +172,7 @@ oper
|
|||||||
|
|
||||||
predVP : NounPhrase -> VerbPhrase -> Clause = \np,vp -> {
|
predVP : NounPhrase -> VerbPhrase -> Clause = \np,vp -> {
|
||||||
subj = np.s ;
|
subj = np.s ;
|
||||||
pred = vp.s ! Active ; -- TODO
|
pred = vp.s
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
predVPSlash : NounPhrase -> VPSlash -> ClSlash = \np,vps ->
|
predVPSlash : NounPhrase -> VPSlash -> ClSlash = \np,vps ->
|
||||||
|
|||||||
@@ -51,17 +51,17 @@ lin
|
|||||||
|
|
||||||
-- : Temp -> Pol -> Cl -> S ;
|
-- : Temp -> Pol -> Cl -> S ;
|
||||||
UseCl t p cl = {
|
UseCl t p cl = {
|
||||||
s = cl.subj ++ t.s ++ p.s ++ cl.pred ;
|
s = cl.subj ++ t.s ++ p.s ++ cl.pred ! Active ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- : Temp -> Pol -> QCl -> QS ;
|
-- : Temp -> Pol -> QCl -> QS ;
|
||||||
UseQCl t p cl = {
|
UseQCl t p cl = {
|
||||||
s = cl.subj ++ t.s ++ p.s ++ cl.pred ;
|
s = cl.subj ++ t.s ++ p.s ++ cl.pred ! Active ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- : Temp -> Pol -> RCl -> RS ;
|
-- : Temp -> Pol -> RCl -> RS ;
|
||||||
UseRCl t p cl = cl ** {
|
UseRCl t p cl = {
|
||||||
pred = \\per => t.s ++ p.s ++ cl.pred ! per ;
|
s = \\per => cl.subj ++ t.s ++ p.s ++ cl.pred ! per ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- AdvS : Adv -> S -> S ; -- then I will go home
|
-- AdvS : Adv -> S -> S ; -- then I will go home
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ Lang: DetCN (DetQuant IndefArt NumSg) (RelCN (UseN cat_N) (UseRCl (TTAnt TPres A
|
|||||||
LangEng: a cat that drinks milk
|
LangEng: a cat that drinks milk
|
||||||
LangMay: kucing yang minum susu
|
LangMay: kucing yang minum susu
|
||||||
|
|
||||||
|
Lang: MassNP (RelCN (UseN milk_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant DefArt NumSg) (UseN cat_N)) (SlashV2a drink_V2)))))
|
||||||
|
LangEng: milk that the cat drinks
|
||||||
|
LangMay: susu yang kucing minum
|
||||||
|
|
||||||
Lang: DetCN (DetQuant DefArt NumSg) (RelCN (UseN cat_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashPrep (PredVP (DetCN (DetQuant DefArt NumSg) (UseN dog_N)) (UseV walk_V)) with_Prep))))
|
Lang: DetCN (DetQuant DefArt NumSg) (RelCN (UseN cat_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashPrep (PredVP (DetCN (DetQuant DefArt NumSg) (UseN dog_N)) (UseV walk_V)) with_Prep))))
|
||||||
LangEng: the cat that the dog walks with
|
LangEng: the cat that the dog walks with
|
||||||
LangMay: kucing yang anjing berjalan dengannya
|
LangMay: kucing yang anjing jalan dengannya
|
||||||
Reference in New Issue
Block a user