latinverb 0.2.0 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +0 -1
- data/Gemfile +1 -2
- data/README.markdown +54 -240
- data/etc/irreg_skel.json +104 -0
- data/{latinirb.gemspec → latinverb.gemspec} +4 -4
- data/lib/latinverb/chart.rb +94 -0
- data/lib/latinverb/version.rb +10 -0
- data/lib/latinverb.rb +710 -0
- data/lib/linguistics/latin/verb/classification_types.rb +59 -0
- data/lib/linguistics/latin/verb/constants.rb +201 -0
- data/lib/linguistics/latin/verb/deponent_tense_methods.rb +98 -0
- data/lib/linguistics/latin/verb/infinitives.rb +212 -0
- data/lib/linguistics/latin/verb/irregulars.rb +4393 -0
- data/lib/linguistics/latin/verb/latinverb/auxiliary_classes.rb +208 -0
- data/lib/linguistics/latin/verb/latinverb/classmethods.rb +215 -0
- data/lib/linguistics/latin/verb/latinverb/data.rb +90 -0
- data/lib/linguistics/latin/verb/latinverb/display.rb +23 -0
- data/lib/linguistics/latin/verb/latinverb/metaprogramming.rb +79 -0
- data/lib/linguistics/latin/verb/latinverb/validation.rb +66 -0
- data/lib/linguistics/latin/verb/participles.rb +202 -0
- data/lib/linguistics/latin/verb/phonographia.rb +109 -0
- data/lib/linguistics/latin/verb/supine.rb +42 -0
- data/lib/linguistics/latin/verb/tense_methods.rb +950 -0
- data/test/testAmbiguousLookups.rb +30 -0
- data/test/testClusterResolution.rb +20 -0
- data/test/testDataStructures.rb +29 -0
- data/test/testDefectSemiImp.rb +111 -0
- data/test/testDeponentFirstConjugation.rb +64 -0
- data/test/testDeponentFourthConjugation.rb +64 -0
- data/test/testDeponentSecondConjugation.rb +64 -0
- data/test/testDeponentThirdConjugation.rb +64 -0
- data/test/testDeponentThirdIOConjugation.rb +64 -0
- data/test/testDeserializeInfinitives.rb +38 -0
- data/test/testFirstConjugation.rb +388 -0
- data/test/testFourthConjugation.rb +190 -0
- data/test/testFreakishVerbs.rb +93 -0
- data/test/testImperativeBlock.rb +27 -0
- data/test/testIrregularSum.rb +22 -0
- data/test/testIrregulars.rb +652 -0
- data/test/testLatinVerb.rb +195 -0
- data/test/testMacronRules.rb +19 -0
- data/test/testSecondConjugation.rb +189 -0
- data/test/testThirdConjugation.rb +190 -0
- data/test/testThirdIOConjugation.rb +190 -0
- metadata +70 -18
- data/bin/latinirb.rb +0 -7
- data/latinverb.rb +0 -544
- data/lib/LatinIRB.rb +0 -172
- data/lib/latinirb/paradigmatic_verbs.rb +0 -17
- data/lib/latinirb/version.rb +0 -10
- data/lib/latirb.rb +0 -20
@@ -0,0 +1,59 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
module Linguistics
|
3
|
+
module Latin
|
4
|
+
module Verb
|
5
|
+
=begin rdoc
|
6
|
+
|
7
|
+
== NAME
|
8
|
+
|
9
|
+
VerbTypes
|
10
|
+
|
11
|
+
== DESCRIPTION
|
12
|
+
|
13
|
+
A VerbType is a parent, _conceptually abstract_ class for tracking
|
14
|
+
classifications of verbs. At the present time it is an empty class. It is
|
15
|
+
foreseeable, however, that in the future, it may be advantagous to associate
|
16
|
+
specific behaviors to it. It is subclassed into the various types of Verbs
|
17
|
+
identified in Latin pedagogy: First, Second, Third, ThirdIO, Fourth,
|
18
|
+
Irregular, and Deponent. These classes, effectively, behave as strings as
|
19
|
+
attributes to the classification attribute within a LatinVerb.
|
20
|
+
|
21
|
+
VerbTypes, therefore, is the module containing these VerbTypes.
|
22
|
+
|
23
|
+
=end
|
24
|
+
module VerbTypes
|
25
|
+
##
|
26
|
+
#--
|
27
|
+
# == DESCRIPTION
|
28
|
+
#
|
29
|
+
# Abstract ancestor class that defines the various subclass Verb Types
|
30
|
+
# ++
|
31
|
+
#
|
32
|
+
##
|
33
|
+
class VerbType # :nodoc:
|
34
|
+
end
|
35
|
+
class First < VerbType # :nodoc:
|
36
|
+
end
|
37
|
+
class Second < VerbType # :nodoc:
|
38
|
+
end
|
39
|
+
class Third < VerbType # :nodoc:
|
40
|
+
end
|
41
|
+
class ThirdIO < VerbType # :nodoc:
|
42
|
+
end
|
43
|
+
class Fourth < VerbType # :nodoc:
|
44
|
+
end
|
45
|
+
class Irregular < VerbType # :nodoc:
|
46
|
+
end
|
47
|
+
class Deponent < VerbType # :nodoc:
|
48
|
+
end
|
49
|
+
class Defective < VerbType # :nodoc:
|
50
|
+
end
|
51
|
+
class Impersonal < VerbType # :nodoc:
|
52
|
+
end
|
53
|
+
class Semideponent < VerbType # :nodoc:
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
@@ -0,0 +1,201 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
module Linguistics
|
3
|
+
module Latin
|
4
|
+
module Verb
|
5
|
+
class LatinVerb
|
6
|
+
# :stopdoc:
|
7
|
+
# active_present_endings: ("ap_"-prefixed)
|
8
|
+
AP_FIRST_AND_SECOND_CONJUG_PERS_ENDINGS = %w(s t mus tis nt)
|
9
|
+
AP_THIRD_CONJUG_PERS_ENDINGS = %w(ō is it imus itis unt)
|
10
|
+
AP_THIRDIO_CONJG_PERS_ENDINGS = %w(is it imus itis iunt)
|
11
|
+
|
12
|
+
# active_imperfect_endings: ("ai_"-prefixed)
|
13
|
+
AI_FIRST_AND_SECOND_CONJUG_PERS_ENDINGS = %w(bam bās bat bāmus bātis bant)
|
14
|
+
AI_THIRD_CONJUG_PERS_ENDINGS = %w(ēbam ēbās ēbat ēbāmus ēbātis ēbant)
|
15
|
+
|
16
|
+
# active_future_endings: ("af_"-prefixed)
|
17
|
+
AF_ONE_TWO_ENDINGS = %w(bō bis bit bimus bitis bunt)
|
18
|
+
AF_OTHER_ENDINGS = %w(am ēs et ēmus ētis ent)
|
19
|
+
|
20
|
+
# active_perfect_present: ("aperf"-prefixed)
|
21
|
+
APERF_ENDINGS = %w(istī it imus istis ērunt)
|
22
|
+
APERF_PAST_ENDINGS = PLUPERF_ENDINGS =
|
23
|
+
%w(eram erās erat erāmus erātis erant)
|
24
|
+
APERF_FUTURE_ENDINGS = %w(erō eris erit erimus eritis erint)
|
25
|
+
|
26
|
+
# passive endings
|
27
|
+
PASSIVE_ENDINGS_FIRST_AND_SECOND_CONJG =
|
28
|
+
%w(r ris tur mur minī ntur)
|
29
|
+
PASSIVE_ENDINGS_OTHER =
|
30
|
+
%w(r eris itur imur iminī untur)
|
31
|
+
|
32
|
+
PASS_PERF_PRESENT_ENDINGS = %w(sum es est sumus estis sunt)
|
33
|
+
PASS_PERF_PAST_ENDINGS = %w(eram erās erat erāmus erātis erant)
|
34
|
+
PASS_PERF_FUTURE_ENDINGS = %w(erō eris erit erimus eritis erint)
|
35
|
+
|
36
|
+
PASS_PERF_SUBJ_ENDINGS = %w(sim sis sit simus sitis sint)
|
37
|
+
PASS_PLUPERF_PAST_ENDINGS = %w(essem essēs esset essēmus essētis essent)
|
38
|
+
|
39
|
+
# subjunctive tools
|
40
|
+
# hash for getting a verb's subjunctive stem
|
41
|
+
# based off the W[e] F[ea]r [A] L[ia]r mnemonic
|
42
|
+
ACTIVE_PRESENT_SUBJUNCTIVE_ENDINGS = {
|
43
|
+
:First => lambda { |x| return x + "ē" },
|
44
|
+
:Second => lambda { |x| return x + "eā" },
|
45
|
+
:Third => lambda { |x| return x + "ā" },
|
46
|
+
:Fourth => lambda { |x| return x + "iā" },
|
47
|
+
:ThirdIO => lambda { |x| return x + "iā" }
|
48
|
+
}
|
49
|
+
|
50
|
+
# Listing of all defective verbs
|
51
|
+
# See A&G Sec. 205
|
52
|
+
DEFECTIVE_VERBS = %w{
|
53
|
+
addormisco
|
54
|
+
adolesco
|
55
|
+
aio
|
56
|
+
albesco
|
57
|
+
arboresco
|
58
|
+
aresco
|
59
|
+
assenesco
|
60
|
+
auresco
|
61
|
+
candesco
|
62
|
+
canesco
|
63
|
+
celebresco
|
64
|
+
cornesco
|
65
|
+
crudesco
|
66
|
+
dulcesco
|
67
|
+
effor
|
68
|
+
erubesco
|
69
|
+
extollo
|
70
|
+
grandesco
|
71
|
+
inquam
|
72
|
+
languesco
|
73
|
+
latesco
|
74
|
+
longisco
|
75
|
+
lucesco
|
76
|
+
marcesco
|
77
|
+
matresco
|
78
|
+
mollesco
|
79
|
+
remollesco
|
80
|
+
siccesco
|
81
|
+
sterto
|
82
|
+
tenebresco
|
83
|
+
tremesco
|
84
|
+
tumesco
|
85
|
+
veteresco
|
86
|
+
}
|
87
|
+
|
88
|
+
# Listing of all impersonal verbs
|
89
|
+
# See A&G #207
|
90
|
+
IMPERSONAL_VERBS = %w{
|
91
|
+
accidit
|
92
|
+
addecet
|
93
|
+
advesperascit
|
94
|
+
certum est
|
95
|
+
condecet
|
96
|
+
constat
|
97
|
+
contingit
|
98
|
+
cōnstat
|
99
|
+
decet
|
100
|
+
dedecet
|
101
|
+
dēlecat
|
102
|
+
evenit
|
103
|
+
fit
|
104
|
+
fulgerat
|
105
|
+
grandinat
|
106
|
+
ifvat
|
107
|
+
interest
|
108
|
+
licet
|
109
|
+
lūcīscit hōc
|
110
|
+
miseret
|
111
|
+
necesse est
|
112
|
+
ningit
|
113
|
+
obtingit
|
114
|
+
obvenit
|
115
|
+
oportet
|
116
|
+
paenitet
|
117
|
+
piget
|
118
|
+
placet
|
119
|
+
pluit
|
120
|
+
pluo
|
121
|
+
praestat
|
122
|
+
pudet
|
123
|
+
restat
|
124
|
+
rēfert
|
125
|
+
rōrat
|
126
|
+
superest
|
127
|
+
taedet
|
128
|
+
tonat
|
129
|
+
vacat
|
130
|
+
vesperāscit
|
131
|
+
vidētur
|
132
|
+
ēvenit
|
133
|
+
}
|
134
|
+
|
135
|
+
# Present system only. See A&G206
|
136
|
+
# There are probably more of these, but A&G only lists these two.
|
137
|
+
PRESENT_ONLY = %w{
|
138
|
+
maēre
|
139
|
+
ferīre
|
140
|
+
aiō
|
141
|
+
inquam
|
142
|
+
for
|
143
|
+
quaesō
|
144
|
+
ovāre
|
145
|
+
}
|
146
|
+
|
147
|
+
# See A&G # 192
|
148
|
+
SEMI_DEPONENTS = {
|
149
|
+
'audeō' => %w(audēre ausus),
|
150
|
+
'fidō' => %w(fidere fīsus),
|
151
|
+
'gaudeō' => %w(gaudēre gāvīsus),
|
152
|
+
'soleō' => %w(solēre solitus),
|
153
|
+
}
|
154
|
+
|
155
|
+
# Irregular Verbs. See A&G 197
|
156
|
+
IRREGULAR_VERBS = {
|
157
|
+
'sum' => 'SUM_ESSE_FUĪ_FUTŪRUS',
|
158
|
+
'possum' => 'POSSUM_POSSE_POTUĪ',
|
159
|
+
'ferō' => 'FERŌ_FERRE_TULĪ_LĀTUM',
|
160
|
+
'eō' => 'EŌ_ĪRE_IVĪ_ITUM',
|
161
|
+
'nōlō' => 'NŌLŌ_NŌLLE_NŌLUĪ',
|
162
|
+
'volō' => 'VOLŌ_VELLE_VOLUĪ',
|
163
|
+
'mālō' => 'MĀLŌ_MĀLLE_MĀLUĪ',
|
164
|
+
'dō' => 'DŌ_DĀRE_DEDĪ_DATUM',
|
165
|
+
'edō' => 'EDŌ_ĒSSE_ĒDĪ_ĒSUM',
|
166
|
+
'queō' => 'QUEŌ_QUĪRE_QUĪVĪ',
|
167
|
+
'fiō' => 'FIŌ_FIĒRĪ_FACTUS',
|
168
|
+
'prōsum' => 'PRŌSUM_PRŌDESSE_PRŌFUĪ_PRŌFUTŪRUS',
|
169
|
+
'meminī' => 'MEMINĪ_MEMINISSE',
|
170
|
+
'ōdī' => 'ODĪ_ŌDISSE',
|
171
|
+
'coepī' => 'COEPĪ_COEPISSE_COEPTUM'
|
172
|
+
}
|
173
|
+
|
174
|
+
MEANINGS = {
|
175
|
+
:active_voice_imperative_mood_future_tense => "Command that something be done in the future",
|
176
|
+
:active_voice_indicative_mood_future_tense=> "Action to take place in the future: 'I will eat a hamburger.'" ,
|
177
|
+
:active_voice_indicative_mood_futureperfect_tense => "Action to be completed in the future: 'I will have eaten a hamburger.'" ,
|
178
|
+
:active_voice_indicative_mood_imperfect_tense => "Sustained, habitual action in the past: 'I was eating hamburgers daily when I was a freshman.'" ,
|
179
|
+
:active_voice_indicative_mood_pastperfect_tense => "Action completed prior to a point in the past under discussion: 'I had eaten all the hamburgers (before my mother found out).'" ,
|
180
|
+
:active_voice_indicative_mood_perfect_tense => "Action completed in the past: 'I ate a hamburger.'" ,
|
181
|
+
:active_voice_indicative_mood_present_tense => "Present, possibly ongoing action relative to the speaker: 'I am eating a hamburger. I eat a hamburger.'" ,
|
182
|
+
:active_voice_subjunctive_mood_imperfect_tense => "Subjunctive uses apply: commands, contrary to fact wishes, etc." ,
|
183
|
+
:active_voice_subjunctive_mood_pastperfect_tense => "Subjunctive uses apply: commands, contrary to fact wishes, etc." ,
|
184
|
+
:active_voice_subjunctive_mood_perfect_tense => "Subjunctive uses apply: commands, contrary to fact wishes, etc." ,
|
185
|
+
:active_voice_subjunctive_mood_present_tense => "Subjunctive uses apply: commands, contrary to fact wishes, etc." ,
|
186
|
+
:passive_voice_indicative_mood_future_tense => "Action to be performed on conjugant in future: 'The hamburger will be eaten.'" ,
|
187
|
+
:passive_voice_indicative_mood_futureperfect_tense => "Action is to be performed to completion on conjugant in future: 'The hamburger will have been eaten.'" ,
|
188
|
+
:passive_voice_indicative_mood_imperfect_tense => "Habitual action performed on the conjugant in the past: 'The hamburger was being eaten slowly by the BurgerHoarder.'" ,
|
189
|
+
:passive_voice_indicative_mood_pastperfect_tense => "Action was fully completed upon the conjugant at a time prior to a time in the past: 'The hamburger had been eaten before my mom came home.'" ,
|
190
|
+
:passive_voice_indicative_mood_perfect_tense => "Action was completed upon the conjugant in the past: 'The hamburger was eaten.'" ,
|
191
|
+
:passive_voice_indicative_mood_present_tense => "Conjugant is presently undergoing action in the present time: 'The hamburger is being eaten.'" ,
|
192
|
+
:passive_voice_subjunctive_mood_imperfect_tense => "Subjunctive uses apply: commands, contrary to fact wishes, etc." ,
|
193
|
+
:passive_voice_subjunctive_mood_pastperfect_tense => "Subjunctive uses apply: commands, contrary to fact wishes, etc." ,
|
194
|
+
:passive_voice_subjunctive_mood_perfect_tense => "Subjunctive uses apply: commands, contrary to fact wishes, etc." ,
|
195
|
+
:passive_voice_subjunctive_mood_present_tense => "Subjunctive uses apply: commands, contrary to fact wishes, etc."
|
196
|
+
}
|
197
|
+
# :startdoc:
|
198
|
+
end
|
199
|
+
end
|
200
|
+
end
|
201
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require 'linguistics/latin/verb/phonographia'
|
4
|
+
require 'linguistics/latin/verb/latinverb/auxiliary_classes'
|
5
|
+
require 'linguistics/latin/verb/deponent_tense_methods'
|
6
|
+
require 'yaml'
|
7
|
+
|
8
|
+
module Linguistics
|
9
|
+
module Latin
|
10
|
+
module Verb
|
11
|
+
##
|
12
|
+
#
|
13
|
+
# Applies mutations to the method calls for semi-deponents.
|
14
|
+
# Reference A&G 192:
|
15
|
+
#
|
16
|
+
# "A few verbs having no perfect stem are regular in the present, but
|
17
|
+
# appear in the tenses of completed action as deponents. These are
|
18
|
+
# called Semi-deponents."
|
19
|
+
##
|
20
|
+
module DeponentTenseMethods
|
21
|
+
# There's really no good reason that these should be re-defined here,
|
22
|
+
# the methods that result from the verbector operation should be
|
23
|
+
# sufficient. The only snare is that if you look at the method call
|
24
|
+
# in =tense_methods.rb=, your @classification is set to
|
25
|
+
# =Semideponent=. This means that the conditional lookup fails. So
|
26
|
+
# the choices are to blanket overwrite here, or add another
|
27
|
+
# conditional to each TenseBlock returning method, OR break the model
|
28
|
+
# of TenseBlock construction. I think the last is the best option,
|
29
|
+
# but this current implementation is the second best.
|
30
|
+
|
31
|
+
def active_voice_indicative_mood_present_tense
|
32
|
+
return @proxyVerb.send :active_voice_indicative_mood_present_tense
|
33
|
+
end
|
34
|
+
|
35
|
+
def active_voice_indicative_mood_imperfect_tense
|
36
|
+
return @proxyVerb.send :active_voice_indicative_mood_imperfect_tense
|
37
|
+
end
|
38
|
+
|
39
|
+
def active_voice_indicative_mood_future_tense
|
40
|
+
return @proxyVerb.send :active_voice_indicative_mood_future_tense
|
41
|
+
end
|
42
|
+
|
43
|
+
# These methods handle the strangeness of semi-deponents, it masks
|
44
|
+
# passive perfects to active perfects
|
45
|
+
|
46
|
+
def active_voice_indicative_mood_perfect_tense
|
47
|
+
return @proxyVerb.send :passive_voice_indicative_mood_perfect_tense
|
48
|
+
end
|
49
|
+
def active_voice_indicative_mood_pastperfect_tense
|
50
|
+
return @proxyVerb.send :passive_voice_indicative_mood_pastperfect_tense
|
51
|
+
end
|
52
|
+
def active_voice_indicative_mood_futureperfect_tense
|
53
|
+
return @proxyVerb.send :passive_voice_indicative_mood_futureperfect_tense
|
54
|
+
end
|
55
|
+
|
56
|
+
# These should return nothing
|
57
|
+
def passive_voice_indicative_mood_perfect_tense
|
58
|
+
return TenseBlock.new ['', '', '', '', '', '']
|
59
|
+
end
|
60
|
+
|
61
|
+
def passive_voice_indicative_mood_pastperfect_tense
|
62
|
+
return TenseBlock.new ['', '', '', '', '', '']
|
63
|
+
#return @proxyVerb.send :passive_voice_indicative_mood_pastperfect_tense
|
64
|
+
end
|
65
|
+
def passive_voice_indicative_mood_futureperfect_tense
|
66
|
+
return TenseBlock.new ['', '', '', '', '', '']
|
67
|
+
#return @proxyVerb.send :passive_voice_indicative_mood_futureperfect_tense
|
68
|
+
end
|
69
|
+
|
70
|
+
# Subjunctives: 2 active, 2 passive
|
71
|
+
|
72
|
+
def active_voice_subjunctive_mood_present_tense
|
73
|
+
return @proxyVerb.send :active_voice_subjunctive_mood_present_tense
|
74
|
+
end
|
75
|
+
|
76
|
+
def active_voice_subjunctive_mood_imperfect_tense
|
77
|
+
return @proxyVerb.send :active_voice_subjunctive_mood_imperfect_tense
|
78
|
+
end
|
79
|
+
|
80
|
+
def active_voice_subjunctive_mood_perfect_tense
|
81
|
+
return @proxyVerb.send :passive_voice_subjunctive_mood_perfect_tense
|
82
|
+
end
|
83
|
+
def active_voice_subjunctive_mood_pastperfect_tense
|
84
|
+
return @proxyVerb.send :passive_voice_subjunctive_mood_pastperfect_tense
|
85
|
+
end
|
86
|
+
def passive_voice_subjunctive_mood_perfect_tense
|
87
|
+
return TenseBlock.new ['', '', '', '', '', '']
|
88
|
+
#return @proxyVerb.send :passive_voice_subjunctive_mood_perfect_tense
|
89
|
+
end
|
90
|
+
def passive_voice_subjunctive_mood_pastperfect_tense
|
91
|
+
return TenseBlock.new ['', '', '', '', '', '']
|
92
|
+
#return @proxyVerb.send :passive_voice_subjunctive_mood_pastperfect_tense
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
@@ -0,0 +1,212 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require 'latinverb'
|
4
|
+
require 'linguistics/latin/verb/phonographia'
|
5
|
+
|
6
|
+
module Linguistics
|
7
|
+
module Latin
|
8
|
+
module Verb
|
9
|
+
##
|
10
|
+
# == NAME
|
11
|
+
#
|
12
|
+
# Infinitives
|
13
|
+
#
|
14
|
+
# == DESCRIPTION
|
15
|
+
#
|
16
|
+
# This module contains the methods that, when mixed into a LatinVerb,
|
17
|
+
# will provide it the ability to resolve its infinitives (verbal nouns).
|
18
|
+
#
|
19
|
+
# == REFERENCE
|
20
|
+
#
|
21
|
+
# Allen and Greenough Se. 155:
|
22
|
+
#
|
23
|
+
# <em>From the footnotes</em>
|
24
|
+
#
|
25
|
+
# 1. The Infinitive is strictly the locative case of an abstract
|
26
|
+
# noun, expressing the action of the verb (cf. sec. 451)
|
27
|
+
#
|
28
|
+
#
|
29
|
+
##
|
30
|
+
module Infinitives
|
31
|
+
|
32
|
+
##########################################
|
33
|
+
# Infinitives
|
34
|
+
##########################################
|
35
|
+
# Some very handy getter and setters, for serialization
|
36
|
+
##
|
37
|
+
|
38
|
+
def infinitives
|
39
|
+
return {
|
40
|
+
:present_active_infinitive => present_active_infinitive,
|
41
|
+
:perfect_active_infinitive => perfect_active_infinitive,
|
42
|
+
:future_active_infinitive => future_active_infinitive,
|
43
|
+
:present_passive_infinitive => present_passive_infinitive,
|
44
|
+
:perfect_passive_infinitive => perfect_passive_infinitive,
|
45
|
+
:future_passive_infinitive => future_passive_infinitive
|
46
|
+
}
|
47
|
+
end
|
48
|
+
|
49
|
+
##
|
50
|
+
#
|
51
|
+
# === GRAMMATICAL FUNCTION
|
52
|
+
#
|
53
|
+
# A&G, 157,d:
|
54
|
+
#
|
55
|
+
# The Infinitive is used chiefly as an indeclinable noun, as the subject
|
56
|
+
# or complement of another ver ( 452, 456.n)
|
57
|
+
#
|
58
|
+
# "To X"
|
59
|
+
#
|
60
|
+
# === ARGUMENTS
|
61
|
+
#
|
62
|
+
# None
|
63
|
+
#
|
64
|
+
# === RETURNS
|
65
|
+
#
|
66
|
+
# Array of participles
|
67
|
+
#
|
68
|
+
###
|
69
|
+
def present_active_infinitive
|
70
|
+
return @pres_act_inf
|
71
|
+
end
|
72
|
+
|
73
|
+
##
|
74
|
+
#
|
75
|
+
# === GRAMMATICAL FUNCTION
|
76
|
+
#
|
77
|
+
# A&G, 157,d:
|
78
|
+
#
|
79
|
+
# The Infinitive is used chiefly as an indeclinable noun, as the subject
|
80
|
+
# or complement of another ver ( 452, 456.n)
|
81
|
+
#
|
82
|
+
# "To have X-d"
|
83
|
+
#
|
84
|
+
# === ARGUMENTS
|
85
|
+
#
|
86
|
+
# None
|
87
|
+
#
|
88
|
+
# === RETURNS
|
89
|
+
#
|
90
|
+
# Array of participles
|
91
|
+
#
|
92
|
+
###
|
93
|
+
def perfect_active_infinitive
|
94
|
+
return @first_pers_perf+"sse"
|
95
|
+
end
|
96
|
+
|
97
|
+
##
|
98
|
+
#
|
99
|
+
# === GRAMMATICAL FUNCTION
|
100
|
+
#
|
101
|
+
# A&G, 157,d:
|
102
|
+
#
|
103
|
+
# The Infinitive is used chiefly as an indeclinable noun, as the subject
|
104
|
+
# or complement of another ver ( 452, 456.n)
|
105
|
+
#
|
106
|
+
# "To be about to X"
|
107
|
+
#
|
108
|
+
# === ARGUMENTS
|
109
|
+
#
|
110
|
+
# None
|
111
|
+
#
|
112
|
+
# === RETURNS
|
113
|
+
#
|
114
|
+
# Array of participles
|
115
|
+
#
|
116
|
+
###
|
117
|
+
def future_active_infinitive
|
118
|
+
return future_active_participle.sub(/,.*/,'') + " esse"
|
119
|
+
end
|
120
|
+
|
121
|
+
##
|
122
|
+
#
|
123
|
+
# === GRAMMATICAL FUNCTION
|
124
|
+
#
|
125
|
+
# A&G, 157,d:
|
126
|
+
#
|
127
|
+
# The Infinitive is used chiefly as an indeclinable noun, as the subject
|
128
|
+
# or complement of another ver ( 452, 456.n)
|
129
|
+
#
|
130
|
+
# "To be X-d"
|
131
|
+
#
|
132
|
+
# === ARGUMENTS
|
133
|
+
#
|
134
|
+
# None
|
135
|
+
#
|
136
|
+
# === RETURNS
|
137
|
+
#
|
138
|
+
# Array of participles
|
139
|
+
#
|
140
|
+
###
|
141
|
+
def present_passive_infinitive
|
142
|
+
if @classification == Linguistics::Latin::Verb::VerbTypes::First
|
143
|
+
return @pres_act_inf.gsub(/(.*)e$/,"\\1\xc4\xab")
|
144
|
+
end
|
145
|
+
if @classification == Linguistics::Latin::Verb::VerbTypes::Second
|
146
|
+
return @pres_act_inf.gsub(/(.*)e$/,"\\1\xc4\xab")
|
147
|
+
end
|
148
|
+
if @classification == Linguistics::Latin::Verb::VerbTypes::ThirdIO
|
149
|
+
return @pres_act_inf.gsub(/(.*)ere$/,"\\1\xc4\xab")
|
150
|
+
end
|
151
|
+
if @classification == Linguistics::Latin::Verb::VerbTypes::Third
|
152
|
+
return @pres_act_inf.gsub(/(.*)ere$/,"\\1\xc4\xab")
|
153
|
+
end
|
154
|
+
if @classification == Linguistics::Latin::Verb::VerbTypes::Fourth
|
155
|
+
return @pres_act_inf.gsub(/(.*)e$/,"\\1\xc4\xab")
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
##
|
160
|
+
#
|
161
|
+
# === GRAMMATICAL FUNCTION
|
162
|
+
#
|
163
|
+
# A&G, 157,d:
|
164
|
+
#
|
165
|
+
# The Infinitive is used chiefly as an indeclinable noun, as the subject
|
166
|
+
# or complement of another ver ( 452, 456.n)
|
167
|
+
#
|
168
|
+
# "To have been X-d"
|
169
|
+
#
|
170
|
+
# === ARGUMENTS
|
171
|
+
#
|
172
|
+
# None
|
173
|
+
#
|
174
|
+
# === RETURNS
|
175
|
+
#
|
176
|
+
# Array of participles
|
177
|
+
#
|
178
|
+
###
|
179
|
+
def perfect_passive_infinitive
|
180
|
+
return perfect_passive_participle + " esse"
|
181
|
+
end
|
182
|
+
|
183
|
+
##
|
184
|
+
#
|
185
|
+
# === GRAMMATICAL FUNCTION
|
186
|
+
#
|
187
|
+
# A&G, 157,d:
|
188
|
+
#
|
189
|
+
# The Infinitive is used chiefly as an indeclinable noun, as the subject
|
190
|
+
# or complement of another ver ( 452, 456.n)
|
191
|
+
#
|
192
|
+
# "To be about to be X-d"
|
193
|
+
#
|
194
|
+
# <b>Note:</b> This form is exceedingly rare. Wheelock notes that
|
195
|
+
# Romans preferred to use the 4th principal part + <b>fore</b>.
|
196
|
+
#
|
197
|
+
# === ARGUMENTS
|
198
|
+
#
|
199
|
+
# None
|
200
|
+
#
|
201
|
+
# === RETURNS
|
202
|
+
#
|
203
|
+
# Array of participles
|
204
|
+
#
|
205
|
+
###
|
206
|
+
def future_passive_infinitive
|
207
|
+
return supine[:accusative] + " īrī"
|
208
|
+
end
|
209
|
+
end
|
210
|
+
end
|
211
|
+
end
|
212
|
+
end
|