linguistics 1.0.9 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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