class Zenlish::WClasses::IrregularVerbBe

The `be` verb used as a lexical verb (as opposed auxiliary verb).

Public Instance Methods

extension() click to toggle source

The mix-in module used to extend the lexeme @return [Module, NilClass]

# File lib/zenlish/wclasses/irregular_verb_be.rb, line 13
def extension
  nil
end

Private Instance Methods

init_feature_defs() click to toggle source
# File lib/zenlish/wclasses/irregular_verb_be.rb, line 19
def init_feature_defs
  super
  # Create standard feature definitiofor irregular verbs.
  feature_def_dsl do
    feature_def 'PARADIGM' => [identifier, 'Verb_be_inflection'] # 2nd item is default value
  end
end
init_paradigms() click to toggle source
# File lib/zenlish/wclasses/irregular_verb_be.rb, line 27
def init_paradigms
  builder = Inflect::InflectionTableBuilder.new
  table = builder.build('Verb_be_inflection') do
    feature_heading 'PERSON'
    feature_heading 'NUMBER'
    feature_heading 'TIME'
    #     PERSON               NUMBER             TIME
    rule([equals(:first),      equals(:singular), equals(:present)        ], literal('am'))
    rule([equals(:second),     equals(:singular), equals(:present)        ], literal('are'))
    rule([equals(:third),      equals(:singular), equals(:present)        ], literal('is'))
    rule([dont_care,           equals(:plural),   equals(:present)        ], literal('are'))
    rule([dont_care,           dont_care,         equals(:progressive)    ], literal('being'))
    rule([in?(:first, :third), equals(:singular), equals(:past_simple)    ], literal('was'))
    rule([equals(:second),     equals(:singular), equals(:past_simple)    ], literal('were'))
    rule([dont_care,           equals(:plural),   equals(:past_simple)    ], literal('were'))
    rule([dont_care,           dont_care,         equals(:past_participle)], literal('been'))
  end
  add_paradigm(table)
end