summaryrefslogtreecommitdiff
path: root/next-lib/src/english/StructuralEng.gf
blob: b79f90098f1dcf9fcfcda64ca8b7ef6f5256acb7 (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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
concrete StructuralEng of Structural = CatEng ** 
  open MorphoEng, (P = ParadigmsEng), Prelude in {

  flags optimize=all ;

  lin
  above_Prep = ss "above" ;
  after_Prep = ss "after" ;
  all_Predet = ss "all" ;
  almost_AdA, almost_AdN = ss "almost" ;
  although_Subj = ss "although" ;
  always_AdV = ss "always" ;
  and_Conj = sd2 [] "and" ** {n = Pl} ;
---b  and_Conj = ss "and" ** {n = Pl} ;
  because_Subj = ss "because" ;
  before_Prep = ss "before" ;
  behind_Prep = ss "behind" ;
  between_Prep = ss "between" ;
  both7and_DConj = sd2 "both" "and" ** {n = Pl} ;
  but_PConj = ss "but" ;
  by8agent_Prep = ss "by" ;
  by8means_Prep = ss "by" ;
  can8know_VV, can_VV = {
    s = table { 
      VVF VInf => ["be able to"] ;
      VVF VPres => "can" ;
      VVF VPPart => ["been able to"] ;
      VVF VPresPart => ["being able to"] ;
      VVF VPast => "could" ;      --# notpresent
      VVPastNeg => "couldn't" ;   --# notpresent
      VVPresNeg => "can't"
      } ;
    isAux = True
    } ;
  during_Prep = ss "during" ;
  either7or_DConj = sd2 "either" "or" ** {n = Sg} ;
  everybody_NP = regNP "everybody" Sg ;
  every_Det = mkDeterminer Sg "every" ;
  everything_NP = regNP "everything" Sg ;
  everywhere_Adv = ss "everywhere" ;
  few_Det = mkDeterminer Pl "few" ;
---  first_Ord = ss "first" ; DEPRECATED
  for_Prep = ss "for" ;
  from_Prep = ss "from" ;
  he_Pron = mkPron "he" "him" "his" "his" Sg P3 Masc ;
  here_Adv = ss "here" ;
  here7to_Adv = ss ["to here"] ;
  here7from_Adv = ss ["from here"] ;
  how_IAdv = ss "how" ;
  how8many_IDet = mkDeterminer Pl ["how many"] ;
  if_Subj = ss "if" ;
  in8front_Prep = ss ["in front of"] ;
  i_Pron  = mkPron "I" "me" "my" "mine" Sg P1 Masc ;
  in_Prep = ss "in" ;
  it_Pron  = mkPron "it" "it" "its" "its" Sg P3 Neutr ;
  less_CAdv = ss "less" ;
  many_Det = mkDeterminer Pl "many" ;
  more_CAdv = ss "more" ;
  most_Predet = ss "most" ;
  much_Det = mkDeterminer Sg "much" ;
  must_VV = {
    s = table {
      VVF VInf => ["have to"] ;
      VVF VPres => "must" ;
      VVF VPPart => ["had to"] ;
      VVF VPresPart => ["having to"] ;
      VVF VPast => ["had to"] ;      --# notpresent
      VVPastNeg => ["hadn't to"] ;      --# notpresent
      VVPresNeg => "mustn't"
      } ;
    isAux = True
    } ;
---b  no_Phr = ss "no" ;
  no_Utt = ss "no" ;
  on_Prep = ss "on" ;
----  one_Quant = mkDeterminer Sg "one" ; -- DEPRECATED
  only_Predet = ss "only" ;
  or_Conj = sd2 [] "or" ** {n = Sg} ;
  otherwise_PConj = ss "otherwise" ;
  part_Prep = ss "of" ;
  please_Voc = ss "please" ;
  possess_Prep = ss "of" ;
  quite_Adv = ss "quite" ;
  she_Pron = mkPron "she" "her" "her" "hers" Sg P3 Fem ;
  so_AdA = ss "so" ;
  somebody_NP = regNP "somebody" Sg ;
  someSg_Det = mkDeterminer Sg "some" ;
  somePl_Det = mkDeterminer Pl "some" ;
  something_NP = regNP "something" Sg ;
  somewhere_Adv = ss "somewhere" ;
  that_Quant = mkQuant "that" "those" ;
  there_Adv = ss "there" ;
  there7to_Adv = ss "there" ;
  there7from_Adv = ss ["from there"] ;
  therefore_PConj = ss "therefore" ;
  they_Pron = mkPron "they" "them" "their" "theirs" Pl P3 Masc ; ---- 
  this_Quant = mkQuant "this" "these" ;
  through_Prep = ss "through" ;
  too_AdA = ss "too" ;
  to_Prep = ss "to" ;
  under_Prep = ss "under" ;
  very_AdA = ss "very" ;
  want_VV = P.mkVV (P.regV "want") ;
  we_Pron = mkPron "we" "us" "our" "ours" Pl P1 Masc ;
  whatPl_IP = mkIP "what" "what" "what's" Pl ;
  whatSg_IP = mkIP "what" "what" "what's" Sg ;
  when_IAdv = ss "when" ;
  when_Subj = ss "when" ;
  where_IAdv = ss "where" ;
  which_IQuant = {s = \\_ => "which"} ;
---b  whichPl_IDet = mkDeterminer Pl ["which"] ;
---b  whichSg_IDet = mkDeterminer Sg ["which"] ;
  whoPl_IP = mkIP "who" "whom" "whose" Pl ;
  whoSg_IP = mkIP "who" "whom" "whose" Sg ;
  why_IAdv = ss "why" ;
  without_Prep = ss "without" ;
  with_Prep = ss "with" ;
---b  yes_Phr = ss "yes" ;
  yes_Utt = ss "yes" ;
  youSg_Pron = mkPron "you" "you" "your" "yours" Sg P2 Masc ;
  youPl_Pron = mkPron "you" "you" "your" "yours" Pl P2 Masc ;
  youPol_Pron = mkPron "you" "you" "your" "yours" Sg P2 Masc ;


oper
  mkQuant : Str -> Str -> {s,sp : Bool => Number => Str} = \x,y -> {
    s,sp = \\_ => table Number [x ; y]
    } ;

}