(Som) Add ComplVS

This commit is contained in:
Inari Listenmaa
2019-08-27 16:38:33 +02:00
parent d2b49b1936
commit fef2d75ca6
3 changed files with 15 additions and 13 deletions

View File

@@ -98,9 +98,9 @@ concrete CatSom of Cat = CommonX - [Adv] ** open ResSom, Prelude in {
-- additional lexicon modules.
V,
-- TODO: eventually proper lincats
VV, -- verb-phrase-complement verb e.g. "want"
VS, -- sentence-complement verb e.g. "claim" -- TODO: VPs that have VS use waxa as stm? see Nilsson p. 68
VV, -- verb-phrase-complement verb e.g. "want" -- TODO: VPs that have sentential complement use waxa as stm? see Nilsson p. 68
VS, -- sentence-complement verb e.g. "claim"
-- TODO: eventually different lincats
VQ, -- question-complement verb e.g. "wonder"
VA, -- adjective-complement verb e.g. "look"
V2V, -- verb with NP and V complement e.g. "cause"

View File

@@ -463,7 +463,6 @@ oper
BaseVerb : Type = {
s : VForm => Str ;
} ;
Verb : Type = BaseVerb ** {
sii : Str ; -- closed class of particles: sii, soo, kala, wada (Saeed 171)
dhex : Str ; -- closed class of adverbials: hoos, kor, dul, dhex, …
@@ -471,7 +470,6 @@ oper
} ;
Verb2 : Type = Verb ** {c2 : Preposition} ;
Verb3 : Type = Verb2 ** {c3 : Preposition} ;
VerbS : Type = Verb ; -- TODO: VPs that have VS use waxa as stm? see Nilsson p. 68
-- Saeed page 79:
-- "… the reference form is the imperative singular form
@@ -742,9 +740,9 @@ oper
} ;
insertComp : VPSlash -> NounPhrase -> VerbPhrase = \vp,np ->
insertCompAgrPlus vp (nplite np) ;
insertCompLite vp (nplite np) ;
insertCompAgrPlus : VPSlash -> NPLite -> VerbPhrase = \vp,nplite ->
insertCompLite : VPSlash -> NPLite -> VerbPhrase = \vp,nplite ->
case vp.obj2.a of {
-- If the old object is 3rd person (or nonexistent), we replace its agreement.
-- We keep both old and new string (=noun, if there was one) in obj2.s.
@@ -768,8 +766,8 @@ oper
NoPrep => vp ** adv'' ; -- the adverb is not formed with PrepNP, e.g. "tomorrow"
_ => case vp.c2 of {
-- if free complement slots, introduce adv.np with insertComp
Single NoPrep => insertCompAgrPlus (vp ** {c2 = Single adv.c2}) adv.np ** adv' ;
Single p => insertCompAgrPlus (vp ** {c2 = combine p adv.c2}) adv.np ** adv' ;
Single NoPrep => insertCompLite (vp ** {c2 = Single adv.c2}) adv.np ** adv' ;
Single p => insertCompLite (vp ** {c2 = combine p adv.c2}) adv.np ** adv' ;
-- if complement slots are full, just insert strings.
_ => vp ** adv''

View File

@@ -1,4 +1,4 @@
concrete VerbSom of Verb = CatSom ** open ResSom, Prelude in {
concrete VerbSom of Verb = CatSom ** open ResSom, AdverbSom, Prelude in {
lin
@@ -20,10 +20,14 @@ lin
vComp = vp.vComp ++ vp.s ! VInf ;
pred = NoPred ;
} ;
{-
-- : VS -> S -> VP ;
ComplVS vs s = ;
-- : VS -> S -> VP ;
ComplVS vs s =
let vps = useV vs ;
subord = SubjS {s="in"} s ;
in vps ** {obj2 = {s = subord.berri ; a = P3_Prep}} ;
{-
-- : VQ -> QS -> VP ;
ComplVQ vq qs = ;