email_address_validator 1.0.0 → 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.
@@ -1,8 +1,19 @@
1
1
  class EmailAddressValidator::RFC2822Parser
2
- # STANDALONE START
2
+ # :stopdoc:
3
+
4
+ # This is distinct from setup_parser so that a standalone parser
5
+ # can redefine #initialize and still have access to the proper
6
+ # parser setup code.
7
+ def initialize(str, debug=false)
8
+ setup_parser(str, debug)
9
+ end
10
+
11
+
12
+
13
+ # Prepares for parsing +str+. If you define a custom initialize you must
14
+ # call this method before #parse
3
15
  def setup_parser(str, debug=false)
4
- @string = str
5
- @pos = 0
16
+ set_string str, 0
6
17
  @memoizations = Hash.new { |h,k| h[k] = {} }
7
18
  @result = nil
8
19
  @failed_rule = nil
@@ -11,22 +22,10 @@ class EmailAddressValidator::RFC2822Parser
11
22
  setup_foreign_grammar
12
23
  end
13
24
 
14
- def setup_foreign_grammar
15
- end
16
-
17
- # This is distinct from setup_parser so that a standalone parser
18
- # can redefine #initialize and still have access to the proper
19
- # parser setup code.
20
- #
21
- def initialize(str, debug=false)
22
- setup_parser(str, debug)
23
- end
24
-
25
25
  attr_reader :string
26
- attr_reader :result, :failing_rule_offset
27
- attr_accessor :pos
26
+ attr_reader :failing_rule_offset
27
+ attr_accessor :result, :pos
28
28
 
29
- # STANDALONE START
30
29
  def current_column(target=pos)
31
30
  if c = string.rindex("\n", target-1)
32
31
  return target - c - 1
@@ -54,12 +53,19 @@ class EmailAddressValidator::RFC2822Parser
54
53
  lines
55
54
  end
56
55
 
57
- #
56
+
58
57
 
59
58
  def get_text(start)
60
59
  @string[start..@pos-1]
61
60
  end
62
61
 
62
+ # Sets the string and current parsing position for the parser.
63
+ def set_string string, pos
64
+ @string = string
65
+ @string_size = string ? string.size : 0
66
+ @pos = pos
67
+ end
68
+
63
69
  def show_pos
64
70
  width = 10
65
71
  if @pos < width
@@ -166,19 +172,19 @@ class EmailAddressValidator::RFC2822Parser
166
172
  return nil
167
173
  end
168
174
 
169
- if "".respond_to? :getbyte
175
+ if "".respond_to? :ord
170
176
  def get_byte
171
- if @pos >= @string.size
177
+ if @pos >= @string_size
172
178
  return nil
173
179
  end
174
180
 
175
- s = @string.getbyte @pos
181
+ s = @string[@pos].ord
176
182
  @pos += 1
177
183
  s
178
184
  end
179
185
  else
180
186
  def get_byte
181
- if @pos >= @string.size
187
+ if @pos >= @string_size
182
188
  return nil
183
189
  end
184
190
 
@@ -189,41 +195,37 @@ class EmailAddressValidator::RFC2822Parser
189
195
  end
190
196
 
191
197
  def parse(rule=nil)
198
+ # We invoke the rules indirectly via apply
199
+ # instead of by just calling them as methods because
200
+ # if the rules use left recursion, apply needs to
201
+ # manage that.
202
+
192
203
  if !rule
193
- _root ? true : false
204
+ apply(:_root)
194
205
  else
195
- # This is not shared with code_generator.rb so this can be standalone
196
206
  method = rule.gsub("-","_hyphen_")
197
- __send__("_#{method}") ? true : false
198
- end
199
- end
200
-
201
- class LeftRecursive
202
- def initialize(detected=false)
203
- @detected = detected
207
+ apply :"_#{method}"
204
208
  end
205
-
206
- attr_accessor :detected
207
209
  end
208
210
 
209
211
  class MemoEntry
210
212
  def initialize(ans, pos)
211
213
  @ans = ans
212
214
  @pos = pos
213
- @uses = 1
214
215
  @result = nil
216
+ @set = false
217
+ @left_rec = false
215
218
  end
216
219
 
217
- attr_reader :ans, :pos, :uses, :result
218
-
219
- def inc!
220
- @uses += 1
221
- end
220
+ attr_reader :ans, :pos, :result, :set
221
+ attr_accessor :left_rec
222
222
 
223
223
  def move!(ans, pos, result)
224
224
  @ans = ans
225
225
  @pos = pos
226
226
  @result = result
227
+ @set = true
228
+ @left_rec = false
227
229
  end
228
230
  end
229
231
 
@@ -231,30 +233,61 @@ class EmailAddressValidator::RFC2822Parser
231
233
  old_pos = @pos
232
234
  old_string = @string
233
235
 
234
- @pos = other.pos
235
- @string = other.string
236
+ set_string other.string, other.pos
236
237
 
237
238
  begin
238
239
  if val = __send__(rule, *args)
239
240
  other.pos = @pos
241
+ other.result = @result
240
242
  else
241
243
  other.set_failed_rule "#{self.class}##{rule}"
242
244
  end
243
245
  val
244
246
  ensure
245
- @pos = old_pos
246
- @string = old_string
247
+ set_string old_string, old_pos
248
+ end
249
+ end
250
+
251
+ def apply_with_args(rule, *args)
252
+ memo_key = [rule, args]
253
+ if m = @memoizations[memo_key][@pos]
254
+ @pos = m.pos
255
+ if !m.set
256
+ m.left_rec = true
257
+ return nil
258
+ end
259
+
260
+ @result = m.result
261
+
262
+ return m.ans
263
+ else
264
+ m = MemoEntry.new(nil, @pos)
265
+ @memoizations[memo_key][@pos] = m
266
+ start_pos = @pos
267
+
268
+ ans = __send__ rule, *args
269
+
270
+ lr = m.left_rec
271
+
272
+ m.move! ans, @pos, @result
273
+
274
+ # Don't bother trying to grow the left recursion
275
+ # if it's failing straight away (thus there is no seed)
276
+ if ans and lr
277
+ return grow_lr(rule, args, start_pos, m)
278
+ else
279
+ return ans
280
+ end
281
+
282
+ return ans
247
283
  end
248
284
  end
249
285
 
250
286
  def apply(rule)
251
287
  if m = @memoizations[rule][@pos]
252
- m.inc!
253
-
254
- prev = @pos
255
288
  @pos = m.pos
256
- if m.ans.kind_of? LeftRecursive
257
- m.ans.detected = true
289
+ if !m.set
290
+ m.left_rec = true
258
291
  return nil
259
292
  end
260
293
 
@@ -262,19 +295,20 @@ class EmailAddressValidator::RFC2822Parser
262
295
 
263
296
  return m.ans
264
297
  else
265
- lr = LeftRecursive.new(false)
266
- m = MemoEntry.new(lr, @pos)
298
+ m = MemoEntry.new(nil, @pos)
267
299
  @memoizations[rule][@pos] = m
268
300
  start_pos = @pos
269
301
 
270
302
  ans = __send__ rule
271
303
 
304
+ lr = m.left_rec
305
+
272
306
  m.move! ans, @pos, @result
273
307
 
274
308
  # Don't bother trying to grow the left recursion
275
309
  # if it's failing straight away (thus there is no seed)
276
- if ans and lr.detected
277
- return grow_lr(rule, start_pos, m)
310
+ if ans and lr
311
+ return grow_lr(rule, nil, start_pos, m)
278
312
  else
279
313
  return ans
280
314
  end
@@ -283,12 +317,16 @@ class EmailAddressValidator::RFC2822Parser
283
317
  end
284
318
  end
285
319
 
286
- def grow_lr(rule, start_pos, m)
320
+ def grow_lr(rule, args, start_pos, m)
287
321
  while true
288
322
  @pos = start_pos
289
323
  @result = m.result
290
324
 
291
- ans = __send__ rule
325
+ if args
326
+ ans = __send__ rule, *args
327
+ else
328
+ ans = __send__ rule
329
+ end
292
330
  return nil unless ans
293
331
 
294
332
  break if @pos <= m.pos
@@ -314,10 +352,12 @@ class EmailAddressValidator::RFC2822Parser
314
352
  RuleInfo.new(name, rendered)
315
353
  end
316
354
 
317
- #
355
+
356
+ # :startdoc:
318
357
 
319
358
  attr_accessor :validate_domain
320
359
 
360
+ # :stopdoc:
321
361
  def setup_foreign_grammar; end
322
362
 
323
363
  # d = < . > &{ text[0] == num }
@@ -325,49 +365,49 @@ class EmailAddressValidator::RFC2822Parser
325
365
 
326
366
  _save = self.pos
327
367
  while true # sequence
328
- _text_start = self.pos
329
- _tmp = get_byte
330
- if _tmp
331
- text = get_text(_text_start)
332
- end
333
- unless _tmp
334
- self.pos = _save
368
+ _text_start = self.pos
369
+ _tmp = get_byte
370
+ if _tmp
371
+ text = get_text(_text_start)
372
+ end
373
+ unless _tmp
374
+ self.pos = _save
375
+ break
376
+ end
377
+ _save1 = self.pos
378
+ _tmp = begin; text[0] == num ; end
379
+ self.pos = _save1
380
+ unless _tmp
381
+ self.pos = _save
382
+ end
335
383
  break
336
- end
337
- _save1 = self.pos
338
- _tmp = begin; text[0] == num ; end
339
- self.pos = _save1
340
- unless _tmp
341
- self.pos = _save
342
- end
343
- break
344
384
  end # end sequence
345
385
 
346
386
  set_failed_rule :_d unless _tmp
347
387
  return _tmp
348
388
  end
349
389
 
350
- # d_btw = < . > &{ t = text[0]; t >= start && t <= fin }
390
+ # d_btw = < . > &{ t = text[0].chr; t >= start && t <= fin }
351
391
  def _d_btw(start,fin)
352
392
 
353
393
  _save = self.pos
354
394
  while true # sequence
355
- _text_start = self.pos
356
- _tmp = get_byte
357
- if _tmp
358
- text = get_text(_text_start)
359
- end
360
- unless _tmp
361
- self.pos = _save
395
+ _text_start = self.pos
396
+ _tmp = get_byte
397
+ if _tmp
398
+ text = get_text(_text_start)
399
+ end
400
+ unless _tmp
401
+ self.pos = _save
402
+ break
403
+ end
404
+ _save1 = self.pos
405
+ _tmp = begin; t = text[0].ord; t >= start && t <= fin ; end
406
+ self.pos = _save1
407
+ unless _tmp
408
+ self.pos = _save
409
+ end
362
410
  break
363
- end
364
- _save1 = self.pos
365
- _tmp = begin; t = text[0]; t >= start && t <= fin ; end
366
- self.pos = _save1
367
- unless _tmp
368
- self.pos = _save
369
- end
370
- break
371
411
  end # end sequence
372
412
 
373
413
  set_failed_rule :_d_btw unless _tmp
@@ -379,13 +419,13 @@ class EmailAddressValidator::RFC2822Parser
379
419
 
380
420
  _save = self.pos
381
421
  while true # choice
382
- _tmp = match_string(" ")
383
- break if _tmp
384
- self.pos = _save
385
- _tmp = _d(9)
386
- break if _tmp
387
- self.pos = _save
388
- break
422
+ _tmp = match_string(" ")
423
+ break if _tmp
424
+ self.pos = _save
425
+ _tmp = apply_with_args(:_d, 9)
426
+ break if _tmp
427
+ self.pos = _save
428
+ break
389
429
  end # end choice
390
430
 
391
431
  set_failed_rule :_WSP unless _tmp
@@ -411,16 +451,16 @@ class EmailAddressValidator::RFC2822Parser
411
451
 
412
452
  _save = self.pos
413
453
  while true # sequence
414
- _tmp = apply(:_CR)
415
- unless _tmp
416
- self.pos = _save
454
+ _tmp = apply(:_CR)
455
+ unless _tmp
456
+ self.pos = _save
457
+ break
458
+ end
459
+ _tmp = apply(:_LF)
460
+ unless _tmp
461
+ self.pos = _save
462
+ end
417
463
  break
418
- end
419
- _tmp = apply(:_LF)
420
- unless _tmp
421
- self.pos = _save
422
- end
423
- break
424
464
  end # end sequence
425
465
 
426
466
  set_failed_rule :_CRLF unless _tmp
@@ -446,22 +486,22 @@ class EmailAddressValidator::RFC2822Parser
446
486
 
447
487
  _save = self.pos
448
488
  while true # choice
449
- _tmp = _d_btw(1,8)
450
- break if _tmp
451
- self.pos = _save
452
- _tmp = _d(11)
453
- break if _tmp
454
- self.pos = _save
455
- _tmp = _d(12)
456
- break if _tmp
457
- self.pos = _save
458
- _tmp = _d_btw(14,31)
459
- break if _tmp
460
- self.pos = _save
461
- _tmp = _d(127)
462
- break if _tmp
463
- self.pos = _save
464
- break
489
+ _tmp = apply_with_args(:_d_btw, 1,8)
490
+ break if _tmp
491
+ self.pos = _save
492
+ _tmp = apply_with_args(:_d, 11)
493
+ break if _tmp
494
+ self.pos = _save
495
+ _tmp = apply_with_args(:_d, 12)
496
+ break if _tmp
497
+ self.pos = _save
498
+ _tmp = apply_with_args(:_d_btw, 14,31)
499
+ break if _tmp
500
+ self.pos = _save
501
+ _tmp = apply_with_args(:_d, 127)
502
+ break if _tmp
503
+ self.pos = _save
504
+ break
465
505
  end # end choice
466
506
 
467
507
  set_failed_rule :_NO_hyphen_WS_hyphen_CTL unless _tmp
@@ -473,22 +513,22 @@ class EmailAddressValidator::RFC2822Parser
473
513
 
474
514
  _save = self.pos
475
515
  while true # choice
476
- _tmp = _d_btw(1,9)
477
- break if _tmp
478
- self.pos = _save
479
- _tmp = _d(11)
480
- break if _tmp
481
- self.pos = _save
482
- _tmp = _d(12)
483
- break if _tmp
484
- self.pos = _save
485
- _tmp = _d_btw(14,127)
486
- break if _tmp
487
- self.pos = _save
488
- _tmp = apply(:_obs_hyphen_text)
489
- break if _tmp
490
- self.pos = _save
491
- break
516
+ _tmp = apply_with_args(:_d_btw, 1,9)
517
+ break if _tmp
518
+ self.pos = _save
519
+ _tmp = apply_with_args(:_d, 11)
520
+ break if _tmp
521
+ self.pos = _save
522
+ _tmp = apply_with_args(:_d, 12)
523
+ break if _tmp
524
+ self.pos = _save
525
+ _tmp = apply_with_args(:_d_btw, 14,127)
526
+ break if _tmp
527
+ self.pos = _save
528
+ _tmp = apply(:_obs_hyphen_text)
529
+ break if _tmp
530
+ self.pos = _save
531
+ break
492
532
  end # end choice
493
533
 
494
534
  set_failed_rule :_text unless _tmp
@@ -501,26 +541,26 @@ class EmailAddressValidator::RFC2822Parser
501
541
  _save = self.pos
502
542
  while true # choice
503
543
 
504
- _save1 = self.pos
505
- while true # sequence
506
- _tmp = match_string("\\")
507
- unless _tmp
508
- self.pos = _save1
509
- break
510
- end
511
- _tmp = apply(:_text)
512
- unless _tmp
513
- self.pos = _save1
514
- end
515
- break
516
- end # end sequence
544
+ _save1 = self.pos
545
+ while true # sequence
546
+ _tmp = match_string("\\")
547
+ unless _tmp
548
+ self.pos = _save1
549
+ break
550
+ end
551
+ _tmp = apply(:_text)
552
+ unless _tmp
553
+ self.pos = _save1
554
+ end
555
+ break
556
+ end # end sequence
517
557
 
518
- break if _tmp
519
- self.pos = _save
520
- _tmp = apply(:_obs_hyphen_qp)
521
- break if _tmp
522
- self.pos = _save
523
- break
558
+ break if _tmp
559
+ self.pos = _save
560
+ _tmp = apply(:_obs_hyphen_qp)
561
+ break if _tmp
562
+ self.pos = _save
563
+ break
524
564
  end # end choice
525
565
 
526
566
  set_failed_rule :_quoted_hyphen_pair unless _tmp
@@ -533,59 +573,59 @@ class EmailAddressValidator::RFC2822Parser
533
573
  _save = self.pos
534
574
  while true # choice
535
575
 
536
- _save1 = self.pos
537
- while true # sequence
538
- _save2 = self.pos
539
-
540
- _save3 = self.pos
541
- while true # sequence
542
- while true
543
- _tmp = apply(:_WSP)
544
- break unless _tmp
545
- end
546
- _tmp = true
547
- unless _tmp
548
- self.pos = _save3
549
- break
550
- end
551
- _tmp = apply(:_CRLF)
552
- unless _tmp
553
- self.pos = _save3
554
- end
555
- break
556
- end # end sequence
557
-
558
- unless _tmp
559
- _tmp = true
560
- self.pos = _save2
561
- end
562
- unless _tmp
563
- self.pos = _save1
564
- break
565
- end
566
- _save5 = self.pos
567
- _tmp = apply(:_WSP)
568
- if _tmp
569
- while true
576
+ _save1 = self.pos
577
+ while true # sequence
578
+ _save2 = self.pos
579
+
580
+ _save3 = self.pos
581
+ while true # sequence
582
+ while true
583
+ _tmp = apply(:_WSP)
584
+ break unless _tmp
585
+ end
586
+ _tmp = true
587
+ unless _tmp
588
+ self.pos = _save3
589
+ break
590
+ end
591
+ _tmp = apply(:_CRLF)
592
+ unless _tmp
593
+ self.pos = _save3
594
+ end
595
+ break
596
+ end # end sequence
597
+
598
+ unless _tmp
599
+ _tmp = true
600
+ self.pos = _save2
601
+ end
602
+ unless _tmp
603
+ self.pos = _save1
604
+ break
605
+ end
606
+ _save5 = self.pos
570
607
  _tmp = apply(:_WSP)
571
- break unless _tmp
572
- end
573
- _tmp = true
574
- else
575
- self.pos = _save5
576
- end
577
- unless _tmp
578
- self.pos = _save1
579
- end
580
- break
581
- end # end sequence
608
+ if _tmp
609
+ while true
610
+ _tmp = apply(:_WSP)
611
+ break unless _tmp
612
+ end
613
+ _tmp = true
614
+ else
615
+ self.pos = _save5
616
+ end
617
+ unless _tmp
618
+ self.pos = _save1
619
+ end
620
+ break
621
+ end # end sequence
582
622
 
583
- break if _tmp
584
- self.pos = _save
585
- _tmp = apply(:_obs_hyphen_FWS)
586
- break if _tmp
587
- self.pos = _save
588
- break
623
+ break if _tmp
624
+ self.pos = _save
625
+ _tmp = apply(:_obs_hyphen_FWS)
626
+ break if _tmp
627
+ self.pos = _save
628
+ break
589
629
  end # end choice
590
630
 
591
631
  set_failed_rule :_FWS unless _tmp
@@ -597,19 +637,19 @@ class EmailAddressValidator::RFC2822Parser
597
637
 
598
638
  _save = self.pos
599
639
  while true # choice
600
- _tmp = apply(:_NO_hyphen_WS_hyphen_CTL)
601
- break if _tmp
602
- self.pos = _save
603
- _tmp = _d_btw(33,39)
604
- break if _tmp
605
- self.pos = _save
606
- _tmp = _d_btw(42,91)
607
- break if _tmp
608
- self.pos = _save
609
- _tmp = _d_btw(93,126)
610
- break if _tmp
611
- self.pos = _save
612
- break
640
+ _tmp = apply(:_NO_hyphen_WS_hyphen_CTL)
641
+ break if _tmp
642
+ self.pos = _save
643
+ _tmp = apply_with_args(:_d_btw, 33,39)
644
+ break if _tmp
645
+ self.pos = _save
646
+ _tmp = apply_with_args(:_d_btw, 42,91)
647
+ break if _tmp
648
+ self.pos = _save
649
+ _tmp = apply_with_args(:_d_btw, 93,126)
650
+ break if _tmp
651
+ self.pos = _save
652
+ break
613
653
  end # end choice
614
654
 
615
655
  set_failed_rule :_ctext unless _tmp
@@ -621,16 +661,16 @@ class EmailAddressValidator::RFC2822Parser
621
661
 
622
662
  _save = self.pos
623
663
  while true # choice
624
- _tmp = apply(:_ctext)
625
- break if _tmp
626
- self.pos = _save
627
- _tmp = apply(:_quoted_hyphen_pair)
628
- break if _tmp
629
- self.pos = _save
630
- _tmp = apply(:_comment)
631
- break if _tmp
632
- self.pos = _save
633
- break
664
+ _tmp = apply(:_ctext)
665
+ break if _tmp
666
+ self.pos = _save
667
+ _tmp = apply(:_quoted_hyphen_pair)
668
+ break if _tmp
669
+ self.pos = _save
670
+ _tmp = apply(:_comment)
671
+ break if _tmp
672
+ self.pos = _save
673
+ break
634
674
  end # end choice
635
675
 
636
676
  set_failed_rule :_ccontent unless _tmp
@@ -642,54 +682,54 @@ class EmailAddressValidator::RFC2822Parser
642
682
 
643
683
  _save = self.pos
644
684
  while true # sequence
645
- _tmp = match_string("(")
646
- unless _tmp
647
- self.pos = _save
648
- break
649
- end
650
- while true
685
+ _tmp = match_string("(")
686
+ unless _tmp
687
+ self.pos = _save
688
+ break
689
+ end
690
+ while true
651
691
 
652
- _save2 = self.pos
653
- while true # sequence
654
- _save3 = self.pos
655
- _tmp = apply(:_FWS)
656
- unless _tmp
657
- _tmp = true
658
- self.pos = _save3
659
- end
660
- unless _tmp
661
- self.pos = _save2
662
- break
663
- end
664
- _tmp = apply(:_ccontent)
665
- unless _tmp
666
- self.pos = _save2
667
- end
668
- break
669
- end # end sequence
692
+ _save2 = self.pos
693
+ while true # sequence
694
+ _save3 = self.pos
695
+ _tmp = apply(:_FWS)
696
+ unless _tmp
697
+ _tmp = true
698
+ self.pos = _save3
699
+ end
700
+ unless _tmp
701
+ self.pos = _save2
702
+ break
703
+ end
704
+ _tmp = apply(:_ccontent)
705
+ unless _tmp
706
+ self.pos = _save2
707
+ end
708
+ break
709
+ end # end sequence
670
710
 
671
- break unless _tmp
672
- end
673
- _tmp = true
674
- unless _tmp
675
- self.pos = _save
676
- break
677
- end
678
- _save4 = self.pos
679
- _tmp = apply(:_FWS)
680
- unless _tmp
711
+ break unless _tmp
712
+ end
681
713
  _tmp = true
682
- self.pos = _save4
683
- end
684
- unless _tmp
685
- self.pos = _save
714
+ unless _tmp
715
+ self.pos = _save
716
+ break
717
+ end
718
+ _save4 = self.pos
719
+ _tmp = apply(:_FWS)
720
+ unless _tmp
721
+ _tmp = true
722
+ self.pos = _save4
723
+ end
724
+ unless _tmp
725
+ self.pos = _save
726
+ break
727
+ end
728
+ _tmp = match_string(")")
729
+ unless _tmp
730
+ self.pos = _save
731
+ end
686
732
  break
687
- end
688
- _tmp = match_string(")")
689
- unless _tmp
690
- self.pos = _save
691
- end
692
- break
693
733
  end # end sequence
694
734
 
695
735
  set_failed_rule :_comment unless _tmp
@@ -701,69 +741,69 @@ class EmailAddressValidator::RFC2822Parser
701
741
 
702
742
  _save = self.pos
703
743
  while true # sequence
704
- while true
705
-
706
- _save2 = self.pos
707
- while true # sequence
708
- _save3 = self.pos
709
- _tmp = apply(:_FWS)
710
- unless _tmp
711
- _tmp = true
712
- self.pos = _save3
713
- end
714
- unless _tmp
715
- self.pos = _save2
716
- break
717
- end
718
- _tmp = apply(:_comment)
719
- unless _tmp
720
- self.pos = _save2
721
- end
722
- break
723
- end # end sequence
724
-
725
- break unless _tmp
726
- end
727
- _tmp = true
728
- unless _tmp
729
- self.pos = _save
730
- break
731
- end
744
+ while true
732
745
 
733
- _save4 = self.pos
734
- while true # choice
746
+ _save2 = self.pos
747
+ while true # sequence
748
+ _save3 = self.pos
749
+ _tmp = apply(:_FWS)
750
+ unless _tmp
751
+ _tmp = true
752
+ self.pos = _save3
753
+ end
754
+ unless _tmp
755
+ self.pos = _save2
756
+ break
757
+ end
758
+ _tmp = apply(:_comment)
759
+ unless _tmp
760
+ self.pos = _save2
761
+ end
762
+ break
763
+ end # end sequence
735
764
 
736
- _save5 = self.pos
737
- while true # sequence
738
- _save6 = self.pos
739
- _tmp = apply(:_FWS)
740
- unless _tmp
765
+ break unless _tmp
766
+ end
741
767
  _tmp = true
742
- self.pos = _save6
743
- end
744
- unless _tmp
745
- self.pos = _save5
746
- break
747
- end
748
- _tmp = apply(:_comment)
749
- unless _tmp
750
- self.pos = _save5
751
- end
752
- break
753
- end # end sequence
754
-
755
- break if _tmp
756
- self.pos = _save4
757
- _tmp = apply(:_FWS)
758
- break if _tmp
759
- self.pos = _save4
760
- break
761
- end # end choice
768
+ unless _tmp
769
+ self.pos = _save
770
+ break
771
+ end
762
772
 
763
- unless _tmp
764
- self.pos = _save
765
- end
766
- break
773
+ _save4 = self.pos
774
+ while true # choice
775
+
776
+ _save5 = self.pos
777
+ while true # sequence
778
+ _save6 = self.pos
779
+ _tmp = apply(:_FWS)
780
+ unless _tmp
781
+ _tmp = true
782
+ self.pos = _save6
783
+ end
784
+ unless _tmp
785
+ self.pos = _save5
786
+ break
787
+ end
788
+ _tmp = apply(:_comment)
789
+ unless _tmp
790
+ self.pos = _save5
791
+ end
792
+ break
793
+ end # end sequence
794
+
795
+ break if _tmp
796
+ self.pos = _save4
797
+ _tmp = apply(:_FWS)
798
+ break if _tmp
799
+ self.pos = _save4
800
+ break
801
+ end # end choice
802
+
803
+ unless _tmp
804
+ self.pos = _save
805
+ end
806
+ break
767
807
  end # end sequence
768
808
 
769
809
  set_failed_rule :_CFWS unless _tmp
@@ -775,70 +815,70 @@ class EmailAddressValidator::RFC2822Parser
775
815
 
776
816
  _save = self.pos
777
817
  while true # choice
778
- _tmp = apply(:_ALPHA)
779
- break if _tmp
780
- self.pos = _save
781
- _tmp = apply(:_DIGIT)
782
- break if _tmp
783
- self.pos = _save
784
- _tmp = match_string("!")
785
- break if _tmp
786
- self.pos = _save
787
- _tmp = match_string("#")
788
- break if _tmp
789
- self.pos = _save
790
- _tmp = match_string("$")
791
- break if _tmp
792
- self.pos = _save
793
- _tmp = match_string("%")
794
- break if _tmp
795
- self.pos = _save
796
- _tmp = match_string("&")
797
- break if _tmp
798
- self.pos = _save
799
- _tmp = match_string("'")
800
- break if _tmp
801
- self.pos = _save
802
- _tmp = match_string("*")
803
- break if _tmp
804
- self.pos = _save
805
- _tmp = match_string("+")
806
- break if _tmp
807
- self.pos = _save
808
- _tmp = match_string("-")
809
- break if _tmp
810
- self.pos = _save
811
- _tmp = match_string("/")
812
- break if _tmp
813
- self.pos = _save
814
- _tmp = match_string("=")
815
- break if _tmp
816
- self.pos = _save
817
- _tmp = match_string("?")
818
- break if _tmp
819
- self.pos = _save
820
- _tmp = match_string("^")
821
- break if _tmp
822
- self.pos = _save
823
- _tmp = match_string("_")
824
- break if _tmp
825
- self.pos = _save
826
- _tmp = match_string("`")
827
- break if _tmp
828
- self.pos = _save
829
- _tmp = match_string("{")
830
- break if _tmp
831
- self.pos = _save
832
- _tmp = match_string("|")
833
- break if _tmp
834
- self.pos = _save
835
- _tmp = match_string("}")
836
- break if _tmp
837
- self.pos = _save
838
- _tmp = match_string("~")
839
- break if _tmp
840
- self.pos = _save
841
- break
818
+ _tmp = apply(:_ALPHA)
819
+ break if _tmp
820
+ self.pos = _save
821
+ _tmp = apply(:_DIGIT)
822
+ break if _tmp
823
+ self.pos = _save
824
+ _tmp = match_string("!")
825
+ break if _tmp
826
+ self.pos = _save
827
+ _tmp = match_string("#")
828
+ break if _tmp
829
+ self.pos = _save
830
+ _tmp = match_string("$")
831
+ break if _tmp
832
+ self.pos = _save
833
+ _tmp = match_string("%")
834
+ break if _tmp
835
+ self.pos = _save
836
+ _tmp = match_string("&")
837
+ break if _tmp
838
+ self.pos = _save
839
+ _tmp = match_string("'")
840
+ break if _tmp
841
+ self.pos = _save
842
+ _tmp = match_string("*")
843
+ break if _tmp
844
+ self.pos = _save
845
+ _tmp = match_string("+")
846
+ break if _tmp
847
+ self.pos = _save
848
+ _tmp = match_string("-")
849
+ break if _tmp
850
+ self.pos = _save
851
+ _tmp = match_string("/")
852
+ break if _tmp
853
+ self.pos = _save
854
+ _tmp = match_string("=")
855
+ break if _tmp
856
+ self.pos = _save
857
+ _tmp = match_string("?")
858
+ break if _tmp
859
+ self.pos = _save
860
+ _tmp = match_string("^")
861
+ break if _tmp
862
+ self.pos = _save
863
+ _tmp = match_string("_")
864
+ break if _tmp
865
+ self.pos = _save
866
+ _tmp = match_string("`")
867
+ break if _tmp
868
+ self.pos = _save
869
+ _tmp = match_string("{")
870
+ break if _tmp
871
+ self.pos = _save
872
+ _tmp = match_string("|")
873
+ break if _tmp
874
+ self.pos = _save
875
+ _tmp = match_string("}")
876
+ break if _tmp
877
+ self.pos = _save
878
+ _tmp = match_string("~")
879
+ break if _tmp
880
+ self.pos = _save
881
+ break
842
882
  end # end choice
843
883
 
844
884
  set_failed_rule :_atext unless _tmp
@@ -850,41 +890,41 @@ class EmailAddressValidator::RFC2822Parser
850
890
 
851
891
  _save = self.pos
852
892
  while true # sequence
853
- _save1 = self.pos
854
- _tmp = apply(:_CFWS)
855
- unless _tmp
856
- _tmp = true
857
- self.pos = _save1
858
- end
859
- unless _tmp
860
- self.pos = _save
861
- break
862
- end
863
- _save2 = self.pos
864
- _tmp = apply(:_atext)
865
- if _tmp
866
- while true
867
- _tmp = apply(:_atext)
868
- break unless _tmp
893
+ _save1 = self.pos
894
+ _tmp = apply(:_CFWS)
895
+ unless _tmp
896
+ _tmp = true
897
+ self.pos = _save1
898
+ end
899
+ unless _tmp
900
+ self.pos = _save
901
+ break
902
+ end
903
+ _save2 = self.pos
904
+ _tmp = apply(:_atext)
905
+ if _tmp
906
+ while true
907
+ _tmp = apply(:_atext)
908
+ break unless _tmp
909
+ end
910
+ _tmp = true
911
+ else
912
+ self.pos = _save2
913
+ end
914
+ unless _tmp
915
+ self.pos = _save
916
+ break
917
+ end
918
+ _save3 = self.pos
919
+ _tmp = apply(:_CFWS)
920
+ unless _tmp
921
+ _tmp = true
922
+ self.pos = _save3
923
+ end
924
+ unless _tmp
925
+ self.pos = _save
869
926
  end
870
- _tmp = true
871
- else
872
- self.pos = _save2
873
- end
874
- unless _tmp
875
- self.pos = _save
876
927
  break
877
- end
878
- _save3 = self.pos
879
- _tmp = apply(:_CFWS)
880
- unless _tmp
881
- _tmp = true
882
- self.pos = _save3
883
- end
884
- unless _tmp
885
- self.pos = _save
886
- end
887
- break
888
928
  end # end sequence
889
929
 
890
930
  set_failed_rule :_atom unless _tmp
@@ -896,31 +936,31 @@ class EmailAddressValidator::RFC2822Parser
896
936
 
897
937
  _save = self.pos
898
938
  while true # sequence
899
- _save1 = self.pos
900
- _tmp = apply(:_CFWS)
901
- unless _tmp
902
- _tmp = true
903
- self.pos = _save1
904
- end
905
- unless _tmp
906
- self.pos = _save
907
- break
908
- end
909
- _tmp = apply(:_dot_hyphen_atom_hyphen_text)
910
- unless _tmp
911
- self.pos = _save
939
+ _save1 = self.pos
940
+ _tmp = apply(:_CFWS)
941
+ unless _tmp
942
+ _tmp = true
943
+ self.pos = _save1
944
+ end
945
+ unless _tmp
946
+ self.pos = _save
947
+ break
948
+ end
949
+ _tmp = apply(:_dot_hyphen_atom_hyphen_text)
950
+ unless _tmp
951
+ self.pos = _save
952
+ break
953
+ end
954
+ _save2 = self.pos
955
+ _tmp = apply(:_CFWS)
956
+ unless _tmp
957
+ _tmp = true
958
+ self.pos = _save2
959
+ end
960
+ unless _tmp
961
+ self.pos = _save
962
+ end
912
963
  break
913
- end
914
- _save2 = self.pos
915
- _tmp = apply(:_CFWS)
916
- unless _tmp
917
- _tmp = true
918
- self.pos = _save2
919
- end
920
- unless _tmp
921
- self.pos = _save
922
- end
923
- break
924
964
  end # end sequence
925
965
 
926
966
  set_failed_rule :_dot_hyphen_atom unless _tmp
@@ -932,54 +972,54 @@ class EmailAddressValidator::RFC2822Parser
932
972
 
933
973
  _save = self.pos
934
974
  while true # sequence
935
- _save1 = self.pos
936
- _tmp = apply(:_atext)
937
- if _tmp
938
- while true
939
- _tmp = apply(:_atext)
940
- break unless _tmp
975
+ _save1 = self.pos
976
+ _tmp = apply(:_atext)
977
+ if _tmp
978
+ while true
979
+ _tmp = apply(:_atext)
980
+ break unless _tmp
981
+ end
982
+ _tmp = true
983
+ else
984
+ self.pos = _save1
985
+ end
986
+ unless _tmp
987
+ self.pos = _save
988
+ break
941
989
  end
942
- _tmp = true
943
- else
944
- self.pos = _save1
945
- end
946
- unless _tmp
947
- self.pos = _save
948
- break
949
- end
950
- while true
951
-
952
- _save3 = self.pos
953
- while true # sequence
954
- _tmp = match_string(".")
955
- unless _tmp
956
- self.pos = _save3
957
- break
958
- end
959
- _save4 = self.pos
960
- _tmp = apply(:_atext)
961
- if _tmp
962
990
  while true
963
- _tmp = apply(:_atext)
991
+
992
+ _save3 = self.pos
993
+ while true # sequence
994
+ _tmp = match_string(".")
995
+ unless _tmp
996
+ self.pos = _save3
997
+ break
998
+ end
999
+ _save4 = self.pos
1000
+ _tmp = apply(:_atext)
1001
+ if _tmp
1002
+ while true
1003
+ _tmp = apply(:_atext)
1004
+ break unless _tmp
1005
+ end
1006
+ _tmp = true
1007
+ else
1008
+ self.pos = _save4
1009
+ end
1010
+ unless _tmp
1011
+ self.pos = _save3
1012
+ end
1013
+ break
1014
+ end # end sequence
1015
+
964
1016
  break unless _tmp
965
1017
  end
966
1018
  _tmp = true
967
- else
968
- self.pos = _save4
969
- end
970
- unless _tmp
971
- self.pos = _save3
972
- end
973
- break
974
- end # end sequence
975
-
976
- break unless _tmp
977
- end
978
- _tmp = true
979
- unless _tmp
980
- self.pos = _save
981
- end
982
- break
1019
+ unless _tmp
1020
+ self.pos = _save
1021
+ end
1022
+ break
983
1023
  end # end sequence
984
1024
 
985
1025
  set_failed_rule :_dot_hyphen_atom_hyphen_text unless _tmp
@@ -991,19 +1031,19 @@ class EmailAddressValidator::RFC2822Parser
991
1031
 
992
1032
  _save = self.pos
993
1033
  while true # choice
994
- _tmp = apply(:_NO_hyphen_WS_hyphen_CTL)
995
- break if _tmp
996
- self.pos = _save
997
- _tmp = _d(33)
998
- break if _tmp
999
- self.pos = _save
1000
- _tmp = _d_btw(35,91)
1001
- break if _tmp
1002
- self.pos = _save
1003
- _tmp = _d_btw(93,126)
1004
- break if _tmp
1005
- self.pos = _save
1006
- break
1034
+ _tmp = apply(:_NO_hyphen_WS_hyphen_CTL)
1035
+ break if _tmp
1036
+ self.pos = _save
1037
+ _tmp = apply_with_args(:_d, 33)
1038
+ break if _tmp
1039
+ self.pos = _save
1040
+ _tmp = apply_with_args(:_d_btw, 35,91)
1041
+ break if _tmp
1042
+ self.pos = _save
1043
+ _tmp = apply_with_args(:_d_btw, 93,126)
1044
+ break if _tmp
1045
+ self.pos = _save
1046
+ break
1007
1047
  end # end choice
1008
1048
 
1009
1049
  set_failed_rule :_qtext unless _tmp
@@ -1015,13 +1055,13 @@ class EmailAddressValidator::RFC2822Parser
1015
1055
 
1016
1056
  _save = self.pos
1017
1057
  while true # choice
1018
- _tmp = apply(:_qtext)
1019
- break if _tmp
1020
- self.pos = _save
1021
- _tmp = apply(:_quoted_hyphen_pair)
1022
- break if _tmp
1023
- self.pos = _save
1024
- break
1058
+ _tmp = apply(:_qtext)
1059
+ break if _tmp
1060
+ self.pos = _save
1061
+ _tmp = apply(:_quoted_hyphen_pair)
1062
+ break if _tmp
1063
+ self.pos = _save
1064
+ break
1025
1065
  end # end choice
1026
1066
 
1027
1067
  set_failed_rule :_qcontent unless _tmp
@@ -1033,74 +1073,74 @@ class EmailAddressValidator::RFC2822Parser
1033
1073
 
1034
1074
  _save = self.pos
1035
1075
  while true # sequence
1036
- _save1 = self.pos
1037
- _tmp = apply(:_CFWS)
1038
- unless _tmp
1039
- _tmp = true
1040
- self.pos = _save1
1041
- end
1042
- unless _tmp
1043
- self.pos = _save
1044
- break
1045
- end
1046
- _tmp = match_string("\"")
1047
- unless _tmp
1048
- self.pos = _save
1049
- break
1050
- end
1051
- while true
1076
+ _save1 = self.pos
1077
+ _tmp = apply(:_CFWS)
1078
+ unless _tmp
1079
+ _tmp = true
1080
+ self.pos = _save1
1081
+ end
1082
+ unless _tmp
1083
+ self.pos = _save
1084
+ break
1085
+ end
1086
+ _tmp = match_string("\"")
1087
+ unless _tmp
1088
+ self.pos = _save
1089
+ break
1090
+ end
1091
+ while true
1052
1092
 
1053
- _save3 = self.pos
1054
- while true # sequence
1055
- _save4 = self.pos
1056
- _tmp = apply(:_FWS)
1057
- unless _tmp
1058
- _tmp = true
1059
- self.pos = _save4
1060
- end
1061
- unless _tmp
1062
- self.pos = _save3
1063
- break
1064
- end
1065
- _tmp = apply(:_qcontent)
1066
- unless _tmp
1067
- self.pos = _save3
1068
- end
1069
- break
1070
- end # end sequence
1093
+ _save3 = self.pos
1094
+ while true # sequence
1095
+ _save4 = self.pos
1096
+ _tmp = apply(:_FWS)
1097
+ unless _tmp
1098
+ _tmp = true
1099
+ self.pos = _save4
1100
+ end
1101
+ unless _tmp
1102
+ self.pos = _save3
1103
+ break
1104
+ end
1105
+ _tmp = apply(:_qcontent)
1106
+ unless _tmp
1107
+ self.pos = _save3
1108
+ end
1109
+ break
1110
+ end # end sequence
1071
1111
 
1072
- break unless _tmp
1073
- end
1074
- _tmp = true
1075
- unless _tmp
1076
- self.pos = _save
1077
- break
1078
- end
1079
- _save5 = self.pos
1080
- _tmp = apply(:_FWS)
1081
- unless _tmp
1112
+ break unless _tmp
1113
+ end
1082
1114
  _tmp = true
1083
- self.pos = _save5
1084
- end
1085
- unless _tmp
1086
- self.pos = _save
1087
- break
1088
- end
1089
- _tmp = match_string("\"")
1090
- unless _tmp
1091
- self.pos = _save
1115
+ unless _tmp
1116
+ self.pos = _save
1117
+ break
1118
+ end
1119
+ _save5 = self.pos
1120
+ _tmp = apply(:_FWS)
1121
+ unless _tmp
1122
+ _tmp = true
1123
+ self.pos = _save5
1124
+ end
1125
+ unless _tmp
1126
+ self.pos = _save
1127
+ break
1128
+ end
1129
+ _tmp = match_string("\"")
1130
+ unless _tmp
1131
+ self.pos = _save
1132
+ break
1133
+ end
1134
+ _save6 = self.pos
1135
+ _tmp = apply(:_CFWS)
1136
+ unless _tmp
1137
+ _tmp = true
1138
+ self.pos = _save6
1139
+ end
1140
+ unless _tmp
1141
+ self.pos = _save
1142
+ end
1092
1143
  break
1093
- end
1094
- _save6 = self.pos
1095
- _tmp = apply(:_CFWS)
1096
- unless _tmp
1097
- _tmp = true
1098
- self.pos = _save6
1099
- end
1100
- unless _tmp
1101
- self.pos = _save
1102
- end
1103
- break
1104
1144
  end # end sequence
1105
1145
 
1106
1146
  set_failed_rule :_quoted_hyphen_string unless _tmp
@@ -1112,13 +1152,13 @@ class EmailAddressValidator::RFC2822Parser
1112
1152
 
1113
1153
  _save = self.pos
1114
1154
  while true # choice
1115
- _tmp = apply(:_atom)
1116
- break if _tmp
1117
- self.pos = _save
1118
- _tmp = apply(:_quoted_hyphen_string)
1119
- break if _tmp
1120
- self.pos = _save
1121
- break
1155
+ _tmp = apply(:_atom)
1156
+ break if _tmp
1157
+ self.pos = _save
1158
+ _tmp = apply(:_quoted_hyphen_string)
1159
+ break if _tmp
1160
+ self.pos = _save
1161
+ break
1122
1162
  end # end choice
1123
1163
 
1124
1164
  set_failed_rule :_word unless _tmp
@@ -1130,23 +1170,23 @@ class EmailAddressValidator::RFC2822Parser
1130
1170
 
1131
1171
  _save = self.pos
1132
1172
  while true # choice
1133
- _save1 = self.pos
1134
- _tmp = apply(:_word)
1135
- if _tmp
1136
- while true
1137
- _tmp = apply(:_word)
1138
- break unless _tmp
1173
+ _save1 = self.pos
1174
+ _tmp = apply(:_word)
1175
+ if _tmp
1176
+ while true
1177
+ _tmp = apply(:_word)
1178
+ break unless _tmp
1179
+ end
1180
+ _tmp = true
1181
+ else
1182
+ self.pos = _save1
1139
1183
  end
1140
- _tmp = true
1141
- else
1142
- self.pos = _save1
1143
- end
1144
- break if _tmp
1145
- self.pos = _save
1146
- _tmp = apply(:_obs_hyphen_phrase)
1147
- break if _tmp
1148
- self.pos = _save
1149
- break
1184
+ break if _tmp
1185
+ self.pos = _save
1186
+ _tmp = apply(:_obs_hyphen_phrase)
1187
+ break if _tmp
1188
+ self.pos = _save
1189
+ break
1150
1190
  end # end choice
1151
1191
 
1152
1192
  set_failed_rule :_phrase unless _tmp
@@ -1158,16 +1198,16 @@ class EmailAddressValidator::RFC2822Parser
1158
1198
 
1159
1199
  _save = self.pos
1160
1200
  while true # choice
1161
- _tmp = apply(:_NO_hyphen_WS_hyphen_CTL)
1162
- break if _tmp
1163
- self.pos = _save
1164
- _tmp = _d_btw(33,126)
1165
- break if _tmp
1166
- self.pos = _save
1167
- _tmp = apply(:_obs_hyphen_utext)
1168
- break if _tmp
1169
- self.pos = _save
1170
- break
1201
+ _tmp = apply(:_NO_hyphen_WS_hyphen_CTL)
1202
+ break if _tmp
1203
+ self.pos = _save
1204
+ _tmp = apply_with_args(:_d_btw, 33,126)
1205
+ break if _tmp
1206
+ self.pos = _save
1207
+ _tmp = apply(:_obs_hyphen_utext)
1208
+ break if _tmp
1209
+ self.pos = _save
1210
+ break
1171
1211
  end # end choice
1172
1212
 
1173
1213
  set_failed_rule :_utext unless _tmp
@@ -1179,44 +1219,44 @@ class EmailAddressValidator::RFC2822Parser
1179
1219
 
1180
1220
  _save = self.pos
1181
1221
  while true # sequence
1182
- while true
1222
+ while true
1183
1223
 
1184
- _save2 = self.pos
1185
- while true # sequence
1186
- _save3 = self.pos
1187
- _tmp = apply(:_FWS)
1188
- unless _tmp
1189
- _tmp = true
1190
- self.pos = _save3
1191
- end
1192
- unless _tmp
1193
- self.pos = _save2
1194
- break
1195
- end
1196
- _tmp = apply(:_utext)
1197
- unless _tmp
1198
- self.pos = _save2
1199
- end
1200
- break
1201
- end # end sequence
1224
+ _save2 = self.pos
1225
+ while true # sequence
1226
+ _save3 = self.pos
1227
+ _tmp = apply(:_FWS)
1228
+ unless _tmp
1229
+ _tmp = true
1230
+ self.pos = _save3
1231
+ end
1232
+ unless _tmp
1233
+ self.pos = _save2
1234
+ break
1235
+ end
1236
+ _tmp = apply(:_utext)
1237
+ unless _tmp
1238
+ self.pos = _save2
1239
+ end
1240
+ break
1241
+ end # end sequence
1202
1242
 
1203
- break unless _tmp
1204
- end
1205
- _tmp = true
1206
- unless _tmp
1207
- self.pos = _save
1208
- break
1209
- end
1210
- _save4 = self.pos
1211
- _tmp = apply(:_FWS)
1212
- unless _tmp
1243
+ break unless _tmp
1244
+ end
1213
1245
  _tmp = true
1214
- self.pos = _save4
1215
- end
1216
- unless _tmp
1217
- self.pos = _save
1218
- end
1219
- break
1246
+ unless _tmp
1247
+ self.pos = _save
1248
+ break
1249
+ end
1250
+ _save4 = self.pos
1251
+ _tmp = apply(:_FWS)
1252
+ unless _tmp
1253
+ _tmp = true
1254
+ self.pos = _save4
1255
+ end
1256
+ unless _tmp
1257
+ self.pos = _save
1258
+ end
1259
+ break
1220
1260
  end # end sequence
1221
1261
 
1222
1262
  set_failed_rule :_unstructured unless _tmp
@@ -1228,13 +1268,13 @@ class EmailAddressValidator::RFC2822Parser
1228
1268
 
1229
1269
  _save = self.pos
1230
1270
  while true # choice
1231
- _tmp = apply(:_mailbox)
1232
- break if _tmp
1233
- self.pos = _save
1234
- _tmp = apply(:_group)
1235
- break if _tmp
1236
- self.pos = _save
1237
- break
1271
+ _tmp = apply(:_mailbox)
1272
+ break if _tmp
1273
+ self.pos = _save
1274
+ _tmp = apply(:_group)
1275
+ break if _tmp
1276
+ self.pos = _save
1277
+ break
1238
1278
  end # end choice
1239
1279
 
1240
1280
  set_failed_rule :_address unless _tmp
@@ -1246,13 +1286,13 @@ class EmailAddressValidator::RFC2822Parser
1246
1286
 
1247
1287
  _save = self.pos
1248
1288
  while true # choice
1249
- _tmp = apply(:_name_hyphen_addr)
1250
- break if _tmp
1251
- self.pos = _save
1252
- _tmp = apply(:_addr_hyphen_spec)
1253
- break if _tmp
1254
- self.pos = _save
1255
- break
1289
+ _tmp = apply(:_name_hyphen_addr)
1290
+ break if _tmp
1291
+ self.pos = _save
1292
+ _tmp = apply(:_addr_hyphen_spec)
1293
+ break if _tmp
1294
+ self.pos = _save
1295
+ break
1256
1296
  end # end choice
1257
1297
 
1258
1298
  set_failed_rule :_mailbox unless _tmp
@@ -1264,21 +1304,21 @@ class EmailAddressValidator::RFC2822Parser
1264
1304
 
1265
1305
  _save = self.pos
1266
1306
  while true # sequence
1267
- _save1 = self.pos
1268
- _tmp = apply(:_display_hyphen_name)
1269
- unless _tmp
1270
- _tmp = true
1271
- self.pos = _save1
1272
- end
1273
- unless _tmp
1274
- self.pos = _save
1307
+ _save1 = self.pos
1308
+ _tmp = apply(:_display_hyphen_name)
1309
+ unless _tmp
1310
+ _tmp = true
1311
+ self.pos = _save1
1312
+ end
1313
+ unless _tmp
1314
+ self.pos = _save
1315
+ break
1316
+ end
1317
+ _tmp = apply(:_angle_hyphen_addr)
1318
+ unless _tmp
1319
+ self.pos = _save
1320
+ end
1275
1321
  break
1276
- end
1277
- _tmp = apply(:_angle_hyphen_addr)
1278
- unless _tmp
1279
- self.pos = _save
1280
- end
1281
- break
1282
1322
  end # end sequence
1283
1323
 
1284
1324
  set_failed_rule :_name_hyphen_addr unless _tmp
@@ -1291,51 +1331,51 @@ class EmailAddressValidator::RFC2822Parser
1291
1331
  _save = self.pos
1292
1332
  while true # choice
1293
1333
 
1294
- _save1 = self.pos
1295
- while true # sequence
1296
- _save2 = self.pos
1297
- _tmp = apply(:_CFWS)
1298
- unless _tmp
1299
- _tmp = true
1300
- self.pos = _save2
1301
- end
1302
- unless _tmp
1303
- self.pos = _save1
1304
- break
1305
- end
1306
- _tmp = match_string("<")
1307
- unless _tmp
1308
- self.pos = _save1
1309
- break
1310
- end
1311
- _tmp = apply(:_addr_hyphen_spec)
1312
- unless _tmp
1313
- self.pos = _save1
1314
- break
1315
- end
1316
- _tmp = match_string(">")
1317
- unless _tmp
1318
- self.pos = _save1
1319
- break
1320
- end
1321
- _save3 = self.pos
1322
- _tmp = apply(:_CFWS)
1323
- unless _tmp
1324
- _tmp = true
1325
- self.pos = _save3
1326
- end
1327
- unless _tmp
1328
- self.pos = _save1
1329
- end
1330
- break
1331
- end # end sequence
1334
+ _save1 = self.pos
1335
+ while true # sequence
1336
+ _save2 = self.pos
1337
+ _tmp = apply(:_CFWS)
1338
+ unless _tmp
1339
+ _tmp = true
1340
+ self.pos = _save2
1341
+ end
1342
+ unless _tmp
1343
+ self.pos = _save1
1344
+ break
1345
+ end
1346
+ _tmp = match_string("<")
1347
+ unless _tmp
1348
+ self.pos = _save1
1349
+ break
1350
+ end
1351
+ _tmp = apply(:_addr_hyphen_spec)
1352
+ unless _tmp
1353
+ self.pos = _save1
1354
+ break
1355
+ end
1356
+ _tmp = match_string(">")
1357
+ unless _tmp
1358
+ self.pos = _save1
1359
+ break
1360
+ end
1361
+ _save3 = self.pos
1362
+ _tmp = apply(:_CFWS)
1363
+ unless _tmp
1364
+ _tmp = true
1365
+ self.pos = _save3
1366
+ end
1367
+ unless _tmp
1368
+ self.pos = _save1
1369
+ end
1370
+ break
1371
+ end # end sequence
1332
1372
 
1333
- break if _tmp
1334
- self.pos = _save
1335
- _tmp = apply(:_obs_hyphen_angle_hyphen_addr)
1336
- break if _tmp
1337
- self.pos = _save
1338
- break
1373
+ break if _tmp
1374
+ self.pos = _save
1375
+ _tmp = apply(:_obs_hyphen_angle_hyphen_addr)
1376
+ break if _tmp
1377
+ self.pos = _save
1378
+ break
1339
1379
  end # end choice
1340
1380
 
1341
1381
  set_failed_rule :_angle_hyphen_addr unless _tmp
@@ -1347,52 +1387,52 @@ class EmailAddressValidator::RFC2822Parser
1347
1387
 
1348
1388
  _save = self.pos
1349
1389
  while true # sequence
1350
- _tmp = apply(:_display_hyphen_name)
1351
- unless _tmp
1352
- self.pos = _save
1353
- break
1354
- end
1355
- _tmp = match_string(":")
1356
- unless _tmp
1357
- self.pos = _save
1358
- break
1359
- end
1360
- _save1 = self.pos
1361
-
1362
- _save2 = self.pos
1363
- while true # choice
1364
- _tmp = apply(:_mailbox_hyphen_list)
1365
- break if _tmp
1366
- self.pos = _save2
1367
- _tmp = apply(:_CFWS)
1368
- break if _tmp
1369
- self.pos = _save2
1370
- break
1371
- end # end choice
1372
-
1373
- unless _tmp
1374
- _tmp = true
1375
- self.pos = _save1
1376
- end
1377
- unless _tmp
1378
- self.pos = _save
1379
- break
1380
- end
1381
- _tmp = match_string(";")
1382
- unless _tmp
1383
- self.pos = _save
1390
+ _tmp = apply(:_display_hyphen_name)
1391
+ unless _tmp
1392
+ self.pos = _save
1393
+ break
1394
+ end
1395
+ _tmp = match_string(":")
1396
+ unless _tmp
1397
+ self.pos = _save
1398
+ break
1399
+ end
1400
+ _save1 = self.pos
1401
+
1402
+ _save2 = self.pos
1403
+ while true # choice
1404
+ _tmp = apply(:_mailbox_hyphen_list)
1405
+ break if _tmp
1406
+ self.pos = _save2
1407
+ _tmp = apply(:_CFWS)
1408
+ break if _tmp
1409
+ self.pos = _save2
1410
+ break
1411
+ end # end choice
1412
+
1413
+ unless _tmp
1414
+ _tmp = true
1415
+ self.pos = _save1
1416
+ end
1417
+ unless _tmp
1418
+ self.pos = _save
1419
+ break
1420
+ end
1421
+ _tmp = match_string(";")
1422
+ unless _tmp
1423
+ self.pos = _save
1424
+ break
1425
+ end
1426
+ _save3 = self.pos
1427
+ _tmp = apply(:_CFWS)
1428
+ unless _tmp
1429
+ _tmp = true
1430
+ self.pos = _save3
1431
+ end
1432
+ unless _tmp
1433
+ self.pos = _save
1434
+ end
1384
1435
  break
1385
- end
1386
- _save3 = self.pos
1387
- _tmp = apply(:_CFWS)
1388
- unless _tmp
1389
- _tmp = true
1390
- self.pos = _save3
1391
- end
1392
- unless _tmp
1393
- self.pos = _save
1394
- end
1395
- break
1396
1436
  end # end sequence
1397
1437
 
1398
1438
  set_failed_rule :_group unless _tmp
@@ -1412,44 +1452,44 @@ class EmailAddressValidator::RFC2822Parser
1412
1452
  _save = self.pos
1413
1453
  while true # choice
1414
1454
 
1415
- _save1 = self.pos
1416
- while true # sequence
1417
- _tmp = apply(:_mailbox)
1418
- unless _tmp
1419
- self.pos = _save1
1420
- break
1421
- end
1422
- while true
1455
+ _save1 = self.pos
1456
+ while true # sequence
1457
+ _tmp = apply(:_mailbox)
1458
+ unless _tmp
1459
+ self.pos = _save1
1460
+ break
1461
+ end
1462
+ while true
1463
+
1464
+ _save3 = self.pos
1465
+ while true # sequence
1466
+ _tmp = match_string(",")
1467
+ unless _tmp
1468
+ self.pos = _save3
1469
+ break
1470
+ end
1471
+ _tmp = apply(:_mailbox)
1472
+ unless _tmp
1473
+ self.pos = _save3
1474
+ end
1475
+ break
1476
+ end # end sequence
1477
+
1478
+ break unless _tmp
1479
+ end
1480
+ _tmp = true
1481
+ unless _tmp
1482
+ self.pos = _save1
1483
+ end
1484
+ break
1485
+ end # end sequence
1423
1486
 
1424
- _save3 = self.pos
1425
- while true # sequence
1426
- _tmp = match_string(",")
1427
- unless _tmp
1428
- self.pos = _save3
1487
+ break if _tmp
1488
+ self.pos = _save
1489
+ _tmp = apply(:_obs_hyphen_mbox_hyphen_list)
1490
+ break if _tmp
1491
+ self.pos = _save
1429
1492
  break
1430
- end
1431
- _tmp = apply(:_mailbox)
1432
- unless _tmp
1433
- self.pos = _save3
1434
- end
1435
- break
1436
- end # end sequence
1437
-
1438
- break unless _tmp
1439
- end
1440
- _tmp = true
1441
- unless _tmp
1442
- self.pos = _save1
1443
- end
1444
- break
1445
- end # end sequence
1446
-
1447
- break if _tmp
1448
- self.pos = _save
1449
- _tmp = apply(:_obs_hyphen_mbox_hyphen_list)
1450
- break if _tmp
1451
- self.pos = _save
1452
- break
1453
1493
  end # end choice
1454
1494
 
1455
1495
  set_failed_rule :_mailbox_hyphen_list unless _tmp
@@ -1462,44 +1502,44 @@ class EmailAddressValidator::RFC2822Parser
1462
1502
  _save = self.pos
1463
1503
  while true # choice
1464
1504
 
1465
- _save1 = self.pos
1466
- while true # sequence
1467
- _tmp = apply(:_address)
1468
- unless _tmp
1469
- self.pos = _save1
1470
- break
1471
- end
1472
- while true
1505
+ _save1 = self.pos
1506
+ while true # sequence
1507
+ _tmp = apply(:_address)
1508
+ unless _tmp
1509
+ self.pos = _save1
1510
+ break
1511
+ end
1512
+ while true
1513
+
1514
+ _save3 = self.pos
1515
+ while true # sequence
1516
+ _tmp = match_string(",")
1517
+ unless _tmp
1518
+ self.pos = _save3
1519
+ break
1520
+ end
1521
+ _tmp = apply(:_address)
1522
+ unless _tmp
1523
+ self.pos = _save3
1524
+ end
1525
+ break
1526
+ end # end sequence
1527
+
1528
+ break unless _tmp
1529
+ end
1530
+ _tmp = true
1531
+ unless _tmp
1532
+ self.pos = _save1
1533
+ end
1534
+ break
1535
+ end # end sequence
1473
1536
 
1474
- _save3 = self.pos
1475
- while true # sequence
1476
- _tmp = match_string(",")
1477
- unless _tmp
1478
- self.pos = _save3
1537
+ break if _tmp
1538
+ self.pos = _save
1539
+ _tmp = apply(:_obs_hyphen_addr_hyphen_list)
1540
+ break if _tmp
1541
+ self.pos = _save
1479
1542
  break
1480
- end
1481
- _tmp = apply(:_address)
1482
- unless _tmp
1483
- self.pos = _save3
1484
- end
1485
- break
1486
- end # end sequence
1487
-
1488
- break unless _tmp
1489
- end
1490
- _tmp = true
1491
- unless _tmp
1492
- self.pos = _save1
1493
- end
1494
- break
1495
- end # end sequence
1496
-
1497
- break if _tmp
1498
- self.pos = _save
1499
- _tmp = apply(:_obs_hyphen_addr_hyphen_list)
1500
- break if _tmp
1501
- self.pos = _save
1502
- break
1503
1543
  end # end choice
1504
1544
 
1505
1545
  set_failed_rule :_address_hyphen_list unless _tmp
@@ -1511,21 +1551,21 @@ class EmailAddressValidator::RFC2822Parser
1511
1551
 
1512
1552
  _save = self.pos
1513
1553
  while true # sequence
1514
- _tmp = apply(:_local_hyphen_part)
1515
- unless _tmp
1516
- self.pos = _save
1517
- break
1518
- end
1519
- _tmp = match_string("@")
1520
- unless _tmp
1521
- self.pos = _save
1554
+ _tmp = apply(:_local_hyphen_part)
1555
+ unless _tmp
1556
+ self.pos = _save
1557
+ break
1558
+ end
1559
+ _tmp = match_string("@")
1560
+ unless _tmp
1561
+ self.pos = _save
1562
+ break
1563
+ end
1564
+ _tmp = apply(:_domain)
1565
+ unless _tmp
1566
+ self.pos = _save
1567
+ end
1522
1568
  break
1523
- end
1524
- _tmp = apply(:_domain)
1525
- unless _tmp
1526
- self.pos = _save
1527
- end
1528
- break
1529
1569
  end # end sequence
1530
1570
 
1531
1571
  set_failed_rule :_addr_hyphen_spec unless _tmp
@@ -1537,17 +1577,17 @@ class EmailAddressValidator::RFC2822Parser
1537
1577
 
1538
1578
  _save = self.pos
1539
1579
  while true # choice
1540
- _tmp = apply(:_dot_hyphen_atom)
1541
- break if _tmp
1542
- self.pos = _save
1543
- _tmp = apply(:_quoted_hyphen_string)
1544
- break if _tmp
1545
- self.pos = _save
1546
- _tmp = apply(:_obs_hyphen_local_hyphen_part)
1547
- break if _tmp
1548
- self.pos = _save
1549
- break
1550
- end # end choice
1580
+ _tmp = apply(:_dot_hyphen_atom)
1581
+ break if _tmp
1582
+ self.pos = _save
1583
+ _tmp = apply(:_quoted_hyphen_string)
1584
+ break if _tmp
1585
+ self.pos = _save
1586
+ _tmp = apply(:_obs_hyphen_local_hyphen_part)
1587
+ break if _tmp
1588
+ self.pos = _save
1589
+ break
1590
+ end # end choice
1551
1591
 
1552
1592
  set_failed_rule :_local_hyphen_part unless _tmp
1553
1593
  return _tmp
@@ -1559,55 +1599,55 @@ class EmailAddressValidator::RFC2822Parser
1559
1599
  _save = self.pos
1560
1600
  while true # choice
1561
1601
 
1562
- _save1 = self.pos
1563
- while true # sequence
1564
- _text_start = self.pos
1565
- _tmp = apply(:_dot_hyphen_atom)
1566
- if _tmp
1567
- text = get_text(_text_start)
1568
- end
1569
- unless _tmp
1570
- self.pos = _save1
1571
- break
1572
- end
1573
- _save2 = self.pos
1574
- _tmp = begin; @validate_domain ? EmailAddressValidator::DomainParser.new(text).parse : true ; end
1575
- self.pos = _save2
1576
- unless _tmp
1577
- self.pos = _save1
1578
- end
1579
- break
1580
- end # end sequence
1602
+ _save1 = self.pos
1603
+ while true # sequence
1604
+ _text_start = self.pos
1605
+ _tmp = apply(:_dot_hyphen_atom)
1606
+ if _tmp
1607
+ text = get_text(_text_start)
1608
+ end
1609
+ unless _tmp
1610
+ self.pos = _save1
1611
+ break
1612
+ end
1613
+ _save2 = self.pos
1614
+ _tmp = begin; @validate_domain ? EmailAddressValidator::DomainParser.new(text).parse : true ; end
1615
+ self.pos = _save2
1616
+ unless _tmp
1617
+ self.pos = _save1
1618
+ end
1619
+ break
1620
+ end # end sequence
1581
1621
 
1582
- break if _tmp
1583
- self.pos = _save
1584
- _tmp = apply(:_domain_hyphen_literal)
1585
- break if _tmp
1586
- self.pos = _save
1622
+ break if _tmp
1623
+ self.pos = _save
1624
+ _tmp = apply(:_domain_hyphen_literal)
1625
+ break if _tmp
1626
+ self.pos = _save
1587
1627
 
1588
- _save3 = self.pos
1589
- while true # sequence
1590
- _text_start = self.pos
1591
- _tmp = apply(:_obs_hyphen_domain)
1592
- if _tmp
1593
- text = get_text(_text_start)
1594
- end
1595
- unless _tmp
1596
- self.pos = _save3
1597
- break
1598
- end
1599
- _save4 = self.pos
1600
- _tmp = begin; @validate_domain ? EmailAddressValidator::DomainParser.new(text).parse : true ; end
1601
- self.pos = _save4
1602
- unless _tmp
1603
- self.pos = _save3
1604
- end
1605
- break
1606
- end # end sequence
1628
+ _save3 = self.pos
1629
+ while true # sequence
1630
+ _text_start = self.pos
1631
+ _tmp = apply(:_obs_hyphen_domain)
1632
+ if _tmp
1633
+ text = get_text(_text_start)
1634
+ end
1635
+ unless _tmp
1636
+ self.pos = _save3
1637
+ break
1638
+ end
1639
+ _save4 = self.pos
1640
+ _tmp = begin; @validate_domain ? EmailAddressValidator::DomainParser.new(text).parse : true ; end
1641
+ self.pos = _save4
1642
+ unless _tmp
1643
+ self.pos = _save3
1644
+ end
1645
+ break
1646
+ end # end sequence
1607
1647
 
1608
- break if _tmp
1609
- self.pos = _save
1610
- break
1648
+ break if _tmp
1649
+ self.pos = _save
1650
+ break
1611
1651
  end # end choice
1612
1652
 
1613
1653
  set_failed_rule :_domain unless _tmp
@@ -1619,74 +1659,74 @@ class EmailAddressValidator::RFC2822Parser
1619
1659
 
1620
1660
  _save = self.pos
1621
1661
  while true # sequence
1622
- _save1 = self.pos
1623
- _tmp = apply(:_CFWS)
1624
- unless _tmp
1625
- _tmp = true
1626
- self.pos = _save1
1627
- end
1628
- unless _tmp
1629
- self.pos = _save
1630
- break
1631
- end
1632
- _tmp = match_string("[")
1633
- unless _tmp
1634
- self.pos = _save
1635
- break
1636
- end
1637
- while true
1662
+ _save1 = self.pos
1663
+ _tmp = apply(:_CFWS)
1664
+ unless _tmp
1665
+ _tmp = true
1666
+ self.pos = _save1
1667
+ end
1668
+ unless _tmp
1669
+ self.pos = _save
1670
+ break
1671
+ end
1672
+ _tmp = match_string("[")
1673
+ unless _tmp
1674
+ self.pos = _save
1675
+ break
1676
+ end
1677
+ while true
1638
1678
 
1639
- _save3 = self.pos
1640
- while true # sequence
1641
- _save4 = self.pos
1642
- _tmp = apply(:_FWS)
1643
- unless _tmp
1644
- _tmp = true
1645
- self.pos = _save4
1646
- end
1647
- unless _tmp
1648
- self.pos = _save3
1649
- break
1650
- end
1651
- _tmp = apply(:_dcontent)
1652
- unless _tmp
1653
- self.pos = _save3
1654
- end
1655
- break
1656
- end # end sequence
1679
+ _save3 = self.pos
1680
+ while true # sequence
1681
+ _save4 = self.pos
1682
+ _tmp = apply(:_FWS)
1683
+ unless _tmp
1684
+ _tmp = true
1685
+ self.pos = _save4
1686
+ end
1687
+ unless _tmp
1688
+ self.pos = _save3
1689
+ break
1690
+ end
1691
+ _tmp = apply(:_dcontent)
1692
+ unless _tmp
1693
+ self.pos = _save3
1694
+ end
1695
+ break
1696
+ end # end sequence
1657
1697
 
1658
- break unless _tmp
1659
- end
1660
- _tmp = true
1661
- unless _tmp
1662
- self.pos = _save
1663
- break
1664
- end
1665
- _save5 = self.pos
1666
- _tmp = apply(:_FWS)
1667
- unless _tmp
1698
+ break unless _tmp
1699
+ end
1668
1700
  _tmp = true
1669
- self.pos = _save5
1670
- end
1671
- unless _tmp
1672
- self.pos = _save
1673
- break
1674
- end
1675
- _tmp = match_string("]")
1676
- unless _tmp
1677
- self.pos = _save
1701
+ unless _tmp
1702
+ self.pos = _save
1703
+ break
1704
+ end
1705
+ _save5 = self.pos
1706
+ _tmp = apply(:_FWS)
1707
+ unless _tmp
1708
+ _tmp = true
1709
+ self.pos = _save5
1710
+ end
1711
+ unless _tmp
1712
+ self.pos = _save
1713
+ break
1714
+ end
1715
+ _tmp = match_string("]")
1716
+ unless _tmp
1717
+ self.pos = _save
1718
+ break
1719
+ end
1720
+ _save6 = self.pos
1721
+ _tmp = apply(:_CFWS)
1722
+ unless _tmp
1723
+ _tmp = true
1724
+ self.pos = _save6
1725
+ end
1726
+ unless _tmp
1727
+ self.pos = _save
1728
+ end
1678
1729
  break
1679
- end
1680
- _save6 = self.pos
1681
- _tmp = apply(:_CFWS)
1682
- unless _tmp
1683
- _tmp = true
1684
- self.pos = _save6
1685
- end
1686
- unless _tmp
1687
- self.pos = _save
1688
- end
1689
- break
1690
1730
  end # end sequence
1691
1731
 
1692
1732
  set_failed_rule :_domain_hyphen_literal unless _tmp
@@ -1698,13 +1738,13 @@ class EmailAddressValidator::RFC2822Parser
1698
1738
 
1699
1739
  _save = self.pos
1700
1740
  while true # choice
1701
- _tmp = apply(:_dtext)
1702
- break if _tmp
1703
- self.pos = _save
1704
- _tmp = apply(:_quoted_hyphen_pair)
1705
- break if _tmp
1706
- self.pos = _save
1707
- break
1741
+ _tmp = apply(:_dtext)
1742
+ break if _tmp
1743
+ self.pos = _save
1744
+ _tmp = apply(:_quoted_hyphen_pair)
1745
+ break if _tmp
1746
+ self.pos = _save
1747
+ break
1708
1748
  end # end choice
1709
1749
 
1710
1750
  set_failed_rule :_dcontent unless _tmp
@@ -1716,16 +1756,16 @@ class EmailAddressValidator::RFC2822Parser
1716
1756
 
1717
1757
  _save = self.pos
1718
1758
  while true # choice
1719
- _tmp = apply(:_NO_hyphen_WS_hyphen_CTL)
1720
- break if _tmp
1721
- self.pos = _save
1722
- _tmp = _d_btw(33,90)
1723
- break if _tmp
1724
- self.pos = _save
1725
- _tmp = _d_btw(94,126)
1726
- break if _tmp
1727
- self.pos = _save
1728
- break
1759
+ _tmp = apply(:_NO_hyphen_WS_hyphen_CTL)
1760
+ break if _tmp
1761
+ self.pos = _save
1762
+ _tmp = apply_with_args(:_d_btw, 33,90)
1763
+ break if _tmp
1764
+ self.pos = _save
1765
+ _tmp = apply_with_args(:_d_btw, 94,126)
1766
+ break if _tmp
1767
+ self.pos = _save
1768
+ break
1729
1769
  end # end choice
1730
1770
 
1731
1771
  set_failed_rule :_dtext unless _tmp
@@ -1737,16 +1777,16 @@ class EmailAddressValidator::RFC2822Parser
1737
1777
 
1738
1778
  _save = self.pos
1739
1779
  while true # sequence
1740
- _tmp = match_string("\\")
1741
- unless _tmp
1742
- self.pos = _save
1780
+ _tmp = match_string("\\")
1781
+ unless _tmp
1782
+ self.pos = _save
1783
+ break
1784
+ end
1785
+ _tmp = apply_with_args(:_d_btw, 0,127)
1786
+ unless _tmp
1787
+ self.pos = _save
1788
+ end
1743
1789
  break
1744
- end
1745
- _tmp = _d_btw(0,127)
1746
- unless _tmp
1747
- self.pos = _save
1748
- end
1749
- break
1750
1790
  end # end sequence
1751
1791
 
1752
1792
  set_failed_rule :_obs_hyphen_qp unless _tmp
@@ -1758,60 +1798,60 @@ class EmailAddressValidator::RFC2822Parser
1758
1798
 
1759
1799
  _save = self.pos
1760
1800
  while true # sequence
1761
- while true
1762
- _tmp = apply(:_LF)
1763
- break unless _tmp
1764
- end
1765
- _tmp = true
1766
- unless _tmp
1767
- self.pos = _save
1768
- break
1769
- end
1770
- while true
1771
- _tmp = apply(:_CR)
1772
- break unless _tmp
1773
- end
1774
- _tmp = true
1775
- unless _tmp
1776
- self.pos = _save
1777
- break
1778
- end
1779
- while true
1801
+ while true
1802
+ _tmp = apply(:_LF)
1803
+ break unless _tmp
1804
+ end
1805
+ _tmp = true
1806
+ unless _tmp
1807
+ self.pos = _save
1808
+ break
1809
+ end
1810
+ while true
1811
+ _tmp = apply(:_CR)
1812
+ break unless _tmp
1813
+ end
1814
+ _tmp = true
1815
+ unless _tmp
1816
+ self.pos = _save
1817
+ break
1818
+ end
1819
+ while true
1780
1820
 
1781
- _save4 = self.pos
1782
- while true # sequence
1783
- _tmp = apply(:_obs_hyphen_char)
1784
- unless _tmp
1785
- self.pos = _save4
1786
- break
1787
- end
1788
- while true
1789
- _tmp = apply(:_LF)
1790
- break unless _tmp
1791
- end
1792
- _tmp = true
1793
- unless _tmp
1794
- self.pos = _save4
1795
- break
1796
- end
1797
- while true
1798
- _tmp = apply(:_CR)
1799
- break unless _tmp
1800
- end
1801
- _tmp = true
1802
- unless _tmp
1803
- self.pos = _save4
1804
- end
1805
- break
1806
- end # end sequence
1821
+ _save4 = self.pos
1822
+ while true # sequence
1823
+ _tmp = apply(:_obs_hyphen_char)
1824
+ unless _tmp
1825
+ self.pos = _save4
1826
+ break
1827
+ end
1828
+ while true
1829
+ _tmp = apply(:_LF)
1830
+ break unless _tmp
1831
+ end
1832
+ _tmp = true
1833
+ unless _tmp
1834
+ self.pos = _save4
1835
+ break
1836
+ end
1837
+ while true
1838
+ _tmp = apply(:_CR)
1839
+ break unless _tmp
1840
+ end
1841
+ _tmp = true
1842
+ unless _tmp
1843
+ self.pos = _save4
1844
+ end
1845
+ break
1846
+ end # end sequence
1807
1847
 
1808
- break unless _tmp
1809
- end
1810
- _tmp = true
1811
- unless _tmp
1812
- self.pos = _save
1813
- end
1814
- break
1848
+ break unless _tmp
1849
+ end
1850
+ _tmp = true
1851
+ unless _tmp
1852
+ self.pos = _save
1853
+ end
1854
+ break
1815
1855
  end # end sequence
1816
1856
 
1817
1857
  set_failed_rule :_obs_hyphen_text unless _tmp
@@ -1823,19 +1863,19 @@ class EmailAddressValidator::RFC2822Parser
1823
1863
 
1824
1864
  _save = self.pos
1825
1865
  while true # choice
1826
- _tmp = _d_btw(0,9)
1827
- break if _tmp
1828
- self.pos = _save
1829
- _tmp = _d(11)
1830
- break if _tmp
1831
- self.pos = _save
1832
- _tmp = _d(12)
1833
- break if _tmp
1834
- self.pos = _save
1835
- _tmp = _d_btw(14,127)
1836
- break if _tmp
1837
- self.pos = _save
1838
- break
1866
+ _tmp = apply_with_args(:_d_btw, 0,9)
1867
+ break if _tmp
1868
+ self.pos = _save
1869
+ _tmp = apply_with_args(:_d, 11)
1870
+ break if _tmp
1871
+ self.pos = _save
1872
+ _tmp = apply_with_args(:_d, 12)
1873
+ break if _tmp
1874
+ self.pos = _save
1875
+ _tmp = apply_with_args(:_d_btw, 14,127)
1876
+ break if _tmp
1877
+ self.pos = _save
1878
+ break
1839
1879
  end # end choice
1840
1880
 
1841
1881
  set_failed_rule :_obs_hyphen_char unless _tmp
@@ -1854,34 +1894,34 @@ class EmailAddressValidator::RFC2822Parser
1854
1894
 
1855
1895
  _save = self.pos
1856
1896
  while true # sequence
1857
- _tmp = apply(:_word)
1858
- unless _tmp
1859
- self.pos = _save
1860
- break
1861
- end
1862
- while true
1897
+ _tmp = apply(:_word)
1898
+ unless _tmp
1899
+ self.pos = _save
1900
+ break
1901
+ end
1902
+ while true
1863
1903
 
1864
- _save2 = self.pos
1865
- while true # choice
1866
- _tmp = apply(:_word)
1867
- break if _tmp
1868
- self.pos = _save2
1869
- _tmp = match_string(".")
1870
- break if _tmp
1871
- self.pos = _save2
1872
- _tmp = apply(:_CFWS)
1873
- break if _tmp
1874
- self.pos = _save2
1875
- break
1876
- end # end choice
1904
+ _save2 = self.pos
1905
+ while true # choice
1906
+ _tmp = apply(:_word)
1907
+ break if _tmp
1908
+ self.pos = _save2
1909
+ _tmp = match_string(".")
1910
+ break if _tmp
1911
+ self.pos = _save2
1912
+ _tmp = apply(:_CFWS)
1913
+ break if _tmp
1914
+ self.pos = _save2
1915
+ break
1916
+ end # end choice
1877
1917
 
1878
- break unless _tmp
1879
- end
1880
- _tmp = true
1881
- unless _tmp
1882
- self.pos = _save
1883
- end
1884
- break
1918
+ break unless _tmp
1919
+ end
1920
+ _tmp = true
1921
+ unless _tmp
1922
+ self.pos = _save
1923
+ end
1924
+ break
1885
1925
  end # end sequence
1886
1926
 
1887
1927
  set_failed_rule :_obs_hyphen_phrase unless _tmp
@@ -1893,120 +1933,120 @@ class EmailAddressValidator::RFC2822Parser
1893
1933
 
1894
1934
  _save = self.pos
1895
1935
  while true # choice
1896
- _tmp = apply(:_phrase)
1897
- break if _tmp
1898
- self.pos = _save
1899
-
1900
- _save1 = self.pos
1901
- while true # sequence
1902
- _save2 = self.pos
1903
-
1904
- _save3 = self.pos
1905
- while true # sequence
1906
- _save4 = self.pos
1907
- _tmp = apply(:_phrase)
1908
- unless _tmp
1909
- _tmp = true
1910
- self.pos = _save4
1911
- end
1912
- unless _tmp
1913
- self.pos = _save3
1914
- break
1915
- end
1916
- _save5 = self.pos
1917
- _tmp = apply(:_CFWS)
1918
- unless _tmp
1919
- _tmp = true
1920
- self.pos = _save5
1921
- end
1922
- unless _tmp
1923
- self.pos = _save3
1924
- break
1925
- end
1926
- _tmp = match_string(",")
1927
- unless _tmp
1928
- self.pos = _save3
1929
- break
1930
- end
1931
- _save6 = self.pos
1932
- _tmp = apply(:_CFWS)
1933
- unless _tmp
1934
- _tmp = true
1935
- self.pos = _save6
1936
- end
1937
- unless _tmp
1938
- self.pos = _save3
1939
- end
1940
- break
1941
- end # end sequence
1942
-
1943
- if _tmp
1944
- while true
1945
-
1946
- _save7 = self.pos
1947
- while true # sequence
1948
- _save8 = self.pos
1949
- _tmp = apply(:_phrase)
1950
- unless _tmp
1951
- _tmp = true
1952
- self.pos = _save8
1953
- end
1954
- unless _tmp
1955
- self.pos = _save7
1956
- break
1957
- end
1958
- _save9 = self.pos
1959
- _tmp = apply(:_CFWS)
1960
- unless _tmp
1961
- _tmp = true
1962
- self.pos = _save9
1963
- end
1964
- unless _tmp
1965
- self.pos = _save7
1966
- break
1967
- end
1968
- _tmp = match_string(",")
1969
- unless _tmp
1970
- self.pos = _save7
1971
- break
1972
- end
1973
- _save10 = self.pos
1974
- _tmp = apply(:_CFWS)
1975
- unless _tmp
1976
- _tmp = true
1977
- self.pos = _save10
1978
- end
1979
- unless _tmp
1980
- self.pos = _save7
1981
- end
1982
- break
1983
- end # end sequence
1936
+ _tmp = apply(:_phrase)
1937
+ break if _tmp
1938
+ self.pos = _save
1939
+
1940
+ _save1 = self.pos
1941
+ while true # sequence
1942
+ _save2 = self.pos
1943
+
1944
+ _save3 = self.pos
1945
+ while true # sequence
1946
+ _save4 = self.pos
1947
+ _tmp = apply(:_phrase)
1948
+ unless _tmp
1949
+ _tmp = true
1950
+ self.pos = _save4
1951
+ end
1952
+ unless _tmp
1953
+ self.pos = _save3
1954
+ break
1955
+ end
1956
+ _save5 = self.pos
1957
+ _tmp = apply(:_CFWS)
1958
+ unless _tmp
1959
+ _tmp = true
1960
+ self.pos = _save5
1961
+ end
1962
+ unless _tmp
1963
+ self.pos = _save3
1964
+ break
1965
+ end
1966
+ _tmp = match_string(",")
1967
+ unless _tmp
1968
+ self.pos = _save3
1969
+ break
1970
+ end
1971
+ _save6 = self.pos
1972
+ _tmp = apply(:_CFWS)
1973
+ unless _tmp
1974
+ _tmp = true
1975
+ self.pos = _save6
1976
+ end
1977
+ unless _tmp
1978
+ self.pos = _save3
1979
+ end
1980
+ break
1981
+ end # end sequence
1982
+
1983
+ if _tmp
1984
+ while true
1985
+
1986
+ _save7 = self.pos
1987
+ while true # sequence
1988
+ _save8 = self.pos
1989
+ _tmp = apply(:_phrase)
1990
+ unless _tmp
1991
+ _tmp = true
1992
+ self.pos = _save8
1993
+ end
1994
+ unless _tmp
1995
+ self.pos = _save7
1996
+ break
1997
+ end
1998
+ _save9 = self.pos
1999
+ _tmp = apply(:_CFWS)
2000
+ unless _tmp
2001
+ _tmp = true
2002
+ self.pos = _save9
2003
+ end
2004
+ unless _tmp
2005
+ self.pos = _save7
2006
+ break
2007
+ end
2008
+ _tmp = match_string(",")
2009
+ unless _tmp
2010
+ self.pos = _save7
2011
+ break
2012
+ end
2013
+ _save10 = self.pos
2014
+ _tmp = apply(:_CFWS)
2015
+ unless _tmp
2016
+ _tmp = true
2017
+ self.pos = _save10
2018
+ end
2019
+ unless _tmp
2020
+ self.pos = _save7
2021
+ end
2022
+ break
2023
+ end # end sequence
2024
+
2025
+ break unless _tmp
2026
+ end
2027
+ _tmp = true
2028
+ else
2029
+ self.pos = _save2
2030
+ end
2031
+ unless _tmp
2032
+ self.pos = _save1
2033
+ break
2034
+ end
2035
+ _save11 = self.pos
2036
+ _tmp = apply(:_phrase)
2037
+ unless _tmp
2038
+ _tmp = true
2039
+ self.pos = _save11
2040
+ end
2041
+ unless _tmp
2042
+ self.pos = _save1
2043
+ end
2044
+ break
2045
+ end # end sequence
1984
2046
 
1985
- break unless _tmp
1986
- end
1987
- _tmp = true
1988
- else
1989
- self.pos = _save2
1990
- end
1991
- unless _tmp
1992
- self.pos = _save1
2047
+ break if _tmp
2048
+ self.pos = _save
1993
2049
  break
1994
- end
1995
- _save11 = self.pos
1996
- _tmp = apply(:_phrase)
1997
- unless _tmp
1998
- _tmp = true
1999
- self.pos = _save11
2000
- end
2001
- unless _tmp
2002
- self.pos = _save1
2003
- end
2004
- break
2005
- end # end sequence
2006
-
2007
- break if _tmp
2008
- self.pos = _save
2009
- break
2010
2050
  end # end choice
2011
2051
 
2012
2052
  set_failed_rule :_obs_hyphen_phrase_hyphen_list unless _tmp
@@ -2018,54 +2058,54 @@ class EmailAddressValidator::RFC2822Parser
2018
2058
 
2019
2059
  _save = self.pos
2020
2060
  while true # sequence
2021
- _save1 = self.pos
2022
- _tmp = apply(:_WSP)
2023
- if _tmp
2024
- while true
2025
- _tmp = apply(:_WSP)
2026
- break unless _tmp
2061
+ _save1 = self.pos
2062
+ _tmp = apply(:_WSP)
2063
+ if _tmp
2064
+ while true
2065
+ _tmp = apply(:_WSP)
2066
+ break unless _tmp
2067
+ end
2068
+ _tmp = true
2069
+ else
2070
+ self.pos = _save1
2071
+ end
2072
+ unless _tmp
2073
+ self.pos = _save
2074
+ break
2027
2075
  end
2028
- _tmp = true
2029
- else
2030
- self.pos = _save1
2031
- end
2032
- unless _tmp
2033
- self.pos = _save
2034
- break
2035
- end
2036
- while true
2037
-
2038
- _save3 = self.pos
2039
- while true # sequence
2040
- _tmp = apply(:_CRLF)
2041
- unless _tmp
2042
- self.pos = _save3
2043
- break
2044
- end
2045
- _save4 = self.pos
2046
- _tmp = apply(:_WSP)
2047
- if _tmp
2048
2076
  while true
2049
- _tmp = apply(:_WSP)
2077
+
2078
+ _save3 = self.pos
2079
+ while true # sequence
2080
+ _tmp = apply(:_CRLF)
2081
+ unless _tmp
2082
+ self.pos = _save3
2083
+ break
2084
+ end
2085
+ _save4 = self.pos
2086
+ _tmp = apply(:_WSP)
2087
+ if _tmp
2088
+ while true
2089
+ _tmp = apply(:_WSP)
2090
+ break unless _tmp
2091
+ end
2092
+ _tmp = true
2093
+ else
2094
+ self.pos = _save4
2095
+ end
2096
+ unless _tmp
2097
+ self.pos = _save3
2098
+ end
2099
+ break
2100
+ end # end sequence
2101
+
2050
2102
  break unless _tmp
2051
2103
  end
2052
2104
  _tmp = true
2053
- else
2054
- self.pos = _save4
2055
- end
2056
- unless _tmp
2057
- self.pos = _save3
2058
- end
2059
- break
2060
- end # end sequence
2061
-
2062
- break unless _tmp
2063
- end
2064
- _tmp = true
2065
- unless _tmp
2066
- self.pos = _save
2067
- end
2068
- break
2105
+ unless _tmp
2106
+ self.pos = _save
2107
+ end
2108
+ break
2069
2109
  end # end sequence
2070
2110
 
2071
2111
  set_failed_rule :_obs_hyphen_FWS unless _tmp
@@ -2077,51 +2117,51 @@ class EmailAddressValidator::RFC2822Parser
2077
2117
 
2078
2118
  _save = self.pos
2079
2119
  while true # sequence
2080
- _save1 = self.pos
2081
- _tmp = apply(:_CFWS)
2082
- unless _tmp
2083
- _tmp = true
2084
- self.pos = _save1
2085
- end
2086
- unless _tmp
2087
- self.pos = _save
2088
- break
2089
- end
2090
- _tmp = match_string("<")
2091
- unless _tmp
2092
- self.pos = _save
2093
- break
2094
- end
2095
- _save2 = self.pos
2096
- _tmp = apply(:_obs_hyphen_route)
2097
- unless _tmp
2098
- _tmp = true
2099
- self.pos = _save2
2100
- end
2101
- unless _tmp
2102
- self.pos = _save
2103
- break
2104
- end
2105
- _tmp = apply(:_addr_hyphen_spec)
2106
- unless _tmp
2107
- self.pos = _save
2108
- break
2109
- end
2110
- _tmp = match_string(">")
2111
- unless _tmp
2112
- self.pos = _save
2120
+ _save1 = self.pos
2121
+ _tmp = apply(:_CFWS)
2122
+ unless _tmp
2123
+ _tmp = true
2124
+ self.pos = _save1
2125
+ end
2126
+ unless _tmp
2127
+ self.pos = _save
2128
+ break
2129
+ end
2130
+ _tmp = match_string("<")
2131
+ unless _tmp
2132
+ self.pos = _save
2133
+ break
2134
+ end
2135
+ _save2 = self.pos
2136
+ _tmp = apply(:_obs_hyphen_route)
2137
+ unless _tmp
2138
+ _tmp = true
2139
+ self.pos = _save2
2140
+ end
2141
+ unless _tmp
2142
+ self.pos = _save
2143
+ break
2144
+ end
2145
+ _tmp = apply(:_addr_hyphen_spec)
2146
+ unless _tmp
2147
+ self.pos = _save
2148
+ break
2149
+ end
2150
+ _tmp = match_string(">")
2151
+ unless _tmp
2152
+ self.pos = _save
2153
+ break
2154
+ end
2155
+ _save3 = self.pos
2156
+ _tmp = apply(:_CFWS)
2157
+ unless _tmp
2158
+ _tmp = true
2159
+ self.pos = _save3
2160
+ end
2161
+ unless _tmp
2162
+ self.pos = _save
2163
+ end
2113
2164
  break
2114
- end
2115
- _save3 = self.pos
2116
- _tmp = apply(:_CFWS)
2117
- unless _tmp
2118
- _tmp = true
2119
- self.pos = _save3
2120
- end
2121
- unless _tmp
2122
- self.pos = _save
2123
- end
2124
- break
2125
2165
  end # end sequence
2126
2166
 
2127
2167
  set_failed_rule :_obs_hyphen_angle_hyphen_addr unless _tmp
@@ -2133,36 +2173,36 @@ class EmailAddressValidator::RFC2822Parser
2133
2173
 
2134
2174
  _save = self.pos
2135
2175
  while true # sequence
2136
- _save1 = self.pos
2137
- _tmp = apply(:_CFWS)
2138
- unless _tmp
2139
- _tmp = true
2140
- self.pos = _save1
2141
- end
2142
- unless _tmp
2143
- self.pos = _save
2144
- break
2145
- end
2146
- _tmp = apply(:_obs_hyphen_domain_hyphen_list)
2147
- unless _tmp
2148
- self.pos = _save
2149
- break
2150
- end
2151
- _tmp = match_string(":")
2152
- unless _tmp
2153
- self.pos = _save
2176
+ _save1 = self.pos
2177
+ _tmp = apply(:_CFWS)
2178
+ unless _tmp
2179
+ _tmp = true
2180
+ self.pos = _save1
2181
+ end
2182
+ unless _tmp
2183
+ self.pos = _save
2184
+ break
2185
+ end
2186
+ _tmp = apply(:_obs_hyphen_domain_hyphen_list)
2187
+ unless _tmp
2188
+ self.pos = _save
2189
+ break
2190
+ end
2191
+ _tmp = match_string(":")
2192
+ unless _tmp
2193
+ self.pos = _save
2194
+ break
2195
+ end
2196
+ _save2 = self.pos
2197
+ _tmp = apply(:_CFWS)
2198
+ unless _tmp
2199
+ _tmp = true
2200
+ self.pos = _save2
2201
+ end
2202
+ unless _tmp
2203
+ self.pos = _save
2204
+ end
2154
2205
  break
2155
- end
2156
- _save2 = self.pos
2157
- _tmp = apply(:_CFWS)
2158
- unless _tmp
2159
- _tmp = true
2160
- self.pos = _save2
2161
- end
2162
- unless _tmp
2163
- self.pos = _save
2164
- end
2165
- break
2166
2206
  end # end sequence
2167
2207
 
2168
2208
  set_failed_rule :_obs_hyphen_route unless _tmp
@@ -2174,69 +2214,69 @@ class EmailAddressValidator::RFC2822Parser
2174
2214
 
2175
2215
  _save = self.pos
2176
2216
  while true # sequence
2177
- _tmp = match_string("@")
2178
- unless _tmp
2179
- self.pos = _save
2180
- break
2181
- end
2182
- _tmp = apply(:_domain)
2183
- unless _tmp
2184
- self.pos = _save
2185
- break
2186
- end
2187
- while true
2188
-
2189
- _save2 = self.pos
2190
- while true # sequence
2191
- while true
2217
+ _tmp = match_string("@")
2218
+ unless _tmp
2219
+ self.pos = _save
2220
+ break
2221
+ end
2222
+ _tmp = apply(:_domain)
2223
+ unless _tmp
2224
+ self.pos = _save
2225
+ break
2226
+ end
2227
+ while true
2192
2228
 
2193
- _save4 = self.pos
2194
- while true # choice
2195
- _tmp = apply(:_CFWS)
2196
- break if _tmp
2197
- self.pos = _save4
2198
- _tmp = match_string(",")
2199
- break if _tmp
2200
- self.pos = _save4
2201
- break
2202
- end # end choice
2229
+ _save2 = self.pos
2230
+ while true # sequence
2231
+ while true
2232
+
2233
+ _save4 = self.pos
2234
+ while true # choice
2235
+ _tmp = apply(:_CFWS)
2236
+ break if _tmp
2237
+ self.pos = _save4
2238
+ _tmp = match_string(",")
2239
+ break if _tmp
2240
+ self.pos = _save4
2241
+ break
2242
+ end # end choice
2243
+
2244
+ break unless _tmp
2245
+ end
2246
+ _tmp = true
2247
+ unless _tmp
2248
+ self.pos = _save2
2249
+ break
2250
+ end
2251
+ _save5 = self.pos
2252
+ _tmp = apply(:_CFWS)
2253
+ unless _tmp
2254
+ _tmp = true
2255
+ self.pos = _save5
2256
+ end
2257
+ unless _tmp
2258
+ self.pos = _save2
2259
+ break
2260
+ end
2261
+ _tmp = match_string("@")
2262
+ unless _tmp
2263
+ self.pos = _save2
2264
+ break
2265
+ end
2266
+ _tmp = apply(:_domain)
2267
+ unless _tmp
2268
+ self.pos = _save2
2269
+ end
2270
+ break
2271
+ end # end sequence
2203
2272
 
2204
- break unless _tmp
2205
- end
2206
- _tmp = true
2207
- unless _tmp
2208
- self.pos = _save2
2209
- break
2210
- end
2211
- _save5 = self.pos
2212
- _tmp = apply(:_CFWS)
2213
- unless _tmp
2273
+ break unless _tmp
2274
+ end
2214
2275
  _tmp = true
2215
- self.pos = _save5
2216
- end
2217
- unless _tmp
2218
- self.pos = _save2
2219
- break
2220
- end
2221
- _tmp = match_string("@")
2222
- unless _tmp
2223
- self.pos = _save2
2276
+ unless _tmp
2277
+ self.pos = _save
2278
+ end
2224
2279
  break
2225
- end
2226
- _tmp = apply(:_domain)
2227
- unless _tmp
2228
- self.pos = _save2
2229
- end
2230
- break
2231
- end # end sequence
2232
-
2233
- break unless _tmp
2234
- end
2235
- _tmp = true
2236
- unless _tmp
2237
- self.pos = _save
2238
- end
2239
- break
2240
2280
  end # end sequence
2241
2281
 
2242
2282
  set_failed_rule :_obs_hyphen_domain_hyphen_list unless _tmp
@@ -2248,34 +2288,34 @@ class EmailAddressValidator::RFC2822Parser
2248
2288
 
2249
2289
  _save = self.pos
2250
2290
  while true # sequence
2251
- _tmp = apply(:_word)
2252
- unless _tmp
2253
- self.pos = _save
2254
- break
2255
- end
2256
- while true
2291
+ _tmp = apply(:_word)
2292
+ unless _tmp
2293
+ self.pos = _save
2294
+ break
2295
+ end
2296
+ while true
2257
2297
 
2258
- _save2 = self.pos
2259
- while true # sequence
2260
- _tmp = match_string(".")
2261
- unless _tmp
2262
- self.pos = _save2
2263
- break
2264
- end
2265
- _tmp = apply(:_word)
2266
- unless _tmp
2267
- self.pos = _save2
2268
- end
2269
- break
2270
- end # end sequence
2298
+ _save2 = self.pos
2299
+ while true # sequence
2300
+ _tmp = match_string(".")
2301
+ unless _tmp
2302
+ self.pos = _save2
2303
+ break
2304
+ end
2305
+ _tmp = apply(:_word)
2306
+ unless _tmp
2307
+ self.pos = _save2
2308
+ end
2309
+ break
2310
+ end # end sequence
2271
2311
 
2272
- break unless _tmp
2273
- end
2274
- _tmp = true
2275
- unless _tmp
2276
- self.pos = _save
2277
- end
2278
- break
2312
+ break unless _tmp
2313
+ end
2314
+ _tmp = true
2315
+ unless _tmp
2316
+ self.pos = _save
2317
+ end
2318
+ break
2279
2319
  end # end sequence
2280
2320
 
2281
2321
  set_failed_rule :_obs_hyphen_local_hyphen_part unless _tmp
@@ -2287,34 +2327,34 @@ class EmailAddressValidator::RFC2822Parser
2287
2327
 
2288
2328
  _save = self.pos
2289
2329
  while true # sequence
2290
- _tmp = apply(:_atom)
2291
- unless _tmp
2292
- self.pos = _save
2293
- break
2294
- end
2295
- while true
2330
+ _tmp = apply(:_atom)
2331
+ unless _tmp
2332
+ self.pos = _save
2333
+ break
2334
+ end
2335
+ while true
2296
2336
 
2297
- _save2 = self.pos
2298
- while true # sequence
2299
- _tmp = match_string(".")
2300
- unless _tmp
2301
- self.pos = _save2
2302
- break
2303
- end
2304
- _tmp = apply(:_atom)
2305
- unless _tmp
2306
- self.pos = _save2
2307
- end
2308
- break
2309
- end # end sequence
2337
+ _save2 = self.pos
2338
+ while true # sequence
2339
+ _tmp = match_string(".")
2340
+ unless _tmp
2341
+ self.pos = _save2
2342
+ break
2343
+ end
2344
+ _tmp = apply(:_atom)
2345
+ unless _tmp
2346
+ self.pos = _save2
2347
+ end
2348
+ break
2349
+ end # end sequence
2310
2350
 
2311
- break unless _tmp
2312
- end
2313
- _tmp = true
2314
- unless _tmp
2315
- self.pos = _save
2316
- end
2317
- break
2351
+ break unless _tmp
2352
+ end
2353
+ _tmp = true
2354
+ unless _tmp
2355
+ self.pos = _save
2356
+ end
2357
+ break
2318
2358
  end # end sequence
2319
2359
 
2320
2360
  set_failed_rule :_obs_hyphen_domain unless _tmp
@@ -2326,109 +2366,109 @@ class EmailAddressValidator::RFC2822Parser
2326
2366
 
2327
2367
  _save = self.pos
2328
2368
  while true # sequence
2329
- _save1 = self.pos
2330
-
2331
- _save2 = self.pos
2332
- while true # sequence
2333
- _save3 = self.pos
2334
- _tmp = apply(:_address)
2335
- unless _tmp
2336
- _tmp = true
2337
- self.pos = _save3
2338
- end
2339
- unless _tmp
2340
- self.pos = _save2
2341
- break
2342
- end
2343
- _save4 = self.pos
2344
- _tmp = apply(:_CFWS)
2345
- unless _tmp
2346
- _tmp = true
2347
- self.pos = _save4
2348
- end
2349
- unless _tmp
2350
- self.pos = _save2
2351
- break
2352
- end
2353
- _tmp = match_string(",")
2354
- unless _tmp
2355
- self.pos = _save2
2356
- break
2357
- end
2358
- _save5 = self.pos
2359
- _tmp = apply(:_CFWS)
2360
- unless _tmp
2361
- _tmp = true
2362
- self.pos = _save5
2363
- end
2364
- unless _tmp
2365
- self.pos = _save2
2366
- end
2367
- break
2368
- end # end sequence
2369
-
2370
- if _tmp
2371
- while true
2372
-
2373
- _save6 = self.pos
2374
- while true # sequence
2375
- _save7 = self.pos
2376
- _tmp = apply(:_address)
2377
- unless _tmp
2378
- _tmp = true
2379
- self.pos = _save7
2380
- end
2381
- unless _tmp
2382
- self.pos = _save6
2383
- break
2384
- end
2385
- _save8 = self.pos
2386
- _tmp = apply(:_CFWS)
2387
- unless _tmp
2388
- _tmp = true
2389
- self.pos = _save8
2390
- end
2391
- unless _tmp
2392
- self.pos = _save6
2393
- break
2394
- end
2395
- _tmp = match_string(",")
2396
- unless _tmp
2397
- self.pos = _save6
2398
- break
2399
- end
2400
- _save9 = self.pos
2401
- _tmp = apply(:_CFWS)
2402
- unless _tmp
2403
- _tmp = true
2404
- self.pos = _save9
2405
- end
2406
- unless _tmp
2407
- self.pos = _save6
2408
- end
2409
- break
2410
- end # end sequence
2411
-
2412
- break unless _tmp
2369
+ _save1 = self.pos
2370
+
2371
+ _save2 = self.pos
2372
+ while true # sequence
2373
+ _save3 = self.pos
2374
+ _tmp = apply(:_address)
2375
+ unless _tmp
2376
+ _tmp = true
2377
+ self.pos = _save3
2378
+ end
2379
+ unless _tmp
2380
+ self.pos = _save2
2381
+ break
2382
+ end
2383
+ _save4 = self.pos
2384
+ _tmp = apply(:_CFWS)
2385
+ unless _tmp
2386
+ _tmp = true
2387
+ self.pos = _save4
2388
+ end
2389
+ unless _tmp
2390
+ self.pos = _save2
2391
+ break
2392
+ end
2393
+ _tmp = match_string(",")
2394
+ unless _tmp
2395
+ self.pos = _save2
2396
+ break
2397
+ end
2398
+ _save5 = self.pos
2399
+ _tmp = apply(:_CFWS)
2400
+ unless _tmp
2401
+ _tmp = true
2402
+ self.pos = _save5
2403
+ end
2404
+ unless _tmp
2405
+ self.pos = _save2
2406
+ end
2407
+ break
2408
+ end # end sequence
2409
+
2410
+ if _tmp
2411
+ while true
2412
+
2413
+ _save6 = self.pos
2414
+ while true # sequence
2415
+ _save7 = self.pos
2416
+ _tmp = apply(:_address)
2417
+ unless _tmp
2418
+ _tmp = true
2419
+ self.pos = _save7
2420
+ end
2421
+ unless _tmp
2422
+ self.pos = _save6
2423
+ break
2424
+ end
2425
+ _save8 = self.pos
2426
+ _tmp = apply(:_CFWS)
2427
+ unless _tmp
2428
+ _tmp = true
2429
+ self.pos = _save8
2430
+ end
2431
+ unless _tmp
2432
+ self.pos = _save6
2433
+ break
2434
+ end
2435
+ _tmp = match_string(",")
2436
+ unless _tmp
2437
+ self.pos = _save6
2438
+ break
2439
+ end
2440
+ _save9 = self.pos
2441
+ _tmp = apply(:_CFWS)
2442
+ unless _tmp
2443
+ _tmp = true
2444
+ self.pos = _save9
2445
+ end
2446
+ unless _tmp
2447
+ self.pos = _save6
2448
+ end
2449
+ break
2450
+ end # end sequence
2451
+
2452
+ break unless _tmp
2453
+ end
2454
+ _tmp = true
2455
+ else
2456
+ self.pos = _save1
2457
+ end
2458
+ unless _tmp
2459
+ self.pos = _save
2460
+ break
2461
+ end
2462
+ _save10 = self.pos
2463
+ _tmp = apply(:_address)
2464
+ unless _tmp
2465
+ _tmp = true
2466
+ self.pos = _save10
2467
+ end
2468
+ unless _tmp
2469
+ self.pos = _save
2413
2470
  end
2414
- _tmp = true
2415
- else
2416
- self.pos = _save1
2417
- end
2418
- unless _tmp
2419
- self.pos = _save
2420
2471
  break
2421
- end
2422
- _save10 = self.pos
2423
- _tmp = apply(:_address)
2424
- unless _tmp
2425
- _tmp = true
2426
- self.pos = _save10
2427
- end
2428
- unless _tmp
2429
- self.pos = _save
2430
- end
2431
- break
2432
2472
  end # end sequence
2433
2473
 
2434
2474
  set_failed_rule :_obs_hyphen_mbox_hyphen_list unless _tmp
@@ -2440,19 +2480,19 @@ class EmailAddressValidator::RFC2822Parser
2440
2480
 
2441
2481
  _save = self.pos
2442
2482
  while true # sequence
2443
- _tmp = apply(:_address)
2444
- unless _tmp
2445
- self.pos = _save
2483
+ _tmp = apply(:_address)
2484
+ unless _tmp
2485
+ self.pos = _save
2486
+ break
2487
+ end
2488
+ _save1 = self.pos
2489
+ _tmp = get_byte
2490
+ _tmp = _tmp ? nil : true
2491
+ self.pos = _save1
2492
+ unless _tmp
2493
+ self.pos = _save
2494
+ end
2446
2495
  break
2447
- end
2448
- _save1 = self.pos
2449
- _tmp = get_byte
2450
- _tmp = _tmp ? nil : true
2451
- self.pos = _save1
2452
- unless _tmp
2453
- self.pos = _save
2454
- end
2455
- break
2456
2496
  end # end sequence
2457
2497
 
2458
2498
  set_failed_rule :_root unless _tmp
@@ -2464,19 +2504,19 @@ class EmailAddressValidator::RFC2822Parser
2464
2504
 
2465
2505
  _save = self.pos
2466
2506
  while true # sequence
2467
- _tmp = apply(:_addr_hyphen_spec)
2468
- unless _tmp
2469
- self.pos = _save
2507
+ _tmp = apply(:_addr_hyphen_spec)
2508
+ unless _tmp
2509
+ self.pos = _save
2510
+ break
2511
+ end
2512
+ _save1 = self.pos
2513
+ _tmp = get_byte
2514
+ _tmp = _tmp ? nil : true
2515
+ self.pos = _save1
2516
+ unless _tmp
2517
+ self.pos = _save
2518
+ end
2470
2519
  break
2471
- end
2472
- _save1 = self.pos
2473
- _tmp = get_byte
2474
- _tmp = _tmp ? nil : true
2475
- self.pos = _save1
2476
- unless _tmp
2477
- self.pos = _save
2478
- end
2479
- break
2480
2520
  end # end sequence
2481
2521
 
2482
2522
  set_failed_rule :_only_addr_spec unless _tmp
@@ -2485,7 +2525,7 @@ class EmailAddressValidator::RFC2822Parser
2485
2525
 
2486
2526
  Rules = {}
2487
2527
  Rules[:_d] = rule_info("d", "< . > &{ text[0] == num }")
2488
- Rules[:_d_btw] = rule_info("d_btw", "< . > &{ t = text[0]; t >= start && t <= fin }")
2528
+ Rules[:_d_btw] = rule_info("d_btw", "< . > &{ t = text[0].chr; t >= start && t <= fin }")
2489
2529
  Rules[:_WSP] = rule_info("WSP", "(\" \" | d(9))")
2490
2530
  Rules[:_LF] = rule_info("LF", "/\\x0A/")
2491
2531
  Rules[:_CR] = rule_info("CR", "/\\x0D/")
@@ -2540,4 +2580,5 @@ class EmailAddressValidator::RFC2822Parser
2540
2580
  Rules[:_obs_hyphen_mbox_hyphen_list] = rule_info("obs-mbox-list", "(address? CFWS? \",\" CFWS?)+ address?")
2541
2581
  Rules[:_root] = rule_info("root", "address !.")
2542
2582
  Rules[:_only_addr_spec] = rule_info("only_addr_spec", "addr-spec !.")
2583
+ # :startdoc:
2543
2584
  end