Skip to content

Commit f04fc91

Browse files
committed
filter out gerund-like adjectives
1 parent b623c8e commit f04fc91

File tree

4 files changed

+73
-59
lines changed

4 files changed

+73
-59
lines changed

dictionary/dictionary

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ akesi:
1414
reptile(n);
1515
amphibian(n);
1616
scaly(adj material) creature(n);
17-
crawling(adj opinion) creature(n);
17+
crawling(adj opinion gerund-like) creature(n);
1818

1919
reptilian(adj qualifier);
2020
amphibian(adj qualifier);
@@ -39,8 +39,8 @@ alasa:
3939
# hunting(n gerund);
4040
searching(n gerund);
4141

42-
# hunting(adj qualifier);
43-
searching(adj qualifier);
42+
# hunting(adj qualifier gerund-like);
43+
searching(adj qualifier gerund-like);
4444

4545
ale, ali:
4646
all(d quantifier plural);
@@ -105,12 +105,12 @@ awen:
105105
protecting(n gerund);
106106
continuing(n gerund);
107107

108-
# staying(adj qualifier);
109-
remaining(adj qualifier);
110-
# waiting(adj qualifier);
111-
pausing(adj qualifier);
112-
protecting(adj qualifier);
113-
continuing(adj qualifier);
108+
# staying(adj qualifier gerund-like);
109+
remaining(adj qualifier gerund-like);
110+
# waiting(adj qualifier gerund-like);
111+
pausing(adj qualifier gerund-like);
112+
protecting(adj qualifier gerund-like);
113+
continuing(adj qualifier gerund-like);
114114

115115
e:
116116
`[`marks the start of a direct object`]`(particle def);
@@ -148,11 +148,11 @@ esun:
148148
buying(n gerund);
149149
selling(n gerund);
150150

151-
# trading(adj qualifier);
152-
# bartering(adj qualifier);
153-
# exchanging(adj qualifier);
154-
swapping(adj qualifier);
155-
buying(adj qualifier);
151+
# trading(adj qualifier gerund-like);
152+
# bartering(adj qualifier gerund-like);
153+
# exchanging(adj qualifier gerund-like);
154+
swapping(adj qualifier gerund-like);
155+
buying(adj qualifier gerund-like);
156156
sell(adj qualifier);
157157

158158
ijo:
@@ -228,10 +228,10 @@ jasima:
228228
# mirroring(n gerund);
229229
duplicating(n gerund);
230230

231-
reflecting(adj qualifier);
232-
# echoing(adj qualifier);
233-
# mirroring(adj qualifier);
234-
duplicating(adj qualifier);
231+
reflecting(adj qualifier gerund-like);
232+
# echoing(adj qualifier gerund-like);
233+
# mirroring(adj qualifier gerund-like);
234+
duplicating(adj qualifier gerund-like);
235235

236236
jelo:
237237
yellow(adj color);
@@ -258,14 +258,14 @@ kala:
258258
fish(n);
259259
# marine(adj qualifier) animal(n);
260260
# sea(adj qualifier) creature(n);
261-
swimming(adj qualifier) creature(n);
261+
swimming(adj qualifier gerund-like) creature(n);
262262

263263
swim(v);
264264

265265
fish-like(adj qualifier);
266266
fish-related(adj opinion);
267267

268-
swimming(adj qualifier);
268+
swimming(adj qualifier gerund-like);
269269

270270
kalama:
271271
produce(v) sound(n);
@@ -288,10 +288,10 @@ kama:
288288
summoning(n gerund);
289289
becoming(n gerund);
290290

291-
arriving(adj qualifier);
292-
# approaching(adj qualifier);
293-
summoning(adj qualifier);
294-
becoming(adj qualifier);
291+
arriving(adj qualifier gerund-like);
292+
# approaching(adj qualifier gerund-like);
293+
summoning(adj qualifier gerund-like);
294+
becoming(adj qualifier gerund-like);
295295

296296
kasi:
297297
plant(n);
@@ -456,7 +456,7 @@ kulupu:
456456

457457
kute:
458458
ear(n);
459-
hearing(adj qualifier) organ(n);
459+
hearing(adj qualifier gerund-like) organ(n);
460460

461461
hear(v) [object];
462462
listen(v) at(prep) [object];
@@ -467,9 +467,9 @@ kute:
467467
listen(n gerund);
468468
obeying(n gerund);
469469

470-
hearing(adj qualifier);
471-
listen(adj qualifier);
472-
obeying(adj qualifier);
470+
hearing(adj qualifier gerund-like);
471+
listening(adj qualifier gerund-like);
472+
obeying(adj qualifier gerund-like);
473473

474474
la:
475475
`[`mark the previous statement as context to a following statement`]`(particle def);
@@ -483,18 +483,18 @@ lanpan:
483483
# seizing(n gerund);
484484
# stealing(n gerund);
485485

486-
taking(adj qualifier);
487-
# seizing(adj qualifier);
488-
# stealing(adj qualifier);
486+
taking(adj qualifier gerund-like);
487+
# seizing(adj qualifier gerund-like);
488+
# stealing(adj qualifier gerund-like);
489489

490490
lape:
491491
sleep(n singular);
492492
rest(n singular);
493493
sleep(v);
494494
rest(v);
495495

496-
sleeping(adj qualifier);
497-
resting(adj qualifier);
496+
sleeping(adj qualifier gerund-like);
497+
resting(adj qualifier gerund-like);
498498

499499
laso:
500500
# turquoise(adj color);
@@ -651,7 +651,7 @@ luka:
651651
hand(n);
652652
arm(n);
653653
tactile(adj qualifier) organ(n);
654-
grasping(adj qualifier) organ(n);
654+
grasping(adj qualifier gerund-like) organ(n);
655655

656656
grasp(v) [object];
657657
interact(v) with(prep) [object];
@@ -676,7 +676,7 @@ lukin, oko:
676676
visual(adj qualifier);
677677

678678
eye(n);
679-
seeing(adj qualifier) organ(n);
679+
seeing(adj qualifier gerund-like) organ(n);
680680

681681
try to(v) [predicate];
682682

@@ -899,8 +899,8 @@ musi:
899899

900900
art(n);
901901
fun(adj opinion);
902-
amusing(adj opinion);
903-
# interesting(adj opinion);
902+
amusing(adj opinion gerund-like);
903+
# interesting(adj opinion gerund-like);
904904
comical(adj opinion);
905905
# silly(adj opinion);
906906

@@ -1111,12 +1111,12 @@ pana:
11111111
putting(n gerund);
11121112
releasing(n gerund);
11131113

1114-
giving(adj qualifier);
1115-
# sending(adj qualifier);
1116-
emitting(adj qualifier);
1117-
providing(adj qualifier);
1118-
putting(adj qualifier);
1119-
releasing(adj qualifier);
1114+
giving(adj qualifier gerund-like);
1115+
# sending(adj qualifier gerund-like);
1116+
emitting(adj qualifier gerund-like);
1117+
providing(adj qualifier gerund-like);
1118+
putting(adj qualifier gerund-like);
1119+
releasing(adj qualifier gerund-like);
11201120

11211121
pi:
11221122
`[`modify the next word with one or more following words`]`(particle def);
@@ -1169,7 +1169,7 @@ pipi:
11691169
insect(n);
11701170
bug(n);
11711171
# spider(n);
1172-
tiny(adj size) crawling(adj qualifier) creature(n);
1172+
tiny(adj size) crawling(adj qualifier gerund-like) creature(n);
11731173

11741174
insect-like(adj physical quality);
11751175
bug-like(adj physical quality);
@@ -1292,13 +1292,13 @@ sike:
12921292
# ball(n);
12931293
# wheel(n);
12941294

1295-
repeating(adj qualifier) thing(n);
1295+
repeating(adj qualifier gerund-like) thing(n);
12961296
cycle(n);
12971297
orbit(n);
12981298
loop(n);
12991299

13001300
round(adj physical quality);
1301-
repeating(adj qualifier);
1301+
repeating(adj qualifier gerund-like);
13021302

13031303
repeatedly(adv);
13041304

@@ -1509,9 +1509,9 @@ toki:
15091509

15101510
language(n);
15111511

1512-
communicating(adj qualifier);
1513-
# saying(adj qualifier);
1514-
thinking(adj qualifier);
1512+
communicating(adj qualifier gerund-like);
1513+
# saying(adj qualifier gerund-like);
1514+
thinking(adj qualifier gerund-like);
15151515

15161516
conversation-related(adj opinion);
15171517
story-related(adj opinion);
@@ -1560,7 +1560,7 @@ uta:
15601560
mouth(n);
15611561
lip(n);
15621562
throat(n);
1563-
consuming(adj qualifier) orifice(n);
1563+
consuming(adj qualifier gerund-like) orifice(n);
15641564

15651565
mouth-related(adj opinion);
15661566
lips-related(adj opinion);
@@ -1605,7 +1605,7 @@ wan:
16051605

16061606
waso:
16071607
bird(n);
1608-
flying(adj qualifier) creature(n);
1608+
flying(adj qualifier gerund-like) creature(n);
16091609
winged(adj qualifier) animal(n);
16101610

16111611
fly(v);

dictionary/parser.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ const slash = lex(matchString("/", "slash"));
5959
const forms = sequence(word, all(slash.with(word)))
6060
.map(([first, rest]) => [first, ...rest]);
6161
function keyword<T extends string>(keyword: T): Parser<T> {
62-
return lex(match(/[a-z]+/, keyword))
62+
return lex(match(/[a-z\-]+/, keyword))
6363
.filter((that) =>
6464
keyword === that ||
6565
throwError(new UnexpectedError(`"${that}"`, `"${keyword}"`))
@@ -227,9 +227,18 @@ const adjectiveKind = choiceOnlyOne(
227227
const adjective = sequence(
228228
all(simpleUnit("adv")),
229229
word,
230-
tag(keyword("adj").with(adjectiveKind)),
230+
tag(
231+
keyword("adj").with(
232+
sequence(adjectiveKind, optionalAll(keyword("gerund-like"))),
233+
),
234+
),
231235
)
232-
.map(([adverb, adjective, kind]) => ({ adverb, adjective, kind }));
236+
.map(([adverb, adjective, [kind, gerundLike]]) => ({
237+
adverb,
238+
adjective,
239+
kind,
240+
gerundLike: gerundLike != null,
241+
}));
233242
const noun = sequence(
234243
all(determiner),
235244
all(adjective),

dictionary/type.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ export type Adjective = Readonly<{
5050
adverb: ReadonlyArray<string>;
5151
adjective: string;
5252
kind: AdjectiveType;
53+
gerundLike: boolean;
5354
}>;
5455
export type VerbForms = Readonly<{
5556
presentPlural: string;

src/translator/word_unit.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,15 @@ function defaultWordUnit(
4747
type: "noun",
4848
}]);
4949
case "adjective":
50-
return adjective({ ...options, definition })
51-
.map<WordUnitTranslation>((adjective) => ({
52-
type: "adjective",
53-
adjective,
54-
}));
50+
if (!includeGerund && definition.gerundLike) {
51+
return new ArrayResult();
52+
} else {
53+
return adjective({ ...options, definition })
54+
.map<WordUnitTranslation>((adjective) => ({
55+
type: "adjective",
56+
adjective,
57+
}));
58+
}
5559
case "compound adjective":
5660
return compoundAdjective({
5761
...options,

0 commit comments

Comments
 (0)