class Zenlish::WClasses::Verb

Abstract class. In traditional grammar, the verb is often defined notionally as a 'doing' word (i.e. a word that describes the action in a clause).

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/zenlish/wclasses/verb.rb, line 12
def initialize
  super()
  @paradigms = {}
  init_feature_defs
  init_paradigms
end

Public Instance Methods

invariable?() click to toggle source

As all verbs inflect, or change form, to reflect changes in tense, person, number, and voice, they are, by definition, variable.

# File lib/zenlish/wclasses/verb.rb, line 21
def invariable?
  false
end

Private Instance Methods

init_feature_defs() click to toggle source
# File lib/zenlish/wclasses/verb.rb, line 27
def init_feature_defs
  # Create standard feature definitions for lexical verbs.
  feature_def_dsl do
    feature_def 'NUMBER' => enumeration(:singular, :plural)
    feature_def 'PERSON' => enumeration(:first, :second, :third)
    feature_def 'TIME' => enumeration(:present, :progressive, :past_simple, :past_participle)
    feature_def 'PARADIGM' => [identifier, 'Regular_inflection'] # 2nd item is default value
  end
end
init_paradigms() click to toggle source
# File lib/zenlish/wclasses/verb.rb, line 37
def init_paradigms
  raise NotImplementedError, "Method #{__callee__} must implemented for #{self.class}."
end