mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-24 02:12:50 -06:00
thai questions and negations
This commit is contained in:
@@ -39,12 +39,12 @@ concrete TravelTha of Travel = open Prelude in {
|
|||||||
MkSpeaker = cc2 ;
|
MkSpeaker = cc2 ;
|
||||||
MkHearer _ _ = ss [] ;
|
MkHearer _ _ = ss [] ;
|
||||||
|
|
||||||
Male = ss "k2rab" ;
|
Male = ss "k2ra.b" ;
|
||||||
Female = ss "k2T1a" ;
|
Female = ss "k2T1a." ;
|
||||||
|
|
||||||
Single, Many = ss [] ;
|
Single, Many = ss [] ;
|
||||||
|
|
||||||
Hello = ss ["swa.s di:"] ;
|
Hello = ss ["swas di:"] ;
|
||||||
Thanks = ss ["k1Ob k2un'"] ;
|
Thanks = ss ["k1Ob k2un'"] ;
|
||||||
|
|
||||||
IWant = prefixSS "eOa:" ;
|
IWant = prefixSS "eOa:" ;
|
||||||
@@ -64,7 +64,7 @@ concrete TravelTha of Travel = open Prelude in {
|
|||||||
Five = ss "ha:" ;
|
Five = ss "ha:" ;
|
||||||
Ten = ss "sib" ;
|
Ten = ss "sib" ;
|
||||||
|
|
||||||
Mango = cls ["ma mT1wg"] "lu:k" ;
|
Mango = cls ["ma. mT1wg"] "lu:k" ;
|
||||||
Green = ss ["si: ek1i:yw"] ;
|
Green = ss ["si: ek1i:yw"] ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
--concrete AdverbTha of Adverb = CatTha ** open ResTha, Prelude in {
|
concrete AdverbTha of Adverb = CatTha **
|
||||||
--
|
open ResTha, StringsTha, Prelude in {
|
||||||
-- lin
|
|
||||||
-- PositAdvAdj a = {s = a.s ! AAdv} ;
|
lin
|
||||||
|
PositAdvAdj a = a ;
|
||||||
|
|
||||||
-- ComparAdvAdj cadv a np = {
|
-- ComparAdvAdj cadv a np = {
|
||||||
-- s = cadv.s ++ a.s ! AAdv ++ "than" ++ np.s ! Nom
|
-- s = cadv.s ++ a.s ! AAdv ++ "than" ++ np.s ! Nom
|
||||||
-- } ;
|
-- } ;
|
||||||
@@ -18,4 +20,4 @@
|
|||||||
--
|
--
|
||||||
-- AdnCAdv cadv = {s = cadv.s ++ "than"} ;
|
-- AdnCAdv cadv = {s = cadv.s ++ "than"} ;
|
||||||
--
|
--
|
||||||
--}
|
}
|
||||||
|
|||||||
@@ -4,24 +4,24 @@ concrete CatTha of Cat = CommonX ** open ResTha, Prelude in {
|
|||||||
|
|
||||||
lincat
|
lincat
|
||||||
|
|
||||||
---- Tensed/Untensed
|
-- Tensed/Untensed
|
||||||
--
|
|
||||||
-- S = {s : Str} ;
|
S = {s : Str} ;
|
||||||
-- QS = {s : QForm => Str} ;
|
QS = {s : QForm => Str} ;
|
||||||
-- RS = {s : Agr => Str ; c : Case} ; -- c for it clefts
|
-- RS = {s : Agr => Str ; c : Case} ; -- c for it clefts
|
||||||
--
|
--
|
||||||
---- Sentence
|
---- Sentence
|
||||||
--
|
--
|
||||||
-- Cl = {s : Tense => Anteriority => CPolarity => Order => Str} ;
|
Cl = {s : Polarity => Str} ;
|
||||||
-- Slash = {
|
-- Slash = {
|
||||||
-- s : Tense => Anteriority => CPolarity => Order => Str ;
|
-- s : Tense => Anteriority => CPolarity => Order => Str ;
|
||||||
-- c2 : Str
|
-- c2 : Str
|
||||||
-- } ;
|
-- } ;
|
||||||
-- Imp = {s : CPolarity => ImpForm => Str} ;
|
Imp = {s : Polarity => Str} ;
|
||||||
--
|
--
|
||||||
---- Question
|
---- Question
|
||||||
--
|
--
|
||||||
-- QCl = {s : Tense => Anteriority => CPolarity => QForm => Str} ;
|
QCl = {s : Polarity => Str} ;
|
||||||
-- IP = {s : Case => Str ; n : Number} ;
|
-- IP = {s : Case => Str ; n : Number} ;
|
||||||
-- IComp = {s : Str} ;
|
-- IComp = {s : Str} ;
|
||||||
-- IDet = {s : Str ; n : Number} ;
|
-- IDet = {s : Str ; n : Number} ;
|
||||||
@@ -33,15 +33,8 @@ concrete CatTha of Cat = CommonX ** open ResTha, Prelude in {
|
|||||||
--
|
--
|
||||||
---- Verb
|
---- Verb
|
||||||
--
|
--
|
||||||
-- VP = {
|
VP = ResTha.VP ;
|
||||||
-- s : Tense => Anteriority => CPolarity => Order => Agr => {fin, inf : Str} ;
|
Comp = ResTha.VP ;
|
||||||
-- prp : Str ; -- present participle
|
|
||||||
-- inf : Str ; -- infinitive
|
|
||||||
-- ad : Str ;
|
|
||||||
-- s2 : Agr => Str
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
-- Comp = {s : Agr => Str} ;
|
|
||||||
--
|
--
|
||||||
---- Adjective
|
---- Adjective
|
||||||
--
|
--
|
||||||
@@ -66,12 +59,12 @@ concrete CatTha of Cat = CommonX ** open ResTha, Prelude in {
|
|||||||
-- Subj = {s : Str} ;
|
-- Subj = {s : Str} ;
|
||||||
-- Prep = {s : Str} ;
|
-- Prep = {s : Str} ;
|
||||||
--
|
--
|
||||||
---- Open lexical classes, e.g. Lexicon
|
-- Open lexical classes, e.g. Lexicon
|
||||||
--
|
|
||||||
-- V, VS, VQ, VA = Verb ; -- = {s : VForm => Str} ;
|
V, VS, VQ, VA = Verb ;
|
||||||
-- V2, V2A = Verb ** {c2 : Str} ;
|
V2, V2A = Verb ** {c2 : Str} ;
|
||||||
-- V3 = Verb ** {c2, c3 : Str} ;
|
V3 = Verb ** {c2, c3 : Str} ;
|
||||||
-- VV = {s : VVForm => Str ; isAux : Bool} ;
|
VV = VVerb ;
|
||||||
--
|
--
|
||||||
-- A = {s : AForm => Str} ;
|
-- A = {s : AForm => Str} ;
|
||||||
-- A2 = {s : AForm => Str ; c2 : Str} ;
|
-- A2 = {s : AForm => Str ; c2 : Str} ;
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ concrete GrammarTha of Grammar =
|
|||||||
NounTha,
|
NounTha,
|
||||||
VerbTha,
|
VerbTha,
|
||||||
AdjectiveTha,
|
AdjectiveTha,
|
||||||
-- AdverbTha,
|
AdverbTha,
|
||||||
NumeralTha,
|
NumeralTha,
|
||||||
SentenceTha,
|
SentenceTha,
|
||||||
-- QuestionTha,
|
QuestionTha,
|
||||||
-- RelativeTha,
|
-- RelativeTha,
|
||||||
-- ConjunctionTha,
|
-- ConjunctionTha,
|
||||||
-- PhraseTha,
|
PhraseTha,
|
||||||
-- TextX,
|
-- TextX,
|
||||||
StructuralTha,
|
StructuralTha,
|
||||||
-- IdiomTha
|
-- IdiomTha
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ lin
|
|||||||
-- glove_N = regN "glove" ;
|
-- glove_N = regN "glove" ;
|
||||||
-- gold_N = regN "gold" ;
|
-- gold_N = regN "gold" ;
|
||||||
-- good_A = mkADeg "good" "well" "better" "best" ;
|
-- good_A = mkADeg "good" "well" "better" "best" ;
|
||||||
go_V = ss pay_s ;
|
go_V = regV pay_s ;
|
||||||
-- green_A = regADeg "green" ;
|
-- green_A = regADeg "green" ;
|
||||||
-- harbour_N = regN "harbour" ;
|
-- harbour_N = regN "harbour" ;
|
||||||
-- hate_V2 = dirV2 (regV "hate") ;
|
-- hate_V2 = dirV2 (regV "hate") ;
|
||||||
@@ -113,7 +113,7 @@ lin
|
|||||||
-- long_A = regADeg "long" ;
|
-- long_A = regADeg "long" ;
|
||||||
-- lose_V2 = dirV2 (irregV "lose" "lost" "lost") ;
|
-- lose_V2 = dirV2 (irregV "lose" "lost" "lost") ;
|
||||||
-- love_N = regN "love" ;
|
-- love_N = regN "love" ;
|
||||||
love_V2 = ss rak_s ;
|
love_V2 = dirV2 (regV rak_s) ;
|
||||||
-- man_N = mk2N "man" "men" ;
|
-- man_N = mk2N "man" "men" ;
|
||||||
-- married_A2 = mkA2 (regA "married") toP ;
|
-- married_A2 = mkA2 (regA "married") toP ;
|
||||||
-- meat_N = regN "meat" ;
|
-- meat_N = regN "meat" ;
|
||||||
@@ -167,7 +167,7 @@ lin
|
|||||||
-- short_A = regADeg "short" ;
|
-- short_A = regADeg "short" ;
|
||||||
-- silver_N = regN "silver" ;
|
-- silver_N = regN "silver" ;
|
||||||
-- sister_N = regN "sister" ;
|
-- sister_N = regN "sister" ;
|
||||||
-- sleep_V = (irregV "sleep" "slept" "slept") ;
|
sleep_V = resV noon_s lap_s ;
|
||||||
-- small_A = regADeg "small" ;
|
-- small_A = regADeg "small" ;
|
||||||
-- snake_N = regN "snake" ;
|
-- snake_N = regN "snake" ;
|
||||||
-- sock_N = regN "sock" ;
|
-- sock_N = regN "sock" ;
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
--concrete PhraseTha of Phrase = CatTha ** open Prelude, ResTha in {
|
concrete PhraseTha of Phrase = CatTha ** open Prelude, ResTha in {
|
||||||
--
|
|
||||||
-- lin
|
lin
|
||||||
-- PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ;
|
PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ;
|
||||||
--
|
|
||||||
-- UttS s = s ;
|
UttS s = s ;
|
||||||
-- UttQS qs = {s = qs.s ! QDir} ;
|
UttQS qs = {s = qs.s ! QDir} ;
|
||||||
-- UttImpSg pol imp = {s = pol.s ++ imp.s ! contrNeg True pol.p ! ImpF Sg False} ;
|
UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.p} ;
|
||||||
-- UttImpPl pol imp = {s = pol.s ++ imp.s ! contrNeg True pol.p ! ImpF Pl False} ;
|
UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p} ;
|
||||||
-- UttImpPol pol imp = {s = pol.s ++ imp.s ! contrNeg True pol.p ! ImpF Sg True} ;
|
UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p} ; --- add politeness here?
|
||||||
--
|
|
||||||
-- UttIP ip = {s = ip.s ! Nom} ; --- Acc also
|
UttIP ip = ip ;
|
||||||
-- UttIAdv iadv = iadv ;
|
UttIAdv iadv = iadv ;
|
||||||
-- UttNP np = {s = np.s ! Acc} ;
|
UttNP np = np ;
|
||||||
-- UttVP vp = {s = infVP False vp (agrP3 Sg)} ;
|
UttVP vp = {s = vp.s ! Pos} ;
|
||||||
-- UttAdv adv = adv ;
|
UttAdv adv = adv ;
|
||||||
--
|
|
||||||
-- NoPConj = {s = []} ;
|
NoPConj = {s = []} ;
|
||||||
-- PConjConj conj = conj ;
|
PConjConj conj = conj ;
|
||||||
--
|
|
||||||
-- NoVoc = {s = []} ;
|
NoVoc = {s = []} ;
|
||||||
-- VocNP np = {s = "," ++ np.s ! Nom} ;
|
VocNP np = {s = np.s} ; ---- ??
|
||||||
--
|
|
||||||
--}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,14 @@
|
|||||||
--concrete QuestionTha of Question = CatTha ** open ResTha, Prelude in {
|
concrete QuestionTha of Question = CatTha **
|
||||||
--
|
open ResTha, StringsTha, Prelude in {
|
||||||
-- flags optimize=all_subs ;
|
|
||||||
--
|
flags optimize=all_subs ;
|
||||||
-- lin
|
|
||||||
--
|
lin
|
||||||
-- QuestCl cl = {
|
|
||||||
-- s = \\t,a,p =>
|
-- pos. may, neg. chay may - not always the proper forms ---
|
||||||
-- let cls = cl.s ! t ! a ! p
|
|
||||||
-- in table {
|
QuestCl cl = {s = \\p => cl.s ! Pos ++ polStr chay_s p ++ m'ay_s} ;
|
||||||
-- QDir => cls ! OQuest ;
|
|
||||||
-- QIndir => "if" ++ cls ! ODir
|
|
||||||
-- } ---- "whether" in ExtTha
|
|
||||||
-- } ;
|
|
||||||
--
|
--
|
||||||
-- QuestVP qp vp =
|
-- QuestVP qp vp =
|
||||||
-- let cl = mkClause (qp.s ! Nom) {n = qp.n ; p = P3} vp
|
-- let cl = mkClause (qp.s ! Nom) {n = qp.n ; p = P3} vp
|
||||||
@@ -41,4 +38,4 @@
|
|||||||
--
|
--
|
||||||
-- CompIAdv a = a ;
|
-- CompIAdv a = a ;
|
||||||
--
|
--
|
||||||
--}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
---- implement $Test$, it moreover contains regular lexical
|
---- implement $Test$, it moreover contains regular lexical
|
||||||
---- patterns needed for $Lex$.
|
---- patterns needed for $Lex$.
|
||||||
--
|
--
|
||||||
resource ResTha = ParamX ** open Prelude in {
|
resource ResTha = ParamX ** open StringsTha, Prelude in {
|
||||||
|
|
||||||
oper
|
oper
|
||||||
|
|
||||||
@@ -21,7 +21,44 @@ resource ResTha = ParamX ** open Prelude in {
|
|||||||
|
|
||||||
Determiner = {s1, s2 : Str ; hasC : Bool} ;
|
Determiner = {s1, s2 : Str ; hasC : Bool} ;
|
||||||
|
|
||||||
mkDet : Str -> Str -> Determiner = \s,c -> {s1 = s ; s2 = c ; hasC = True} ;
|
mkDet : Str -> Str -> Determiner =
|
||||||
|
\s,c -> {s1 = s ; s2 = c ; hasC = True} ;
|
||||||
|
|
||||||
|
-- Part before and after negation (mai_s)
|
||||||
|
|
||||||
|
Verb = {s1,s2 : Str} ;
|
||||||
|
|
||||||
|
resV : Str -> Str -> Verb = \s,c -> {s1 = s ; s2 = c} ;
|
||||||
|
|
||||||
|
regV : Str -> Verb = \s -> resV [] s ;
|
||||||
|
|
||||||
|
dirV2 : Verb -> Verb ** {c2 : Str} = \v -> v ** {c2 = []} ;
|
||||||
|
|
||||||
|
-- Auxiliary verbs, according to order and negation.
|
||||||
|
-- The three types are $VV may VP | may VV VP | VP may VV$
|
||||||
|
|
||||||
|
param VVTyp = VVPre | VVMid | VVPost ;
|
||||||
|
|
||||||
|
oper VVerb = {s : Str ; typ : VVTyp} ;
|
||||||
|
|
||||||
|
-- Verb phrases: form negation and question, too.
|
||||||
|
|
||||||
|
VP = {
|
||||||
|
s : Polarity => Str
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkVP : Verb -> VP = \v -> {
|
||||||
|
s = \\p => v.s1 ++ polStr may_s p ++ v.s2
|
||||||
|
} ;
|
||||||
|
|
||||||
|
insertObject : Str -> VP -> VP = \np,vp -> {
|
||||||
|
s = \\p => vp.s ! p ++ np
|
||||||
|
} ;
|
||||||
|
|
||||||
|
polStr : Str -> Polarity -> Str = \m,p -> case p of {
|
||||||
|
Pos => [] ;
|
||||||
|
Neg => m
|
||||||
|
} ;
|
||||||
|
|
||||||
-- flags optimize=all ;
|
-- flags optimize=all ;
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -1,15 +1,20 @@
|
|||||||
concrete SentenceTha of Sentence = CatTha ** open Prelude, ResTha in {
|
concrete SentenceTha of Sentence = CatTha **
|
||||||
|
open Prelude, StringsTha, ResTha in {
|
||||||
|
|
||||||
flags optimize=all_subs ;
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
|
|
||||||
PredVP = cc2 ;
|
PredVP np vp = {s = \\p => np.s ++ vp.s ! p} ;
|
||||||
|
|
||||||
-- PredSCVP sc vp = mkClause sc.s (agrP3 Sg) vp ;
|
-- PredSCVP sc vp = mkClause sc.s (agrP3 Sg) vp ;
|
||||||
|
|
||||||
ImpVP vp = vp ;
|
ImpVP vp = {
|
||||||
|
s = table {
|
||||||
|
Pos => vp.s ! Pos ++ si_s ;
|
||||||
|
Neg => yaa_s ++ vp.s ! Pos
|
||||||
|
}
|
||||||
|
} ;
|
||||||
-- SlashV2 np v2 =
|
-- SlashV2 np v2 =
|
||||||
-- mkClause (np.s ! Nom) np.a (predV v2) ** {c2 = v2.c2} ;
|
-- mkClause (np.s ! Nom) np.a (predV v2) ** {c2 = v2.c2} ;
|
||||||
--
|
--
|
||||||
@@ -29,8 +34,12 @@ concrete SentenceTha of Sentence = CatTha ** open Prelude, ResTha in {
|
|||||||
-- EmbedQS qs = {s = qs.s ! QIndir} ;
|
-- EmbedQS qs = {s = qs.s ! QIndir} ;
|
||||||
-- EmbedVP vp = {s = infVP False vp (agrP3 Sg)} ; --- agr
|
-- EmbedVP vp = {s = infVP False vp (agrP3 Sg)} ; --- agr
|
||||||
--
|
--
|
||||||
-- UseCl t a p cl = {s = t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! ctr p.p ! ODir} ;
|
UseCl t a p cl = {s = t.s ++ a.s ++ p.s ++ cl.s ! p.p} ;
|
||||||
-- UseQCl t a p cl = {s = \\q => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! ctr p.p ! q} ;
|
UseQCl t a p cl = {
|
||||||
|
s = \\q => t.s ++ a.s ++ p.s ++
|
||||||
|
case q of {QIndir => waa_s ; _ => []} ++
|
||||||
|
cl.s ! p.p
|
||||||
|
} ;
|
||||||
-- UseRCl t a p cl = {
|
-- UseRCl t a p cl = {
|
||||||
-- s = \\r => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! ctr p.p ! r ;
|
-- s = \\r => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! ctr p.p ! r ;
|
||||||
-- c = cl.c
|
-- c = cl.c
|
||||||
|
|||||||
@@ -7,8 +7,10 @@ resource StringsTha = {
|
|||||||
oper
|
oper
|
||||||
|
|
||||||
baan_s = "บ้าน" ; -- house
|
baan_s = "บ้าน" ; -- house
|
||||||
|
ca_s = "จะ" ; -- Modal
|
||||||
cet_s = "เจ็ด" ; -- seven
|
cet_s = "เจ็ด" ; -- seven
|
||||||
chan_s = "ฉัน" ; -- I
|
chan_s = "ฉัน" ; -- I
|
||||||
|
chay_s = "ไช่" ; -- be-not
|
||||||
et_s = "เอ็ด" ; -- one'
|
et_s = "เอ็ด" ; -- one'
|
||||||
haa_s = "ห้า" ; -- five
|
haa_s = "ห้า" ; -- five
|
||||||
hay_s = "ให้" ; -- give
|
hay_s = "ให้" ; -- give
|
||||||
@@ -19,27 +21,39 @@ khon_s = "คน" ; -- people Classif
|
|||||||
khoog_s = "ของ" ; -- Possessive
|
khoog_s = "ของ" ; -- Possessive
|
||||||
khun_s = "คุณ" ; -- you
|
khun_s = "คุณ" ; -- you
|
||||||
lag_s = "หลัง" ; -- houses Classif
|
lag_s = "หลัง" ; -- houses Classif
|
||||||
|
lap_s = "หลับ" ; -- sleep2
|
||||||
lem_s = "เล่ม" ; -- books Classif
|
lem_s = "เล่ม" ; -- books Classif
|
||||||
|
may_s = "ไม" ; -- not
|
||||||
|
m'ay_s = "ไหม" ; -- Question
|
||||||
mvvn_s = "หมื่น" ; -- ten thousand
|
mvvn_s = "หมื่น" ; -- ten thousand
|
||||||
nag_s = "หนัง" ; -- book1
|
nag_s = "หนะง" ; -- book1
|
||||||
nan_s = "นั้" ; -- that
|
nan_s = "นั้น" ; -- that
|
||||||
|
noon_s = "นอน" ; -- sleep1
|
||||||
nvg_s = "หนึง" ; -- one
|
nvg_s = "หนึง" ; -- one
|
||||||
pay_s = "ไป" ; -- go
|
pay_s = "ไป" ; -- go
|
||||||
peet_s = "แปด" ; -- eight
|
peet_s = "แปด" ; -- eight
|
||||||
pen_s = "เป็น" ; -- be
|
pen_s = "เป็น" ; -- be, can-know
|
||||||
phan_s = "พะน" ; -- thousand
|
phan_s = "พัน" ; -- thousand
|
||||||
puu_s = "ผู้" ; -- woman1
|
puu_s = "ผู้" ; -- woman1
|
||||||
rak_s = "รัก" ; -- love
|
rak_s = "รัก" ; -- love
|
||||||
|
raw_s = "เรา" ; -- we
|
||||||
rooy_s = "ร้อย" ; -- hundred
|
rooy_s = "ร้อย" ; -- hundred
|
||||||
saam_s = "สาม" ; -- three
|
saam_s = "สาม" ; -- three
|
||||||
seen_s = "แสน" ; -- hundred thousand
|
seen_s = "แสน" ; -- hundred thousand
|
||||||
|
si_s = "ซิ" ; -- Imperative
|
||||||
sii_s = "สี่" ; -- four
|
sii_s = "สี่" ; -- four
|
||||||
sip_s = "สิบ" ; -- ten
|
sip_s = "สิบ" ; -- ten
|
||||||
soog_s = "สอง" ; -- two
|
soog_s = "สอง" ; -- two
|
||||||
svv_s = "สือ" ; -- book2
|
svv_s = "สือ" ; -- book2
|
||||||
thii_s = "ที่" ; -- Ord
|
thii_s = "ที่" ; -- Ord
|
||||||
|
tog_s = "ต้อง" ; -- must
|
||||||
|
waa_s = "ว่า" ; -- that Conj
|
||||||
|
way_s = "ไหว" ; -- can-potent
|
||||||
|
yaa_s = "อยา" ; -- Neg Imper
|
||||||
|
yaak_s = "อยาก" ; -- want
|
||||||
yay_s = "ใหญ" ; -- big
|
yay_s = "ใหญ" ; -- big
|
||||||
yig_s = "หญิง" ; -- woman2
|
yig_s = "หญิง" ; -- woman2
|
||||||
yii_s = "ยี่" ; -- two'
|
yii_s = "ยี่" ; -- two'
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,10 @@ resource StringsTha = {
|
|||||||
oper
|
oper
|
||||||
|
|
||||||
baan_s = "bT2a:n" ; -- house
|
baan_s = "bT2a:n" ; -- house
|
||||||
|
ca_s = "ca." ; -- Modal
|
||||||
cet_s = "ecSd" ; -- seven
|
cet_s = "ecSd" ; -- seven
|
||||||
chan_s = "c1a.n" ; -- I
|
chan_s = "c1an" ; -- I
|
||||||
|
chay_s = "a&c2T1" ; -- be-not
|
||||||
et_s = "eOSd" ; -- one'
|
et_s = "eOSd" ; -- one'
|
||||||
haa_s = "hT2a:" ; -- five
|
haa_s = "hT2a:" ; -- five
|
||||||
hay_s = "a%hT2" ; -- give
|
hay_s = "a%hT2" ; -- give
|
||||||
@@ -18,28 +20,40 @@ khaw_s = "ek1w" ; -- he
|
|||||||
khon_s = "k2n" ; -- people Classif
|
khon_s = "k2n" ; -- people Classif
|
||||||
khoog_s = "k1Og" ; -- Possessive
|
khoog_s = "k1Og" ; -- Possessive
|
||||||
khun_s = "k2un'" ; -- you
|
khun_s = "k2un'" ; -- you
|
||||||
lag_s = "hla.g" ; -- houses Classif
|
lag_s = "hlag" ; -- houses Classif
|
||||||
|
lap_s = "hlab" ; -- sleep2
|
||||||
lem_s = "elT1m" ; -- books Classif
|
lem_s = "elT1m" ; -- books Classif
|
||||||
|
may_s = "a&m" ; -- not
|
||||||
|
m'ay_s = "a&hm" ; -- Question
|
||||||
mvvn_s = "hmv:T1n" ; -- ten thousand
|
mvvn_s = "hmv:T1n" ; -- ten thousand
|
||||||
nag_s = "hna.g" ; -- book1
|
nag_s = "hna.g" ; -- book1
|
||||||
nan_s = "na.T2" ; -- that
|
nan_s = "naT2n" ; -- that
|
||||||
|
noon_s = "nOn" ; -- sleep1
|
||||||
nvg_s = "hnvg" ; -- one
|
nvg_s = "hnvg" ; -- one
|
||||||
pay_s = "a&p" ; -- go
|
pay_s = "a&p" ; -- go
|
||||||
peet_s = "e'pd" ; -- eight
|
peet_s = "e'pd" ; -- eight
|
||||||
pen_s = "epSn" ; -- be
|
pen_s = "epSn" ; -- be, can-know
|
||||||
phan_s = "p2an" ; -- thousand
|
phan_s = "p2an" ; -- thousand
|
||||||
puu_s = "p1u:T2" ; -- woman1
|
puu_s = "p1u:T2" ; -- woman1
|
||||||
rak_s = "ra.k" ; -- love
|
rak_s = "rak" ; -- love
|
||||||
|
raw_s = "era:" ; -- we
|
||||||
rooy_s = "rT2Oy" ; -- hundred
|
rooy_s = "rT2Oy" ; -- hundred
|
||||||
saam_s = "sa:m" ; -- three
|
saam_s = "sa:m" ; -- three
|
||||||
seen_s = "e'sn" ; -- hundred thousand
|
seen_s = "e'sn" ; -- hundred thousand
|
||||||
|
si_s = "s'i" ; -- Imperative
|
||||||
sii_s = "si:T1" ; -- four
|
sii_s = "si:T1" ; -- four
|
||||||
sip_s = "sib" ; -- ten
|
sip_s = "sib" ; -- ten
|
||||||
soog_s = "sOg" ; -- two
|
soog_s = "sOg" ; -- two
|
||||||
svv_s = "sv:O" ; -- book2
|
svv_s = "sv:O" ; -- book2
|
||||||
thii_s = "t5i:T1" ; -- Ord
|
thii_s = "t5i:T1" ; -- Ord
|
||||||
|
tog_s = "tT2Og" ; -- must
|
||||||
|
waa_s = "wT1a:" ; -- that Conj
|
||||||
|
way_s = "a&hw" ; -- can-potent
|
||||||
|
yaa_s = "Oya:" ; -- Neg Imper
|
||||||
|
yaak_s = "Oya:k" ; -- want
|
||||||
yay_s = "a%hy'" ; -- big
|
yay_s = "a%hy'" ; -- big
|
||||||
yig_s = "hy'ig" ; -- woman2
|
yig_s = "hy'ig" ; -- woman2
|
||||||
yii_s = "yi:T1" ; -- two'
|
yii_s = "yi:T1" ; -- two'
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
concrete StructuralTha of Structural = CatTha **
|
concrete StructuralTha of Structural = CatTha **
|
||||||
open StringsTha, Prelude in {
|
open StringsTha, ResTha, Prelude in {
|
||||||
|
|
||||||
flags optimize=all ;
|
flags optimize=all ;
|
||||||
|
|
||||||
@@ -19,11 +19,8 @@ concrete StructuralTha of Structural = CatTha **
|
|||||||
-- but_PConj = ss "but" ;
|
-- but_PConj = ss "but" ;
|
||||||
-- by8agent_Prep = ss "by" ;
|
-- by8agent_Prep = ss "by" ;
|
||||||
-- by8means_Prep = ss "by" ;
|
-- by8means_Prep = ss "by" ;
|
||||||
-- can8know_VV, can_VV = {
|
can8know_VV = {s = pen_s ; typ = VVPost} ;
|
||||||
-- s = table VVForm [["be able to"] ; "can" ; ["been able to"] ;
|
can_VV = {s = way_s ; typ = VVPost} ;
|
||||||
-- ["being able to"] ; "could" ; "can't" ; "couldn't"] ;
|
|
||||||
-- isAux = True
|
|
||||||
-- } ;
|
|
||||||
-- during_Prep = ss "during" ;
|
-- during_Prep = ss "during" ;
|
||||||
-- either7or_DConj = sd2 "either" "or" ** {n = Sg} ;
|
-- either7or_DConj = sd2 "either" "or" ** {n = Sg} ;
|
||||||
-- everybody_NP = regNP "everybody" Sg ;
|
-- everybody_NP = regNP "everybody" Sg ;
|
||||||
@@ -50,11 +47,7 @@ concrete StructuralTha of Structural = CatTha **
|
|||||||
-- more_CAdv = ss "more" ;
|
-- more_CAdv = ss "more" ;
|
||||||
-- most_Predet = ss "most" ;
|
-- most_Predet = ss "most" ;
|
||||||
-- much_Det = mkDeterminer Sg "much" ;
|
-- much_Det = mkDeterminer Sg "much" ;
|
||||||
-- must_VV = {
|
must_VV = {s = tog_s ; typ = VVPre} ;
|
||||||
-- s = table VVForm [["have to"] ; "must" ; ["had to"] ;
|
|
||||||
-- ["having to"] ; ["had to"] ; "mustn't" ; ["hadn't to"]] ; ----
|
|
||||||
-- isAux = True
|
|
||||||
-- } ;
|
|
||||||
-- no_Phr = ss "no" ;
|
-- no_Phr = ss "no" ;
|
||||||
-- on_Prep = ss "on" ;
|
-- on_Prep = ss "on" ;
|
||||||
-- one_Quant = mkDeterminer Sg "one" ;
|
-- one_Quant = mkDeterminer Sg "one" ;
|
||||||
@@ -88,8 +81,8 @@ concrete StructuralTha of Structural = CatTha **
|
|||||||
-- to_Prep = ss "to" ;
|
-- to_Prep = ss "to" ;
|
||||||
-- under_Prep = ss "under" ;
|
-- under_Prep = ss "under" ;
|
||||||
-- very_AdA = ss "very" ;
|
-- very_AdA = ss "very" ;
|
||||||
-- want_VV = P.mkVV (P.regV "want") ;
|
want_VV = {s = yaak_s ; typ = VVMid} ;
|
||||||
-- we_Pron = mkNP "we" "us" "our" Pl P1 ;
|
we_Pron = ss raw_s ;
|
||||||
-- whatPl_IP = mkIP "what" "what" "what's" Sg ;
|
-- whatPl_IP = mkIP "what" "what" "what's" Sg ;
|
||||||
-- whatSg_IP = mkIP "what" "what" "what's" Sg ;
|
-- whatSg_IP = mkIP "what" "what" "what's" Sg ;
|
||||||
-- when_IAdv = ss "when" ;
|
-- when_IAdv = ss "when" ;
|
||||||
|
|||||||
@@ -3,12 +3,23 @@ concrete VerbTha of Verb = CatTha ** open ResTha, StringsTha, Prelude in {
|
|||||||
flags optimize=all_subs ;
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
UseV v = v ;
|
UseV = mkVP ;
|
||||||
ComplV2 = cc2 ;
|
ComplV2 v np = insertObject (v.c2 ++ np.s) (mkVP v) ;
|
||||||
-- ComplV3 v np np2 =
|
ComplV3 v np np2 = insertObject (v.c2 ++ np.s ++ v.c3 ++ np2.s) (mkVP v) ;
|
||||||
-- insertObj (\\_ => v.c2 ++ np.s ! Acc ++ v.c3 ++ np2.s ! Acc) (predV v) ;
|
|
||||||
--
|
ComplVV vv vp = {
|
||||||
-- ComplVV v vp = insertObj (\\a => infVP v.isAux vp a) (predVV v) ;
|
s = \\p =>
|
||||||
|
let
|
||||||
|
neg = polStr may_s p ;
|
||||||
|
v = vp.s ! Pos
|
||||||
|
in
|
||||||
|
case vv.typ of {
|
||||||
|
VVPre => vv.s ++ neg ++ v ;
|
||||||
|
VVMid => neg ++ vv.s ++ v ;
|
||||||
|
VVPost => v ++ neg ++ vv.s
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- ComplVS v s = insertObj (\\_ => conjThat ++ s.s) (predV v) ;
|
-- ComplVS v s = insertObj (\\_ => conjThat ++ s.s) (predV v) ;
|
||||||
-- ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ;
|
-- ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ;
|
||||||
@@ -27,10 +38,14 @@ concrete VerbTha of Verb = CatTha ** open ResTha, StringsTha, Prelude in {
|
|||||||
--
|
--
|
||||||
-- PassV2 v = insertObj (\\_ => v.s ! VPPart) (predAux auxBe) ;
|
-- PassV2 v = insertObj (\\_ => v.s ! VPPart) (predAux auxBe) ;
|
||||||
--
|
--
|
||||||
-- UseVS, UseVQ = \vv -> {s = vv.s ; c2 = [] ; isRefl = vv.isRefl} ; -- no "to"
|
-- UseVS, UseVQ = \vv -> {s = vv.s ; c2 = [] ; isRefl = vv.isRefl} ;
|
||||||
--
|
|
||||||
CompAP ap = ap ;
|
CompAP ap = {s = \\p => polStr may_s p ++ ap.s} ;
|
||||||
CompNP = prefixSS pen_s ;
|
CompNP np = {s = table {
|
||||||
-- CompAdv a = {s = \\_ => a.s} ;
|
Pos => pen_s ++ np.s ;
|
||||||
--
|
Neg => may_s ++ chay_s ++ np.s
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
CompAdv a = {s = \\p => polStr may_s p ++ a.s} ; --- ??
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,8 +46,8 @@
|
|||||||
0E2D อ O O - M
|
0E2D อ O O - M
|
||||||
0E2E ฮ h' h - L
|
0E2E ฮ h' h - L
|
||||||
0E2F - - -
|
0E2F - - -
|
||||||
0E30 ะ a a
|
0E30 ะ a. a
|
||||||
0E31 ั a. a
|
0E31 ั a a
|
||||||
0E32 า a: aa
|
0E32 า a: aa
|
||||||
0E33 ำ a+ am
|
0E33 ำ a+ am
|
||||||
0E34 ิ i i
|
0E34 ิ i i
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ allThaiTrans = words $
|
|||||||
"- k k1 - k2 - k3 g c c1 c2 s' c3 y' d' t' " ++
|
"- k k1 - k2 - k3 g c c1 c2 s' c3 y' d' t' " ++
|
||||||
"t1 t2 t3 n' d t t4 t5 t6 n b p p1 f p2 f' " ++
|
"t1 t2 t3 n' d t t4 t5 t6 n b p p1 f p2 f' " ++
|
||||||
"p3 m y r - l - w s- r' s h l' O h' - " ++
|
"p3 m y r - l - w s- r' s h l' O h' - " ++
|
||||||
"a a. a: a+ i i: v v: u u: - - - - - - " ++
|
"a. a a: a+ i i: v v: u u: - - - - - - " ++
|
||||||
"e e' o: a% a& L R S T1 T2 T3 T4 K - - - " ++
|
"e e' o: a% a& L R S T1 T2 T3 T4 K - - - " ++
|
||||||
"N0 N1 N2 N3 N4 N5 N6 N7 N8 N9 - - - - - - "
|
"N0 N1 N2 N3 N4 N5 N6 N7 N8 N9 - - - - - - "
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user