zenlish 0.1.23 → 0.1.24

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,223 @@
1
+ require_relative 'minimal_lexicon'
2
+ require_relative '../../../lib/zenlish/lex/literal'
3
+
4
+ module Zenlish
5
+ # Utility module. It defines variables that each are assgned a
6
+ # Literal object.
7
+ module Var2Word
8
+ def get_lexeme(aLemma, aWordClass = nil)
9
+ Zenlish::Lang::Dictionary.get_lexeme(aLemma, aWordClass)
10
+ end
11
+
12
+ def self.literal2var(aLemma, aLiteral, aSuffix = '')
13
+ mth_name = aLiteral.downcase + aSuffix
14
+ define_method(mth_name.to_sym) do
15
+ Lex::Literal.new(aLiteral, get_lexeme(aLemma), 0)
16
+ end
17
+ end
18
+
19
+ # In absence of a POS tagger/lemmatizer, we map input words
20
+ # to variables that themselves return Literal objects.
21
+ # For instance, next line will create a variable called 'alive'
22
+ literal2var('a', 'a', '_as_art')
23
+ literal2var('a', 'an')
24
+ literal2var('about', 'about')
25
+ literal2var('above', 'above')
26
+ def after_adverb ; Lex::Literal.new('after', get_lexeme('after', WClasses::Adverb), 0) ; end
27
+ def after_ ; Lex::Literal.new('after', get_lexeme('after', WClasses::SubordinatingConjunction), 0) ; end
28
+ literal2var('alive', 'alive')
29
+ literal2var('all', 'all')
30
+ def am ; Lex::Literal.new('am', get_lexeme('be', WClasses::IrregularVerbBe), 0) ; end
31
+ literal2var('and', 'and', '_')
32
+ literal2var('animal', 'animal')
33
+ literal2var('animal', 'animals')
34
+ literal2var('another', 'another')
35
+ def are ; Lex::Literal.new('are', get_lexeme('be', WClasses::IrregularVerbBe), 0) ; end
36
+ literal2var('as', 'as')
37
+ literal2var('at', 'at')
38
+ literal2var('bad', 'bad')
39
+ def be_ ; Lex::Literal.new('be', get_lexeme('be', WClasses::IrregularVerbBe), 0) ; end
40
+ literal2var('because', 'because')
41
+ literal2var('become', 'became')
42
+ literal2var('become', 'become')
43
+ literal2var('become', 'becomes')
44
+ def before_adverb ; Lex::Literal.new('before', get_lexeme('before', WClasses::Adverb), 0) ; end
45
+ def before_as_adj ; Lex::Literal.new('before', get_lexeme('before', WClasses::Adjective), 0) ; end
46
+ def before ; Lex::Literal.new('before', get_lexeme('before', WClasses::SubordinatingConjunction), 0) ; end
47
+ literal2var('belong', 'belong')
48
+ literal2var('belong', 'belongs')
49
+ literal2var('below', 'below')
50
+ literal2var('big', 'big')
51
+ literal2var('big', 'bigger')
52
+ literal2var('body', 'body')
53
+ literal2var('but', 'but')
54
+ literal2var('can', 'can')
55
+ literal2var('cause', 'cause')
56
+ literal2var('cause', 'caused')
57
+ literal2var('cause', 'causes')
58
+ literal2var('change', 'change', '_')
59
+ literal2var('change', 'changed')
60
+ literal2var('change', 'changes')
61
+ literal2var('contain', 'contain')
62
+ literal2var('contain', 'contains')
63
+ literal2var('container', 'container')
64
+ literal2var('container', 'containers')
65
+ literal2var('could', 'could')
66
+ def did ; Lex::Literal.new('did', get_lexeme('do', WClasses::IrregularVerbDo), 0) ; end
67
+ literal2var('die', 'die')
68
+ literal2var('die', 'died')
69
+ literal2var('die', 'dies')
70
+ literal2var('different', 'different')
71
+ def do_ ; Lex::Literal.new('do', get_lexeme('do', WClasses::IrregularVerbDo), 0) ; end
72
+ def do_aux ; Lex::Literal.new('do', get_lexeme('do', WClasses::AuxiliaryDo), 0) ; end
73
+ def does ; Lex::Literal.new('does', get_lexeme('do', WClasses::IrregularVerbDo), 0) ; end
74
+ def does_aux ; Lex::Literal.new('does', get_lexeme('do', WClasses::AuxiliaryDo), 0) ; end
75
+ literal2var('each', 'each', '_')
76
+ def each_ ; Lex::Literal.new('each', get_lexeme('each', WClasses::DistributiveDeterminer), 0) ; end
77
+ def each_as_pronoun ; Lex::Literal.new('each', get_lexeme('each', WClasses::Pronoun), 0) ; end
78
+ literal2var('exist', 'exist')
79
+ literal2var('exist', 'existed')
80
+ literal2var('exist', 'exists')
81
+ literal2var('false', 'false', '_')
82
+ literal2var('far', 'far')
83
+ literal2var('far from', 'far_from')
84
+ literal2var('feel', 'feel')
85
+ literal2var('feel', 'feels')
86
+ literal2var('feel', 'felt')
87
+ literal2var('for', 'for', '_')
88
+ literal2var('from', 'from')
89
+ literal2var('good', 'good')
90
+ literal2var('happen', 'happen')
91
+ literal2var('happen', 'happened')
92
+ literal2var('happen', 'happening')
93
+ literal2var('happen', 'happens')
94
+ literal2var('have', 'has')
95
+ literal2var('have', 'have')
96
+ literal2var('hear', 'hear')
97
+ literal2var('hear', 'heard')
98
+ literal2var('hear', 'hears')
99
+ def here ; Lex::Literal.new('here', get_lexeme('here', WClasses::Adverb), 0) ; end
100
+ def here_as_noun ; Lex::Literal.new('here', get_lexeme('here', WClasses::CommonNoun), 0) ; end
101
+ def i_pronoun ; Lex::Literal.new('I', get_lexeme('I'), 0) ; end
102
+ literal2var('if', 'if', '_')
103
+ literal2var('in', 'in', '_')
104
+ literal2var('inside', 'inside')
105
+ literal2var('it', 'it', '_')
106
+ literal2var('its', 'its')
107
+ literal2var('J', 'j', '_')
108
+ def is ; Lex::Literal.new('is', get_lexeme('be', WClasses::IrregularVerbBe), 0) ; end
109
+ def is_aux ; Lex::Literal.new('is', get_lexeme('be', WClasses::AuxiliaryBe), 0) ; end
110
+ literal2var('K', 'k', '_')
111
+ literal2var('kind', 'kind')
112
+ literal2var('kind', 'kinds')
113
+ literal2var('know', 'knew')
114
+ literal2var('know', 'know')
115
+ literal2var('know', 'knows')
116
+ literal2var('like', 'like')
117
+ literal2var('Lisa', 'Lisa')
118
+ literal2var('live', 'lived')
119
+ literal2var('living', 'living')
120
+ literal2var('long', 'long')
121
+ literal2var('make', 'made')
122
+ literal2var('make', 'make')
123
+ literal2var('many', 'many')
124
+ literal2var('maybe', 'maybe')
125
+ literal2var('me', 'me')
126
+ literal2var('moment', 'moment')
127
+ def more ; Lex::Literal.new('more', get_lexeme('more', WClasses::Adjective), 0) ; end
128
+ def more_as_adverb ; Lex::Literal.new('more', get_lexeme('more', WClasses::Adverb), 0) ; end
129
+ literal2var('move', 'move')
130
+ literal2var('move', 'moved')
131
+ literal2var('move', 'moving')
132
+ literal2var('move', 'moves')
133
+ literal2var('much', 'much')
134
+ literal2var('my', 'my')
135
+ literal2var('near', 'near')
136
+ literal2var('near to', 'near_to')
137
+ literal2var('not', 'not', '_')
138
+ def now ; Lex::Literal.new('now', get_lexeme('now', WClasses::Adverb), 0) ; end
139
+ def now_as_noun ; Lex::Literal.new('now', get_lexeme('now', WClasses::CommonNoun), 0) ; end
140
+ literal2var('of', 'of')
141
+ literal2var('on', 'on')
142
+ def one ; Lex::Literal.new('one', get_lexeme('one', WClasses::Cardinal), 0) ; end
143
+ def one_as_adj ; Lex::Literal.new('one', get_lexeme('one', WClasses::Adjective), 0) ; end
144
+ def one_as_pronoun ; Lex::Literal.new('one', get_lexeme('one', WClasses::IndefinitePronoun), 0) ; end
145
+ literal2var('or', 'or', '_')
146
+ literal2var('other', 'other')
147
+ literal2var('part', 'part')
148
+ literal2var('part', 'parts')
149
+ literal2var('people', 'people')
150
+ literal2var('person', 'person')
151
+ literal2var('place', 'place')
152
+ def same ; Lex::Literal.new('same', get_lexeme('same', WClasses::Adjective), 0) ; end
153
+ def same_as_pronoun ; Lex::Literal.new('same', get_lexeme('same', WClasses::Pronoun), 0) ; end
154
+ literal2var('see', 'saw')
155
+ literal2var('short', 'short')
156
+ literal2var('side', 'side')
157
+ literal2var('small', 'small')
158
+ literal2var('small', 'smaller')
159
+ literal2var('some', 'some')
160
+ literal2var('say', 'say')
161
+ literal2var('say', 'said')
162
+ literal2var('say', 'says')
163
+ literal2var('see', 'see')
164
+ literal2var('see', 'sees')
165
+ literal2var('someone', 'someone')
166
+ literal2var('someplace', 'someplace')
167
+ literal2var('something', 'something')
168
+ literal2var('surface', 'surface')
169
+ literal2var('the', 'the')
170
+ literal2var('their', 'their')
171
+ literal2var('them', 'them')
172
+ literal2var('then', 'then', '_')
173
+ literal2var('they', 'they')
174
+ literal2var('than', 'than')
175
+ literal2var('that', 'that')
176
+ literal2var('there', 'there')
177
+ literal2var('thing', 'thing')
178
+ literal2var('thing', 'things')
179
+ literal2var('think', 'think')
180
+ literal2var('think', 'thinking')
181
+ literal2var('think', 'thinks')
182
+ literal2var('think', 'thought')
183
+ def these ; Lex::Literal.new('these', get_lexeme('this', WClasses::DemonstrativeDeterminer), 0) ; end
184
+ def these_as_pronoun ; Lex::Literal.new('these', get_lexeme('this', WClasses::DemonstrativePronoun), 0) ; end
185
+ def this ; Lex::Literal.new('this', get_lexeme('this', WClasses::DemonstrativeDeterminer), 0) ; end
186
+ def this_as_pronoun ; Lex::Literal.new('this', get_lexeme('this', WClasses::DemonstrativePronoun), 0) ; end
187
+ literal2var('this one', 'this_one')
188
+ literal2var('time', 'time')
189
+ literal2var('to', 'to')
190
+ literal2var('Tony', 'Tony')
191
+ literal2var('touch', 'touch')
192
+ literal2var('touch', 'touched')
193
+ literal2var('touch', 'touching')
194
+ literal2var('try', 'tried')
195
+ literal2var('true', 'true', '_')
196
+ literal2var('try', 'tries')
197
+ literal2var('try', 'try', '_')
198
+ def two ; Lex::Literal.new('two', get_lexeme('two', WClasses::Cardinal), 0) ; end
199
+ def two_as_pronoun ; Lex::Literal.new('two', get_lexeme('two', WClasses::IndefinitePronoun), 0) ; end
200
+ literal2var('use', 'use')
201
+ literal2var('use', 'used')
202
+ literal2var('very', 'very')
203
+ literal2var('want', 'want')
204
+ literal2var('want', 'wants')
205
+ def was ; Lex::Literal.new('was', get_lexeme('be', WClasses::IrregularVerbBe), 0) ; end
206
+ def were ; Lex::Literal.new('were', get_lexeme('be', WClasses::IrregularVerbBe), 0) ; end
207
+ literal2var('what', 'what')
208
+ literal2var('when', 'when', '_')
209
+ def where ; Lex::Literal.new('where', get_lexeme('where', WClasses::Adverb), 0) ; end
210
+ def where_conjunction ; Lex::Literal.new('where', get_lexeme('where', WClasses::SubordinatingConjunction), 0) ; end
211
+ literal2var('who', 'who')
212
+ literal2var('with', 'with')
213
+ literal2var('word', 'words')
214
+ def x_as_noun ; Lex::Literal.new('X', get_lexeme('X'), 0) ; end
215
+ literal2var('you', 'you')
216
+ literal2var('you', 'your')
217
+
218
+ def colon ; Lex::Literal.new(':', get_lexeme(':'), 0) ; end
219
+ def comma ; Lex::Literal.new(',', get_lexeme(','), 0) ; end
220
+ def dot ; Lex::Literal.new('.', get_lexeme('.'), 0) ; end
221
+ def quote ; Lex::Literal.new('"', get_lexeme('"'), 0) ; end
222
+ end # module
223
+ 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.23
4
+ version: 0.1.24
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-04 00:00:00.000000000 Z
11
+ date: 2019-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rley
@@ -130,6 +130,7 @@ files:
130
130
  - lib/zenlish/wclasses/lexical_verb.rb
131
131
  - lib/zenlish/wclasses/linking_adverb.rb
132
132
  - lib/zenlish/wclasses/modal_verb_can.rb
133
+ - lib/zenlish/wclasses/modal_verb_could.rb
133
134
  - lib/zenlish/wclasses/noun.rb
134
135
  - lib/zenlish/wclasses/numeral.rb
135
136
  - lib/zenlish/wclasses/personal_pronoun.rb
@@ -153,8 +154,12 @@ files:
153
154
  - spec/zenlish/lex/lexical_entry_spec.rb
154
155
  - spec/zenlish/lex/lexicon_spec.rb
155
156
  - spec/zenlish/lex/literal_spec.rb
157
+ - spec/zenlish/parser/lesson1_spec.rb
158
+ - spec/zenlish/parser/lesson2_spec.rb
159
+ - spec/zenlish/parser/lesson3_spec.rb
156
160
  - spec/zenlish/parser/zparser_spec.rb
157
161
  - spec/zenlish/support/minimal_lexicon.rb
162
+ - spec/zenlish/support/var2word.rb
158
163
  - spec/zenlish/wclasses/common_noun_spec.rb
159
164
  - spec/zenlish/wclasses/irregular_verb_spec.rb
160
165
  - spec/zenlish/wclasses/proper_noun_spec.rb
@@ -191,6 +196,9 @@ test_files:
191
196
  - spec/zenlish/lex/lexical_entry_spec.rb
192
197
  - spec/zenlish/lex/lexicon_spec.rb
193
198
  - spec/zenlish/lex/literal_spec.rb
199
+ - spec/zenlish/parser/lesson1_spec.rb
200
+ - spec/zenlish/parser/lesson2_spec.rb
201
+ - spec/zenlish/parser/lesson3_spec.rb
194
202
  - spec/zenlish/parser/zparser_spec.rb
195
203
  - spec/zenlish/wclasses/common_noun_spec.rb
196
204
  - spec/zenlish/wclasses/irregular_verb_spec.rb