class Zenlish::WClasses::AuxiliaryDo

TODO: document

Private Instance Methods

init_feature_defs() click to toggle source

rubocop: disable Layout/SpaceInsideArrayLiteralBrackets

Calls superclass method
# File lib/zenlish/wclasses/auxiliary_do.rb, line 13
def init_feature_defs
  super
  # Create standard feature definitions for modal verb can.
  feature_def_dsl do
    feature_def 'PARADIGM' => [identifier, 'Verb_do_inflection'] # 2nd item is default value
  end
end
init_paradigms() click to toggle source
# File lib/zenlish/wclasses/auxiliary_do.rb, line 21
def init_paradigms
  builder = Inflect::InflectionTableBuilder.new
  table = builder.build('Verb_do_inflection') do
    feature_heading 'PERSON'
    feature_heading 'NUMBER'
    feature_heading 'TIME'
    #     PERSON              NUMBER             TIME
    rule([not_equal(:third), equals(:singular), equals(:present)        ], literal('do'))
    rule([equals(:third),    equals(:singular), equals(:present)        ], literal('does'))
    rule([dont_care,         equals(:plural),   equals(:present)        ], literal('do'))
    rule([dont_care,         dont_care,         equals(:progressive)    ], literal('doing'))
    rule([dont_care,         dont_care,         equals(:past_simple)    ], literal('did'))
    rule([dont_care,         dont_care,         equals(:past_participle)], literal('done'))
  end
  add_paradigm(table)
end