llt-constants 0.0.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.
@@ -0,0 +1,28 @@
1
+ module LLT
2
+ module Constants
3
+ module Markers
4
+ class Adjective
5
+ COMP_MF = "ior"
6
+ COMP_N = "ius"
7
+
8
+ RIM = "rim"
9
+ LIM = "lim"
10
+ ISSIM = "issim"
11
+
12
+ class Metrical < Adjective
13
+ # are they right?
14
+ COMP_MF = "īōr"
15
+ COMP_N = "īūs"
16
+
17
+ RIM = "rīm"
18
+ LIM = "līm"
19
+ ISSIM = "īssīm"
20
+ end
21
+ end
22
+
23
+ class Adverb < Adjective
24
+ IUS = "ius"
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,19 @@
1
+ module LLT
2
+ module Constants
3
+ NUMERALS = {
4
+ 1000 => 'M',
5
+ 900 => 'CM',
6
+ 500 => 'D',
7
+ 400 => 'CD',
8
+ 100 => 'C',
9
+ 90 => 'XC',
10
+ 50 => 'L',
11
+ 40 => 'XL',
12
+ 10 => 'X',
13
+ 9 => 'IX',
14
+ 5 => 'V',
15
+ 4 => 'IV',
16
+ 1 => 'I',
17
+ }
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ module LLT
2
+ module Constants
3
+ module Particles
4
+ ALI = "ali"
5
+ C = "c"
6
+ CE = "ce"
7
+ CUMQUE = "cumque"
8
+ DAM = "dam"
9
+ DEM = "dem"
10
+ LIBET = "libet"
11
+ NAM = "nam"
12
+ PIAM = "piam"
13
+ QUAM = "quam"
14
+ QUE = "que"
15
+ VIS = "vis"
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,46 @@
1
+ module LLT
2
+ module Constants
3
+ PERSONAL_PRONOUNS = { "ego" => [[:ego, 1, 1]],
4
+ "egomet" => [[:ego, 1, 1]],
5
+ "mei" => [[:ego, 2, 1]],
6
+ "meimet" => [[:ego, 2, 1]],
7
+ "mihi" => [[:ego, 3, 1]],
8
+ "mihimet" => [[:ego, 3, 1]],
9
+ "me" => [[:ego, 4, 1], ["ego", 6, 1]],
10
+ "memet" => [[:ego, 4, 1], ["ego", 6, 1]],
11
+ "mecum" => [[:ego, 6, 1]],
12
+
13
+ "tu" => [[:tu, 1, 1]],
14
+ "tute" => [[:tu, 1, 1]],
15
+ "tui" => [[:tu, 2, 1]],
16
+ "tibi" => [[:tu, 3, 1]],
17
+ "tibimet" => [[:tu, 3, 1]],
18
+ "te" => [[:tu, 4, 1], ["tu", 6, 1]],
19
+ "tete" => [[:tu, 4, 1], ["tu", 6, 1]],
20
+ "tecum" => [[:tu, 6, 1]],
21
+
22
+ "sui" => [[:se, 2, 1], ["se", 2, 2]],
23
+ "sibi" => [[:se, 3, 1], ["se", 3, 2]],
24
+ "sese" => [[:se, 4, 1], ["se", 4, 2]],
25
+ "se" => [[:se, 4, 1], ["se", 6, 1], ["se", 4, 2], ["se", 6, 2]],
26
+ "secum" => [[:se, 6, 1], ["se", 6, 2]],
27
+
28
+ "nos" => [[:nos, 1, 2], ["nos", 4, 2]],
29
+ "nosmet" => [[:nos, 1, 2], ["nos", 4, 2]],
30
+ "nostri" => [[:nos, 2, 2]],
31
+ "nostrum" => [[:nos, 2, 2]],
32
+ "nobis" => [[:nos, 3, 2], ["nos", 6, 2]],
33
+ "nobismet" => [[:nos, 3, 2], ["nos", 6, 2]],
34
+ "nobiscum" => [[:nos, 6, 2]],
35
+
36
+ "vos" => [[:vos, 1, 2], ["vos", 4, 2]],
37
+ "vosmet" => [[:vos, 1, 2], ["vos", 4, 2]],
38
+ "vestri" => [[:vos, 2, 2]],
39
+ "vestrum" => [[:vos, 2, 2]],
40
+ "vostrum" => [[:vos, 2, 2]],
41
+ "vobis" => [[:vos, 3, 2], ["vos", 6, 2]],
42
+ "vobismet" => [[:vos, 3, 2], ["vos", 6, 2]],
43
+ "vobiscum" => [[:vos, 6, 2]],
44
+ }
45
+ end
46
+ end
@@ -0,0 +1,34 @@
1
+ module LLT
2
+ module Constants
3
+ module Phonology
4
+
5
+ LETTERS = { vowel: %w(a e i o u y),
6
+ long_vowel: %w(ā ē ī ō ū),
7
+ short_vowel: %w(ă ĕ ĭ ŏ ŭ),
8
+ diphtong: %w(ae au ei eu oe ),
9
+ consonant: %w(b c d f gu g h j k l m n p qu r s t v x z),
10
+ double_consonant: %w(x z),
11
+ sonant: %w(l m n r),
12
+ semivowel: %W(i u),
13
+
14
+ muta: %w(b d g p t c ph th ch),
15
+ liquida: %w(l r),
16
+ nasal: %w(m n),
17
+ spirant: %w(f v s h ),
18
+
19
+ labial: %w(b ph p f v m),
20
+ aspirant: %w(ph th ch),
21
+ dental: %w(d th t s n l ), #alveolar
22
+ labiovelar: %w(gu qu),
23
+ velar: %w(n g c k), #guttural
24
+ glottal: %w(h),
25
+
26
+ media: %w(b d gu g),
27
+ tenuis: %w(p t qu c k),
28
+ }
29
+
30
+ PHONEMES = LETTERS
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,48 @@
1
+ module LLT
2
+ module Constants
3
+ PREPOSITIONS = { "in" =>[true, true, false],
4
+ "sub" =>[true, true, false],
5
+ "super" =>[true, true, false],
6
+ "ad" =>[true, false, false],
7
+ "a" =>[false, true, false],
8
+ "ab" =>[false, true, false],
9
+ "abs" =>[false, true, false],
10
+ "e" =>[false, true, false],
11
+ "ex" =>[false, true, false],
12
+ "de" =>[false, true, false],
13
+ "cum" =>[false, true, true],
14
+ "coram" =>[false, true, true],
15
+ "palam" =>[false, true, false],
16
+ "sine" =>[false, true, false],
17
+ "pro" =>[false, true, false],
18
+ "prae" =>[false, true, false],
19
+ "adversus" =>[true, false, true],
20
+ "adversum" =>[true, false, true],
21
+ "apud" =>[true, false, false],
22
+ "circa" =>[true, false, false],
23
+ "circum" =>[true, false, true],
24
+ "citra" =>[true, false, false],
25
+ "erga" =>[true, false, false],
26
+ "extra" =>[true, false, false],
27
+ "infra" =>[true, false, false],
28
+ "inter" =>[true, false, false],
29
+ "intra" =>[true, false, false],
30
+ "iuxta" =>[true, false, false],
31
+ "ob" =>[true, false, false],
32
+ "penes" =>[true, false, true],
33
+ "per" =>[true, false, false],
34
+ "post" =>[true, false, false],
35
+ "praeter" =>[true, false, false],
36
+ "prope" =>[true, false, false],
37
+ "propter" =>[true, false, false],
38
+ "secundum" =>[true, false, true],
39
+ "supra" =>[true, false, false],
40
+ "trans" =>[true, false, false],
41
+ "ultra" =>[true, false, false],
42
+ "ante" =>[true, false, true],
43
+ "contra" =>[true, false, true],
44
+ "circiter" =>[true, false, true],
45
+ "cis" =>[true, false, false]
46
+ }
47
+ end
48
+ end
@@ -0,0 +1,151 @@
1
+ module LLT
2
+ module Constants
3
+ module RegExps
4
+ IRREGULAR_VERBS = {
5
+ esse: { praesens: [
6
+ /^(?<prefix>|ab|ad|de|in|inter|ob|prae|super|prod?)
7
+ (?<stem>e?s|er)
8
+ (?<thematic>(?<=[rs])u|(?<=r)i|)
9
+ (?<extension>se(?=\w+)|(?<=s)i|(?<=r)a|)
10
+ (?<ending>(?<!u)o|m|s|(?<!^e)t|mus|tis|nto?|te|to|tote|se|)$/xi ],
11
+ perfectum: [
12
+ /^(?<prefix>|ab?|ad|af|de|inter|ob|of|prae|super|pro)
13
+ (?<stem>fu)
14
+ (?<extension>isse|era|eri?|)
15
+ (?<ending>o|m|s|t|mus|tis|nt|i|isti|it|imus|istis|erunt|isse)$/xi ]
16
+ },
17
+
18
+ posse: { praesens: [
19
+ /^(?<prefix>)
20
+ (?<stem>pote[sr]|poss?)
21
+ (?<thematic>(?<=[rs])u|(?<=r)i|)
22
+ (?<extension>se(?=.+)|(?<=s)i|(?<=r)a|)
23
+ (?<ending>o|m|s|(?<!^pos)t|mus|tis|nt|se|)$/xi ],
24
+ perfectum: [
25
+ /^(?<prefix>)
26
+ (?<stem>potu)
27
+ (?<extension>isse|era|eri?|)
28
+ (?<ending>o|m|s|t|mus|tis|nt|i|isti|it|imus|istis|erunt|isse)$/xi ]
29
+ },
30
+
31
+ ferre: { praesens: [
32
+ /^(?<prefix>|a[df]|au|con|de|dif|ef|in|of|per|prae|pro|re|trans)
33
+ (?<stem>fer)
34
+ (?<thematic>|e(?=ba)|i(?=.+)|u(?=nt))
35
+ (?<extension>|e(?=\w+)|ba|a|re(?=.+))
36
+ (?<ending>m|o|s|te?o?|tote|mu[rs]|tis|nto?|o?r|ris|n?tur|mini|r[ie]|)$/xi,
37
+
38
+ /^(?<prefix>|a[df]|au|con|de|dif|ef|in|of|per|prae|pro|re|trans)
39
+ (?<stem>fer)
40
+ (?<thematic>e|u)
41
+ (?<extension>nt?|nd)
42
+ (?<ending>s|is|i|em|e|es|ium|ibus|ia|us|o|um|[oa]rum|is|os|a|ae|am|as)$/xi
43
+ ],
44
+ perfectum: [
45
+ /^(?<prefix>|ab?|ad|at|af|con|de|in|inter|ob|of|per|prae|super|pro)
46
+ (?<stem>tul)
47
+ (?<extension>isse|era|eri?|)
48
+ (?<ending>o|m|s|t|mus|tis|nt|i|isti|it|imus|istis|erunt|isse)$/xi ],
49
+ ppp: [
50
+ /^(?<prefix>|ab?|ad|at|af|al|con|de|in|inter|ob|of|per|prae|super|pro)
51
+ (?<stem>lat)
52
+ (?<extensiodn>ur|)
53
+ (?<ending>us|i|o|um|e|[oa]rum|is|os|a|ae|am|as)$/xi ],
54
+ },
55
+
56
+ ire: { praesens: [
57
+ # prefix ven deleted due to its conflicting behavior with venio
58
+ /^(?<prefix>|ab|ex|red|inter|ob|per|ad|in|sub|praeter|circum|trans)
59
+ (?<stem>i)
60
+ (?<extension>|ba?|re)
61
+ (?<thematic>|(?<=b)[ei]|(?<=b)u(?!s))
62
+ (?<ending>(?<!i)m|o|s|te?o?|tote|mu[rs]|nto?|r|ris|n?tur|mini|tis|re|ri)$/xi ,
63
+
64
+ /^(?<prefix>|ab|ex|red|inter|ob|per|ad|in|sub|praeter|circum|trans)
65
+ (?<stem>e)
66
+ (?<extension>|a)
67
+ (?<thematic>|u)
68
+ (?<ending>(?<!u)m|or?|s|(?<!e)t|mu[rs]|tis|nto?|re|r|ris|n?tur|mini)$/xi,
69
+
70
+ /^(?<prefix>|ab|ex|red|inter|per|ob|ad|in|sub|praeter|circum|trans)
71
+ (?<stem>e(?=u)|i(?=ens))
72
+ (?<thematic>e|u)
73
+ (?<extension>nt?|nd)
74
+ (?<ending>s|is|i|em|e|es|ium|ibus|ia|us|o|um|[oa]rum|is|os|a|ae|am|as)$/xi
75
+ ],
76
+ perfectum: [
77
+ /^(?<prefix>|ab|ex|red|inter|per|ob|ad|in|sub|praeter|circum|trans)
78
+ (?<stem>i)
79
+ (?<extension>|er[aiu]?|sse)
80
+ (?<ending>(?<!interi)m|o|s|t|i?mus|i|s?tis?|it|erunt|sse|nt)$/xi,
81
+
82
+ /^(?<prefix>qu|nequ)
83
+ (?<stem>iv?)
84
+ (?<extension>|sse|er[aiu]?|)
85
+ (?<ending>m|o|s|t|mus|tis|nt|it?|s?tis?|erunt|sse)$/xi,
86
+ ],
87
+ ppp: [
88
+ # ending a taken out - we don't want the clash with ita for now (itura still working)
89
+ /^(?<prefix>|ab|ex|red|inter|per|ad|ob|in|sub|praeter|circum|trans)
90
+ (?<stem>it)
91
+ (?<extension>ur|)
92
+ (?<ending>us|i|o|um|e|[oa]rum|is|os|(?<!it)a|(?<=init)a|ae|am|as)$/xi ]
93
+ },
94
+
95
+ velle: { praesens: [
96
+ /^(?<stem>v[eou]l|vi)
97
+ (?<thematic>|e|u(?=[nm]))
98
+ (?<extension>|i|a|e|ba|le)
99
+ (?<ending>o|m|s|t|mus|tis|nt|le)$/xi,
100
+ ],
101
+ perfectum: [
102
+ /^(?<stem>volu)
103
+ (?<extension>|er|er[aio]|isse)
104
+ (?<ending>i|istis?|it|imus|erunt|isse|o|m|s|t|mus|tis|nt)$/xi,
105
+ ],
106
+ },
107
+
108
+ nolle: { praesens: [
109
+ /^(?<stem>nol)
110
+ (?<thematic>|e|u(?=[mn])|i(?=t))
111
+ (?<extension>|i|a|e|ba|le)
112
+ (?<ending>o|m|s|t|mus|tis|nt|le|i|te|tote|to)$/xi,
113
+ ],
114
+ perfectum: [
115
+ /^(?<stem>nolu)
116
+ (?<extension>|er|er[aio]|isse)
117
+ (?<ending>i|istis?|it|imus|erunt|isse|o|m|s|t|mus|tis|nt)$/xi,
118
+ ]},
119
+
120
+ malle: { praesens: [
121
+ /^(?<stem>mal|mavi|mavul)
122
+ (?<thematic>|e|u(?=[mn]))
123
+ (?<extension>|i|a|e|ba|le)
124
+ (?<ending>o|m|s|t|mus|tis|nt|le)$/xi,
125
+ ],
126
+ perfectum: [
127
+ /^(?<stem>malu)
128
+ (?<extension>|er|er[aio]|isse)
129
+ (?<ending>i|istis?|it|imus|erunt|isse|o|m|s|t|mus|tis|nt)$/xi,
130
+ ]},
131
+
132
+ edere: { praesens: [],
133
+ perfectum: []},
134
+
135
+ fieri: { praesens: [
136
+ /^(?<stem>fi)
137
+ (?<thematic>|e(?=[rb])|u(?=n))
138
+ (?<extension>a|e(?!r)|re|ba|)
139
+ (?<ending>o|m|s|t|mus|tis|nt|te|ri|)$/xi
140
+ ],
141
+ },
142
+ }
143
+
144
+ PRONOUNS = /^(?<prefixed_particle>ali(?=c|q)|un[aiou].*?(?=[cq]u))?
145
+ (?<stem>qu|hu?|cu|ill|ist|ips|i(?!am$)|e|ute?r)
146
+ (?<ending>e|s|ius|i|[uae]m|[au]n|[aoi]s|ibus|ae?|o|[oa]ru[nm]|i[dc]|[ou]?d|)
147
+ (?<particle>c|dam|(?<!qui)dem|que|cumque|piam|libet|vis|quam|piam|nam|quid|\k<stem>\k<ending>)?
148
+ (?<suffix>(?<=^quo|^qua|^quibus)cum)?$/xi
149
+ end
150
+ end
151
+ end
@@ -0,0 +1,32 @@
1
+ module LLT
2
+ module Constants
3
+ # word => homophonous_forms?
4
+
5
+ SUBJUNCTIONS = {"ut" => false,
6
+ "uti" => false,
7
+ "cum" => false,
8
+ "ne" => false,
9
+ "quamquam" => false,
10
+ "dum" => false,
11
+ "quia" => false,
12
+ "quoad" => false,
13
+ "quoadusque" => false,
14
+ "quoniam" => false,
15
+ "postquam" => false,
16
+ "antequam" => false,
17
+ "si" => false,
18
+ "ubi" => false,
19
+ "quod" => false,
20
+ "quamdiu" => false,
21
+ "quantum" => false,
22
+ "nisi" => false,
23
+ "-ne" => false,
24
+ "unde" => false,
25
+ "etiamsi" => false,
26
+ "tamquam" => false,
27
+ "utrum" => false,
28
+ "quare" => true,
29
+ "quodsi" => false,
30
+ "quin" => false}
31
+ end
32
+ end
@@ -0,0 +1,148 @@
1
+ #encoding: UTF-8
2
+
3
+ module LLT
4
+ module Constants
5
+ module Endings
6
+ class Verb
7
+ # all nil values are wildcards to keep the index in the right order
8
+ SECONDARY = [ "i", "isti", "it", "imus", "istis", "erunt" ]
9
+
10
+ PRIMARY_O_ACTIVUM = ["o", "s", "t", "mus", "tis", "nt" ]
11
+ PRIMARY_M_ACTIVUM = ["m", "s", "t", "mus", "tis", "nt" ]
12
+ PRIMARY_OR_PASSIVUM = ["or", "ris", "tur", "mur", "mini", "ntur" ]
13
+ PRIMARY_R_PASSIVUM = ["r", "ris", "tur", "mur", "mini", "ntur" ]
14
+
15
+ IMPERATIVUM_ACTIVUM_PRAESENS = [ nil, "", nil, nil, "te", nil ]
16
+ IMPERATIVUM_ACTIVUM_PRAESENS_C_M = [ nil, "e", nil, nil, "te", nil ]
17
+ IMPERATIVUM_PASSIVUM_PRAESENS = [ nil, "re", nil, nil, "mini", nil ]
18
+
19
+ IMPERATIVUM_ACTIVUM_FUTURUM = [ nil, "to", "to", nil, "tote", "nto" ]
20
+ IMPERATIVUM_PASSIVUM_FUTURUM = [ nil, "tor", "tor", nil, nil, "ntor" ]
21
+
22
+ class Praesens
23
+ class << self
24
+ private
25
+
26
+ def a1; PRIMARY_O_ACTIVUM; end
27
+ def a2; PRIMARY_M_ACTIVUM; end
28
+ def p1; PRIMARY_R_PASSIVUM; end
29
+ def p2; PRIMARY_OR_PASSIVUM; end
30
+ def p3sg; [nil, nil, "tur", nil, nil, nil]; end
31
+ def iap1; IMPERATIVUM_ACTIVUM_PRAESENS; end
32
+ def iap2; IMPERATIVUM_ACTIVUM_PRAESENS_C_M; end
33
+ def ipp ; IMPERATIVUM_PASSIVUM_PRAESENS; end
34
+ def ifa ; IMPERATIVUM_ACTIVUM_FUTURUM; end
35
+ def ifp ; IMPERATIVUM_PASSIVUM_FUTURUM; end
36
+ def nils; [nil, nil, nil, nil, nil, nil]; end
37
+ def praes_ind_con; a1 + p2 + a2 + p1; end
38
+ def praes_imp_to_future_ind; ipp + a2 + p1 + a2 + p1 + nils + nils; end
39
+ def future_con_and_imp; nils + nils + ifa + ifp; end
40
+ end
41
+
42
+ # these "compositions" could be refactored one day to something like
43
+ # A = praesens_a + imperfect_a + future_a, for better readability...
44
+ # pIa pIp pCa pCp pIMa pIMp iIa iIp iCa iCp nil nil fIa aIp nil nil fIMa fIMp
45
+ A = praes_ind_con + iap1 + praes_imp_to_future_ind + a1 + p2 + future_con_and_imp
46
+ E = A
47
+ C = praes_ind_con + iap2 + praes_imp_to_future_ind + a2 + p1 + future_con_and_imp
48
+ I = praes_ind_con + iap1 + praes_imp_to_future_ind + a2 + p1 + future_con_and_imp
49
+ M = C
50
+
51
+ def self.get(inflection_class)
52
+ const_get(case inflection_class
53
+ when 1 then :A
54
+ when 2 then :E
55
+ when 3 then :C
56
+ when 4 then :I
57
+ when 5 then :M
58
+ end)
59
+ end
60
+ end
61
+
62
+ class IrregularPraesens < Praesens
63
+ a3 = ["m", "", "t", "mus", "tis", "nt" ]
64
+ a4 = ["o", "", "t", "mus", "tis", "nt" ]
65
+ iap3 = [ nil, "i", nil, nil, "te", nil ]
66
+ nils_3 = nils + nils + nils
67
+ same_forms_of_esse_and_edere = nils + a2 + nils + iap1 + nils + a2 + nils + a2 + nils_3 + a1 + nils_3 + ifa + nils
68
+
69
+ ESSE = a3 + same_forms_of_esse_and_edere
70
+ POSSE = a3 + nils + a2 + nils_3 + a2 + nils + a2 + nils_3 + a1 + nils_3 + nils + nils
71
+ FERRE = a1 + p2 + a2 + p1 + iap1 + praes_imp_to_future_ind + a2 + p1 + future_con_and_imp
72
+ VELLE = a1 + nils + a2 + nils_3 + a2 + nils + a2 + nils_3 + a2 + nils_3 + nils + nils
73
+ NOLLE = a1 + nils + a2 + nils + iap3 + nils +
74
+ a2 + nils + a2 + nils_3 +
75
+ a2 + nils + nils + nils + ifa + nils
76
+ MALLE = VELLE
77
+ # passive of ire because of composita
78
+ IRE = a1 + p2 + a2 + p1 + iap1 + praes_imp_to_future_ind + a1 + p2 + future_con_and_imp
79
+ EDERE = a4 + p3sg + a2 + p3sg + iap1 + nils +
80
+ a2 + p3sg + a2 + p3sg + nils + nils +
81
+ a2 + p3sg + nils + nils + ifa + nils
82
+ # active endings!
83
+ FIERI = nils + a1 + nils + a2 + nils + nils +
84
+ nils + a2 + nils + a2 + nils + nils +
85
+ nils + a2 + nils + nils + nils + nils
86
+
87
+ def self.get(inflection_class)
88
+ const_get(inflection_class.upcase.to_sym)
89
+ end
90
+ end
91
+
92
+ class PraesensInfinitivum < Praesens
93
+ A = ["re", "ri"]
94
+ E = A
95
+ C = ["re", "i"]
96
+ I = A
97
+ M = C
98
+ end
99
+
100
+ class IrregularPraesensInfinitivum < IrregularPraesens
101
+ ESSE = ["se"]
102
+ POSSE = ["se"]
103
+ FERRE = ["re", "ri"]
104
+ VELLE = ["le"]
105
+ NOLLE = VELLE
106
+ MALLE = VELLE
107
+ IRE = FERRE
108
+ EDERE = ["se"]
109
+ FIERI = [nil, "ri"]
110
+ end
111
+
112
+ class Perfectum
113
+ def self.get
114
+ a1 = PRIMARY_O_ACTIVUM
115
+ a2 = PRIMARY_M_ACTIVUM
116
+ a3 = SECONDARY
117
+
118
+ a3 + a2 + a2 + a2 + a1
119
+ end
120
+ end
121
+
122
+ class IrregularPerfectum < Perfectum
123
+ end
124
+
125
+ class Metrical < Verb
126
+ O = "ō"
127
+ SECONDARY = [ "ī", "istī", "it", "imus", "istis", "ērunt" ]
128
+ PRIMARY_PASSIVUM_ENDING_WITHOUT_FIRST = [ "rĭs", "tŭr", "mŭr", "mĭnī", "ntŭr" ]
129
+ PRIMARY_ACTIVUM_ENDINGS_WITHOUT_FIRST = [ "s", "t", "mŭs", "tĭs", "nt" ]
130
+
131
+ IMPERATIVUM_PASSIVUM_PRAESENS = [ nil, "re", nil, nil, "minī", nil ]
132
+
133
+ IMPERATIVUM_ACTIVUM_FUTURUM = [ nil, "tō", "tō", nil, "tōte", "ntō" ]
134
+ IMPERATIVUM_PASSIVUM_FUTURUM = [ nil, "tor", "tor", nil, nil, "ntor" ]
135
+ end
136
+
137
+ class PerfectumInfinitivum
138
+ def self.get(*args)
139
+ ["isse"]
140
+ end
141
+ end
142
+
143
+ class IrregularPerfectumInfinitivum < PerfectumInfinitivum
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end