@fpw/en-wiktionary-la-modules 0.1.2 → 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/modules/conjugation/LaVerb.d.ts +2 -1
- package/dist/modules/conjugation/LaVerb.js +200 -30
- 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/NominalType.d.ts +116 -0
- package/dist/modules/declination/NominalType.js +142 -0
- package/dist/modules/declination/NominalType.js.map +1 -0
- package/package.json +1 -1
- package/src/modules/conjugation/LaVerb.ts +202 -33
- 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/NominalType.ts +153 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* A few new options to suppress certain rate forms were added.
|
|
6
6
|
*
|
|
7
7
|
* Original source: https://en.wiktionary.org/wiki/Module:la-verb
|
|
8
|
-
* Based on version: https://en.wiktionary.org/w/index.php?title=Module:la-verb&oldid=
|
|
8
|
+
* Based on version: https://en.wiktionary.org/w/index.php?title=Module:la-verb&oldid=67964189
|
|
9
9
|
*
|
|
10
10
|
* Lua idioms, function and variable names kept as in the original in order to easily
|
|
11
11
|
* backport later changes to this implementation.
|
|
@@ -98,6 +98,7 @@ export declare class LaVerb {
|
|
|
98
98
|
private make_perfect_passive;
|
|
99
99
|
private override;
|
|
100
100
|
private add_prefix_suffix;
|
|
101
|
+
private notes_override;
|
|
101
102
|
private set_linked_forms;
|
|
102
103
|
private setup_irreg_conjs;
|
|
103
104
|
private lengthen_prefix;
|
|
@@ -8,7 +8,7 @@ exports.LaVerb = void 0;
|
|
|
8
8
|
* A few new options to suppress certain rate forms were added.
|
|
9
9
|
*
|
|
10
10
|
* Original source: https://en.wiktionary.org/wiki/Module:la-verb
|
|
11
|
-
* Based on version: https://en.wiktionary.org/w/index.php?title=Module:la-verb&oldid=
|
|
11
|
+
* Based on version: https://en.wiktionary.org/w/index.php?title=Module:la-verb&oldid=67964189
|
|
12
12
|
*
|
|
13
13
|
* Lua idioms, function and variable names kept as in the original in order to easily
|
|
14
14
|
* backport later changes to this implementation.
|
|
@@ -75,6 +75,7 @@ class LaVerb {
|
|
|
75
75
|
"np",
|
|
76
76
|
"highlydef",
|
|
77
77
|
"sigm",
|
|
78
|
+
"sigmpasv",
|
|
78
79
|
]);
|
|
79
80
|
this.conjugations = new Map();
|
|
80
81
|
this.irreg_conjugations = new Map();
|
|
@@ -182,6 +183,7 @@ class LaVerb {
|
|
|
182
183
|
this.override(data, args);
|
|
183
184
|
this.set_linked_forms(data, typeinfo);
|
|
184
185
|
this.add_prefix_suffix(data);
|
|
186
|
+
this.notes_override(data, args);
|
|
185
187
|
return {
|
|
186
188
|
templateType: "conjugation",
|
|
187
189
|
info: typeinfo,
|
|
@@ -264,6 +266,70 @@ class LaVerb {
|
|
|
264
266
|
}
|
|
265
267
|
this.make_pres_3rd(data, typeinfo, typeinfo.pres_stem);
|
|
266
268
|
this.make_perf_and_supine(data, typeinfo);
|
|
269
|
+
if (typeinfo.pres_stem.match(/nōsc/)) {
|
|
270
|
+
const sub = (str, x, y) => {
|
|
271
|
+
return str.substring(x - 1, str.length + y + 1);
|
|
272
|
+
};
|
|
273
|
+
this.add_form(data, "2s_perf_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "stī", 2);
|
|
274
|
+
this.add_form(data, "1p_perf_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "mus", 2);
|
|
275
|
+
this.add_form(data, "2p_perf_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "stis", 2);
|
|
276
|
+
this.add_form(data, "3p_perf_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "runt", 3);
|
|
277
|
+
this.add_form(data, "1s_plup_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "ram", 2);
|
|
278
|
+
this.add_form(data, "2s_plup_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "rās", 2);
|
|
279
|
+
this.add_form(data, "3s_plup_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "rat", 2);
|
|
280
|
+
this.add_form(data, "1p_plup_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "rāmus", 2);
|
|
281
|
+
this.add_form(data, "2p_plup_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "rātis", 2);
|
|
282
|
+
this.add_form(data, "3p_plup_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "rant", 2);
|
|
283
|
+
this.add_form(data, "1s_futp_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "rō", 2);
|
|
284
|
+
this.add_form(data, "2s_futp_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "ris", 2);
|
|
285
|
+
this.add_form(data, "3s_futp_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "rit", 2);
|
|
286
|
+
this.add_form(data, "1p_futp_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "rimus", 2);
|
|
287
|
+
this.add_form(data, "2p_futp_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "ritis", 2);
|
|
288
|
+
this.add_form(data, "3p_futp_actv_indc", "", sub(typeinfo.perf_stem[0], 1, -2) + "rint", 2);
|
|
289
|
+
this.add_form(data, "1s_perf_actv_subj", "", sub(typeinfo.perf_stem[0], 1, -2) + "rim", 2);
|
|
290
|
+
this.add_form(data, "2s_perf_actv_subj", "", sub(typeinfo.perf_stem[0], 1, -2) + "rīs", 2);
|
|
291
|
+
this.add_form(data, "3s_perf_actv_subj", "", sub(typeinfo.perf_stem[0], 1, -2) + "rit", 2);
|
|
292
|
+
this.add_form(data, "1p_perf_actv_subj", "", sub(typeinfo.perf_stem[0], 1, -2) + "rīmus", 2);
|
|
293
|
+
this.add_form(data, "2p_perf_actv_subj", "", sub(typeinfo.perf_stem[0], 1, -2) + "rītis", 2);
|
|
294
|
+
this.add_form(data, "3p_perf_actv_subj", "", sub(typeinfo.perf_stem[0], 1, -2) + "rint", 2);
|
|
295
|
+
this.add_form(data, "1s_plup_actv_subj", "", sub(typeinfo.perf_stem[0], 1, -2) + "ssem", 2);
|
|
296
|
+
this.add_form(data, "2s_plup_actv_subj", "", sub(typeinfo.perf_stem[0], 1, -2) + "ssēs", 2);
|
|
297
|
+
this.add_form(data, "3s_plup_actv_subj", "", sub(typeinfo.perf_stem[0], 1, -2) + "sset", 2);
|
|
298
|
+
this.add_form(data, "1p_plup_actv_subj", "", sub(typeinfo.perf_stem[0], 1, -2) + "ssēmus", 2);
|
|
299
|
+
this.add_form(data, "2p_plup_actv_subj", "", sub(typeinfo.perf_stem[0], 1, -2) + "ssētis", 2);
|
|
300
|
+
this.add_form(data, "3p_plup_actv_subj", "", sub(typeinfo.perf_stem[0], 1, -2) + "ssent", 2);
|
|
301
|
+
this.add_form(data, "perf_actv_inf", "", sub(typeinfo.perf_stem[0], 1, -2) + "sse", 2);
|
|
302
|
+
const note = "The verb \"nōscō\" and its compounds frequently drop the syllables \"vi\" and \"ve\" from their perfect, pluperfect and future perfect conjugations.";
|
|
303
|
+
data.footnotes.set("2s_perf_actv_indc", [note]);
|
|
304
|
+
data.footnotes.set("1p_perf_actv_indc", [note]);
|
|
305
|
+
data.footnotes.set("2p_perf_actv_indc", [note]);
|
|
306
|
+
data.footnotes.set("3p_perf_actv_indc", [note]);
|
|
307
|
+
data.footnotes.set("1s_plup_actv_indc", [note]);
|
|
308
|
+
data.footnotes.set("2s_plup_actv_indc", [note]);
|
|
309
|
+
data.footnotes.set("3s_plup_actv_indc", [note]);
|
|
310
|
+
data.footnotes.set("1p_plup_actv_indc", [note]);
|
|
311
|
+
data.footnotes.set("2p_plup_actv_indc", [note]);
|
|
312
|
+
data.footnotes.set("3p_plup_actv_indc", [note]);
|
|
313
|
+
data.footnotes.set("1s_futp_actv_indc", [note]);
|
|
314
|
+
data.footnotes.set("2s_futp_actv_indc", [note]);
|
|
315
|
+
data.footnotes.set("3s_futp_actv_indc", [note]);
|
|
316
|
+
data.footnotes.set("1p_futp_actv_indc", [note]);
|
|
317
|
+
data.footnotes.set("2p_futp_actv_indc", [note]);
|
|
318
|
+
data.footnotes.set("3p_futp_actv_indc", [note]);
|
|
319
|
+
data.footnotes.set("1s_perf_actv_subj", [note]);
|
|
320
|
+
data.footnotes.set("2s_perf_actv_subj", [note]);
|
|
321
|
+
data.footnotes.set("3s_perf_actv_subj", [note]);
|
|
322
|
+
data.footnotes.set("1p_perf_actv_subj", [note]);
|
|
323
|
+
data.footnotes.set("2p_perf_actv_subj", [note]);
|
|
324
|
+
data.footnotes.set("3p_perf_actv_subj", [note]);
|
|
325
|
+
data.footnotes.set("1s_plup_actv_subj", [note]);
|
|
326
|
+
data.footnotes.set("2s_plup_actv_subj", [note]);
|
|
327
|
+
data.footnotes.set("3s_plup_actv_subj", [note]);
|
|
328
|
+
data.footnotes.set("1p_plup_actv_subj", [note]);
|
|
329
|
+
data.footnotes.set("2p_plup_actv_subj", [note]);
|
|
330
|
+
data.footnotes.set("3p_plup_actv_subj", [note]);
|
|
331
|
+
data.footnotes.set("perf_actv_inf", [note]);
|
|
332
|
+
}
|
|
267
333
|
});
|
|
268
334
|
this.conjugations.set("3rd-io", (args, data, typeinfo) => {
|
|
269
335
|
this.get_regular_stems(args, typeinfo);
|
|
@@ -492,6 +558,9 @@ class LaVerb {
|
|
|
492
558
|
conj_arg = base_conj_arg;
|
|
493
559
|
}
|
|
494
560
|
}
|
|
561
|
+
if (orig_lemma.startsWith("-")) {
|
|
562
|
+
(0, VerbType_1.addVerbType)(subtypes, "suffix");
|
|
563
|
+
}
|
|
495
564
|
let conjtype;
|
|
496
565
|
let base = "";
|
|
497
566
|
let auto_perf = "";
|
|
@@ -504,11 +573,21 @@ class LaVerb {
|
|
|
504
573
|
["ō", []],
|
|
505
574
|
["or", ["depon"]],
|
|
506
575
|
["at", ["impers"]],
|
|
507
|
-
["ātur", ["depon", "impers"]]
|
|
576
|
+
["ātur", ["depon", "impers"]],
|
|
577
|
+
["ī", ["perfaspres"]]
|
|
508
578
|
]));
|
|
509
579
|
if (auto_perf_supine) {
|
|
510
|
-
|
|
511
|
-
|
|
580
|
+
if ((0, VerbType_1.hasVerbType)(subtypes, "perfaspres")) {
|
|
581
|
+
auto_perf = base;
|
|
582
|
+
}
|
|
583
|
+
else {
|
|
584
|
+
auto_perf = base + "āv";
|
|
585
|
+
auto_supine = base + "āt";
|
|
586
|
+
}
|
|
587
|
+
if ((0, VerbType_1.hasVerbType)(subtypes, "suffix")) {
|
|
588
|
+
(0, VerbType_1.addVerbType)(subtypes, "p3inf");
|
|
589
|
+
(0, VerbType_1.addVerbType)(subtypes, "sigmpasv");
|
|
590
|
+
}
|
|
512
591
|
}
|
|
513
592
|
}
|
|
514
593
|
else if (conj_arg == "2") {
|
|
@@ -517,11 +596,20 @@ class LaVerb {
|
|
|
517
596
|
["eō", []],
|
|
518
597
|
["eor", ["depon"]],
|
|
519
598
|
["et", ["impers"]],
|
|
520
|
-
["ētur", ["depon", "impers"]]
|
|
599
|
+
["ētur", ["depon", "impers"]],
|
|
600
|
+
["ī", ["perfaspres"]]
|
|
521
601
|
]));
|
|
522
602
|
if (auto_perf_supine) {
|
|
523
|
-
|
|
524
|
-
|
|
603
|
+
if ((0, VerbType_1.hasVerbType)(subtypes, "perfaspres")) {
|
|
604
|
+
auto_perf = base;
|
|
605
|
+
}
|
|
606
|
+
else {
|
|
607
|
+
auto_perf = base + "u";
|
|
608
|
+
auto_supine = base + "it";
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
if ((0, VerbType_1.hasVerbType)(subtypes, "suffix")) {
|
|
612
|
+
(0, VerbType_1.addVerbType)(subtypes, "sigmpasv");
|
|
525
613
|
}
|
|
526
614
|
}
|
|
527
615
|
else if (conj_arg == "3") {
|
|
@@ -537,7 +625,8 @@ class LaVerb {
|
|
|
537
625
|
["ō", []],
|
|
538
626
|
["or", ["depon"]],
|
|
539
627
|
["it", ["impers"]],
|
|
540
|
-
["itur", ["depon", "impers"]]
|
|
628
|
+
["itur", ["depon", "impers"]],
|
|
629
|
+
["ī", ["perfaspres"]],
|
|
541
630
|
]));
|
|
542
631
|
if ((0, VerbType_1.hasVerbType)(subtypes, "I")) {
|
|
543
632
|
conjtype = "3rd-io";
|
|
@@ -546,6 +635,14 @@ class LaVerb {
|
|
|
546
635
|
conjtype = "3rd";
|
|
547
636
|
}
|
|
548
637
|
}
|
|
638
|
+
if ((0, VerbType_1.hasVerbType)(subtypes, "perfaspres")) {
|
|
639
|
+
auto_perf = base;
|
|
640
|
+
}
|
|
641
|
+
if ((0, VerbType_1.hasVerbType)(subtypes, "suffix")) {
|
|
642
|
+
auto_perf = "-";
|
|
643
|
+
auto_supine = "-";
|
|
644
|
+
(0, VerbType_1.addVerbType)(subtypes, "sigmpasv");
|
|
645
|
+
}
|
|
549
646
|
}
|
|
550
647
|
else if (conj_arg == "4") {
|
|
551
648
|
conjtype = "4th";
|
|
@@ -553,12 +650,13 @@ class LaVerb {
|
|
|
553
650
|
["iō", []],
|
|
554
651
|
["ior", ["depon"]],
|
|
555
652
|
["it", ["impers"]],
|
|
556
|
-
["ītur", ["depon", "impers"]]
|
|
653
|
+
["ītur", ["depon", "impers"]],
|
|
654
|
+
["ī", ["perfaspres"]]
|
|
557
655
|
]));
|
|
558
|
-
if (
|
|
559
|
-
|
|
656
|
+
if ((0, VerbType_1.hasVerbType)(subtypes, "perfaspres")) {
|
|
657
|
+
auto_perf = base;
|
|
560
658
|
}
|
|
561
|
-
if (auto_perf_supine == "++") {
|
|
659
|
+
else if (auto_perf_supine == "++") {
|
|
562
660
|
auto_perf = base + "īv/" + base + "i";
|
|
563
661
|
auto_supine = base + "īt";
|
|
564
662
|
}
|
|
@@ -566,6 +664,9 @@ class LaVerb {
|
|
|
566
664
|
auto_perf = base + "īv";
|
|
567
665
|
auto_supine = base + "īt";
|
|
568
666
|
}
|
|
667
|
+
if ((0, VerbType_1.hasVerbType)(subtypes, "suffix")) {
|
|
668
|
+
(0, VerbType_1.addVerbType)(subtypes, "sigm");
|
|
669
|
+
}
|
|
569
670
|
}
|
|
570
671
|
else if (conj_arg == "irreg") {
|
|
571
672
|
let prefix;
|
|
@@ -617,13 +718,15 @@ class LaVerb {
|
|
|
617
718
|
args.set("1", base);
|
|
618
719
|
let perf_stem = "";
|
|
619
720
|
let supine_stem = "";
|
|
620
|
-
if ((0, VerbType_1.hasVerbType)(subtypes, "depon") || (0, VerbType_1.hasVerbType)(subtypes, "semidepon")) {
|
|
721
|
+
if ((0, VerbType_1.hasVerbType)(subtypes, "depon") || (0, VerbType_1.hasVerbType)(subtypes, "semidepon") || (0, VerbType_1.hasVerbType)(subtypes, "perfaspres")) {
|
|
621
722
|
supine_stem = args.get("3") || auto_supine;
|
|
622
|
-
if (supine_stem == "-") {
|
|
723
|
+
if (supine_stem == "-" && !(0, VerbType_1.hasVerbType)(subtypes, "suffix")) {
|
|
623
724
|
supine_stem = "";
|
|
624
725
|
}
|
|
625
726
|
if (!supine_stem) {
|
|
626
|
-
(0, VerbType_1.
|
|
727
|
+
if ((0, VerbType_1.hasVerbType)(subtypes, "depon") || (0, VerbType_1.hasVerbType)(subtypes, "semidepon")) {
|
|
728
|
+
(0, VerbType_1.addVerbType)(subtypes, "noperf");
|
|
729
|
+
}
|
|
627
730
|
(0, VerbType_1.addVerbType)(subtypes, "nosup");
|
|
628
731
|
}
|
|
629
732
|
args.set("2", supine_stem);
|
|
@@ -631,14 +734,14 @@ class LaVerb {
|
|
|
631
734
|
}
|
|
632
735
|
else {
|
|
633
736
|
perf_stem = args.get("3") || auto_perf;
|
|
634
|
-
if (perf_stem == "-") {
|
|
737
|
+
if (perf_stem == "-" && !(0, VerbType_1.hasVerbType)(subtypes, "suffix")) {
|
|
635
738
|
perf_stem = "";
|
|
636
739
|
}
|
|
637
740
|
if (!perf_stem) {
|
|
638
741
|
(0, VerbType_1.addVerbType)(subtypes, "noperf");
|
|
639
742
|
}
|
|
640
743
|
supine_stem = args.get("4") || auto_supine;
|
|
641
|
-
if (supine_stem == "-") {
|
|
744
|
+
if (supine_stem == "-" && !(0, VerbType_1.hasVerbType)(subtypes, "suffix")) {
|
|
642
745
|
supine_stem = "";
|
|
643
746
|
}
|
|
644
747
|
if (!supine_stem) {
|
|
@@ -657,7 +760,7 @@ class LaVerb {
|
|
|
657
760
|
}
|
|
658
761
|
for (const subtype of subtypes) {
|
|
659
762
|
if (!this.allowed_subtypes.has(subtype)) {
|
|
660
|
-
if (!(conjtype == "3rd" && subtype == "-I") && !(conjtype == "3rd-io" && subtype == "I")) {
|
|
763
|
+
if (!(conjtype == "3rd" && subtype == "-I") && !(conjtype == "3rd-io" && subtype == "I") && !(subtype == "suffix")) {
|
|
661
764
|
throw Error(`Unrecognized verb subtype: ${subtype}`);
|
|
662
765
|
}
|
|
663
766
|
}
|
|
@@ -705,16 +808,22 @@ class LaVerb {
|
|
|
705
808
|
supine_stem = this.ine(args.get("2"));
|
|
706
809
|
perf_stem = this.ine(args.get("3")); // added by @fpw for reverti
|
|
707
810
|
}
|
|
811
|
+
else if ((0, VerbType_1.hasVerbType)(typeinfo.subtypes, "perfaspres")) {
|
|
812
|
+
perf_stem = this.ine(args.get("1"));
|
|
813
|
+
supine_stem = this.ine(args.get("2"));
|
|
814
|
+
}
|
|
708
815
|
else {
|
|
709
816
|
pres_stem = this.ine(args.get("1"));
|
|
710
817
|
perf_stem = this.ine(args.get("2"));
|
|
711
818
|
supine_stem = this.ine(args.get("3"));
|
|
712
819
|
}
|
|
713
|
-
if ((0, VerbType_1.hasVerbType)(typeinfo.subtypes, "perfaspres") && !pres_stem) {
|
|
714
|
-
pres_stem = "whatever";
|
|
715
|
-
}
|
|
716
820
|
if (!pres_stem) {
|
|
717
|
-
|
|
821
|
+
if ((0, VerbType_1.hasVerbType)(typeinfo.subtypes, "perfaspres")) {
|
|
822
|
+
pres_stem = "-";
|
|
823
|
+
}
|
|
824
|
+
else {
|
|
825
|
+
throw Error("No present stem");
|
|
826
|
+
}
|
|
718
827
|
}
|
|
719
828
|
typeinfo.pres_stem = pres_stem;
|
|
720
829
|
if (perf_stem) {
|
|
@@ -1113,7 +1222,7 @@ class LaVerb {
|
|
|
1113
1222
|
endingMap.set("dat", endings.dat);
|
|
1114
1223
|
endingMap.set("acc", endings.acc);
|
|
1115
1224
|
endingMap.set("abl", endings.abl);
|
|
1116
|
-
if (base.match(/[uv]end$/)) {
|
|
1225
|
+
if (base.match(/[uv]end$/) || (0, VerbType_1.hasVerbType)(typeinfo.subtypes, "nound")) {
|
|
1117
1226
|
und_variant = false;
|
|
1118
1227
|
}
|
|
1119
1228
|
if (this.options.suppressUndVariants) {
|
|
@@ -1254,6 +1363,7 @@ class LaVerb {
|
|
|
1254
1363
|
if ((0, VerbType_1.hasVerbType)(typeinfo.subtypes, "perfaspres")) {
|
|
1255
1364
|
this.insert_if_not(data.categories, "Latin defective verbs");
|
|
1256
1365
|
this.insert_if_not(data.categories, "Latin active-only verbs");
|
|
1366
|
+
this.insert_if_not(data.categories, "Latin verbs with missing present stem");
|
|
1257
1367
|
this.insert_if_not(data.categories, "Latin verbs with perfect forms having imperfective meanings");
|
|
1258
1368
|
(0, VerbForm_1.setVerbForm)(data.forms, "perf_actv_ptc", (0, VerbForm_1.getVerbForm)(data.forms, "perf_pasv_ptc") || []);
|
|
1259
1369
|
(0, VerbForm_1.setVerbForm)(data.forms, "pres_actv_inf", (0, VerbForm_1.getVerbForm)(data.forms, "perf_actv_inf") || []);
|
|
@@ -1422,13 +1532,40 @@ class LaVerb {
|
|
|
1422
1532
|
newvals.push(fv.replace(/^(.*).$/, "$1" + "ier"));
|
|
1423
1533
|
}
|
|
1424
1534
|
(0, VerbForm_1.setVerbForm)(data.forms, form, newvals);
|
|
1425
|
-
data.footnotes.set(form, ["The present passive infinitive in -ier is a rare poetic form which is attested
|
|
1535
|
+
data.footnotes.set(form, ["The present passive infinitive in -ier is a rare poetic form which is attested."]);
|
|
1426
1536
|
}
|
|
1427
1537
|
if ((0, VerbType_1.hasVerbType)(typeinfo.subtypes, "poetsyncperf") && !this.options.suppressPoet) {
|
|
1428
1538
|
const sss = [
|
|
1539
|
+
// infinitive
|
|
1429
1540
|
["perf_actv_inf", "sse"],
|
|
1541
|
+
// perfect actives
|
|
1430
1542
|
["2s_perf_actv_indc", "stī"],
|
|
1543
|
+
["3s_perf_actv_indc", "t"],
|
|
1544
|
+
["1p_perf_actv_indc", "mus"],
|
|
1431
1545
|
["2p_perf_actv_indc", "stis"],
|
|
1546
|
+
["3p_perf_actv_indc", "runt"],
|
|
1547
|
+
// pluperfect actives
|
|
1548
|
+
["1s_plup_actv_indc", "ram"],
|
|
1549
|
+
["2s_plup_actv_indc", "rās"],
|
|
1550
|
+
["3s_plup_actv_indc", "rat"],
|
|
1551
|
+
["1p_plup_actv_indc", "rāmus"],
|
|
1552
|
+
["2p_plup_actv_indc", "rātis"],
|
|
1553
|
+
["3p_plup_actv_indc", "rant"],
|
|
1554
|
+
// future perfect actives
|
|
1555
|
+
["1s_futp_actv_indc", "rō"],
|
|
1556
|
+
["2s_futp_actv_indc", "ris"],
|
|
1557
|
+
["3s_futp_actv_indc", "rit"],
|
|
1558
|
+
["1p_futp_actv_indc", "rimus"],
|
|
1559
|
+
["2p_futp_actv_indc", "ritis"],
|
|
1560
|
+
["3p_futp_actv_indc", "rint"],
|
|
1561
|
+
// perfect subjunctives
|
|
1562
|
+
["1s_perf_actv_subj", "rim"],
|
|
1563
|
+
["2s_perf_actv_subj", "rīs"],
|
|
1564
|
+
["3s_perf_actv_subj", "rit"],
|
|
1565
|
+
["1p_perf_actv_subj", "rīmus"],
|
|
1566
|
+
["2p_perf_actv_subj", "rītis"],
|
|
1567
|
+
["3p_perf_actv_subj", "rint"],
|
|
1568
|
+
// pluperfect subjunctive
|
|
1432
1569
|
["1s_plup_actv_subj", "ssem"],
|
|
1433
1570
|
["2s_plup_actv_subj", "ssēs"],
|
|
1434
1571
|
["3s_plup_actv_subj", "sset"],
|
|
@@ -1439,10 +1576,12 @@ class LaVerb {
|
|
|
1439
1576
|
const add_sync_perf = (form, suff_sync) => {
|
|
1440
1577
|
const formval = (0, VerbForm_1.getVerbForm)(data.forms, form) || [];
|
|
1441
1578
|
for (const fv of formval) {
|
|
1442
|
-
const regex1 = new RegExp(`
|
|
1443
|
-
const regex2 = new RegExp(`
|
|
1444
|
-
|
|
1445
|
-
|
|
1579
|
+
const regex1 = new RegExp(`v[ieē]${suff_sync}$`);
|
|
1580
|
+
const regex2 = new RegExp(`vē${suff_sync}$`);
|
|
1581
|
+
const regex3 = new RegExp(`[aeiouyāēīōūȳăĕĭŏŭ]u[ieē]${suff_sync}$`);
|
|
1582
|
+
const regex4 = new RegExp(`[aeiouyāēīōūȳăĕĭŏŭ]uē${suff_sync}$`);
|
|
1583
|
+
if (fv.match(regex1) || fv.match(regex2) || fv.match(regex3) || fv.match(regex4)) {
|
|
1584
|
+
const rep = fv.substring(0, fv.length - suff_sync.length - 2) + suff_sync;
|
|
1446
1585
|
this.insert_if_not(formval, rep);
|
|
1447
1586
|
}
|
|
1448
1587
|
}
|
|
@@ -1482,12 +1621,13 @@ class LaVerb {
|
|
|
1482
1621
|
return allEmpty;
|
|
1483
1622
|
}
|
|
1484
1623
|
make_perfect_passive(data) {
|
|
1485
|
-
|
|
1624
|
+
var _a;
|
|
1625
|
+
let ppp = (0, VerbForm_1.getVerbForm)(data.forms, "perf_pasv_ptc") || [];
|
|
1486
1626
|
const ppplinks = [];
|
|
1487
1627
|
for (const pppform of ppp) {
|
|
1488
1628
|
ppplinks.push(`[[${pppform}]]`);
|
|
1489
1629
|
}
|
|
1490
|
-
|
|
1630
|
+
let ppplink = ppplinks.join(" or ");
|
|
1491
1631
|
const sumlink = "[[sum]]";
|
|
1492
1632
|
const text_for_slot = new Map([
|
|
1493
1633
|
["perf_pasv_indc", "present active indicative"],
|
|
@@ -1515,6 +1655,14 @@ class LaVerb {
|
|
|
1515
1655
|
(passiveSuffix || "");
|
|
1516
1656
|
(0, VerbForm_1.setVerbForm)(data.forms, slot, [entry]);
|
|
1517
1657
|
}
|
|
1658
|
+
ppp = (0, VerbForm_1.getVerbForm)(data.forms, "1s_pres_actv_indc");
|
|
1659
|
+
if (ppp && ppp[0] == "faciō") {
|
|
1660
|
+
ppplink = "[[factum]]";
|
|
1661
|
+
for (const [slot, text] of text_for_slot) {
|
|
1662
|
+
const ts = (_a = (0, VerbForm_1.getVerbForm)(data.forms, slot)) !== null && _a !== void 0 ? _a : [];
|
|
1663
|
+
(0, VerbForm_1.setVerbForm)(data.forms, slot, [ts[0] + " or " + ppplink + " + " + text + " of " + sumlink]);
|
|
1664
|
+
}
|
|
1665
|
+
}
|
|
1518
1666
|
}
|
|
1519
1667
|
override(data, args) {
|
|
1520
1668
|
for (const slot of this.iter_slots(true, false)) {
|
|
@@ -1590,6 +1738,13 @@ class LaVerb {
|
|
|
1590
1738
|
}
|
|
1591
1739
|
}
|
|
1592
1740
|
}
|
|
1741
|
+
notes_override(data, args) {
|
|
1742
|
+
if (args.get("notes") == "-") {
|
|
1743
|
+
for (const key of data.footnotes.keys()) {
|
|
1744
|
+
data.footnotes.set(key, [""]);
|
|
1745
|
+
}
|
|
1746
|
+
}
|
|
1747
|
+
}
|
|
1593
1748
|
set_linked_forms(data, typeinfo) {
|
|
1594
1749
|
for (const slot of LaVerb.potential_lemma_slots) {
|
|
1595
1750
|
const linked_forms = [];
|
|
@@ -1697,6 +1852,16 @@ class LaVerb {
|
|
|
1697
1852
|
this.make_perf(data, [prefix + "dīx"]);
|
|
1698
1853
|
this.make_supine(data, typeinfo, [prefix + "dict"]);
|
|
1699
1854
|
this.add_form(data, "2s_pres_actv_impr", prefix, "dīc", 1);
|
|
1855
|
+
if (!this.options.suppressPoet) {
|
|
1856
|
+
this.add_form(data, "2s_pres_actv_impr", prefix, "dīc", 1);
|
|
1857
|
+
data.footnotes.set("2s_pres_actv_impr", ["Archaic."]);
|
|
1858
|
+
if (prefix == "") {
|
|
1859
|
+
this.add_form(data, "1s_futr_actv_indc", prefix, "dīcēbō", 2);
|
|
1860
|
+
this.add_form(data, "3s_futr_actv_indc", prefix, "dīcēbit", 2);
|
|
1861
|
+
data.footnotes.set("1s_futr_actv_indc", ["Archaic."]);
|
|
1862
|
+
data.footnotes.set("3s_futr_actv_indc", ["Archaic."]);
|
|
1863
|
+
}
|
|
1864
|
+
}
|
|
1700
1865
|
});
|
|
1701
1866
|
this.irreg_conjugations.set("do", (args, data, typeinfo) => {
|
|
1702
1867
|
data.categories.push("Latin first conjugation verbs");
|
|
@@ -1998,6 +2163,7 @@ class LaVerb {
|
|
|
1998
2163
|
});
|
|
1999
2164
|
this.irreg_conjugations.set("coepi", (args, data, typeinfo) => {
|
|
2000
2165
|
data.categories.push("Latin third conjugation verbs");
|
|
2166
|
+
data.categories.push("Latin verbs with missing present stem");
|
|
2001
2167
|
data.categories.push("Latin defective verbs");
|
|
2002
2168
|
const prefix = typeinfo.prefix;
|
|
2003
2169
|
this.make_perf(data, [prefix + "coep"]);
|
|
@@ -2039,6 +2205,10 @@ class LaVerb {
|
|
|
2039
2205
|
(0, VerbForm_1.setVerbForm)(data.forms, "1p_pres_actv_subj", [prefix_s + "sīmus"]);
|
|
2040
2206
|
(0, VerbForm_1.setVerbForm)(data.forms, "2p_pres_actv_subj", [prefix_s + "sītis"]);
|
|
2041
2207
|
(0, VerbForm_1.setVerbForm)(data.forms, "3p_pres_actv_subj", [prefix_s + "sint"]);
|
|
2208
|
+
if (prefix_s == "ad" && !this.options.suppressPoet) {
|
|
2209
|
+
this.add_form(data, "3p_pres_actv_subj", "", "adessint", 2);
|
|
2210
|
+
data.footnotes.set("3p_pres_actv_subj", ["Archaic."]);
|
|
2211
|
+
}
|
|
2042
2212
|
(0, VerbForm_1.setVerbForm)(data.forms, "1s_impf_actv_subj", [prefix_e + "essem", prefix_f + "forem"]);
|
|
2043
2213
|
(0, VerbForm_1.setVerbForm)(data.forms, "2s_impf_actv_subj", [prefix_e + "essēs", prefix_f + "forēs"]);
|
|
2044
2214
|
(0, VerbForm_1.setVerbForm)(data.forms, "3s_impf_actv_subj", [prefix_e + "esset", prefix_f + "foret"]);
|