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