forked from GitHub/gf-rgl
(Som) Add ComplVS
This commit is contained in:
@@ -98,9 +98,9 @@ concrete CatSom of Cat = CommonX - [Adv] ** open ResSom, Prelude in {
|
|||||||
-- additional lexicon modules.
|
-- additional lexicon modules.
|
||||||
|
|
||||||
V,
|
V,
|
||||||
-- TODO: eventually proper lincats
|
VV, -- verb-phrase-complement verb e.g. "want" -- TODO: VPs that have sentential complement use waxa as stm? see Nilsson p. 68
|
||||||
VV, -- verb-phrase-complement verb e.g. "want"
|
VS, -- sentence-complement verb e.g. "claim"
|
||||||
VS, -- sentence-complement verb e.g. "claim" -- TODO: VPs that have VS use waxa as stm? see Nilsson p. 68
|
-- TODO: eventually different lincats
|
||||||
VQ, -- question-complement verb e.g. "wonder"
|
VQ, -- question-complement verb e.g. "wonder"
|
||||||
VA, -- adjective-complement verb e.g. "look"
|
VA, -- adjective-complement verb e.g. "look"
|
||||||
V2V, -- verb with NP and V complement e.g. "cause"
|
V2V, -- verb with NP and V complement e.g. "cause"
|
||||||
|
|||||||
@@ -463,7 +463,6 @@ oper
|
|||||||
BaseVerb : Type = {
|
BaseVerb : Type = {
|
||||||
s : VForm => Str ;
|
s : VForm => Str ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
Verb : Type = BaseVerb ** {
|
Verb : Type = BaseVerb ** {
|
||||||
sii : Str ; -- closed class of particles: sii, soo, kala, wada (Saeed 171)
|
sii : Str ; -- closed class of particles: sii, soo, kala, wada (Saeed 171)
|
||||||
dhex : Str ; -- closed class of adverbials: hoos, kor, dul, dhex, …
|
dhex : Str ; -- closed class of adverbials: hoos, kor, dul, dhex, …
|
||||||
@@ -471,7 +470,6 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
Verb2 : Type = Verb ** {c2 : Preposition} ;
|
Verb2 : Type = Verb ** {c2 : Preposition} ;
|
||||||
Verb3 : Type = Verb2 ** {c3 : 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:
|
-- Saeed page 79:
|
||||||
-- "… the reference form is the imperative singular form
|
-- "… the reference form is the imperative singular form
|
||||||
@@ -742,9 +740,9 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
insertComp : VPSlash -> NounPhrase -> VerbPhrase = \vp,np ->
|
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 {
|
case vp.obj2.a of {
|
||||||
-- If the old object is 3rd person (or nonexistent), we replace its agreement.
|
-- 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.
|
-- 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"
|
NoPrep => vp ** adv'' ; -- the adverb is not formed with PrepNP, e.g. "tomorrow"
|
||||||
_ => case vp.c2 of {
|
_ => case vp.c2 of {
|
||||||
-- if free complement slots, introduce adv.np with insertComp
|
-- if free complement slots, introduce adv.np with insertComp
|
||||||
Single NoPrep => insertCompAgrPlus (vp ** {c2 = Single adv.c2}) adv.np ** adv' ;
|
Single NoPrep => insertCompLite (vp ** {c2 = Single adv.c2}) adv.np ** adv' ;
|
||||||
Single p => insertCompAgrPlus (vp ** {c2 = combine p 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.
|
-- if complement slots are full, just insert strings.
|
||||||
_ => vp ** adv''
|
_ => vp ** adv''
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete VerbSom of Verb = CatSom ** open ResSom, Prelude in {
|
concrete VerbSom of Verb = CatSom ** open ResSom, AdverbSom, Prelude in {
|
||||||
|
|
||||||
|
|
||||||
lin
|
lin
|
||||||
@@ -20,10 +20,14 @@ lin
|
|||||||
vComp = vp.vComp ++ vp.s ! VInf ;
|
vComp = vp.vComp ++ vp.s ! VInf ;
|
||||||
pred = NoPred ;
|
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 ;
|
-- : VQ -> QS -> VP ;
|
||||||
ComplVQ vq qs = ;
|
ComplVQ vq qs = ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user