1
0
forked from GitHub/gf-rgl

toki transitives

This commit is contained in:
2026-04-05 10:13:58 -06:00
parent ecdc0a85f6
commit 786340192f
6 changed files with 56 additions and 61 deletions

View File

@@ -42,18 +42,18 @@ lin bird_N = mkN "waso" ;
-- lin bone_N = mkN "" ;
-- lin boot_N = mkN "" ;
-- lin boss_N = mkN "" ;
-- lin book_N = mkN "" ;
lin book_N = mkN "lipu" ;
lin boy_N = mkN "mije" ;
-- lin bread_N = mkN "" ;
-- lin break_V2 = mkV2 "" ;
lin break_V2 = mkV2 "pakala" ;
-- lin breast_N = mkN "" ;
-- lin breathe_V = mkV "" ;
-- lin broad_A = mkA "" ;
-- lin brother_N2 = mkN "" ;
-- lin brown_A = mkA "" ;
-- lin burn_V = mkV "" ;
lin burn_V = mkV "seli" ;
-- lin butter_N = mkN "" ;
-- lin buy_V2 = mkV2 "" ;
lin buy_V2 = mkV2 "esun" ;
----
-- C
@@ -75,7 +75,7 @@ lin boy_N = mkN "mije" ;
-- lin cloud_N = mkN "" ;
-- lin coat_N = mkN "" ;
-- lin cold_A = mkA "" ;
-- lin come_V = mkV "" ;
lin come_V = mkV "kama" ;
-- lin computer_N = mkN "" ;
-- lin correct_A = mkA "" ;
-- lin count_V2 = mkV2 "" ;
@@ -104,13 +104,13 @@ lin dog_N = mkN "soweli" ;
----
-- E
-- lin ear_N = mkN "" ;
-- lin earth_N = mkN "" ;
-- lin eat_V2 = mkV "" ;
lin ear_N = mkN "kute" ;
lin earth_N = mkN "ma" ;
lin eat_V2 = mkV "eat" ;
-- lin egg_N = mkN "" ;
-- lin empty_A = mkA "" ;
-- lin enemy_N = mkN "" ;
-- lin eye_N = mkN "" ;
lin eye_N = mkN "lukin" ;
----
-- F
@@ -127,7 +127,7 @@ lin dog_N = mkN "soweli" ;
-- lin find_V2 = mkV2 "" ;
-- lin fingernail_N = mkN "" ;
-- lin fire_N = mkN "" ;
-- lin fish_N = mkN "" ;
lin fish_N = mkN "kala" ;
-- lin float_V = mkV "" ;
-- lin floor_N = mkN "" ;
-- lin flow_V = mkV "" ;
@@ -140,7 +140,7 @@ lin dog_N = mkN "soweli" ;
-- lin freeze_V = mkV "" ;
-- lin fridge_N = mkN "" ;
-- lin friend_N = mkN "" ;
-- lin fruit_N = mkN "" ;
lin fruit_N = mkN "kili" ;
-- lin full_A = mkA "" ;
-- --lin fun_AV
@@ -192,7 +192,7 @@ lin john_PN = mkPN "jan" "Jon" ;
-- lin kill_V2 = mkV2 "" ;
-- lin king_N = mkN "" ;
-- lin knee_N = mkN "" ;
-- lin know_V2 = mkV2 "" ;
lin know_V2 = mkV2 "sona" ;
-- lin know_VQ = mkVQ (mkV "") ;
-- lin know_VS = mkV "" ;
@@ -218,7 +218,7 @@ lin language_N = mkN "toki" ;
-- lin lose_V2 = mkV2 "" ;
-- lin louse_N = mkN "" ;
lin love_N = mkN "olin" ;
-- lin love_V2 = mkV2 "olin" ;
lin love_V2 = mkV2 "olin" ;
----
-- M
@@ -227,7 +227,7 @@ lin love_N = mkN "olin" ;
-- lin married_A2 = mkA2 (mkA "") ;
-- lin meat_N = mkN "" ;
-- lin milk_N = mkN "" ;
-- lin moon_N = mkN "" ;
lin moon_N = mkN "mun" ;
-- lin mother_N2 = mkN2 (mkN "") ;
-- lin mountain_N = mkN "" ;
-- lin mouth_N = mkN "" ;
@@ -236,7 +236,7 @@ lin love_N = mkN "olin" ;
----
-- N
-- lin name_N = mkN "" ;
lin name_N = mkN "nimi" ;
-- lin narrow_A = mkA "" ;
-- lin near_A = mkA "" ;
-- lin neck_N = mkN "" ;

View File

@@ -51,11 +51,11 @@ concrete NounTok of Noun = CatTok ** open ResTok, Prelude in {
-- Determiners can form noun phrases directly.
-}
-- : Det -> NP ;
DetNP det = emptyNP ** {
s = \\_ => linDet det ;
s = det.s
} ;
-}
-- MassNP : CN -> NP ;
MassNP cn = emptyNP ** {
s = linCN cn

View File

@@ -146,13 +146,13 @@ oper
mkV : Str -> V = \s -> lin V (mkVerb s) ;
} ;
{-
mkV2 = overload {
mkV2 : Str -> V2 = \s ->
mkV2 : V -> Prep -> V2 = \s -> …
mkV2 : Str -> V2 = \s -> ss s
-- mkV2 : V -> Prep -> V2 = \s -> …
} ;
{-
mkV3 = overload {
mkV3 : V -> V3 = \s -> …
mkV3 : V -> Prep -> Prep -> V3 = \s -> …

View File

@@ -17,35 +17,34 @@ lin
} ;
} ;
{-
-- : SC -> VP -> Cl ; -- that she goes is good
PredSCVP sc vp = ;
-- PredSCVP sc vp = ;
--2 Clauses missing object noun phrases
-- : NP -> VPSlash -> ClSlash ;
SlashVP =
-- SlashVP = \np,vps -> ss ()
-- : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today
AdvSlash cls adv =
-- AdvSlash cls adv =
-- : Cl -> Prep -> ClSlash ; -- (with whom) he walks
SlashPrep cl prep = cl ** {c2 = prep} ;
-- SlashPrep cl prep = cl ** {c2 = prep} ;
-- Imperatives
-- : VP -> Imp ;
ImpVP vp =
-- ImpVP vp =
--2 Embedded sentences
-- : S -> SC ;
EmbedS s =
-- EmbedS s =
-- : QS -> SC ;
EmbedQS qs =
-- EmbedQS qs =
-- : VP -> SC ;
EmbedVP vp =
-}
-- EmbedVP vp =
--2 Sentences
-- : Temp -> Pol -> Cl -> S ;

View File

@@ -74,7 +74,7 @@ concrete StructuralTok of Structural = CatTok **
-- lin no_Quant =
-- lin that_Quant = mkQuant "" ;
-- lin this_Quant = mkQuant "" ;
lin this_Quant = mkQuant "ni" ;
-- lin which_IQuant = mkQuant "" ;
-----
@@ -155,7 +155,7 @@ lin language_title_Utt = ss "toki pona" ;
-------
-- Verb
-- lin have_V2 =
lin have_V2 = mkV "jo" ;
lin can8know_VV = ss "ken" ;
lin can_VV = ss "ken" ;

View File

@@ -14,7 +14,7 @@ lin
-- PassV2 v2 =
-- : VPSlash -> VP ;
-- ReflVP vps =
ReflVP vps = vps ;
-- : VV -> VP -> VP ;
ComplVV vv vp = { s = vv.s ++ vp.s ;} ;
@@ -34,61 +34,58 @@ lin
-}
--------
-- Slash
{-
-- : V2 -> VPSlash
SlashV2a v2 =
SlashV2a v2 = v2 ;
-- : V3 -> NP -> VPSlash ; -- give it (to her)
Slash2V3 v3 dobj =
-- Slash2V3 v3 dobj =
-- : V3 -> NP -> VPSlash ; -- give (it) to her
Slash3V3 v3 iobj =
-- Slash3V3 v3 iobj =
SlashV2A v2 adj =
-- SlashV2A v2 adj =
-- : V2S -> S -> VPSlash ; -- answer (to him) that it is good
SlashV2S v2s s =
-- SlashV2S v2s s =
-- : V2V -> VP -> VPSlash ; -- beg (her) to go
SlashV2V v2v vp = ;
-- SlashV2V v2v vp = ;
-- : V2Q -> QS -> VPSlash ; -- ask (him) who came
SlashV2Q v2q qs = ;
-- SlashV2Q v2q qs = ;
-- : V2A -> AP -> VPSlash ; -- paint (it) red
SlashV2A v2a ap = ;
-- SlashV2A v2a ap = ;
-- : VPSlash -> NP -> VP
-- Often VPSlash has a field called c2, which is used to pick right form of np complement
ComplSlash vps np = vps ** {
compl = np.s ! vps.c2
} ;
ComplSlash vps np = ss (vps.s ++ "e" ++ np.s) ;
-- : VV -> VPSlash -> VPSlash ;
SlashVV vv vps = ComplVV vv vps ** {
} ;
-- SlashVV vv vps = ComplVV vv vps ** {
-- } ;
-- : V2V -> NP -> VPSlash -> VPSlash ; -- beg me to buy
SlashV2VNP v2v np vps =
-- SlashV2VNP v2v np vps =
-- : VP -> Adv -> VP ; -- sleep here
AdvVP vp adv =
-- AdvVP vp adv =
-- : AdV -> VP -> VP ; -- always sleep
AdVVP adv vp =
-- AdVVP adv vp =
-- : VPSlash -> Adv -> VPSlash ; -- use (it) here
AdvVPSlash = insertAdv ;
-- AdvVPSlash = insertAdv ;
-- : VP -> Adv -> VP ; -- sleep , even though ...
ExtAdvVP vp adv = ;
-- ExtAdvVP vp adv = ;
-- : AdV -> VPSlash -> VPSlash ; -- always use (it)
AdVVPSlash adv vps = vps ** { adv = adv.s ++ vps.adv } ;
-- AdVVPSlash adv vps = vps ** { adv = adv.s ++ vps.adv } ;
-- : VP -> Prep -> VPSlash ; -- live in (it)
VPSlashPrep vp prep = vp ** {c2 = prep} ;
-- VPSlashPrep vp prep = vp ** {c2 = prep} ;
--2 Complements to copula
@@ -96,19 +93,18 @@ lin
-- Adjectival phrases, noun phrases, and adverbs can be used.
-- : AP -> Comp ;
CompAP ap =
-- CompAP ap =
-- : CN -> Comp ;
CompCN cn =
-- CompCN cn =
-- NP -> Comp ;
CompNP np =
-- CompNP np =
-- : Adv -> Comp ;
CompAdv adv =
-- CompAdv adv =
-- : VP -- Copula alone;
UseCopula =
-}
-- UseCopula =
}