1
0
forked from GitHub/gf-rgl

(Som) Add V2S

This commit is contained in:
Inari Listenmaa
2019-09-30 15:39:53 +02:00
parent 4dba178d33
commit 0e4cedd144
3 changed files with 22 additions and 6 deletions

View File

@@ -9,7 +9,7 @@ lin add_V3 = mkV3 "dar" ku NoPrep ;
-- lin alas_Interj = mkInterj "" ; -- lin alas_Interj = mkInterj "" ;
-- lin already_Adv = mkA "" ; -- lin already_Adv = mkA "" ;
lin animal_N = mkN "xayawaan" ; lin animal_N = mkN "xayawaan" ;
-- lin answer_V2S = mkV2 "" ; lin answer_V2S = mkV2S "jawaab" ku ;
-- lin apartment_N = mkN "" ; -- lin apartment_N = mkN "" ;
-- lin apple_N = mkN "" ; -- lin apple_N = mkN "" ;
-- lin art_N = mkN "" ; -- lin art_N = mkN "" ;

View File

@@ -95,6 +95,11 @@ oper
mkVV : V -> VVForm -> VV ; -- VV out of an existing V mkVV : V -> VVForm -> VV ; -- VV out of an existing V
} ; } ;
mkV2S : overload {
mkV2S : Str -> V2S ; -- Predictable verb, no preposition.
mkV2S : Str -> Preposition -> V2S ; -- Predictable verb, preposition given as second argument.
mkV2S : V -> Preposition -> V2S -- Unpredictable verb, preposition.
} ;
mkVA : Str -> VA mkVA : Str -> VA
= \s -> lin VA (regV s) ; = \s -> lin VA (regV s) ;
@@ -107,8 +112,6 @@ oper
= \s -> lin V2A (regV s ** {c2 = noPrep}) ; = \s -> lin V2A (regV s ** {c2 = noPrep}) ;
mkV2V : Str -> V2V mkV2V : Str -> V2V
= \s -> lin V2V (regV s ** {c2 = noPrep}) ; = \s -> lin V2V (regV s ** {c2 = noPrep}) ;
mkV2S : Str -> V2S
= \s -> lin V2S (regV s ** {c2 = noPrep}) ;
mkV2Q : Str -> V2Q mkV2Q : Str -> V2Q
= \s -> lin V2Q (regV s ** {c2 = noPrep}) ; = \s -> lin V2Q (regV s ** {c2 = noPrep}) ;
@@ -248,6 +251,15 @@ oper
in lin VV (dummyV ** {vvtype=b ; s = \\_ => "in"}) in lin VV (dummyV ** {vvtype=b ; s = \\_ => "in"})
} ; } ;
mkV2S = overload {
mkV2S : Str -> V2S -- Predictable verb, no preposition.
= \s -> lin V2S (regV s ** {c2 = noPrep}) ;
mkV2S : Str -> Preposition -> V2S -- Predictable verb, preposition given as second argument.
= \s,pr -> lin V2S (regV s ** {c2 = pr}) ;
mkV2S : V -> Preposition -> V2S -- Unpredictable verb, preposition.
= \v,pr -> lin V2S (v ** {c2 = pr})
} ;
possPrep : N -> CatSom.Prep = \dhex -> emptyPrep ** { possPrep : N -> CatSom.Prep = \dhex -> emptyPrep ** {
hoostiisa = \\agr => hoostiisa = \\agr =>
let qnt = PossPron (pronTable ! agr) ; let qnt = PossPron (pronTable ! agr) ;

View File

@@ -66,13 +66,17 @@ lin
-- : V3 -> NP -> VPSlash ; -- give (it) to her -- : V3 -> NP -> VPSlash ; -- give (it) to her
Slash2V3, Slash2V3,
Slash3V3 = \v3 -> insertComp (useVc3 v3) ; Slash3V3 = \v3 -> insertComp (useVc3 v3) ;
-- : V2S -> S -> VPSlash ; -- answer (to him) that it is good
SlashV2S v2s s =
let vps = useVc v2s ;
subord = SubjS {s="in"} s ;
in vps ** {obj = {s = subord.berri ; a = P3_Prep}} ;
{- {-
-- : V2V -> VP -> VPSlash ; -- beg (her) to go -- : V2V -> VP -> VPSlash ; -- beg (her) to go
SlashV2V v2v vp = ; SlashV2V v2v vp = ;
-- : V2S -> S -> VPSlash ; -- answer (to him) that it is good
SlashV2S v2s s = ;
-- : V2Q -> QS -> VPSlash ; -- ask (him) who came -- : V2Q -> QS -> VPSlash ; -- ask (him) who came
SlashV2Q v2q qs = ; SlashV2Q v2q qs = ;
-} -}