regexp_parser 0.4.13 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +15 -0
  3. data/lib/regexp_parser/expression.rb +43 -51
  4. data/lib/regexp_parser/expression/classes/alternation.rb +6 -7
  5. data/lib/regexp_parser/expression/classes/character_class.rb +11 -0
  6. data/lib/regexp_parser/expression/classes/conditional.rb +10 -18
  7. data/lib/regexp_parser/expression/classes/free_space.rb +1 -1
  8. data/lib/regexp_parser/expression/classes/group.rb +9 -21
  9. data/lib/regexp_parser/expression/classes/property.rb +2 -2
  10. data/lib/regexp_parser/expression/classes/set.rb +1 -12
  11. data/lib/regexp_parser/expression/methods/traverse.rb +1 -1
  12. data/lib/regexp_parser/expression/quantifier.rb +9 -9
  13. data/lib/regexp_parser/expression/sequence.rb +5 -4
  14. data/lib/regexp_parser/expression/subexpression.rb +16 -59
  15. data/lib/regexp_parser/lexer.rb +31 -27
  16. data/lib/regexp_parser/parser.rb +179 -179
  17. data/lib/regexp_parser/scanner.rb +172 -166
  18. data/lib/regexp_parser/scanner/scanner.rl +44 -38
  19. data/lib/regexp_parser/syntax.rb +2 -53
  20. data/lib/regexp_parser/syntax/base.rb +13 -24
  21. data/lib/regexp_parser/syntax/tokens/character_class.rb +16 -0
  22. data/lib/regexp_parser/syntax/tokens/unicode_property.rb +26 -26
  23. data/lib/regexp_parser/syntax/version_lookup.rb +82 -0
  24. data/lib/regexp_parser/syntax/versions.rb +1 -5
  25. data/lib/regexp_parser/syntax/versions/1.8.6.rb +30 -0
  26. data/lib/regexp_parser/syntax/versions/1.9.1.rb +36 -0
  27. data/lib/regexp_parser/syntax/versions/1.9.3.rb +11 -0
  28. data/lib/regexp_parser/syntax/versions/2.0.0.rb +20 -0
  29. data/lib/regexp_parser/syntax/versions/2.2.0.rb +10 -0
  30. data/lib/regexp_parser/syntax/versions/2.3.0.rb +10 -0
  31. data/lib/regexp_parser/syntax/versions/2.4.0.rb +10 -0
  32. data/lib/regexp_parser/syntax/versions/2.4.1.rb +9 -0
  33. data/lib/regexp_parser/syntax/versions/2.5.0.rb +10 -0
  34. data/lib/regexp_parser/token.rb +6 -29
  35. data/lib/regexp_parser/version.rb +1 -1
  36. data/test/expression/test_strfregexp.rb +7 -0
  37. data/test/expression/test_to_h.rb +6 -0
  38. data/test/parser/test_properties.rb +12 -4
  39. data/test/support/warning_extractor.rb +3 -1
  40. data/test/syntax/test_all.rb +1 -1
  41. data/test/syntax/test_syntax.rb +5 -9
  42. data/test/syntax/{ruby → versions}/test_1.8.rb +14 -14
  43. data/test/syntax/{ruby → versions}/test_1.9.1.rb +7 -8
  44. data/test/syntax/{ruby → versions}/test_1.9.3.rb +7 -7
  45. data/test/syntax/versions/test_2.0.0.rb +37 -0
  46. data/test/syntax/{ruby → versions}/test_2.2.0.rb +7 -7
  47. data/test/syntax/versions/test_aliases.rb +129 -0
  48. data/test/syntax/{ruby → versions}/test_all.rb +1 -1
  49. metadata +73 -113
  50. data/lib/regexp_parser/syntax/ruby/1.8.6.rb +0 -37
  51. data/lib/regexp_parser/syntax/ruby/1.8.7.rb +0 -14
  52. data/lib/regexp_parser/syntax/ruby/1.8.rb +0 -13
  53. data/lib/regexp_parser/syntax/ruby/1.9.1.rb +0 -45
  54. data/lib/regexp_parser/syntax/ruby/1.9.2.rb +0 -9
  55. data/lib/regexp_parser/syntax/ruby/1.9.3.rb +0 -19
  56. data/lib/regexp_parser/syntax/ruby/1.9.rb +0 -8
  57. data/lib/regexp_parser/syntax/ruby/2.0.0.rb +0 -23
  58. data/lib/regexp_parser/syntax/ruby/2.0.rb +0 -8
  59. data/lib/regexp_parser/syntax/ruby/2.1.0.rb +0 -13
  60. data/lib/regexp_parser/syntax/ruby/2.1.10.rb +0 -13
  61. data/lib/regexp_parser/syntax/ruby/2.1.2.rb +0 -13
  62. data/lib/regexp_parser/syntax/ruby/2.1.3.rb +0 -13
  63. data/lib/regexp_parser/syntax/ruby/2.1.4.rb +0 -13
  64. data/lib/regexp_parser/syntax/ruby/2.1.5.rb +0 -13
  65. data/lib/regexp_parser/syntax/ruby/2.1.6.rb +0 -13
  66. data/lib/regexp_parser/syntax/ruby/2.1.7.rb +0 -13
  67. data/lib/regexp_parser/syntax/ruby/2.1.8.rb +0 -13
  68. data/lib/regexp_parser/syntax/ruby/2.1.9.rb +0 -13
  69. data/lib/regexp_parser/syntax/ruby/2.1.rb +0 -8
  70. data/lib/regexp_parser/syntax/ruby/2.2.0.rb +0 -16
  71. data/lib/regexp_parser/syntax/ruby/2.2.1.rb +0 -13
  72. data/lib/regexp_parser/syntax/ruby/2.2.10.rb +0 -13
  73. data/lib/regexp_parser/syntax/ruby/2.2.2.rb +0 -13
  74. data/lib/regexp_parser/syntax/ruby/2.2.3.rb +0 -13
  75. data/lib/regexp_parser/syntax/ruby/2.2.4.rb +0 -13
  76. data/lib/regexp_parser/syntax/ruby/2.2.5.rb +0 -13
  77. data/lib/regexp_parser/syntax/ruby/2.2.6.rb +0 -13
  78. data/lib/regexp_parser/syntax/ruby/2.2.7.rb +0 -13
  79. data/lib/regexp_parser/syntax/ruby/2.2.8.rb +0 -13
  80. data/lib/regexp_parser/syntax/ruby/2.2.9.rb +0 -13
  81. data/lib/regexp_parser/syntax/ruby/2.2.rb +0 -8
  82. data/lib/regexp_parser/syntax/ruby/2.3.0.rb +0 -16
  83. data/lib/regexp_parser/syntax/ruby/2.3.1.rb +0 -13
  84. data/lib/regexp_parser/syntax/ruby/2.3.2.rb +0 -13
  85. data/lib/regexp_parser/syntax/ruby/2.3.3.rb +0 -13
  86. data/lib/regexp_parser/syntax/ruby/2.3.4.rb +0 -13
  87. data/lib/regexp_parser/syntax/ruby/2.3.5.rb +0 -13
  88. data/lib/regexp_parser/syntax/ruby/2.3.6.rb +0 -13
  89. data/lib/regexp_parser/syntax/ruby/2.3.7.rb +0 -13
  90. data/lib/regexp_parser/syntax/ruby/2.3.rb +0 -8
  91. data/lib/regexp_parser/syntax/ruby/2.4.0.rb +0 -16
  92. data/lib/regexp_parser/syntax/ruby/2.4.1.rb +0 -15
  93. data/lib/regexp_parser/syntax/ruby/2.4.2.rb +0 -13
  94. data/lib/regexp_parser/syntax/ruby/2.4.3.rb +0 -13
  95. data/lib/regexp_parser/syntax/ruby/2.4.4.rb +0 -13
  96. data/lib/regexp_parser/syntax/ruby/2.4.rb +0 -8
  97. data/lib/regexp_parser/syntax/ruby/2.5.0.rb +0 -16
  98. data/lib/regexp_parser/syntax/ruby/2.5.1.rb +0 -13
  99. data/lib/regexp_parser/syntax/ruby/2.5.rb +0 -8
  100. data/lib/regexp_parser/syntax/ruby/2.6.0.rb +0 -13
  101. data/lib/regexp_parser/syntax/ruby/2.6.rb +0 -8
  102. data/test/syntax/ruby/test_2.0.0.rb +0 -32
  103. data/test/syntax/ruby/test_files.rb +0 -353
@@ -1,8 +1,8 @@
1
1
  # -*- warn-indent:false; -*-
2
2
 
3
- # line 1 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3
+ # line 1 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4
4
 
5
- # line 771 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
5
+ # line 771 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
6
6
 
7
7
 
8
8
  # THIS IS A GENERATED FILE, DO NOT EDIT DIRECTLY
@@ -72,31 +72,33 @@ class Regexp::Scanner
72
72
  end
73
73
 
74
74
  def scan(input_object, &block)
75
- @literal, stack = nil, []
75
+ self.literal = nil
76
+ stack = []
76
77
 
77
78
  if input_object.is_a?(Regexp)
78
- input = input_object.source
79
- @free_spacing = (input_object.options & Regexp::EXTENDED != 0)
79
+ input = input_object.source
80
+ self.free_spacing = (input_object.options & Regexp::EXTENDED != 0)
80
81
  else
81
- input = input_object
82
- @free_spacing = false
82
+ input = input_object
83
+ self.free_spacing = false
83
84
  end
84
85
 
85
86
 
86
87
  data = input.unpack("c*") if input.is_a?(String)
87
88
  eof = data.length
88
89
 
89
- @tokens = []
90
- @block = block_given? ? block : nil
90
+ self.tokens = []
91
+ self.block = block_given? ? block : nil
91
92
 
92
- @in_group, @group_depth = false, 0
93
- @spacing_stack = [{:free_spacing => @free_spacing, :depth => 0}]
93
+ self.in_group = false
94
+ self.group_depth = 0
95
+ self.spacing_stack = [{:free_spacing => free_spacing, :depth => 0}]
94
96
 
95
- in_set, set_depth, set_type = false, 0, :set
97
+ in_set, set_depth, set_type = false, 0, :set
96
98
  in_conditional, conditional_depth, conditional_stack = false, 0, []
97
99
 
98
100
 
99
- # line 99 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner.rb"
101
+ # line 101 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
100
102
  class << self
101
103
  attr_accessor :_re_scanner_trans_keys
102
104
  private :_re_scanner_trans_keys, :_re_scanner_trans_keys=
@@ -1672,9 +1674,9 @@ end
1672
1674
  self.re_scanner_en_main = 142;
1673
1675
 
1674
1676
 
1675
- # line 864 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
1677
+ # line 866 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
1676
1678
 
1677
- # line 1677 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner.rb"
1679
+ # line 1679 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
1678
1680
  begin
1679
1681
  p ||= 0
1680
1682
  pe ||= data.length
@@ -1685,9 +1687,9 @@ begin
1685
1687
  act = 0
1686
1688
  end
1687
1689
 
1688
- # line 865 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
1690
+ # line 867 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
1689
1691
 
1690
- # line 1690 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner.rb"
1692
+ # line 1692 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
1691
1693
  begin
1692
1694
  testEof = false
1693
1695
  _slen, _trans, _keys, _inds, _acts, _nacts = nil
@@ -1715,7 +1717,7 @@ begin
1715
1717
  begin
1716
1718
  ts = p
1717
1719
  end
1718
- # line 1718 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner.rb"
1720
+ # line 1720 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
1719
1721
  end
1720
1722
  _keys = cs << 1
1721
1723
  _inds = _re_scanner_index_offsets[cs]
@@ -1735,23 +1737,23 @@ ts = p
1735
1737
  if _re_scanner_trans_actions[_trans] != 0
1736
1738
  case _re_scanner_trans_actions[_trans]
1737
1739
  when 14 then
1738
- # line 134 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
1740
+ # line 134 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
1739
1741
  begin
1740
1742
 
1741
1743
  text = ts ? copy(data, ts-1..-1) : data.pack('c*')
1742
1744
  raise PrematureEndError.new( text )
1743
1745
  end
1744
1746
  when 7 then
1745
- # line 147 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
1747
+ # line 147 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
1746
1748
  begin
1747
- @group_depth -= 1; @in_group = @group_depth > 0 ? true : false end
1749
+ self.group_depth = group_depth - 1; in_group = group_depth > 0 ? true : false end
1748
1750
  when 18 then
1749
1751
  # line 1 "NONE"
1750
1752
  begin
1751
1753
  te = p+1
1752
1754
  end
1753
1755
  when 16 then
1754
- # line 62 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/property.rl"
1756
+ # line 62 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/property.rl"
1755
1757
  begin
1756
1758
  te = p+1
1757
1759
  begin
@@ -2528,7 +2530,7 @@ te = p+1
2528
2530
  end
2529
2531
  end
2530
2532
  when 69 then
2531
- # line 153 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2533
+ # line 153 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2532
2534
  begin
2533
2535
  te = p+1
2534
2536
  begin
@@ -2556,7 +2558,7 @@ te = p+1
2556
2558
  end
2557
2559
  end
2558
2560
  when 73 then
2559
- # line 166 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2561
+ # line 166 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2560
2562
  begin
2561
2563
  te = p+1
2562
2564
  begin # special case, emits two tokens
@@ -2585,12 +2587,12 @@ te = p+1
2585
2587
  end
2586
2588
  end
2587
2589
  when 70 then
2588
- # line 180 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2590
+ # line 180 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2589
2591
  begin
2590
2592
  te = p+1
2591
2593
  begin
2592
2594
  text = text(data, ts, te).first
2593
- if @tokens.last[1] == :open
2595
+ if tokens.last[1] == :open
2594
2596
  emit(set_type, :negate, text, ts, te)
2595
2597
  else
2596
2598
  emit(set_type, :member, text, ts, te)
@@ -2598,7 +2600,7 @@ te = p+1
2598
2600
  end
2599
2601
  end
2600
2602
  when 19 then
2601
- # line 189 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2603
+ # line 189 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2602
2604
  begin
2603
2605
  te = p+1
2604
2606
  begin
@@ -2606,7 +2608,7 @@ te = p+1
2606
2608
  end
2607
2609
  end
2608
2610
  when 72 then
2609
- # line 193 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2611
+ # line 193 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2610
2612
  begin
2611
2613
  te = p+1
2612
2614
  begin
@@ -2614,7 +2616,7 @@ te = p+1
2614
2616
  end
2615
2617
  end
2616
2618
  when 68 then
2617
- # line 197 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2619
+ # line 197 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2618
2620
  begin
2619
2621
  te = p+1
2620
2622
  begin
@@ -2629,7 +2631,7 @@ te = p+1
2629
2631
  end
2630
2632
  end
2631
2633
  when 23 then
2632
- # line 209 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2634
+ # line 209 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2633
2635
  begin
2634
2636
  te = p+1
2635
2637
  begin
@@ -2645,7 +2647,7 @@ te = p+1
2645
2647
  end
2646
2648
  end
2647
2649
  when 22 then
2648
- # line 221 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2650
+ # line 221 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2649
2651
  begin
2650
2652
  te = p+1
2651
2653
  begin
@@ -2653,7 +2655,7 @@ te = p+1
2653
2655
  end
2654
2656
  end
2655
2657
  when 24 then
2656
- # line 225 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2658
+ # line 225 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2657
2659
  begin
2658
2660
  te = p+1
2659
2661
  begin
@@ -2661,7 +2663,7 @@ te = p+1
2661
2663
  end
2662
2664
  end
2663
2665
  when 67 then
2664
- # line 231 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2666
+ # line 231 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2665
2667
  begin
2666
2668
  te = p+1
2667
2669
  begin
@@ -2669,7 +2671,7 @@ te = p+1
2669
2671
  end
2670
2672
  end
2671
2673
  when 66 then
2672
- # line 239 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2674
+ # line 239 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2673
2675
  begin
2674
2676
  te = p+1
2675
2677
  begin
@@ -2677,7 +2679,7 @@ te = p+1
2677
2679
  end
2678
2680
  end
2679
2681
  when 75 then
2680
- # line 201 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2682
+ # line 201 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2681
2683
  begin
2682
2684
  te = p
2683
2685
  p = p - 1; begin
@@ -2696,7 +2698,7 @@ p = p - 1; begin
2696
2698
  end
2697
2699
  end
2698
2700
  when 71 then
2699
- # line 239 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2701
+ # line 239 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2700
2702
  begin
2701
2703
  te = p
2702
2704
  p = p - 1; begin
@@ -2704,7 +2706,7 @@ p = p - 1; begin
2704
2706
  end
2705
2707
  end
2706
2708
  when 21 then
2707
- # line 201 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2709
+ # line 201 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2708
2710
  begin
2709
2711
  begin p = ((te))-1; end
2710
2712
  begin
@@ -2723,7 +2725,7 @@ p = p - 1; begin
2723
2725
  end
2724
2726
  end
2725
2727
  when 17 then
2726
- # line 239 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2728
+ # line 239 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2727
2729
  begin
2728
2730
  begin p = ((te))-1; end
2729
2731
  begin
@@ -2731,7 +2733,7 @@ p = p - 1; begin
2731
2733
  end
2732
2734
  end
2733
2735
  when 80 then
2734
- # line 247 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2736
+ # line 247 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2735
2737
  begin
2736
2738
  te = p+1
2737
2739
  begin
@@ -2746,7 +2748,7 @@ te = p+1
2746
2748
  end
2747
2749
  end
2748
2750
  when 78 then
2749
- # line 252 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2751
+ # line 252 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2750
2752
  begin
2751
2753
  te = p+1
2752
2754
  begin
@@ -2772,7 +2774,7 @@ te = p+1
2772
2774
  end
2773
2775
  end
2774
2776
  when 84 then
2775
- # line 268 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2777
+ # line 268 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2776
2778
  begin
2777
2779
  te = p+1
2778
2780
  begin
@@ -2787,7 +2789,7 @@ te = p+1
2787
2789
  end
2788
2790
  end
2789
2791
  when 76 then
2790
- # line 278 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2792
+ # line 278 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2791
2793
  begin
2792
2794
  te = p+1
2793
2795
  begin
@@ -2802,7 +2804,7 @@ te = p+1
2802
2804
  end
2803
2805
  end
2804
2806
  when 79 then
2805
- # line 283 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2807
+ # line 283 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2806
2808
  begin
2807
2809
  te = p+1
2808
2810
  begin
@@ -2819,7 +2821,7 @@ te = p+1
2819
2821
  end
2820
2822
  end
2821
2823
  when 83 then
2822
- # line 268 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2824
+ # line 268 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2823
2825
  begin
2824
2826
  te = p
2825
2827
  p = p - 1; begin
@@ -2834,7 +2836,7 @@ p = p - 1; begin
2834
2836
  end
2835
2837
  end
2836
2838
  when 82 then
2837
- # line 273 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2839
+ # line 273 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2838
2840
  begin
2839
2841
  te = p
2840
2842
  p = p - 1; begin
@@ -2849,7 +2851,7 @@ p = p - 1; begin
2849
2851
  end
2850
2852
  end
2851
2853
  when 81 then
2852
- # line 294 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2854
+ # line 294 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2853
2855
  begin
2854
2856
  te = p
2855
2857
  p = p - 1; begin
@@ -2864,7 +2866,7 @@ p = p - 1; begin
2864
2866
  end
2865
2867
  end
2866
2868
  when 27 then
2867
- # line 273 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2869
+ # line 273 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2868
2870
  begin
2869
2871
  begin p = ((te))-1; end
2870
2872
  begin
@@ -2916,7 +2918,7 @@ end
2916
2918
  end
2917
2919
  end
2918
2920
  when 89 then
2919
- # line 304 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2921
+ # line 304 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2920
2922
  begin
2921
2923
  te = p+1
2922
2924
  begin
@@ -2932,7 +2934,7 @@ te = p+1
2932
2934
  end
2933
2935
  end
2934
2936
  when 94 then
2935
- # line 310 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2937
+ # line 310 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2936
2938
  begin
2937
2939
  te = p+1
2938
2940
  begin
@@ -2947,7 +2949,7 @@ te = p+1
2947
2949
  end
2948
2950
  end
2949
2951
  when 86 then
2950
- # line 315 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2952
+ # line 315 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2951
2953
  begin
2952
2954
  te = p+1
2953
2955
  begin
@@ -2978,7 +2980,7 @@ te = p+1
2978
2980
  end
2979
2981
  end
2980
2982
  when 91 then
2981
- # line 336 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2983
+ # line 336 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
2982
2984
  begin
2983
2985
  te = p+1
2984
2986
  begin
@@ -3004,7 +3006,7 @@ te = p+1
3004
3006
  end
3005
3007
  end
3006
3008
  when 34 then
3007
- # line 352 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3009
+ # line 352 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3008
3010
  begin
3009
3011
  te = p+1
3010
3012
  begin
@@ -3024,7 +3026,7 @@ te = p+1
3024
3026
  end
3025
3027
  end
3026
3028
  when 101 then
3027
- # line 362 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3029
+ # line 362 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3028
3030
  begin
3029
3031
  te = p+1
3030
3032
  begin
@@ -3039,7 +3041,7 @@ te = p+1
3039
3041
  end
3040
3042
  end
3041
3043
  when 104 then
3042
- # line 367 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3044
+ # line 367 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3043
3045
  begin
3044
3046
  te = p+1
3045
3047
  begin
@@ -3054,7 +3056,7 @@ te = p+1
3054
3056
  end
3055
3057
  end
3056
3058
  when 36 then
3057
- # line 376 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3059
+ # line 376 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3058
3060
  begin
3059
3061
  te = p+1
3060
3062
  begin
@@ -3069,7 +3071,7 @@ te = p+1
3069
3071
  end
3070
3072
  end
3071
3073
  when 30 then
3072
- # line 381 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3074
+ # line 381 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3073
3075
  begin
3074
3076
  te = p+1
3075
3077
  begin
@@ -3094,7 +3096,7 @@ te = p+1
3094
3096
  end
3095
3097
  end
3096
3098
  when 33 then
3097
- # line 396 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3099
+ # line 396 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3098
3100
  begin
3099
3101
  te = p+1
3100
3102
  begin
@@ -3119,7 +3121,7 @@ te = p+1
3119
3121
  end
3120
3122
  end
3121
3123
  when 90 then
3122
- # line 411 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3124
+ # line 411 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3123
3125
  begin
3124
3126
  te = p+1
3125
3127
  begin
@@ -3136,7 +3138,7 @@ te = p+1
3136
3138
  end
3137
3139
  end
3138
3140
  when 85 then
3139
- # line 417 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3141
+ # line 417 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3140
3142
  begin
3141
3143
  te = p+1
3142
3144
  begin
@@ -3151,7 +3153,7 @@ te = p+1
3151
3153
  end
3152
3154
  end
3153
3155
  when 93 then
3154
- # line 310 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3156
+ # line 310 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3155
3157
  begin
3156
3158
  te = p
3157
3159
  p = p - 1; begin
@@ -3166,7 +3168,7 @@ p = p - 1; begin
3166
3168
  end
3167
3169
  end
3168
3170
  when 100 then
3169
- # line 362 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3171
+ # line 362 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3170
3172
  begin
3171
3173
  te = p
3172
3174
  p = p - 1; begin
@@ -3181,7 +3183,7 @@ p = p - 1; begin
3181
3183
  end
3182
3184
  end
3183
3185
  when 102 then
3184
- # line 376 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3186
+ # line 376 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3185
3187
  begin
3186
3188
  te = p
3187
3189
  p = p - 1; begin
@@ -3196,7 +3198,7 @@ p = p - 1; begin
3196
3198
  end
3197
3199
  end
3198
3200
  when 96 then
3199
- # line 381 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3201
+ # line 381 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3200
3202
  begin
3201
3203
  te = p
3202
3204
  p = p - 1; begin
@@ -3221,7 +3223,7 @@ p = p - 1; begin
3221
3223
  end
3222
3224
  end
3223
3225
  when 98 then
3224
- # line 396 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3226
+ # line 396 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3225
3227
  begin
3226
3228
  te = p
3227
3229
  p = p - 1; begin
@@ -3246,7 +3248,7 @@ p = p - 1; begin
3246
3248
  end
3247
3249
  end
3248
3250
  when 37 then
3249
- # line 376 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3251
+ # line 376 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3250
3252
  begin
3251
3253
  begin p = ((te))-1; end
3252
3254
  begin
@@ -3261,7 +3263,7 @@ p = p - 1; begin
3261
3263
  end
3262
3264
  end
3263
3265
  when 29 then
3264
- # line 381 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3266
+ # line 381 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3265
3267
  begin
3266
3268
  begin p = ((te))-1; end
3267
3269
  begin
@@ -3286,7 +3288,7 @@ p = p - 1; begin
3286
3288
  end
3287
3289
  end
3288
3290
  when 32 then
3289
- # line 396 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3291
+ # line 396 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3290
3292
  begin
3291
3293
  begin p = ((te))-1; end
3292
3294
  begin
@@ -3342,7 +3344,7 @@ p = p - 1; begin
3342
3344
  end
3343
3345
  end
3344
3346
  when 39 then
3345
- # line 427 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3347
+ # line 427 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3346
3348
  begin
3347
3349
  te = p+1
3348
3350
  begin
@@ -3352,7 +3354,7 @@ te = p+1
3352
3354
  end
3353
3355
  end
3354
3356
  when 105 then
3355
- # line 433 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3357
+ # line 433 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3356
3358
  begin
3357
3359
  te = p+1
3358
3360
  begin
@@ -3368,7 +3370,7 @@ te = p+1
3368
3370
  end
3369
3371
  end
3370
3372
  when 106 then
3371
- # line 433 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3373
+ # line 433 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3372
3374
  begin
3373
3375
  te = p
3374
3376
  p = p - 1; begin
@@ -3384,7 +3386,7 @@ p = p - 1; begin
3384
3386
  end
3385
3387
  end
3386
3388
  when 38 then
3387
- # line 433 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3389
+ # line 433 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3388
3390
  begin
3389
3391
  begin p = ((te))-1; end
3390
3392
  begin
@@ -3400,7 +3402,7 @@ p = p - 1; begin
3400
3402
  end
3401
3403
  end
3402
3404
  when 45 then
3403
- # line 446 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3405
+ # line 446 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3404
3406
  begin
3405
3407
  te = p+1
3406
3408
  begin
@@ -3408,12 +3410,12 @@ te = p+1
3408
3410
  end
3409
3411
  end
3410
3412
  when 48 then
3411
- # line 450 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3413
+ # line 450 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3412
3414
  begin
3413
3415
  te = p+1
3414
3416
  begin
3415
3417
  if in_conditional and conditional_stack.length > 0 and
3416
- conditional_stack.last[1] == @group_depth
3418
+ conditional_stack.last[1] == group_depth
3417
3419
  emit(:conditional, :separator, *text(data, ts, te))
3418
3420
  else
3419
3421
  emit(:meta, :alternation, *text(data, ts, te))
@@ -3421,7 +3423,7 @@ te = p+1
3421
3423
  end
3422
3424
  end
3423
3425
  when 47 then
3424
- # line 461 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3426
+ # line 461 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3425
3427
  begin
3426
3428
  te = p+1
3427
3429
  begin
@@ -3429,7 +3431,7 @@ te = p+1
3429
3431
  end
3430
3432
  end
3431
3433
  when 42 then
3432
- # line 465 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3434
+ # line 465 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3433
3435
  begin
3434
3436
  te = p+1
3435
3437
  begin
@@ -3437,7 +3439,7 @@ te = p+1
3437
3439
  end
3438
3440
  end
3439
3441
  when 62 then
3440
- # line 469 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3442
+ # line 469 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3441
3443
  begin
3442
3444
  te = p+1
3443
3445
  begin
@@ -3445,7 +3447,7 @@ te = p+1
3445
3447
  end
3446
3448
  end
3447
3449
  when 60 then
3448
- # line 473 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3450
+ # line 473 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3449
3451
  begin
3450
3452
  te = p+1
3451
3453
  begin
@@ -3463,7 +3465,7 @@ te = p+1
3463
3465
  end
3464
3466
  end
3465
3467
  when 61 then
3466
- # line 493 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3468
+ # line 493 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3467
3469
  begin
3468
3470
  te = p+1
3469
3471
  begin
@@ -3485,7 +3487,7 @@ te = p+1
3485
3487
  end
3486
3488
  end
3487
3489
  when 46 then
3488
- # line 514 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3490
+ # line 514 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3489
3491
  begin
3490
3492
  te = p+1
3491
3493
  begin
@@ -3504,7 +3506,7 @@ te = p+1
3504
3506
  end
3505
3507
  end
3506
3508
  when 8 then
3507
- # line 526 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3509
+ # line 526 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3508
3510
  begin
3509
3511
  te = p+1
3510
3512
  begin
@@ -3512,7 +3514,7 @@ te = p+1
3512
3514
 
3513
3515
  in_conditional = true unless in_conditional
3514
3516
  conditional_depth += 1
3515
- conditional_stack << [conditional_depth, @group_depth]
3517
+ conditional_stack << [conditional_depth, group_depth]
3516
3518
 
3517
3519
  emit(:conditional, :open, text[0..-2], ts, te-1)
3518
3520
  emit(:conditional, :condition_open, '(', te-1, te)
@@ -3527,7 +3529,7 @@ te = p+1
3527
3529
  end
3528
3530
  end
3529
3531
  when 9 then
3530
- # line 559 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3532
+ # line 559 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3531
3533
  begin
3532
3534
  te = p+1
3533
3535
  begin
@@ -3535,7 +3537,7 @@ te = p+1
3535
3537
  end
3536
3538
  end
3537
3539
  when 6 then
3538
- # line 569 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3540
+ # line 569 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3539
3541
  begin
3540
3542
  te = p+1
3541
3543
  begin
@@ -3548,7 +3550,7 @@ te = p+1
3548
3550
  end
3549
3551
  end
3550
3552
  when 10 then
3551
- # line 586 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3553
+ # line 586 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3552
3554
  begin
3553
3555
  te = p+1
3554
3556
  begin
@@ -3574,7 +3576,7 @@ te = p+1
3574
3576
  end
3575
3577
  end
3576
3578
  when 13 then
3577
- # line 638 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3579
+ # line 638 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3578
3580
  begin
3579
3581
  te = p+1
3580
3582
  begin
@@ -3646,7 +3648,7 @@ te = p+1
3646
3648
  end
3647
3649
  end
3648
3650
  when 58 then
3649
- # line 709 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3651
+ # line 709 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3650
3652
  begin
3651
3653
  te = p+1
3652
3654
  begin
@@ -3658,7 +3660,7 @@ te = p+1
3658
3660
  end
3659
3661
  end
3660
3662
  when 54 then
3661
- # line 717 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3663
+ # line 717 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3662
3664
  begin
3663
3665
  te = p+1
3664
3666
  begin
@@ -3670,7 +3672,7 @@ te = p+1
3670
3672
  end
3671
3673
  end
3672
3674
  when 56 then
3673
- # line 725 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3675
+ # line 725 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3674
3676
  begin
3675
3677
  te = p+1
3676
3678
  begin
@@ -3682,7 +3684,7 @@ te = p+1
3682
3684
  end
3683
3685
  end
3684
3686
  when 64 then
3685
- # line 733 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3687
+ # line 733 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3686
3688
  begin
3687
3689
  te = p+1
3688
3690
  begin
@@ -3690,11 +3692,11 @@ te = p+1
3690
3692
  end
3691
3693
  end
3692
3694
  when 4 then
3693
- # line 743 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3695
+ # line 743 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3694
3696
  begin
3695
3697
  te = p+1
3696
3698
  begin
3697
- if @free_spacing
3699
+ if free_spacing
3698
3700
  emit(:free_space, :comment, *text(data, ts, te))
3699
3701
  else
3700
3702
  append_literal(data, ts, te)
@@ -3702,7 +3704,7 @@ te = p+1
3702
3704
  end
3703
3705
  end
3704
3706
  when 51 then
3705
- # line 608 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3707
+ # line 608 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3706
3708
  begin
3707
3709
  te = p
3708
3710
  p = p - 1; begin
@@ -3711,7 +3713,7 @@ p = p - 1; begin
3711
3713
  end
3712
3714
  end
3713
3715
  when 57 then
3714
- # line 709 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3716
+ # line 709 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3715
3717
  begin
3716
3718
  te = p
3717
3719
  p = p - 1; begin
@@ -3723,7 +3725,7 @@ p = p - 1; begin
3723
3725
  end
3724
3726
  end
3725
3727
  when 53 then
3726
- # line 717 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3728
+ # line 717 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3727
3729
  begin
3728
3730
  te = p
3729
3731
  p = p - 1; begin
@@ -3735,7 +3737,7 @@ p = p - 1; begin
3735
3737
  end
3736
3738
  end
3737
3739
  when 55 then
3738
- # line 725 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3740
+ # line 725 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3739
3741
  begin
3740
3742
  te = p
3741
3743
  p = p - 1; begin
@@ -3747,7 +3749,7 @@ p = p - 1; begin
3747
3749
  end
3748
3750
  end
3749
3751
  when 63 then
3750
- # line 733 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3752
+ # line 733 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3751
3753
  begin
3752
3754
  te = p
3753
3755
  p = p - 1; begin
@@ -3755,7 +3757,7 @@ p = p - 1; begin
3755
3757
  end
3756
3758
  end
3757
3759
  when 59 then
3758
- # line 739 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3760
+ # line 739 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3759
3761
  begin
3760
3762
  te = p
3761
3763
  p = p - 1; begin
@@ -3770,11 +3772,11 @@ p = p - 1; begin
3770
3772
  end
3771
3773
  end
3772
3774
  when 50 then
3773
- # line 751 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3775
+ # line 751 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3774
3776
  begin
3775
3777
  te = p
3776
3778
  p = p - 1; begin
3777
- if @free_spacing
3779
+ if free_spacing
3778
3780
  emit(:free_space, :whitespace, *text(data, ts, te))
3779
3781
  else
3780
3782
  append_literal(data, ts, te)
@@ -3782,7 +3784,7 @@ p = p - 1; begin
3782
3784
  end
3783
3785
  end
3784
3786
  when 49 then
3785
- # line 766 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3787
+ # line 766 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3786
3788
  begin
3787
3789
  te = p
3788
3790
  p = p - 1; begin
@@ -3790,7 +3792,7 @@ p = p - 1; begin
3790
3792
  end
3791
3793
  end
3792
3794
  when 5 then
3793
- # line 608 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3795
+ # line 608 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3794
3796
  begin
3795
3797
  begin p = ((te))-1; end
3796
3798
  begin
@@ -3799,7 +3801,7 @@ p = p - 1; begin
3799
3801
  end
3800
3802
  end
3801
3803
  when 12 then
3802
- # line 739 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3804
+ # line 739 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3803
3805
  begin
3804
3806
  begin p = ((te))-1; end
3805
3807
  begin
@@ -3814,7 +3816,7 @@ p = p - 1; begin
3814
3816
  end
3815
3817
  end
3816
3818
  when 3 then
3817
- # line 766 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3819
+ # line 766 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3818
3820
  begin
3819
3821
  begin p = ((te))-1; end
3820
3822
  begin
@@ -3840,13 +3842,13 @@ end
3840
3842
  end
3841
3843
  end
3842
3844
  when 74 then
3843
- # line 134 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3845
+ # line 134 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3844
3846
  begin
3845
3847
 
3846
3848
  text = ts ? copy(data, ts-1..-1) : data.pack('c*')
3847
3849
  raise PrematureEndError.new( text )
3848
3850
  end
3849
- # line 201 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3851
+ # line 201 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3850
3852
  begin
3851
3853
  te = p
3852
3854
  p = p - 1; begin
@@ -3865,13 +3867,13 @@ p = p - 1; begin
3865
3867
  end
3866
3868
  end
3867
3869
  when 20 then
3868
- # line 134 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3870
+ # line 134 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3869
3871
  begin
3870
3872
 
3871
3873
  text = ts ? copy(data, ts-1..-1) : data.pack('c*')
3872
3874
  raise PrematureEndError.new( text )
3873
3875
  end
3874
- # line 201 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3876
+ # line 201 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3875
3877
  begin
3876
3878
  begin p = ((te))-1; end
3877
3879
  begin
@@ -3890,13 +3892,13 @@ p = p - 1; begin
3890
3892
  end
3891
3893
  end
3892
3894
  when 99 then
3893
- # line 134 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3895
+ # line 134 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3894
3896
  begin
3895
3897
 
3896
3898
  text = ts ? copy(data, ts-1..-1) : data.pack('c*')
3897
3899
  raise PrematureEndError.new( text )
3898
3900
  end
3899
- # line 362 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3901
+ # line 362 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3900
3902
  begin
3901
3903
  te = p
3902
3904
  p = p - 1; begin
@@ -3911,13 +3913,13 @@ p = p - 1; begin
3911
3913
  end
3912
3914
  end
3913
3915
  when 103 then
3914
- # line 134 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3916
+ # line 134 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3915
3917
  begin
3916
3918
 
3917
3919
  text = ts ? copy(data, ts-1..-1) : data.pack('c*')
3918
3920
  raise PrematureEndError.new( text )
3919
3921
  end
3920
- # line 376 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3922
+ # line 376 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3921
3923
  begin
3922
3924
  te = p
3923
3925
  p = p - 1; begin
@@ -3932,13 +3934,13 @@ p = p - 1; begin
3932
3934
  end
3933
3935
  end
3934
3936
  when 95 then
3935
- # line 134 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3937
+ # line 134 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3936
3938
  begin
3937
3939
 
3938
3940
  text = ts ? copy(data, ts-1..-1) : data.pack('c*')
3939
3941
  raise PrematureEndError.new( text )
3940
3942
  end
3941
- # line 381 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3943
+ # line 381 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3942
3944
  begin
3943
3945
  te = p
3944
3946
  p = p - 1; begin
@@ -3963,13 +3965,13 @@ p = p - 1; begin
3963
3965
  end
3964
3966
  end
3965
3967
  when 97 then
3966
- # line 134 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3968
+ # line 134 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3967
3969
  begin
3968
3970
 
3969
3971
  text = ts ? copy(data, ts-1..-1) : data.pack('c*')
3970
3972
  raise PrematureEndError.new( text )
3971
3973
  end
3972
- # line 396 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3974
+ # line 396 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3973
3975
  begin
3974
3976
  te = p
3975
3977
  p = p - 1; begin
@@ -3994,13 +3996,13 @@ p = p - 1; begin
3994
3996
  end
3995
3997
  end
3996
3998
  when 28 then
3997
- # line 134 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3999
+ # line 134 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
3998
4000
  begin
3999
4001
 
4000
4002
  text = ts ? copy(data, ts-1..-1) : data.pack('c*')
4001
4003
  raise PrematureEndError.new( text )
4002
4004
  end
4003
- # line 381 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4005
+ # line 381 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4004
4006
  begin
4005
4007
  begin p = ((te))-1; end
4006
4008
  begin
@@ -4025,13 +4027,13 @@ p = p - 1; begin
4025
4027
  end
4026
4028
  end
4027
4029
  when 31 then
4028
- # line 134 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4030
+ # line 134 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4029
4031
  begin
4030
4032
 
4031
4033
  text = ts ? copy(data, ts-1..-1) : data.pack('c*')
4032
4034
  raise PrematureEndError.new( text )
4033
4035
  end
4034
- # line 396 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4036
+ # line 396 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4035
4037
  begin
4036
4038
  begin p = ((te))-1; end
4037
4039
  begin
@@ -4056,13 +4058,13 @@ p = p - 1; begin
4056
4058
  end
4057
4059
  end
4058
4060
  when 35 then
4059
- # line 140 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4061
+ # line 140 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4060
4062
  begin
4061
4063
 
4062
4064
  text = ts ? copy(data, ts-1..-1) : data.pack('c*')
4063
4065
  raise InvalidSequenceError.new('sequence', text)
4064
4066
  end
4065
- # line 372 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4067
+ # line 372 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4066
4068
  begin
4067
4069
  te = p+1
4068
4070
  begin
@@ -4076,17 +4078,17 @@ te = p+1
4076
4078
  end
4077
4079
  end
4078
4080
  when 52 then
4079
- # line 147 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4081
+ # line 147 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4080
4082
  begin
4081
- @group_depth -= 1; @in_group = @group_depth > 0 ? true : false end
4082
- # line 146 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4083
+ self.group_depth = group_depth - 1; in_group = group_depth > 0 ? true : false end
4084
+ # line 146 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4083
4085
  begin
4084
- @group_depth += 1; @in_group = true end
4086
+ self.group_depth = group_depth + 1; in_group = true end
4085
4087
  when 11 then
4086
- # line 147 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4088
+ # line 147 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4087
4089
  begin
4088
- @group_depth -= 1; @in_group = @group_depth > 0 ? true : false end
4089
- # line 544 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4090
+ self.group_depth = group_depth - 1; in_group = group_depth > 0 ? true : false end
4091
+ # line 544 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4090
4092
  begin
4091
4093
  te = p+1
4092
4094
  begin
@@ -4094,15 +4096,15 @@ te = p+1
4094
4096
  end
4095
4097
  end
4096
4098
  when 44 then
4097
- # line 147 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4099
+ # line 147 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4098
4100
  begin
4099
- @group_depth -= 1; @in_group = @group_depth > 0 ? true : false end
4100
- # line 613 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4101
+ self.group_depth = group_depth - 1; in_group = group_depth > 0 ? true : false end
4102
+ # line 613 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4101
4103
  begin
4102
4104
  te = p+1
4103
4105
  begin
4104
4106
  if in_conditional and conditional_stack.last and
4105
- conditional_stack.last[1] == (@group_depth + 1)
4107
+ conditional_stack.last[1] == (group_depth + 1)
4106
4108
 
4107
4109
  emit(:conditional, :close, *text(data, ts, te))
4108
4110
  conditional_stack.pop
@@ -4111,11 +4113,11 @@ te = p+1
4111
4113
  in_conditional = false
4112
4114
  end
4113
4115
  else
4114
- if @spacing_stack.length > 1 and
4115
- @spacing_stack.last[:depth] == (@group_depth + 1)
4116
- @spacing_stack.pop
4116
+ if spacing_stack.length > 1 and
4117
+ spacing_stack.last[:depth] == (group_depth + 1)
4118
+ spacing_stack.pop
4117
4119
 
4118
- @free_spacing = @spacing_stack.last[:free_spacing]
4120
+ self.free_spacing = spacing_stack.last[:free_spacing]
4119
4121
  end
4120
4122
 
4121
4123
  emit(:group, :close, *text(data, ts, te))
@@ -4127,15 +4129,15 @@ te = p+1
4127
4129
  begin
4128
4130
  te = p+1
4129
4131
  end
4130
- # line 146 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4132
+ # line 146 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4131
4133
  begin
4132
- @group_depth += 1; @in_group = true end
4134
+ self.group_depth = group_depth + 1; in_group = true end
4133
4135
  when 77 then
4134
4136
  # line 1 "NONE"
4135
4137
  begin
4136
4138
  te = p+1
4137
4139
  end
4138
- # line 278 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4140
+ # line 278 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4139
4141
  begin
4140
4142
  act = 18; end
4141
4143
  when 26 then
@@ -4143,7 +4145,7 @@ act = 18; end
4143
4145
  begin
4144
4146
  te = p+1
4145
4147
  end
4146
- # line 294 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4148
+ # line 294 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4147
4149
  begin
4148
4150
  act = 20; end
4149
4151
  when 88 then
@@ -4151,7 +4153,7 @@ act = 20; end
4151
4153
  begin
4152
4154
  te = p+1
4153
4155
  end
4154
- # line 304 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4156
+ # line 304 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4155
4157
  begin
4156
4158
  act = 21; end
4157
4159
  when 87 then
@@ -4159,7 +4161,7 @@ act = 21; end
4159
4161
  begin
4160
4162
  te = p+1
4161
4163
  end
4162
- # line 310 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4164
+ # line 310 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4163
4165
  begin
4164
4166
  act = 22; end
4165
4167
  when 2 then
@@ -4167,10 +4169,10 @@ act = 22; end
4167
4169
  begin
4168
4170
  te = p+1
4169
4171
  end
4170
- # line 766 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4172
+ # line 766 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4171
4173
  begin
4172
4174
  act = 59; end
4173
- # line 4173 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner.rb"
4175
+ # line 4175 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
4174
4176
  end
4175
4177
  end
4176
4178
  end
@@ -4188,7 +4190,7 @@ ts = nil; end
4188
4190
  begin
4189
4191
  act = 0
4190
4192
  end
4191
- # line 4191 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner.rb"
4193
+ # line 4193 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
4192
4194
  end
4193
4195
 
4194
4196
  if cs == 0
@@ -4210,19 +4212,19 @@ act = 0
4210
4212
  end
4211
4213
  case _re_scanner_eof_actions[cs]
4212
4214
  when 15 then
4213
- # line 54 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/property.rl"
4215
+ # line 54 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/property.rl"
4214
4216
  begin
4215
4217
 
4216
4218
  raise PrematureEndError.new('unicode property')
4217
4219
  end
4218
4220
  when 14 then
4219
- # line 134 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4221
+ # line 134 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4220
4222
  begin
4221
4223
 
4222
4224
  text = ts ? copy(data, ts-1..-1) : data.pack('c*')
4223
4225
  raise PrematureEndError.new( text )
4224
4226
  end
4225
- # line 4225 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner.rb"
4227
+ # line 4227 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
4226
4228
  end
4227
4229
  end
4228
4230
 
@@ -4233,7 +4235,7 @@ act = 0
4233
4235
  end
4234
4236
  end
4235
4237
 
4236
- # line 866 "/Users/ammar/src/code/ruby/projects/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4238
+ # line 868 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
4237
4239
 
4238
4240
  if cs == re_scanner_error
4239
4241
  text = ts ? copy(data, ts-1..-1) : data.pack('c*')
@@ -4241,31 +4243,35 @@ end
4241
4243
  end
4242
4244
 
4243
4245
  raise PrematureEndError.new("(missing group closing paranthesis) "+
4244
- "[#{@in_group}:#{@group_depth}]") if @in_group
4246
+ "[#{in_group}:#{group_depth}]") if in_group
4245
4247
  raise PrematureEndError.new("(missing set closing bracket) "+
4246
4248
  "[#{in_set}:#{set_depth}]") if in_set
4247
4249
 
4248
4250
  # when the entire expression is a literal run
4249
- emit_literal if @literal
4251
+ emit_literal if literal
4250
4252
 
4251
- @tokens
4253
+ tokens
4252
4254
  end
4253
4255
 
4254
4256
  # Emits an array with the details of the scanned pattern
4255
4257
  def emit(type, token, text, ts, te)
4256
4258
  #puts "EMIT: type: #{type}, token: #{token}, text: #{text}, ts: #{ts}, te: #{te}"
4257
4259
 
4258
- emit_literal if @literal
4260
+ emit_literal if literal
4259
4261
 
4260
- if @block
4261
- @block.call type, token, text, ts, te
4262
+ if block
4263
+ block.call type, token, text, ts, te
4262
4264
  end
4263
4265
 
4264
- @tokens << [type, token, text, ts, te]
4266
+ tokens << [type, token, text, ts, te]
4265
4267
  end
4266
4268
 
4267
4269
  private
4268
4270
 
4271
+ attr_accessor :tokens, :literal, :block,
4272
+ :in_group, :group_depth,
4273
+ :free_spacing, :spacing_stack
4274
+
4269
4275
  # Ragel's regex-based scan of the group options introduced a lot of
4270
4276
  # ambiguity, so we just ask it to find the beginning of what looks
4271
4277
  # like an options run and handle the rest in here.
@@ -4334,19 +4340,19 @@ end
4334
4340
  # Appends one or more characters to the literal buffer, to be emitted later
4335
4341
  # by a call to emit_literal. Contents can be a mix of ASCII and UTF-8.
4336
4342
  def append_literal(data, ts, te)
4337
- @literal ||= []
4338
- @literal << text(data, ts, te)
4343
+ self.literal = literal || []
4344
+ literal << text(data, ts, te)
4339
4345
  end
4340
4346
 
4341
4347
  # Emits the literal run collected by calls to the append_literal method,
4342
4348
  # using the total start (ts) and end (te) offsets of the run.
4343
4349
  def emit_literal
4344
- ts, te = @literal.first[1], @literal.last[2]
4345
- text = @literal.map {|t| t[0]}.join
4350
+ ts, te = literal.first[1], literal.last[2]
4351
+ text = literal.map {|t| t[0]}.join
4346
4352
 
4347
4353
  text.force_encoding('utf-8') if text.respond_to?(:force_encoding)
4348
4354
 
4349
- @literal = nil
4355
+ self.literal = nil
4350
4356
  emit(:literal, :literal, text, ts, te)
4351
4357
  end
4352
4358
 
@@ -4355,20 +4361,20 @@ end
4355
4361
  positive, negative, group_local = $1, $2, $3
4356
4362
 
4357
4363
  if positive.include?('x')
4358
- @free_spacing = true
4364
+ self.free_spacing = true
4359
4365
  end
4360
4366
 
4361
4367
  # If the x appears in both, treat it like ruby does, the second cancels
4362
4368
  # the first.
4363
4369
  if negative.include?('x')
4364
- @free_spacing = false
4370
+ self.free_spacing = false
4365
4371
  end
4366
4372
 
4367
4373
  if group_local
4368
- @spacing_stack << {:free_spacing => @free_spacing, :depth => @group_depth}
4374
+ spacing_stack << {:free_spacing => free_spacing, :depth => group_depth}
4369
4375
  else
4370
4376
  # switch for parent group level
4371
- @spacing_stack.last[:free_spacing] = @free_spacing
4377
+ spacing_stack.last[:free_spacing] = free_spacing
4372
4378
  end
4373
4379
  end
4374
4380