Sha256: 186d5225e9af1807c0a2c74f357e917d747b0b2377e42b6cffb768adc5cc7df1

Contents?: true

Size: 922 Bytes

Versions: 2

Compression:

Stored size: 922 Bytes

Contents

require_relative 'irregular_verb'

module Zenlish
  module WClasses
    # Irregular verb can
    class IrregularVerbCan < IrregularVerb
      def initialize
        super()
      end

      private

      def init_feature_defs
        super
        # Create standard feature definitions for modal verb can.
        feature_def_dsl {
          feature_def 'TIME' => enumeration(:present, :past_simple)
          feature_def 'PARADIGM' => [identifier, 'Verb_can_inflection'] # 2nd item is default value
        }
      end

      def init_paradigms
        builder = Inflect::InflectionTableBuilder.new
        table = builder.build('Verb_can_inflection') do
          feature_heading 'TIME'
          #     TIME
          rule([equals(:present)     ], literal('can'))
          rule([equals(:past_simple) ], literal('could'))
        end
        add_paradigm(table)
      end    
    end # class
  end # module
end # module

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
zenlish-0.2.05 lib/zenlish/wclasses/irregular_verb_can.rb
zenlish-0.2.04 lib/zenlish/wclasses/irregular_verb_can.rb