mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-15 10:00:11 -06:00
57 lines
1.8 KiB
Plaintext
57 lines
1.8 KiB
Plaintext
concrete RelativeGrc of Relative = CatGrc ** open ResGrc in {
|
|
|
|
flags optimize=all_subs ;
|
|
|
|
lin
|
|
|
|
-- RelCl cl = {
|
|
-- s = \\t,a,p,_ => "such" ++ "that" ++ cl.s ! t ! a ! p ! ODir ;
|
|
-- c = Nom
|
|
-- } ;
|
|
|
|
RelVP rp vp = {
|
|
-- s = \\t,ant,b,ag =>
|
|
s = \\t,b,agr => -- TODO: anteriority, tense/vtense
|
|
let
|
|
cl = mkClause (rp.s ! (genderAgr agr) ! numberAgr agr ! Nom) agr vp
|
|
in
|
|
-- cl.s ! t ! ant ! b ! ODir ;
|
|
cl.s ! t ! b ! SVO ; --ODir ;
|
|
c = Nom
|
|
} ;
|
|
|
|
-- Pied piping: "at which we are looking".
|
|
|
|
RelSlash rp slash = {
|
|
-- s = \\t,a,p,agr =>
|
|
-- slash.c2 ++ rp.s ! RPrep (fromAgr agr).g ++ slash.s ! t ! a ! p ! ODir ;
|
|
s = \\t,p,agr => -- TODO: anteriority, tense/vtense
|
|
slash.c2.s
|
|
++ rp.s ! (genderAgr agr) ! (numberAgr agr) ! (slash.c2.c)
|
|
++ slash.s ! t ! p ! OSV
|
|
;
|
|
c = Acc -- ??
|
|
} ;
|
|
|
|
-- FunRP : Prep -> NP -> RP -> RP ; -- the mother of whom
|
|
-- FunRP p np rp = {
|
|
-- s = \\c => np.s ! Acc ++ p.s ++ rp.s ! RPrep (fromAgr np.a).g ;
|
|
-- a = RAg np.a
|
|
-- } ;
|
|
|
|
IdRP = { s = \\g,n,c => relPron ! n ! g ! c } ;
|
|
|
|
oper
|
|
relPron : Number => Gender => Case => Str = -- BR 69
|
|
table { Sg => table { Masc => cases "o('s*" "o('n" "oy(~" "w|(~" ;
|
|
Fem => cases "h('" "h('n" "h(~s*" "h|(~" ;
|
|
Neutr=> cases "o('" "o('" "oy(~" "w|(~"
|
|
} ;
|
|
Pl | Dl => -- are there dual forms ??
|
|
table { Masc => cases "oi('" "oy('s*" "w(~n" "oi(~s*" ;
|
|
Fem => cases "ai('" "a('s*" "w(~n" "ai(~s*" ;
|
|
Neutr=> cases "a('" "a('" "w(~n" "oi(~s*"
|
|
}
|
|
} ;
|
|
}
|