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

concrete MessagesEng of Messages = 
  WordsEng - 
    [IMale, IFemale, YouFamMale, YouFamFemale, YouPolMale, YouPolFemale],
  GreetingsEng ** open
  SyntaxEng,
  ParadigmsEng,
  (Phr = PhrasebookEng)
  in {

lincat
  Message = Text ;
  Heading = Text ;
  Body = Text ;
  Ending = Text ;
  Statement = Text ;
  Recipient = NP ;
  Sender = NP ;
  Title = CN ;
  Role = Phr.NPPerson ;

lin
  Msg h b e = mkText h (mkText b e) ;
  
  HHello n = 
    mkText (strText "hello") (mkText (mkPhrase (mkUtt n)) (strText ",")) ;
  HDear n = 
    mkText (strText "dear") (mkText (mkPhrase (mkUtt n)) (strText ",")) ;
  
  BOne  p = p ;
  BMore p b = mkText p b ;

  ERegards n = mkText (strText "regards") (mkPhrase (mkUtt n)) ;

  SSentence s = mkText s ;
  SQuestion s = mkText s ;
  SGreeting s = mkText s exclMarkPunct ;

  RName n = n ;
  RTitle t n = mkNP (mkCN t n) ;
  SName n = n ;

  TMr = mkCN (mkN "Mr") ;
  TMs = mkCN (mkN "Ms") ;

  RI = Phr.IMale ;  -- gender and politeness don't matter in English
  RYou = Phr.YouFamMale ;

  PRole r = r ;

oper
  strText : Str -> Text = \s -> lin Text {s = s} ;
}