@fpw/en-wiktionary-la-modules 0.0.16 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/LaEngine.d.ts +7 -8
- package/dist/LaEngine.js +1 -1
- package/dist/LaEngine.js.map +1 -1
- package/dist/modules/conjugation/LaVerb.d.ts +5 -3
- package/dist/modules/conjugation/LaVerb.js +207 -31
- package/dist/modules/conjugation/LaVerb.js.map +1 -1
- package/dist/modules/conjugation/VerbType.d.ts +5 -1
- package/dist/modules/conjugation/VerbType.js +4 -0
- package/dist/modules/conjugation/VerbType.js.map +1 -1
- package/dist/modules/declination/LaAdjData.d.ts +1 -1
- package/dist/modules/declination/LaAdjData.js +45 -24
- package/dist/modules/declination/LaAdjData.js.map +1 -1
- package/dist/modules/declination/LaNominal.d.ts +6 -3
- package/dist/modules/declination/LaNominal.js +190 -168
- package/dist/modules/declination/LaNominal.js.map +1 -1
- package/dist/modules/declination/LaNounData.js +65 -64
- package/dist/modules/declination/LaNounData.js.map +1 -1
- package/dist/modules/declination/LaPersonalPronoun.d.ts +7 -29
- package/dist/modules/declination/LaPersonalPronoun.js +73 -56
- package/dist/modules/declination/LaPersonalPronoun.js.map +1 -1
- package/dist/modules/declination/NominalType.d.ts +116 -0
- package/dist/modules/declination/NominalType.js +142 -0
- package/dist/modules/declination/NominalType.js.map +1 -0
- package/dist/modules/headword/HeadWord.d.ts +3 -3
- package/dist/modules/headword/HeadwordParser.d.ts +2 -2
- package/dist/modules/headword/HeadwordParser.js.map +1 -1
- package/package.json +8 -9
- package/src/LaEngine.ts +8 -9
- package/src/modules/conjugation/LaVerb.ts +213 -36
- package/src/modules/conjugation/VerbType.ts +4 -0
- package/src/modules/declination/LaAdjData.ts +47 -24
- package/src/modules/declination/LaNominal.ts +216 -184
- package/src/modules/declination/LaNounData.ts +67 -66
- package/src/modules/declination/LaPersonalPronoun.ts +76 -63
- package/src/modules/declination/NominalType.ts +153 -0
- package/src/modules/headword/HeadWord.ts +3 -3
- package/src/modules/headword/HeadwordParser.ts +18 -18
|
@@ -6,7 +6,7 @@ exports.m_noun_decl = void 0;
|
|
|
6
6
|
* It was converted from Lua to TypeScript by Folke Will <folko@solhost.org>.
|
|
7
7
|
*
|
|
8
8
|
* Original source: https://en.wiktionary.org/wiki/Module:la-noun/data
|
|
9
|
-
* Based on version: https://en.wiktionary.org/w/index.php?title=Module:la-noun/data&oldid=
|
|
9
|
+
* Based on version: https://en.wiktionary.org/w/index.php?title=Module:la-noun/data&oldid=67964055
|
|
10
10
|
*
|
|
11
11
|
* Lua idioms, function and variable names kept as in the original in order to easily
|
|
12
12
|
* backport later changes to this implementation.
|
|
@@ -18,6 +18,7 @@ exports.m_noun_decl = void 0;
|
|
|
18
18
|
const common_1 = require("../common");
|
|
19
19
|
const LaNominal_1 = require("./LaNominal");
|
|
20
20
|
const NominalForm_1 = require("./NominalForm");
|
|
21
|
+
const NominalType_1 = require("./NominalType");
|
|
21
22
|
exports.m_noun_decl = new Map([
|
|
22
23
|
["1", (data, args) => {
|
|
23
24
|
const stem = args[0];
|
|
@@ -33,29 +34,29 @@ exports.m_noun_decl = new Map([
|
|
|
33
34
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_pl", [stem + "ās"]);
|
|
34
35
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_pl", [stem + "īs"]);
|
|
35
36
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem + "ae"]);
|
|
36
|
-
if (data.types.has(
|
|
37
|
+
if (data.types.has(NominalType_1.NominalType.Abus)) {
|
|
37
38
|
data.subtitles.push(["dative/ablative plural in ", "'-ābus'"]);
|
|
38
39
|
(0, NominalForm_1.setNominalForm)(data.forms, "dat_pl", [stem + "ābus"]);
|
|
39
40
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_pl", [stem + "ābus"]);
|
|
40
41
|
}
|
|
41
|
-
else if (data.types.has(
|
|
42
|
+
else if (data.types.has(NominalType_1.NominalType.NotAbus)) {
|
|
42
43
|
data.subtitles.push(["dative/ablative plural in ", "'-īs'"]);
|
|
43
44
|
}
|
|
44
|
-
if (data.types.has(
|
|
45
|
+
if (data.types.has(NominalType_1.NominalType.Am)) {
|
|
45
46
|
data.subtitles.push(["nominative/vocative singular in ", "'-ām'"]);
|
|
46
47
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem + "ām"]);
|
|
47
48
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem + "ām"]);
|
|
48
49
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_sg", [stem + "ām"]);
|
|
49
50
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_sg", [stem + "ām", stem + "ā"]);
|
|
50
51
|
}
|
|
51
|
-
else if (data.types.has(
|
|
52
|
-
if (data.types.has(
|
|
52
|
+
else if (data.types.has(NominalType_1.NominalType.Greek)) {
|
|
53
|
+
if (data.types.has(NominalType_1.NominalType.Ma)) {
|
|
53
54
|
data.subtitles.push("masculine Greek-type with nominative singular in '-ās'");
|
|
54
55
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem + "ās"]);
|
|
55
56
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem + "ān"]);
|
|
56
57
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_sg", [stem + "ā"]);
|
|
57
58
|
}
|
|
58
|
-
else if (data.types.has(
|
|
59
|
+
else if (data.types.has(NominalType_1.NominalType.Me)) {
|
|
59
60
|
data.subtitles.push("masculine Greek-type with nominative singular in '-ēs'");
|
|
60
61
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem + "ēs"]);
|
|
61
62
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem + "ēn"]);
|
|
@@ -71,10 +72,10 @@ exports.m_noun_decl = new Map([
|
|
|
71
72
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_sg", [stem + "ē"]);
|
|
72
73
|
}
|
|
73
74
|
}
|
|
74
|
-
else if (data.types.has(
|
|
75
|
+
else if (data.types.has(NominalType_1.NominalType.NotGreek)) {
|
|
75
76
|
data.subtitles.push("non-Greek-type");
|
|
76
77
|
}
|
|
77
|
-
else if (data.types.has(
|
|
78
|
+
else if (data.types.has(NominalType_1.NominalType.NotAm)) {
|
|
78
79
|
data.subtitles.push(["nominative/vocative singular in ", "'-a'"]);
|
|
79
80
|
}
|
|
80
81
|
if (data.loc) {
|
|
@@ -97,14 +98,14 @@ exports.m_noun_decl = new Map([
|
|
|
97
98
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_pl", [stem1 + "ōs"]);
|
|
98
99
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_pl", [stem1 + "īs"]);
|
|
99
100
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem1 + "ī"]);
|
|
100
|
-
if (data.types.has(
|
|
101
|
+
if (data.types.has(NominalType_1.NominalType.Neuter)) {
|
|
101
102
|
data.subtitles.push("neuter");
|
|
102
103
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "um"]);
|
|
103
104
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_sg", [stem1 + "um"]);
|
|
104
105
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_pl", [stem1 + "a"]);
|
|
105
106
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_pl", [stem1 + "a"]);
|
|
106
107
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem1 + "a"]);
|
|
107
|
-
if (data.types.has(
|
|
108
|
+
if (data.types.has(NominalType_1.NominalType.Ium)) {
|
|
108
109
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "ium"]);
|
|
109
110
|
if (!data.declOpts.suppressOldGenitive) {
|
|
110
111
|
(0, NominalForm_1.setNominalForm)(data.forms, "gen_sg", [stem1 + "iī", stem1 + "ī"]);
|
|
@@ -126,7 +127,7 @@ exports.m_noun_decl = new Map([
|
|
|
126
127
|
data.notes.set("gen_sg2", "Found in older Latin (until the Augustan Age).");
|
|
127
128
|
}
|
|
128
129
|
}
|
|
129
|
-
else if (data.types.has(
|
|
130
|
+
else if (data.types.has(NominalType_1.NominalType.a)) {
|
|
130
131
|
data.subtitles.push("nominative/accusative/vocative plural in '-a'");
|
|
131
132
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "us"]);
|
|
132
133
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem1 + "us"]);
|
|
@@ -135,13 +136,13 @@ exports.m_noun_decl = new Map([
|
|
|
135
136
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_pl", [stem1 + "a"]);
|
|
136
137
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem1 + "a"]);
|
|
137
138
|
}
|
|
138
|
-
else if (data.types.has(
|
|
139
|
+
else if (data.types.has(NominalType_1.NominalType.Vom)) {
|
|
139
140
|
data.subtitles.push("nominative singular in '-om' after 'v'");
|
|
140
141
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "om"]);
|
|
141
142
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem1 + "om"]);
|
|
142
143
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_sg", [stem1 + "om"]);
|
|
143
144
|
}
|
|
144
|
-
else if (data.types.has(
|
|
145
|
+
else if (data.types.has(NominalType_1.NominalType.Greek) && data.types.has(NominalType_1.NominalType.Us)) {
|
|
145
146
|
data.subtitles.push("Greek-type");
|
|
146
147
|
data.subtitles.push("nominative/accusative/vocative in '-os'");
|
|
147
148
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "os"]);
|
|
@@ -152,13 +153,13 @@ exports.m_noun_decl = new Map([
|
|
|
152
153
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_pl", [stem1 + "ē"]);
|
|
153
154
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem1 + "ē"]);
|
|
154
155
|
}
|
|
155
|
-
else if (data.types.has(
|
|
156
|
+
else if (data.types.has(NominalType_1.NominalType.Greek)) {
|
|
156
157
|
data.subtitles.push("Greek-type");
|
|
157
158
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "on"]);
|
|
158
159
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem1 + "on"]);
|
|
159
160
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_sg", [stem1 + "on"]);
|
|
160
161
|
}
|
|
161
|
-
else if (data.types.has(
|
|
162
|
+
else if (data.types.has(NominalType_1.NominalType.Us)) {
|
|
162
163
|
data.subtitles.push("nominative/accusative/vocative in '-us'");
|
|
163
164
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "us"]);
|
|
164
165
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem1 + "us"]);
|
|
@@ -167,11 +168,11 @@ exports.m_noun_decl = new Map([
|
|
|
167
168
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_pl", [stem1 + "ōs"]);
|
|
168
169
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem1 + "ī"]);
|
|
169
170
|
}
|
|
170
|
-
else if (data.types.has(
|
|
171
|
+
else if (data.types.has(NominalType_1.NominalType.NotGreek) || data.types.has(NominalType_1.NominalType.NotUs)) {
|
|
171
172
|
data.subtitles.push("nominative/accusative/vocative in '-um'");
|
|
172
173
|
}
|
|
173
174
|
}
|
|
174
|
-
else if (data.types.has(
|
|
175
|
+
else if (data.types.has(NominalType_1.NominalType.Er)) {
|
|
175
176
|
if (stem1.match(/[aiouy]r$/)) {
|
|
176
177
|
data.subtitles.push("nominative singular in '-r'");
|
|
177
178
|
}
|
|
@@ -191,7 +192,7 @@ exports.m_noun_decl = new Map([
|
|
|
191
192
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_pl", [stem2 + "īs"]);
|
|
192
193
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem2 + "ī"]);
|
|
193
194
|
}
|
|
194
|
-
else if (data.types.has(
|
|
195
|
+
else if (data.types.has(NominalType_1.NominalType.Ius)) {
|
|
195
196
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "ius"]);
|
|
196
197
|
if (!data.declOpts.suppressOldGenitive) {
|
|
197
198
|
(0, NominalForm_1.setNominalForm)(data.forms, "gen_sg", [stem1 + "iī", stem1 + "ī"]);
|
|
@@ -202,7 +203,7 @@ exports.m_noun_decl = new Map([
|
|
|
202
203
|
(0, NominalForm_1.setNominalForm)(data.forms, "dat_sg", [stem1 + "iō"]);
|
|
203
204
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem1 + "ium"]);
|
|
204
205
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_sg", [stem1 + "iō"]);
|
|
205
|
-
if (data.types.has(
|
|
206
|
+
if (data.types.has(NominalType_1.NominalType.VocI)) {
|
|
206
207
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_sg", [stem1 + "ī"]);
|
|
207
208
|
}
|
|
208
209
|
else {
|
|
@@ -218,34 +219,34 @@ exports.m_noun_decl = new Map([
|
|
|
218
219
|
data.notes.set("gen_sg2", "Found in older Latin (until the Augustan Age).");
|
|
219
220
|
}
|
|
220
221
|
}
|
|
221
|
-
else if (data.types.has(
|
|
222
|
+
else if (data.types.has(NominalType_1.NominalType.Vos)) {
|
|
222
223
|
data.subtitles.push("nominative singular in '-os' after 'v'");
|
|
223
224
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "os"]);
|
|
224
225
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem1 + "om"]);
|
|
225
226
|
}
|
|
226
|
-
else if (data.types.has(
|
|
227
|
+
else if (data.types.has(NominalType_1.NominalType.Greek)) {
|
|
227
228
|
data.subtitles.push("Greek-type");
|
|
228
229
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "os"]);
|
|
229
230
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem1 + "on"]);
|
|
230
231
|
}
|
|
231
|
-
else if (data.types.has(
|
|
232
|
+
else if (data.types.has(NominalType_1.NominalType.NotGreek)) {
|
|
232
233
|
data.subtitles.push("non-Greek-type");
|
|
233
234
|
}
|
|
234
|
-
if (data.types.has(
|
|
235
|
+
if (data.types.has(NominalType_1.NominalType.GenPluM)) {
|
|
235
236
|
data.subtitles.push(["contracted", " genitive plural"]);
|
|
236
237
|
data.notes.set("gen_pl2", "Contraction found in poetry.");
|
|
237
|
-
if (data.types.has(
|
|
238
|
+
if (data.types.has(NominalType_1.NominalType.Ius) || data.types.has(NominalType_1.NominalType.Ium)) {
|
|
238
239
|
(0, NominalForm_1.setNominalForm)(data.forms, "gen_pl", [stem2 + "iōrum", stem2 + "ium"]);
|
|
239
240
|
}
|
|
240
241
|
else {
|
|
241
242
|
(0, NominalForm_1.setNominalForm)(data.forms, "gen_pl", [stem2 + "ōrum", stem2 + "um"]);
|
|
242
243
|
}
|
|
243
244
|
}
|
|
244
|
-
else if (data.types.has(
|
|
245
|
+
else if (data.types.has(NominalType_1.NominalType.NotGenPluM)) {
|
|
245
246
|
data.subtitles.push(["normal", " genitive plural"]);
|
|
246
247
|
}
|
|
247
248
|
if (data.loc) {
|
|
248
|
-
if (data.types.has(
|
|
249
|
+
if (data.types.has(NominalType_1.NominalType.Ius) || data.types.has(NominalType_1.NominalType.Ium)) {
|
|
249
250
|
(0, NominalForm_1.setNominalForm)(data.forms, "loc_sg", [stem2 + "iī"]);
|
|
250
251
|
(0, NominalForm_1.setNominalForm)(data.forms, "loc_pl", [stem2 + "iīs"]);
|
|
251
252
|
}
|
|
@@ -287,7 +288,7 @@ exports.m_noun_decl = new Map([
|
|
|
287
288
|
}
|
|
288
289
|
}
|
|
289
290
|
for (const [acc_sg_subtype, [endings, title]] of acc_sg_i_stem_subtypes) {
|
|
290
|
-
if (data.types
|
|
291
|
+
if ((0, NominalType_1.hasNominalType)(data.types, "not_" + acc_sg_subtype)) {
|
|
291
292
|
not_acc_sg_i_stem_subtype = true;
|
|
292
293
|
break;
|
|
293
294
|
}
|
|
@@ -301,14 +302,14 @@ exports.m_noun_decl = new Map([
|
|
|
301
302
|
}
|
|
302
303
|
}
|
|
303
304
|
for (const [abl_sg_subtype, [endings, title]] of abl_sg_i_stem_subtypes) {
|
|
304
|
-
if (data.types
|
|
305
|
+
if ((0, NominalType_1.hasNominalType)(data.types, "not_" + abl_sg_subtype)) {
|
|
305
306
|
not_abl_sg_i_stem_subtype = true;
|
|
306
307
|
break;
|
|
307
308
|
}
|
|
308
309
|
}
|
|
309
|
-
if (data.types.has(
|
|
310
|
+
if (data.types.has(NominalType_1.NominalType.Greek)) {
|
|
310
311
|
data.subtitles.push("Greek-type");
|
|
311
|
-
if (data.types.has(
|
|
312
|
+
if (data.types.has(NominalType_1.NominalType.Er)) {
|
|
312
313
|
data.subtitles.push("variant with nominative singular in '-ēr'");
|
|
313
314
|
stem1 = extract_stem(stem1, "ēr");
|
|
314
315
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "ēr"]);
|
|
@@ -324,7 +325,7 @@ exports.m_noun_decl = new Map([
|
|
|
324
325
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_pl", [stem1 + "eribus"]);
|
|
325
326
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem1 + "erēs"]);
|
|
326
327
|
}
|
|
327
|
-
else if (data.types.has(
|
|
328
|
+
else if (data.types.has(NominalType_1.NominalType.On)) {
|
|
328
329
|
data.subtitles.push("variant with nominative singular in '-ōn'");
|
|
329
330
|
stem1 = extract_stem(stem1, "ōn");
|
|
330
331
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "ōn"]);
|
|
@@ -340,7 +341,7 @@ exports.m_noun_decl = new Map([
|
|
|
340
341
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_pl", [stem1 + "ontibus"]);
|
|
341
342
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem1 + "ontēs"]);
|
|
342
343
|
}
|
|
343
|
-
else if (data.types.has(
|
|
344
|
+
else if (data.types.has(NominalType_1.NominalType.I)) {
|
|
344
345
|
data.subtitles.push("i-stem");
|
|
345
346
|
(0, NominalForm_1.setNominalForm)(data.forms, "gen_sg", [stem2 + "is", stem2 + "eōs", stem2 + "ios"]);
|
|
346
347
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem2 + "im", stem2 + "in", stem2 + "em"]);
|
|
@@ -352,7 +353,7 @@ exports.m_noun_decl = new Map([
|
|
|
352
353
|
(0, NominalForm_1.setNominalForm)(data.forms, "gen_pl", [stem2 + "ium", stem2 + "eōn"]);
|
|
353
354
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_pl", [stem2 + "ēs", stem2 + "eis"]);
|
|
354
355
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem2 + "ēs", stem2 + "eis"]);
|
|
355
|
-
if (data.types.has(
|
|
356
|
+
if (data.types.has(NominalType_1.NominalType.poetic_esi)) {
|
|
356
357
|
(0, NominalForm_1.setNominalForm)(data.forms, "dat_pl", [stem2 + "ibus", stem2 + "esi"]);
|
|
357
358
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_pl", [stem2 + "ibus", stem2 + "esi"]);
|
|
358
359
|
data.notes.set("dat_pl2", "Primarily in poetry.");
|
|
@@ -377,10 +378,10 @@ exports.m_noun_decl = new Map([
|
|
|
377
378
|
}
|
|
378
379
|
}
|
|
379
380
|
}
|
|
380
|
-
else if (data.types.has(
|
|
381
|
+
else if (data.types.has(NominalType_1.NominalType.NotGreek)) {
|
|
381
382
|
data.subtitles.push("non-Greek-type");
|
|
382
383
|
}
|
|
383
|
-
if (data.types.has(
|
|
384
|
+
if (data.types.has(NominalType_1.NominalType.Polis)) {
|
|
384
385
|
stem1 = extract_stem(stem1, "polis");
|
|
385
386
|
data.subtitles.push("i-stem, partially Greek-type");
|
|
386
387
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem1 + "polis"]);
|
|
@@ -390,14 +391,14 @@ exports.m_noun_decl = new Map([
|
|
|
390
391
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_sg", [stem1 + "polī"]);
|
|
391
392
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_sg", [stem1 + "polis", stem1 + "polī"]);
|
|
392
393
|
}
|
|
393
|
-
else if (data.types.has(
|
|
394
|
+
else if (data.types.has(NominalType_1.NominalType.NotPolis)) {
|
|
394
395
|
data.subtitles.push(non_i_stem_type());
|
|
395
396
|
}
|
|
396
|
-
if (data.types.has(
|
|
397
|
+
if (data.types.has(NominalType_1.NominalType.Neuter)) {
|
|
397
398
|
data.subtitles.push("neuter");
|
|
398
399
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem1]);
|
|
399
|
-
if (data.types.has(
|
|
400
|
-
if (data.types.has(
|
|
400
|
+
if (data.types.has(NominalType_1.NominalType.I)) {
|
|
401
|
+
if (data.types.has(NominalType_1.NominalType.Pure)) {
|
|
401
402
|
data.subtitles.push("“pure” i-stem");
|
|
402
403
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_sg", [stem2 + "ī"]);
|
|
403
404
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_pl", [stem2 + "ia"]);
|
|
@@ -420,8 +421,8 @@ exports.m_noun_decl = new Map([
|
|
|
420
421
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem2 + "a"]);
|
|
421
422
|
}
|
|
422
423
|
}
|
|
423
|
-
else if (data.types.has(
|
|
424
|
-
if (data.types.has(
|
|
424
|
+
else if (data.types.has(NominalType_1.NominalType.I) || acc_sg_i_stem_subtype || abl_sg_i_stem_subtype) {
|
|
425
|
+
if (data.types.has(NominalType_1.NominalType.NotNeuter)) {
|
|
425
426
|
data.subtitles.push("non-neuter i-stem");
|
|
426
427
|
}
|
|
427
428
|
else {
|
|
@@ -461,13 +462,13 @@ exports.m_noun_decl = new Map([
|
|
|
461
462
|
}
|
|
462
463
|
}
|
|
463
464
|
}
|
|
464
|
-
else if (data.types.has(
|
|
465
|
+
else if (data.types.has(NominalType_1.NominalType.Neuter) && data.types.has(NominalType_1.NominalType.NotI)) {
|
|
465
466
|
data.subtitles.push("non-neuter " + non_i_stem_type());
|
|
466
467
|
}
|
|
467
|
-
else if (data.types.has(
|
|
468
|
+
else if (data.types.has(NominalType_1.NominalType.NotNeuter)) {
|
|
468
469
|
data.subtitles.push("non-neuter");
|
|
469
470
|
}
|
|
470
|
-
else if (data.types.has(
|
|
471
|
+
else if (data.types.has(NominalType_1.NominalType.NotI)) {
|
|
471
472
|
data.subtitles.push(non_i_stem_type());
|
|
472
473
|
}
|
|
473
474
|
if (data.loc) {
|
|
@@ -494,19 +495,19 @@ exports.m_noun_decl = new Map([
|
|
|
494
495
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_pl", [stem + "ūs"]);
|
|
495
496
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_pl", [stem + "ibus"]);
|
|
496
497
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem + "ūs"]);
|
|
497
|
-
if (data.types.has(
|
|
498
|
+
if (data.types.has(NominalType_1.NominalType.Echo)) {
|
|
498
499
|
data.subtitles.push("nominative/vocative singular in '-ō'");
|
|
499
500
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem + "ō"]);
|
|
500
501
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_sg", [stem + "ō"]);
|
|
501
502
|
}
|
|
502
|
-
else if (data.types.has(
|
|
503
|
+
else if (data.types.has(NominalType_1.NominalType.argo)) {
|
|
503
504
|
data.subtitles.push("nominative/accusative/vocative singular in '-ō', ablative singular in '-uī'");
|
|
504
505
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem + "ō"]);
|
|
505
506
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_sg", [stem + "ō"]);
|
|
506
507
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_sg", [stem + "uī"]);
|
|
507
508
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_sg", [stem + "ō"]);
|
|
508
509
|
}
|
|
509
|
-
else if (data.types.has(
|
|
510
|
+
else if (data.types.has(NominalType_1.NominalType.Callisto)) {
|
|
510
511
|
data.subtitles.push("all cases except the genitive singular in '-ō'");
|
|
511
512
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem + "ō"]);
|
|
512
513
|
(0, NominalForm_1.setNominalForm)(data.forms, "dat_sg", [stem + "ō"]);
|
|
@@ -514,7 +515,7 @@ exports.m_noun_decl = new Map([
|
|
|
514
515
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_sg", [stem + "ō"]);
|
|
515
516
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_sg", [stem + "ō"]);
|
|
516
517
|
}
|
|
517
|
-
if (data.types.has(
|
|
518
|
+
if (data.types.has(NominalType_1.NominalType.Neuter)) {
|
|
518
519
|
data.subtitles.push("neuter");
|
|
519
520
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem + "ū"]);
|
|
520
521
|
(0, NominalForm_1.setNominalForm)(data.forms, "dat_sg", [stem + "ū"]);
|
|
@@ -524,12 +525,12 @@ exports.m_noun_decl = new Map([
|
|
|
524
525
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_pl", [stem + "ua"]);
|
|
525
526
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem + "ua"]);
|
|
526
527
|
}
|
|
527
|
-
if (data.types.has(
|
|
528
|
+
if (data.types.has(NominalType_1.NominalType.Ubus)) {
|
|
528
529
|
data.subtitles.push("dative/ablative plural in '-ubus'");
|
|
529
530
|
(0, NominalForm_1.setNominalForm)(data.forms, "dat_pl", [stem + "ubus"]);
|
|
530
531
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_pl", [stem + "ubus"]);
|
|
531
532
|
}
|
|
532
|
-
else if (data.types.has(
|
|
533
|
+
else if (data.types.has(NominalType_1.NominalType.NotUbus)) {
|
|
533
534
|
data.subtitles.push("'-ibus'");
|
|
534
535
|
}
|
|
535
536
|
if (data.loc) {
|
|
@@ -539,7 +540,7 @@ exports.m_noun_decl = new Map([
|
|
|
539
540
|
}],
|
|
540
541
|
["5", (data, args) => {
|
|
541
542
|
let stem = args[0];
|
|
542
|
-
if (data.types.has(
|
|
543
|
+
if (data.types.has(NominalType_1.NominalType.i)) {
|
|
543
544
|
stem = stem + "i";
|
|
544
545
|
}
|
|
545
546
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", [stem + "ēs"]);
|
|
@@ -554,7 +555,7 @@ exports.m_noun_decl = new Map([
|
|
|
554
555
|
(0, NominalForm_1.setNominalForm)(data.forms, "acc_pl", [stem + "ēs"]);
|
|
555
556
|
(0, NominalForm_1.setNominalForm)(data.forms, "abl_pl", [stem + "ēbus"]);
|
|
556
557
|
(0, NominalForm_1.setNominalForm)(data.forms, "voc_pl", [stem + "ēs"]);
|
|
557
|
-
if (data.types.has(
|
|
558
|
+
if (data.types.has(NominalType_1.NominalType.i)) {
|
|
558
559
|
(0, NominalForm_1.setNominalForm)(data.forms, "gen_sg", [stem + "ēī"]);
|
|
559
560
|
(0, NominalForm_1.setNominalForm)(data.forms, "dat_sg", [stem + "ēī"]);
|
|
560
561
|
}
|
|
@@ -583,7 +584,7 @@ exports.m_noun_decl = new Map([
|
|
|
583
584
|
}
|
|
584
585
|
}],
|
|
585
586
|
["indecl", (data, args) => {
|
|
586
|
-
data.title = "Not declined; used only in the nominative and accusative singular
|
|
587
|
+
data.title = "Not declined; used only in the nominative and accusative singular";
|
|
587
588
|
const stem = args[0];
|
|
588
589
|
(0, NominalForm_1.setNominalForm)(data.forms, "nom_sg", ["-"]);
|
|
589
590
|
(0, NominalForm_1.setNominalForm)(data.forms, "gen_sg", ["-"]);
|
|
@@ -820,18 +821,18 @@ exports.m_noun_decl = new Map([
|
|
|
820
821
|
}],
|
|
821
822
|
]);
|
|
822
823
|
const acc_sg_i_stem_subtypes = new Map([
|
|
823
|
-
[
|
|
824
|
-
[
|
|
825
|
-
[
|
|
826
|
-
[
|
|
827
|
-
[
|
|
828
|
-
[
|
|
824
|
+
[NominalType_1.NominalType.AccIm, [["im"], "accusative singular in '-im'"]],
|
|
825
|
+
[NominalType_1.NominalType.AccImIn, [["im", "in"], "accusative singular in '-im' or '-in'"]],
|
|
826
|
+
[NominalType_1.NominalType.AccImInEm, [["im", "in", "em"], "accusative singular in '-im', '-in' or '-em'"]],
|
|
827
|
+
[NominalType_1.NominalType.AccImEm, [["im", "em"], "accusative singular in '-im' or '-em'"]],
|
|
828
|
+
[NominalType_1.NominalType.AccImOccEm, [["im", "em"], "accusative singular in '-im' or occasionally '-em'"]],
|
|
829
|
+
[NominalType_1.NominalType.AccEmIm, [["em", "im"], "accusative singular in '-em' or '-im'"]],
|
|
829
830
|
]);
|
|
830
831
|
const abl_sg_i_stem_subtypes = new Map([
|
|
831
|
-
[
|
|
832
|
-
[
|
|
833
|
-
[
|
|
834
|
-
[
|
|
832
|
+
[NominalType_1.NominalType.AblI, [["ī"], "ablative singular in '-ī'"]],
|
|
833
|
+
[NominalType_1.NominalType.AblIE, [["ī", "e"], "ablative singular in '-ī' or '-e'"]],
|
|
834
|
+
[NominalType_1.NominalType.AblEI, [["e", "ī"], "ablative singular in '-e' or '-ī'"]],
|
|
835
|
+
[NominalType_1.NominalType.AblEOccI, [["e", "ī"], "ablative singular in '-e' or occasionally '-ī'"]],
|
|
835
836
|
]);
|
|
836
837
|
function extract_stem(form, ending) {
|
|
837
838
|
const base = form.match(new RegExp(`^(.*)${ending}$`));
|