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

concrete DisambPhrasebookEng of Phrasebook = PhrasebookEng - 
   [
    IMale, IFemale,
    YouFamMale, YouFamFemale, 
    YouPolMale, YouPolFemale, 
    LangNat, -- CitiNat,
    GExcuse, GExcusePol, 
    GSorry, GSorryPol, 
    GPleaseGive, GPleaseGivePol,
    GNiceToMeetYou, -- GNiceToMeetYouPol,
    PYes, PYesToNo, ObjMass,
    MKnow,
    WeMale, WeFemale,
    YouPlurFamMale, YouPlurFamFemale,
    YouPlurPolMale, YouPlurPolFemale,
    TheyMale, TheyFemale
   ] 
  ** open SyntaxEng, ParadigmsEng, IrregEng, Prelude in {
lin
  IMale = mkP i_Pron "(male)" ;
  IFemale = mkP i_Pron "(female)" ;
  WeMale = mkP we_Pron "(male)" ;
  WeFemale = mkP we_Pron "(female)" ;
  YouFamMale = mkP youSg_Pron "(singular,familiar,male)" ;
  YouFamFemale = mkP youSg_Pron "(singular,familiar,female)" ;
  YouPolMale = mkP youPol_Pron "(singular,polite,male)" ;
  YouPolFemale = mkP youPol_Pron "(singular,polite,female)" ;
  YouPlurFamMale = mkP youSg_Pron "(plural,familiar,male)" ;
  YouPlurFamFemale = mkP youSg_Pron "(plural,familiar,female)" ;
  YouPlurPolMale = mkP youPol_Pron "(plural,polite,male)" ;
  YouPlurPolFemale = mkP youPol_Pron "(plural,polite,female)" ;
  TheyMale = mkP they_Pron "(male)" ;
  TheyFemale = mkP they_Pron "(female)" ;

  MKnow = mkVV (partV know_V "how") ; ---

  LangNat nat = mkNP nat.lang (ParadigmsEng.mkAdv "(language)") ;
--  CitiNat nat = nat.prop ;

  GExcuse = fam "excuse me" ;
  GExcusePol = pol "excuse me" ;
  GSorry = fam "sorry" ;
  GSorryPol = pol "sorry" ;
  GPleaseGive = fam "please" ;
  GPleaseGivePol = pol "please" ;
  GNiceToMeetYou = fam "nice to meet you" ;
--  GNiceToMeetYouPol = pol "nice to meet you" ;

  PYes = mkPhrase (lin Utt (ss "yes (answer to positive question)")) ;
  PYesToNo = mkPhrase (lin Utt (ss "yes (answer to negative question)")) ;

  ObjMass x = mkNP (mkNP x) (ParadigmsEng.mkAdv "(a portion of)") ;

oper
  fam : Str -> SS = \s -> postfixSS "(familiar)" (ss s) ;
  pol : Str -> SS = \s -> postfixSS "(polite)" (ss s) ;

  mkP : Pron -> Str -> {name : NP ; isPron : Bool ; poss : Quant} = \p,s ->
    {name = mkNP (mkNP p) (ParadigmsEng.mkAdv s) ;
     isPron = False ; -- to show the disambiguation 
     poss = SyntaxEng.mkQuant youSg_Pron 
    } ;
}