1
0
forked from GitHub/gf-rgl

(Som) Add VPSlashPrep + fix bug in insertAdv

This commit is contained in:
Inari Listenmaa
2019-09-30 10:50:26 +02:00
parent 22503e0a7a
commit 4dba178d33
3 changed files with 14 additions and 9 deletions

View File

@@ -261,6 +261,15 @@ oper
Single _ => oneWay ! p1 ! p2 ;
z => z } ;
combinePassive : Preposition -> PrepCombination = \p ->
case p of {
U => Loo ;
Ku => Lagu ;
Ka => Laga ;
La => Lala ;
_ => Passive
} ;
isPassive : {c2 : PrepCombination} -> Bool = \vp ->
case vp.c2 of {
Passive | Lagu | Laga | Loo | Lala => True ;

View File

@@ -769,11 +769,7 @@ oper
passVP : VerbPhrase -> VerbPhrase = \vp -> vp ** {
c2 = case vp.c2 of {
Single NoPrep => Passive ;
Single Ku => Lagu ;
Single Ka => Laga ;
Single U => Loo ;
Single La => Lala ;
Single p => combinePassive p ;
_ => vp.c2 }
} ;
@@ -827,6 +823,7 @@ oper
-- if free complement slots, introduce adv.np with insertComp
Single NoPrep => insertCompLite (vp ** {c2 = Single adv.c2}) adv.np ** adv' ;
Single p => insertCompLite (vp ** {c2 = combine p adv.c2}) adv.np ** adv' ;
Passive => insertCompLite (vp ** {c2 = combinePassive adv.c2}) adv.np ** adv' ;
-- if complement slots are full, just insert strings.
_ => vp ** adv''

View File

@@ -121,10 +121,9 @@ lin
AdVVPSlash adv vps = vps ** { adv = adv.s ++ vps.adv } ;
-}
-- : VP -> Prep -> VPSlash ; -- live in (it)
-- NB. We need possibly a MissingArg kind of solution here too
-- VPSlashPrep vp prep = vp **
-- { c2 = case vp.c2 of { NoPrep => prep.prep ;
-- x => x }} ;
VPSlashPrep vp prep =
let adv = prepNP prep emptyNP
in insertAdv vp adv ;