linguistics 1.0.9 → 2.0.0

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.
Files changed (69) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.gemtest +0 -0
  3. data/ChangeLog +849 -342
  4. data/History.rdoc +11 -0
  5. data/LICENSE +9 -9
  6. data/Manifest.txt +44 -0
  7. data/README.rdoc +226 -0
  8. data/Rakefile +32 -349
  9. data/examples/endocs.rb +272 -0
  10. data/examples/generalize_sentence.rb +2 -1
  11. data/examples/klingon.rb +22 -0
  12. data/lib/linguistics.rb +130 -292
  13. data/lib/linguistics/en.rb +337 -1628
  14. data/lib/linguistics/en/articles.rb +138 -0
  15. data/lib/linguistics/en/conjugation.rb +2245 -0
  16. data/lib/linguistics/en/conjunctions.rb +202 -0
  17. data/lib/linguistics/en/{infinitive.rb → infinitives.rb} +41 -55
  18. data/lib/linguistics/en/linkparser.rb +41 -49
  19. data/lib/linguistics/en/numbers.rb +483 -0
  20. data/lib/linguistics/en/participles.rb +33 -0
  21. data/lib/linguistics/en/pluralization.rb +810 -0
  22. data/lib/linguistics/en/stemmer.rb +75 -0
  23. data/lib/linguistics/en/titlecase.rb +121 -0
  24. data/lib/linguistics/en/wordnet.rb +63 -97
  25. data/lib/linguistics/inflector.rb +89 -0
  26. data/lib/linguistics/iso639.rb +534 -448
  27. data/lib/linguistics/languagebehavior.rb +36 -0
  28. data/lib/linguistics/monkeypatches.rb +42 -0
  29. data/spec/lib/constants.rb +15 -0
  30. data/spec/lib/helpers.rb +38 -0
  31. data/spec/linguistics/en/articles_spec.rb +797 -0
  32. data/spec/linguistics/en/conjugation_spec.rb +2083 -0
  33. data/spec/linguistics/en/conjunctions_spec.rb +154 -0
  34. data/spec/linguistics/en/infinitives_spec.rb +518 -0
  35. data/spec/linguistics/en/linkparser_spec.rb +66 -0
  36. data/spec/linguistics/en/numbers_spec.rb +1295 -0
  37. data/spec/linguistics/en/participles_spec.rb +55 -0
  38. data/spec/linguistics/en/pluralization_spec.rb +4636 -0
  39. data/spec/linguistics/en/stemmer_spec.rb +72 -0
  40. data/spec/linguistics/en/titlecase_spec.rb +841 -0
  41. data/spec/linguistics/en/wordnet_spec.rb +85 -0
  42. data/spec/linguistics/en_spec.rb +45 -167
  43. data/spec/linguistics/inflector_spec.rb +40 -0
  44. data/spec/linguistics/iso639_spec.rb +49 -53
  45. data/spec/linguistics/monkeypatches_spec.rb +40 -0
  46. data/spec/linguistics_spec.rb +46 -76
  47. metadata +241 -113
  48. metadata.gz.sig +0 -0
  49. data/README +0 -166
  50. data/README.english +0 -245
  51. data/rake/191_compat.rb +0 -26
  52. data/rake/dependencies.rb +0 -76
  53. data/rake/documentation.rb +0 -123
  54. data/rake/helpers.rb +0 -502
  55. data/rake/hg.rb +0 -318
  56. data/rake/manual.rb +0 -787
  57. data/rake/packaging.rb +0 -129
  58. data/rake/publishing.rb +0 -341
  59. data/rake/style.rb +0 -62
  60. data/rake/svn.rb +0 -668
  61. data/rake/testing.rb +0 -152
  62. data/rake/verifytask.rb +0 -64
  63. data/tests/en/infinitive.tests.rb +0 -207
  64. data/tests/en/inflect.tests.rb +0 -1389
  65. data/tests/en/lafcadio.tests.rb +0 -77
  66. data/tests/en/linkparser.tests.rb +0 -42
  67. data/tests/en/lprintf.tests.rb +0 -77
  68. data/tests/en/titlecase.tests.rb +0 -73
  69. data/tests/en/wordnet.tests.rb +0 -95
@@ -0,0 +1,138 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require 'linguistics/en' unless defined?( Linguistics::EN )
4
+
5
+ # Indefinite article methods for the English-language Linguistics module.
6
+ module Linguistics::EN::Articles
7
+
8
+ # Register this module to the list of modules to include
9
+ Linguistics::EN.register_extension( self )
10
+
11
+
12
+ # This pattern matches strings of capitals starting with a "vowel-sound"
13
+ # consonant followed by another consonant, and which are not likely
14
+ # to be real words (oh, all right then, it's just magic!)
15
+ A_abbrev = %r{
16
+ ^(
17
+ (?!
18
+ FJO |
19
+ [HLMNS]Y. |
20
+ RY[EO] |
21
+ SQU |
22
+ (
23
+ F[LR]? |
24
+ [HL] |
25
+ MN? |
26
+ N |
27
+ RH? |
28
+ S[CHKLMNPTVW]? |
29
+ X(YL)?
30
+ ) [AEIOU]
31
+ )
32
+ [FHLMNRSX][A-Z]
33
+ )
34
+ }x
35
+
36
+ # This pattern codes the beginnings of all english words begining with a
37
+ # 'y' followed by a consonant. Any other y-consonant prefix therefore
38
+ # implies an abbreviation.
39
+ A_y_cons = %r{^(y(?:b[lor]|cl[ea]|fere|gg|p[ios]|rou|tt))}i
40
+
41
+ # Exceptions to exceptions
42
+ A_explicit_an = Regexp.union( /euler/i, /hour(?!i)/i, /heir/i, /honest/i, /hono/i )
43
+
44
+ # Words which always indicate zero quantity
45
+ PL_count_zero = Regexp.union( "0", "no", "zero", "nil" )
46
+
47
+
48
+ ### Returns the given word with a prepended indefinite article, unless
49
+ ### +count+ is non-nil and not singular.
50
+ def indef_article( count=nil )
51
+ word = self.to_s
52
+
53
+ self.log.debug "Fetching the indefinite article for %p (count = %p)" % [ word, count ]
54
+ return "#{count} #{word}" if
55
+ count && /^(#{PL_count_one})$/i !~ count.to_s
56
+
57
+ # Handle user-defined variants
58
+ # return value if value = ud_match( word, A_a_user_defined )
59
+
60
+ self.log.debug " count wasn't a definite singular countword"
61
+ case word
62
+
63
+ # Handle special cases
64
+ when /^(#{A_explicit_an})/i
65
+ return "an #{word}"
66
+
67
+ # Handle abbreviations
68
+ when A_abbrev
69
+ return "an #{word}"
70
+ when /^[aefhilmnorsx][.-]/i
71
+ return "an #{word}"
72
+ when /^[a-z][.-]/i
73
+ return "a #{word}"
74
+
75
+ # Handle consonants
76
+ when /^[^aeiouy]/i
77
+ return "a #{word}"
78
+
79
+ # Handle special vowel-forms
80
+ when /^e[uw]/i
81
+ return "a #{word}"
82
+ when /^onc?e\b/i
83
+ return "a #{word}"
84
+ when /^uni([^nmd]|mo)/i
85
+ return "a #{word}"
86
+ when /^u[bcfhjkqrst][aeiou]/i
87
+ return "a #{word}"
88
+
89
+ # Handle vowels
90
+ when /^[aeiou]/i
91
+ return "an #{word}"
92
+
93
+ # Handle y... (before certain consonants implies (unnaturalized) "i.." sound)
94
+ when A_y_cons
95
+ return "an #{word}"
96
+
97
+ # Otherwise, guess "a"
98
+ else
99
+ return "a #{word}"
100
+ end
101
+ end
102
+
103
+
104
+ ### Return the inflected phrase with the appropriate indefinite article ("a" or
105
+ ### "an") prepended.
106
+ def a( count=nil )
107
+ count ||= 1
108
+ phrase = self.to_s
109
+
110
+ md = /\A(\s*)(.+?)(\s*)\Z/.match( phrase )
111
+ pre, word, post = md.to_a[1,3]
112
+ return phrase if word.nil? or word.empty?
113
+
114
+ result = word.en.indef_article
115
+ return pre + result + post
116
+ end
117
+ alias_method :an, :a
118
+ Linguistics::EN.register_lprintf_formatter :A, :a
119
+ Linguistics::EN.register_lprintf_formatter :AN, :a
120
+
121
+
122
+ ### Translate zero-quantified +phrase+ to "no +phrase.plural+"
123
+ def no( count=nil )
124
+ phrase = self.to_s
125
+ md = /\A(\s*)(.+?)(\s*)\Z/.match( phrase )
126
+ pre, word, post = md.to_a[1,3]
127
+ count ||= 0
128
+
129
+ unless /^#{PL_count_zero}$/ =~ count.to_s
130
+ return "#{pre}#{count} " + plural( word, count ) + post
131
+ else
132
+ return "#{pre}no " + word.en.plural( 0 ) + post
133
+ end
134
+ end
135
+ Linguistics::EN.register_lprintf_formatter :NO, :no
136
+
137
+ end # module Linguistics::EN::Articles
138
+
@@ -0,0 +1,2245 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require 'loggability'
4
+ require 'linguistics/en' unless defined?( Linguistics::EN )
5
+
6
+ # This file contains functions for conjugating verbs.
7
+ #
8
+ # == Version
9
+ #
10
+ # $Id: conjugation.rb,v 8b1c8ec50991 2012/08/22 02:09:29 ged $
11
+ #
12
+ # == Authors
13
+ #
14
+ # * Robert Berry <berrydigital@gmail.com>
15
+ # * Michael Granger <ged@FaerieMUD.org>
16
+ #
17
+ # == Copyright
18
+ #
19
+ # Based on MorphAdorner (http://morphadorner.northwestern.edu/), which is
20
+ # licensed under the following terms:
21
+ #
22
+ # Copyright © 2006-2009 by Northwestern University. All rights reserved.
23
+ #
24
+ # Developed by:
25
+ # Academic and Research Technologies
26
+ # Northwestern University
27
+ # http://www.it.northwestern.edu/about/departments/at/
28
+ #
29
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
30
+ # of this software and associated documentation files (the "Software"), to deal
31
+ # with the Software without restriction, including without limitation the rights
32
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
33
+ # copies of the Software, and to permit persons to whom the Software is
34
+ # furnished to do so, subject to the following conditions:
35
+ #
36
+ # Redistributions of source code must retain the above copyright notice,
37
+ # this list of conditions and the following disclaimers.
38
+ #
39
+ # Redistributions in binary form must reproduce the above copyright notice,
40
+ # this list of conditions and the following disclaimers in the documentation
41
+ # and/or other materials provided with the distribution.
42
+ #
43
+ # Neither the names of Academic and Research Technologies, Northwestern
44
+ # University, nor the names of its contributors may be used to endorse or
45
+ # promote products derived from this Software without specific prior written
46
+ # permission.
47
+ #
48
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
49
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
50
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
51
+ # CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
52
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
53
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH
54
+ # THE SOFTWARE.
55
+ #
56
+ module Linguistics::EN::Conjugation
57
+ extend Loggability
58
+
59
+ # Use the Linguistics module's logger
60
+ log_to :linguistics
61
+
62
+
63
+ # Hash of irregular verb infinitives, read from the DATA section of the file
64
+ IRREGULAR_VERBS = {} # :nodoc:
65
+
66
+ # Array of doubling verbs, read from the DATA section of the file
67
+ DOUBLING_VERBS = [] # :nodoc:
68
+
69
+
70
+ ### Return the past tense of the word
71
+ def past_tense( person=nil )
72
+ return self.conjugate( :past, person )
73
+ end
74
+
75
+
76
+ ### Return the past participle of the word
77
+ def past_participle( person=nil )
78
+ return self.conjugate( :past_participle, person )
79
+ end
80
+
81
+
82
+ ### Return the present tense of the word
83
+ def present_tense( person=nil )
84
+ return self.conjugate( :present, person )
85
+ end
86
+
87
+
88
+ ### Return the present participle of the word
89
+ def present_participle( person=nil )
90
+ return self.conjugate( :present_participle, person )
91
+ end
92
+
93
+
94
+
95
+ ### Conjugate the receiving string as an infinitive with the specified +tense+
96
+ ### and +person+.
97
+ def conjugate( tense, person=nil )
98
+ self.log.debug "Conjugating %p in %s tense, %s person" %
99
+ [ self.to_s, tense, person || "any" ]
100
+ person ||= :*
101
+ verb = self.to_s.downcase
102
+
103
+ if result = get_irregular( verb, person, tense )
104
+ self.log.debug " verb %p is irregular: %p" % [ verb, result ]
105
+ return result
106
+ end
107
+
108
+ self.log.debug " regular verb: conjugating by tense"
109
+ return case tense
110
+ when :present
111
+ conjugate_present( verb, person )
112
+ when :present_participle
113
+ conjugate_present_participle( verb )
114
+ when :past
115
+ conjugate_past( verb )
116
+ when :past_participle
117
+ conjugate_past_participle( verb )
118
+ else
119
+ verb
120
+ end
121
+ end
122
+
123
+
124
+ #######
125
+ private
126
+ #######
127
+
128
+ ### Conjugate the specified +verb+ in the present tense in the given +person+. The
129
+ ### only +person+ that is
130
+ def conjugate_present( verb, person=:third_person_singular )
131
+ return verb unless person == :third_person_singular
132
+
133
+ case verb
134
+ when /(ch|s|sh|x|z)$/
135
+ return verb + 'es'
136
+ when /(ay|ey|oy|uy)$/
137
+ return verb + 's'
138
+ when /[^aeiou]y$/
139
+ return verb[ 0..-2 ] + 'ies'
140
+ else
141
+ return verb + 's'
142
+ end
143
+ end
144
+
145
+
146
+ ### Convugate the given +verb+ as a present participle.
147
+ def conjugate_present_participle( verb )
148
+ case verb
149
+ when /[^aeiou]e$/
150
+ return verb[ 0..-2 ]
151
+ when /ie$/
152
+ return verb[ 0..-3 ] + 'y'
153
+ when /[aou]e$/
154
+ return verb[ 0..-2 ]
155
+ else
156
+ if DOUBLING_VERBS.include?( verb )
157
+ return verb + verb[ -1 ] + 'ing'
158
+ else
159
+ return verb + 'ing'
160
+ end
161
+ end
162
+ end
163
+
164
+
165
+ ### Conjugate the specified verb in the past tense; also used to conjugate the
166
+ ### past participle.
167
+ def conjugate_past( verb )
168
+ case verb
169
+ when /e$/
170
+ return verb + 'd'
171
+ when /[^aeiou]y$/
172
+ return verb[ 0..-1 ] + 'ied'
173
+ else
174
+ if DOUBLING_VERBS.include?( verb )
175
+ verb = verb[ -2..-1 ] + 'ed'
176
+ else
177
+ return verb + 'ed'
178
+ end
179
+ end
180
+ end
181
+ alias_method :conjugate_past_participle, :conjugate_past
182
+
183
+
184
+ #### If the given +verb+ is irregular in the given +person_ and
185
+ def get_irregular( verb, person, tense )
186
+ self.log.debug " looking for irregular verb: %p, %p person, %p tense" %
187
+ [ verb, person, tense ]
188
+
189
+ irregular = IRREGULAR_VERBS[ verb ] or return nil
190
+ self.log.debug " %p is irregular: %p, selecting %p person" %
191
+ [ verb, irregular, person ]
192
+ irrperson = irregular[ person ] || irregular[ :* ] or return nil
193
+ self.log.debug " selected %p. Using %p tense: %p" %
194
+ [ irrperson, tense, irrperson[tense] ]
195
+ return irrperson[ tense ]
196
+ end
197
+
198
+
199
+ ######
200
+ public
201
+ ######
202
+
203
+ ### Inclusion hook -- load the verb data when the module is first included.
204
+ def self::included( mod ) # :nodoc:
205
+ if IRREGULAR_VERBS.empty?
206
+ self.log.debug "Loading conjunctions data."
207
+ data = File.read( __FILE__ ).split( /^__END__$/ ).last
208
+ irrverb_data, doublverb_data = data.split( /^#\n# Doubling Verbs.*\n#\n/, 2 )
209
+ IRREGULAR_VERBS.replace( self.load_irregular_verbs(irrverb_data) )
210
+ self.log.debug " loaded %d irregular verbs" % [ IRREGULAR_VERBS.length ]
211
+
212
+ DOUBLING_VERBS.replace( self.load_doubling_verbs(doublverb_data) )
213
+ self.log.debug " loaded %d doubling verbs" % [ DOUBLING_VERBS.length ]
214
+ end
215
+
216
+ super
217
+ end
218
+
219
+
220
+ ### Parse irregular verbs from the given +data+, and return the resulting Hash.
221
+ def self::load_irregular_verbs( data )
222
+ self.log.debug " loading irregular verbs from %d bytes of data." % [ data.length ]
223
+ results = {}
224
+
225
+ data.each_line do |line|
226
+ if line =~ /^(#|\s*$)/ # Skip comments and blank lines
227
+ # self.log.debug " skipping line: %p" % [ line ]
228
+ next
229
+ end
230
+
231
+ infinitive, person, tense, conjugation = line.chomp.split( /\s+/, 4 )
232
+ # self.log.debug " line split into: %p" %
233
+ # [[ infinitive, person, tense, conjugation ]]
234
+
235
+ raise "malformed line: %p" % [ line ] unless infinitive && person && tense && conjugation
236
+
237
+ results[ infinitive ] ||= {}
238
+ results[ infinitive ][ person.to_sym ] ||= {}
239
+ results[ infinitive ][ person.to_sym ][ tense.to_sym ] = conjugation
240
+ end
241
+
242
+ self.log.debug " %d infinitives loaded." % [ results.length ]
243
+ return results
244
+ end
245
+
246
+
247
+ ### Load the doubling verbs from the given +data+ and return the resulting Array.
248
+ def self::load_doubling_verbs( data )
249
+ self.log.debug " loading doubling verbs."
250
+ results = []
251
+
252
+ data.each_line do |line|
253
+ next if line =~ /^(#|\s*$)/ # Skip comments and blank lines
254
+ results << line.chomp
255
+ end
256
+
257
+ self.log.debug " %d doubling verbs loaded." % [ results.length ]
258
+ return results
259
+ end
260
+
261
+
262
+ # Register this module to the list of modules to include
263
+ Linguistics::EN.register_extension( self )
264
+
265
+
266
+ end # module Linguistics::EN::Conjugation
267
+
268
+ __END__
269
+ #
270
+ # Irregular verbs (from MorphAdorner's irregularverbs.txt)
271
+ #
272
+ arise * past arose
273
+ arise * past_participle arisen
274
+ awake * past awoke
275
+ awake * past_participle awoken
276
+ backbite * past backbit
277
+ backbite * past_participle backbitten
278
+ backslide * past backslid
279
+ backslide * past_participle backslid
280
+ be * past was
281
+ be * past were
282
+ be * past_participle been
283
+ be * past_participle been
284
+ be * present are
285
+ be * present_participle being
286
+ be first_person_singular past was
287
+ be first_person_singular present am
288
+ be third_person_singular past was
289
+ be third_person_singular present is
290
+ bear * past bore
291
+ bear * past_participle borne
292
+ beat * past beat
293
+ beat * past_participle beaten
294
+ become * past became
295
+ become * past_participle become
296
+ befall * past befell
297
+ befall * past_participle befallen
298
+ beget * past begat
299
+ beget * past_participle begot
300
+ begin * past began
301
+ begin * past_participle begun
302
+ bend * past bent
303
+ bend * past_participle bent
304
+ beset * past beset
305
+ beset * past_participle beset
306
+ bet * past bet
307
+ bet * past_participle bet
308
+ betake * past betook
309
+ betake * past_participle betaken
310
+ bethink * past bethought
311
+ bethink * past_participle bethought
312
+ bid * past bid|bade
313
+ bid * past_participle bid|bidden
314
+ bind * past bound
315
+ bind * past_participle bound
316
+ bite * past bit
317
+ bite * past_participle bitten
318
+ bleed * past bled
319
+ bleed * past_participle bled
320
+ blow * past blew
321
+ blow * past_participle blown
322
+ break * past broke
323
+ break * past_participle broken
324
+ breed * past bred
325
+ breed * past_participle bred
326
+ bring * past brought
327
+ bring * past_participle brought
328
+ broadcast * past broadcast
329
+ broadcast * past_participle broadcast
330
+ browbeat * past browbeat
331
+ browbeat * past_participle browbeaten
332
+ build * past built
333
+ build * past_participle built
334
+ build-up * past built-up
335
+ build-up * past_participle built-up
336
+ burst * past burst
337
+ burst * past_participle burst
338
+ buy * past bought
339
+ buy * past_participle bought
340
+ carry-out * past carried-out
341
+ carry-out * past_participle carried-out
342
+ cast * past cast
343
+ cast * past_participle cast
344
+ catch * past caught
345
+ catch * past_participle caught
346
+ choose * past chose
347
+ choose * past_participle chosen
348
+ cling * past clung
349
+ cling * past_participle clung
350
+ colorbreed * past colorbred
351
+ colorbreed * past_participle colorbred
352
+ come * past came
353
+ come * past_participle come
354
+ cost * past cost
355
+ cost * past_participle cost
356
+ creep * past crept
357
+ creep * past_participle crept
358
+ crossbreed * past crossbred
359
+ crossbreed * past_participle crossbred
360
+ cut * past cut
361
+ cut * past_participle cut
362
+ deal * past dealt
363
+ deal * past_participle dealt
364
+ dig * past dug
365
+ dig * past_participle dug
366
+ dive * past dove
367
+ dive * past_participle dived
368
+ do * past did
369
+ do * past_participle done
370
+ do third_person_singular present does
371
+ draw * past drew
372
+ draw * past_participle drawn
373
+ drink * past drank
374
+ drink * past_participle drunk
375
+ drive * past drove
376
+ drive * past_participle driven
377
+ dye * present_participle dyeing
378
+ eat * past ate
379
+ eat * past_participle eaten
380
+ enwind * past enwound
381
+ enwind * past_participle enwound
382
+ eye * present_participle eyeing
383
+ fall * past fell
384
+ fall * past_participle fallen
385
+ fast-wind * past fast-wound
386
+ fast-wind * past_participle fast-wound
387
+ feed * past fed
388
+ feed * past_participle fed
389
+ feel * past felt
390
+ feel * past_participle felt
391
+ fight * past fought
392
+ fight * past_participle fought
393
+ find * past found
394
+ find * past_participle found
395
+ fit * past fit
396
+ fit * past_participle fit
397
+ fit-out * past fitted-out
398
+ fit-out * past_participle fitted-out
399
+ flee * past fled
400
+ flee * past_participle fled
401
+ fling * past flung
402
+ fling * past_participle flung
403
+ fly * past flew
404
+ fly * past_participle flown
405
+ forbear * past forbore
406
+ forbear * past_participle forborne
407
+ forbid * past forbade
408
+ forbid * past_participle forbidden
409
+ forecast * past forecast
410
+ forecast * past_participle forecast
411
+ forego * past forewent
412
+ forego * past_participle foregone
413
+ foreknow * past foreknew
414
+ foreknow * past_participle foreknown
415
+ forerun * past foreran
416
+ forerun * past_participle forerun
417
+ forespeak * past forespoke
418
+ forespeak * past_participle forespoken
419
+ foreswear * past foreswore
420
+ foreswear * past_participle foresworn
421
+ foretell * past foretold
422
+ foretell * past_participle foretold
423
+ forget * past forgot
424
+ forget * past_participle forgotten
425
+ forgive * past forgave
426
+ forgive * past_participle forgiven
427
+ forsake * past forsook
428
+ forsake * past_participle forsaken
429
+ forsee * past forsaw
430
+ forsee * past_participle forseen
431
+ freeze * past froze
432
+ freeze * past_participle frozen
433
+ gainsay * past gainsaid
434
+ gainsay * past_participle gainsaid
435
+ get * past got
436
+ get * past_participle gotten
437
+ give * past gave
438
+ give * past_participle given
439
+ go * past went
440
+ go * past_participle gone
441
+ go third_person_singular present goes
442
+ grind * past ground
443
+ grind * past_participle ground
444
+ grow * past grew
445
+ grow * past_participle grown
446
+ hagride * past hagrode
447
+ hagride * past_participle hagridden
448
+ half-rise * past half-rose
449
+ half-rise * past_participle half-risen
450
+ halterbreak * past halterbroke
451
+ halterbreak * past_participle halterbroken
452
+ hamstring * past hamstrung
453
+ hamstring * past_participle hamstrung
454
+ hand-feed * past hand-fed
455
+ hand-feed * past_participle hand-fed
456
+ handwrite * past handwrote
457
+ handwrite * past_participle handwritten
458
+ hang * past hanged|hung
459
+ hang * past_participle hanged|hung
460
+ have * past had
461
+ have * past had
462
+ have * past_participle had
463
+ have * past_participle had
464
+ have * present have
465
+ have * present_participle having
466
+ have third_person_singular present has
467
+ hear * past heard
468
+ hear * past_participle heard
469
+ hide * past hid
470
+ hide * past_participle hidden
471
+ hit * past hit
472
+ hit * past_participle hit
473
+ hold * past held
474
+ hold * past_participle held
475
+ hurt * past hurt
476
+ hurt * past_participle hurt
477
+ inbreed * past inbred
478
+ inbreed * past_participle inbred
479
+ inbring * past inbrought
480
+ inbring * past_participle inbrought
481
+ inlay * past inlaid
482
+ inlay * past_participle inlaid
483
+ inset * past inset
484
+ inset * past_participle inset
485
+ interbreed * past interbred
486
+ interbreed * past_participle interbred
487
+ intercut * past intercut
488
+ intercut * past_participle intercut
489
+ interlay * past interlaid
490
+ interlay * past_participle interlaid
491
+ interset * past interset
492
+ interset * past_participle interset
493
+ interweave * past interwove
494
+ interweave * past_participle interwoven
495
+ interwind * past interwound
496
+ interwind * past_participle interwound
497
+ inweave * past inwove
498
+ inweave * past_participle inwoven
499
+ jerry-build * past jerry-built
500
+ jerry-build * past_participle jerry-built
501
+ keep * past kept
502
+ keep * past_participle kept
503
+ kick-off * past kicked-off
504
+ kick-off * past_participle kicked-off
505
+ kick-off * present_participle kicking-off
506
+ kneel * past knelt
507
+ kneel * past_participle knelt
508
+ knit * past knitted
509
+ knit * past_participle knitted
510
+ knit * present_participle knitting
511
+ know * past knew
512
+ know * past_participle known
513
+ landslide * past landslid
514
+ landslide * past_participle landslid
515
+ lay * past laid
516
+ lay * past_participle laid
517
+ lead * past led
518
+ lead * past_participle led
519
+ leave * past left
520
+ leave * past_participle left
521
+ lend * past lent
522
+ lend * past_participle lent
523
+ let * past let
524
+ let * past_participle let
525
+ lie * past lied|lay
526
+ lie * past_participle lied|lain
527
+ light * past lit
528
+ light * past_participle lit
529
+ light-up * past lit-up
530
+ light-up * past_participle lit-up
531
+ lip-read * past lip-read
532
+ lip-read * past_participle lip-read
533
+ loop-up * past looped-up
534
+ loop-up * past_participle looped-up
535
+ lose * past lost
536
+ lose * past_participle lost
537
+ make * past made
538
+ make * past_participle made
539
+ make-out * past made-out
540
+ make-out * past_participle made-out
541
+ make-out * present_participle making-out
542
+ mean * past meant
543
+ mean * past_participle meant
544
+ meet * past met
545
+ meet * past_participle met
546
+ misbecome * past misbecame
547
+ misbecome * past_participle misbecome
548
+ miscast * past miscast
549
+ miscast * past_participle miscast
550
+ miscut * past miscut
551
+ miscut * past_participle miscut
552
+ misdeal * past misdealt
553
+ misdeal * past_participle misdealt
554
+ misdo * past misdid
555
+ misdo * past_participle misdone
556
+ mishear * past misheard
557
+ mishear * past_participle misheard
558
+ mishit * past mishit
559
+ mishit * past_participle mishit
560
+ mislay * past mislaid
561
+ mislay * past_participle mislaid
562
+ mislead * past misled
563
+ mislead * past_participle misled
564
+ misread * past misread
565
+ misread * past_participle misread
566
+ missay * past missaid
567
+ missay * past_participle missaid
568
+ missend * past missent
569
+ missend * past_participle missent
570
+ misspeak * past misspoke
571
+ misspeak * past_participle misspoken
572
+ misspend * past misspent
573
+ misspend * past_participle misspent
574
+ misswear * past misswore
575
+ misswear * past_participle missworn
576
+ mistake * past mistook
577
+ mistake * past_participle mistaken
578
+ misteach * past mistaught
579
+ misteach * past_participle mistaught
580
+ mistell * past mistold
581
+ mistell * past_participle mistold
582
+ misthink * past misthought
583
+ misthink * past_participle misthought
584
+ misunderstand * past misunderstood
585
+ misunderstand * past_participle misunderstood
586
+ miswear * past miswore
587
+ miswear * past_participle misworn
588
+ miswed * past miswed
589
+ miswed * past_participle miswed
590
+ miswrite * past miswrote
591
+ miswrite * past_participle miswritten
592
+ offset * past offset
593
+ offset * past_participle offset
594
+ outbid * past outbid
595
+ outbid * past_participle outbid
596
+ outbreed * past outbred
597
+ outbreed * past_participle outbred
598
+ outdo * past outdid
599
+ outdo * past_participle outdone
600
+ outdo third_person_singular present outdoes
601
+ outdraw * past outdrew
602
+ outdraw * past_participle outdrawn
603
+ outdrink * past outdrank
604
+ outdrink * past_participle outdrunk
605
+ outdrive * past outdrove
606
+ outdrive * past_participle outdriven
607
+ outfight * past outfought
608
+ outfight * past_participle outfought
609
+ outfly * past outflew
610
+ outfly * past_participle outflown
611
+ outgrow * past outgrew
612
+ outgrow * past_participle outgrown
613
+ outlay * past outlaid
614
+ outlay * past_participle outlaid
615
+ outride * past outrode
616
+ outride * past_participle outridden
617
+ outrun * past outran
618
+ outrun * past_participle outrun
619
+ outsee * past outsaw
620
+ outsee * past_participle outseen
621
+ outsell * past outsold
622
+ outsell * past_participle outsold
623
+ outshoot * past outshot
624
+ outshoot * past_participle outshot
625
+ outsing * past outsang
626
+ outsing * past_participle outsung
627
+ outsit * past outsat
628
+ outsit * past_participle outsat
629
+ outsleep * past outslept
630
+ outsleep * past_participle outslept
631
+ outspeak * past outspoke
632
+ outspeak * past_participle outspoken
633
+ outspeed * past outsped
634
+ outspeed * past_participle outsped
635
+ outspend * past outspent
636
+ outspend * past_participle outspent
637
+ outspin * past outspun
638
+ outspin * past_participle outspun
639
+ outspring * past outsprang
640
+ outspring * past_participle outsprung
641
+ outstand * past outstood
642
+ outstand * past_participle outstood
643
+ outswear * past outswore
644
+ outswear * past_participle outsworn
645
+ outswim * past outswam
646
+ outswim * past_participle outswum
647
+ outtell * past outtold
648
+ outtell * past_participle outtold
649
+ outthink * past outthought
650
+ outthink * past_participle outthought
651
+ outthrow * past outthrew
652
+ outthrow * past_participle outthrown
653
+ outwear * past outwore
654
+ outwear * past_participle outworn
655
+ outwind * past outwound
656
+ outwind * past_participle outwound
657
+ outwrite * past outwrote
658
+ outwrite * past_participle outwritten
659
+ overbear * past overbore
660
+ overbear * past_participle overborne
661
+ overbid * past overbid
662
+ overbid * past_participle overbid
663
+ overbreed * past overbred
664
+ overbreed * past_participle overbred
665
+ overbuild * past overbuilt
666
+ overbuild * past_participle overbuilt
667
+ overbuy * past overbought
668
+ overbuy * past_participle overbought
669
+ overcast * past overcast
670
+ overcast * past_participle overcast
671
+ overcome * past overcame
672
+ overcome * past_participle overcome
673
+ overcut * past overcut
674
+ overcut * past_participle overcut
675
+ overdo * past overdid
676
+ overdo * past_participle overdone
677
+ overdraw * past overdrew
678
+ overdraw * past_participle overdrawn
679
+ overdrink * past overdrank
680
+ overdrink * past_participle overdrunk
681
+ overdrive * past overdrove
682
+ overdrive * past_participle overdriven
683
+ overeat * past overate
684
+ overeat * past_participle overeaten
685
+ overfeed * past overfed
686
+ overfeed * past_participle overfed
687
+ overhang * past overhung
688
+ overhang * past_participle overhung
689
+ overhear * past overheard
690
+ overhear * past_participle overheard
691
+ overlay * past overlaid
692
+ overlay * past_participle overlaid
693
+ overlie * past overlay
694
+ overlie * past_participle overlain
695
+ overpay * past overpaid
696
+ overpay * past_participle overpaid
697
+ override * past overrode
698
+ override * past_participle overridden
699
+ overrun * past overran
700
+ overrun * past_participle overrun
701
+ oversee * past oversaw
702
+ oversee * past_participle overseen
703
+ oversell * past oversold
704
+ oversell * past_participle oversold
705
+ overset * past overset
706
+ overset * past_participle overset
707
+ overshoot * past overshot
708
+ overshoot * past_participle overshot
709
+ oversleep * past overslept
710
+ oversleep * past_participle overslept
711
+ overslide * past overslid
712
+ overslide * past_participle overslid
713
+ oversling * past overslung
714
+ oversling * past_participle overslung
715
+ overspeak * past overspoke
716
+ overspeak * past_participle overspoken
717
+ overspeed * past oversped
718
+ overspeed * past_participle oversped
719
+ overspend * past overspent
720
+ overspend * past_participle overspent
721
+ overspin * past overspun
722
+ overspin * past_participle overspun
723
+ overspread * past overspread
724
+ overspread * past_participle overspread
725
+ overspring * past oversprang
726
+ overspring * past_participle oversprung
727
+ overstand * past overstood
728
+ overstand * past_participle overstood
729
+ overstride * past overstrode
730
+ overstride * past_participle overstridden
731
+ overstrike * past overstruck
732
+ overstrike * past_participle overstruck
733
+ overstring * past overstrung
734
+ overstring * past_participle overstrung
735
+ overstrive * past overstrove
736
+ overstrive * past_participle overstriven
737
+ overtake * past overtook
738
+ overtake * past_participle overtaken
739
+ overthink * past overthought
740
+ overthink * past_participle overthought
741
+ overthrow * past overthrew
742
+ overthrow * past_participle overthrown
743
+ overwear * past overwore
744
+ overwear * past_participle overworn
745
+ overwind * past overwound
746
+ overwind * past_participle overwound
747
+ overwrite * past overwrote
748
+ overwrite * past_participle overwritten
749
+ pay * past paid
750
+ pay * past_participle paid
751
+ picnic * past picnicked
752
+ picnic * past_participle picnicked
753
+ picnic * present_participle picnicking
754
+ pie * present_participle pieing
755
+ plead * past pleaded
756
+ plead * past_participle pled
757
+ prebuild * past prebuilt
758
+ prebuild * past_participle prebuilt
759
+ predo * past predid
760
+ predo * past_participle predone
761
+ predo third_person_singular present predoes
762
+ premake * past premade
763
+ premake * past_participle premade
764
+ prepay * past prepaid
765
+ prepay * past_participle prepaid
766
+ presell * past presold
767
+ presell * past_participle presold
768
+ preset * past preset
769
+ preset * past_participle preset
770
+ preshrink * past preshrank
771
+ preshrink * past_participle preshrunk
772
+ presplit * past presplit
773
+ presplit * past_participle presplit
774
+ proofread * past proofread
775
+ proofread * past_participle proofread
776
+ prove * past proved
777
+ prove * past_participle proven
778
+ put * past put
779
+ put * past_participle put
780
+ quick-freeze * past quick-froze
781
+ quick-freeze * past_participle quick-frozen
782
+ quickfreeze * past quickfroze
783
+ quickfreeze * past_participle quickfrozen
784
+ quit * past quit
785
+ quit * past_participle quit
786
+ re-cast * past re-cast
787
+ re-cast * past_participle re-cast
788
+ re-lay * past re-laid
789
+ re-lay * past_participle re-laid
790
+ re-make * past re-made
791
+ re-make * past_participle re-made
792
+ re-sell * past re-sold
793
+ re-sell * past_participle re-sold
794
+ re-tell * past re-told
795
+ re-tell * past_participle re-told
796
+ read * past read
797
+ read * past_participle read
798
+ rebid * past rebid
799
+ rebid * past_participle rebid
800
+ rebind * past rebound
801
+ rebind * past_participle rebound
802
+ rebroadcast * past rebroadcast
803
+ rebroadcast * past_participle rebroadcast
804
+ rebuild * past rebuilt
805
+ rebuild * past_participle rebuilt
806
+ recast * past recast
807
+ recast * past_participle recast
808
+ recut * past recut
809
+ recut * past_participle recut
810
+ redeal * past redealt
811
+ redeal * past_participle redealt
812
+ redo * past redid
813
+ redo * past_participle redone
814
+ redo third_person_singular present redoes
815
+ redraw * past redrew
816
+ redraw * past_participle redrawn
817
+ refit * past refit
818
+ refit * past_participle refit
819
+ regrind * past reground
820
+ regrind * past_participle reground
821
+ regrow * past regrew
822
+ regrow * past_participle regrown
823
+ rehang * past rehung
824
+ rehang * past_participle rehung
825
+ rehear * past reheard
826
+ rehear * past_participle reheard
827
+ reknit * past reknitted
828
+ reknit * past_participle reknitted
829
+ reknit * present_participle reknitting
830
+ relay * past relaid
831
+ relay * past_participle relaid
832
+ remake * past remade
833
+ remake * past_participle remade
834
+ repay * past repaid
835
+ repay * past_participle repaid
836
+ rerun * past reran
837
+ rerun * past_participle rerun
838
+ resell * past resold
839
+ resell * past_participle resold
840
+ resend * past resent
841
+ resend * past_participle resent
842
+ reset * past reset
843
+ reset * past_participle reset
844
+ resew * past resewed
845
+ resew * past_participle resewn
846
+ retake * past retook
847
+ retake * past_participle retaken
848
+ reteach * past retaught
849
+ reteach * past_participle retaught
850
+ retear * past retore
851
+ retear * past_participle retorn
852
+ retell * past retold
853
+ retell * past_participle retold
854
+ rethink * past rethought
855
+ rethink * past_participle rethought
856
+ retread * past retrod
857
+ retread * past_participle retrodden
858
+ retrofit * past retrofit
859
+ retrofit * past_participle retrofit
860
+ reweave * past rewove
861
+ reweave * past_participle rewoven
862
+ rewed * past rewed
863
+ rewed * past_participle rewed
864
+ rewet * past rewet
865
+ rewet * past_participle rewet
866
+ rewin * past rewon
867
+ rewin * past_participle rewon
868
+ rewind * past rewound
869
+ rewind * past_participle rewound
870
+ rewrite * past rewrote
871
+ rewrite * past_participle rewritten
872
+ rid * past rid
873
+ rid * past_participle rid
874
+ ride * past rode
875
+ ride * past_participle ridden
876
+ ring * past rang
877
+ ring * past_participle rung
878
+ rise * past rose
879
+ rise * past_participle risen
880
+ run * past ran
881
+ run * past_participle run
882
+ sand-cast * past sand-cast
883
+ sand-cast * past_participle sand-cast
884
+ sandcast * past sandcast
885
+ sandcast * past_participle sandcast
886
+ say * past said
887
+ say * past_participle said
888
+ see * past saw
889
+ see * past_participle seen
890
+ seek * past sought
891
+ seek * past_participle sought
892
+ self-feed * past self-fed
893
+ self-feed * past_participle self-fed
894
+ selffeed * past selffed
895
+ selffeed * past_participle selffed
896
+ sell * past sold
897
+ sell * past_participle sold
898
+ send * past sent
899
+ send * past_participle sent
900
+ set * past set
901
+ set * past_participle set
902
+ sew * past sewed
903
+ sew * past_participle sewn
904
+ shake * past shook
905
+ shake * past_participle shaken
906
+ shear * past shore
907
+ shear * past_participle shorn
908
+ shed * past shed
909
+ shed * past_participle shed
910
+ shoot * past shot
911
+ shoot * past_participle shot
912
+ show * past showed
913
+ show * past_participle shown
914
+ shrink * past shrank
915
+ shrink * past_participle shrunk
916
+ shut * past shut
917
+ shut * past_participle shut
918
+ sight-read * past sight-read
919
+ sight-read * past_participle sight-read
920
+ sightread * past sightread
921
+ sightread * past_participle sightread
922
+ sign-on * past signed-on
923
+ sign-on * past_participle signed-on
924
+ sing * past sang
925
+ sing * past_participle sung
926
+ sink * past sank
927
+ sink * past_participle sunk
928
+ sit * past sat
929
+ sit * past_participle sat
930
+ skywrite * past skywrote
931
+ skywrite * past_participle skywritten
932
+ slay * past slew
933
+ slay * past_participle slain
934
+ sleep * past slept
935
+ sleep * past_participle slept
936
+ slide * past slid
937
+ slide * past_participle slid
938
+ sling * past slung
939
+ sling * past_participle slung
940
+ slit * past slit
941
+ slit * past_participle slit
942
+ smite * past smote
943
+ smite * past_participle smitten
944
+ speak * past spoke
945
+ speak * past_participle spoken
946
+ speed * past sped
947
+ speed * past_participle sped
948
+ spend * past spent
949
+ spend * past_participle spent
950
+ spin * past spun
951
+ spin * past_participle spun
952
+ spit * past spat
953
+ spit * past_participle spat
954
+ split * past split
955
+ split * past_participle split
956
+ spoon-feed * past spoon-fed
957
+ spoon-feed * past_participle spoon-fed
958
+ spoonfeed * past spoonfed
959
+ spoonfeed * past_participle spoonfed
960
+ spread * past spread
961
+ spread * past_participle spread
962
+ spring * past sprang
963
+ spring * past_participle sprung
964
+ stall-feed * past stall-fed
965
+ stall-feed * past_participle stall-fed
966
+ stallfeed * past stallfed
967
+ stallfeed * past_participle stallfed
968
+ stand * past stood
969
+ stand * past_participle stood
970
+ steal * past stole
971
+ steal * past_participle stolen
972
+ step-up * past stepped-up
973
+ step-up * past_participle stepped-up
974
+ stepup * past steppedup
975
+ stepup * past_participle steppedup
976
+ stick * past stuck
977
+ stick * past_participle stuck
978
+ sting * past stung
979
+ sting * past_participle stung
980
+ stink * past stank
981
+ stink * past_participle stunk
982
+ stride * past strode
983
+ stride * past_participle stridden
984
+ strike * past struck
985
+ strike * past_participle struck
986
+ string * past strung
987
+ string * past_participle strung
988
+ strive * past strove
989
+ strive * past_participle striven
990
+ sub-let * past sub-let
991
+ sub-let * past_participle sub-let
992
+ sublet * past sublet
993
+ sublet * past_participle sublet
994
+ swear * past swore
995
+ swear * past_participle sworn
996
+ sweep * past swept
997
+ sweep * past_participle swept
998
+ swell * past swelled
999
+ swell * past_participle swollen
1000
+ swim * past swam
1001
+ swim * past_participle swum
1002
+ swing * past swung
1003
+ swing * past_participle swung
1004
+ take * past took
1005
+ take * past_participle taken
1006
+ teach * past taught
1007
+ teach * past_participle taught
1008
+ tear * past tore
1009
+ tear * past_participle torn
1010
+ telecast * past telecast
1011
+ telecast * past_participle telecast
1012
+ tell * past told
1013
+ tell * past_participle told
1014
+ test-drive * past test-drove
1015
+ test-drive * past_participle test-driven
1016
+ test-fly * past test-flew
1017
+ test-fly * past_participle test-flown
1018
+ testdrive * past testdrove
1019
+ testdrive * past_participle testdriven
1020
+ testfly * past testflew
1021
+ testfly * past_participle testflown
1022
+ think * past thought
1023
+ think * past_participle thought
1024
+ thring * past throng
1025
+ thring * past_participle throng
1026
+ throw * past threw
1027
+ throw * past_participle thrown
1028
+ thrust * past thrust
1029
+ thrust * past_participle thrust
1030
+ trail-off * past trailed-off
1031
+ trail-off * past_participle trailed-off
1032
+ tread * past trod
1033
+ tread * past_participle trodden
1034
+ troubleshoot * past troubleshot
1035
+ troubleshoot * past_participle troubleshot
1036
+ typecast * past typecast
1037
+ typecast * past_participle typecast
1038
+ typewrite * past typewrote
1039
+ typewrite * past_participle typewritten
1040
+ under-write * past under-wrote
1041
+ under-write * past_participle under-written
1042
+ underbid * past underbid
1043
+ underbid * past_participle underbid
1044
+ underbuy * past underbought
1045
+ underbuy * past_participle underbought
1046
+ undercut * past undercut
1047
+ undercut * past_participle undercut
1048
+ underfeed * past underfed
1049
+ underfeed * past_participle underfed
1050
+ undergo * past underwent
1051
+ undergo * past_participle undergone
1052
+ undergo third_person_singular present undergoes
1053
+ underrun * past underran
1054
+ underrun * past_participle underrun
1055
+ undersell * past undersold
1056
+ undersell * past_participle undersold
1057
+ undershoot * past undershot
1058
+ undershoot * past_participle undershot
1059
+ underspend * past underspent
1060
+ underspend * past_participle underspent
1061
+ understand * past understood
1062
+ understand * past_participle understood
1063
+ undertake * past undertook
1064
+ undertake * past_participle undertaken
1065
+ underthrust * past underthrust
1066
+ underthrust * past_participle underthrust
1067
+ underwrite * past underwrote
1068
+ underwrite * past_participle underwritten
1069
+ undo * past undid
1070
+ undo * past_participle undone
1071
+ undo third_person_singular present undoes
1072
+ undraw * past undrew
1073
+ undraw * past_participle undrawn
1074
+ unfreeze * past unfroze
1075
+ unfreeze * past_participle unfrozen
1076
+ unhang * past unhung
1077
+ unhang * past_participle unhung
1078
+ unhide * past unhid
1079
+ unhide * past_participle unhidden
1080
+ unhold * past unheld
1081
+ unhold * past_participle unheld
1082
+ unknit * past unknitted
1083
+ unknit * past_participle unknitted
1084
+ unknit * present_participle unknitting
1085
+ unlay * past unlaid
1086
+ unlay * past_participle unlaid
1087
+ unmake * past unmade
1088
+ unmake * past_participle unmade
1089
+ unsay * past unsaid
1090
+ unsay * past_participle unsaid
1091
+ unsew * past unsewed
1092
+ unsew * past_participle unsewn
1093
+ unsling * past unslung
1094
+ unsling * past_participle unslung
1095
+ unspin * past unspun
1096
+ unspin * past_participle unspun
1097
+ unstick * past unstuck
1098
+ unstick * past_participle unstuck
1099
+ unstring * past unstrung
1100
+ unstring * past_participle unstrung
1101
+ unswear * past unswore
1102
+ unswear * past_participle unsworn
1103
+ unteach * past untaught
1104
+ unteach * past_participle untaught
1105
+ unthink * past unthought
1106
+ unthink * past_participle unthought
1107
+ unweave * past unwove
1108
+ unweave * past_participle unwoven
1109
+ unwind * past unwound
1110
+ unwind * past_participle unwound
1111
+ unwrite * past unwrote
1112
+ unwrite * past_participle unwritten
1113
+ uphold * past upheld
1114
+ uphold * past_participle upheld
1115
+ upset * past upset
1116
+ upset * past_participle upset
1117
+ use-up * past used-up
1118
+ use-up * past_participle used-up
1119
+ use-up * present_participle using-up
1120
+ wake * past woke
1121
+ wake * past_participle woken
1122
+ waylay * past waylaid
1123
+ waylay * past_participle waylaid
1124
+ wear * past wore
1125
+ wear * past_participle worn
1126
+ weave * past wove
1127
+ weave * past_participle woven
1128
+ wed * past wed
1129
+ wed * past_participle wed
1130
+ weep * past wept
1131
+ weep * past_participle wept
1132
+ welcome * past welcomed
1133
+ welcome * past_participle welcomed
1134
+ wet * past wet
1135
+ wet * past_participle wet
1136
+ win * past won
1137
+ win * past_participle won
1138
+ wind * past wound
1139
+ wind * past_participle wound
1140
+ withdraw * past withdrew
1141
+ withdraw * past_participle withdrawn
1142
+ withhold * past withheld
1143
+ withhold * past_participle withheld
1144
+ withstand * past withstood
1145
+ withstand * past_participle withstood
1146
+ wring * past wrung
1147
+ wring * past_participle wrung
1148
+ write * past wrote
1149
+ write * past_participle written
1150
+ wrought * past wrought
1151
+ wrought * past_participle wrought
1152
+
1153
+ #
1154
+ # Doubling Verbs (from MorphAdorner's doublingverbs.txt)
1155
+ #
1156
+ abat
1157
+ abet
1158
+ abhor
1159
+ abut
1160
+ accur
1161
+ acquit
1162
+ adlib
1163
+ admit
1164
+ aerobat
1165
+ aerosol
1166
+ agendaset
1167
+ airdrop
1168
+ allot
1169
+ alot
1170
+ anagram
1171
+ annul
1172
+ appal
1173
+ apparel
1174
+ armbar
1175
+ aver
1176
+ babysit
1177
+ backdrop
1178
+ backfil
1179
+ backflip
1180
+ backlog
1181
+ backpedal
1182
+ backslap
1183
+ backstab
1184
+ bag
1185
+ balfun
1186
+ ballot
1187
+ ban
1188
+ bar
1189
+ barbel
1190
+ bareleg
1191
+ barrel
1192
+ bat
1193
+ bayonet
1194
+ becom
1195
+ bed
1196
+ bedevil
1197
+ bedwet
1198
+ beenhop
1199
+ befit
1200
+ befog
1201
+ beg
1202
+ beget
1203
+ begin
1204
+ bejewel
1205
+ bemedal
1206
+ benefit
1207
+ benum
1208
+ beset
1209
+ besot
1210
+ bestir
1211
+ bet
1212
+ betassel
1213
+ bevel
1214
+ bewig
1215
+ bib
1216
+ bid
1217
+ billet
1218
+ bin
1219
+ bip
1220
+ bit
1221
+ bitmap
1222
+ blab
1223
+ blackleg
1224
+ blag
1225
+ blam
1226
+ blan
1227
+ blat
1228
+ bles
1229
+ blim
1230
+ blip
1231
+ blob
1232
+ bloodlet
1233
+ blot
1234
+ blub
1235
+ blur
1236
+ bob
1237
+ bobsled
1238
+ bodypop
1239
+ bog
1240
+ boobytrap
1241
+ booksel
1242
+ bootleg
1243
+ bop
1244
+ bot
1245
+ bowel
1246
+ bracket
1247
+ brag
1248
+ brig
1249
+ brim
1250
+ bud
1251
+ buffet
1252
+ bug
1253
+ bullshit
1254
+ bum
1255
+ bun
1256
+ bur
1257
+ bus
1258
+ but
1259
+ cab
1260
+ cabal
1261
+ cam
1262
+ can
1263
+ cancel
1264
+ cap
1265
+ caracol
1266
+ caravan
1267
+ carburet
1268
+ carnap
1269
+ carol
1270
+ carpetbag
1271
+ castanet
1272
+ cat
1273
+ catcal
1274
+ catnap
1275
+ cavil
1276
+ chan
1277
+ chanel
1278
+ channel
1279
+ chap
1280
+ char
1281
+ chargecap
1282
+ chat
1283
+ chin
1284
+ chip
1285
+ chir
1286
+ chirrup
1287
+ chisel
1288
+ chop
1289
+ chug
1290
+ chum
1291
+ chur
1292
+ clam
1293
+ clap
1294
+ clearcut
1295
+ clip
1296
+ clodhop
1297
+ clog
1298
+ clop
1299
+ closet
1300
+ clot
1301
+ club
1302
+ cob
1303
+ cobweb
1304
+ cod
1305
+ coif
1306
+ com
1307
+ combat
1308
+ comit
1309
+ commit
1310
+ compel
1311
+ con
1312
+ concur
1313
+ confab
1314
+ confer
1315
+ confiscat
1316
+ control
1317
+ cooccur
1318
+ cop
1319
+ coprogram
1320
+ coquet
1321
+ coral
1322
+ corbel
1323
+ corefer
1324
+ corral
1325
+ corun
1326
+ cosset
1327
+ costar
1328
+ cotransmit
1329
+ councel
1330
+ council
1331
+ counsel
1332
+ counterplot
1333
+ courtmartial
1334
+ crab
1335
+ cram
1336
+ crap
1337
+ crib
1338
+ crop
1339
+ crossleg
1340
+ cub
1341
+ cudgel
1342
+ cum
1343
+ cun
1344
+ cup
1345
+ curet
1346
+ cut
1347
+ dab
1348
+ dag
1349
+ dam
1350
+ dan
1351
+ dap
1352
+ daysit
1353
+ deadpan
1354
+ debag
1355
+ debar
1356
+ debug
1357
+ decommit
1358
+ decontrol
1359
+ defer
1360
+ defog
1361
+ deg
1362
+ degas
1363
+ degazet
1364
+ dehul
1365
+ deinstal
1366
+ demit
1367
+ demob
1368
+ demur
1369
+ den
1370
+ denet
1371
+ depig
1372
+ depip
1373
+ depit
1374
+ deprogram
1375
+ der
1376
+ derig
1377
+ deskil
1378
+ deter
1379
+ devil
1380
+ diagram
1381
+ dial
1382
+ dib
1383
+ dig
1384
+ dim
1385
+ din
1386
+ dip
1387
+ disbar
1388
+ disbud
1389
+ discomfit
1390
+ disembed
1391
+ disembowel
1392
+ dishevel
1393
+ disinter
1394
+ dispel
1395
+ disprefer
1396
+ distil
1397
+ dog
1398
+ dognap
1399
+ don
1400
+ doorstep
1401
+ dot
1402
+ dowel
1403
+ drag
1404
+ drat
1405
+ driftnet
1406
+ drip
1407
+ drivel
1408
+ drop
1409
+ drub
1410
+ drug
1411
+ drum
1412
+ dub
1413
+ duel
1414
+ dun
1415
+ dybbuk
1416
+ earwig
1417
+ eavesdrop
1418
+ ecolabel
1419
+ egotrip
1420
+ eitherspigot
1421
+ electroblot
1422
+ embed
1423
+ emit
1424
+ empanel
1425
+ enamel
1426
+ endlabel
1427
+ endtrim
1428
+ enrol
1429
+ enthral
1430
+ entrammel
1431
+ entrap
1432
+ enwrap
1433
+ equal
1434
+ equip
1435
+ estop
1436
+ exaggerat
1437
+ excel
1438
+ expel
1439
+ extol
1440
+ fag
1441
+ fan
1442
+ farewel
1443
+ fat
1444
+ featherbed
1445
+ feget
1446
+ fet
1447
+ fib
1448
+ fig
1449
+ fin
1450
+ fingerspel
1451
+ fingertip
1452
+ fit
1453
+ flab
1454
+ flag
1455
+ flap
1456
+ flip
1457
+ flit
1458
+ flog
1459
+ flop
1460
+ fob
1461
+ focus
1462
+ fog
1463
+ footbal
1464
+ footslog
1465
+ fop
1466
+ forbid
1467
+ forget
1468
+ format
1469
+ fortunetel
1470
+ fot
1471
+ foxtrot
1472
+ frag
1473
+ freefal
1474
+ fret
1475
+ frig
1476
+ frip
1477
+ frog
1478
+ frug
1479
+ fuel
1480
+ fufil
1481
+ fulfil
1482
+ fullyfit
1483
+ fun
1484
+ funnel
1485
+ fur
1486
+ furpul
1487
+ gab
1488
+ gad
1489
+ gaffe
1490
+ gag
1491
+ gam
1492
+ gambol
1493
+ gap
1494
+ garot
1495
+ garrot
1496
+ gas
1497
+ gat
1498
+ gel
1499
+ gen
1500
+ get
1501
+ giftwrap
1502
+ gig
1503
+ gimbal
1504
+ gin
1505
+ glam
1506
+ glenden
1507
+ glendin
1508
+ globetrot
1509
+ glug
1510
+ glut
1511
+ gob
1512
+ goldpan
1513
+ golliwog
1514
+ goostep
1515
+ gossip
1516
+ grab
1517
+ gravel
1518
+ grid
1519
+ grin
1520
+ grip
1521
+ grit
1522
+ groundhop
1523
+ grovel
1524
+ grub
1525
+ gum
1526
+ gun
1527
+ gunrun
1528
+ gut
1529
+ gyp
1530
+ haircut
1531
+ ham
1532
+ han
1533
+ handbag
1534
+ handicap
1535
+ handknit
1536
+ handset
1537
+ hap
1538
+ hareleg
1539
+ hat
1540
+ headbut
1541
+ hedgehop
1542
+ hem
1543
+ hen
1544
+ hiccup
1545
+ highwal
1546
+ hip
1547
+ hit
1548
+ hobnob
1549
+ hog
1550
+ hop
1551
+ horsewhip
1552
+ hostel
1553
+ hot
1554
+ hotdog
1555
+ hovel
1556
+ hug
1557
+ hum
1558
+ humbug
1559
+ hup
1560
+ hushkit
1561
+ hut
1562
+ idyl
1563
+ illfit
1564
+ imbed
1565
+ immunblot
1566
+ immunoblot
1567
+ impannel
1568
+ impel
1569
+ imperil
1570
+ incur
1571
+ infer
1572
+ infil
1573
+ inflam
1574
+ initial
1575
+ input
1576
+ inset
1577
+ inspan
1578
+ instal
1579
+ instil
1580
+ inter
1581
+ interbed
1582
+ intercrop
1583
+ intercut
1584
+ interfer
1585
+ intermit
1586
+ interwar
1587
+ jab
1588
+ jag
1589
+ jam
1590
+ japan
1591
+ jar
1592
+ jawdrop
1593
+ jet
1594
+ jetlag
1595
+ jewel
1596
+ jib
1597
+ jig
1598
+ jitterbug
1599
+ job
1600
+ jog
1601
+ jogtrot
1602
+ jot
1603
+ jug
1604
+ jut
1605
+ ken
1606
+ kennel
1607
+ kid
1608
+ kidnap
1609
+ kip
1610
+ kissogram
1611
+ kit
1612
+ knap
1613
+ kneecap
1614
+ knit
1615
+ knob
1616
+ knot
1617
+ kor
1618
+ kris
1619
+ label
1620
+ lag
1621
+ lam
1622
+ lap
1623
+ lavel
1624
+ leafcut
1625
+ leapfrog
1626
+ leg
1627
+ lem
1628
+ lep
1629
+ let
1630
+ level
1631
+ libel
1632
+ lid
1633
+ lig
1634
+ lip
1635
+ lob
1636
+ log
1637
+ lok
1638
+ lollop
1639
+ longleg
1640
+ lop
1641
+ lowbal
1642
+ lug
1643
+ mackerel
1644
+ mahom
1645
+ man
1646
+ manumit
1647
+ map
1648
+ mar
1649
+ marshal
1650
+ marvel
1651
+ mat
1652
+ matchwin
1653
+ metal
1654
+ microplan
1655
+ microprogram
1656
+ milksop
1657
+ miscal
1658
+ misclub
1659
+ mishit
1660
+ mislabel
1661
+ misspel
1662
+ mit
1663
+ mob
1664
+ mod
1665
+ model
1666
+ mohmam
1667
+ monogram
1668
+ mop
1669
+ mothbal
1670
+ mousse
1671
+ mud
1672
+ mug
1673
+ multilevel
1674
+ mum
1675
+ nab
1676
+ nag
1677
+ nan
1678
+ nap
1679
+ net
1680
+ nightclub
1681
+ nightsit
1682
+ nip
1683
+ nod
1684
+ nonplus
1685
+ norkop
1686
+ nostril
1687
+ not
1688
+ nut
1689
+ nutmeg
1690
+ occur
1691
+ ocur
1692
+ offput
1693
+ offset
1694
+ omit
1695
+ ommit
1696
+ onlap
1697
+ outbid
1698
+ outcrop
1699
+ outfit
1700
+ outgas
1701
+ outgeneral
1702
+ outgun
1703
+ outhit
1704
+ outjab
1705
+ outplan
1706
+ outpol
1707
+ outpul
1708
+ output
1709
+ outrun
1710
+ outsel
1711
+ outship
1712
+ outshop
1713
+ outsin
1714
+ outspan
1715
+ outstrip
1716
+ outswel
1717
+ outwit
1718
+ overbid
1719
+ overcal
1720
+ overcommit
1721
+ overcontrol
1722
+ overcrap
1723
+ overcrop
1724
+ overdub
1725
+ overfil
1726
+ overfit
1727
+ overhat
1728
+ overhit
1729
+ overlap
1730
+ overman
1731
+ overmodel
1732
+ overpedal
1733
+ overpet
1734
+ overplot
1735
+ overrun
1736
+ oversel
1737
+ overshop
1738
+ overstep
1739
+ overtip
1740
+ overtop
1741
+ overwet
1742
+ overwil
1743
+ pad
1744
+ paintbal
1745
+ pan
1746
+ panel
1747
+ paperclip
1748
+ par
1749
+ parallel
1750
+ parcel
1751
+ partiescal
1752
+ pat
1753
+ patrol
1754
+ pedal
1755
+ peewit
1756
+ peg
1757
+ pen
1758
+ pencil
1759
+ pep
1760
+ permit
1761
+ pet
1762
+ petal
1763
+ pettifog
1764
+ photoset
1765
+ photostat
1766
+ phototypeset
1767
+ phut
1768
+ picket
1769
+ pig
1770
+ pilot
1771
+ pin
1772
+ pinbal
1773
+ pip
1774
+ pipefit
1775
+ pipet
1776
+ pit
1777
+ plan
1778
+ plit
1779
+ plod
1780
+ plop
1781
+ plot
1782
+ plug
1783
+ plumet
1784
+ plummet
1785
+ pod
1786
+ policyset
1787
+ polyfil
1788
+ ponytrek
1789
+ pop
1790
+ pot
1791
+ pouf
1792
+ pram
1793
+ prebag
1794
+ predistil
1795
+ predril
1796
+ prefer
1797
+ prefil
1798
+ preinstal
1799
+ prep
1800
+ preplan
1801
+ preprogram
1802
+ preset
1803
+ prim
1804
+ prizewin
1805
+ prod
1806
+ profer
1807
+ prog
1808
+ program
1809
+ prop
1810
+ propel
1811
+ pub
1812
+ pug
1813
+ pummel
1814
+ pun
1815
+ pup
1816
+ pushfit
1817
+ put
1818
+ quarel
1819
+ quarrel
1820
+ quickskim
1821
+ quickstep
1822
+ quickwit
1823
+ quip
1824
+ quit
1825
+ quivertip
1826
+ quiz
1827
+ rabbit
1828
+ rabit
1829
+ radiolabel
1830
+ rag
1831
+ ram
1832
+ ramrod
1833
+ rap
1834
+ rat
1835
+ ratecap
1836
+ ravel
1837
+ readmit
1838
+ reallot
1839
+ rebel
1840
+ rebid
1841
+ rebin
1842
+ rebut
1843
+ recal
1844
+ recap
1845
+ rechannel
1846
+ recommit
1847
+ recrop
1848
+ recur
1849
+ recut
1850
+ red
1851
+ redig
1852
+ redril
1853
+ reemit
1854
+ refer
1855
+ refil
1856
+ refit
1857
+ reflag
1858
+ reformat
1859
+ refret
1860
+ refuel
1861
+ reget
1862
+ regret
1863
+ rehab
1864
+ reinstal
1865
+ reinter
1866
+ rejig
1867
+ rekit
1868
+ reknot
1869
+ relabel
1870
+ relap
1871
+ relet
1872
+ rem
1873
+ remap
1874
+ remetal
1875
+ remit
1876
+ remodel
1877
+ reoccur
1878
+ rep
1879
+ repastel
1880
+ repel
1881
+ repin
1882
+ replan
1883
+ replot
1884
+ replug
1885
+ repol
1886
+ repot
1887
+ reprogram
1888
+ rerefer
1889
+ rerig
1890
+ rerol
1891
+ rerun
1892
+ resel
1893
+ reset
1894
+ resignal
1895
+ resit
1896
+ reskil
1897
+ reskin
1898
+ restal
1899
+ resubmit
1900
+ ret
1901
+ retel
1902
+ retop
1903
+ retransfer
1904
+ retransmit
1905
+ retrim
1906
+ retrofit
1907
+ rev
1908
+ revel
1909
+ revet
1910
+ rewrap
1911
+ rib
1912
+ richochet
1913
+ ricochet
1914
+ rid
1915
+ rig
1916
+ rim
1917
+ ringlet
1918
+ rip
1919
+ rit
1920
+ rival
1921
+ rivet
1922
+ roadrun
1923
+ rob
1924
+ rocket
1925
+ rod
1926
+ roset
1927
+ rosin
1928
+ rot
1929
+ rowel
1930
+ rub
1931
+ run
1932
+ runnel
1933
+ rut
1934
+ sab
1935
+ sad
1936
+ sag
1937
+ sandbag
1938
+ sap
1939
+ scab
1940
+ scalpel
1941
+ scam
1942
+ scan
1943
+ scar
1944
+ scat
1945
+ schlep
1946
+ scrag
1947
+ scram
1948
+ scrap
1949
+ scrat
1950
+ scrub
1951
+ scrum
1952
+ scud
1953
+ scum
1954
+ scur
1955
+ semicontrol
1956
+ semiskil
1957
+ semiskim
1958
+ sentinel
1959
+ set
1960
+ shag
1961
+ shall
1962
+ sham
1963
+ shed
1964
+ shim
1965
+ shin
1966
+ ship
1967
+ shir
1968
+ shit
1969
+ shlap
1970
+ shop
1971
+ shopfit
1972
+ shortfal
1973
+ shot
1974
+ shovel
1975
+ shred
1976
+ shrinkwrap
1977
+ shrivel
1978
+ shrug
1979
+ shun
1980
+ shut
1981
+ sideslip
1982
+ sidestep
1983
+ signal
1984
+ sin
1985
+ sinbin
1986
+ sip
1987
+ sit
1988
+ skid
1989
+ skim
1990
+ skin
1991
+ skip
1992
+ skir
1993
+ skrag
1994
+ slab
1995
+ slag
1996
+ slam
1997
+ slap
1998
+ sled
1999
+ slim
2000
+ slip
2001
+ slit
2002
+ slob
2003
+ slog
2004
+ slop
2005
+ slot
2006
+ slowclap
2007
+ slug
2008
+ slum
2009
+ slur
2010
+ smit
2011
+ smut
2012
+ snag
2013
+ snap
2014
+ snip
2015
+ snivel
2016
+ snog
2017
+ snorkel
2018
+ snowcem
2019
+ snub
2020
+ snug
2021
+ sob
2022
+ sod
2023
+ softpedal
2024
+ son
2025
+ sop
2026
+ spam
2027
+ span
2028
+ spar
2029
+ spat
2030
+ spiderweb
2031
+ spin
2032
+ spiral
2033
+ spit
2034
+ splat
2035
+ split
2036
+ spot
2037
+ sprag
2038
+ spraygun
2039
+ sprig
2040
+ springtip
2041
+ spud
2042
+ spur
2043
+ squat
2044
+ squirrel
2045
+ stab
2046
+ stag
2047
+ star
2048
+ stem
2049
+ sten
2050
+ stencil
2051
+ step
2052
+ stet
2053
+ stir
2054
+ stop
2055
+ storytel
2056
+ strap
2057
+ strim
2058
+ strip
2059
+ strop
2060
+ strug
2061
+ strum
2062
+ strut
2063
+ stub
2064
+ stud
2065
+ stun
2066
+ sub
2067
+ subcrop
2068
+ sublet
2069
+ submit
2070
+ subset
2071
+ suedetrim
2072
+ sulfuret
2073
+ sum
2074
+ summit
2075
+ sun
2076
+ suntan
2077
+ sup
2078
+ superad
2079
+ superchil
2080
+ swab
2081
+ swag
2082
+ swan
2083
+ swap
2084
+ swat
2085
+ swig
2086
+ swim
2087
+ swivel
2088
+ swot
2089
+ tab
2090
+ tag
2091
+ tan
2092
+ tansfer
2093
+ tap
2094
+ tar
2095
+ tassel
2096
+ tat
2097
+ tefer
2098
+ teleshop
2099
+ tendril
2100
+ terschel
2101
+ th'strip
2102
+ thermal
2103
+ thermostat
2104
+ thin
2105
+ throb
2106
+ thrum
2107
+ thud
2108
+ thug
2109
+ tightlip
2110
+ tin
2111
+ tinsel
2112
+ tip
2113
+ tittup
2114
+ toecap
2115
+ tog
2116
+ tom
2117
+ tomorrow
2118
+ top
2119
+ tot
2120
+ total
2121
+ towel
2122
+ traget
2123
+ trainspot
2124
+ tram
2125
+ trammel
2126
+ transfer
2127
+ tranship
2128
+ transit
2129
+ transmit
2130
+ transship
2131
+ trap
2132
+ travel
2133
+ trek
2134
+ trendset
2135
+ trepan
2136
+ trim
2137
+ trip
2138
+ tripod
2139
+ trod
2140
+ trog
2141
+ trot
2142
+ trousseaushop
2143
+ trowel
2144
+ trup
2145
+ tub
2146
+ tug
2147
+ tunnel
2148
+ tup
2149
+ tut
2150
+ twat
2151
+ twig
2152
+ twin
2153
+ twit
2154
+ typeset
2155
+ tyset
2156
+ unban
2157
+ unbar
2158
+ unbob
2159
+ uncap
2160
+ unclip
2161
+ uncompel
2162
+ undam
2163
+ underbid
2164
+ underbil
2165
+ undercut
2166
+ underfit
2167
+ underlet
2168
+ underman
2169
+ underpin
2170
+ underskil
2171
+ unfit
2172
+ unfulfil
2173
+ unknot
2174
+ unlip
2175
+ unlywil
2176
+ unman
2177
+ unpad
2178
+ unpeg
2179
+ unpin
2180
+ unplug
2181
+ unravel
2182
+ unrip
2183
+ unrol
2184
+ unscrol
2185
+ unsnap
2186
+ unstal
2187
+ unstep
2188
+ unstir
2189
+ unstop
2190
+ untap
2191
+ unwrap
2192
+ unzip
2193
+ up
2194
+ upset
2195
+ upskil
2196
+ upwel
2197
+ ven
2198
+ verbal
2199
+ vet
2200
+ victual
2201
+ vignet
2202
+ wad
2203
+ wag
2204
+ wainscot
2205
+ wan
2206
+ war
2207
+ waterfal
2208
+ waterfil
2209
+ waterlog
2210
+ weasel
2211
+ web
2212
+ wed
2213
+ wet
2214
+ wham
2215
+ whet
2216
+ whip
2217
+ whir
2218
+ whiteskin
2219
+ whiz
2220
+ whop
2221
+ whup
2222
+ wig
2223
+ wildcat
2224
+ will
2225
+ win
2226
+ windmil
2227
+ wiretap
2228
+ wit
2229
+ woodchop
2230
+ woodcut
2231
+ wor
2232
+ worship
2233
+ wrap
2234
+ yak
2235
+ yap
2236
+ yarnspin
2237
+ yen
2238
+ yip
2239
+ yodel
2240
+ zag
2241
+ zap
2242
+ zig
2243
+ zigzag
2244
+ zip
2245
+ ztrip