mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-08-25 05:36:22 -06:00
49 lines
1.8 KiB
Plaintext
49 lines
1.8 KiB
Plaintext
concrete RelativeJap of Relative = CatJap ** open ResJap, ParadigmsJap, Prelude in {
|
|
|
|
flags coding = utf8 ;
|
|
|
|
lin
|
|
|
|
RelCl cl = {
|
|
s = \\_,st,t,p => cl.s ! Ga ! st ! t ! p ;
|
|
te = \\_,st => cl.te ! Ga ! st ;
|
|
changePolar = cl.changePolar ;
|
|
subj = cl.subj ;
|
|
pred = \\_,st,t,p => cl.pred ! st ! t ! p ;
|
|
pred_te = \\a,st => cl.pred_te ! st ;
|
|
pred_ba = \\a,st => cl.pred_ba ! st ;
|
|
missingSubj = False
|
|
} ;
|
|
|
|
RelVP rp vp = {
|
|
s = \\a,st,t,p => vp.prepositive ! st ++ rp.s ! st ++ vp.obj ! st ++
|
|
vp.prep ++ vp.verb ! a ! Plain ! t ! p ++ rp.prep ;
|
|
te = \\a,st => vp.prepositive ! st ++ rp.s ! st ++ vp.obj ! st ++
|
|
vp.prep ++ vp.te ! a ! st ++ rp.prep ;
|
|
changePolar = False ;
|
|
subj = \\part,st => vp.prepositive ! st ++ rp.s ! st ;
|
|
pred = \\a,st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! a ! st ! t ! p ++ rp.prep ;
|
|
pred_te = \\a,st => vp.obj ! st ++ vp.prep ++ vp.te ! a ! st ++ rp.prep ;
|
|
pred_ba = \\a,st => vp.obj ! st ++ vp.prep ++ vp.ba ! a ! st ++ rp.prep ;
|
|
missingSubj = True
|
|
} ;
|
|
|
|
RelSlash rp clslash = {
|
|
s = \\_,st,t,p => rp.s ! st ++ clslash.s ! st ! t ! p ++ rp.prep ;
|
|
te = \\_,st => rp.s ! st ++ clslash.te ! st ;
|
|
changePolar = clslash.changePolar ;
|
|
subj = \\part,st => rp.s ! st ++ clslash.subj ! part ! st ;
|
|
pred = \\_,st,t,p => clslash.pred ! st ! t ! p ++ rp.prep ;
|
|
pred_te = \\a,st => clslash.pred_te ! st ++ rp.prep ;
|
|
pred_ba = \\a,st => clslash.pred_ba ! st ++ rp.prep ;
|
|
missingSubj = False
|
|
} ;
|
|
|
|
IdRP = {s = \\st => [] ; prep = []} ;
|
|
|
|
FunRP prep np rp = {
|
|
s = \\st => np.prepositive ! st ++ np.s ! st ;
|
|
prep = prep.relPrep
|
|
} ;
|
|
}
|