Module: LLT::Morphologizer::StemLookupStatementBuilder::ContractedForms

Included in:
Conjugable
Defined in:
lib/llt/morphologizer/stem_lookup_statement_builder/contracted_forms.rb

Defined Under Namespace

Classes: Contraction

Constant Summary collapse

CONTRACTED_FORMS =
{
  "v"  => /(?<=[^v]i)(er[aiu]nt|er[ia][mst]|er[ia]mus|er[ia]tis|ero)$/,
  "vi" => /(?<=[^v][aeio])(stis?|sse[mst]|ssemus|ssetis|ssent|sse)$/,
  "ve" => /(?<=[^v][aeo])(r[aiu]nt|r[ia][mst]|r[ia]mus|r[ia]tis|ro)$/
}

Instance Method Summary collapse

Instance Method Details

#search_for_contracted_form(method) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/contracted_forms.rb', line 10

def search_for_contracted_form(method)
  CONTRACTED_FORMS.each do |missing_piece, regexp|
    index = @word =~ regexp
    unless index.nil?
      @word.insert(index, missing_piece)
      @components[:contraction] = Contraction.new(index, missing_piece)

      send(method)
      @word.slice!(index, 2)
    end
  end
end