wordlist 0.1.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ruby.yml +27 -0
  3. data/.gitignore +6 -3
  4. data/ChangeLog.md +45 -1
  5. data/Gemfile +13 -0
  6. data/LICENSE.txt +1 -3
  7. data/README.md +266 -61
  8. data/Rakefile +7 -32
  9. data/benchmarks.rb +115 -0
  10. data/bin/wordlist +4 -7
  11. data/data/stop_words/ar.txt +104 -0
  12. data/data/stop_words/bg.txt +259 -0
  13. data/data/stop_words/bn.txt +363 -0
  14. data/data/stop_words/ca.txt +126 -0
  15. data/data/stop_words/cs.txt +138 -0
  16. data/data/stop_words/da.txt +101 -0
  17. data/data/stop_words/de.txt +129 -0
  18. data/data/stop_words/el.txt +79 -0
  19. data/data/stop_words/en.txt +175 -0
  20. data/data/stop_words/es.txt +178 -0
  21. data/data/stop_words/eu.txt +98 -0
  22. data/data/stop_words/fa.txt +332 -0
  23. data/data/stop_words/fi.txt +747 -0
  24. data/data/stop_words/fr.txt +116 -0
  25. data/data/stop_words/ga.txt +109 -0
  26. data/data/stop_words/gl.txt +160 -0
  27. data/data/stop_words/he.txt +499 -0
  28. data/data/stop_words/hi.txt +97 -0
  29. data/data/stop_words/hr.txt +179 -0
  30. data/data/stop_words/hu.txt +35 -0
  31. data/data/stop_words/hy.txt +45 -0
  32. data/data/stop_words/id.txt +357 -0
  33. data/data/stop_words/it.txt +134 -0
  34. data/data/stop_words/ja.txt +44 -0
  35. data/data/stop_words/ko.txt +677 -0
  36. data/data/stop_words/ku.txt +63 -0
  37. data/data/stop_words/lt.txt +507 -0
  38. data/data/stop_words/lv.txt +163 -0
  39. data/data/stop_words/mr.txt +99 -0
  40. data/data/stop_words/nl.txt +48 -0
  41. data/data/stop_words/no.txt +172 -0
  42. data/data/stop_words/pl.txt +138 -0
  43. data/data/stop_words/pt.txt +147 -0
  44. data/data/stop_words/ro.txt +281 -0
  45. data/data/stop_words/ru.txt +421 -0
  46. data/data/stop_words/sk.txt +173 -0
  47. data/data/stop_words/sv.txt +386 -0
  48. data/data/stop_words/th.txt +115 -0
  49. data/data/stop_words/tr.txt +114 -0
  50. data/data/stop_words/uk.txt +28 -0
  51. data/data/stop_words/ur.txt +513 -0
  52. data/data/stop_words/zh.txt +125 -0
  53. data/gemspec.yml +4 -10
  54. data/lib/wordlist/abstract_wordlist.rb +24 -0
  55. data/lib/wordlist/builder.rb +170 -138
  56. data/lib/wordlist/cli.rb +458 -0
  57. data/lib/wordlist/compression/reader.rb +72 -0
  58. data/lib/wordlist/compression/writer.rb +80 -0
  59. data/lib/wordlist/exceptions.rb +31 -0
  60. data/lib/wordlist/file.rb +176 -0
  61. data/lib/wordlist/format.rb +38 -0
  62. data/lib/wordlist/lexer/lang.rb +32 -0
  63. data/lib/wordlist/lexer/stop_words.rb +68 -0
  64. data/lib/wordlist/lexer.rb +218 -0
  65. data/lib/wordlist/list_methods.rb +462 -0
  66. data/lib/wordlist/modifiers/capitalize.rb +45 -0
  67. data/lib/wordlist/modifiers/downcase.rb +45 -0
  68. data/lib/wordlist/modifiers/gsub.rb +51 -0
  69. data/lib/wordlist/modifiers/modifier.rb +44 -0
  70. data/lib/wordlist/modifiers/mutate.rb +133 -0
  71. data/lib/wordlist/modifiers/mutate_case.rb +25 -0
  72. data/lib/wordlist/modifiers/sub.rb +97 -0
  73. data/lib/wordlist/modifiers/tr.rb +71 -0
  74. data/lib/wordlist/modifiers/upcase.rb +45 -0
  75. data/lib/wordlist/modifiers.rb +8 -0
  76. data/lib/wordlist/operators/binary_operator.rb +38 -0
  77. data/lib/wordlist/operators/concat.rb +47 -0
  78. data/lib/wordlist/operators/intersect.rb +55 -0
  79. data/lib/wordlist/operators/operator.rb +29 -0
  80. data/lib/wordlist/operators/power.rb +72 -0
  81. data/lib/wordlist/operators/product.rb +50 -0
  82. data/lib/wordlist/operators/subtract.rb +54 -0
  83. data/lib/wordlist/operators/unary_operator.rb +29 -0
  84. data/lib/wordlist/operators/union.rb +61 -0
  85. data/lib/wordlist/operators/unique.rb +52 -0
  86. data/lib/wordlist/operators.rb +7 -0
  87. data/lib/wordlist/unique_filter.rb +40 -61
  88. data/lib/wordlist/version.rb +1 -1
  89. data/lib/wordlist/words.rb +71 -0
  90. data/lib/wordlist.rb +103 -2
  91. data/spec/abstract_list_spec.rb +18 -0
  92. data/spec/builder_spec.rb +220 -76
  93. data/spec/cli_spec.rb +801 -0
  94. data/spec/compression/reader_spec.rb +137 -0
  95. data/spec/compression/writer_spec.rb +194 -0
  96. data/spec/file_spec.rb +258 -0
  97. data/spec/fixtures/wordlist.txt +15 -0
  98. data/spec/fixtures/wordlist.txt.bz2 +0 -0
  99. data/spec/fixtures/wordlist.txt.gz +0 -0
  100. data/spec/fixtures/wordlist.txt.xz +0 -0
  101. data/spec/fixtures/wordlist_with_ambiguous_format +3 -0
  102. data/spec/fixtures/wordlist_with_comments.txt +19 -0
  103. data/spec/fixtures/wordlist_with_empty_lines.txt +19 -0
  104. data/spec/format_spec.rb +50 -0
  105. data/spec/helpers/text.rb +3 -3
  106. data/spec/helpers/wordlist.rb +2 -2
  107. data/spec/lexer/lang_spec.rb +70 -0
  108. data/spec/lexer/stop_words_spec.rb +77 -0
  109. data/spec/lexer_spec.rb +652 -0
  110. data/spec/list_methods_spec.rb +181 -0
  111. data/spec/modifiers/capitalize_spec.rb +27 -0
  112. data/spec/modifiers/downcase_spec.rb +27 -0
  113. data/spec/modifiers/gsub_spec.rb +59 -0
  114. data/spec/modifiers/modifier_spec.rb +20 -0
  115. data/spec/modifiers/mutate_case_spec.rb +46 -0
  116. data/spec/modifiers/mutate_spec.rb +39 -0
  117. data/spec/modifiers/sub_spec.rb +98 -0
  118. data/spec/modifiers/tr_spec.rb +46 -0
  119. data/spec/modifiers/upcase_spec.rb +27 -0
  120. data/spec/operators/binary_operator_spec.rb +19 -0
  121. data/spec/operators/concat_spec.rb +26 -0
  122. data/spec/operators/intersect_spec.rb +37 -0
  123. data/spec/operators/operator_spec.rb +16 -0
  124. data/spec/operators/power_spec.rb +57 -0
  125. data/spec/operators/product_spec.rb +39 -0
  126. data/spec/operators/subtract_spec.rb +37 -0
  127. data/spec/operators/union_spec.rb +37 -0
  128. data/spec/operators/unique_spec.rb +25 -0
  129. data/spec/spec_helper.rb +2 -1
  130. data/spec/unique_filter_spec.rb +108 -18
  131. data/spec/wordlist_spec.rb +55 -3
  132. data/spec/words_spec.rb +41 -0
  133. metadata +183 -120
  134. data/lib/wordlist/builders/website.rb +0 -216
  135. data/lib/wordlist/builders.rb +0 -1
  136. data/lib/wordlist/flat_file.rb +0 -47
  137. data/lib/wordlist/list.rb +0 -162
  138. data/lib/wordlist/mutator.rb +0 -113
  139. data/lib/wordlist/parsers.rb +0 -74
  140. data/lib/wordlist/runners/list.rb +0 -116
  141. data/lib/wordlist/runners/runner.rb +0 -67
  142. data/lib/wordlist/runners.rb +0 -2
  143. data/scripts/benchmark +0 -59
  144. data/scripts/text/comedy_of_errors.txt +0 -4011
  145. data/spec/flat_file_spec.rb +0 -25
  146. data/spec/list_spec.rb +0 -58
  147. data/spec/mutator_spec.rb +0 -43
  148. data/spec/parsers_spec.rb +0 -118
@@ -0,0 +1,44 @@
1
+ これ
2
+ それ
3
+ あれ
4
+ この
5
+ その
6
+ あの
7
+ ここ
8
+ そこ
9
+ あそこ
10
+ こちら
11
+ どこ
12
+ だれ
13
+ なに
14
+ なん
15
+
16
+
17
+ 貴方
18
+ 貴方方
19
+ 我々
20
+ 私達
21
+ あの人
22
+ あのかた
23
+ 彼女
24
+
25
+ です
26
+ あります
27
+ おります
28
+ います
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+ から
37
+ まで
38
+ より
39
+
40
+ どの
41
+
42
+
43
+ それで
44
+ しかし
@@ -0,0 +1,677 @@
1
+
2
+
3
+ 아이구
4
+ 아이쿠
5
+ 아이고
6
+
7
+
8
+ 우리
9
+ 저희
10
+ 따라
11
+ 의해
12
+
13
+
14
+
15
+
16
+
17
+ 으로
18
+
19
+ 에게
20
+ 뿐이다
21
+ 의거하여
22
+ 근거하여
23
+ 입각하여
24
+ 기준으로
25
+ 예하면
26
+ 예를 들면
27
+ 예를 들자면
28
+
29
+ 소인
30
+ 소생
31
+ 저희
32
+ 지말고
33
+ 하지마
34
+ 하지마라
35
+ 다른
36
+ 물론
37
+ 또한
38
+ 그리고
39
+ 비길수 없다
40
+ 해서는 안된다
41
+ 뿐만 아니라
42
+ 만이 아니다
43
+ 만은 아니다
44
+ 막론하고
45
+ 관계없이
46
+ 그치지 않다
47
+ 그러나
48
+ 그런데
49
+ 하지만
50
+ 든간에
51
+ 논하지 않다
52
+ 따지지 않다
53
+ 설사
54
+ 비록
55
+ 더라도
56
+ 아니면
57
+ 만 못하다
58
+ 하는 편이 낫다
59
+ 불문하고
60
+ 향하여
61
+ 향해서
62
+ 향하다
63
+ 쪽으로
64
+ 틈타
65
+ 이용하여
66
+ 타다
67
+ 오르다
68
+ 제외하고
69
+ 이 외에
70
+ 이 밖에
71
+ 하여야
72
+ 비로소
73
+ 한다면 몰라도
74
+ 외에도
75
+ 이곳
76
+ 여기
77
+ 부터
78
+ 기점으로
79
+ 따라서
80
+ 할 생각이다
81
+ 하려고하다
82
+ 이리하여
83
+ 그리하여
84
+ 그렇게 함으로써
85
+ 하지만
86
+ 일때
87
+ 할때
88
+ 앞에서
89
+ 중에서
90
+ 보는데서
91
+ 으로써
92
+ 로써
93
+ 까지
94
+ 해야한다
95
+ 일것이다
96
+ 반드시
97
+ 할줄알다
98
+ 할수있다
99
+ 할수있어
100
+ 임에 틀림없다
101
+ 한다면
102
+
103
+ 등등
104
+
105
+ 겨우
106
+ 단지
107
+ 다만
108
+ 할뿐
109
+ 딩동
110
+ 댕그
111
+ 대해서
112
+ 대하여
113
+ 대하면
114
+ 훨씬
115
+ 얼마나
116
+ 얼마만큼
117
+ 얼마큼
118
+ 남짓
119
+
120
+ 얼마간
121
+ 약간
122
+ 다소
123
+
124
+ 조금
125
+ 다수
126
+
127
+ 얼마
128
+ 지만
129
+ 하물며
130
+ 또한
131
+ 그러나
132
+ 그렇지만
133
+ 하지만
134
+ 이외에도
135
+ 대해 말하자면
136
+ 뿐이다
137
+ 다음에
138
+ 반대로
139
+ 반대로 말하자면
140
+ 이와 반대로
141
+ 바꾸어서 말하면
142
+ 바꾸어서 한다면
143
+ 만약
144
+ 그렇지않으면
145
+ 까악
146
+
147
+
148
+ 삐걱거리다
149
+ 보드득
150
+ 비걱거리다
151
+ 꽈당
152
+ 응당
153
+ 해야한다
154
+ 에 가서
155
+
156
+ 각각
157
+ 여러분
158
+ 각종
159
+ 각자
160
+ 제각기
161
+ 하도록하다
162
+
163
+
164
+ 그러므로
165
+ 그래서
166
+ 고로
167
+ 한 까닭에
168
+ 하기 때문에
169
+ 거니와
170
+ 이지만
171
+ 대하여
172
+ 관하여
173
+ 관한
174
+ 과연
175
+ 실로
176
+ 아니나다를가
177
+ 생각한대로
178
+ 진짜로
179
+ 한적이있다
180
+ 하곤하였다
181
+
182
+ 하하
183
+ 허허
184
+ 아하
185
+ 거바
186
+
187
+
188
+
189
+ 어째서
190
+ 무엇때문에
191
+ 어찌
192
+ 하겠는가
193
+ 무슨
194
+ 어디
195
+ 어느곳
196
+ 더군다나
197
+ 하물며
198
+ 더욱이는
199
+ 어느때
200
+ 언제
201
+
202
+ 이봐
203
+ 어이
204
+ 여보시오
205
+ 흐흐
206
+
207
+
208
+ 헉헉
209
+ 헐떡헐떡
210
+ 영차
211
+ 여차
212
+ 어기여차
213
+ 끙끙
214
+ 아야
215
+
216
+ 아야
217
+ 콸콸
218
+ 졸졸
219
+ 좍좍
220
+ 뚝뚝
221
+ 주룩주룩
222
+
223
+ 우르르
224
+ 그래도
225
+
226
+ 그리고
227
+ 바꾸어말하면
228
+ 바꾸어말하자면
229
+ 혹은
230
+ 혹시
231
+ 답다
232
+
233
+ 그에 따르는
234
+ 때가 되어
235
+
236
+ 지든지
237
+ 설령
238
+ 가령
239
+ 하더라도
240
+ 할지라도
241
+ 일지라도
242
+ 지든지
243
+
244
+ 거의
245
+ 하마터면
246
+ 인젠
247
+ 이젠
248
+ 된바에야
249
+ 된이상
250
+ 만큼
251
+ 어찌됏든
252
+ 그위에
253
+ 게다가
254
+ 점에서 보아
255
+ 비추어 보아
256
+ 고려하면
257
+ 하게될것이다
258
+ 일것이다
259
+ 비교적
260
+
261
+ 보다더
262
+ 비하면
263
+ 시키다
264
+ 하게하다
265
+ 할만하다
266
+ 의해서
267
+ 연이서
268
+ 이어서
269
+ 잇따라
270
+ 뒤따라
271
+ 뒤이어
272
+ 결국
273
+ 의지하여
274
+ 기대여
275
+ 통하여
276
+ 자마자
277
+ 더욱더
278
+ 불구하고
279
+ 얼마든지
280
+ 마음대로
281
+ 주저하지 않고
282
+
283
+ 즉시
284
+ 바로
285
+ 당장
286
+ 하자마자
287
+ 밖에 안된다
288
+ 하면된다
289
+ 그래
290
+ 그렇지
291
+ 요컨대
292
+ 다시 말하자면
293
+ 바꿔 말하면
294
+
295
+ 구체적으로
296
+ 말하자면
297
+ 시작하여
298
+ 시초에
299
+ 이상
300
+
301
+
302
+ 허걱
303
+ 바와같이
304
+ 해도좋다
305
+ 해도된다
306
+ 게다가
307
+ 더구나
308
+ 하물며
309
+ 와르르
310
+
311
+
312
+ 펄렁
313
+ 동안
314
+ 이래
315
+ 하고있었다
316
+ 이었다
317
+ 에서
318
+ 로부터
319
+ 까지
320
+ 예하면
321
+ 했어요
322
+ 해요
323
+ 함께
324
+ 같이
325
+ 더불어
326
+ 마저
327
+ 마저도
328
+ 양자
329
+ 모두
330
+ 습니다
331
+ 가까스로
332
+ 하려고하다
333
+ 즈음하여
334
+ 다른
335
+ 다른 방면으로
336
+ 해봐요
337
+ 습니까
338
+ 했어요
339
+ 말할것도 없고
340
+ 무릎쓰고
341
+ 개의치않고
342
+ 하는것만 못하다
343
+ 하는것이 낫다
344
+
345
+ 매번
346
+
347
+
348
+ 어느것
349
+ 어느
350
+ 로써
351
+ 갖고말하자면
352
+ 어디
353
+ 어느쪽
354
+ 어느것
355
+ 어느해
356
+ 어느 년도
357
+ 라 해도
358
+ 언젠가
359
+ 어떤것
360
+ 어느것
361
+ 저기
362
+ 저쪽
363
+ 저것
364
+ 그때
365
+ 그럼
366
+ 그러면
367
+ 요만한걸
368
+ 그래
369
+ 그때
370
+ 저것만큼
371
+ 그저
372
+ 이르기까지
373
+ 할 줄 안다
374
+ 할 힘이 있다
375
+
376
+ 너희
377
+ 당신
378
+ 어찌
379
+ 설마
380
+ 차라리
381
+ 할지언정
382
+ 할지라도
383
+ 할망정
384
+ 할지언정
385
+ 구토하다
386
+ 게우다
387
+ 토하다
388
+ 메쓰겁다
389
+ 옆사람
390
+
391
+
392
+ 의거하여
393
+ 근거하여
394
+ 의해
395
+ 따라
396
+ 힘입어
397
+
398
+ 다음
399
+ 버금
400
+ 두번째로
401
+ 기타
402
+ 첫번째로
403
+ 나머지는
404
+ 그중에서
405
+ 견지에서
406
+ 형식으로 쓰여
407
+ 입장에서
408
+ 위해서
409
+ 단지
410
+ 의해되다
411
+ 하도록시키다
412
+ 뿐만아니라
413
+ 반대로
414
+ 전후
415
+ 전자
416
+ 앞의것
417
+ 잠시
418
+ 잠깐
419
+ 하면서
420
+ 그렇지만
421
+ 다음에
422
+ 그러한즉
423
+ 그런즉
424
+ 남들
425
+ 아무거나
426
+ 어찌하든지
427
+ 같다
428
+ 비슷하다
429
+ 예컨대
430
+ 이럴정도로
431
+ 어떻게
432
+ 만약
433
+ 만일
434
+ 위에서 서술한바와같이
435
+ 인 듯하다
436
+ 하지 않는다면
437
+ 만약에
438
+ 무엇
439
+ 무슨
440
+ 어느
441
+ 어떤
442
+ 아래윗
443
+ 조차
444
+ 한데
445
+ 그럼에도 불구하고
446
+ 여전히
447
+ 심지어
448
+ 까지도
449
+ 조차도
450
+ 하지 않도록
451
+ 않기 위하여
452
+
453
+ 시각
454
+ 무렵
455
+ 시간
456
+ 동안
457
+ 어때
458
+ 어떠한
459
+ 하여금
460
+
461
+
462
+ 우선
463
+ 누구
464
+ 누가 알겠는가
465
+ 아무도
466
+ 줄은모른다
467
+ 줄은 몰랏다
468
+ 하는 김에
469
+ 겸사겸사
470
+ 하는바
471
+ 그런 까닭에
472
+ 한 이유는
473
+ 그러니
474
+ 그러니까
475
+ 때문에
476
+
477
+ 너희
478
+ 그들
479
+ 너희들
480
+ 타인
481
+
482
+ 것들
483
+
484
+ 위하여
485
+ 공동으로
486
+ 동시에
487
+ 하기 위하여
488
+ 어찌하여
489
+ 무엇때문에
490
+ 붕붕
491
+ 윙윙
492
+
493
+ 우리
494
+ 엉엉
495
+ 휘익
496
+ 윙윙
497
+ 오호
498
+ 아하
499
+ 어쨋든
500
+ 만 못하다
501
+ 하기보다는
502
+ 차라리
503
+ 하는 편이 낫다
504
+ 흐흐
505
+ 놀라다
506
+ 상대적으로 말하자면
507
+ 마치
508
+ 아니라면
509
+
510
+ 그렇지 않으면
511
+ 그렇지 않다면
512
+ 안 그러면
513
+ 아니었다면
514
+ 하든지
515
+ 아니면
516
+ 이라면
517
+ 좋아
518
+ 알았어
519
+ 하는것도
520
+ 그만이다
521
+ 어쩔수 없다
522
+ 하나
523
+
524
+ 일반적으로
525
+ 일단
526
+ 한켠으로는
527
+ 오자마자
528
+ 이렇게되면
529
+ 이와같다면
530
+ 전부
531
+ 한마디
532
+ 한항목
533
+ 근거로
534
+ 하기에
535
+ 아울러
536
+ 하지 않도록
537
+ 않기 위해서
538
+ 이르기까지
539
+ 이 되다
540
+ 로 인하여
541
+ 까닭으로
542
+ 이유만으로
543
+ 이로 인하여
544
+ 그래서
545
+ 이 때문에
546
+ 그러므로
547
+ 그런 까닭에
548
+ 알 수 있다
549
+ 결론을 낼 수 있다
550
+ 으로 인하여
551
+ 있다
552
+ 어떤것
553
+ 관계가 있다
554
+ 관련이 있다
555
+ 연관되다
556
+ 어떤것들
557
+ 에 대해
558
+ 이리하여
559
+ 그리하여
560
+ 여부
561
+ 하기보다는
562
+ 하느니
563
+ 하면 할수록
564
+ 운운
565
+ 이러이러하다
566
+ 하구나
567
+ 하도다
568
+ 다시말하면
569
+ 다음으로
570
+ 에 있다
571
+ 에 달려 있다
572
+ 우리
573
+ 우리들
574
+ 오히려
575
+ 하기는한데
576
+ 어떻게
577
+ 어떻해
578
+ 어찌됏어
579
+ 어때
580
+ 어째서
581
+ 본대로
582
+
583
+
584
+ 이쪽
585
+ 여기
586
+ 이것
587
+ 이번
588
+ 이렇게말하자면
589
+ 이런
590
+ 이러한
591
+ 이와 같은
592
+ 요만큼
593
+ 요만한 것
594
+ 얼마 안 되는 것
595
+ 이만큼
596
+ 이 정도의
597
+ 이렇게 많은 것
598
+ 이와 같다
599
+ 이때
600
+ 이렇구나
601
+ 것과 같이
602
+ 끼익
603
+ 삐걱
604
+ 따위
605
+ 와 같은 사람들
606
+ 부류의 사람들
607
+ 왜냐하면
608
+ 중의하나
609
+ 오직
610
+ 오로지
611
+ 에 한하다
612
+ 하기만 하면
613
+ 도착하다
614
+ 까지 미치다
615
+ 도달하다
616
+ 정도에 이르다
617
+ 할 지경이다
618
+ 결과에 이르다
619
+ 관해서는
620
+ 여러분
621
+ 하고 있다
622
+ 한 후
623
+ 혼자
624
+ 자기
625
+ 자기집
626
+ 자신
627
+ 우에 종합한것과같이
628
+ 총적으로 보면
629
+ 총적으로 말하면
630
+ 총적으로
631
+ 대로 하다
632
+ 으로서
633
+
634
+ 그만이다
635
+ 할 따름이다
636
+
637
+ 탕탕
638
+ 쾅쾅
639
+ 둥둥
640
+
641
+ 봐라
642
+ 아이야
643
+ 아니
644
+ 와아
645
+
646
+ 아이
647
+ 참나
648
+
649
+
650
+
651
+
652
+
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+
661
+
662
+
663
+ 이천육
664
+ 이천칠
665
+ 이천팔
666
+ 이천구
667
+ 하나
668
+
669
+
670
+
671
+ 다섯
672
+ 여섯
673
+ 일곱
674
+ 여덟
675
+ 아홉
676
+
677
+