Module: Linguistics::Latin::Verb::TenseDefinitions::Invariant

Defined in:
lib/linguistics/latin/verb/tense_definitions/invariant.rb

Overview

Tense-forming methods that do not vary between the verb types

Instance Method Summary collapse

Instance Method Details

#active_voice_imperative_mood_future_tenseObject

GRAMMATICAL FUNCTION

Commands for immediate action. Only supports second or third person.

ARGUMENTS

None

RETURNS

TenseBlock



54
55
56
57
58
59
60
61
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 54

def active_voice_imperative_mood_future_tense# {{{
  f = imperatives.future
  return TenseBlock.new( [ '', f[0], f[2],
                           '', f[1], f[3]
                         ],
                        { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:active_voice_imperative_mood_future_tense] }
                       )
end

#active_voice_imperative_mood_present_tenseObject

GRAMMATICAL FUNCTION

Commands for immediate action. Always second person.

ARGUMENTS

None

RETURNS

TenseBlock



29
30
31
32
33
34
35
36
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 29

def active_voice_imperative_mood_present_tense
  imp = imperatives
  TenseBlock.new( [ '', imp.present_tense_singular_number, '',
                           '', imp.present_tense_plural_number, ''
                  ],
                  { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:active_voice_imperative_mood_present_tense] }
                )
end

#active_voice_indicative_mood_future_tenseObject

GRAMMATICAL FUNCTION

Action to be completed in the future. A&G,160,a,3.

ARGUMENTS

None

RETURNS

TenseBlock



472
473
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 472

def active_voice_indicative_mood_future_tense
end

#active_voice_indicative_mood_futureperfect_tenseObject

GRAMMATICAL FUNCTION

Action completed in the future. A&G,160,b,3.

ARGUMENTS

None

RETURNS

TenseBlock



79
80
81
82
83
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 79

def active_voice_indicative_mood_futureperfect_tense# {{{
  substem = first_person_perfect[0..-2]
  return TenseBlock.new [Linguistics::Latin::Verb::LatinVerb::APERF_FUTURE_ENDINGS.collect{|x| substem+x}].flatten,
         { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:active_voice_indicative_mood_futureperfect_tense] }
end

#active_voice_indicative_mood_imperfect_tenseObject

GRAMMATICAL FUNCTION

Habitual action in the past. A&G,160,a,2.

ARGUMENTS

None

RETURNS

TenseBlock



490
491
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 490

def active_voice_indicative_mood_imperfect_tense
end

#active_voice_indicative_mood_pastperfect_tenseObject

GRAMMATICAL FUNCTION

Action completed in the past prior to an event in the past. A&G,160,b,3.

ARGUMENTS

None

RETURNS

TenseBlock



101
102
103
104
105
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 101

def active_voice_indicative_mood_pastperfect_tense# {{{
  substem = first_person_perfect[0..-2]
   return TenseBlock.new [Linguistics::Latin::Verb::LatinVerb::APERF_PAST_ENDINGS.collect{|x| substem+x}].flatten,
          { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:active_voice_indicative_mood_pastperfect_tense] }
end

#active_voice_indicative_mood_perfect_tenseObject

GRAMMATICAL FUNCTION

Action completed in the past. A&G,160,b,1.

ARGUMENTS

None

RETURNS

TenseBlock



147
148
149
150
151
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 147

def active_voice_indicative_mood_perfect_tense# {{{
  substem = first_person_perfect[0..-2]
  return TenseBlock.new [first_person_perfect.to_s, Linguistics::Latin::Verb::LatinVerb::APERF_ENDINGS.collect{|x| substem+x.to_s}].flatten,
         { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:active_voice_indicative_mood_perfect_tense] }
end

#active_voice_indicative_mood_present_tenseObject

GRAMMATICAL FUNCTION

The canonical building block of learning to conjugate verbs in Latin. Take the present active infinitive, chop off the ending, and add the classic o,s,t,mus,tis,nt

Wheelock Reference, p. 4. A&G, 160,a,1.

ARGUMENTS

None

RETURNS

TenseBlock



513
514
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 513

def active_voice_indicative_mood_present_tense
end

#active_voice_subjunctive_mood_imperfect_tenseObject

GRAMMATICAL FUNCTION

Refer to “Moods,” above. Tense is constrained by function of the verb in context.

ARGUMENTS

None

RETURNS

TenseBlock



123
124
125
126
127
128
129
130
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 123

def active_voice_subjunctive_mood_imperfect_tense
 TenseBlock.new(
   ['m', Linguistics::Latin::Verb::LatinVerb::AP_FIRST_AND_SECOND_CONJUG_PERS_ENDINGS].flatten!.map do |ending|
   present_active_infinitive.sub(/e$/,'ē') + ending
  end,
  { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:active_voice_subjunctive_mood_imperfect_tense] }
  )
end

#active_voice_subjunctive_mood_pastperfect_tenseObject

GRAMMATICAL FUNCTION

Refer to “Moods,” above. Tense is constrained by function of the verb in context.

ARGUMENTS

None

RETURNS

TenseBlock



169
170
171
172
173
174
175
176
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 169

def active_voice_subjunctive_mood_pastperfect_tense# {{{
  asp_base = first_person_perfect[0..first_person_perfect.length-2] + "issē"
    TenseBlock.new( ['m', Linguistics::Latin::Verb::LatinVerb::AP_FIRST_AND_SECOND_CONJUG_PERS_ENDINGS].flatten!.map do |ending|
      asp_base + ending
    end,
    { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:active_voice_subjunctive_mood_pastperfect_tense] }
    )
end

#active_voice_subjunctive_mood_perfect_tenseObject

GRAMMATICAL FUNCTION

Refer to “Moods,” above. Tense is constrained by function of the verb in context.

ARGUMENTS

None

RETURNS

TenseBlock



194
195
196
197
198
199
200
201
202
203
204
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 194

def active_voice_subjunctive_mood_perfect_tense
  asp_base =
    first_person_perfect[0..first_person_perfect.length-2] +
    "erī"
  TenseBlock.new(
    ['m', Linguistics::Latin::Verb::LatinVerb::AP_FIRST_AND_SECOND_CONJUG_PERS_ENDINGS].flatten!.map do |ending|
    asp_base + ending
  end,
  { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:active_voice_subjunctive_mood_perfect_tense] }
  )
end

#active_voice_subjunctive_mood_present_tenseObject

GRAMMATICAL FUNCTION

Refer to “Moods,” above. Tense is constrained by function of the verb in context.

ARGUMENTS

None

RETURNS

TenseBlock



532
533
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 532

def active_voice_subjunctive_mood_present_tense
end

#form_imperativesObject

{{{



378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 378

def form_imperatives# {{{

  imperative_exceptions = {
    "ducere"   => %w(duc ducite),
    "dicere"   => %w(dic dicite),
    "facere"   => %w(fac facite),
    "ferre"    => %w(fer ferte),
    "nolere"   => %w(nolo nolite)
  }

  # Exceptional imperatives.  If we have one, return it straight away.
  if imperative_exceptions.has_key?(present_active_infinitive)
    return Linguistics::Latin::Verb::ImperativeBlock.new(
      imperative_exceptions[present_active_infinitive])
  end

  # Therefore, let us assume that we are dealing with a standard verb
  # with standard imperatives.  Accordingly, we will create an
  # ImperativeBlock.

  return Linguistics::Latin::Verb::ImperativeBlock.new stem, present_active_infinitive
end

#imperativesObject

GRAMMATICAL FUNCTION

Used to express command. As A&G notes, oftentimes the Subjunctive is the correct mood for exhortation.

ARGUMENTS

None

RETURNS

TenseBlock



374
375
376
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 374

def imperatives
  @imperatives ||= form_imperatives
end

#passive_voice_indicative_mood_future_tenseObject

GRAMMATICAL FUNCTION

Refer to “Voice” section in reference, for function consult active-voice counterpart.

ARGUMENTS

None

RETURNS

TenseBlock



550
551
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 550

def passive_voice_indicative_mood_future_tense
end

#passive_voice_indicative_mood_futureperfect_tenseObject

GRAMMATICAL FUNCTION

Refer to “Voice” section in reference, for function consult active-voice counterpart. Wheelock, 122

ARGUMENTS

None

RETURNS

TenseBlock



223
224
225
226
227
228
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 223

def passive_voice_indicative_mood_futureperfect_tense# {{{
  return TenseBlock.new(
    Linguistics::Latin::Verb::LatinVerb::PASS_PERF_FUTURE_ENDINGS.map{ |helping_verb| "#{passive_perfect_participle} #{helping_verb}"  },
    { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:passive_voice_indicative_mood_futureperfect_tense] }
    )
end

#passive_voice_indicative_mood_imperfect_tenseObject

GRAMMATICAL FUNCTION

Refer to “Voice” section in reference, for function consult active-voice counterpart. Wheelock, 117

ARGUMENTS

None

RETURNS

TenseBlock



569
570
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 569

def passive_voice_indicative_mood_imperfect_tense
end

#passive_voice_indicative_mood_pastperfect_tenseObject

GRAMMATICAL FUNCTION

Refer to “Voice” section in reference, for function consult active-voice counterpart. Wheelock, 117

ARGUMENTS

None

RETURNS

TenseBlock



247
248
249
250
251
252
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 247

def passive_voice_indicative_mood_pastperfect_tense# {{{
  TenseBlock.new(
    Linguistics::Latin::Verb::LatinVerb::PASS_PERF_PAST_ENDINGS.map{ |helping_verb| "#{passive_perfect_participle} #{helping_verb}"  },
    { :meaning =>  Linguistics::Latin::Verb::LatinVerb::MEANINGS[:passive_voice_indicative_mood_pastperfect_tense]}
    )
end

#passive_voice_indicative_mood_perfect_tenseObject

GRAMMATICAL FUNCTION

Wheelock, 122

ARGUMENTS

None

RETURNS

TenseBlock



269
270
271
272
273
274
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 269

def passive_voice_indicative_mood_perfect_tense
  TenseBlock.new(
     Linguistics::Latin::Verb::LatinVerb::PASS_PERF_PRESENT_ENDINGS.map{ |helping_verb| "#{passive_perfect_participle} #{helping_verb}"  },
     { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:passive_voice_indicative_mood_perfect_tense] }
     )
end

#passive_voice_indicative_mood_present_tenseObject

GRAMMATICAL FUNCTION

Refer to “Voice” section in reference, for function consult active-voice counterpart. Wheelock, 117

ARGUMENTS

None

RETURNS

TenseBlock



589
590
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 589

def passive_voice_indicative_mood_present_tense
end

#passive_voice_subjunctive_mood_imperfect_tenseObject

GRAMMATICAL FUNCTION

Refer to “Moods,” above. Tense is constrained by function of the verb in context.

ARGUMENTS

None

RETURNS

TenseBlock



292
293
294
295
296
297
298
299
300
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 292

def passive_voice_subjunctive_mood_imperfect_tense
  base = present_active_infinitive.gsub(/(.*)(.)$/,"\\1" + 'ē')
  TenseBlock.new(
    Linguistics::Latin::Verb::LatinVerb::PASSIVE_ENDINGS_FIRST_AND_SECOND_CONJG.map do |ending|
    base + ending
  end,
  { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:passive_voice_subjunctive_mood_imperfect_tense] }
  )
end

#passive_voice_subjunctive_mood_pastperfect_tenseObject

GRAMMATICAL FUNCTION

Refer to “Moods,” above. Tense is constrained by function of the verb in context.

ARGUMENTS

None

RETURNS

TenseBlock



318
319
320
321
322
323
324
325
326
327
328
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 318

def passive_voice_subjunctive_mood_pastperfect_tense# {{{
  count = -1
  TenseBlock.new(Linguistics::Latin::Verb::LatinVerb::PASS_PLUPERF_PAST_ENDINGS.map do |ending|
     count += 1
     (count <= 2 ?
       "[ #{triplicate_and_genderize passive_perfect_participle} ]" :
       "[ #{pluralize_participial_listing(triplicate_and_genderize(passive_perfect_participle))} ]" )+ " " + ending
  end,
  { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:passive_voice_subjunctive_mood_pastperfect_tense] }
  )
end

#passive_voice_subjunctive_mood_perfect_tenseObject

GRAMMATICAL FUNCTION

Refer to “Moods,” above. Tense is constrained by function of the verb in context.

ARGUMENTS

None

RETURNS

TenseBlock



346
347
348
349
350
351
352
353
354
355
356
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 346

def passive_voice_subjunctive_mood_perfect_tense
  counter = -1
  TenseBlock.new(Linguistics::Latin::Verb::LatinVerb::PASS_PERF_SUBJUNCTIVE_ENDINGS.map do |ending|
     counter += 1
      (counter <=2 ?
       "[ #{triplicate_and_genderize passive_perfect_participle} ]" :
       "[ #{pluralize_participial_listing(triplicate_and_genderize(passive_perfect_participle))} ]" )+ " " + ending
    end,
    { :meaning => Linguistics::Latin::Verb::LatinVerb::MEANINGS[:passive_voice_subjunctive_mood_perfect_tense] }
    )
end

#passive_voice_subjunctive_mood_present_tenseObject

GRAMMATICAL FUNCTION

Refer to “Moods,” above. Tense is constrained by function of the verb in context.

ARGUMENTS

None

RETURNS

TenseBlock



607
608
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 607

def passive_voice_subjunctive_mood_present_tense
end

#pluralize_participial_listing(x) ⇒ Object

DESCRIPTION

Used for handling verb states that are compounds like _amatus, amata, amatum sum_ and converting them to amati, amatae, amata, (sumus|estis|sunt).

ARGUMENTS

x:

A string that looks like –us, –a, –um This method mutates those singular endings to plural forms

RETURNS

Altered string

EXAMPLE

pluralize_participial_listing(qq/amatus, amata, amatum/) #=>

amatī, amatae, amata


424
425
426
427
428
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 424

def pluralize_participial_listing(x)
  x.sub!(/us,/,   'ī,' )
  x.sub!(/a,/,    'ae,')
  x.sub!(/um.*$/, 'a'  )
end

#triplicate_and_genderize(s) ⇒ Object

DESCRIPTION

Used for turning a participial form –um into –us, –a, –um

ARGUMENTS

s:

–um

RETURNS

Altered string

EXAMPLE

triplicate_and_genderize(“amatum”) #=> amatus, amata, amatum



449
450
451
452
453
454
455
# File 'lib/linguistics/latin/verb/tense_definitions/invariant.rb', line 449

def triplicate_and_genderize(s)# {{{
  stem = s.sub(/^(.*)um$/,"\\1")
  [ stem + 'us',
    stem + 'a',
    s
  ].join(', ')
end