mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-10 19:52:50 -06:00
fine-tuning Romance for efficiency
This commit is contained in:
@@ -6,29 +6,28 @@ incomplete concrete RelativeRomance of Relative =
|
||||
lin
|
||||
|
||||
RelCl cl = {
|
||||
s = \\t,a,p,m,ag => pronSuch ! ag ++ conjThat ++ cl.s ! t ! a ! p ! m
|
||||
s = \\ag,t,a,p,m => pronSuch ! ag ++ conjThat ++ cl.s ! t ! a ! p ! m
|
||||
} ;
|
||||
|
||||
RelVP rp vp = {
|
||||
s = \\t,ant,b,m,ag =>
|
||||
let
|
||||
agr = case rp.a of {
|
||||
RNoAg => ag ;
|
||||
RAg a => a ** {p = P3}
|
||||
} ;
|
||||
cl = mkClause (rp.s ! False ! {g = ag.g ; n = ag.n} ! Nom) agr vp
|
||||
in
|
||||
cl.s ! t ! ant ! b ! m
|
||||
s = \\ag =>
|
||||
(mkClause
|
||||
(rp.s ! False ! {g = ag.g ; n = ag.n} ! Nom)
|
||||
(
|
||||
case rp.a of {
|
||||
RNoAg => ag ;
|
||||
RAg a => a ** {p = P3}
|
||||
}) vp).s
|
||||
} ;
|
||||
|
||||
RelSlash rp slash = {
|
||||
s = \\t,a,p,m,ag =>
|
||||
s = \\ag,t,a,p,m =>
|
||||
slash.c2.s ++ rp.s ! False ! ag ! slash.c2.c ++ slash.s ! t ! a ! p ! m
|
||||
} ;
|
||||
|
||||
FunRP p np rp = {
|
||||
s = \\_,a,c => np.s ! Ton Nom ++ p.s ++ rp.s ! True ! a ! p.c ;
|
||||
a = RAg np.a
|
||||
a = RAg {g = np.a.g ; n = np.a.n}
|
||||
} ;
|
||||
IdRP = {
|
||||
s = relPron ;
|
||||
|
||||
Reference in New Issue
Block a user