zenlish 0.1.25 → 0.2.00

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -1
  3. data/LICENSE.txt +1 -1
  4. data/README.md +3 -3
  5. data/lib/zenlish/feature/boolean_domain.rb +29 -0
  6. data/lib/zenlish/feature/boolean_value.rb +9 -0
  7. data/lib/zenlish/feature/enumeration_domain.rb +32 -0
  8. data/lib/zenlish/feature/feature.rb +30 -0
  9. data/lib/zenlish/feature/feature_def.rb +48 -0
  10. data/lib/zenlish/feature/feature_domain.rb +9 -0
  11. data/lib/zenlish/feature/feature_struct.rb +24 -0
  12. data/lib/zenlish/feature/feature_struct_def.rb +44 -0
  13. data/lib/zenlish/feature/feature_struct_def_bearer.rb +65 -0
  14. data/lib/zenlish/feature/feature_value.rb +17 -0
  15. data/lib/zenlish/feature/identifier_domain.rb +29 -0
  16. data/lib/zenlish/feature/identifier_value.rb +9 -0
  17. data/lib/zenlish/feature/symbol_value.rb +8 -0
  18. data/lib/zenlish/inflect/atomic_o_expression.rb +9 -0
  19. data/lib/zenlish/inflect/composite_o_expression.rb +14 -0
  20. data/lib/zenlish/inflect/concatenation.rb +36 -0
  21. data/lib/zenlish/inflect/equals_literal.rb +25 -0
  22. data/lib/zenlish/inflect/feature_heading.rb +16 -0
  23. data/lib/zenlish/inflect/formal_argument.rb +11 -0
  24. data/lib/zenlish/inflect/heading.rb +11 -0
  25. data/lib/zenlish/inflect/inflection_rule.rb +28 -0
  26. data/lib/zenlish/inflect/inflection_table.rb +46 -0
  27. data/lib/zenlish/inflect/inflection_table_builder.rb +120 -0
  28. data/lib/zenlish/inflect/input_asis.rb +22 -0
  29. data/lib/zenlish/inflect/input_expression.rb +9 -0
  30. data/lib/zenlish/inflect/literal_asis.rb +17 -0
  31. data/lib/zenlish/inflect/matches_pattern.rb +26 -0
  32. data/lib/zenlish/inflect/method_heading.rb +16 -0
  33. data/lib/zenlish/inflect/nullary_input_expression.rb +8 -0
  34. data/lib/zenlish/inflect/output_expression.rb +6 -0
  35. data/lib/zenlish/inflect/substitution.rb +65 -0
  36. data/lib/zenlish/inflect/unary_input_expression.rb +13 -0
  37. data/lib/zenlish/inflect/unconditionally_true.rb +11 -0
  38. data/lib/zenlish/lang/dictionary.rb +19 -6
  39. data/lib/zenlish/lang/zenlish_grammar.rb +1 -0
  40. data/lib/zenlish/lex/empty_lexicon_factory.rb +3 -0
  41. data/lib/zenlish/lex/lexeme.rb +27 -4
  42. data/lib/zenlish/lex/lexicon.rb +3 -0
  43. data/lib/zenlish/lex/literal.rb +5 -1
  44. data/lib/zenlish/version.rb +1 -1
  45. data/lib/zenlish/wclasses/common_noun.rb +45 -0
  46. data/lib/zenlish/wclasses/noun.rb +21 -0
  47. data/lib/zenlish/wclasses/preposition.rb +5 -0
  48. data/lib/zenlish/wclasses/proper_noun.rb +11 -0
  49. data/lib/zenlish/wclasses/verb.rb +9 -1
  50. data/lib/zenlish/wclasses/word_class.rb +21 -6
  51. data/spec/spec_helper.rb +2 -3
  52. data/spec/zenlish/feature/boolean_domain_spec.rb +35 -0
  53. data/spec/zenlish/feature/boolean_value_spec.rb +26 -0
  54. data/spec/zenlish/feature/enumeration_domain_spec.rb +42 -0
  55. data/spec/zenlish/feature/feature_def_spec.rb +50 -0
  56. data/spec/zenlish/feature/feature_spec.rb +51 -0
  57. data/spec/zenlish/feature/feature_struct_def_bearer_spec.rb +54 -0
  58. data/spec/zenlish/feature/feature_struct_def_spec.rb +69 -0
  59. data/spec/zenlish/feature/identifier_domain_spec.rb +36 -0
  60. data/spec/zenlish/feature/identifier_value_spec.rb +26 -0
  61. data/spec/zenlish/feature/symbol_value_spec.rb +27 -0
  62. data/spec/zenlish/inflect/concatenation_spec.rb +40 -0
  63. data/spec/zenlish/inflect/equals_literal_spec.rb +58 -0
  64. data/spec/zenlish/inflect/feature_heading_spec.rb +30 -0
  65. data/spec/zenlish/inflect/formal_argument_spec.rb +25 -0
  66. data/spec/zenlish/inflect/inflection_rule_spec.rb +102 -0
  67. data/spec/zenlish/inflect/inflection_table_builder_spec.rb +127 -0
  68. data/spec/zenlish/inflect/inflection_table_spec.rb +129 -0
  69. data/spec/zenlish/inflect/input_asis_spec.rb +50 -0
  70. data/spec/zenlish/inflect/literal_asis_spec.rb +31 -0
  71. data/spec/zenlish/inflect/matches_pattern_spec.rb +61 -0
  72. data/spec/zenlish/inflect/method_heading_spec.rb +31 -0
  73. data/spec/zenlish/inflect/substitution_spec.rb +43 -0
  74. data/spec/zenlish/inflect/unconditionally_true_spec.rb +28 -0
  75. data/spec/zenlish/lang/dictionary_spec.rb +33 -0
  76. data/spec/zenlish/lex/lexeme_spec.rb +24 -9
  77. data/spec/zenlish/lex/literal_spec.rb +3 -11
  78. data/spec/zenlish/parser/lesson3_spec.rb +44 -0
  79. data/spec/zenlish/support/minimal_lexicon.rb +0 -2
  80. data/spec/zenlish/support/var2word.rb +5 -1
  81. data/spec/zenlish/wclasses/common_noun_spec.rb +25 -4
  82. data/spec/zenlish/wclasses/noun_spec.rb +31 -0
  83. data/spec/zenlish/wclasses/preposition_spec.rb +24 -0
  84. data/spec/zenlish/wclasses/verb_spec.rb +24 -0
  85. metadata +89 -2
@@ -3,34 +3,49 @@
3
3
  require_relative '../../spec_helper' # Use the RSpec framework
4
4
  require_relative '../../../lib/zenlish/wclasses/all_word_classes'
5
5
  require_relative '../../../lib/zenlish/lex/lexical_entry'
6
+ require_relative '../../../lib/zenlish/feature/feature_struct_def_bearer'
6
7
  require_relative '../../../lib/zenlish/lex/lexeme' # Load the class under test
7
8
 
8
9
  module Zenlish
9
10
  module Lex
10
11
  describe Lexeme do
11
- let(:sample_wclass) { WClasses::CommonNoun.new }
12
- let(:sample_lemma) { 'thing' }
13
- let(:sample_entry) { LexicalEntry.new(sample_lemma) }
12
+ include Feature::FeatureStructDefBearer
13
+
14
+ let(:a_wclass) { WClasses::CommonNoun.new }
15
+ let(:a_lemma) { 'people' }
16
+ let(:an_entry) { LexicalEntry.new(a_lemma) }
17
+ let(:a_feat_struct_def) {
18
+ { 'NUMBER' => enumeration(:plural) }
19
+ }
14
20
 
15
- subject { Lexeme.new(sample_wclass, sample_entry) }
21
+ subject { Lexeme.new(a_wclass, an_entry) }
16
22
 
17
23
  context 'Initialization:' do
18
- it 'should be initialized with a word class and a lexical entry' do
19
- expect { Lexeme.new(sample_wclass, sample_entry) }.not_to raise_error
24
+ it 'could be initialized with a word class and a lexical entry' do
25
+ expect { Lexeme.new(a_wclass, an_entry) }.not_to raise_error
20
26
  end
27
+
28
+ it 'could be initialized with a w. class, lexical ent., feature hash' do
29
+ expect { Lexeme.new(a_wclass, an_entry, a_feat_struct_def) }.not_to raise_error
30
+ end
21
31
 
22
32
  it 'should know its word class' do
23
- expect(subject.wclass).to eq(sample_wclass)
33
+ expect(subject.wclass).to eq(a_wclass)
24
34
  end
25
35
 
26
36
  it 'should know its lexical entry' do
27
- expect(subject.entry).to eq(sample_entry)
37
+ expect(subject.entry).to eq(an_entry)
28
38
  end
29
39
  end # context
30
40
 
31
41
  context 'Provided services:' do
32
42
  it 'should know its lemma' do
33
- expect(subject.lemma).to eq(sample_lemma)
43
+ expect(subject.lemma).to eq(a_lemma)
44
+ end
45
+
46
+ it 'should know its own feature defs' do
47
+ instance = Lexeme.new(a_wclass, an_entry, a_feat_struct_def)
48
+ expect(instance['NUMBER'].default.val).to eq(:plural)
34
49
  end
35
50
  end # context
36
51
  end # describe
@@ -21,20 +21,12 @@ module Zenlish
21
21
  it 'should be initialized with a string, a lexeme and a position' do
22
22
  expect { Literal.new('things', sample_lexeme, sample_position) }.not_to raise_error
23
23
  end
24
-
25
- # it 'should know its word class' do
26
- # expect(subject.wclass).to eq(sample_wclass)
27
- # end
28
-
29
- # it 'should know its lexical entry' do
30
- # expect(subject.entry).to eq(sample_entry)
31
- # end
32
24
  end # context
33
25
 
34
26
  context 'Provided services:' do
35
- # it 'should know its lemma' do
36
- # expect(subject.lemma).to eq(sample_lemma)
37
- # end
27
+ it 'should know its lexeme' do
28
+ expect(subject.zlexeme).to eq(sample_lexeme)
29
+ end
38
30
  end # context
39
31
  end # describe
40
32
  end # module
@@ -575,6 +575,50 @@ module Zenlish
575
575
  ]
576
576
  expect { subject.to_pforest(literals) }.not_to raise_error
577
577
  end
578
+
579
+ it 'should parse sample sentences from lesson 3-H' do
580
+ # Sentence 3-28a definiendum: 'J damaged K.'
581
+ literals = [j_, damaged, k_, dot]
582
+ expect { subject.to_pforest(literals) }.not_to raise_error
583
+
584
+ # Sentence 3-28b definiens: 'J did something to K that was bad for K
585
+ # and it changed K like this: Before this happened,
586
+ # some parts of K were good more than now.
587
+ # Before this happened, K could do some things more than it can now.
588
+ # [You cannot move now because something damaged part of your body.]'
589
+ literals = [j_, did, something, to, k_, that, was, bad, for_, k_,
590
+ and_, it_, changed, k_, like, this_as_pronoun, colon,
591
+ before, this_as_pronoun, happened, comma, some, parts, of, k_, were,
592
+ good, more, than, now_as_noun, dot,
593
+ before, this_as_pronoun, happened, comma, k_, could, do_, some,
594
+ things, more, than, it_, can_irregular, now, dot,
595
+ you, can, not_, move, now, because, something, damaged,
596
+ part, of, your, body, dot
597
+ ]
598
+ expect { subject.to_pforest(literals) }.not_to raise_error
599
+
600
+ # Sentence 3-29a definiendum: 'Doing X is difficult.'
601
+ # literals = [doing, x_as_noun, is, difficult, dot]
602
+ # expect { subject.to_pforest(literals) }.not_to raise_error
603
+ end
604
+ =begin
605
+ 3-29. difficult.
606
+ [Doing X is difficult.] = You cannot do X if you do not do much more or think much more than when you do many other things.
607
+ [Something very big can be more difficult to make than something small.]
608
+
609
+ 3-30. easy, easily.
610
+ [Doing X is easy.] = Doing X is not difficult.
611
+ [I can easily make a small machine.]
612
+
613
+ 3-31. control, controls, to control, controlling, controlled.
614
+ [You control X.] = You can choose what you want X to do and you can cause X to do what you choose. You cause X to do some things and not do other things.
615
+ [When you touch a small part of this machine, you can control where the machine moves.]
616
+ [Animals can be difficult to control.]
617
+
618
+ Tony tried to make something using this machine.
619
+ The machine was difficult to control and damaged the thing Tony was making.
620
+
621
+ =end
578
622
  end # context
579
623
  end # describe
580
624
  end # module
@@ -6,5 +6,3 @@ Zenlish::Lang::add_entry('K', 'IndefinitePronoun')
6
6
  Zenlish::Lang::add_entry('Lisa', 'ProperNoun')
7
7
  Zenlish::Lang::add_entry('Tony', 'ProperNoun')
8
8
  Zenlish::Lang::add_entry('X', 'CommonNoun')
9
-
10
-
@@ -55,7 +55,8 @@ module Zenlish
55
55
  literal2var('big', 'bigger')
56
56
  literal2var('body', 'body')
57
57
  literal2var('but', 'but')
58
- literal2var('can', 'can')
58
+ def can ; Lex::Literal.new('can', get_lexeme('can', WClasses::ModalVerbCan), 0) ; end
59
+ def can_irregular ; Lex::Literal.new('can', get_lexeme('can', WClasses::IrregularVerb), 0) ; end
59
60
  literal2var('cause', 'cause')
60
61
  literal2var('cause', 'caused')
61
62
  literal2var('cause', 'causes')
@@ -69,15 +70,18 @@ module Zenlish
69
70
  literal2var('container', 'container')
70
71
  literal2var('container', 'containers')
71
72
  literal2var('could', 'could')
73
+ literal2var('damage', 'damaged')
72
74
  def did ; Lex::Literal.new('did', get_lexeme('do', WClasses::IrregularVerbDo), 0) ; end
73
75
  literal2var('die', 'die')
74
76
  literal2var('die', 'died')
75
77
  literal2var('die', 'dies')
76
78
  literal2var('different', 'different')
79
+ literal2var('difficult', 'difficult')
77
80
  def do_ ; Lex::Literal.new('do', get_lexeme('do', WClasses::IrregularVerbDo), 0) ; end
78
81
  def do_aux ; Lex::Literal.new('do', get_lexeme('do', WClasses::AuxiliaryDo), 0) ; end
79
82
  def does ; Lex::Literal.new('does', get_lexeme('do', WClasses::IrregularVerbDo), 0) ; end
80
83
  def does_aux ; Lex::Literal.new('does', get_lexeme('do', WClasses::AuxiliaryDo), 0) ; end
84
+ def doing ; Lex::Literal.new('doing', get_lexeme('do', WClasses::IrregularVerbDo), 0) ; end
81
85
  literal2var('each', 'each', '_')
82
86
  def each_ ; Lex::Literal.new('each', get_lexeme('each', WClasses::DistributiveDeterminer), 0) ; end
83
87
  def each_as_pronoun ; Lex::Literal.new('each', get_lexeme('each', WClasses::Pronoun), 0) ; end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative '../../spec_helper' # Use the RSpec framework
4
+ require_relative '../../../lib/zenlish/lang/dictionary'
4
5
  require_relative '../../../lib/zenlish/wclasses/common_noun' # Load the class under test
5
6
 
6
7
  module Zenlish
@@ -14,9 +15,29 @@ module Zenlish
14
15
  end
15
16
  end # context
16
17
 
17
- # context 'Provided services:' do
18
- # end # context
18
+ context 'Provided services:' do
19
+ it 'should provide a default inflection paradigm' do
20
+ expect(subject.paradigm).not_to be_nil
21
+ end
22
+
23
+ it 'should support the pluralization of common nouns' do
24
+ lexemes = []
25
+ Lang::Dictionary.entries.each do |ent|
26
+ lexm = ent.lexemes.select { |lx| lx.wclass.kind_of?(Zenlish::WClasses::CommonNoun) }
27
+ lexemes.concat(lexm) if lexm
28
+ end
29
+ samples = %w[ animal body people]
30
+ plural_sample = { 'animal' => 'animals',
31
+ 'body' => 'bodies',
32
+ 'people' => 'people'}
33
+ selection = lexemes.select { |lx| samples.include?(lx.entry.lemma) }
34
+
35
+ selection.map do |lx|
36
+ pluralized = lx.inflect([:plural, nil])
37
+ expect(pluralized).to eq(plural_sample[lx.base_form])
38
+ end
39
+ end
40
+ end # context
19
41
  end # describe
20
42
  end # module
21
- end # module
22
-
43
+ end # module
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../spec_helper' # Use the RSpec framework
4
+ require_relative '../../../lib/zenlish/wclasses/noun' # Load the class under test
5
+
6
+ module Zenlish
7
+ module WClasses
8
+ describe Noun do
9
+ subject { Noun.new }
10
+
11
+ context 'Initialization:' do
12
+ it 'should be initialized without argument' do
13
+ expect { Noun.new }.not_to raise_error
14
+ end
15
+ end # context
16
+
17
+ context 'Provided services:' do
18
+ it 'should know that it is variable (has inflected forms)' do
19
+ expect(subject).not_to be_invariable
20
+ end
21
+
22
+ it 'should know its feature names' do
23
+ expectations = %w(NUMBER COUNTABILITY)
24
+ expectations.each do |name|
25
+ expect(subject[name]).not_to be_nil
26
+ end
27
+ end
28
+ end # context
29
+ end # describe
30
+ end # module
31
+ end # module
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../spec_helper' # Use the RSpec framework
4
+ require_relative '../../../lib/zenlish/wclasses/preposition' # Load the class under test
5
+
6
+ module Zenlish
7
+ module WClasses
8
+ describe Preposition do
9
+ subject { Preposition.new }
10
+
11
+ context 'Initialization:' do
12
+ it 'should be initialized without argument' do
13
+ expect { Preposition.new }.not_to raise_error
14
+ end
15
+ end # context
16
+
17
+ context 'Provided services:' do
18
+ it 'should know that it is invariable' do
19
+ expect(subject).to be_invariable
20
+ end
21
+ end # context
22
+ end # describe
23
+ end # module
24
+ end # module
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../spec_helper' # Use the RSpec framework
4
+ require_relative '../../../lib/zenlish/wclasses/verb' # Load the class under test
5
+
6
+ module Zenlish
7
+ module WClasses
8
+ describe Verb do
9
+ subject { Verb.new }
10
+
11
+ context 'Initialization:' do
12
+ it 'should be initialized without argument' do
13
+ expect { Verb.new }.not_to raise_error
14
+ end
15
+ end # context
16
+
17
+ context 'Provided services:' do
18
+ it 'should know that it it is variable (has inflected forms)' do
19
+ expect(subject).not_to be_invariable
20
+ end
21
+ end # context
22
+ end # describe
23
+ end # module
24
+ end # module
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.1.25
4
+ version: 0.2.00
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dimitri Geshef
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-12-05 00:00:00.000000000 Z
11
+ date: 2020-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rley
@@ -85,6 +85,39 @@ files:
85
85
  - Rakefile
86
86
  - appveyor.yml
87
87
  - lib/zenlish.rb
88
+ - lib/zenlish/feature/boolean_domain.rb
89
+ - lib/zenlish/feature/boolean_value.rb
90
+ - lib/zenlish/feature/enumeration_domain.rb
91
+ - lib/zenlish/feature/feature.rb
92
+ - lib/zenlish/feature/feature_def.rb
93
+ - lib/zenlish/feature/feature_domain.rb
94
+ - lib/zenlish/feature/feature_struct.rb
95
+ - lib/zenlish/feature/feature_struct_def.rb
96
+ - lib/zenlish/feature/feature_struct_def_bearer.rb
97
+ - lib/zenlish/feature/feature_value.rb
98
+ - lib/zenlish/feature/identifier_domain.rb
99
+ - lib/zenlish/feature/identifier_value.rb
100
+ - lib/zenlish/feature/symbol_value.rb
101
+ - lib/zenlish/inflect/atomic_o_expression.rb
102
+ - lib/zenlish/inflect/composite_o_expression.rb
103
+ - lib/zenlish/inflect/concatenation.rb
104
+ - lib/zenlish/inflect/equals_literal.rb
105
+ - lib/zenlish/inflect/feature_heading.rb
106
+ - lib/zenlish/inflect/formal_argument.rb
107
+ - lib/zenlish/inflect/heading.rb
108
+ - lib/zenlish/inflect/inflection_rule.rb
109
+ - lib/zenlish/inflect/inflection_table.rb
110
+ - lib/zenlish/inflect/inflection_table_builder.rb
111
+ - lib/zenlish/inflect/input_asis.rb
112
+ - lib/zenlish/inflect/input_expression.rb
113
+ - lib/zenlish/inflect/literal_asis.rb
114
+ - lib/zenlish/inflect/matches_pattern.rb
115
+ - lib/zenlish/inflect/method_heading.rb
116
+ - lib/zenlish/inflect/nullary_input_expression.rb
117
+ - lib/zenlish/inflect/output_expression.rb
118
+ - lib/zenlish/inflect/substitution.rb
119
+ - lib/zenlish/inflect/unary_input_expression.rb
120
+ - lib/zenlish/inflect/unconditionally_true.rb
88
121
  - lib/zenlish/lang/dictionary.rb
89
122
  - lib/zenlish/lang/zenlish_grammar.rb
90
123
  - lib/zenlish/lex/empty_lexicon_factory.rb
@@ -148,6 +181,30 @@ files:
148
181
  - lib/zenlish/wclasses/verb.rb
149
182
  - lib/zenlish/wclasses/word_class.rb
150
183
  - spec/spec_helper.rb
184
+ - spec/zenlish/feature/boolean_domain_spec.rb
185
+ - spec/zenlish/feature/boolean_value_spec.rb
186
+ - spec/zenlish/feature/enumeration_domain_spec.rb
187
+ - spec/zenlish/feature/feature_def_spec.rb
188
+ - spec/zenlish/feature/feature_spec.rb
189
+ - spec/zenlish/feature/feature_struct_def_bearer_spec.rb
190
+ - spec/zenlish/feature/feature_struct_def_spec.rb
191
+ - spec/zenlish/feature/identifier_domain_spec.rb
192
+ - spec/zenlish/feature/identifier_value_spec.rb
193
+ - spec/zenlish/feature/symbol_value_spec.rb
194
+ - spec/zenlish/inflect/concatenation_spec.rb
195
+ - spec/zenlish/inflect/equals_literal_spec.rb
196
+ - spec/zenlish/inflect/feature_heading_spec.rb
197
+ - spec/zenlish/inflect/formal_argument_spec.rb
198
+ - spec/zenlish/inflect/inflection_rule_spec.rb
199
+ - spec/zenlish/inflect/inflection_table_builder_spec.rb
200
+ - spec/zenlish/inflect/inflection_table_spec.rb
201
+ - spec/zenlish/inflect/input_asis_spec.rb
202
+ - spec/zenlish/inflect/literal_asis_spec.rb
203
+ - spec/zenlish/inflect/matches_pattern_spec.rb
204
+ - spec/zenlish/inflect/method_heading_spec.rb
205
+ - spec/zenlish/inflect/substitution_spec.rb
206
+ - spec/zenlish/inflect/unconditionally_true_spec.rb
207
+ - spec/zenlish/lang/dictionary_spec.rb
151
208
  - spec/zenlish/lang/zenlish_grammar_spec.rb
152
209
  - spec/zenlish/lex/empty_lexicon_factory_spec.rb
153
210
  - spec/zenlish/lex/lexeme_spec.rb
@@ -162,7 +219,10 @@ files:
162
219
  - spec/zenlish/support/var2word.rb
163
220
  - spec/zenlish/wclasses/common_noun_spec.rb
164
221
  - spec/zenlish/wclasses/irregular_verb_spec.rb
222
+ - spec/zenlish/wclasses/noun_spec.rb
223
+ - spec/zenlish/wclasses/preposition_spec.rb
165
224
  - spec/zenlish/wclasses/proper_noun_spec.rb
225
+ - spec/zenlish/wclasses/verb_spec.rb
166
226
  - spec/zenlish_spec.rb
167
227
  - zenlish.gemspec
168
228
  homepage: https://github.com/famished-tiger/zenlish
@@ -190,6 +250,30 @@ signing_key:
190
250
  specification_version: 4
191
251
  summary: A toolkit for the Zenlish language (a simplified English language).
192
252
  test_files:
253
+ - spec/zenlish/feature/boolean_domain_spec.rb
254
+ - spec/zenlish/feature/boolean_value_spec.rb
255
+ - spec/zenlish/feature/enumeration_domain_spec.rb
256
+ - spec/zenlish/feature/feature_def_spec.rb
257
+ - spec/zenlish/feature/feature_spec.rb
258
+ - spec/zenlish/feature/feature_struct_def_bearer_spec.rb
259
+ - spec/zenlish/feature/feature_struct_def_spec.rb
260
+ - spec/zenlish/feature/identifier_domain_spec.rb
261
+ - spec/zenlish/feature/identifier_value_spec.rb
262
+ - spec/zenlish/feature/symbol_value_spec.rb
263
+ - spec/zenlish/inflect/concatenation_spec.rb
264
+ - spec/zenlish/inflect/equals_literal_spec.rb
265
+ - spec/zenlish/inflect/feature_heading_spec.rb
266
+ - spec/zenlish/inflect/formal_argument_spec.rb
267
+ - spec/zenlish/inflect/inflection_rule_spec.rb
268
+ - spec/zenlish/inflect/inflection_table_builder_spec.rb
269
+ - spec/zenlish/inflect/inflection_table_spec.rb
270
+ - spec/zenlish/inflect/input_asis_spec.rb
271
+ - spec/zenlish/inflect/literal_asis_spec.rb
272
+ - spec/zenlish/inflect/matches_pattern_spec.rb
273
+ - spec/zenlish/inflect/method_heading_spec.rb
274
+ - spec/zenlish/inflect/substitution_spec.rb
275
+ - spec/zenlish/inflect/unconditionally_true_spec.rb
276
+ - spec/zenlish/lang/dictionary_spec.rb
193
277
  - spec/zenlish/lang/zenlish_grammar_spec.rb
194
278
  - spec/zenlish/lex/empty_lexicon_factory_spec.rb
195
279
  - spec/zenlish/lex/lexeme_spec.rb
@@ -202,5 +286,8 @@ test_files:
202
286
  - spec/zenlish/parser/zparser_spec.rb
203
287
  - spec/zenlish/wclasses/common_noun_spec.rb
204
288
  - spec/zenlish/wclasses/irregular_verb_spec.rb
289
+ - spec/zenlish/wclasses/noun_spec.rb
290
+ - spec/zenlish/wclasses/preposition_spec.rb
205
291
  - spec/zenlish/wclasses/proper_noun_spec.rb
292
+ - spec/zenlish/wclasses/verb_spec.rb
206
293
  - spec/zenlish_spec.rb