summaryrefslogtreecommitdiff
path: root/old-examples/travel/TravelThai.gf
blob: 925fd3903240395c2732b9948fdd1dd787cefeac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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} ;

}