Module: LLT::Morphologizer::StemLookupStatementBuilder::Conjugable

Includes:
ContractedForms
Included in:
LLT::Morphologizer::StemLookupStatementBuilder
Defined in:
lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb

Constant Summary collapse

PRIMARY_ENDING =
[:ending, [ *sg_1_active, sg_2_active, sg_3_active, pl_1_active, pl_2_active, pl_3_active,
*sg_1_passive, sg_3_passive, pl_1_passive, pl_2_passive, pl_3_passive]]
PRIMARY_ENDING_SG_2_PASSIVE =
[:ending, [sg_2_passive]]
SECONDARY_ENDING =
[:ending, [ /isti$/, /(?<=[^rnt])i$/, /it$/, /imus$/, /istis$/, /erunt$/, /ere$/ ]]
IMPERATIVE_ENDING =
[:ending, [ /(?<=[aei])te$/, /tote$/, /(?<=[^ieu]a$|e$|[^min][^uv]i$)/, /(?<=[^n])to$/, /nto$/,
/(?<=[^n])tor$/, /ntor$/]]
DEP_IMP_ENDING =
[:ending, [ /(?<=[aei])re$/ ]]
PERFECT_EXTENSIONS =
[:extension, [/er$|er[ai]$|isse$/]]
IMPERFECT_BA =
[:extension, [/ba$/]]
FUTURE_B =
[:extension, [/[b]$/]]
FUTURE_OR_SUBJUNCTIVE_A_OR_E =
[:extension, [/[ae]$/]]
SUBJUNCTIVE_IMPERFECT =
[:extension, [/re$/]]
THEMATIC_VOWEL =
[:thematic, [/[eiu]$/]]
THEMATIC_I_OF_M =
[:thematic, [/[i]$/]]
THEMATIC_E_OF_SUBJUNCTIVE_IMPERFECT =
[:thematic, [/e$/]]
INFINITIVE_PR =

(?<=[aei])re not needed here as inf pr, - the dep_imp_ending finds it anyway, the FormBuilder cares for the rest.

[:ending, [/(?<=[aei])ri$|(?<=[^aeior])i$|r?ier$/]]
INFINITIVE_PF =
[:ending, [/isse$/]]

Constants included from ContractedForms

LLT::Morphologizer::StemLookupStatementBuilder::ContractedForms::CONTRACTED_FORMS

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ContractedForms

#search_for_contracted_form

Class Method Details

.pl_1_activeObject



17
18
19
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 17

def pl_1_active
   /(?<!illi|erri|ssi|[^aeiu])mus$/
end

.pl_1_passiveObject



41
42
43
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 41

def pl_1_passive
  /mur$/
end

.pl_2_activeObject



21
22
23
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 21

def pl_2_active
  /(?<=[aei])tis$/
end

.pl_2_passiveObject



45
46
47
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 45

def pl_2_passive
  /(?<=[aei])mini$/
end

.pl_3_activeObject



25
26
27
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 25

def pl_3_active
  /(?<=[aeiu])nt$/
end

.pl_3_passiveObject



49
50
51
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 49

def pl_3_passive
  /(?<=[aeiu])ntur$/
end

.sg_1_activeObject



5
6
7
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 5

def sg_1_active
  [/(?<!tud|[^nu][st]i|ment|[bc]ul|[ao]ri|\Apr)o$/, /(?<![^s]u)m$/]
end

.sg_1_passiveObject



29
30
31
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 29

def sg_1_passive
  [/(?<!u)or$/, /(?<!u)r$/]
end

.sg_2_activeObject



9
10
11
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 9

def sg_2_active
  /(?<=[aer]|[^tr]i|[^aeirsl]ti|[^ai]ri|[^t][sft]eri|quiri|quaeri|\A[a-z]peri|[^a-z]geri|[^a-z]pari|[^a-z]meti)s$/
end

.sg_2_passiveObject



33
34
35
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 33

def sg_2_passive
  /(?<=[^p]a|[^afgtpsx]e|[^(qu)]i|[cr][uia]pe|[a-z][tg]e)ris$/
end

.sg_3_activeObject



13
14
15
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 13

def sg_3_active
  /(?<=\S[ae]|[is])t$/
end

.sg_3_passiveObject



37
38
39
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 37

def sg_3_passive
  /(?<=[aei])tur$/
end

Instance Method Details

#conjugable_searchObject



87
88
89
90
91
92
93
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 87

def conjugable_search
  secondary_ending
  primary_ending(PRIMARY_ENDING)
  primary_ending(PRIMARY_ENDING_SG_2_PASSIVE)
  imperative
  infinitive
end

#create_conjugablesObject



78
79
80
81
82
83
84
# File 'lib/llt/morphologizer/stem_lookup_statement_builder/conjugable.rb', line 78

def create_conjugables
  setup(:conjugable)
  search_for_contracted_form(:conjugable_search)

  setup(:conjugable)
  conjugable_search
end