zenlish 0.2.05 → 0.2.07

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +228 -0
  3. data/CHANGELOG.md +19 -0
  4. data/Gemfile +5 -3
  5. data/LICENSE.txt +1 -1
  6. data/Rakefile +5 -3
  7. data/lib/zenlish/feature/boolean_domain.rb +6 -4
  8. data/lib/zenlish/feature/boolean_value.rb +3 -2
  9. data/lib/zenlish/feature/enumeration_domain.rb +5 -2
  10. data/lib/zenlish/feature/feature.rb +9 -7
  11. data/lib/zenlish/feature/feature_def.rb +9 -6
  12. data/lib/zenlish/feature/feature_domain.rb +4 -2
  13. data/lib/zenlish/feature/feature_struct.rb +3 -1
  14. data/lib/zenlish/feature/feature_struct_def.rb +5 -3
  15. data/lib/zenlish/feature/feature_struct_def_bearer.rb +6 -4
  16. data/lib/zenlish/feature/feature_value.rb +4 -2
  17. data/lib/zenlish/feature/identifier_domain.rb +5 -3
  18. data/lib/zenlish/feature/identifier_value.rb +3 -2
  19. data/lib/zenlish/feature/symbol_value.rb +3 -1
  20. data/lib/zenlish/inflect/atomic_o_expression.rb +2 -1
  21. data/lib/zenlish/inflect/composite_o_expression.rb +3 -1
  22. data/lib/zenlish/inflect/concatenation.rb +3 -2
  23. data/lib/zenlish/inflect/equals_literal.rb +3 -1
  24. data/lib/zenlish/inflect/feature_heading.rb +2 -5
  25. data/lib/zenlish/inflect/formal_argument.rb +3 -1
  26. data/lib/zenlish/inflect/function_call.rb +4 -1
  27. data/lib/zenlish/inflect/heading.rb +2 -0
  28. data/lib/zenlish/inflect/inflection_rule.rb +2 -0
  29. data/lib/zenlish/inflect/inflection_table.rb +6 -4
  30. data/lib/zenlish/inflect/inflection_table_builder.rb +21 -18
  31. data/lib/zenlish/inflect/input_asis.rb +3 -0
  32. data/lib/zenlish/inflect/input_expression.rb +4 -2
  33. data/lib/zenlish/inflect/literal_asis.rb +4 -1
  34. data/lib/zenlish/inflect/matches_pattern.rb +2 -0
  35. data/lib/zenlish/inflect/membership.rb +2 -0
  36. data/lib/zenlish/inflect/method_heading.rb +3 -6
  37. data/lib/zenlish/inflect/not_equals_literal.rb +2 -0
  38. data/lib/zenlish/inflect/nullary_input_expression.rb +3 -1
  39. data/lib/zenlish/inflect/output_expression.rb +6 -0
  40. data/lib/zenlish/inflect/substitution.rb +3 -1
  41. data/lib/zenlish/inflect/unary_input_expression.rb +4 -1
  42. data/lib/zenlish/inflect/unconditionally_true.rb +4 -2
  43. data/lib/zenlish/lang/dictionary.rb +19 -16
  44. data/lib/zenlish/lang/lemmatizer.rb +40 -0
  45. data/lib/zenlish/lang/zenlish_grammar.rb +6 -4
  46. data/lib/zenlish/lex/empty_lexicon_factory.rb +3 -2
  47. data/lib/zenlish/lex/lexeme.rb +6 -4
  48. data/lib/zenlish/lex/lexical_entry.rb +6 -4
  49. data/lib/zenlish/lex/lexicon.rb +4 -3
  50. data/lib/zenlish/lex/literal.rb +3 -1
  51. data/lib/zenlish/lexer/lexer.rb +144 -0
  52. data/lib/zenlish/trie/base_trie_node.rb +27 -0
  53. data/lib/zenlish/trie/trie.rb +132 -0
  54. data/lib/zenlish/trie/trie_node.rb +21 -0
  55. data/lib/zenlish/trie/trie_root.rb +10 -0
  56. data/lib/zenlish/version.rb +3 -1
  57. data/lib/zenlish/wclasses/adjective.rb +4 -2
  58. data/lib/zenlish/wclasses/adverb.rb +3 -1
  59. data/lib/zenlish/wclasses/adverb_maybe.rb +3 -1
  60. data/lib/zenlish/wclasses/adverb_not.rb +2 -0
  61. data/lib/zenlish/wclasses/all_word_classes.rb +3 -1
  62. data/lib/zenlish/wclasses/article.rb +2 -0
  63. data/lib/zenlish/wclasses/auxiliary.rb +2 -0
  64. data/lib/zenlish/wclasses/auxiliary_be.rb +7 -6
  65. data/lib/zenlish/wclasses/auxiliary_do.rb +6 -5
  66. data/lib/zenlish/wclasses/cardinal.rb +3 -1
  67. data/lib/zenlish/wclasses/common_noun.rb +2 -0
  68. data/lib/zenlish/wclasses/comparative_particle.rb +5 -3
  69. data/lib/zenlish/wclasses/conjunction.rb +2 -0
  70. data/lib/zenlish/wclasses/conjunctive_pronoun.rb +2 -0
  71. data/lib/zenlish/wclasses/coordinator.rb +4 -2
  72. data/lib/zenlish/wclasses/definite_article.rb +2 -0
  73. data/lib/zenlish/wclasses/degree_adverb.rb +2 -0
  74. data/lib/zenlish/wclasses/demonstrative_determiner.rb +6 -4
  75. data/lib/zenlish/wclasses/demonstrative_pronoun.rb +2 -0
  76. data/lib/zenlish/wclasses/determiner.rb +3 -1
  77. data/lib/zenlish/wclasses/distributive_determiner.rb +2 -0
  78. data/lib/zenlish/wclasses/existential_there.rb +2 -0
  79. data/lib/zenlish/wclasses/fronting_quantifier.rb +3 -1
  80. data/lib/zenlish/wclasses/indefinite_article.rb +2 -0
  81. data/lib/zenlish/wclasses/indefinite_pronoun.rb +3 -1
  82. data/lib/zenlish/wclasses/irregular_linking_verb.rb +3 -1
  83. data/lib/zenlish/wclasses/irregular_verb.rb +13 -15
  84. data/lib/zenlish/wclasses/irregular_verb_be.rb +8 -7
  85. data/lib/zenlish/wclasses/irregular_verb_can.rb +8 -7
  86. data/lib/zenlish/wclasses/irregular_verb_do.rb +7 -6
  87. data/lib/zenlish/wclasses/irregular_verb_extension.rb +8 -7
  88. data/lib/zenlish/wclasses/irregular_verb_have.rb +12 -11
  89. data/lib/zenlish/wclasses/irregular_verb_know.rb +3 -1
  90. data/lib/zenlish/wclasses/irregular_verb_say.rb +3 -1
  91. data/lib/zenlish/wclasses/irregular_verb_think.rb +3 -1
  92. data/lib/zenlish/wclasses/lexical_verb.rb +3 -4
  93. data/lib/zenlish/wclasses/linking_adverb.rb +2 -0
  94. data/lib/zenlish/wclasses/modal_verb_can.rb +7 -5
  95. data/lib/zenlish/wclasses/noun.rb +4 -2
  96. data/lib/zenlish/wclasses/numeral.rb +2 -0
  97. data/lib/zenlish/wclasses/personal_pronoun.rb +8 -6
  98. data/lib/zenlish/wclasses/possessive_determiner.rb +13 -12
  99. data/lib/zenlish/wclasses/preposition.rb +3 -1
  100. data/lib/zenlish/wclasses/preposition_of.rb +2 -0
  101. data/lib/zenlish/wclasses/preposition_than.rb +2 -0
  102. data/lib/zenlish/wclasses/pronoun.rb +3 -1
  103. data/lib/zenlish/wclasses/proper_noun.rb +10 -8
  104. data/lib/zenlish/wclasses/quantifier.rb +3 -1
  105. data/lib/zenlish/wclasses/regular_verb.rb +9 -9
  106. data/lib/zenlish/wclasses/regular_verb_want.rb +4 -2
  107. data/lib/zenlish/wclasses/relative_pronoun.rb +4 -2
  108. data/lib/zenlish/wclasses/subordinating_conjunction.rb +7 -5
  109. data/lib/zenlish/wclasses/verb.rb +5 -3
  110. data/lib/zenlish/wclasses/word_class.rb +7 -5
  111. data/lib/zenlish.rb +3 -3
  112. data/spec/spec_helper.rb +3 -1
  113. data/spec/zenlish/feature/boolean_domain_spec.rb +16 -16
  114. data/spec/zenlish/feature/boolean_value_spec.rb +7 -6
  115. data/spec/zenlish/feature/enumeration_domain_spec.rb +21 -21
  116. data/spec/zenlish/feature/feature_def_spec.rb +15 -14
  117. data/spec/zenlish/feature/feature_spec.rb +17 -17
  118. data/spec/zenlish/feature/feature_struct_def_bearer_spec.rb +23 -21
  119. data/spec/zenlish/feature/feature_struct_def_spec.rb +26 -25
  120. data/spec/zenlish/feature/identifier_domain_spec.rb +15 -15
  121. data/spec/zenlish/feature/identifier_value_spec.rb +10 -9
  122. data/spec/zenlish/feature/symbol_value_spec.rb +9 -8
  123. data/spec/zenlish/inflect/concatenation_spec.rb +14 -14
  124. data/spec/zenlish/inflect/equals_literal_spec.rb +17 -16
  125. data/spec/zenlish/inflect/feature_heading_spec.rb +22 -21
  126. data/spec/zenlish/inflect/formal_argument_spec.rb +7 -7
  127. data/spec/zenlish/inflect/function_call_spec.rb +11 -12
  128. data/spec/zenlish/inflect/inflection_rule_spec.rb +28 -24
  129. data/spec/zenlish/inflect/inflection_table_builder_spec.rb +62 -57
  130. data/spec/zenlish/inflect/inflection_table_spec.rb +49 -46
  131. data/spec/zenlish/inflect/input_asis_spec.rb +12 -15
  132. data/spec/zenlish/inflect/literal_asis_spec.rb +10 -10
  133. data/spec/zenlish/inflect/matches_pattern_spec.rb +16 -15
  134. data/spec/zenlish/inflect/membership_spec.rb +17 -16
  135. data/spec/zenlish/inflect/method_heading_spec.rb +15 -14
  136. data/spec/zenlish/inflect/not_equals_literal_spec.rb +17 -16
  137. data/spec/zenlish/inflect/substitution_spec.rb +10 -11
  138. data/spec/zenlish/inflect/unconditionally_true_spec.rb +8 -6
  139. data/spec/zenlish/lang/dictionary_spec.rb +28 -31
  140. data/spec/zenlish/lang/lemmatizer_spec.rb +43 -0
  141. data/spec/zenlish/lang/zenlish_grammar_spec.rb +5 -5
  142. data/spec/zenlish/lex/empty_lexicon_factory_spec.rb +8 -8
  143. data/spec/zenlish/lex/lexeme_spec.rb +27 -28
  144. data/spec/zenlish/lex/lexical_entry_spec.rb +15 -15
  145. data/spec/zenlish/lex/lexicon_spec.rb +52 -50
  146. data/spec/zenlish/lex/literal_spec.rb +8 -8
  147. data/spec/zenlish/lexer/lexer_spec.rb +52 -0
  148. data/spec/zenlish/parser/lesson1_spec.rb +81 -81
  149. data/spec/zenlish/parser/lesson2_spec.rb +133 -138
  150. data/spec/zenlish/parser/lesson3_spec.rb +186 -226
  151. data/spec/zenlish/parser/zparser_spec.rb +8 -7
  152. data/spec/zenlish/support/minimal_lexicon.rb +2 -0
  153. data/spec/zenlish/support/var2word.rb +16 -9
  154. data/spec/zenlish/trie/base_trie_node_spec.rb +33 -0
  155. data/spec/zenlish/trie/trie_spec.rb +108 -0
  156. data/spec/zenlish/wclasses/common_noun_spec.rb +15 -19
  157. data/spec/zenlish/wclasses/demonstrative_determiner_spec.rb +12 -12
  158. data/spec/zenlish/wclasses/irregular_verb_can_spec.rb +18 -18
  159. data/spec/zenlish/wclasses/irregular_verb_extension_spec.rb +10 -10
  160. data/spec/zenlish/wclasses/irregular_verb_spec.rb +28 -28
  161. data/spec/zenlish/wclasses/lexical_verb_spec.rb +9 -9
  162. data/spec/zenlish/wclasses/modal_verb_can_spec.rb +12 -12
  163. data/spec/zenlish/wclasses/noun_spec.rb +7 -7
  164. data/spec/zenlish/wclasses/personal_pronoun_spec.rb +20 -23
  165. data/spec/zenlish/wclasses/possessive_determiner_spec.rb +28 -31
  166. data/spec/zenlish/wclasses/preposition_spec.rb +5 -5
  167. data/spec/zenlish/wclasses/proper_noun_spec.rb +3 -3
  168. data/spec/zenlish/wclasses/regular_verb_spec.rb +30 -30
  169. data/spec/zenlish/wclasses/regular_verb_want_spec.rb +30 -0
  170. data/spec/zenlish/wclasses/verb_spec.rb +9 -9
  171. data/spec/zenlish_spec.rb +4 -2
  172. data/zenlish.gemspec +18 -14
  173. metadata +49 -16
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zenlish
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.05
4
+ version: 0.2.07
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dimitri Geshef
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2020-02-16 00:00:00.000000000 Z
10
+ date: 2025-04-03 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rley
@@ -16,56 +15,74 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: 0.7.06
18
+ version: '0.9'
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: 0.9.02
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
26
  - - "~>"
25
27
  - !ruby/object:Gem::Version
26
- version: 0.7.06
28
+ version: '0.9'
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: 0.9.02
27
32
  - !ruby/object:Gem::Dependency
28
33
  name: bundler
29
34
  requirement: !ruby/object:Gem::Requirement
30
35
  requirements:
31
36
  - - "~>"
32
37
  - !ruby/object:Gem::Version
33
- version: '2.0'
38
+ version: '2.4'
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 2.4.1
34
42
  type: :development
35
43
  prerelease: false
36
44
  version_requirements: !ruby/object:Gem::Requirement
37
45
  requirements:
38
46
  - - "~>"
39
47
  - !ruby/object:Gem::Version
40
- version: '2.0'
48
+ version: '2.4'
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: 2.4.1
41
52
  - !ruby/object:Gem::Dependency
42
53
  name: rake
43
54
  requirement: !ruby/object:Gem::Requirement
44
55
  requirements:
45
56
  - - "~>"
46
57
  - !ruby/object:Gem::Version
47
- version: '12.0'
58
+ version: '13'
48
59
  type: :development
49
60
  prerelease: false
50
61
  version_requirements: !ruby/object:Gem::Requirement
51
62
  requirements:
52
63
  - - "~>"
53
64
  - !ruby/object:Gem::Version
54
- version: '12.0'
65
+ version: '13'
55
66
  - !ruby/object:Gem::Dependency
56
67
  name: rspec
57
68
  requirement: !ruby/object:Gem::Requirement
58
69
  requirements:
59
70
  - - "~>"
60
71
  - !ruby/object:Gem::Version
61
- version: '3.0'
72
+ version: '3'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 3.10.0
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '3.0'
82
+ version: '3'
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 3.10.0
69
86
  description: A toolkit for the Zenlish language (a simplified English language).
70
87
  email:
71
88
  - famished.tiger@yahoo.com
@@ -75,6 +92,7 @@ extra_rdoc_files:
75
92
  - README.md
76
93
  files:
77
94
  - ".rspec"
95
+ - ".rubocop.yml"
78
96
  - ".travis.yml"
79
97
  - ".yardopts"
80
98
  - CHANGELOG.md
@@ -122,13 +140,19 @@ files:
122
140
  - lib/zenlish/inflect/unary_input_expression.rb
123
141
  - lib/zenlish/inflect/unconditionally_true.rb
124
142
  - lib/zenlish/lang/dictionary.rb
143
+ - lib/zenlish/lang/lemmatizer.rb
125
144
  - lib/zenlish/lang/zenlish_grammar.rb
126
145
  - lib/zenlish/lex/empty_lexicon_factory.rb
127
146
  - lib/zenlish/lex/lexeme.rb
128
147
  - lib/zenlish/lex/lexical_entry.rb
129
148
  - lib/zenlish/lex/lexicon.rb
130
149
  - lib/zenlish/lex/literal.rb
150
+ - lib/zenlish/lexer/lexer.rb
131
151
  - lib/zenlish/parser/zparser.rb
152
+ - lib/zenlish/trie/base_trie_node.rb
153
+ - lib/zenlish/trie/trie.rb
154
+ - lib/zenlish/trie/trie_node.rb
155
+ - lib/zenlish/trie/trie_root.rb
132
156
  - lib/zenlish/version.rb
133
157
  - lib/zenlish/wclasses/adjective.rb
134
158
  - lib/zenlish/wclasses/adverb.rb
@@ -212,18 +236,22 @@ files:
212
236
  - spec/zenlish/inflect/substitution_spec.rb
213
237
  - spec/zenlish/inflect/unconditionally_true_spec.rb
214
238
  - spec/zenlish/lang/dictionary_spec.rb
239
+ - spec/zenlish/lang/lemmatizer_spec.rb
215
240
  - spec/zenlish/lang/zenlish_grammar_spec.rb
216
241
  - spec/zenlish/lex/empty_lexicon_factory_spec.rb
217
242
  - spec/zenlish/lex/lexeme_spec.rb
218
243
  - spec/zenlish/lex/lexical_entry_spec.rb
219
244
  - spec/zenlish/lex/lexicon_spec.rb
220
245
  - spec/zenlish/lex/literal_spec.rb
246
+ - spec/zenlish/lexer/lexer_spec.rb
221
247
  - spec/zenlish/parser/lesson1_spec.rb
222
248
  - spec/zenlish/parser/lesson2_spec.rb
223
249
  - spec/zenlish/parser/lesson3_spec.rb
224
250
  - spec/zenlish/parser/zparser_spec.rb
225
251
  - spec/zenlish/support/minimal_lexicon.rb
226
252
  - spec/zenlish/support/var2word.rb
253
+ - spec/zenlish/trie/base_trie_node_spec.rb
254
+ - spec/zenlish/trie/trie_spec.rb
227
255
  - spec/zenlish/wclasses/common_noun_spec.rb
228
256
  - spec/zenlish/wclasses/demonstrative_determiner_spec.rb
229
257
  - spec/zenlish/wclasses/irregular_verb_can_spec.rb
@@ -237,14 +265,15 @@ files:
237
265
  - spec/zenlish/wclasses/preposition_spec.rb
238
266
  - spec/zenlish/wclasses/proper_noun_spec.rb
239
267
  - spec/zenlish/wclasses/regular_verb_spec.rb
268
+ - spec/zenlish/wclasses/regular_verb_want_spec.rb
240
269
  - spec/zenlish/wclasses/verb_spec.rb
241
270
  - spec/zenlish_spec.rb
242
271
  - zenlish.gemspec
243
272
  homepage: https://github.com/famished-tiger/zenlish
244
273
  licenses:
245
274
  - MIT
246
- metadata: {}
247
- post_install_message:
275
+ metadata:
276
+ rubygems_mfa_required: 'true'
248
277
  rdoc_options:
249
278
  - --charset=UTF-8 --exclude="examples|spec"
250
279
  require_paths:
@@ -253,15 +282,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
253
282
  requirements:
254
283
  - - ">="
255
284
  - !ruby/object:Gem::Version
256
- version: '0'
285
+ version: 3.1.0
257
286
  required_rubygems_version: !ruby/object:Gem::Requirement
258
287
  requirements:
259
288
  - - ">="
260
289
  - !ruby/object:Gem::Version
261
290
  version: '0'
262
291
  requirements: []
263
- rubygems_version: 3.0.3
264
- signing_key:
292
+ rubygems_version: 3.6.6
265
293
  specification_version: 4
266
294
  summary: A toolkit for the Zenlish language (a simplified English language).
267
295
  test_files:
@@ -292,16 +320,20 @@ test_files:
292
320
  - spec/zenlish/inflect/substitution_spec.rb
293
321
  - spec/zenlish/inflect/unconditionally_true_spec.rb
294
322
  - spec/zenlish/lang/dictionary_spec.rb
323
+ - spec/zenlish/lang/lemmatizer_spec.rb
295
324
  - spec/zenlish/lang/zenlish_grammar_spec.rb
296
325
  - spec/zenlish/lex/empty_lexicon_factory_spec.rb
297
326
  - spec/zenlish/lex/lexeme_spec.rb
298
327
  - spec/zenlish/lex/lexical_entry_spec.rb
299
328
  - spec/zenlish/lex/lexicon_spec.rb
300
329
  - spec/zenlish/lex/literal_spec.rb
330
+ - spec/zenlish/lexer/lexer_spec.rb
301
331
  - spec/zenlish/parser/lesson1_spec.rb
302
332
  - spec/zenlish/parser/lesson2_spec.rb
303
333
  - spec/zenlish/parser/lesson3_spec.rb
304
334
  - spec/zenlish/parser/zparser_spec.rb
335
+ - spec/zenlish/trie/base_trie_node_spec.rb
336
+ - spec/zenlish/trie/trie_spec.rb
305
337
  - spec/zenlish/wclasses/common_noun_spec.rb
306
338
  - spec/zenlish/wclasses/demonstrative_determiner_spec.rb
307
339
  - spec/zenlish/wclasses/irregular_verb_can_spec.rb
@@ -315,5 +347,6 @@ test_files:
315
347
  - spec/zenlish/wclasses/preposition_spec.rb
316
348
  - spec/zenlish/wclasses/proper_noun_spec.rb
317
349
  - spec/zenlish/wclasses/regular_verb_spec.rb
350
+ - spec/zenlish/wclasses/regular_verb_want_spec.rb
318
351
  - spec/zenlish/wclasses/verb_spec.rb
319
352
  - spec/zenlish_spec.rb