summaryrefslogtreecommitdiff
path: root/examples/stoneage/StoneageSpa.gf
blob: 490ce724db49a755ed86c80875d404a67c0645ca (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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
--# -path=.:../../lib/resource/romance:../../lib/resource/abstract:../../lib/resource/spanish:../../lib/prelude

concrete StoneageSpa of Stoneage 
  = open SyntaxSpa, RulesSpa, StructuralSpa, ClauseSpa, ParadigmsSpa, SwadeshLexSpa,
  StoneageResSpa in {

flags
  startcat=S; optimize=share;

lincat
  S = Phr ;
  NP = NP ;
  N = N;
  CN = CN ;

lin

  -- Sentence conjunction

--  AndS s1 s2 = { s = s1.s ++ and_Conj.s ++ s2.s } ** { lock_Phr = <> } ;

  -- NP conjunction

--  AndNP n1 n2 = ConjNP and_Conj (TwoNP n1 n2);


  Drink = PresV2 (dirV2 drink_V) ;
  Eat = PresV2 (dirV2 eat_V) ;
  Bite = PresV2 (dirV2 bite_V) ;
  Suck = PresV2 (dirV2 suck_V) ;
  See = PresV2 (dirV2 see_V) ;
  Hear = PresV2 (dirV2 hear_V) ;
  Know = PresV2 (dirV2 know_V) ;
  Smell = PresV2 (dirV2 smell_V) ;
  Fear = PresV2 (dirV2 fear_V) ;
  Kill = PresV2 (dirV2 kill_V) ;
  Fight = PresV2 (dirV2 fight_V) ;
  Hunt = PresV2 (dirV2 hunt_V) ;
  Hit = PresV2 (dirV2 hit_V) ;
  Cut = PresV2 (dirV2 cut_V) ;
  Split = PresV2 (dirV2 split_V) ;
  Stab = PresV2 (dirV2 stab_V) ;
  Scratch = PresV2 (dirV2 scratch_V) ;
  Hold = PresV2 (dirV2 hold_V) ;
  Squeeze = PresV2 (dirV2 squeeze_V) ;
  Rub = PresV2 (dirV2 rub_V) ;
  Wash = PresV2 (dirV2 wash_V) ;
  Wipe = PresV2 (dirV2 wipe_V) ;
  Pull = PresV2 (dirV2 pull_V) ;
  Push = PresV2 (dirV2 push_V) ;
  Throw = PresV2 (dirV2 throw_V) ;
  Tie = PresV2 (dirV2 tie_V) ;
  Count = PresV2 (dirV2 count_V) ;

  Think = PresV think_V ;
  Spit = PresV spit_V ;
  Vomit = PresV vomit_V ;
  Blow = PresV blow_V ;
  Breathe = PresV breathe_V ;
  Laugh = PresV laugh_V ;
  Sleep = PresV sleep_V ;
  Live = PresV live_V ;
  Die = PresV die_V ;
  Dig = PresV dig_V ;
  Swim = PresV swim_V ;
  Fly = PresV fly_V ;
  Walk = PresV walk_V ;
  Come = PresV come_V ;
  Lie = PresReflV lie_V ;
  Sit = PresReflV sit_V ;
--  Stand = PresV stand_V ; ---- "estar de pie"
  Stand x = IndicPhrase (UseCl (PosTP TPresent ASimul) (AdvCl (SPredV  x stand_V) 
              (AdvPP (PrepNP part_Prep (MassNP (UseN foot_N)))))) ;
  Turn = PresV turn_V ;
  Fall = PresV fall_V ;
  Sing = PresV sing_V ;
  Sew = PresV sew_V ;
  Play = PresV play_V ;
  Float = PresV float_V ;
  Flow = PresV flow_V ;
  Freeze = PresV freeze_V ;
  Swell = PresV swell_V ;
  Burn = PresV burn_V ;

  Give = PresV3 (dirV3 give_V dative) ;

--  Say = ;

  The_One = DefOneNP ;
  The_Many = DefNumNP NoNum ;
  A = IndefOneNP ;
  This = DetNP this_Det ;
  That = DetNP that_Det ;
  All = NDetNP all_NDet NoNum ;
  Many = DetNP many_Det ;
  Some_One = DetNP some_Det ;
  Some_Many = NDetNP some_NDet NoNum ;
  Few = DetNP few_Det ;
  Other = DetNP other_Det ;

  One = IndefNumNP one_Num ;
  Two = IndefNumNP two_Num ;
  Three = IndefNumNP three_Num ;
  Four = IndefNumNP four_Num ;
  Five = IndefNumNP five_Num ;

  -- Pronouns

  I = i_NP ;
  You_One = thou_NP ;
  He = he_NP ;
  We = we_NP ;
  You_Many = you_NP ;
  They = they_NP ;

  -- Nouns

  Woman = UseN woman_N ;
  Man = UseN man_N ;
  Person = UseN person_N ;
  Child = UseN child_N ;
  Wife = UseN wife_N ;
  Husband = UseN husband_N ;
  Mother = UseN mother_N ;
  Father = UseN father_N ;
  Animal = UseN animal_N ;
  Fish = UseN fish_N ;
  Bird = UseN bird_N ;
  Dog = UseN dog_N ;
  Louse = UseN louse_N ;
  Snake = UseN snake_N ;
  Worm = UseN worm_N ;
  Tree = UseN tree_N ;
  Forest = UseN forest_N ;
  Stick = UseN stick_N ;
  Fruit = UseN fruit_N ;
  Seed = UseN seed_N ;
  Leaf = UseN leaf_N ;
  Root = UseN root_N ;
  Bark = UseN bark_N ;
  Flower = UseN flower_N ;
  Grass = UseN grass_N ;
  Rope = UseN rope_N ;
  Skin = UseN skin_N ;
  Meat = UseN meat_N ;
  Blood = UseN blood_N ;
  Bone = UseN bone_N ;
  Fat = UseN fat_N ;
  Egg = UseN egg_N ;
  Horn = UseN horn_N ;
  Tail = UseN tail_N ;
  Feather = UseN feather_N ;
  Hair = UseN hair_N ;
  Head = UseN head_N ;
  Ear = UseN ear_N ;
  Eye = UseN eye_N ;
  Nose = UseN nose_N ;
  Mouth = UseN mouth_N ;
  Tooth = UseN tooth_N ;
  Tongue = UseN tongue_N ;
  Fingernail = UseN fingernail_N ;
  Foot = UseN foot_N ;
  Leg = UseN leg_N ;
  Knee = UseN knee_N ;
  Hand = UseN hand_N ;
  Wing = UseN wing_N ;
  Belly = UseN belly_N ;
  Guts = UseN guts_N ;
  Neck = UseN neck_N ;
  Back = UseN back_N ;
  Breast = UseN breast_N ;
  Heart = UseN heart_N ;
  Liver = UseN liver_N ;
  Sun = UseN sun_N ;
  Moon = UseN moon_N ;
  Star = UseN star_N ;
  Water = UseN water_N ;
  Rain = UseN rain_N ;
  River = UseN river_N ;
  Lake = UseN lake_N ;
  Sea = UseN sea_N ;
  Salt = UseN salt_N ;
  Stone = UseN stone_N ;
  Sand = UseN sand_N ;
  Dust = UseN dust_N ;
  Earth = UseN earth_N ;
  Cloud = UseN cloud_N ;
  Fog = UseN fog_N ;
  Sky = UseN sky_N ;
  Wind = UseN wind_N ;
  Snow = UseN snow_N ;
  Ice = UseN ice_N ;
  Smoke = UseN smoke_N ;
  Fire = UseN fire_N ;
  Ashes = UseN ashes_N ;
  Road = UseN road_N ;
  Mountain = UseN mountain_N ;
  Night = UseN night_N ;
  Day = UseN day_N ;
  Year = UseN year_N ;
  Name = UseN name_N ;

--  NameOf = AppN2 name_N2 ;
  MotherOf = AppN2 (mkN2 mother_N genitive) ;
  FatherOf = AppN2 (mkN2 father_N genitive) ;

  Big = ModPosA big_ADeg ;
  Long = ModPosA long_ADeg ;
  Wide = ModPosA wide_ADeg ;
  Thick = ModPosA thick_ADeg ;
  Heavy = ModPosA heavy_ADeg ;
  Small = ModPosA small_ADeg ;
  Short = ModPosA short_ADeg ;
  Narrow = ModPosA narrow_ADeg ;
  Thin = ModPosA thin_ADeg ;
  Red = ModPosA red_ADeg ;
  Green = ModPosA green_ADeg ;
  Yellow = ModPosA yellow_ADeg ;
  White = ModPosA white_ADeg ;
  Black = ModPosA black_ADeg ;
  Warm = ModPosA warm_ADeg ;
  Cold = ModPosA cold_ADeg ;
  Full = ModPosA full_ADeg ;
  New = ModPosA new_ADeg ;
  Old = ModPosA old_ADeg ;
  Good = ModPosA good_ADeg ;
  Bad = ModPosA bad_ADeg ;
  Rotten = ModPosA rotten_ADeg ;
  Dirty = ModPosA dirty_ADeg ;
  Straight = ModPosA straight_ADeg ;
  Round = ModPosA round_ADeg ;
  Sharp = ModPosA sharp_ADeg ;
  Dull = ModPosA dull_ADeg ;
  Smooth = ModPosA smooth_ADeg ;
  Wet = ModPosA wet_ADeg ;
  Dry = ModPosA dry_ADeg ;
  Correct = ModPosA correct_ADeg ;
  Near = ModPosA near_ADeg ;
--  Far = ModPosA far_ADeg ;

  Right = ModAP (UseA right_A) ;
  Left = ModAP (UseA left_A) ;

}