linguistics 2.0.3 → 2.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.simplecov +3 -6
- data/ChangeLog +63 -1
- data/History.rdoc +5 -0
- data/Rakefile +29 -20
- data/lib/linguistics.rb +2 -2
- data/lib/linguistics/en/conjugation.rb +5 -3
- data/lib/linguistics/en/linkparser.rb +1 -1
- data/lib/linguistics/en/pluralization.rb +105 -107
- data/lib/linguistics/languagebehavior.rb +1 -1
- data/spec/helpers.rb +0 -1
- data/spec/linguistics/en/articles_spec.rb +6 -4
- data/spec/linguistics/en/conjugation_spec.rb +27 -47
- data/spec/linguistics/en/titlecase_spec.rb +242 -315
- data/spec/linguistics/en/wordnet_spec.rb +1 -1
- data/spec/linguistics/en_spec.rb +1 -1
- data/spec/linguistics/iso639_spec.rb +6 -6
- metadata +67 -69
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fdef8fce2a3ef1d42a5eebbee59b9da384cfe783
|
4
|
+
data.tar.gz: b4bc7c0581b2f5b4a13af5a92e3217d0e35fdb20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6bde8e8fda5a99fb34c1359ff223384244239b3b13050b95afe126a6e8205402edae8c442c67f40f93e3387642f1ee22ec031f80a80e860dc977927cef1bc669
|
7
|
+
data.tar.gz: 1cf8553c4245c731e56a5c3543761aec0c2c9c5348fc248f10917ccc9feaf423120bf029c706db3b4a47e32a21831bc0e08f4c441ca17946b535ccafe8d162f7
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/.simplecov
CHANGED
data/ChangeLog
CHANGED
@@ -1,12 +1,74 @@
|
|
1
|
+
2015-03-01 Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
* .simplecov, .travis.yml, Gemfile, Rakefile, linguistics.gemspec:
|
4
|
+
Prep for travis-ci builds
|
5
|
+
[9966bdb76f0e] [github/master, tip]
|
6
|
+
|
7
|
+
* spec/helpers.rb, spec/linguistics/en/articles_spec.rb:
|
8
|
+
Fix some missed RSpec 3 updates
|
9
|
+
[a4ce7f00edb7]
|
10
|
+
|
11
|
+
* .rvmrc:
|
12
|
+
Bump the rvmrc Ruby version
|
13
|
+
[ec800816d314]
|
14
|
+
|
15
|
+
2015-01-26 Michael Granger <ged@FaerieMUD.org>
|
16
|
+
|
17
|
+
* lib/linguistics/en/linkparser.rb,
|
18
|
+
spec/linguistics/en/conjugation_spec.rb,
|
19
|
+
spec/linguistics/en/wordnet_spec.rb, spec/linguistics/en_spec.rb,
|
20
|
+
spec/linguistics/iso639_spec.rb:
|
21
|
+
Fix up some tests for the newest version of RSpec
|
22
|
+
[4f23d2cfc1f8]
|
23
|
+
|
1
24
|
2013-12-02 Michael Granger <ged@FaerieMUD.org>
|
2
25
|
|
26
|
+
* .hgtags:
|
27
|
+
Added tag v2.0.3 for changeset 6829f7b30b38
|
28
|
+
[bf624e6c6b51]
|
29
|
+
|
30
|
+
* .hgsigs:
|
31
|
+
Added signature for changeset ca93740ec59c
|
32
|
+
[6829f7b30b38] [v2.0.3]
|
33
|
+
|
34
|
+
* History.rdoc, lib/linguistics.rb:
|
35
|
+
Bump the patch version, update history
|
36
|
+
[ca93740ec59c]
|
37
|
+
|
38
|
+
* .simplecov, Manifest.txt, README.rdoc,
|
39
|
+
examples/generalize_sentence.rb, experiments/TEMPLATE.rb.tpl,
|
40
|
+
experiments/api.rb, experiments/conjunct-with-block.rb,
|
41
|
+
experiments/farmobjs.rb, experiments/lafcadio_plural.rb,
|
42
|
+
experiments/lprintf.rb, lib/linguistics.rb,
|
43
|
+
lib/linguistics/en/articles.rb, lib/linguistics/en/conjunctions.rb,
|
44
|
+
lib/linguistics/en/infinitives.rb, lib/linguistics/en/linkparser.rb,
|
45
|
+
lib/linguistics/en/numbers.rb, lib/linguistics/en/participles.rb,
|
46
|
+
lib/linguistics/en/pluralization.rb, lib/linguistics/en/wordnet.rb,
|
47
|
+
lib/linguistics/languagebehavior.rb, spec/constants.rb,
|
48
|
+
spec/helpers.rb, spec/lib/constants.rb, spec/lib/helpers.rb,
|
49
|
+
spec/linguistics/en/articles_spec.rb,
|
50
|
+
spec/linguistics/en/conjugation_spec.rb,
|
51
|
+
spec/linguistics/en/conjunctions_spec.rb,
|
52
|
+
spec/linguistics/en/infinitives_spec.rb,
|
53
|
+
spec/linguistics/en/linkparser_spec.rb,
|
54
|
+
spec/linguistics/en/numbers_spec.rb,
|
55
|
+
spec/linguistics/en/participles_spec.rb,
|
56
|
+
spec/linguistics/en/pluralization_spec.rb,
|
57
|
+
spec/linguistics/en/stemmer_spec.rb,
|
58
|
+
spec/linguistics/en/titlecase_spec.rb,
|
59
|
+
spec/linguistics/en/wordnet_spec.rb, spec/linguistics/en_spec.rb,
|
60
|
+
spec/linguistics/inflector_spec.rb, spec/linguistics/iso639_spec.rb,
|
61
|
+
spec/linguistics/monkeypatches_spec.rb, spec/linguistics_spec.rb:
|
62
|
+
Convert to modern RSpec syntax/config.
|
63
|
+
[fea5d38ea57f]
|
64
|
+
|
3
65
|
* lib/linguistics/en/conjugation.rb,
|
4
66
|
spec/linguistics/en/conjugation_spec.rb:
|
5
67
|
Merge pull request #5 from ippeiukai/fix-
|
6
68
|
issue10-past_tense_for_words_end_with_y
|
7
69
|
|
8
70
|
fix past tense for words end with y
|
9
|
-
[de381a81754d]
|
71
|
+
[de381a81754d]
|
10
72
|
|
11
73
|
* lib/linguistics/en/conjugation.rb,
|
12
74
|
spec/linguistics/en/conjugation_spec.rb:
|
data/History.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -1,11 +1,7 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
require 'rspec/core/rake_task'
|
6
|
-
rescue LoadError
|
7
|
-
abort "This Rakefile requires RSpec. Try again after doing 'gem install rspec'"
|
8
|
-
end
|
3
|
+
require 'rake/clean'
|
4
|
+
require 'rdoc/task'
|
9
5
|
|
10
6
|
begin
|
11
7
|
require 'hoe'
|
@@ -13,11 +9,9 @@ rescue LoadError
|
|
13
9
|
abort "This Rakefile requires Hoe. Try again after doing 'gem install hoe'"
|
14
10
|
end
|
15
11
|
|
16
|
-
|
17
|
-
GEMSPEC = '.gemspec'
|
12
|
+
GEMSPEC = 'linguistics.gemspec'
|
18
13
|
|
19
14
|
Hoe.plugin :mercurial
|
20
|
-
Hoe.plugin :bundler
|
21
15
|
Hoe.plugin :publish
|
22
16
|
Hoe.plugin :signing
|
23
17
|
|
@@ -32,32 +26,30 @@ hoespec = Hoe.spec 'linguistics' do |spec|
|
|
32
26
|
|
33
27
|
spec.developer 'Michael Granger', 'ged@FaerieMUD.org'
|
34
28
|
|
35
|
-
spec.dependency 'loggability', '~> 0.
|
29
|
+
spec.dependency 'loggability', '~> 0.11'
|
36
30
|
|
37
|
-
spec.dependency 'hoe-deveiate', '~> 0.
|
38
|
-
spec.dependency 'hoe-bundler', '~> 1.2', :development
|
31
|
+
spec.dependency 'hoe-deveiate', '~> 0.5', :development
|
39
32
|
spec.dependency 'linkparser', '~> 1.1', :development
|
40
33
|
spec.dependency 'wordnet', '~> 1.0', :development
|
41
34
|
spec.dependency 'wordnet-defaultdb', '~> 1.0', :development
|
42
35
|
spec.dependency 'ruby-stemmer', '~> 0.9', :development
|
36
|
+
spec.dependency 'rdoc-generator-fivefish', '~> 0', :development
|
43
37
|
|
44
|
-
spec.spec_extras[:rdoc_options] = ['-f', 'fivefish', '-t', 'Ruby Linguistics Toolkit']
|
45
38
|
spec.spec_extras[:post_install_message] = [
|
46
39
|
"This library also presents tie-ins for the 'linkparser' and",
|
47
40
|
"'wordnet' libraries, which you can enable by installing the",
|
48
41
|
"gems of the same name."
|
49
42
|
].join( "\n" )
|
50
43
|
|
51
|
-
spec.require_ruby_version( '>=
|
44
|
+
spec.require_ruby_version( '>=2.0.0' )
|
52
45
|
spec.hg_sign_tags = true if spec.respond_to?( :hg_sign_tags= )
|
53
46
|
spec.check_history_on_release = true if spec.respond_to?( :check_history_on_release= )
|
54
|
-
|
55
47
|
spec.rdoc_locations << "deveiate:/usr/local/www/public/code/#{remote_rdoc_dir}"
|
56
48
|
end
|
57
49
|
|
58
50
|
ENV['VERSION'] ||= hoespec.spec.version.to_s
|
59
51
|
|
60
|
-
task 'hg:precheckin' => [ :check_history, :check_manifest, :spec ]
|
52
|
+
task 'hg:precheckin' => [ :check_history, :check_manifest, :gemspec, :spec ]
|
61
53
|
|
62
54
|
desc "Build a coverage report"
|
63
55
|
task :coverage do
|
@@ -66,13 +58,30 @@ task :coverage do
|
|
66
58
|
end
|
67
59
|
|
68
60
|
|
69
|
-
|
70
|
-
|
71
|
-
|
61
|
+
# Use the fivefish formatter for docs generated from development checkout
|
62
|
+
if File.directory?( '.hg' )
|
63
|
+
require 'rdoc/task'
|
64
|
+
|
65
|
+
Rake::Task[ 'docs' ].clear
|
66
|
+
RDoc::Task.new( 'docs' ) do |rdoc|
|
67
|
+
rdoc.main = "README.rdoc"
|
68
|
+
rdoc.rdoc_files.include( "*.rdoc", "ChangeLog", "lib/**/*.rb" )
|
69
|
+
rdoc.generator = :fivefish
|
70
|
+
rdoc.title = "Ruby Linguistics"
|
71
|
+
rdoc.rdoc_dir = 'doc'
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
task :gemspec => GEMSPEC
|
76
|
+
file GEMSPEC => __FILE__
|
77
|
+
task GEMSPEC do |task|
|
78
|
+
spec = $hoespec.spec
|
72
79
|
spec.files.delete( '.gemtest' )
|
73
|
-
spec.version = "#{spec.version}.pre
|
80
|
+
spec.version = "#{spec.version.bump}.0.pre#{Time.now.strftime("%Y%m%d%H%M%S")}"
|
74
81
|
File.open( task.name, 'w' ) do |fh|
|
75
82
|
fh.write( spec.to_ruby )
|
76
83
|
end
|
77
84
|
end
|
78
85
|
|
86
|
+
CLOBBER.include( GEMSPEC.to_s )
|
87
|
+
task :default => :gemspec
|
data/lib/linguistics.rb
CHANGED
@@ -12,10 +12,10 @@ module Linguistics
|
|
12
12
|
|
13
13
|
|
14
14
|
# Release version
|
15
|
-
VERSION = '2.0.
|
15
|
+
VERSION = '2.0.4'
|
16
16
|
|
17
17
|
# VCS version
|
18
|
-
REVISION = %q$Revision:
|
18
|
+
REVISION = %q$Revision: 32d9bdeaf0ea $
|
19
19
|
|
20
20
|
# The list of Classes to add linguistic behaviours to.
|
21
21
|
DEFAULT_EXT_CLASSES = [ String, Numeric, Array ]
|
@@ -7,7 +7,7 @@ require 'linguistics/en' unless defined?( Linguistics::EN )
|
|
7
7
|
#
|
8
8
|
# == Version
|
9
9
|
#
|
10
|
-
# $Id: conjugation.rb,v
|
10
|
+
# $Id: conjugation.rb,v 08d2e43206b3 2015/03/12 20:32:17 ged $
|
11
11
|
#
|
12
12
|
# == Authors
|
13
13
|
#
|
@@ -187,12 +187,14 @@ module Linguistics::EN::Conjugation
|
|
187
187
|
[ verb, person, tense ]
|
188
188
|
|
189
189
|
irregular = IRREGULAR_VERBS[ verb ] or return nil
|
190
|
-
self.log.debug " %p is irregular: %p, selecting %p
|
190
|
+
self.log.debug " %p is irregular: %p, selecting %p variant" %
|
191
191
|
[ verb, irregular, person ]
|
192
192
|
irrperson = irregular[ person ] || irregular[ :* ] or return nil
|
193
193
|
self.log.debug " selected %p. Using %p tense: %p" %
|
194
194
|
[ irrperson, tense, irrperson[tense] ]
|
195
|
-
|
195
|
+
word = irrperson[ tense ] or return nil
|
196
|
+
|
197
|
+
return word.sub( /\|.*/, '' )
|
196
198
|
end
|
197
199
|
|
198
200
|
|
@@ -78,7 +78,7 @@ module Linguistics::EN::LinkParser
|
|
78
78
|
if !self.has_linkparser?
|
79
79
|
raise NotImplementedError,
|
80
80
|
"LinkParser functions are not loaded: %s" %
|
81
|
-
self.
|
81
|
+
self.linkparser_error.message
|
82
82
|
end
|
83
83
|
|
84
84
|
return @lp_dict ||= LinkParser::Dictionary.new( :verbosity => 0 )
|
@@ -24,35 +24,35 @@ module Linguistics::EN::Pluralization
|
|
24
24
|
#
|
25
25
|
|
26
26
|
PL_sb_irregular_s = {
|
27
|
-
"ephemeris"
|
28
|
-
"iris"
|
29
|
-
"clitoris"
|
30
|
-
"corpus"
|
31
|
-
"opus"
|
32
|
-
"genus"
|
33
|
-
"mythos"
|
34
|
-
"penis"
|
35
|
-
"testis"
|
27
|
+
"ephemeris" => "ephemerides",
|
28
|
+
"iris" => "irises|irides",
|
29
|
+
"clitoris" => "clitorises|clitorides",
|
30
|
+
"corpus" => "corpuses|corpora",
|
31
|
+
"opus" => "opuses|opera",
|
32
|
+
"genus" => "genera",
|
33
|
+
"mythos" => "mythoi",
|
34
|
+
"penis" => "penises|penes",
|
35
|
+
"testis" => "testes",
|
36
36
|
}
|
37
37
|
|
38
38
|
PL_sb_irregular_h = {
|
39
|
-
"child"
|
40
|
-
"brother"
|
41
|
-
"loaf"
|
42
|
-
"hoof"
|
43
|
-
"beef"
|
44
|
-
"money"
|
45
|
-
"mongoose"
|
46
|
-
"ox"
|
47
|
-
"cow"
|
48
|
-
"soliloquy"
|
49
|
-
"graffito"
|
50
|
-
"prima donna"
|
51
|
-
"octopus"
|
52
|
-
"genie"
|
53
|
-
"ganglion"
|
54
|
-
"trilby"
|
55
|
-
"turf"
|
39
|
+
"child" => "children",
|
40
|
+
"brother" => "brothers|brethren",
|
41
|
+
"loaf" => "loaves",
|
42
|
+
"hoof" => "hoofs|hooves",
|
43
|
+
"beef" => "beefs|beeves",
|
44
|
+
"money" => "monies",
|
45
|
+
"mongoose" => "mongooses",
|
46
|
+
"ox" => "oxen",
|
47
|
+
"cow" => "cows|kine",
|
48
|
+
"soliloquy" => "soliloquies",
|
49
|
+
"graffito" => "graffiti",
|
50
|
+
"prima donna" => "prima donnas|prime donne",
|
51
|
+
"octopus" => "octopuses|octopodes",
|
52
|
+
"genie" => "genies|genii",
|
53
|
+
"ganglion" => "ganglions|ganglia",
|
54
|
+
"trilby" => "trilbys",
|
55
|
+
"turf" => "turfs|turves",
|
56
56
|
}.update( PL_sb_irregular_s )
|
57
57
|
PL_sb_irregular = matchgroup PL_sb_irregular_h.keys
|
58
58
|
|
@@ -81,7 +81,7 @@ module Linguistics::EN::Pluralization
|
|
81
81
|
|
82
82
|
# Classical "..en" -> "..ina"
|
83
83
|
PL_sb_C_en_ina = matchgroup %w[
|
84
|
-
stamen
|
84
|
+
stamen foramen lumen
|
85
85
|
].collect {|word| word[0...-2] }
|
86
86
|
|
87
87
|
# Unconditional "..um" -> "..a"
|
@@ -104,16 +104,16 @@ module Linguistics::EN::Pluralization
|
|
104
104
|
|
105
105
|
# Unconditional "..us" -> "i"
|
106
106
|
PL_sb_U_us_i = matchgroup %w[
|
107
|
-
alumnus
|
108
|
-
locus
|
107
|
+
alumnus alveolus bacillus bronchus
|
108
|
+
locus nucleus stimulus meniscus
|
109
109
|
].collect {|word| word[0...-2]}
|
110
110
|
|
111
111
|
# Classical "..us" -> "..i"
|
112
112
|
PL_sb_C_us_i = matchgroup %w[
|
113
|
-
focus
|
114
|
-
incubus
|
115
|
-
fungus
|
116
|
-
torus
|
113
|
+
focus radius genius
|
114
|
+
incubus succubus nimbus
|
115
|
+
fungus nucleolus stylus
|
116
|
+
torus umbilicus uterus
|
117
117
|
hippopotamus
|
118
118
|
].collect {|word| word[0...-2]}
|
119
119
|
|
@@ -125,9 +125,9 @@ module Linguistics::EN::Pluralization
|
|
125
125
|
|
126
126
|
# Unconditional "..on" -> "a"
|
127
127
|
PL_sb_U_on_a = matchgroup %w[
|
128
|
-
criterion
|
129
|
-
phenomenon
|
130
|
-
organon
|
128
|
+
criterion perihelion aphelion
|
129
|
+
phenomenon prolegomenon noumenon
|
130
|
+
organon asyndeton hyperbaton
|
131
131
|
].collect {|word| word[0...-2]}
|
132
132
|
|
133
133
|
# Classical "..on" -> "..a"
|
@@ -137,37 +137,37 @@ module Linguistics::EN::Pluralization
|
|
137
137
|
|
138
138
|
# Classical "..o" -> "..i" (but normally -> "..os")
|
139
139
|
PL_sb_C_o_i_a = %w[
|
140
|
-
solo
|
141
|
-
contralto
|
140
|
+
solo soprano basso alto
|
141
|
+
contralto tempo piano
|
142
142
|
]
|
143
143
|
PL_sb_C_o_i = matchgroup PL_sb_C_o_i_a.collect{|word| word[0...-1]}
|
144
144
|
|
145
145
|
# Always "..o" -> "..os"
|
146
146
|
PL_sb_U_o_os = matchgroup( %w[
|
147
|
-
albino
|
148
|
-
commando
|
149
|
-
ditto
|
150
|
-
ghetto
|
151
|
-
jumbo
|
152
|
-
manifesto
|
153
|
-
photo
|
154
|
-
canto
|
155
|
-
stylo
|
147
|
+
albino archipelago armadillo
|
148
|
+
commando crescendo fiasco
|
149
|
+
ditto dynamo embryo
|
150
|
+
ghetto guano inferno
|
151
|
+
jumbo lumbago magneto
|
152
|
+
manifesto medico octavo
|
153
|
+
photo pro quarto
|
154
|
+
canto lingo generalissimo
|
155
|
+
stylo rhino
|
156
156
|
] | PL_sb_C_o_i_a )
|
157
157
|
|
158
158
|
|
159
159
|
# Unconditional "..[ei]x" -> "..ices"
|
160
160
|
PL_sb_U_ex_ices = matchgroup %w[
|
161
|
-
codex
|
161
|
+
codex murex silex
|
162
162
|
].collect {|word| word[0...-2]}
|
163
163
|
PL_sb_U_ix_ices = matchgroup %w[
|
164
|
-
radix
|
164
|
+
radix helix
|
165
165
|
].collect {|word| word[0...-2]}
|
166
166
|
|
167
167
|
# Classical "..[ei]x" -> "..ices"
|
168
168
|
PL_sb_C_ex_ices = matchgroup %w[
|
169
|
-
vortex
|
170
|
-
pontifex
|
169
|
+
vortex vertex cortex latex
|
170
|
+
pontifex apex index simplex
|
171
171
|
].collect {|word| word[0...-2]}
|
172
172
|
PL_sb_C_ix_ices = matchgroup %w[
|
173
173
|
appendix
|
@@ -176,13 +176,13 @@ module Linguistics::EN::Pluralization
|
|
176
176
|
|
177
177
|
# Arabic: ".." -> "..i"
|
178
178
|
PL_sb_C_i = matchgroup %w[
|
179
|
-
afrit
|
179
|
+
afrit afreet efreet
|
180
180
|
]
|
181
181
|
|
182
182
|
|
183
183
|
# Hebrew: ".." -> "..im"
|
184
184
|
PL_sb_C_im = matchgroup %w[
|
185
|
-
goy
|
185
|
+
goy seraph cherub
|
186
186
|
]
|
187
187
|
|
188
188
|
# Unconditional "..man" -> "..mans"
|
@@ -272,10 +272,8 @@ module Linguistics::EN::Pluralization
|
|
272
272
|
]
|
273
273
|
|
274
274
|
PL_sb_postfix_adj = '(' + {
|
275
|
-
|
276
275
|
'general' => '(?!major|lieutenant|brigadier|adjutant)\S+',
|
277
276
|
'martial' => "court",
|
278
|
-
|
279
277
|
}.collect {|key,val|
|
280
278
|
"(?:#{val})(?=(?:-|\\s+)#{key})"
|
281
279
|
}.join("|") + ")(.*)"
|
@@ -296,64 +294,64 @@ module Linguistics::EN::Pluralization
|
|
296
294
|
|
297
295
|
|
298
296
|
PL_pron_nom_h = {
|
299
|
-
#
|
300
|
-
"i"
|
301
|
-
"you"
|
302
|
-
"she"
|
303
|
-
"he"
|
304
|
-
"it"
|
305
|
-
"they"
|
306
|
-
|
307
|
-
#
|
308
|
-
"mine"
|
309
|
-
"yours"
|
310
|
-
"hers"
|
311
|
-
"his"
|
312
|
-
"its"
|
297
|
+
# Nominative Reflexive
|
298
|
+
"i" => "we", "myself" => "ourselves",
|
299
|
+
"you" => "you", "yourself" => "yourselves",
|
300
|
+
"she" => "they", "herself" => "themselves",
|
301
|
+
"he" => "they", "himself" => "themselves",
|
302
|
+
"it" => "they", "itself" => "themselves",
|
303
|
+
"they" => "they", "themself" => "themselves",
|
304
|
+
|
305
|
+
# Possessive
|
306
|
+
"mine" => "ours",
|
307
|
+
"yours" => "yours",
|
308
|
+
"hers" => "theirs",
|
309
|
+
"his" => "theirs",
|
310
|
+
"its" => "theirs",
|
313
311
|
"theirs" => "theirs",
|
314
312
|
}
|
315
313
|
PL_pron_nom = Regexp.new( PL_pron_nom_h.keys.join('|'), Regexp::IGNORECASE )
|
316
314
|
|
317
315
|
PL_pron_acc_h = {
|
318
|
-
# Accusative
|
319
|
-
"me"
|
320
|
-
"you"
|
321
|
-
"her"
|
322
|
-
"him"
|
323
|
-
"it"
|
324
|
-
"them"
|
316
|
+
# Accusative Reflexive
|
317
|
+
"me" => "us", "myself" => "ourselves",
|
318
|
+
"you" => "you", "yourself" => "yourselves",
|
319
|
+
"her" => "them", "herself" => "themselves",
|
320
|
+
"him" => "them", "himself" => "themselves",
|
321
|
+
"it" => "them", "itself" => "themselves",
|
322
|
+
"them" => "them", "themself" => "themselves",
|
325
323
|
}
|
326
324
|
PL_pron_acc = matchgroup PL_pron_acc_h.keys
|
327
325
|
|
328
326
|
PL_v_irregular_pres_h = {
|
329
|
-
#
|
330
|
-
#
|
331
|
-
"am"
|
332
|
-
"was"
|
333
|
-
"have" => "have",
|
327
|
+
# 1St pers. sing. 2nd pers. sing. 3rd pers. singular
|
328
|
+
# 3rd pers. (indet.)
|
329
|
+
"am" => "are", "are" => "are", "is" => "are",
|
330
|
+
"was" => "were", "were" => "were",
|
331
|
+
"have" => "have", "has" => "have",
|
334
332
|
}
|
335
333
|
PL_v_irregular_pres = matchgroup PL_v_irregular_pres_h.keys
|
336
334
|
|
337
335
|
PL_v_ambiguous_pres_h = {
|
338
|
-
#
|
339
|
-
#
|
340
|
-
"act"
|
341
|
-
"blame"
|
342
|
-
"can"
|
343
|
-
"must"
|
344
|
-
"fly"
|
345
|
-
"copy"
|
346
|
-
"drink"
|
347
|
-
"fight"
|
348
|
-
"fire"
|
349
|
-
"like"
|
350
|
-
"look"
|
351
|
-
"make"
|
352
|
-
"reach"
|
353
|
-
"run"
|
354
|
-
"sink"
|
355
|
-
"sleep"
|
356
|
-
"view"
|
336
|
+
# 1st pers. sing. 2nd pers. sing. 3rd pers. singular
|
337
|
+
# 3rd pers. (indet.)
|
338
|
+
"act" => "act", "acts" => "act",
|
339
|
+
"blame" => "blame", "blames" => "blame",
|
340
|
+
"can" => "can",
|
341
|
+
"must" => "must",
|
342
|
+
"fly" => "fly", "flies" => "fly",
|
343
|
+
"copy" => "copy", "copies" => "copy",
|
344
|
+
"drink" => "drink", "drinks" => "drink",
|
345
|
+
"fight" => "fight", "fights" => "fight",
|
346
|
+
"fire" => "fire", "fires" => "fire",
|
347
|
+
"like" => "like", "likes" => "like",
|
348
|
+
"look" => "look", "looks" => "look",
|
349
|
+
"make" => "make", "makes" => "make",
|
350
|
+
"reach" => "reach", "reaches" => "reach",
|
351
|
+
"run" => "run", "runs" => "run",
|
352
|
+
"sink" => "sink", "sinks" => "sink",
|
353
|
+
"sleep" => "sleep", "sleeps" => "sleep",
|
354
|
+
"view" => "view", "views" => "view",
|
357
355
|
}
|
358
356
|
PL_v_ambiguous_pres = matchgroup PL_v_ambiguous_pres_h.keys
|
359
357
|
|
@@ -376,18 +374,18 @@ module Linguistics::EN::Pluralization
|
|
376
374
|
]
|
377
375
|
|
378
376
|
PL_adj_special_h = {
|
379
|
-
"a" => "some",
|
380
|
-
"this" => "these",
|
377
|
+
"a" => "some", "an" => "some",
|
378
|
+
"this" => "these", "that" => "those",
|
381
379
|
}
|
382
380
|
PL_adj_special = matchgroup PL_adj_special_h.keys
|
383
381
|
|
384
382
|
PL_adj_poss_h = {
|
385
383
|
"my" => "our",
|
386
|
-
"your"
|
387
|
-
"its"
|
388
|
-
"her"
|
389
|
-
"his"
|
390
|
-
"their"
|
384
|
+
"your" => "your",
|
385
|
+
"its" => "their",
|
386
|
+
"her" => "their",
|
387
|
+
"his" => "their",
|
388
|
+
"their" => "their",
|
391
389
|
}
|
392
390
|
PL_adj_poss = matchgroup PL_adj_poss_h.keys
|
393
391
|
|