rattler 0.4.1 → 0.4.2

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 (243) hide show
  1. data/README.rdoc +2 -2
  2. data/bin/rtlr.compiled.rbc +201 -0
  3. data/features/command_line/dest_option.feature +1 -0
  4. data/features/command_line/lib_option.feature +2 -0
  5. data/features/command_line/output_option.feature +2 -0
  6. data/features/command_line/parser_generator.feature +3 -0
  7. data/features/step_definitions/cli_steps.rbc +149 -0
  8. data/features/step_definitions/grammar_steps.rbc +1211 -0
  9. data/features/support/env.rb +4 -0
  10. data/features/support/env.rbc +389 -0
  11. data/lib/rattler.rbc +1231 -0
  12. data/lib/rattler/back_end.rbc +286 -0
  13. data/lib/rattler/back_end/compiler.rbc +1394 -0
  14. data/lib/rattler/back_end/optimizer.rbc +2000 -0
  15. data/lib/rattler/back_end/optimizer/composite_reducing.rbc +337 -0
  16. data/lib/rattler/back_end/optimizer/flatten_choice.rbc +443 -0
  17. data/lib/rattler/back_end/optimizer/flatten_sequence.rbc +827 -0
  18. data/lib/rattler/back_end/optimizer/flattening.rbc +570 -0
  19. data/lib/rattler/back_end/optimizer/inline_regular_rules.rbc +691 -0
  20. data/lib/rattler/back_end/optimizer/join_match_capturing_sequence.rbc +1299 -0
  21. data/lib/rattler/back_end/optimizer/join_match_choice.rbc +523 -0
  22. data/lib/rattler/back_end/optimizer/join_match_matching_sequence.rbc +619 -0
  23. data/lib/rattler/back_end/optimizer/join_match_sequence.rbc +174 -0
  24. data/lib/rattler/back_end/optimizer/join_predicate_bare_match.rbc +1505 -0
  25. data/lib/rattler/back_end/optimizer/join_predicate_match.rbc +174 -0
  26. data/lib/rattler/back_end/optimizer/join_predicate_nested_match.rbc +620 -0
  27. data/lib/rattler/back_end/optimizer/join_predicate_or_bare_match.rbc +1502 -0
  28. data/lib/rattler/back_end/optimizer/join_predicate_or_match.rbc +174 -0
  29. data/lib/rattler/back_end/optimizer/join_predicate_or_nested_match.rbc +616 -0
  30. data/lib/rattler/back_end/optimizer/match_joining.rbc +1454 -0
  31. data/lib/rattler/back_end/optimizer/optimization.rbc +1366 -0
  32. data/lib/rattler/back_end/optimizer/optimization_context.rbc +1386 -0
  33. data/lib/rattler/back_end/optimizer/optimization_sequence.rbc +520 -0
  34. data/lib/rattler/back_end/optimizer/optimize_children.rbc +793 -0
  35. data/lib/rattler/back_end/optimizer/reduce_repeat_match.rbc +788 -0
  36. data/lib/rattler/back_end/optimizer/remove_meaningless_wrapper.rbc +508 -0
  37. data/lib/rattler/back_end/optimizer/simplify_redundant_repeat.rbc +807 -0
  38. data/lib/rattler/back_end/optimizer/simplify_token_match.rbc +561 -0
  39. data/lib/rattler/back_end/parser_generator.rbc +1326 -0
  40. data/lib/rattler/back_end/parser_generator/apply_generator.rb +30 -37
  41. data/lib/rattler/back_end/parser_generator/apply_generator.rbc +2148 -0
  42. data/lib/rattler/back_end/parser_generator/assert_generator.rb +8 -24
  43. data/lib/rattler/back_end/parser_generator/assert_generator.rbc +1967 -0
  44. data/lib/rattler/back_end/parser_generator/back_reference_generator.rb +15 -39
  45. data/lib/rattler/back_end/parser_generator/back_reference_generator.rbc +1665 -0
  46. data/lib/rattler/back_end/parser_generator/choice_generator.rb +28 -40
  47. data/lib/rattler/back_end/parser_generator/choice_generator.rbc +2793 -0
  48. data/lib/rattler/back_end/parser_generator/direct_action_generator.rb +6 -20
  49. data/lib/rattler/back_end/parser_generator/direct_action_generator.rbc +1071 -0
  50. data/lib/rattler/back_end/parser_generator/disallow_generator.rb +8 -24
  51. data/lib/rattler/back_end/parser_generator/disallow_generator.rbc +1967 -0
  52. data/lib/rattler/back_end/parser_generator/dispatch_action_generator.rb +6 -20
  53. data/lib/rattler/back_end/parser_generator/dispatch_action_generator.rbc +1071 -0
  54. data/lib/rattler/back_end/parser_generator/expr_generator.rb +33 -65
  55. data/lib/rattler/back_end/parser_generator/expr_generator.rbc +2295 -0
  56. data/lib/rattler/back_end/parser_generator/fail_generator.rb +10 -30
  57. data/lib/rattler/back_end/parser_generator/fail_generator.rbc +1216 -0
  58. data/lib/rattler/back_end/parser_generator/gen_method_names.rbc +296 -0
  59. data/lib/rattler/back_end/parser_generator/group_match.rbc +612 -0
  60. data/lib/rattler/back_end/parser_generator/group_match_generator.rb +11 -18
  61. data/lib/rattler/back_end/parser_generator/group_match_generator.rbc +1647 -0
  62. data/lib/rattler/back_end/parser_generator/label_generator.rb +7 -10
  63. data/lib/rattler/back_end/parser_generator/label_generator.rbc +1401 -0
  64. data/lib/rattler/back_end/parser_generator/list1_generator.rb +8 -15
  65. data/lib/rattler/back_end/parser_generator/list1_generator.rbc +1237 -0
  66. data/lib/rattler/back_end/parser_generator/list_generating.rb +28 -27
  67. data/lib/rattler/back_end/parser_generator/list_generating.rbc +1900 -0
  68. data/lib/rattler/back_end/parser_generator/list_generator.rb +5 -11
  69. data/lib/rattler/back_end/parser_generator/list_generator.rbc +1068 -0
  70. data/lib/rattler/back_end/parser_generator/match_generator.rb +15 -39
  71. data/lib/rattler/back_end/parser_generator/match_generator.rbc +1743 -0
  72. data/lib/rattler/back_end/parser_generator/nested.rb +11 -5
  73. data/lib/rattler/back_end/parser_generator/nested.rbc +496 -0
  74. data/lib/rattler/back_end/parser_generator/one_or_more_generator.rb +10 -8
  75. data/lib/rattler/back_end/parser_generator/one_or_more_generator.rbc +1277 -0
  76. data/lib/rattler/back_end/parser_generator/optional_generator.rb +29 -49
  77. data/lib/rattler/back_end/parser_generator/optional_generator.rbc +2025 -0
  78. data/lib/rattler/back_end/parser_generator/predicate_propogating.rbc +648 -0
  79. data/lib/rattler/back_end/parser_generator/repeat_generating.rb +26 -36
  80. data/lib/rattler/back_end/parser_generator/repeat_generating.rbc +1549 -0
  81. data/lib/rattler/back_end/parser_generator/rule_generator.rbc +1239 -0
  82. data/lib/rattler/back_end/parser_generator/rule_set_generator.rbc +2641 -0
  83. data/lib/rattler/back_end/parser_generator/sequence_generator.rb +37 -61
  84. data/lib/rattler/back_end/parser_generator/sequence_generator.rbc +4867 -0
  85. data/lib/rattler/back_end/parser_generator/skip_generator.rb +10 -14
  86. data/lib/rattler/back_end/parser_generator/skip_generator.rbc +1278 -0
  87. data/lib/rattler/back_end/parser_generator/skip_propogating.rbc +432 -0
  88. data/lib/rattler/back_end/parser_generator/sub_generating.rb +52 -33
  89. data/lib/rattler/back_end/parser_generator/sub_generating.rbc +2785 -0
  90. data/lib/rattler/back_end/parser_generator/token_generator.rb +0 -19
  91. data/lib/rattler/back_end/parser_generator/token_generator.rbc +755 -0
  92. data/lib/rattler/back_end/parser_generator/token_propogating.rbc +324 -0
  93. data/lib/rattler/back_end/parser_generator/top_level.rb +8 -6
  94. data/lib/rattler/back_end/parser_generator/top_level.rbc +352 -0
  95. data/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb +7 -5
  96. data/lib/rattler/back_end/parser_generator/zero_or_more_generator.rbc +1111 -0
  97. data/lib/rattler/back_end/ruby_generator.rbc +1841 -0
  98. data/lib/rattler/grammar.rbc +557 -0
  99. data/lib/rattler/grammar/analysis.rbc +1944 -0
  100. data/lib/rattler/grammar/grammar.rbc +1090 -0
  101. data/lib/rattler/grammar/grammar_dsl.rbc +1401 -0
  102. data/lib/rattler/grammar/grammar_parser.rbc +2096 -0
  103. data/lib/rattler/grammar/metagrammar.rb +1 -1
  104. data/lib/rattler/grammar/metagrammar.rbc +11014 -0
  105. data/lib/rattler/grammar/rattler.rtlr +1 -1
  106. data/lib/rattler/parsers.rb +1 -1
  107. data/lib/rattler/parsers.rbc +1006 -0
  108. data/lib/rattler/parsers/action_code.rb +20 -26
  109. data/lib/rattler/parsers/action_code.rbc +1577 -0
  110. data/lib/rattler/parsers/apply.rbc +562 -0
  111. data/lib/rattler/parsers/assert.rbc +378 -0
  112. data/lib/rattler/parsers/back_reference.rbc +871 -0
  113. data/lib/rattler/parsers/choice.rbc +607 -0
  114. data/lib/rattler/parsers/combinator_parser.rbc +612 -0
  115. data/lib/rattler/parsers/combining.rbc +570 -0
  116. data/lib/rattler/parsers/direct_action.rbc +1472 -0
  117. data/lib/rattler/parsers/disallow.rbc +379 -0
  118. data/lib/rattler/parsers/dispatch_action.rbc +2078 -0
  119. data/lib/rattler/parsers/eof.rbc +567 -0
  120. data/lib/rattler/parsers/fail.rbc +745 -0
  121. data/lib/rattler/parsers/label.rbc +749 -0
  122. data/lib/rattler/parsers/list.rbc +292 -0
  123. data/lib/rattler/parsers/{list.rb → list0.rb} +3 -3
  124. data/lib/rattler/parsers/list0.rbc +292 -0
  125. data/lib/rattler/parsers/list1.rbc +305 -0
  126. data/lib/rattler/parsers/list_parser.rbc +886 -0
  127. data/lib/rattler/parsers/match.rbc +621 -0
  128. data/lib/rattler/parsers/node_code.rbc +1064 -0
  129. data/lib/rattler/parsers/one_or_more.rbc +475 -0
  130. data/lib/rattler/parsers/optional.rbc +450 -0
  131. data/lib/rattler/parsers/parser.rbc +994 -0
  132. data/lib/rattler/parsers/parser_dsl.rb +6 -4
  133. data/lib/rattler/parsers/parser_dsl.rbc +4765 -0
  134. data/lib/rattler/parsers/predicate.rbc +490 -0
  135. data/lib/rattler/parsers/rule.rbc +777 -0
  136. data/lib/rattler/parsers/rule_set.rbc +1438 -0
  137. data/lib/rattler/parsers/sequence.rbc +1040 -0
  138. data/lib/rattler/parsers/skip.rbc +613 -0
  139. data/lib/rattler/parsers/token.rbc +457 -0
  140. data/lib/rattler/parsers/zero_or_more.rbc +462 -0
  141. data/lib/rattler/runner.rbc +3813 -0
  142. data/lib/rattler/runtime.rbc +370 -0
  143. data/lib/rattler/runtime/extended_packrat_parser.rbc +2351 -0
  144. data/lib/rattler/runtime/packrat_parser.rbc +1390 -0
  145. data/lib/rattler/runtime/parse_failure.rbc +909 -0
  146. data/lib/rattler/runtime/parse_node.rbc +1007 -0
  147. data/lib/rattler/runtime/parser.rbc +2267 -0
  148. data/lib/rattler/runtime/parser_helper.rbc +337 -0
  149. data/lib/rattler/runtime/recursive_descent_parser.rbc +942 -0
  150. data/lib/rattler/util.rbc +286 -0
  151. data/lib/rattler/util/graphviz.rbc +327 -0
  152. data/lib/rattler/util/graphviz/node_builder.rbc +2207 -0
  153. data/lib/rattler/util/line_counter.rbc +988 -0
  154. data/lib/rattler/util/node.rbc +2393 -0
  155. data/lib/rattler/util/parser_spec_helper.rbc +2533 -0
  156. data/spec/rattler/back_end/compiler_spec.rbc +1187 -0
  157. data/spec/rattler/back_end/optimizer/flatten_choice_spec.rbc +2093 -0
  158. data/spec/rattler/back_end/optimizer/flatten_sequence_spec.rbc +4055 -0
  159. data/spec/rattler/back_end/optimizer/inline_regular_rules_spec.rbc +2345 -0
  160. data/spec/rattler/back_end/optimizer/join_match_capturing_sequence_spec.rbc +7006 -0
  161. data/spec/rattler/back_end/optimizer/join_match_choice_spec.rbc +3252 -0
  162. data/spec/rattler/back_end/optimizer/join_match_matching_sequence_spec.rbc +3681 -0
  163. data/spec/rattler/back_end/optimizer/join_predicate_bare_match_spec.rbc +5603 -0
  164. data/spec/rattler/back_end/optimizer/join_predicate_nested_match_spec.rbc +5232 -0
  165. data/spec/rattler/back_end/optimizer/join_predicate_or_bare_match_spec.rbc +4272 -0
  166. data/spec/rattler/back_end/optimizer/join_predicate_or_nested_match_spec.rbc +4342 -0
  167. data/spec/rattler/back_end/optimizer/reduce_repeat_match_spec.rbc +2960 -0
  168. data/spec/rattler/back_end/optimizer/simplify_redundant_repeat_spec.rbc +6929 -0
  169. data/spec/rattler/back_end/optimizer/simplify_token_match_spec.rbc +2327 -0
  170. data/spec/rattler/back_end/optimizer_spec.rbc +372 -0
  171. data/spec/rattler/back_end/parser_generator/apply_generator_spec.rbc +4710 -0
  172. data/spec/rattler/back_end/parser_generator/assert_generator_spec.rbc +4697 -0
  173. data/spec/rattler/back_end/parser_generator/back_reference_generator_spec.rbc +4855 -0
  174. data/spec/rattler/back_end/parser_generator/choice_generator_spec.rbc +5350 -0
  175. data/spec/rattler/back_end/parser_generator/direct_action_generator_spec.rbc +4737 -0
  176. data/spec/rattler/back_end/parser_generator/disallow_generator_spec.rbc +4697 -0
  177. data/spec/rattler/back_end/parser_generator/dispatch_action_generator_spec.rbc +4731 -0
  178. data/spec/rattler/back_end/parser_generator/fail_generator_spec.rbc +2115 -0
  179. data/spec/rattler/back_end/parser_generator/group_match_generator_spec.rbc +4195 -0
  180. data/spec/rattler/back_end/parser_generator/group_match_spec.rbc +1414 -0
  181. data/spec/rattler/back_end/parser_generator/label_generator_spec.rbc +4696 -0
  182. data/spec/rattler/back_end/parser_generator/list1_generator_spec.rbc +5213 -0
  183. data/spec/rattler/back_end/parser_generator/list_generator_spec.rb +3 -3
  184. data/spec/rattler/back_end/parser_generator/list_generator_spec.rbc +5179 -0
  185. data/spec/rattler/back_end/parser_generator/match_generator_spec.rbc +4681 -0
  186. data/spec/rattler/back_end/parser_generator/one_or_more_generator_spec.rbc +4957 -0
  187. data/spec/rattler/back_end/parser_generator/optional_generator_spec.rbc +4704 -0
  188. data/spec/rattler/back_end/parser_generator/rule_generator_spec.rbc +545 -0
  189. data/spec/rattler/back_end/parser_generator/rule_set_generator_spec.rbc +1110 -0
  190. data/spec/rattler/back_end/parser_generator/sequence_generator_spec.rbc +5453 -0
  191. data/spec/rattler/back_end/parser_generator/skip_generator_spec.rbc +4691 -0
  192. data/spec/rattler/back_end/parser_generator/token_generator_spec.rbc +4691 -0
  193. data/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rbc +4924 -0
  194. data/spec/rattler/back_end/ruby_generator_spec.rbc +2460 -0
  195. data/spec/rattler/back_end/shared_compiler_examples.rbc +41886 -0
  196. data/spec/rattler/grammar/analysis_spec.rbc +4365 -0
  197. data/spec/rattler/grammar/grammar_parser_spec.rbc +10344 -0
  198. data/spec/rattler/grammar/grammar_spec.rbc +1701 -0
  199. data/spec/rattler/parsers/action_code_spec.rb +0 -29
  200. data/spec/rattler/parsers/action_code_spec.rbc +4674 -0
  201. data/spec/rattler/parsers/apply_spec.rbc +851 -0
  202. data/spec/rattler/parsers/assert_spec.rbc +752 -0
  203. data/spec/rattler/parsers/back_reference_spec.rbc +1002 -0
  204. data/spec/rattler/parsers/choice_spec.rbc +1696 -0
  205. data/spec/rattler/parsers/combinator_parser_spec.rbc +361 -0
  206. data/spec/rattler/parsers/direct_action_spec.rbc +5222 -0
  207. data/spec/rattler/parsers/disallow_spec.rbc +752 -0
  208. data/spec/rattler/parsers/dispatch_action_spec.rbc +3033 -0
  209. data/spec/rattler/parsers/eof_spec.rbc +728 -0
  210. data/spec/rattler/parsers/fail_spec.rbc +548 -0
  211. data/spec/rattler/parsers/label_spec.rbc +1091 -0
  212. data/spec/rattler/parsers/{list_spec.rb → list0_spec.rb} +5 -5
  213. data/spec/rattler/parsers/list0_spec.rbc +2308 -0
  214. data/spec/rattler/parsers/list1_spec.rbc +2287 -0
  215. data/spec/rattler/parsers/list_spec.rbc +2308 -0
  216. data/spec/rattler/parsers/match_spec.rbc +780 -0
  217. data/spec/rattler/parsers/node_code_spec.rbc +1754 -0
  218. data/spec/rattler/parsers/one_or_more_spec.rbc +1698 -0
  219. data/spec/rattler/parsers/optional_spec.rbc +1717 -0
  220. data/spec/rattler/parsers/parser_dsl_spec.rb +2 -2
  221. data/spec/rattler/parsers/parser_dsl_spec.rbc +10150 -0
  222. data/spec/rattler/parsers/rule_set_spec.rbc +1060 -0
  223. data/spec/rattler/parsers/sequence_spec.rbc +2899 -0
  224. data/spec/rattler/parsers/skip_spec.rbc +753 -0
  225. data/spec/rattler/parsers/token_spec.rbc +1511 -0
  226. data/spec/rattler/parsers/zero_or_more_spec.rbc +1719 -0
  227. data/spec/rattler/runtime/extended_packrat_parser_spec.rbc +1341 -0
  228. data/spec/rattler/runtime/packrat_parser_spec.rbc +210 -0
  229. data/spec/rattler/runtime/parse_failure_spec.rbc +2244 -0
  230. data/spec/rattler/runtime/parse_node_spec.rbc +2008 -0
  231. data/spec/rattler/runtime/parser_spec.rbc +2757 -0
  232. data/spec/rattler/runtime/recursive_descent_parser_spec.rbc +210 -0
  233. data/spec/rattler/runtime/shared_parser_examples.rbc +2567 -0
  234. data/spec/rattler/util/graphviz/node_builder_spec.rbc +3439 -0
  235. data/spec/rattler/util/line_counter_spec.rbc +2272 -0
  236. data/spec/rattler/util/node_spec.rbc +15023 -0
  237. data/spec/rattler_spec.rbc +1591 -0
  238. data/spec/spec_helper.rbc +336 -0
  239. data/spec/support/combinator_parser_spec_helper.rbc +1284 -0
  240. data/spec/support/compiler_spec_helper.rbc +1941 -0
  241. data/spec/support/parser_generator_spec_helper.rbc +718 -0
  242. data/spec/support/runtime_parser_spec_helper.rbc +313 -0
  243. metadata +421 -82
@@ -0,0 +1,2272 @@
1
+ !RBIX
2
+ 3105615304195158506
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 51
13
+ 5
14
+ 45
15
+ 0
16
+ 1
17
+ 45
18
+ 0
19
+ 2
20
+ 65
21
+ 49
22
+ 3
23
+ 0
24
+ 49
25
+ 4
26
+ 1
27
+ 7
28
+ 5
29
+ 64
30
+ 81
31
+ 6
32
+ 49
33
+ 7
34
+ 1
35
+ 47
36
+ 49
37
+ 8
38
+ 1
39
+ 15
40
+ 5
41
+ 45
42
+ 9
43
+ 10
44
+ 43
45
+ 11
46
+ 47
47
+ 49
48
+ 12
49
+ 1
50
+ 15
51
+ 5
52
+ 45
53
+ 13
54
+ 14
55
+ 56
56
+ 15
57
+ 47
58
+ 50
59
+ 16
60
+ 1
61
+ 15
62
+ 2
63
+ 11
64
+ I
65
+ 4
66
+ I
67
+ 0
68
+ I
69
+ 0
70
+ I
71
+ 0
72
+ n
73
+ p
74
+ 17
75
+ x
76
+ 4
77
+ File
78
+ n
79
+ n
80
+ x
81
+ 11
82
+ active_path
83
+ x
84
+ 7
85
+ dirname
86
+ s
87
+ 18
88
+ /../../spec_helper
89
+ x
90
+ 1
91
+ +
92
+ x
93
+ 11
94
+ expand_path
95
+ x
96
+ 7
97
+ require
98
+ x
99
+ 7
100
+ Rattler
101
+ n
102
+ x
103
+ 4
104
+ Util
105
+ x
106
+ 7
107
+ include
108
+ x
109
+ 11
110
+ LineCounter
111
+ n
112
+ M
113
+ 1
114
+ p
115
+ 2
116
+ x
117
+ 9
118
+ for_block
119
+ t
120
+ n
121
+ x
122
+ 9
123
+ __block__
124
+ i
125
+ 30
126
+ 5
127
+ 56
128
+ 0
129
+ 47
130
+ 50
131
+ 1
132
+ 0
133
+ 15
134
+ 5
135
+ 7
136
+ 2
137
+ 64
138
+ 56
139
+ 3
140
+ 47
141
+ 50
142
+ 4
143
+ 1
144
+ 15
145
+ 5
146
+ 7
147
+ 5
148
+ 64
149
+ 56
150
+ 6
151
+ 47
152
+ 50
153
+ 4
154
+ 1
155
+ 11
156
+ I
157
+ 4
158
+ I
159
+ 0
160
+ I
161
+ 0
162
+ I
163
+ 0
164
+ I
165
+ -2
166
+ p
167
+ 7
168
+ M
169
+ 1
170
+ p
171
+ 2
172
+ x
173
+ 9
174
+ for_block
175
+ t
176
+ n
177
+ x
178
+ 9
179
+ __block__
180
+ i
181
+ 31
182
+ 45
183
+ 0
184
+ 1
185
+ 13
186
+ 71
187
+ 2
188
+ 47
189
+ 9
190
+ 24
191
+ 47
192
+ 49
193
+ 3
194
+ 0
195
+ 13
196
+ 7
197
+ 4
198
+ 64
199
+ 47
200
+ 49
201
+ 5
202
+ 1
203
+ 15
204
+ 8
205
+ 30
206
+ 7
207
+ 4
208
+ 64
209
+ 49
210
+ 2
211
+ 1
212
+ 11
213
+ I
214
+ 4
215
+ I
216
+ 0
217
+ I
218
+ 0
219
+ I
220
+ 0
221
+ I
222
+ -2
223
+ p
224
+ 6
225
+ x
226
+ 11
227
+ LineCounter
228
+ n
229
+ x
230
+ 3
231
+ new
232
+ x
233
+ 8
234
+ allocate
235
+ s
236
+ 134
237
+ require 'rattler'
238
+
239
+ grammar Rattler::Grammar::Metagrammar
240
+
241
+ %whitespace (space+ | ('#' [^
242
+ ]*))* {
243
+
244
+ grammar <- heading rules EOF
245
+
246
+
247
+ x
248
+ 10
249
+ initialize
250
+ p
251
+ 3
252
+ I
253
+ 0
254
+ I
255
+ 8
256
+ I
257
+ 1f
258
+ x
259
+ 84
260
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
261
+ p
262
+ 0
263
+ x
264
+ 7
265
+ subject
266
+ s
267
+ 5
268
+ #line
269
+ M
270
+ 1
271
+ p
272
+ 2
273
+ x
274
+ 9
275
+ for_block
276
+ t
277
+ n
278
+ x
279
+ 9
280
+ __block__
281
+ i
282
+ 44
283
+ 5
284
+ 7
285
+ 0
286
+ 64
287
+ 56
288
+ 1
289
+ 47
290
+ 50
291
+ 2
292
+ 1
293
+ 15
294
+ 5
295
+ 7
296
+ 3
297
+ 64
298
+ 56
299
+ 4
300
+ 47
301
+ 50
302
+ 5
303
+ 1
304
+ 15
305
+ 5
306
+ 7
307
+ 6
308
+ 64
309
+ 56
310
+ 7
311
+ 47
312
+ 50
313
+ 5
314
+ 1
315
+ 15
316
+ 5
317
+ 7
318
+ 8
319
+ 64
320
+ 56
321
+ 9
322
+ 47
323
+ 50
324
+ 5
325
+ 1
326
+ 11
327
+ I
328
+ 4
329
+ I
330
+ 0
331
+ I
332
+ 0
333
+ I
334
+ 0
335
+ I
336
+ -2
337
+ p
338
+ 10
339
+ s
340
+ 11
341
+ starts at 1
342
+ M
343
+ 1
344
+ p
345
+ 2
346
+ x
347
+ 9
348
+ for_block
349
+ t
350
+ n
351
+ x
352
+ 9
353
+ __block__
354
+ i
355
+ 14
356
+ 5
357
+ 48
358
+ 0
359
+ 78
360
+ 49
361
+ 1
362
+ 1
363
+ 49
364
+ 2
365
+ 0
366
+ 79
367
+ 83
368
+ 3
369
+ 11
370
+ I
371
+ 3
372
+ I
373
+ 0
374
+ I
375
+ 0
376
+ I
377
+ 0
378
+ I
379
+ -2
380
+ p
381
+ 4
382
+ x
383
+ 7
384
+ subject
385
+ x
386
+ 4
387
+ line
388
+ x
389
+ 6
390
+ should
391
+ x
392
+ 2
393
+ ==
394
+ p
395
+ 3
396
+ I
397
+ 0
398
+ I
399
+ 16
400
+ I
401
+ e
402
+ x
403
+ 84
404
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
405
+ p
406
+ 0
407
+ x
408
+ 2
409
+ it
410
+ s
411
+ 32
412
+ given an index on the first line
413
+ M
414
+ 1
415
+ p
416
+ 2
417
+ x
418
+ 9
419
+ for_block
420
+ t
421
+ n
422
+ x
423
+ 9
424
+ __block__
425
+ i
426
+ 11
427
+ 5
428
+ 7
429
+ 0
430
+ 64
431
+ 56
432
+ 1
433
+ 47
434
+ 50
435
+ 2
436
+ 1
437
+ 11
438
+ I
439
+ 4
440
+ I
441
+ 0
442
+ I
443
+ 0
444
+ I
445
+ 0
446
+ I
447
+ -2
448
+ p
449
+ 3
450
+ s
451
+ 9
452
+ returns 1
453
+ M
454
+ 1
455
+ p
456
+ 2
457
+ x
458
+ 9
459
+ for_block
460
+ t
461
+ n
462
+ x
463
+ 9
464
+ __block__
465
+ i
466
+ 15
467
+ 5
468
+ 48
469
+ 0
470
+ 4
471
+ 10
472
+ 49
473
+ 1
474
+ 1
475
+ 49
476
+ 2
477
+ 0
478
+ 79
479
+ 83
480
+ 3
481
+ 11
482
+ I
483
+ 3
484
+ I
485
+ 0
486
+ I
487
+ 0
488
+ I
489
+ 0
490
+ I
491
+ -2
492
+ p
493
+ 4
494
+ x
495
+ 7
496
+ subject
497
+ x
498
+ 4
499
+ line
500
+ x
501
+ 6
502
+ should
503
+ x
504
+ 2
505
+ ==
506
+ p
507
+ 3
508
+ I
509
+ 0
510
+ I
511
+ 1b
512
+ I
513
+ f
514
+ x
515
+ 84
516
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
517
+ p
518
+ 0
519
+ x
520
+ 2
521
+ it
522
+ p
523
+ 3
524
+ I
525
+ 0
526
+ I
527
+ 1a
528
+ I
529
+ b
530
+ x
531
+ 84
532
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
533
+ p
534
+ 0
535
+ x
536
+ 7
537
+ context
538
+ s
539
+ 34
540
+ given an index on a line with text
541
+ M
542
+ 1
543
+ p
544
+ 2
545
+ x
546
+ 9
547
+ for_block
548
+ t
549
+ n
550
+ x
551
+ 9
552
+ __block__
553
+ i
554
+ 11
555
+ 5
556
+ 7
557
+ 0
558
+ 64
559
+ 56
560
+ 1
561
+ 47
562
+ 50
563
+ 2
564
+ 1
565
+ 11
566
+ I
567
+ 4
568
+ I
569
+ 0
570
+ I
571
+ 0
572
+ I
573
+ 0
574
+ I
575
+ -2
576
+ p
577
+ 3
578
+ s
579
+ 23
580
+ returns the line number
581
+ M
582
+ 1
583
+ p
584
+ 2
585
+ x
586
+ 9
587
+ for_block
588
+ t
589
+ n
590
+ x
591
+ 9
592
+ __block__
593
+ i
594
+ 16
595
+ 5
596
+ 48
597
+ 0
598
+ 4
599
+ 20
600
+ 49
601
+ 1
602
+ 1
603
+ 49
604
+ 2
605
+ 0
606
+ 4
607
+ 3
608
+ 83
609
+ 3
610
+ 11
611
+ I
612
+ 3
613
+ I
614
+ 0
615
+ I
616
+ 0
617
+ I
618
+ 0
619
+ I
620
+ -2
621
+ p
622
+ 4
623
+ x
624
+ 7
625
+ subject
626
+ x
627
+ 4
628
+ line
629
+ x
630
+ 6
631
+ should
632
+ x
633
+ 2
634
+ ==
635
+ p
636
+ 3
637
+ I
638
+ 0
639
+ I
640
+ 21
641
+ I
642
+ 10
643
+ x
644
+ 84
645
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
646
+ p
647
+ 0
648
+ x
649
+ 2
650
+ it
651
+ p
652
+ 3
653
+ I
654
+ 0
655
+ I
656
+ 20
657
+ I
658
+ b
659
+ x
660
+ 84
661
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
662
+ p
663
+ 0
664
+ s
665
+ 30
666
+ given an index on a blank line
667
+ M
668
+ 1
669
+ p
670
+ 2
671
+ x
672
+ 9
673
+ for_block
674
+ t
675
+ n
676
+ x
677
+ 9
678
+ __block__
679
+ i
680
+ 11
681
+ 5
682
+ 7
683
+ 0
684
+ 64
685
+ 56
686
+ 1
687
+ 47
688
+ 50
689
+ 2
690
+ 1
691
+ 11
692
+ I
693
+ 4
694
+ I
695
+ 0
696
+ I
697
+ 0
698
+ I
699
+ 0
700
+ I
701
+ -2
702
+ p
703
+ 3
704
+ s
705
+ 23
706
+ returns the line number
707
+ M
708
+ 1
709
+ p
710
+ 2
711
+ x
712
+ 9
713
+ for_block
714
+ t
715
+ n
716
+ x
717
+ 9
718
+ __block__
719
+ i
720
+ 16
721
+ 5
722
+ 48
723
+ 0
724
+ 4
725
+ 57
726
+ 49
727
+ 1
728
+ 1
729
+ 49
730
+ 2
731
+ 0
732
+ 4
733
+ 4
734
+ 83
735
+ 3
736
+ 11
737
+ I
738
+ 3
739
+ I
740
+ 0
741
+ I
742
+ 0
743
+ I
744
+ 0
745
+ I
746
+ -2
747
+ p
748
+ 4
749
+ x
750
+ 7
751
+ subject
752
+ x
753
+ 4
754
+ line
755
+ x
756
+ 6
757
+ should
758
+ x
759
+ 2
760
+ ==
761
+ p
762
+ 3
763
+ I
764
+ 0
765
+ I
766
+ 27
767
+ I
768
+ 10
769
+ x
770
+ 84
771
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
772
+ p
773
+ 0
774
+ x
775
+ 2
776
+ it
777
+ p
778
+ 3
779
+ I
780
+ 0
781
+ I
782
+ 26
783
+ I
784
+ b
785
+ x
786
+ 84
787
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
788
+ p
789
+ 0
790
+ p
791
+ 9
792
+ I
793
+ 0
794
+ I
795
+ 15
796
+ I
797
+ b
798
+ I
799
+ 19
800
+ I
801
+ 16
802
+ I
803
+ 1f
804
+ I
805
+ 21
806
+ I
807
+ 25
808
+ I
809
+ 2c
810
+ x
811
+ 84
812
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
813
+ p
814
+ 0
815
+ x
816
+ 8
817
+ describe
818
+ s
819
+ 7
820
+ #column
821
+ M
822
+ 1
823
+ p
824
+ 2
825
+ x
826
+ 9
827
+ for_block
828
+ t
829
+ n
830
+ x
831
+ 9
832
+ __block__
833
+ i
834
+ 66
835
+ 5
836
+ 7
837
+ 0
838
+ 64
839
+ 56
840
+ 1
841
+ 47
842
+ 50
843
+ 2
844
+ 1
845
+ 15
846
+ 5
847
+ 7
848
+ 3
849
+ 64
850
+ 56
851
+ 4
852
+ 47
853
+ 50
854
+ 5
855
+ 1
856
+ 15
857
+ 5
858
+ 7
859
+ 6
860
+ 64
861
+ 56
862
+ 7
863
+ 47
864
+ 50
865
+ 5
866
+ 1
867
+ 15
868
+ 5
869
+ 7
870
+ 8
871
+ 64
872
+ 56
873
+ 9
874
+ 47
875
+ 50
876
+ 5
877
+ 1
878
+ 15
879
+ 5
880
+ 7
881
+ 10
882
+ 64
883
+ 56
884
+ 11
885
+ 47
886
+ 50
887
+ 5
888
+ 1
889
+ 15
890
+ 5
891
+ 7
892
+ 12
893
+ 64
894
+ 56
895
+ 13
896
+ 47
897
+ 50
898
+ 5
899
+ 1
900
+ 11
901
+ I
902
+ 4
903
+ I
904
+ 0
905
+ I
906
+ 0
907
+ I
908
+ 0
909
+ I
910
+ -2
911
+ p
912
+ 14
913
+ s
914
+ 11
915
+ starts at 1
916
+ M
917
+ 1
918
+ p
919
+ 2
920
+ x
921
+ 9
922
+ for_block
923
+ t
924
+ n
925
+ x
926
+ 9
927
+ __block__
928
+ i
929
+ 14
930
+ 5
931
+ 48
932
+ 0
933
+ 78
934
+ 49
935
+ 1
936
+ 1
937
+ 49
938
+ 2
939
+ 0
940
+ 79
941
+ 83
942
+ 3
943
+ 11
944
+ I
945
+ 3
946
+ I
947
+ 0
948
+ I
949
+ 0
950
+ I
951
+ 0
952
+ I
953
+ -2
954
+ p
955
+ 4
956
+ x
957
+ 7
958
+ subject
959
+ x
960
+ 6
961
+ column
962
+ x
963
+ 6
964
+ should
965
+ x
966
+ 2
967
+ ==
968
+ p
969
+ 3
970
+ I
971
+ 0
972
+ I
973
+ 2e
974
+ I
975
+ e
976
+ x
977
+ 84
978
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
979
+ p
980
+ 0
981
+ x
982
+ 2
983
+ it
984
+ s
985
+ 32
986
+ given an index on the first line
987
+ M
988
+ 1
989
+ p
990
+ 2
991
+ x
992
+ 9
993
+ for_block
994
+ t
995
+ n
996
+ x
997
+ 9
998
+ __block__
999
+ i
1000
+ 11
1001
+ 5
1002
+ 7
1003
+ 0
1004
+ 64
1005
+ 56
1006
+ 1
1007
+ 47
1008
+ 50
1009
+ 2
1010
+ 1
1011
+ 11
1012
+ I
1013
+ 4
1014
+ I
1015
+ 0
1016
+ I
1017
+ 0
1018
+ I
1019
+ 0
1020
+ I
1021
+ -2
1022
+ p
1023
+ 3
1024
+ s
1025
+ 19
1026
+ returns (index + 1)
1027
+ M
1028
+ 1
1029
+ p
1030
+ 2
1031
+ x
1032
+ 9
1033
+ for_block
1034
+ t
1035
+ n
1036
+ x
1037
+ 9
1038
+ __block__
1039
+ i
1040
+ 32
1041
+ 5
1042
+ 48
1043
+ 0
1044
+ 4
1045
+ 10
1046
+ 49
1047
+ 1
1048
+ 1
1049
+ 49
1050
+ 2
1051
+ 0
1052
+ 4
1053
+ 11
1054
+ 83
1055
+ 3
1056
+ 15
1057
+ 5
1058
+ 48
1059
+ 0
1060
+ 4
1061
+ 16
1062
+ 49
1063
+ 1
1064
+ 1
1065
+ 49
1066
+ 2
1067
+ 0
1068
+ 4
1069
+ 17
1070
+ 83
1071
+ 3
1072
+ 11
1073
+ I
1074
+ 3
1075
+ I
1076
+ 0
1077
+ I
1078
+ 0
1079
+ I
1080
+ 0
1081
+ I
1082
+ -2
1083
+ p
1084
+ 4
1085
+ x
1086
+ 7
1087
+ subject
1088
+ x
1089
+ 6
1090
+ column
1091
+ x
1092
+ 6
1093
+ should
1094
+ x
1095
+ 2
1096
+ ==
1097
+ p
1098
+ 5
1099
+ I
1100
+ 0
1101
+ I
1102
+ 33
1103
+ I
1104
+ 10
1105
+ I
1106
+ 34
1107
+ I
1108
+ 20
1109
+ x
1110
+ 84
1111
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
1112
+ p
1113
+ 0
1114
+ x
1115
+ 2
1116
+ it
1117
+ p
1118
+ 3
1119
+ I
1120
+ 0
1121
+ I
1122
+ 32
1123
+ I
1124
+ b
1125
+ x
1126
+ 84
1127
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
1128
+ p
1129
+ 0
1130
+ x
1131
+ 7
1132
+ context
1133
+ s
1134
+ 34
1135
+ given an index on a line with text
1136
+ M
1137
+ 1
1138
+ p
1139
+ 2
1140
+ x
1141
+ 9
1142
+ for_block
1143
+ t
1144
+ n
1145
+ x
1146
+ 9
1147
+ __block__
1148
+ i
1149
+ 11
1150
+ 5
1151
+ 7
1152
+ 0
1153
+ 64
1154
+ 56
1155
+ 1
1156
+ 47
1157
+ 50
1158
+ 2
1159
+ 1
1160
+ 11
1161
+ I
1162
+ 4
1163
+ I
1164
+ 0
1165
+ I
1166
+ 0
1167
+ I
1168
+ 0
1169
+ I
1170
+ -2
1171
+ p
1172
+ 3
1173
+ s
1174
+ 51
1175
+ returns the column number at the index on that line
1176
+ M
1177
+ 1
1178
+ p
1179
+ 2
1180
+ x
1181
+ 9
1182
+ for_block
1183
+ t
1184
+ n
1185
+ x
1186
+ 9
1187
+ __block__
1188
+ i
1189
+ 31
1190
+ 5
1191
+ 48
1192
+ 0
1193
+ 4
1194
+ 20
1195
+ 49
1196
+ 1
1197
+ 1
1198
+ 49
1199
+ 2
1200
+ 0
1201
+ 80
1202
+ 83
1203
+ 3
1204
+ 15
1205
+ 5
1206
+ 48
1207
+ 0
1208
+ 4
1209
+ 26
1210
+ 49
1211
+ 1
1212
+ 1
1213
+ 49
1214
+ 2
1215
+ 0
1216
+ 4
1217
+ 8
1218
+ 83
1219
+ 3
1220
+ 11
1221
+ I
1222
+ 3
1223
+ I
1224
+ 0
1225
+ I
1226
+ 0
1227
+ I
1228
+ 0
1229
+ I
1230
+ -2
1231
+ p
1232
+ 4
1233
+ x
1234
+ 7
1235
+ subject
1236
+ x
1237
+ 6
1238
+ column
1239
+ x
1240
+ 6
1241
+ should
1242
+ x
1243
+ 2
1244
+ ==
1245
+ p
1246
+ 5
1247
+ I
1248
+ 0
1249
+ I
1250
+ 3a
1251
+ I
1252
+ f
1253
+ I
1254
+ 3b
1255
+ I
1256
+ 1f
1257
+ x
1258
+ 84
1259
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
1260
+ p
1261
+ 0
1262
+ x
1263
+ 2
1264
+ it
1265
+ p
1266
+ 3
1267
+ I
1268
+ 0
1269
+ I
1270
+ 39
1271
+ I
1272
+ b
1273
+ x
1274
+ 84
1275
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
1276
+ p
1277
+ 0
1278
+ s
1279
+ 30
1280
+ given an index on a blank line
1281
+ M
1282
+ 1
1283
+ p
1284
+ 2
1285
+ x
1286
+ 9
1287
+ for_block
1288
+ t
1289
+ n
1290
+ x
1291
+ 9
1292
+ __block__
1293
+ i
1294
+ 11
1295
+ 5
1296
+ 7
1297
+ 0
1298
+ 64
1299
+ 56
1300
+ 1
1301
+ 47
1302
+ 50
1303
+ 2
1304
+ 1
1305
+ 11
1306
+ I
1307
+ 4
1308
+ I
1309
+ 0
1310
+ I
1311
+ 0
1312
+ I
1313
+ 0
1314
+ I
1315
+ -2
1316
+ p
1317
+ 3
1318
+ s
1319
+ 9
1320
+ returns 1
1321
+ M
1322
+ 1
1323
+ p
1324
+ 2
1325
+ x
1326
+ 9
1327
+ for_block
1328
+ t
1329
+ n
1330
+ x
1331
+ 9
1332
+ __block__
1333
+ i
1334
+ 15
1335
+ 5
1336
+ 48
1337
+ 0
1338
+ 4
1339
+ 57
1340
+ 49
1341
+ 1
1342
+ 1
1343
+ 49
1344
+ 2
1345
+ 0
1346
+ 79
1347
+ 83
1348
+ 3
1349
+ 11
1350
+ I
1351
+ 3
1352
+ I
1353
+ 0
1354
+ I
1355
+ 0
1356
+ I
1357
+ 0
1358
+ I
1359
+ -2
1360
+ p
1361
+ 4
1362
+ x
1363
+ 7
1364
+ subject
1365
+ x
1366
+ 6
1367
+ column
1368
+ x
1369
+ 6
1370
+ should
1371
+ x
1372
+ 2
1373
+ ==
1374
+ p
1375
+ 3
1376
+ I
1377
+ 0
1378
+ I
1379
+ 41
1380
+ I
1381
+ f
1382
+ x
1383
+ 84
1384
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
1385
+ p
1386
+ 0
1387
+ x
1388
+ 2
1389
+ it
1390
+ p
1391
+ 3
1392
+ I
1393
+ 0
1394
+ I
1395
+ 40
1396
+ I
1397
+ b
1398
+ x
1399
+ 84
1400
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
1401
+ p
1402
+ 0
1403
+ s
1404
+ 25
1405
+ with text containing tabs
1406
+ M
1407
+ 1
1408
+ p
1409
+ 2
1410
+ x
1411
+ 9
1412
+ for_block
1413
+ t
1414
+ n
1415
+ x
1416
+ 9
1417
+ __block__
1418
+ i
1419
+ 30
1420
+ 5
1421
+ 56
1422
+ 0
1423
+ 47
1424
+ 50
1425
+ 1
1426
+ 0
1427
+ 15
1428
+ 5
1429
+ 7
1430
+ 2
1431
+ 64
1432
+ 56
1433
+ 3
1434
+ 47
1435
+ 50
1436
+ 4
1437
+ 1
1438
+ 15
1439
+ 5
1440
+ 7
1441
+ 5
1442
+ 64
1443
+ 56
1444
+ 6
1445
+ 47
1446
+ 50
1447
+ 4
1448
+ 1
1449
+ 11
1450
+ I
1451
+ 4
1452
+ I
1453
+ 0
1454
+ I
1455
+ 0
1456
+ I
1457
+ 0
1458
+ I
1459
+ -2
1460
+ p
1461
+ 7
1462
+ M
1463
+ 1
1464
+ p
1465
+ 2
1466
+ x
1467
+ 9
1468
+ for_block
1469
+ t
1470
+ n
1471
+ x
1472
+ 9
1473
+ __block__
1474
+ i
1475
+ 31
1476
+ 45
1477
+ 0
1478
+ 1
1479
+ 13
1480
+ 71
1481
+ 2
1482
+ 47
1483
+ 9
1484
+ 24
1485
+ 47
1486
+ 49
1487
+ 3
1488
+ 0
1489
+ 13
1490
+ 7
1491
+ 4
1492
+ 64
1493
+ 47
1494
+ 49
1495
+ 5
1496
+ 1
1497
+ 15
1498
+ 8
1499
+ 30
1500
+ 7
1501
+ 4
1502
+ 64
1503
+ 49
1504
+ 2
1505
+ 1
1506
+ 11
1507
+ I
1508
+ 4
1509
+ I
1510
+ 0
1511
+ I
1512
+ 0
1513
+ I
1514
+ 0
1515
+ I
1516
+ -2
1517
+ p
1518
+ 6
1519
+ x
1520
+ 11
1521
+ LineCounter
1522
+ n
1523
+ x
1524
+ 3
1525
+ new
1526
+ x
1527
+ 8
1528
+ allocate
1529
+ s
1530
+ 37
1531
+ grammar FooGrammar
1532
+
1533
+ expr <- 'foo'
1534
+
1535
+ x
1536
+ 10
1537
+ initialize
1538
+ p
1539
+ 3
1540
+ I
1541
+ 0
1542
+ I
1543
+ 47
1544
+ I
1545
+ 1f
1546
+ x
1547
+ 84
1548
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
1549
+ p
1550
+ 0
1551
+ x
1552
+ 7
1553
+ subject
1554
+ s
1555
+ 31
1556
+ counts initial tabs as 8 spaces
1557
+ M
1558
+ 1
1559
+ p
1560
+ 2
1561
+ x
1562
+ 9
1563
+ for_block
1564
+ t
1565
+ n
1566
+ x
1567
+ 9
1568
+ __block__
1569
+ i
1570
+ 47
1571
+ 5
1572
+ 48
1573
+ 0
1574
+ 79
1575
+ 49
1576
+ 1
1577
+ 1
1578
+ 49
1579
+ 2
1580
+ 0
1581
+ 4
1582
+ 9
1583
+ 83
1584
+ 3
1585
+ 15
1586
+ 5
1587
+ 48
1588
+ 0
1589
+ 4
1590
+ 22
1591
+ 49
1592
+ 1
1593
+ 1
1594
+ 49
1595
+ 2
1596
+ 0
1597
+ 4
1598
+ 9
1599
+ 83
1600
+ 3
1601
+ 15
1602
+ 5
1603
+ 48
1604
+ 0
1605
+ 4
1606
+ 23
1607
+ 49
1608
+ 1
1609
+ 1
1610
+ 49
1611
+ 2
1612
+ 0
1613
+ 4
1614
+ 17
1615
+ 83
1616
+ 3
1617
+ 11
1618
+ I
1619
+ 3
1620
+ I
1621
+ 0
1622
+ I
1623
+ 0
1624
+ I
1625
+ 0
1626
+ I
1627
+ -2
1628
+ p
1629
+ 4
1630
+ x
1631
+ 7
1632
+ subject
1633
+ x
1634
+ 6
1635
+ column
1636
+ x
1637
+ 6
1638
+ should
1639
+ x
1640
+ 2
1641
+ ==
1642
+ p
1643
+ 7
1644
+ I
1645
+ 0
1646
+ I
1647
+ 4b
1648
+ I
1649
+ f
1650
+ I
1651
+ 4c
1652
+ I
1653
+ 1f
1654
+ I
1655
+ 4d
1656
+ I
1657
+ 2f
1658
+ x
1659
+ 84
1660
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
1661
+ p
1662
+ 0
1663
+ x
1664
+ 2
1665
+ it
1666
+ s
1667
+ 56
1668
+ counts tabs as enough spaces to get to the next tab stop
1669
+ M
1670
+ 1
1671
+ p
1672
+ 2
1673
+ x
1674
+ 9
1675
+ for_block
1676
+ t
1677
+ n
1678
+ x
1679
+ 9
1680
+ __block__
1681
+ i
1682
+ 32
1683
+ 5
1684
+ 48
1685
+ 0
1686
+ 4
1687
+ 28
1688
+ 49
1689
+ 1
1690
+ 1
1691
+ 49
1692
+ 2
1693
+ 0
1694
+ 4
1695
+ 25
1696
+ 83
1697
+ 3
1698
+ 15
1699
+ 5
1700
+ 48
1701
+ 0
1702
+ 4
1703
+ 31
1704
+ 49
1705
+ 1
1706
+ 1
1707
+ 49
1708
+ 2
1709
+ 0
1710
+ 4
1711
+ 33
1712
+ 83
1713
+ 3
1714
+ 11
1715
+ I
1716
+ 3
1717
+ I
1718
+ 0
1719
+ I
1720
+ 0
1721
+ I
1722
+ 0
1723
+ I
1724
+ -2
1725
+ p
1726
+ 4
1727
+ x
1728
+ 7
1729
+ subject
1730
+ x
1731
+ 6
1732
+ column
1733
+ x
1734
+ 6
1735
+ should
1736
+ x
1737
+ 2
1738
+ ==
1739
+ p
1740
+ 5
1741
+ I
1742
+ 0
1743
+ I
1744
+ 51
1745
+ I
1746
+ 10
1747
+ I
1748
+ 52
1749
+ I
1750
+ 20
1751
+ x
1752
+ 84
1753
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
1754
+ p
1755
+ 0
1756
+ p
1757
+ 7
1758
+ I
1759
+ 0
1760
+ I
1761
+ 46
1762
+ I
1763
+ 8
1764
+ I
1765
+ 4a
1766
+ I
1767
+ 13
1768
+ I
1769
+ 50
1770
+ I
1771
+ 1e
1772
+ x
1773
+ 84
1774
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
1775
+ p
1776
+ 0
1777
+ s
1778
+ 45
1779
+ with text containing tabs and a tab_size of 4
1780
+ M
1781
+ 1
1782
+ p
1783
+ 2
1784
+ x
1785
+ 9
1786
+ for_block
1787
+ t
1788
+ n
1789
+ x
1790
+ 9
1791
+ __block__
1792
+ i
1793
+ 30
1794
+ 5
1795
+ 56
1796
+ 0
1797
+ 47
1798
+ 50
1799
+ 1
1800
+ 0
1801
+ 15
1802
+ 5
1803
+ 7
1804
+ 2
1805
+ 64
1806
+ 56
1807
+ 3
1808
+ 47
1809
+ 50
1810
+ 4
1811
+ 1
1812
+ 15
1813
+ 5
1814
+ 7
1815
+ 5
1816
+ 64
1817
+ 56
1818
+ 6
1819
+ 47
1820
+ 50
1821
+ 4
1822
+ 1
1823
+ 11
1824
+ I
1825
+ 4
1826
+ I
1827
+ 0
1828
+ I
1829
+ 0
1830
+ I
1831
+ 0
1832
+ I
1833
+ -2
1834
+ p
1835
+ 7
1836
+ M
1837
+ 1
1838
+ p
1839
+ 2
1840
+ x
1841
+ 9
1842
+ for_block
1843
+ t
1844
+ n
1845
+ x
1846
+ 9
1847
+ __block__
1848
+ i
1849
+ 63
1850
+ 45
1851
+ 0
1852
+ 1
1853
+ 13
1854
+ 71
1855
+ 2
1856
+ 47
1857
+ 9
1858
+ 40
1859
+ 47
1860
+ 49
1861
+ 3
1862
+ 0
1863
+ 13
1864
+ 7
1865
+ 4
1866
+ 64
1867
+ 44
1868
+ 43
1869
+ 5
1870
+ 79
1871
+ 49
1872
+ 6
1873
+ 1
1874
+ 13
1875
+ 7
1876
+ 7
1877
+ 4
1878
+ 4
1879
+ 49
1880
+ 8
1881
+ 2
1882
+ 15
1883
+ 47
1884
+ 49
1885
+ 9
1886
+ 2
1887
+ 15
1888
+ 8
1889
+ 62
1890
+ 7
1891
+ 4
1892
+ 64
1893
+ 44
1894
+ 43
1895
+ 5
1896
+ 79
1897
+ 49
1898
+ 6
1899
+ 1
1900
+ 13
1901
+ 7
1902
+ 7
1903
+ 4
1904
+ 4
1905
+ 49
1906
+ 8
1907
+ 2
1908
+ 15
1909
+ 49
1910
+ 2
1911
+ 2
1912
+ 11
1913
+ I
1914
+ 8
1915
+ I
1916
+ 0
1917
+ I
1918
+ 0
1919
+ I
1920
+ 0
1921
+ I
1922
+ -2
1923
+ p
1924
+ 10
1925
+ x
1926
+ 11
1927
+ LineCounter
1928
+ n
1929
+ x
1930
+ 3
1931
+ new
1932
+ x
1933
+ 8
1934
+ allocate
1935
+ s
1936
+ 37
1937
+ grammar FooGrammar
1938
+
1939
+ expr <- 'foo'
1940
+
1941
+ x
1942
+ 4
1943
+ Hash
1944
+ x
1945
+ 16
1946
+ new_from_literal
1947
+ x
1948
+ 8
1949
+ tab_size
1950
+ x
1951
+ 3
1952
+ []=
1953
+ x
1954
+ 10
1955
+ initialize
1956
+ p
1957
+ 3
1958
+ I
1959
+ 0
1960
+ I
1961
+ 58
1962
+ I
1963
+ 3f
1964
+ x
1965
+ 84
1966
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
1967
+ p
1968
+ 0
1969
+ x
1970
+ 7
1971
+ subject
1972
+ s
1973
+ 31
1974
+ counts initial tabs as 4 spaces
1975
+ M
1976
+ 1
1977
+ p
1978
+ 2
1979
+ x
1980
+ 9
1981
+ for_block
1982
+ t
1983
+ n
1984
+ x
1985
+ 9
1986
+ __block__
1987
+ i
1988
+ 47
1989
+ 5
1990
+ 48
1991
+ 0
1992
+ 79
1993
+ 49
1994
+ 1
1995
+ 1
1996
+ 49
1997
+ 2
1998
+ 0
1999
+ 4
2000
+ 5
2001
+ 83
2002
+ 3
2003
+ 15
2004
+ 5
2005
+ 48
2006
+ 0
2007
+ 4
2008
+ 22
2009
+ 49
2010
+ 1
2011
+ 1
2012
+ 49
2013
+ 2
2014
+ 0
2015
+ 4
2016
+ 5
2017
+ 83
2018
+ 3
2019
+ 15
2020
+ 5
2021
+ 48
2022
+ 0
2023
+ 4
2024
+ 23
2025
+ 49
2026
+ 1
2027
+ 1
2028
+ 49
2029
+ 2
2030
+ 0
2031
+ 4
2032
+ 9
2033
+ 83
2034
+ 3
2035
+ 11
2036
+ I
2037
+ 3
2038
+ I
2039
+ 0
2040
+ I
2041
+ 0
2042
+ I
2043
+ 0
2044
+ I
2045
+ -2
2046
+ p
2047
+ 4
2048
+ x
2049
+ 7
2050
+ subject
2051
+ x
2052
+ 6
2053
+ column
2054
+ x
2055
+ 6
2056
+ should
2057
+ x
2058
+ 2
2059
+ ==
2060
+ p
2061
+ 7
2062
+ I
2063
+ 0
2064
+ I
2065
+ 5c
2066
+ I
2067
+ f
2068
+ I
2069
+ 5d
2070
+ I
2071
+ 1f
2072
+ I
2073
+ 5e
2074
+ I
2075
+ 2f
2076
+ x
2077
+ 84
2078
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
2079
+ p
2080
+ 0
2081
+ x
2082
+ 2
2083
+ it
2084
+ s
2085
+ 56
2086
+ counts tabs as enough spaces to get to the next tab stop
2087
+ M
2088
+ 1
2089
+ p
2090
+ 2
2091
+ x
2092
+ 9
2093
+ for_block
2094
+ t
2095
+ n
2096
+ x
2097
+ 9
2098
+ __block__
2099
+ i
2100
+ 32
2101
+ 5
2102
+ 48
2103
+ 0
2104
+ 4
2105
+ 28
2106
+ 49
2107
+ 1
2108
+ 1
2109
+ 49
2110
+ 2
2111
+ 0
2112
+ 4
2113
+ 17
2114
+ 83
2115
+ 3
2116
+ 15
2117
+ 5
2118
+ 48
2119
+ 0
2120
+ 4
2121
+ 31
2122
+ 49
2123
+ 1
2124
+ 1
2125
+ 49
2126
+ 2
2127
+ 0
2128
+ 4
2129
+ 21
2130
+ 83
2131
+ 3
2132
+ 11
2133
+ I
2134
+ 3
2135
+ I
2136
+ 0
2137
+ I
2138
+ 0
2139
+ I
2140
+ 0
2141
+ I
2142
+ -2
2143
+ p
2144
+ 4
2145
+ x
2146
+ 7
2147
+ subject
2148
+ x
2149
+ 6
2150
+ column
2151
+ x
2152
+ 6
2153
+ should
2154
+ x
2155
+ 2
2156
+ ==
2157
+ p
2158
+ 5
2159
+ I
2160
+ 0
2161
+ I
2162
+ 62
2163
+ I
2164
+ 10
2165
+ I
2166
+ 63
2167
+ I
2168
+ 20
2169
+ x
2170
+ 84
2171
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
2172
+ p
2173
+ 0
2174
+ p
2175
+ 7
2176
+ I
2177
+ 0
2178
+ I
2179
+ 57
2180
+ I
2181
+ 8
2182
+ I
2183
+ 5b
2184
+ I
2185
+ 13
2186
+ I
2187
+ 61
2188
+ I
2189
+ 1e
2190
+ x
2191
+ 84
2192
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
2193
+ p
2194
+ 0
2195
+ p
2196
+ 13
2197
+ I
2198
+ 0
2199
+ I
2200
+ 2d
2201
+ I
2202
+ b
2203
+ I
2204
+ 31
2205
+ I
2206
+ 16
2207
+ I
2208
+ 38
2209
+ I
2210
+ 21
2211
+ I
2212
+ 3f
2213
+ I
2214
+ 2c
2215
+ I
2216
+ 45
2217
+ I
2218
+ 37
2219
+ I
2220
+ 56
2221
+ I
2222
+ 42
2223
+ x
2224
+ 84
2225
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
2226
+ p
2227
+ 0
2228
+ p
2229
+ 7
2230
+ I
2231
+ 0
2232
+ I
2233
+ 7
2234
+ I
2235
+ 8
2236
+ I
2237
+ 14
2238
+ I
2239
+ 13
2240
+ I
2241
+ 2c
2242
+ I
2243
+ 1e
2244
+ x
2245
+ 84
2246
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
2247
+ p
2248
+ 0
2249
+ x
2250
+ 8
2251
+ describe
2252
+ p
2253
+ 7
2254
+ I
2255
+ 0
2256
+ I
2257
+ 1
2258
+ I
2259
+ 1b
2260
+ I
2261
+ 3
2262
+ I
2263
+ 26
2264
+ I
2265
+ 5
2266
+ I
2267
+ 33
2268
+ x
2269
+ 84
2270
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/util/line_counter_spec.rb
2271
+ p
2272
+ 0