forked from GitHub/gf-core
diverse RGL and Phrasebook fixes, and a corrected Synopsis
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
concrete SentencesTha of Sentences = NumeralTha ** SentencesI - [
|
||||
PGreetingMale, PGreetingFemale,
|
||||
GObjectPlease,
|
||||
ACitizen, WherePlace, WherePerson
|
||||
ACitizen
|
||||
] with
|
||||
(Syntax = SyntaxTha),
|
||||
(Symbolic = SymbolicTha),
|
||||
@@ -17,11 +17,6 @@ lin
|
||||
|
||||
ACitizen p n = mkCl p.name (mkVP (mkCN n (P.personN R.khon_s))) ;
|
||||
|
||||
WherePlace place = mkQS (mkQCl where_IAdv (mkCl place.name yuu_V)) ;
|
||||
WherePerson person = mkQS (mkQCl where_IAdv (mkCl person.name yuu_V)) ;
|
||||
|
||||
oper
|
||||
yuu_V : V = R.regV "อยู่" ;
|
||||
|
||||
thpron = R.thpron ;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ mkExx sss = case sss of
|
||||
(s1:ss1,s2:ss2) | isMsg s1 -> mkExx (ss1,s2:ss2)
|
||||
(s1:ss1,s2:ss2) | isMsg s2 -> mkExx (s1:ss1,ss2)
|
||||
(s1:ss1,s2:ss2) | s1 /= s2 ->
|
||||
putStrLn (drops s1) >> putStrLn (drops s2) >> putStrLn [] >> mkExx (ss1,ss2) -- show the strings
|
||||
putStrLn (drops s1) >> putStrLn (filter (not . (==' ')) (drops s2)) >> putStrLn [] >> mkExx (ss1,ss2) -- show strings
|
||||
(s1:ss1,s2:ss2) | s1 == s2 && not (isJunk s1) ->
|
||||
putStrLn (drops s1) >> mkExx (ss1,ss2) -- show the term
|
||||
(s1:ss1,s2:ss2) | s1 == s2 -> mkExx (ss1,ss2)
|
||||
|
||||
@@ -68,9 +68,10 @@ prApiExx aexx = unlines
|
||||
prApiEx :: M.Map String String -> [String]
|
||||
prApiEx apexx = case M.toList apexx of
|
||||
(a,e):lexx -> (a ++ ": ``" ++ unwords (words e) ++ "``"):
|
||||
[l ++ ": //" ++ mkEx e ++ "//" | (l,e) <- lexx]
|
||||
[l ++ ": //" ++ mkEx l e ++ "//" | (l,e) <- lexx]
|
||||
|
||||
mkEx = unwords . bind . mkE . words where
|
||||
mkEx l = unws . bind . mkE . words where
|
||||
unws = if l == "Tha" then concat else unwords
|
||||
mkE e = case e of
|
||||
"atomic":"term":_ -> ["*"]
|
||||
"[]":_ -> ["''"]
|
||||
|
||||
@@ -742,7 +742,7 @@ mkAdv during_Prep it_NP
|
||||
either7or_DConj : Conj -- either...or
|
||||
mkAdv either7or_DConj here_Adv there_Adv
|
||||
every_Det : Det
|
||||
every_Det
|
||||
mkUtt (mkNP every_Det woman_N)
|
||||
everybody_NP : NP -- everybody
|
||||
mkUtt everybody_NP
|
||||
everything_NP : NP
|
||||
@@ -750,7 +750,7 @@ mkUtt everything_NP
|
||||
everywhere_Adv : Adv
|
||||
everywhere_Adv
|
||||
few_Det : Det
|
||||
few_Det
|
||||
mkUtt (mkNP few_Det women_N)
|
||||
for_Prep : Prep
|
||||
mkAdv for_Prep it_NP
|
||||
from_Prep : Prep
|
||||
@@ -788,7 +788,7 @@ more_CAdv
|
||||
most_Predet : Predet
|
||||
most_Predet
|
||||
much_Det : Det
|
||||
much_Det
|
||||
mkUtt (mkNP much_Det wine_N)
|
||||
must_VV : VV
|
||||
must_VV
|
||||
no_Utt : Utt
|
||||
@@ -814,9 +814,9 @@ mkUtt (mkNP she_Pron)
|
||||
so_AdA : AdA
|
||||
so_AdA
|
||||
someSg_Det : Det
|
||||
someSg_Det
|
||||
mkUtt (mkNP someSg_Det wine_N)
|
||||
somePl_Det : Det
|
||||
somePl_Det
|
||||
mkUtt (mkNP somePl_Det woman_N)
|
||||
somebody_NP : NP
|
||||
mkUtt somebody_NP
|
||||
something_NP : NP
|
||||
|
||||
@@ -23,12 +23,12 @@ constructing trees in them.
|
||||
- [Chapter 2 #toc5]: syntactic construction functions, with cross-links and
|
||||
examples.
|
||||
- [Chapter 3 #toc83]: morphological paradigms.
|
||||
- [Chapter 4 #toc102]: additional libraries.
|
||||
- [Chapter 5 #toc109]: how to "browse" the library by
|
||||
- [Chapter 4 #toc103]: additional libraries.
|
||||
- [Chapter 5 #toc110]: how to "browse" the library by
|
||||
loading the grammars into the ``gf`` command editor.
|
||||
- [Chapter 6 #toc110]: a brief example of how application grammars can
|
||||
- [Chapter 6 #toc111]: a brief example of how application grammars can
|
||||
use the resource modules.
|
||||
- [Detailed table of contents #toc111].
|
||||
- [Detailed table of contents #toc112].
|
||||
|
||||
|
||||
Other relevant documents:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
--# -path=.:full:alltenses
|
||||
--# -path=.:alltenses
|
||||
|
||||
concrete MiniGrammarEng of MiniGrammar = LexiconEng, GrammarEng [
|
||||
|
||||
|
||||
@@ -239,7 +239,7 @@ lin
|
||||
read_V2 = mkV2 "อ่าน" ;
|
||||
red_A = mkA (thword "สี" "แดง") ;
|
||||
religion_N = mkN (thword "ศาส" "นา") ; ----?
|
||||
restaurant_N = placeN (thword "ร้าน" "อาหาร") ;
|
||||
restaurant_N = placeN (thword "ร้าน" "อา" "หาร") ;
|
||||
right_Ord = ss "ขวา" ;
|
||||
river_N = mkN (thword "แม่" "น้ำ") ;
|
||||
road_N = mkN (thword "ถนน") ;
|
||||
|
||||
@@ -17,7 +17,7 @@ concrete QuestionTha of Question = CatTha **
|
||||
|
||||
QuestIAdv iadv cl = {s = \\p => thbind (cl.s ! ClDecl ! p) iadv.s} ;
|
||||
|
||||
QuestIComp icomp np = {s = \\p => thbind np.s icomp.s} ;
|
||||
QuestIComp icomp np = {s = \\p => thbind np.s (polStr may_s p) icomp.s} ;
|
||||
|
||||
PrepIP p ip = thbind p ip ;
|
||||
|
||||
@@ -37,9 +37,9 @@ concrete QuestionTha of Question = CatTha **
|
||||
|
||||
AdvIAdv i a = thbind i a ;
|
||||
|
||||
CompIAdv a = a ;
|
||||
CompIAdv a = ss (thbind yuu_s a.s) ;
|
||||
|
||||
CompIP ip = ip ;
|
||||
CompIP ip = ss (thbind pen_s ip.s) ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -94,6 +94,6 @@ yay_s = "ใหญ" ; -- big
|
||||
yig_s = "หญิง" ; -- woman2
|
||||
yii_s = "ยี่" ; -- two'
|
||||
yin_s = "ยิน" ; -- you're-welcome1
|
||||
yuu_s = "ยู" ; -- where0(?)
|
||||
yuu_s = "อยู่" ; -- be (in a place)
|
||||
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ allThpron = do
|
||||
System.system "ls *Tha*.gf ../api/*Tha*.gf >srcThai.txt"
|
||||
files <- readFile "srcThai.txt" >>= return . lines
|
||||
mapM_ fileThpron files
|
||||
return ()
|
||||
|
||||
fileThpron file = do
|
||||
s <- readFile file
|
||||
|
||||
@@ -73,7 +73,7 @@ concrete VerbTha of Verb = CatTha ** open ResTha, StringsTha, Prelude in {
|
||||
}
|
||||
} ;
|
||||
|
||||
CompAdv a = {s = \\p => polStr may_s p ++ a.s} ; --- ??
|
||||
CompAdv a = {s = \\p => thbind (polStr may_s p) yuu_s a.s} ; --- works for place adverbs
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user