-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSentencesPol.gf
52 lines (47 loc) · 1.99 KB
/
SentencesPol.gf
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
concrete SentencesPol of Sentences =
NumeralPol ** SentencesI - [
Day,PDay,OnDay,LAnguage,PLanguage,Citizenship,
PCitizenship,CitiNat,PropCit,ACitizen,
Nationality,Transport,PTransport,ByTransp,
IFemale,YouFamFemale, YouPolFemale,YouPolMale,
IMale, YouFamMale --- AR, for pro drop
]
with
(Syntax = SyntaxPol),
(Symbolic = SymbolicPol),
(Lexicon = LexiconPol) **
open (N = NounPol),(R = ResPol), (Pron = PronounMorphoPol), (E = ExtraPol), 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=<>};
--- AR 8/12/2010: using pro drop
IMale = mkPerson (E.ProDrop Pron.pronJa);
IFemale = mkPerson (E.ProDrop (Pron.pronJaFoo (R.PGen R.Fem)));
YouFamMale = mkPerson (E.ProDrop (Pron.pronTy));
YouFamFemale = mkPerson (E.ProDrop (Pron.pronTyFoo (R.PGen R.Fem)));
-- YouPolFemale = mkPerson (E.ProDrop (Pron.pronPani));
-- YouPolMale = mkPerson (E.ProDrop (Pron.pronPan));
--- original
--- IFemale = mkPerson (Pron.pronJaFoo (R.PGen R.Fem));
--- YouFamFemale = mkPerson (Pron.pronTyFoo (R.PGen R.Fem));
YouPolFemale = mkPerson (Pron.pronPani);
YouPolMale = mkPerson (Pron.pronPan);
}