forked from GitHub/gf-rgl
toki transitives
This commit is contained in:
@@ -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 "" ;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 -> …
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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" ;
|
||||
|
||||
@@ -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 =
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user