summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-01-09 14:53:19 +0000
committeraarne <aarne@cs.chalmers.se>2007-01-09 14:53:19 +0000
commit0882e5eac274f11a0cd3a98fa93c57d6ee479981 (patch)
treecd53d2dc5add45174547168c7ab4aee8051e488d /examples
parent159f6515f7947ceb4adeba75d0d7242f732dd1a2 (diff)
thai phrasebook example started
Diffstat (limited to 'examples')
-rw-r--r--examples/travel/Travel.gf54
-rw-r--r--examples/travel/TravelTha.gf73
-rw-r--r--examples/travel/TravelThai.gf71
-rw-r--r--examples/travel/TravelThaiPron.gf71
4 files changed, 269 insertions, 0 deletions
diff --git a/examples/travel/Travel.gf b/examples/travel/Travel.gf
new file mode 100644
index 000000000..77e2ec234
--- /dev/null
+++ b/examples/travel/Travel.gf
@@ -0,0 +1,54 @@
+abstract Travel = {
+
+ flags startcat=Phrase ;
+
+ cat
+ Phrase ;
+
+ Greeting ;
+ Order ;
+ Question ;
+ Sentence ;
+
+ Object ;
+ Kind ;
+ Quality ;
+ Number ;
+
+ Speaker ;
+ Hearer ;
+ Gender ;
+ Quantity ;
+
+ fun
+ PGreeting : Greeting -> Speaker -> Hearer -> Phrase ;
+ POrder : Order -> Speaker -> Hearer -> Phrase ;
+ PQuestion : Question -> Speaker -> Hearer -> Phrase ;
+ PSentence : Sentence -> Speaker -> Hearer -> Phrase ;
+
+ MkSpeaker : Gender -> Quantity -> Speaker ;
+ MkHearer : Gender -> Quantity -> Hearer ;
+
+ Male, Female : Gender ;
+ Single, Many : Quantity ;
+
+ Hello : Greeting ;
+ Thanks : Greeting ;
+
+ IWant : Object -> Order ;
+
+ DoYouHave : Kind -> Question ;
+ IsIt : Object -> Quality -> Sentence ;
+
+ ItIs : Object -> Quality -> Sentence ;
+
+ Indef : Kind -> Object ;
+ This : Kind -> Object ;
+ NumberObjects : Number -> Kind -> Object ;
+
+ One, Two, Five, Ten : Number ;
+
+ Mango : Kind ;
+ Green : Quality ;
+
+}
diff --git a/examples/travel/TravelTha.gf b/examples/travel/TravelTha.gf
new file mode 100644
index 000000000..6d62baa31
--- /dev/null
+++ b/examples/travel/TravelTha.gf
@@ -0,0 +1,73 @@
+--# -path=.:prelude
+
+concrete TravelTha of Travel = open Prelude in {
+
+ flags coding=utf8 ;
+
+-- this file is processed by
+-- GF.Text.Thai.thaiFile "../examples/travel/TravelTha.gf"
+ (Just "../examples/travel/TravelThai.gf")
+-- GF.Text.Thai.thaiPronFile "../examples/travel/TravelTha.gf"
+ (Just "../examples/travel/TravelThaiPron.gf")
+-- to produce target Thai script and pronunciation files.
+
+ lincat
+ Phrase,
+
+ Greeting,
+ Order,
+ Question,
+ Sentence,
+ Object = SS ;
+
+ Kind = {s,c : Str} ; -- c is classifier
+
+ Quality,
+ Number,
+
+ Speaker,
+ Hearer,
+ Gender,
+ Quantity = SS ;
+
+ lin
+ PGreeting g s h = ss (g.s ++ s.s ++ h.s) ;
+ POrder g s h = ss (g.s ++ s.s ++ h.s) ;
+ PQuestion g s h = ss (g.s ++ s.s ++ h.s) ;
+ PSentence g s h = ss (g.s ++ s.s ++ h.s) ;
+
+ MkSpeaker = cc2 ;
+ MkHearer _ _ = ss [] ;
+
+ Male = ss "k2rab" ;
+ Female = ss "k2T1a" ;
+
+ Single, Many = ss [] ;
+
+ Hello = ss ["swa.s di:"] ;
+ Thanks = ss ["k1Ob k2un'"] ;
+
+ IWant = prefixSS "eOa:" ;
+
+ DoYouHave = postfixSS ["mi: a&hm"] ;
+ IsIt x q = ss (x.s ++ q.s ++ "a&hm") ;
+
+ ItIs = cc2 ;
+
+ Indef k = ss (k.s ++ k.c ++ "nvT1g") ;
+ This k = ss (k.s ++ k.c ++ "ni:T2") ;
+
+ NumberObjects n k = ss (k.s ++ n.s ++ k.c) ;
+
+ One = ss "nvT1g" ;
+ Two = ss "sOg" ;
+ Five = ss "ha:" ;
+ Ten = ss "sib" ;
+
+ Mango = cls ["ma mT1wg"] "lu:k" ;
+ Green = ss ["si: ek1i:yw"] ;
+
+ oper
+ cls : Str -> Str -> {s,c : Str} = \s,c -> {s = s ; c = c} ;
+
+}
diff --git a/examples/travel/TravelThai.gf b/examples/travel/TravelThai.gf
new file mode 100644
index 000000000..925fd3903
--- /dev/null
+++ b/examples/travel/TravelThai.gf
@@ -0,0 +1,71 @@
+--# -path=.:prelude
+
+concrete TravelThai of Travel = open Prelude in {
+
+ flags coding=utf8 ;
+
+-- this file is processed by
+-- GF.Text.Thai.thaiFile "€เะมปลเตระึเ€ระึเลหังฝ" (Just TGT)
+-- GF.Text.Thai.thaiPronFile "€เะมปลเตระึเ€ระึเลหังฝ" (Just TGT)
+-- to produce target Thai script and pronunciation files.
+
+ lincat
+ Phrase,
+
+ Greeting,
+ Order,
+ Question,
+ Sentence,
+ Object = SS ;
+
+ Kind = {s,c : Str} ; -- c is classifier
+
+ Quality,
+ Number,
+
+ Speaker,
+ Hearer,
+ Gender,
+ Quantity = SS ;
+
+ lin
+ PGreeting g s h = ss (g.s ++ s.s ++ h.s) ;
+ POrder g s h = ss (g.s ++ s.s ++ h.s) ;
+ PQuestion g s h = ss (g.s ++ s.s ++ h.s) ;
+ PSentence g s h = ss (g.s ++ s.s ++ h.s) ;
+
+ MkSpeaker = cc2 ;
+ MkHearer _ _ = ss [] ;
+
+ Male = ss "คระบ" ;
+ Female = ss "ค่ะ" ;
+
+ Single, Many = ss [] ;
+
+ Hello = ss ["สวัสดี"] ;
+ Thanks = ss ["ขอบคุณ"] ;
+
+ IWant = prefixSS "เอา" ;
+
+ DoYouHave = postfixSS ["มีไหม"] ;
+ IsIt x q = ss (x.s ++ q.s ++ "ไหม") ;
+
+ ItIs = cc2 ;
+
+ Indef k = ss (k.s ++ k.c ++ "นึ่ง") ;
+ This k = ss (k.s ++ k.c ++ "นี้") ;
+
+ NumberObjects n k = ss (k.s ++ n.s ++ k.c) ;
+
+ One = ss "นึ่ง" ;
+ Two = ss "สอง" ;
+ Five = ss "หา" ;
+ Ten = ss "สิบ" ;
+
+ Mango = cls ["มะม่วง"] "ลูก" ;
+ Green = ss ["สีเขียว"] ;
+
+ oper
+ cls : Str -> Str -> {s,c : Str} = \s,c -> {s = s ; c = c} ;
+
+}
diff --git a/examples/travel/TravelThaiPron.gf b/examples/travel/TravelThaiPron.gf
new file mode 100644
index 000000000..b152c4d2a
--- /dev/null
+++ b/examples/travel/TravelThaiPron.gf
@@ -0,0 +1,71 @@
+--# -path=.:prelude
+
+concrete TravelThaiPron of Travel = open Prelude in {
+
+ flags coding=utf8 ;
+
+-- this file is processed by
+-- GF.Text.Thai.thaiFile "m^eaeaveaveapltrrlhg-" (Just TGT)
+-- GF.Text.Thai.thaiPronFile "m^eaeaveaveapltrrlhg-" (Just TGT)
+-- to produce target Thai script and pronunciation files.
+
+ lincat
+ Phrase,
+
+ Greeting,
+ Order,
+ Question,
+ Sentence,
+ Object = SS ;
+
+ Kind = {s,c : Str} ; -- c is classifier
+
+ Quality,
+ Number,
+
+ Speaker,
+ Hearer,
+ Gender,
+ Quantity = SS ;
+
+ lin
+ PGreeting g s h = ss (g.s ++ s.s ++ h.s) ;
+ POrder g s h = ss (g.s ++ s.s ++ h.s) ;
+ PQuestion g s h = ss (g.s ++ s.s ++ h.s) ;
+ PSentence g s h = ss (g.s ++ s.s ++ h.s) ;
+
+ MkSpeaker = cc2 ;
+ MkHearer _ _ = ss [] ;
+
+ Male = ss "khr'ap" ;
+ Female = ss "kh^a" ;
+
+ Single, Many = ss [] ;
+
+ Hello = ss ["s`awt d-ii"] ;
+ Thanks = ss ["kh`Op kh-un"] ;
+
+ IWant = prefixSS "O-eaa" ;
+
+ DoYouHave = postfixSS ["m-ii m~ay"] ;
+ IsIt x q = ss (x.s ++ q.s ++ "m~ay") ;
+
+ ItIs = cc2 ;
+
+ Indef k = ss (k.s ++ k.c ++ "n^vg") ;
+ This k = ss (k.s ++ k.c ++ "n~ii") ;
+
+ NumberObjects n k = ss (k.s ++ n.s ++ k.c) ;
+
+ One = ss "n^vg" ;
+ Two = ss "s~Og" ;
+ Five = ss "h~aa" ;
+ Ten = ss "s`ip" ;
+
+ Mango = cls ["m'a m^owg"] "l^uuk" ;
+ Green = ss ["s~ii kh`eiiyw"] ;
+
+ oper
+ cls : Str -> Str -> {s,c : Str} = \s,c -> {s = s ; c = c} ;
+
+}