linguistics 2.0.3 → 2.0.4
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
- 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
|
|