summaryrefslogtreecommitdiff
path: root/examples/phrasebook/PhrasebookFre.gf
blob: 7cf8124661d0ab637e7c1efa3e2942865aece896 (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
--# -path=.:present

concrete PhrasebookFre of Phrasebook = 
  GreetingsFre,
  FoodFre
  ** open 
    (R = Roles),
    SyntaxFre,
    ParadigmsFre,
    ResFre, ---- for Num to Utt 
    Prelude in {

lincat 
  Phrase = Utt ;
  Gender = {s : Str ; g : R.Gender} ;
  Politeness = {s : Str ; p : R.Politeness} ;

lin
  PNumeral n = mkPhrase ((mkCard <n : Numeral>).s ! masculine) ; ----
  PSentence s = s ;

  PGreeting g = mkPhrase (g.s ! R.Polite ! R.Male ! R.Male) ;
----  PGreeting p s h g = mkPhrase (g.s ! p.p ! s.g ! h.g ++ p.s ++ s.s ++ h.s) ;

  Male = {s = [] ; g = R.Male} ;
  Female = {s = [] ; g = R.Female} ;
  Polite = {s = [] ; p = R.Polite} ;
  Familiar = {s = [] ; p = R.Familiar} ;
  
oper 
  mkPhrase : Str -> Utt = \s -> lin Utt (ss s) ;

}