1
0
forked from GitHub/gf-rgl

(May) ComplSlash, prepositions and some V2s

This commit is contained in:
Inari Listenmaa
2020-08-18 20:57:15 +02:00
parent 6693a27d6c
commit c98f9a84d8
5 changed files with 25 additions and 17 deletions

View File

@@ -204,7 +204,7 @@ lin house_N = mkN "rumah" ;
-- lin language_N = mkN "" ; -- lin language_N = mkN "" ;
-- lin laugh_V = mkV "" ; -- lin laugh_V = mkV "" ;
-- lin leaf_N = mkN "" ; -- lin leaf_N = mkN "" ;
lin learn_V2 = mkV2 "ajar" Ber ; lin learn_V2 = mkV2 (mkV "ajar" Ber) emptyPrep ;
-- lin leather_N = mkN "" ; -- lin leather_N = mkN "" ;
-- lin leave_V2 = mkV2 "" ; -- lin leave_V2 = mkV2 "" ;
-- lin leg_N = mkN "" ; -- lin leg_N = mkN "" ;

View File

@@ -34,9 +34,8 @@ oper
mkV2 : overload { mkV2 : overload {
mkV2 : (root : Str) -> V2 ; mkV2 : (root : Str) -> V2 ; -- The prefix is meng and no preposition
mkV2 : (root : Str) -> Prefix -> V -- Root and prefix mkV2 : V -> Prep -> V2 ; -- V and Prep
-- TODO prepositions
} ; } ;
-- mkV3 : overload { -- mkV3 : overload {
@@ -108,8 +107,8 @@ oper
} ; } ;
mkV2 = overload { mkV2 = overload {
mkV2 : Str -> V2 = \v2 -> lin V2 (mkVerb v2 Meng) ; mkV2 : Str -> V2 = \v2 -> lin V2 ((mkVerb v2 Meng) ** {c2 = emptyPrep}) ;
mkV2 : Str -> Prefix -> V2 = \v2,p -> lin V2 (mkVerb v2 p) mkV2 : V -> Prep -> V2 = \v,p -> lin V2 (v ** {c2 = p})
} ; } ;
-- --
-- mkV3 = overload { -- mkV3 = overload {

View File

@@ -93,6 +93,11 @@ oper
obj = \\p => dengan + poss2str (Poss p) obj = \\p => dengan + poss2str (Poss p)
} ; } ;
emptyPrep : Preposition = {
s = [] ;
obj = \\_ => []
} ;
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
-- Adjectives -- Adjectives
@@ -108,8 +113,8 @@ oper
Verb : Type = { Verb : Type = {
s : VForm => Str s : VForm => Str
} ; } ;
Verb2 : Type = Verb ; --** {c2 : Preposition} ; Verb2 : Type = Verb ** {c2 : Preposition} ;
Verb3 : Type = Verb2 ; -- ** {c3 : Preposition} ; Verb3 : Type = Verb2 ** {c3 : Preposition} ;
-- VV : Type = Verb ** {vvtype : VVForm} ; -- VV : Type = Verb ** {vvtype : VVForm} ;

View File

@@ -103,14 +103,14 @@ oper
-- lin for_Prep = mkPrep ; -- lin for_Prep = mkPrep ;
-- lin from_Prep = mkPrep "" ; -- lin from_Prep = mkPrep "" ;
-- lin in8front_Prep = mkPrep "" ; -- lin in8front_Prep = mkPrep "" ;
-- lin in_Prep = mkPrep "" ; lin in_Prep = mkPrep "di" ;
-- lin on_Prep = mkPrep "" ; -- lin on_Prep = mkPrep "" ;
-- lin part_Prep = mkPrep ; -- lin part_Prep = mkPrep ;
-- lin possess_Prep = mkPrep ; -- lin possess_Prep = mkPrep ;
-- lin through_Prep = mkPrep ; -- lin through_Prep = mkPrep ;
-- lin to_Prep = mkPrep ; lin to_Prep = mkPrep "ke" ;
-- lin under_Prep = mkPrep "" ; -- lin under_Prep = mkPrep "" ;
-- lin with_Prep = mkPrep "" ; lin with_Prep = mkPrep "dengan" ;
-- lin without_Prep = mkPrep "" ; -- lin without_Prep = mkPrep "" ;

View File

@@ -35,10 +35,10 @@ lin
-} -}
-------- --------
-- Slash -- Slash
{-
-- : V2 -> VPSlash
SlashV2a = useVc ;
-- : V2 -> VPSlash
SlashV2a v2 = v2 ;
{-
-- : V3 -> NP -> VPSlash ; -- give it (to her) -- : V3 -> NP -> VPSlash ; -- give it (to her)
-- : V3 -> NP -> VPSlash ; -- give (it) to her -- : V3 -> NP -> VPSlash ; -- give (it) to her
Slash2V3, Slash2V3,
@@ -54,9 +54,11 @@ lin
SlashV2Q v2q qs = ; SlashV2Q v2q qs = ;
-- : V2A -> AP -> VPSlash ; -- paint (it) red -- : V2A -> AP -> VPSlash ; -- paint (it) red
-- : VPSlash -> NP -> VP SlashV2A v2a ap = ;
ComplSlash = insertComp ;
-} -}
-- : VPSlash -> NP -> VP
ComplSlash vps np = {s = \\vf => vps.s ! vf ++ vps.c2.s ++ np.s} ;
{- {-
-- : VV -> VPSlash -> VPSlash ; -- : VV -> VPSlash -> VPSlash ;
-- Just like ComplVV except missing subject! -- Just like ComplVV except missing subject!
@@ -111,7 +113,9 @@ lin
} ; } ;
-- : Adv -> Comp ; -- : Adv -> Comp ;
-- CompAdv adv = adv ; CompAdv adv = {
s = \\_ => adv.s ;
} ;
-- : VP -- Copula alone; -- : VP -- Copula alone;
--UseCopula = useV copula ; --UseCopula = useV copula ;