summaryrefslogtreecommitdiff
path: root/examples/phrasebook/SentencesPol.gf
blob: ef728298a4a2a5757f2f02feb1db1783cf038129 (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
concrete SentencesPol of Sentences = 
  NumeralPol ** SentencesI - [
    Day,PDay,OnDay,Language,PLanguage,Citizenship,
    PCitizenship,CitiNat,PropCit,ACitizen,
    Nationality,Transport,PTransport,ByTransp,
    IFemale,YouFamFemale,YouPolFemale,YouPolMale] 
    with 
  (Syntax = SyntaxPol),
  (Symbolic = SymbolicPol),
  (Lexicon = LexiconPol) ** 
  open (N = NounPol),(R = ResPol), (Pron = PronounMorphoPol), Prelude in {
    
  flags  
    optimize =values ; coding =utf8 ; 

  lincat
    Day = { name,hab,adv:Str } ;
    Language = A ;
    Citizenship = { prop:A; citizenMSg:Str; citizenMPl:Str; citizenF:Str} ;
    Nationality = { lang: A; prop: A; country: NP; citizenMSg:Str; citizenMPl:Str; citizenF:Str } ;
    Transport = { cn:CN; verb:Str} ;

  lin
    PDay d = (ss d.name) ** {lock_Text = <>};
    OnDay d = (ss d.adv) ** {lock_Adv = <>};
    PLanguage l = (ss l.pos.s1) ** {lock_Text = <>};    
    PTransport t = mkPhrase (mkUtt t.cn) ;
    ByTransp t = { s=t.cn.s!R.Sg!R.Instr; lock_Adv = <>} ;
    PCitizenship c = mkPhrase (mkUtt (mkAP c.prop)) ;
    CitiNat n = {prop=n.prop; citizenMSg=n.citizenMSg; citizenMPl=n.citizenMPl; citizenF=n.citizenF};
    PropCit c = c.prop;
    ACitizen p n = mkCl p.name {s= case p.name.gn of {
          R.MascPersSg=>n.citizenMSg; R.FemSg=>n.citizenF; _=>n.citizenMPl
        };
         lock_Adv=<>};
    IFemale = mkPerson (Pron.pronJaFoo (R.PGen R.Fem));
    YouFamFemale = mkPerson (Pron.pronTyFoo (R.PGen R.Fem));
    YouPolFemale = mkPerson (Pron.pronPani);
    YouPolMale = mkPerson (Pron.pronPan);
}