zenlish 0.1.20 → 0.1.21
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/README.md +6 -6
- data/lib/zenlish/lang/dictionary.rb +5 -3
- data/lib/zenlish/lang/zenlish_grammar.rb +31 -16
- data/lib/zenlish/lex/empty_lexicon_factory.rb +7 -5
- data/lib/zenlish/version.rb +1 -1
- data/lib/zenlish/wclasses/all_word_classes.rb +3 -1
- data/lib/zenlish/wclasses/distributive_determiner.rb +11 -0
- data/lib/zenlish/wclasses/fronting_quantifier.rb +9 -0
- data/lib/zenlish/wclasses/quantifier.rb +10 -0
- data/spec/zenlish/parser/zparser_spec.rb +56 -13
- metadata +5 -3
- data/lib/zenlish/wclasses/indefinite_quantifier.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cae52bb88888ca9313517a2f37546bff739bf498f943e08daa456c75a3af10b7
|
4
|
+
data.tar.gz: e74feb8df8d191deba3d9dd95359eac3f723a1c864778ca35984bdc6a597f81d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef5dc8c9180d8dda4a834c863a5068c9a0ea86e42109e185f3599c71962e55b14a8bd04b868badcd1ae1f04f089d0636112dfa370d6cf2994d3fabf086b465e4
|
7
|
+
data.tar.gz: b2a408ef938db169d6c06d9606c4734f31ccdd1893507a676e6bead05e46c9cdee5adfd7c5de088d046a9dc7eb1f7c25fb3330dfb59dd81486180109b7c7e19a
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## [0.1.21] - 2019-12-02
|
4
|
+
__Zenlish__ can parse all sentences in lesson 1, 2 and 3-A .. 3-C from
|
5
|
+
[Learn These Words First](http://learnthesewordsfirst.com/).
|
6
|
+
|
7
|
+
### Added
|
8
|
+
- Class `DistributiveDeterminer` to represent the words `each`, `every`, `either`, `neither`.
|
9
|
+
- Class `FrontingQuantifier` to represent the quantifiers `all` and `both`.
|
10
|
+
|
11
|
+
### Changed
|
12
|
+
- File `zparser_spec.rb`: tests include all sentences from lesson 1, 2, and 3-D (277 sentences in total).
|
13
|
+
- `ZenlishGrammar`: rewrite of rules for determiner syntax.
|
14
|
+
- Class `IndefiniteQuantifier` renamed to `Quantifier`
|
15
|
+
- File `dictionary.rb`: new entries in lexicon `each`, `use`.
|
16
|
+
- File `README.md` Updated the metrics table
|
17
|
+
|
3
18
|
## [0.1.20] - 2019-11-30
|
4
19
|
__Zenlish__ can parse all sentences in lesson 1, 2 and 3-A .. 3-C from
|
5
20
|
[Learn These Words First](http://learnthesewordsfirst.com/).
|
data/README.md
CHANGED
@@ -20,7 +20,7 @@ users with a language that is close enough to English.
|
|
20
20
|
### Project status
|
21
21
|
|
22
22
|
The project is still in inception. Currently, zenlish is able to parse all
|
23
|
-
sentences from lessons 1-A up to 3-
|
23
|
+
sentences from lessons 1-A up to 3-D. The parser is able to cope with syntactical
|
24
24
|
ambiguities generating parse forests instead of parse trees.
|
25
25
|
|
26
26
|
The intent is to deliver gem versions in small increments.
|
@@ -35,14 +35,14 @@ Over time, the zenlish gem will contain:
|
|
35
35
|
- A simplified ontology[TODO]
|
36
36
|
|
37
37
|
|
38
|
-
#### Some project metrics (v. 0.1.
|
38
|
+
#### Some project metrics (v. 0.1.21)
|
39
39
|
|Metric|Value|
|
40
40
|
|:-:|:-:|
|
41
|
-
| Number of lemmas in dictionary |
|
42
|
-
| [Coverage 100 commonest English words](https://en.wikipedia.org/wiki/Most_common_words_in_English) |
|
43
|
-
| Number of production rules in grammar |
|
41
|
+
| Number of lemmas in dictionary | 117 |
|
42
|
+
| [Coverage 100 commonest English words](https://en.wikipedia.org/wiki/Most_common_words_in_English) | 58% |
|
43
|
+
| Number of production rules in grammar | 170 |
|
44
44
|
| Number of lessons covered | 19 |
|
45
|
-
| Number of sentences in spec files |
|
45
|
+
| Number of sentences in spec files | 277 |
|
46
46
|
|
47
47
|
|
48
48
|
## Installation...
|
@@ -24,7 +24,7 @@ unless defined?(Zenlish::Lang::Dictionary)
|
|
24
24
|
add_entry('after', 'Adverb')
|
25
25
|
add_entry('after', 'SubordinatingConjunction')
|
26
26
|
add_entry('alive', 'Adjective')
|
27
|
-
add_entry('all', '
|
27
|
+
add_entry('all', 'FrontingQuantifier')
|
28
28
|
add_entry('and', 'Coordinator')
|
29
29
|
add_entry('animal', 'CommonNoun')
|
30
30
|
add_entry('another', 'Adjective')
|
@@ -47,6 +47,7 @@ unless defined?(Zenlish::Lang::Dictionary)
|
|
47
47
|
add_entry('die', 'RegularVerb')
|
48
48
|
add_entry('do', 'AuxiliaryDo')
|
49
49
|
add_entry('do', 'IrregularVerbDo')
|
50
|
+
add_entry('each', 'DistributiveDeterminer')
|
50
51
|
add_entry('false', 'Adjective')
|
51
52
|
add_entry('far', 'Adverb')
|
52
53
|
add_entry('far from', 'Preposition')
|
@@ -71,7 +72,7 @@ unless defined?(Zenlish::Lang::Dictionary)
|
|
71
72
|
add_entry('live', 'RegularVerb')
|
72
73
|
add_entry('living', 'Adjective')
|
73
74
|
add_entry('long', 'Adjective')
|
74
|
-
add_entry('many', '
|
75
|
+
add_entry('many', 'Quantifier')
|
75
76
|
add_entry('maybe', 'AdverbMaybe')
|
76
77
|
add_entry('me', 'PersonalPronoun')
|
77
78
|
add_entry('moment', 'CommonNoun')
|
@@ -102,7 +103,7 @@ unless defined?(Zenlish::Lang::Dictionary)
|
|
102
103
|
add_entry('short', 'Adjective')
|
103
104
|
add_entry('side', 'CommonNoun')
|
104
105
|
add_entry('small', 'Adjective')
|
105
|
-
add_entry('some', '
|
106
|
+
add_entry('some', 'Quantifier')
|
106
107
|
add_entry('someone', 'IndefinitePronoun')
|
107
108
|
add_entry('something', 'IndefinitePronoun')
|
108
109
|
add_entry('than', 'PrepositionThan')
|
@@ -124,6 +125,7 @@ unless defined?(Zenlish::Lang::Dictionary)
|
|
124
125
|
add_entry('true', 'Adjective')
|
125
126
|
add_entry('two', 'Cardinal')
|
126
127
|
add_entry('two', 'IndefinitePronoun')
|
128
|
+
add_entry('use', 'RegularVerb')
|
127
129
|
add_entry('very', 'DegreeAdverb')
|
128
130
|
add_entry('want', 'RegularVerbWant')
|
129
131
|
add_entry('what','ConjunctivePronoun')
|
@@ -147,30 +147,43 @@ builder = Rley::Syntax::GrammarBuilder.new do
|
|
147
147
|
#############
|
148
148
|
# DETERMINERS
|
149
149
|
#############
|
150
|
-
rule 'determiners' => '
|
150
|
+
rule 'determiners' => 'predeterminer_opt central_determiner_opt postdeterminers'
|
151
|
+
rule 'determiners' => 'partitive_determiner PrepositionOf main_determiner_opt postdeterminers'
|
151
152
|
|
152
|
-
# Pre-
|
153
|
-
rule '
|
154
|
-
rule '
|
155
|
-
rule '
|
156
|
-
|
157
|
-
|
158
|
-
|
153
|
+
# Pre-determiner
|
154
|
+
rule 'predeterminer_opt' => 'predeterminer'
|
155
|
+
rule 'predeterminer_opt' => []
|
156
|
+
rule 'predeterminer' => 'FrontingQuantifier' # all, both
|
157
|
+
# FOR_LATER 'predeterminer' => 'multipler' # twice, thrice, n times
|
158
|
+
# FOR_LATER 'predeterminer' => 'fraction' # half, third, ...
|
159
|
+
# FOR_LATER 'predeterminer' => 'intensifier' # what (exclamative), such, quite, rather
|
159
160
|
|
160
161
|
# Central determiners: article, demonstrative or possessive
|
161
|
-
rule '
|
162
|
-
rule '
|
163
|
-
|
164
|
-
rule '
|
162
|
+
rule 'central_determiner_opt' => 'main_determiner'
|
163
|
+
rule 'central_determiner_opt' => 'DistributiveDeterminer' # each, every, either, neither
|
164
|
+
# FOR_LATER 'central_determiner_opt' => 'InterrogativeDeterminer' # what, which, whose
|
165
|
+
rule 'central_determiner_opt' => []
|
166
|
+
rule 'main_determiner_opt' => 'main_determiner'
|
167
|
+
rule 'main_determiner_opt' => []
|
168
|
+
rule 'main_determiner' => 'article'
|
169
|
+
rule 'main_determiner' => 'DemonstrativeDeterminer' # 'this', .., that, these, those
|
170
|
+
rule 'main_determiner' => 'PossessiveDeterminer' # my, your, his, her, its, our, their
|
165
171
|
rule 'article' => 'DefiniteArticle' # 'the'
|
166
172
|
rule 'article' => 'IndefiniteArticle' # 'a/an', .., any, some, that, those,
|
167
|
-
rule 'demonstrative' => 'DemonstrativeDeterminer' # 'this', .., that, these, those
|
168
|
-
# possessive => possessive_determiner # ...my, your, his, her, its, our, their
|
169
173
|
|
170
|
-
#
|
171
|
-
|
174
|
+
# Post-determiners
|
175
|
+
# FOR_LATER 'postdeterminers' => 'ordinal_opt cardinal_opt other_quantifiers'
|
176
|
+
rule 'postdeterminers' => 'cardinal_opt other_quantifiers'
|
172
177
|
rule 'postdeterminers' => []
|
178
|
+
rule 'other_quantifiers' => 'other_quantifiers Quantifier'
|
179
|
+
rule 'other_quantifiers' => []
|
173
180
|
|
181
|
+
rule 'partitive_determiner' => 'predeterminer'
|
182
|
+
rule 'partitive_determiner' => 'DistributiveDeterminer'
|
183
|
+
# FOR_LATER 'partitive_determiner' => 'Ordinal'
|
184
|
+
# FOR_LATER 'partitive_determiner' => 'GeneralOrdinal'
|
185
|
+
rule 'partitive_determiner' => 'Cardinal'
|
186
|
+
rule 'partitive_determiner' => 'Quantifier'
|
174
187
|
|
175
188
|
#############
|
176
189
|
# VERB PHRASE
|
@@ -258,6 +271,8 @@ builder = Rley::Syntax::GrammarBuilder.new do
|
|
258
271
|
######################
|
259
272
|
# REMAINING RULES
|
260
273
|
######################
|
274
|
+
rule 'cardinal_opt' => 'Cardinal'
|
275
|
+
rule 'cardinal_opt' => []
|
261
276
|
rule 'numeral' => 'Cardinal'
|
262
277
|
end
|
263
278
|
|
@@ -24,15 +24,17 @@ module Zenlish
|
|
24
24
|
aLexicon.add_terminal(WClasses::Cardinal.new.freeze)
|
25
25
|
aLexicon.add_terminal(WClasses::CommonNoun.new.freeze)
|
26
26
|
aLexicon.add_terminal(WClasses::ComparativeParticle.new.freeze)
|
27
|
+
aLexicon.add_terminal(WClasses::ConjunctivePronoun.new.freeze)
|
27
28
|
aLexicon.add_terminal(WClasses::Coordinator.new.freeze)
|
28
29
|
aLexicon.add_terminal(WClasses::DefiniteArticle.new.freeze)
|
29
|
-
aLexicon.add_terminal(WClasses::ExistentialThere.new.freeze)
|
30
|
-
aLexicon.add_terminal(WClasses::IndefiniteArticle.new.freeze)
|
31
30
|
aLexicon.add_terminal(WClasses::DegreeAdverb.new.freeze)
|
32
31
|
aLexicon.add_terminal(WClasses::DemonstrativeDeterminer.new.freeze)
|
33
|
-
aLexicon.add_terminal(WClasses::ConjunctivePronoun.new.freeze)
|
34
32
|
aLexicon.add_terminal(WClasses::DemonstrativePronoun.new.freeze)
|
35
|
-
aLexicon.add_terminal(WClasses::
|
33
|
+
aLexicon.add_terminal(WClasses::DistributiveDeterminer.new.freeze)
|
34
|
+
aLexicon.add_terminal(WClasses::ExistentialThere.new.freeze)
|
35
|
+
aLexicon.add_terminal(WClasses::FrontingQuantifier.new.freeze)
|
36
|
+
aLexicon.add_terminal(WClasses::IndefiniteArticle.new.freeze)
|
37
|
+
aLexicon.add_terminal(WClasses::IndefinitePronoun.new.freeze)
|
36
38
|
aLexicon.add_terminal(WClasses::IrregularLinkingVerb.new.freeze)
|
37
39
|
aLexicon.add_terminal(WClasses::IrregularVerb.new.freeze)
|
38
40
|
aLexicon.add_terminal(WClasses::IrregularVerbBe.new.freeze)
|
@@ -48,11 +50,11 @@ module Zenlish
|
|
48
50
|
aLexicon.add_terminal(WClasses::Preposition.new.freeze)
|
49
51
|
aLexicon.add_terminal(WClasses::PrepositionOf.new.freeze)
|
50
52
|
aLexicon.add_terminal(WClasses::PrepositionThan.new.freeze)
|
53
|
+
aLexicon.add_terminal(WClasses::Quantifier.new.freeze)
|
51
54
|
aLexicon.add_terminal(WClasses::RegularVerb.new.freeze)
|
52
55
|
aLexicon.add_terminal(WClasses::RegularVerbWant.new.freeze)
|
53
56
|
aLexicon.add_terminal(WClasses::RelativePronoun.new.freeze)
|
54
57
|
aLexicon.add_terminal(WClasses::ProperNoun.new.freeze)
|
55
|
-
aLexicon.add_terminal(WClasses::IndefiniteQuantifier.new.freeze)
|
56
58
|
aLexicon.add_terminal(WClasses::SubordinatingConjunction.new.freeze)
|
57
59
|
end
|
58
60
|
|
data/lib/zenlish/version.rb
CHANGED
@@ -13,6 +13,7 @@ require_relative 'common_noun'
|
|
13
13
|
require_relative 'coordinator'
|
14
14
|
require_relative 'degree_adverb'
|
15
15
|
require_relative 'definite_article'
|
16
|
+
require_relative 'distributive_determiner'
|
16
17
|
require_relative 'existential_there'
|
17
18
|
require_relative 'pronoun'
|
18
19
|
require_relative 'proper_noun'
|
@@ -29,7 +30,6 @@ require_relative 'conjunctive_pronoun'
|
|
29
30
|
require_relative 'demonstrative_pronoun'
|
30
31
|
require_relative 'indefinite_article'
|
31
32
|
require_relative 'indefinite_pronoun'
|
32
|
-
require_relative 'indefinite_quantifier'
|
33
33
|
require_relative 'linking_adverb'
|
34
34
|
require_relative 'modal_verb_can'
|
35
35
|
require_relative 'personal_pronoun'
|
@@ -37,6 +37,8 @@ require_relative 'possessive_determiner'
|
|
37
37
|
require_relative 'preposition'
|
38
38
|
require_relative 'preposition_of'
|
39
39
|
require_relative 'preposition_than'
|
40
|
+
require_relative 'quantifier'
|
41
|
+
require_relative 'fronting_quantifier'
|
40
42
|
require_relative 'regular_verb'
|
41
43
|
require_relative 'regular_verb_want'
|
42
44
|
require_relative 'relative_pronoun'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require_relative 'determiner'
|
2
|
+
|
3
|
+
module Zenlish
|
4
|
+
module WClasses
|
5
|
+
# Distributive determiner (aka distributive adjective) is a class of determiner,
|
6
|
+
# that is used to refer to individual members within a group or within a pair.
|
7
|
+
# Examples: each, every, either, neither.
|
8
|
+
class DistributiveDeterminer < Determiner
|
9
|
+
end # class
|
10
|
+
end # module
|
11
|
+
end # module
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require_relative 'determiner'
|
2
|
+
|
3
|
+
module Zenlish
|
4
|
+
module WClasses
|
5
|
+
# Quantifiers are used to indicate the number or quantity of the noun under consideration.
|
6
|
+
# enough, few, little, many, more, most, much, none, several, some
|
7
|
+
class Quantifier < Determiner
|
8
|
+
end # class
|
9
|
+
end # module
|
10
|
+
end # module
|
@@ -59,6 +59,7 @@ module Zenlish
|
|
59
59
|
literal2var('body', 'body')
|
60
60
|
literal2var('but', 'but')
|
61
61
|
literal2var('can', 'can')
|
62
|
+
literal2var('cause', 'cause')
|
62
63
|
literal2var('cause', 'caused')
|
63
64
|
literal2var('cause', 'causes')
|
64
65
|
def did ; Lex::Literal.new('did', get_lexeme('do', WClasses::IrregularVerbDo), 0) ; end
|
@@ -69,6 +70,7 @@ module Zenlish
|
|
69
70
|
def do_aux ; Lex::Literal.new('do', get_lexeme('do', WClasses::AuxiliaryDo), 0) ; end
|
70
71
|
def does ; Lex::Literal.new('does', get_lexeme('do', WClasses::IrregularVerbDo), 0) ; end
|
71
72
|
def does_aux ; Lex::Literal.new('does', get_lexeme('do', WClasses::AuxiliaryDo), 0) ; end
|
73
|
+
literal2var('each', 'each', '_')
|
72
74
|
literal2var('false', 'false', '_')
|
73
75
|
literal2var('far', 'far')
|
74
76
|
literal2var('far from', 'far_from')
|
@@ -179,6 +181,8 @@ module Zenlish
|
|
179
181
|
literal2var('true', 'true', '_')
|
180
182
|
def two ; Lex::Literal.new('two', get_lexeme('two', WClasses::Cardinal), 0) ; end
|
181
183
|
def two_as_pronoun ; Lex::Literal.new('two', get_lexeme('two', WClasses::IndefinitePronoun), 0) ; end
|
184
|
+
literal2var('use', 'use')
|
185
|
+
literal2var('use', 'used')
|
182
186
|
literal2var('very', 'very')
|
183
187
|
literal2var('want', 'want')
|
184
188
|
literal2var('want', 'wants')
|
@@ -213,12 +217,12 @@ module Zenlish
|
|
213
217
|
end
|
214
218
|
|
215
219
|
context 'Producing parse tree or forest:' do
|
216
|
-
it 'should produce trees (for non ambiguous input)' do
|
217
|
-
# OK, non-ambiguous sentence: "Lisa sees Tony."
|
218
|
-
literals = [lisa, sees, tony, dot]
|
219
|
-
result_type = Rley::PTree::ParseTree
|
220
|
-
expect(subject.
|
221
|
-
end
|
220
|
+
# it 'should produce trees (for non ambiguous input)' do
|
221
|
+
# # OK, non-ambiguous sentence: "Lisa sees Tony."
|
222
|
+
# literals = [lisa, sees, tony, dot]
|
223
|
+
# result_type = Rley::PTree::ParseTree
|
224
|
+
# expect(subject.to_pforest(literals)).to be_kind_of(result_type)
|
225
|
+
# end
|
222
226
|
|
223
227
|
it 'should produce forest' do
|
224
228
|
# Sentence: "Lisa sees Tony."
|
@@ -234,29 +238,29 @@ module Zenlish
|
|
234
238
|
# in absence of a tokenizer, we create a sequence of literals by hand...
|
235
239
|
# prox_tony = ZProxy.new(tony)
|
236
240
|
literals = [tony, sees, lisa, dot]
|
237
|
-
expect { subject.
|
241
|
+
expect { subject.to_pforest(literals) }.not_to raise_error
|
238
242
|
|
239
243
|
# Sentence 1-02a: "Tony sees something."
|
240
244
|
sentence_literals = [tony, sees, something, dot]
|
241
|
-
expect { subject.
|
245
|
+
expect { subject.to_pforest(sentence_literals) }.not_to raise_error
|
242
246
|
|
243
247
|
# Sentence 1-02b: "Lisa sees something."
|
244
248
|
sentence_literals = [lisa, sees, something, dot]
|
245
|
-
expect { subject.
|
249
|
+
expect { subject.to_pforest(sentence_literals) }.not_to raise_error
|
246
250
|
|
247
251
|
# Sentence 1-03: "Tony sees this thing."
|
248
252
|
sentence_literals = [tony, sees, this, thing, dot]
|
249
|
-
expect { subject.
|
253
|
+
expect { subject.to_pforest(sentence_literals) }.not_to raise_error
|
250
254
|
|
251
255
|
# Sentence 1-04: "Lisa sees the other thing."
|
252
256
|
sentence_literals = [lisa, sees, the, other, thing, dot]
|
253
|
-
expect { subject.
|
257
|
+
expect { subject.to_pforest(sentence_literals) }.not_to raise_error
|
254
258
|
end
|
255
259
|
|
256
260
|
it 'should parse sample sentences from lesson 1-B' do
|
257
261
|
# Sentence 1-05a: "Lisa sees the same thing."
|
258
262
|
literals = [lisa, sees, the, same, thing, dot]
|
259
|
-
expect { subject.
|
263
|
+
expect { subject.to_pforest(literals) }.not_to raise_error
|
260
264
|
|
261
265
|
# Sentence 1-05b: "Lisa sees the same thing as Tony sees."
|
262
266
|
literals = [lisa, sees, the, same, thing, as, tony, sees, dot]
|
@@ -974,7 +978,7 @@ module Zenlish
|
|
974
978
|
|
975
979
|
# Sentence 2-28a definiendum "X dies."
|
976
980
|
literals = [x_as_noun, dies, dot]
|
977
|
-
expect { subject.
|
981
|
+
expect { subject.to_pforest(literals) }.not_to raise_error
|
978
982
|
|
979
983
|
# Sentence 2-28b definiens "Something happens to X in a moment.
|
980
984
|
# X is alive before this moment. X is not alive after this moment.
|
@@ -1262,8 +1266,47 @@ module Zenlish
|
|
1262
1266
|
]
|
1263
1267
|
expect { subject.to_pforest(literals) }.not_to raise_error
|
1264
1268
|
end
|
1269
|
+
|
1270
|
+
it 'should parse sample sentences from lesson 3-D' do
|
1271
|
+
# Sentence 3-13a definiendum: 'You use this thing.'
|
1272
|
+
literals = [you, use, this, thing, dot]
|
1273
|
+
expect { subject.to_pforest(literals) }.not_to raise_error
|
1274
|
+
|
1275
|
+
# Sentence 3-13b definiens: You do something with this thing
|
1276
|
+
# because you think this can cause something to happen that you want.
|
1277
|
+
# [I used something big to cause people far from here to see me.]
|
1278
|
+
literals = [ you, do_, something, with, this, thing, because, you,
|
1279
|
+
think, this_as_pronoun, can, cause, something, to, happen,
|
1280
|
+
that, you, want, dot,
|
1281
|
+
i_pronoun, used, something, big, to, cause, people, far, from,
|
1282
|
+
here_as_noun, to, see, me, dot
|
1283
|
+
]
|
1284
|
+
expect { subject.to_pforest(literals) }.not_to raise_error
|
1285
|
+
|
1286
|
+
# Sentence 3-14a definiendum: 'You know X about each of these things.'
|
1287
|
+
literals = [you, know, x_as_noun, about, each_, of, these, things, dot]
|
1288
|
+
expect { subject.to_pforest(literals) }.not_to raise_error
|
1289
|
+
end
|
1265
1290
|
=begin
|
1266
1291
|
TODO
|
1292
|
+
3-14. each, each of.
|
1293
|
+
[You know X about each of these things.] = There are two or more things. You think about all these things like this: If something is one of these things, then you know X about it.
|
1294
|
+
[Each person here said something to me.]
|
1295
|
+
|
1296
|
+
3-15. exist, exists, to exist, existing, existed.
|
1297
|
+
[Someplace an X exists.] = Someplace there is an X, or someplace an X is alive.
|
1298
|
+
[This kind of thing did not exist before this time.]
|
1299
|
+
|
1300
|
+
3-16. become, becomes, to become, becoming, became.
|
1301
|
+
[J became K.] = Something happened to J for some time. After this happened, K is something true you can know about J. But before this happened, K was not true.
|
1302
|
+
[These two animals were small before, but they became big.]
|
1303
|
+
|
1304
|
+
There are some animals here.
|
1305
|
+
Each of these animals was small when it existed a short time.
|
1306
|
+
After a long time, each of these animals __________.
|
1307
|
+
became big
|
1308
|
+
became small
|
1309
|
+
used many words
|
1267
1310
|
|
1268
1311
|
Lesson 2.C
|
1269
1312
|
|
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.
|
4
|
+
version: 0.1.21
|
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-
|
11
|
+
date: 2019-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rley
|
@@ -114,10 +114,11 @@ files:
|
|
114
114
|
- lib/zenlish/wclasses/demonstrative_determiner.rb
|
115
115
|
- lib/zenlish/wclasses/demonstrative_pronoun.rb
|
116
116
|
- lib/zenlish/wclasses/determiner.rb
|
117
|
+
- lib/zenlish/wclasses/distributive_determiner.rb
|
117
118
|
- lib/zenlish/wclasses/existential_there.rb
|
119
|
+
- lib/zenlish/wclasses/fronting_quantifier.rb
|
118
120
|
- lib/zenlish/wclasses/indefinite_article.rb
|
119
121
|
- lib/zenlish/wclasses/indefinite_pronoun.rb
|
120
|
-
- lib/zenlish/wclasses/indefinite_quantifier.rb
|
121
122
|
- lib/zenlish/wclasses/irregular_linking_verb.rb
|
122
123
|
- lib/zenlish/wclasses/irregular_verb.rb
|
123
124
|
- lib/zenlish/wclasses/irregular_verb_be.rb
|
@@ -138,6 +139,7 @@ files:
|
|
138
139
|
- lib/zenlish/wclasses/preposition_than.rb
|
139
140
|
- lib/zenlish/wclasses/pronoun.rb
|
140
141
|
- lib/zenlish/wclasses/proper_noun.rb
|
142
|
+
- lib/zenlish/wclasses/quantifier.rb
|
141
143
|
- lib/zenlish/wclasses/regular_verb.rb
|
142
144
|
- lib/zenlish/wclasses/regular_verb_want.rb
|
143
145
|
- lib/zenlish/wclasses/relative_pronoun.rb
|