zenlish 0.2.05 → 0.2.06

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +455 -0
  3. data/CHANGELOG.md +11 -0
  4. data/Gemfile +5 -3
  5. data/Rakefile +5 -3
  6. data/lib/zenlish/feature/boolean_domain.rb +6 -4
  7. data/lib/zenlish/feature/boolean_value.rb +3 -2
  8. data/lib/zenlish/feature/enumeration_domain.rb +5 -2
  9. data/lib/zenlish/feature/feature.rb +9 -7
  10. data/lib/zenlish/feature/feature_def.rb +9 -6
  11. data/lib/zenlish/feature/feature_domain.rb +4 -2
  12. data/lib/zenlish/feature/feature_struct.rb +3 -1
  13. data/lib/zenlish/feature/feature_struct_def.rb +5 -1
  14. data/lib/zenlish/feature/feature_struct_def_bearer.rb +6 -4
  15. data/lib/zenlish/feature/feature_value.rb +4 -2
  16. data/lib/zenlish/feature/identifier_domain.rb +5 -3
  17. data/lib/zenlish/feature/identifier_value.rb +3 -2
  18. data/lib/zenlish/feature/symbol_value.rb +3 -1
  19. data/lib/zenlish/inflect/atomic_o_expression.rb +2 -1
  20. data/lib/zenlish/inflect/composite_o_expression.rb +3 -1
  21. data/lib/zenlish/inflect/concatenation.rb +3 -2
  22. data/lib/zenlish/inflect/equals_literal.rb +3 -1
  23. data/lib/zenlish/inflect/feature_heading.rb +2 -5
  24. data/lib/zenlish/inflect/formal_argument.rb +3 -1
  25. data/lib/zenlish/inflect/function_call.rb +4 -1
  26. data/lib/zenlish/inflect/heading.rb +2 -0
  27. data/lib/zenlish/inflect/inflection_rule.rb +2 -0
  28. data/lib/zenlish/inflect/inflection_table.rb +6 -4
  29. data/lib/zenlish/inflect/inflection_table_builder.rb +21 -18
  30. data/lib/zenlish/inflect/input_asis.rb +3 -0
  31. data/lib/zenlish/inflect/input_expression.rb +4 -2
  32. data/lib/zenlish/inflect/literal_asis.rb +4 -1
  33. data/lib/zenlish/inflect/matches_pattern.rb +2 -0
  34. data/lib/zenlish/inflect/membership.rb +2 -0
  35. data/lib/zenlish/inflect/method_heading.rb +3 -6
  36. data/lib/zenlish/inflect/not_equals_literal.rb +2 -0
  37. data/lib/zenlish/inflect/nullary_input_expression.rb +3 -1
  38. data/lib/zenlish/inflect/output_expression.rb +2 -0
  39. data/lib/zenlish/inflect/substitution.rb +3 -1
  40. data/lib/zenlish/inflect/unary_input_expression.rb +4 -1
  41. data/lib/zenlish/inflect/unconditionally_true.rb +4 -2
  42. data/lib/zenlish/lang/dictionary.rb +19 -16
  43. data/lib/zenlish/lang/lemmatizer.rb +40 -0
  44. data/lib/zenlish/lang/zenlish_grammar.rb +6 -4
  45. data/lib/zenlish/lex/empty_lexicon_factory.rb +3 -2
  46. data/lib/zenlish/lex/lexeme.rb +6 -4
  47. data/lib/zenlish/lex/lexical_entry.rb +6 -4
  48. data/lib/zenlish/lex/lexicon.rb +4 -3
  49. data/lib/zenlish/lex/literal.rb +3 -1
  50. data/lib/zenlish/lexer/lexer.rb +144 -0
  51. data/lib/zenlish/trie/base_trie_node.rb +27 -0
  52. data/lib/zenlish/trie/trie.rb +132 -0
  53. data/lib/zenlish/trie/trie_node.rb +21 -0
  54. data/lib/zenlish/trie/trie_root.rb +10 -0
  55. data/lib/zenlish/version.rb +3 -1
  56. data/lib/zenlish/wclasses/adjective.rb +4 -2
  57. data/lib/zenlish/wclasses/adverb.rb +3 -1
  58. data/lib/zenlish/wclasses/adverb_maybe.rb +3 -1
  59. data/lib/zenlish/wclasses/adverb_not.rb +2 -0
  60. data/lib/zenlish/wclasses/all_word_classes.rb +3 -1
  61. data/lib/zenlish/wclasses/article.rb +2 -0
  62. data/lib/zenlish/wclasses/auxiliary.rb +2 -0
  63. data/lib/zenlish/wclasses/auxiliary_be.rb +7 -6
  64. data/lib/zenlish/wclasses/auxiliary_do.rb +6 -5
  65. data/lib/zenlish/wclasses/cardinal.rb +3 -1
  66. data/lib/zenlish/wclasses/common_noun.rb +2 -0
  67. data/lib/zenlish/wclasses/comparative_particle.rb +5 -3
  68. data/lib/zenlish/wclasses/conjunction.rb +2 -0
  69. data/lib/zenlish/wclasses/conjunctive_pronoun.rb +2 -0
  70. data/lib/zenlish/wclasses/coordinator.rb +4 -2
  71. data/lib/zenlish/wclasses/definite_article.rb +2 -0
  72. data/lib/zenlish/wclasses/degree_adverb.rb +2 -0
  73. data/lib/zenlish/wclasses/demonstrative_determiner.rb +6 -4
  74. data/lib/zenlish/wclasses/demonstrative_pronoun.rb +2 -0
  75. data/lib/zenlish/wclasses/determiner.rb +3 -1
  76. data/lib/zenlish/wclasses/distributive_determiner.rb +2 -0
  77. data/lib/zenlish/wclasses/existential_there.rb +2 -0
  78. data/lib/zenlish/wclasses/fronting_quantifier.rb +3 -1
  79. data/lib/zenlish/wclasses/indefinite_article.rb +2 -0
  80. data/lib/zenlish/wclasses/indefinite_pronoun.rb +3 -1
  81. data/lib/zenlish/wclasses/irregular_linking_verb.rb +3 -1
  82. data/lib/zenlish/wclasses/irregular_verb.rb +13 -15
  83. data/lib/zenlish/wclasses/irregular_verb_be.rb +8 -7
  84. data/lib/zenlish/wclasses/irregular_verb_can.rb +8 -7
  85. data/lib/zenlish/wclasses/irregular_verb_do.rb +7 -6
  86. data/lib/zenlish/wclasses/irregular_verb_extension.rb +8 -6
  87. data/lib/zenlish/wclasses/irregular_verb_have.rb +12 -11
  88. data/lib/zenlish/wclasses/irregular_verb_know.rb +3 -1
  89. data/lib/zenlish/wclasses/irregular_verb_say.rb +3 -1
  90. data/lib/zenlish/wclasses/irregular_verb_think.rb +3 -1
  91. data/lib/zenlish/wclasses/lexical_verb.rb +3 -4
  92. data/lib/zenlish/wclasses/linking_adverb.rb +2 -0
  93. data/lib/zenlish/wclasses/modal_verb_can.rb +7 -5
  94. data/lib/zenlish/wclasses/noun.rb +4 -2
  95. data/lib/zenlish/wclasses/numeral.rb +2 -0
  96. data/lib/zenlish/wclasses/personal_pronoun.rb +8 -6
  97. data/lib/zenlish/wclasses/possessive_determiner.rb +13 -12
  98. data/lib/zenlish/wclasses/preposition.rb +3 -1
  99. data/lib/zenlish/wclasses/preposition_of.rb +2 -0
  100. data/lib/zenlish/wclasses/preposition_than.rb +2 -0
  101. data/lib/zenlish/wclasses/pronoun.rb +3 -1
  102. data/lib/zenlish/wclasses/proper_noun.rb +10 -8
  103. data/lib/zenlish/wclasses/quantifier.rb +3 -1
  104. data/lib/zenlish/wclasses/regular_verb.rb +9 -9
  105. data/lib/zenlish/wclasses/regular_verb_want.rb +4 -2
  106. data/lib/zenlish/wclasses/relative_pronoun.rb +4 -2
  107. data/lib/zenlish/wclasses/subordinating_conjunction.rb +7 -5
  108. data/lib/zenlish/wclasses/verb.rb +5 -3
  109. data/lib/zenlish/wclasses/word_class.rb +7 -5
  110. data/spec/spec_helper.rb +3 -1
  111. data/spec/zenlish/feature/boolean_domain_spec.rb +2 -2
  112. data/spec/zenlish/feature/boolean_value_spec.rb +1 -1
  113. data/spec/zenlish/feature/enumeration_domain_spec.rb +7 -7
  114. data/spec/zenlish/feature/feature_spec.rb +3 -3
  115. data/spec/zenlish/feature/feature_struct_def_bearer_spec.rb +10 -8
  116. data/spec/zenlish/feature/feature_struct_def_spec.rb +3 -2
  117. data/spec/zenlish/feature/identifier_domain_spec.rb +3 -3
  118. data/spec/zenlish/feature/identifier_value_spec.rb +4 -4
  119. data/spec/zenlish/feature/symbol_value_spec.rb +3 -3
  120. data/spec/zenlish/inflect/concatenation_spec.rb +7 -7
  121. data/spec/zenlish/inflect/feature_heading_spec.rb +9 -9
  122. data/spec/zenlish/inflect/formal_argument_spec.rb +2 -2
  123. data/spec/zenlish/inflect/function_call_spec.rb +4 -4
  124. data/spec/zenlish/inflect/inflection_rule_spec.rb +9 -5
  125. data/spec/zenlish/inflect/inflection_table_builder_spec.rb +26 -21
  126. data/spec/zenlish/inflect/inflection_table_spec.rb +18 -16
  127. data/spec/zenlish/inflect/input_asis_spec.rb +2 -6
  128. data/spec/zenlish/inflect/literal_asis_spec.rb +3 -3
  129. data/spec/zenlish/inflect/matches_pattern_spec.rb +1 -1
  130. data/spec/zenlish/inflect/membership_spec.rb +2 -2
  131. data/spec/zenlish/inflect/method_heading_spec.rb +3 -3
  132. data/spec/zenlish/inflect/substitution_spec.rb +1 -1
  133. data/spec/zenlish/inflect/unconditionally_true_spec.rb +2 -2
  134. data/spec/zenlish/lang/dictionary_spec.rb +11 -12
  135. data/spec/zenlish/lang/lemmatizer_spec.rb +43 -0
  136. data/spec/zenlish/lang/zenlish_grammar_spec.rb +2 -2
  137. data/spec/zenlish/lex/lexeme_spec.rb +11 -12
  138. data/spec/zenlish/lex/lexical_entry_spec.rb +1 -2
  139. data/spec/zenlish/lex/lexicon_spec.rb +9 -8
  140. data/spec/zenlish/lex/literal_spec.rb +2 -2
  141. data/spec/zenlish/lexer/lexer_spec.rb +52 -0
  142. data/spec/zenlish/parser/lesson1_spec.rb +2 -2
  143. data/spec/zenlish/parser/lesson2_spec.rb +31 -36
  144. data/spec/zenlish/parser/lesson3_spec.rb +98 -138
  145. data/spec/zenlish/parser/zparser_spec.rb +2 -1
  146. data/spec/zenlish/support/minimal_lexicon.rb +2 -0
  147. data/spec/zenlish/support/var2word.rb +18 -9
  148. data/spec/zenlish/trie/base_trie_node_spec.rb +33 -0
  149. data/spec/zenlish/trie/trie_spec.rb +108 -0
  150. data/spec/zenlish/wclasses/common_noun_spec.rb +6 -10
  151. data/spec/zenlish/wclasses/demonstrative_determiner_spec.rb +2 -2
  152. data/spec/zenlish/wclasses/irregular_verb_can_spec.rb +9 -9
  153. data/spec/zenlish/wclasses/irregular_verb_spec.rb +9 -9
  154. data/spec/zenlish/wclasses/lexical_verb_spec.rb +3 -3
  155. data/spec/zenlish/wclasses/modal_verb_can_spec.rb +4 -4
  156. data/spec/zenlish/wclasses/personal_pronoun_spec.rb +6 -9
  157. data/spec/zenlish/wclasses/possessive_determiner_spec.rb +19 -22
  158. data/spec/zenlish/wclasses/regular_verb_spec.rb +20 -20
  159. data/spec/zenlish/wclasses/regular_verb_want_spec.rb +30 -0
  160. data/spec/zenlish_spec.rb +3 -1
  161. data/zenlish.gemspec +17 -14
  162. metadata +26 -9
@@ -18,17 +18,17 @@ module Zenlish
18
18
  end
19
19
  end # context
20
20
 
21
- context 'Provided services:' do
21
+ context 'Provided services:' do
22
22
  def build_det(aBaseForm, aFeatureHash)
23
23
  entry = Zenlish::Lex::LexicalEntry.new(aBaseForm)
24
- lexeme = Zenlish::Lex::Lexeme.new(subject, entry, aFeatureHash)
24
+ Zenlish::Lex::Lexeme.new(subject, entry, aFeatureHash)
25
25
  end
26
26
 
27
27
  def test_all_inflections(det_form, aFeatureHash, wforms)
28
28
  pronoun = build_det(det_form, aFeatureHash)
29
29
  inflected = pronoun.all_inflections
30
30
  expect(inflected.sort).to eq(wforms.sort)
31
- end
31
+ end
32
32
 
33
33
  it 'should know that it is inflectable' do
34
34
  expect(subject).not_to be_invariable
@@ -37,31 +37,28 @@ module Zenlish
37
37
  it 'should know its feature definitions' do
38
38
  expect(subject['NUMBER']).to be_kind_of(Feature::FeatureDef)
39
39
  expect(subject['PERSON']).to be_kind_of(Feature::FeatureDef)
40
- expect(subject['GENDER']).to be_kind_of(Feature::FeatureDef)
41
- expect(subject['PARADIGM'].default.val).to eq('possdet_1st_paradigm')
40
+ expect(subject['GENDER']).to be_kind_of(Feature::FeatureDef)
41
+ expect(subject['PARADIGM'].default.val).to eq('possdet_1st_paradigm')
42
42
  end
43
-
44
- it 'should give all word forms for the first person' do
45
- feature_defs = { 'PERSON' => enumeration(:first),
46
- 'GENDER' => enumeration(:feminine, :masculine)
47
- }
48
- test_all_inflections('my', feature_defs, ['my', 'our'])
43
+
44
+ it 'should give all word forms for the first person' do
45
+ feature_defs = { 'PERSON' => enumeration(:first),
46
+ 'GENDER' => enumeration(:feminine, :masculine) }
47
+ test_all_inflections('my', feature_defs, %w[my our])
49
48
  end
50
-
51
- it 'should give all word forms for the second person' do
52
- feature_defs = { 'PERSON' => enumeration(:second),
49
+
50
+ it 'should give all word forms for the second person' do
51
+ feature_defs = { 'PERSON' => enumeration(:second),
53
52
  'GENDER' => enumeration(:feminine, :masculine),
54
- 'PARADIGM' => [identifier, 'possdet_2nd_paradigm']
55
- }
53
+ 'PARADIGM' => [identifier, 'possdet_2nd_paradigm'] }
56
54
  test_all_inflections('your', feature_defs, ['your'])
57
55
  end
58
56
 
59
- it 'should give all word forms for the third person' do
60
- feature_defs = { 'PERSON' => enumeration(:third),
61
- 'PARADIGM' => [identifier, 'possdet_3rd_paradigm']
62
- }
63
- test_all_inflections('its', feature_defs, ['its', 'her', 'his', 'their'])
64
- end
57
+ it 'should give all word forms for the third person' do
58
+ feature_defs = { 'PERSON' => enumeration(:third),
59
+ 'PARADIGM' => [identifier, 'possdet_3rd_paradigm'] }
60
+ test_all_inflections('its', feature_defs, %w[its her his their])
61
+ end
65
62
 
66
63
  # it 'should give all word forms' do
67
64
  # test_all_inflections('this', ['this', 'that', 'these', 'those'])
@@ -24,17 +24,17 @@ module Zenlish
24
24
  expect(subject['PERSON']).to be_kind_of(Feature::FeatureDef)
25
25
  expect(subject['PARADIGM'].default.val).to eq('Regular_inflection')
26
26
  end
27
-
27
+
28
28
  let(:present_1sg) { [:first, :singular, :present, nil] }
29
29
  let(:present_3sg) { [:third, :singular, :present, nil] }
30
30
  let(:present_1pl) { [:first, :plural, :present, nil] }
31
31
  let(:progressive) { [nil, nil, :progressive, nil] }
32
32
  let(:past_simple) { [nil, nil, :past_simple, nil] }
33
- let(:past_participle) { [nil, nil, :past_participle, nil] }
34
-
33
+ let(:past_participle) { [nil, nil, :past_participle, nil] }
34
+
35
35
  def build_verb(aBaseForm)
36
36
  entry = Zenlish::Lex::LexicalEntry.new(aBaseForm)
37
- lexeme = Zenlish::Lex::Lexeme.new(subject, entry)
37
+ Zenlish::Lex::Lexeme.new(subject, entry)
38
38
  end
39
39
 
40
40
  def test_inflection_of(verb_form, pairs)
@@ -43,7 +43,7 @@ module Zenlish
43
43
  expect(verb.inflect(constraints)).to eq(expected_form)
44
44
  end
45
45
  end
46
-
46
+
47
47
  def test_all_inflections(verb_form, wforms)
48
48
  verb = build_verb(verb_form)
49
49
  inflected = verb.all_inflections
@@ -51,7 +51,7 @@ module Zenlish
51
51
  end
52
52
 
53
53
  it 'should know how to inflect regular verbs' do
54
- expectations_1 = [
54
+ expectations1 = [
55
55
  [present_1sg, 'exist'],
56
56
  [present_3sg, 'exists'],
57
57
  [present_1pl, 'exist'],
@@ -59,9 +59,9 @@ module Zenlish
59
59
  [past_simple, 'existed'],
60
60
  [past_participle, 'existed']
61
61
  ]
62
- test_inflection_of('exist', expectations_1)
62
+ test_inflection_of('exist', expectations1)
63
63
 
64
- expectations_2 = [
64
+ expectations2 = [
65
65
  [present_1sg, 'move'],
66
66
  [present_3sg, 'moves'],
67
67
  [present_1pl, 'move'],
@@ -69,9 +69,9 @@ module Zenlish
69
69
  [past_simple, 'moved'],
70
70
  [past_participle, 'moved']
71
71
  ]
72
- test_inflection_of('move', expectations_2)
72
+ test_inflection_of('move', expectations2)
73
73
 
74
- expectations_3 = [
74
+ expectations3 = [
75
75
  [present_1sg, 'try'],
76
76
  [present_3sg, 'tries'],
77
77
  [present_1pl, 'try'],
@@ -79,9 +79,9 @@ module Zenlish
79
79
  [past_simple, 'tried'],
80
80
  [past_participle, 'tried']
81
81
  ]
82
- test_inflection_of('try', expectations_3)
82
+ test_inflection_of('try', expectations3)
83
83
 
84
- expectations_4 = [
84
+ expectations4 = [
85
85
  [present_1sg, 'touch'],
86
86
  [present_3sg, 'touches'],
87
87
  [present_1pl, 'touch'],
@@ -89,9 +89,9 @@ module Zenlish
89
89
  [past_simple, 'touched'],
90
90
  [past_participle, 'touched']
91
91
  ]
92
- test_inflection_of('touch', expectations_4)
92
+ test_inflection_of('touch', expectations4)
93
93
 
94
- expectations_5 = [
94
+ expectations5 = [
95
95
  [present_1sg, 'die'],
96
96
  [present_3sg, 'dies'],
97
97
  [present_1pl, 'die'],
@@ -99,9 +99,9 @@ module Zenlish
99
99
  [past_simple, 'died'],
100
100
  [past_participle, 'died']
101
101
  ]
102
- test_inflection_of('die', expectations_5)
102
+ test_inflection_of('die', expectations5)
103
103
 
104
- expectations_6 = [
104
+ expectations6 = [
105
105
  [present_1sg, 'want'],
106
106
  [present_3sg, 'wants'],
107
107
  [present_1pl, 'want'],
@@ -109,13 +109,13 @@ module Zenlish
109
109
  [past_simple, 'wanted'],
110
110
  [past_participle, 'wanted']
111
111
  ]
112
- test_inflection_of('want', expectations_6)
112
+ test_inflection_of('want', expectations6)
113
113
  end
114
-
114
+
115
115
  it 'should give all word forms of a given verb' do
116
- test_all_inflections('die', ['die', 'dies', 'dying', 'died'])
116
+ test_all_inflections('die', %w[die dies dying died])
117
117
  end
118
118
  end # context
119
119
  end # describe
120
120
  end # module
121
- end # module
121
+ end # module
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../spec_helper' # Use the RSpec framework
4
+ require_relative '../../../lib/zenlish/lex/lexical_entry'
5
+ require_relative '../../../lib/zenlish/lex/lexeme'
6
+
7
+ # Load the class under test
8
+ require_relative '../../../lib/zenlish/wclasses/regular_verb_want'
9
+
10
+ module Zenlish
11
+ module WClasses
12
+ describe RegularVerbWant do
13
+ subject { RegularVerbWant.new }
14
+
15
+ context 'Initialization:' do
16
+ it 'should be initialized without argument' do
17
+ expect { RegularVerbWant.new }.not_to raise_error
18
+ end
19
+ end # context
20
+
21
+ context 'Provided services:' do
22
+ it 'should know its inherited feature definitions' do
23
+ expect(subject['NUMBER']).to be_kind_of(Feature::FeatureDef)
24
+ expect(subject['PERSON']).to be_kind_of(Feature::FeatureDef)
25
+ expect(subject['PARADIGM'].default.val).to eq('Regular_inflection')
26
+ end
27
+ end # context
28
+ end # describe
29
+ end # module
30
+ end # module
data/spec/zenlish_spec.rb CHANGED
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  RSpec.describe Zenlish do
2
- it "has a version number" do
4
+ it 'has a version number' do
3
5
  expect(Zenlish::VERSION).not_to be nil
4
6
  end
5
7
  end
data/zenlish.gemspec CHANGED
@@ -1,6 +1,8 @@
1
- lib = File.expand_path("../lib", __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require "zenlish/version"
5
+ require 'zenlish/version'
4
6
 
5
7
  # Implementation module
6
8
  module PkgExtending
@@ -14,7 +16,7 @@ module PkgExtending
14
16
  'Gemfile',
15
17
  'Rakefile',
16
18
  'CHANGELOG.md',
17
- 'CODE_OF_CONDUCT.md',
19
+ 'CODE_OF_CONDUCT.md',
18
20
  'LICENSE.txt',
19
21
  'README.md',
20
22
  'zenlish.gemspec',
@@ -34,29 +36,30 @@ module PkgExtending
34
36
  end
35
37
  end # module
36
38
 
37
-
38
39
  Gem::Specification.new do |spec|
39
40
  spec.name = 'zenlish'
40
41
  spec.version = Zenlish::VERSION
41
42
  spec.authors = ['Dimitri Geshef']
42
43
  spec.email = ['famished.tiger@yahoo.com']
43
44
 
44
- spec.summary = %q{A toolkit for the Zenlish language (a simplified English language).}
45
- spec.description = %q{A toolkit for the Zenlish language (a simplified English language).}
46
- spec.homepage = "https://github.com/famished-tiger/zenlish"
45
+ spec.summary = 'A toolkit for the Zenlish language (a simplified English language).'
46
+ spec.description = 'A toolkit for the Zenlish language (a simplified English language).'
47
+ spec.homepage = 'https://github.com/famished-tiger/zenlish'
47
48
  spec.license = 'MIT'
48
49
 
49
50
  spec.bindir = 'exe'
50
51
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
51
- spec.require_paths = ["lib"]
52
-
52
+ spec.require_paths = ['lib']
53
+
53
54
  PkgExtending.pkg_files(spec)
54
55
  PkgExtending.pkg_documentation(spec)
55
-
56
+
57
+ spec.required_ruby_version = '>= 2.5.0'
58
+
56
59
  # Runtime dependencies
57
- spec.add_dependency 'rley', '~> 0.7.06'
60
+ spec.add_dependency 'rley', '~> 0.8.03'
58
61
 
59
- spec.add_development_dependency "bundler", "~> 2.0"
60
- spec.add_development_dependency "rake", "~> 12.0"
61
- spec.add_development_dependency "rspec", "~> 3.0"
62
+ spec.add_development_dependency 'bundler', '~> 2.0'
63
+ spec.add_development_dependency 'rake', '~> 12.0'
64
+ spec.add_development_dependency 'rspec', '~> 3.0'
62
65
  end
metadata CHANGED
@@ -1,14 +1,14 @@
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.06
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dimitri Geshef
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-16 00:00:00.000000000 Z
11
+ date: 2021-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rley
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.7.06
19
+ version: 0.8.03
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.7.06
26
+ version: 0.8.03
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -75,6 +75,7 @@ extra_rdoc_files:
75
75
  - README.md
76
76
  files:
77
77
  - ".rspec"
78
+ - ".rubocop.yml"
78
79
  - ".travis.yml"
79
80
  - ".yardopts"
80
81
  - CHANGELOG.md
@@ -122,13 +123,19 @@ files:
122
123
  - lib/zenlish/inflect/unary_input_expression.rb
123
124
  - lib/zenlish/inflect/unconditionally_true.rb
124
125
  - lib/zenlish/lang/dictionary.rb
126
+ - lib/zenlish/lang/lemmatizer.rb
125
127
  - lib/zenlish/lang/zenlish_grammar.rb
126
128
  - lib/zenlish/lex/empty_lexicon_factory.rb
127
129
  - lib/zenlish/lex/lexeme.rb
128
130
  - lib/zenlish/lex/lexical_entry.rb
129
131
  - lib/zenlish/lex/lexicon.rb
130
132
  - lib/zenlish/lex/literal.rb
133
+ - lib/zenlish/lexer/lexer.rb
131
134
  - lib/zenlish/parser/zparser.rb
135
+ - lib/zenlish/trie/base_trie_node.rb
136
+ - lib/zenlish/trie/trie.rb
137
+ - lib/zenlish/trie/trie_node.rb
138
+ - lib/zenlish/trie/trie_root.rb
132
139
  - lib/zenlish/version.rb
133
140
  - lib/zenlish/wclasses/adjective.rb
134
141
  - lib/zenlish/wclasses/adverb.rb
@@ -212,18 +219,22 @@ files:
212
219
  - spec/zenlish/inflect/substitution_spec.rb
213
220
  - spec/zenlish/inflect/unconditionally_true_spec.rb
214
221
  - spec/zenlish/lang/dictionary_spec.rb
222
+ - spec/zenlish/lang/lemmatizer_spec.rb
215
223
  - spec/zenlish/lang/zenlish_grammar_spec.rb
216
224
  - spec/zenlish/lex/empty_lexicon_factory_spec.rb
217
225
  - spec/zenlish/lex/lexeme_spec.rb
218
226
  - spec/zenlish/lex/lexical_entry_spec.rb
219
227
  - spec/zenlish/lex/lexicon_spec.rb
220
228
  - spec/zenlish/lex/literal_spec.rb
229
+ - spec/zenlish/lexer/lexer_spec.rb
221
230
  - spec/zenlish/parser/lesson1_spec.rb
222
231
  - spec/zenlish/parser/lesson2_spec.rb
223
232
  - spec/zenlish/parser/lesson3_spec.rb
224
233
  - spec/zenlish/parser/zparser_spec.rb
225
234
  - spec/zenlish/support/minimal_lexicon.rb
226
235
  - spec/zenlish/support/var2word.rb
236
+ - spec/zenlish/trie/base_trie_node_spec.rb
237
+ - spec/zenlish/trie/trie_spec.rb
227
238
  - spec/zenlish/wclasses/common_noun_spec.rb
228
239
  - spec/zenlish/wclasses/demonstrative_determiner_spec.rb
229
240
  - spec/zenlish/wclasses/irregular_verb_can_spec.rb
@@ -237,6 +248,7 @@ files:
237
248
  - spec/zenlish/wclasses/preposition_spec.rb
238
249
  - spec/zenlish/wclasses/proper_noun_spec.rb
239
250
  - spec/zenlish/wclasses/regular_verb_spec.rb
251
+ - spec/zenlish/wclasses/regular_verb_want_spec.rb
240
252
  - spec/zenlish/wclasses/verb_spec.rb
241
253
  - spec/zenlish_spec.rb
242
254
  - zenlish.gemspec
@@ -244,7 +256,7 @@ homepage: https://github.com/famished-tiger/zenlish
244
256
  licenses:
245
257
  - MIT
246
258
  metadata: {}
247
- post_install_message:
259
+ post_install_message:
248
260
  rdoc_options:
249
261
  - --charset=UTF-8 --exclude="examples|spec"
250
262
  require_paths:
@@ -253,15 +265,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
253
265
  requirements:
254
266
  - - ">="
255
267
  - !ruby/object:Gem::Version
256
- version: '0'
268
+ version: 2.5.0
257
269
  required_rubygems_version: !ruby/object:Gem::Requirement
258
270
  requirements:
259
271
  - - ">="
260
272
  - !ruby/object:Gem::Version
261
273
  version: '0'
262
274
  requirements: []
263
- rubygems_version: 3.0.3
264
- signing_key:
275
+ rubygems_version: 3.1.4
276
+ signing_key:
265
277
  specification_version: 4
266
278
  summary: A toolkit for the Zenlish language (a simplified English language).
267
279
  test_files:
@@ -292,16 +304,20 @@ test_files:
292
304
  - spec/zenlish/inflect/substitution_spec.rb
293
305
  - spec/zenlish/inflect/unconditionally_true_spec.rb
294
306
  - spec/zenlish/lang/dictionary_spec.rb
307
+ - spec/zenlish/lang/lemmatizer_spec.rb
295
308
  - spec/zenlish/lang/zenlish_grammar_spec.rb
296
309
  - spec/zenlish/lex/empty_lexicon_factory_spec.rb
297
310
  - spec/zenlish/lex/lexeme_spec.rb
298
311
  - spec/zenlish/lex/lexical_entry_spec.rb
299
312
  - spec/zenlish/lex/lexicon_spec.rb
300
313
  - spec/zenlish/lex/literal_spec.rb
314
+ - spec/zenlish/lexer/lexer_spec.rb
301
315
  - spec/zenlish/parser/lesson1_spec.rb
302
316
  - spec/zenlish/parser/lesson2_spec.rb
303
317
  - spec/zenlish/parser/lesson3_spec.rb
304
318
  - spec/zenlish/parser/zparser_spec.rb
319
+ - spec/zenlish/trie/base_trie_node_spec.rb
320
+ - spec/zenlish/trie/trie_spec.rb
305
321
  - spec/zenlish/wclasses/common_noun_spec.rb
306
322
  - spec/zenlish/wclasses/demonstrative_determiner_spec.rb
307
323
  - spec/zenlish/wclasses/irregular_verb_can_spec.rb
@@ -315,5 +331,6 @@ test_files:
315
331
  - spec/zenlish/wclasses/preposition_spec.rb
316
332
  - spec/zenlish/wclasses/proper_noun_spec.rb
317
333
  - spec/zenlish/wclasses/regular_verb_spec.rb
334
+ - spec/zenlish/wclasses/regular_verb_want_spec.rb
318
335
  - spec/zenlish/wclasses/verb_spec.rb
319
336
  - spec/zenlish_spec.rb