ikra 0.0.1

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 (220) hide show
  1. checksums.yaml +7 -0
  2. data/lib/ast/builder.rb +100 -0
  3. data/lib/ast/lexical_variables_enumerator.rb +34 -0
  4. data/lib/ast/method_definition.rb +37 -0
  5. data/lib/ast/nodes.rb +208 -0
  6. data/lib/ast/printer.rb +99 -0
  7. data/lib/ast/translator.rb +264 -0
  8. data/lib/ast/visitor.rb +173 -0
  9. data/lib/config/configuration.rb +18 -0
  10. data/lib/config/os_configuration.rb +56 -0
  11. data/lib/entity.rb +11 -0
  12. data/lib/ikra.rb +7 -0
  13. data/lib/parsing.rb +32 -0
  14. data/lib/resources/cuda/block_function_head.cpp +1 -0
  15. data/lib/resources/cuda/env_builder_copy_array.cpp +4 -0
  16. data/lib/resources/cuda/header.cpp +46 -0
  17. data/lib/resources/cuda/kernel.cpp +8 -0
  18. data/lib/resources/cuda/kernel_launcher.cpp +28 -0
  19. data/lib/resources/cuda/soa_header.cpp +4 -0
  20. data/lib/scope.rb +166 -0
  21. data/lib/sourcify/Gemfile +10 -0
  22. data/lib/sourcify/HISTORY.txt +88 -0
  23. data/lib/sourcify/LICENSE +20 -0
  24. data/lib/sourcify/README.rdoc +352 -0
  25. data/lib/sourcify/Rakefile +111 -0
  26. data/lib/sourcify/lib/sourcify.rb +44 -0
  27. data/lib/sourcify/lib/sourcify/common/parser/converter.rb +29 -0
  28. data/lib/sourcify/lib/sourcify/common/parser/raw_scanner/comment.rb +23 -0
  29. data/lib/sourcify/lib/sourcify/common/parser/raw_scanner/counter.rb +43 -0
  30. data/lib/sourcify/lib/sourcify/common/parser/raw_scanner/dstring.rb +58 -0
  31. data/lib/sourcify/lib/sourcify/common/parser/raw_scanner/extensions.rb +140 -0
  32. data/lib/sourcify/lib/sourcify/common/parser/raw_scanner/heredoc.rb +26 -0
  33. data/lib/sourcify/lib/sourcify/common/parser/source_code.rb +45 -0
  34. data/lib/sourcify/lib/sourcify/common/ragel/common.rl +5 -0
  35. data/lib/sourcify/lib/sourcify/common/ragel/expressions.rl +38 -0
  36. data/lib/sourcify/lib/sourcify/common/ragel/machines.rl +317 -0
  37. data/lib/sourcify/lib/sourcify/errors.rb +4 -0
  38. data/lib/sourcify/lib/sourcify/method.rb +138 -0
  39. data/lib/sourcify/lib/sourcify/method/methods.rb +3 -0
  40. data/lib/sourcify/lib/sourcify/method/methods/to_raw_source.rb +30 -0
  41. data/lib/sourcify/lib/sourcify/method/methods/to_sexp.rb +30 -0
  42. data/lib/sourcify/lib/sourcify/method/methods/to_source.rb +30 -0
  43. data/lib/sourcify/lib/sourcify/method/parser.rb +110 -0
  44. data/lib/sourcify/lib/sourcify/method/parser/converter.rb +8 -0
  45. data/lib/sourcify/lib/sourcify/method/parser/raw_scanner.rb +2494 -0
  46. data/lib/sourcify/lib/sourcify/method/parser/raw_scanner.rl +144 -0
  47. data/lib/sourcify/lib/sourcify/method/parser/raw_scanner_extensions.rb +68 -0
  48. data/lib/sourcify/lib/sourcify/method/parser/scanner.rb +52 -0
  49. data/lib/sourcify/lib/sourcify/method/parser/source_code.rb +8 -0
  50. data/lib/sourcify/lib/sourcify/patches.rb +63 -0
  51. data/lib/sourcify/lib/sourcify/proc.rb +183 -0
  52. data/lib/sourcify/lib/sourcify/proc/methods.rb +3 -0
  53. data/lib/sourcify/lib/sourcify/proc/methods/source_location.rb +61 -0
  54. data/lib/sourcify/lib/sourcify/proc/methods/to_raw_source.rb +20 -0
  55. data/lib/sourcify/lib/sourcify/proc/methods/to_sexp.rb +40 -0
  56. data/lib/sourcify/lib/sourcify/proc/methods/to_source.rb +48 -0
  57. data/lib/sourcify/lib/sourcify/proc/parser.rb +51 -0
  58. data/lib/sourcify/lib/sourcify/proc/parser/converter.rb +8 -0
  59. data/lib/sourcify/lib/sourcify/proc/parser/normalizer.rb +43 -0
  60. data/lib/sourcify/lib/sourcify/proc/parser/raw_scanner.rb +2498 -0
  61. data/lib/sourcify/lib/sourcify/proc/parser/raw_scanner.rl +149 -0
  62. data/lib/sourcify/lib/sourcify/proc/parser/raw_scanner_extensions.rb +74 -0
  63. data/lib/sourcify/lib/sourcify/proc/parser/scanner.rb +49 -0
  64. data/lib/sourcify/lib/sourcify/proc/parser/source_code.rb +8 -0
  65. data/lib/sourcify/lib/sourcify/version.rb +3 -0
  66. data/lib/sourcify/sourcify.gemspec +31 -0
  67. data/lib/sourcify/spec/dump_object_space_procs.rb +84 -0
  68. data/lib/sourcify/spec/method/encoding_from_def_end_block_spec.rb +33 -0
  69. data/lib/sourcify/spec/method/encoding_from_define_method_spec.rb +37 -0
  70. data/lib/sourcify/spec/method/others_from_def_end_block_spec.rb +49 -0
  71. data/lib/sourcify/spec/method/others_from_define_method_spec.rb +63 -0
  72. data/lib/sourcify/spec/method/raw_scanner/block_comment_spec.rb +8 -0
  73. data/lib/sourcify/spec/method/raw_scanner/double_colons_spec.rb +8 -0
  74. data/lib/sourcify/spec/method/raw_scanner/double_quote_str_w_interpolation_spec.rb +8 -0
  75. data/lib/sourcify/spec/method/raw_scanner/double_quote_str_wo_interpolation_spec.rb +8 -0
  76. data/lib/sourcify/spec/method/raw_scanner/heredoc_w_indent_spec.rb +8 -0
  77. data/lib/sourcify/spec/method/raw_scanner/heredoc_wo_indent_spec.rb +8 -0
  78. data/lib/sourcify/spec/method/raw_scanner/kw_block_start_alias1_spec.rb +20 -0
  79. data/lib/sourcify/spec/method/raw_scanner/kw_block_start_alias2_spec.rb +20 -0
  80. data/lib/sourcify/spec/method/raw_scanner/per_line_comment_spec.rb +8 -0
  81. data/lib/sourcify/spec/method/raw_scanner/single_quote_str_spec.rb +8 -0
  82. data/lib/sourcify/spec/method/raw_scanner/slash_operator_spec.rb +8 -0
  83. data/lib/sourcify/spec/method/raw_scanner/spec_helper.rb +80 -0
  84. data/lib/sourcify/spec/method/spec_helper.rb +1 -0
  85. data/lib/sourcify/spec/method/to_raw_source_spec.rb +31 -0
  86. data/lib/sourcify/spec/method/to_raw_source_w_specified_strip_enclosure_spec.rb +148 -0
  87. data/lib/sourcify/spec/method/to_sexp_from_def_end_block_w_variables_spec.rb +46 -0
  88. data/lib/sourcify/spec/method/to_sexp_from_def_end_block_within_irb_spec.rb +38 -0
  89. data/lib/sourcify/spec/method/to_sexp_from_def_end_block_within_pry_spec.rb +38 -0
  90. data/lib/sourcify/spec/method/to_sexp_from_define_method_w_multi_blocks_and_specified_attached_to_spec.rb +56 -0
  91. data/lib/sourcify/spec/method/to_sexp_from_define_method_w_variables_spec.rb +52 -0
  92. data/lib/sourcify/spec/method/to_sexp_from_define_method_within_irb_spec.rb +42 -0
  93. data/lib/sourcify/spec/method/to_sexp_from_define_method_within_pry_spec.rb +42 -0
  94. data/lib/sourcify/spec/method/to_sexp_w_specified_strip_enclosure_spec.rb +74 -0
  95. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_19_extras_spec.rb +23 -0
  96. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_nested_begin_spec.rb +35 -0
  97. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_nested_case_spec.rb +35 -0
  98. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_nested_class_spec.rb +51 -0
  99. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_nested_do_end_block_spec.rb +33 -0
  100. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_nested_for_spec.rb +126 -0
  101. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_nested_if_spec.rb +83 -0
  102. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_nested_literal_keyword_spec.rb +141 -0
  103. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_nested_method_spec.rb +33 -0
  104. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_nested_module_spec.rb +59 -0
  105. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_nested_unless_spec.rb +83 -0
  106. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_nested_until_spec.rb +179 -0
  107. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_nested_while_spec.rb +179 -0
  108. data/lib/sourcify/spec/method/to_source_from_def_end_block_w_singleton_method_spec.rb +19 -0
  109. data/lib/sourcify/spec/method/to_source_from_def_end_block_within_irb_spec.rb +30 -0
  110. data/lib/sourcify/spec/method/to_source_from_def_end_block_within_pry_spec.rb +45 -0
  111. data/lib/sourcify/spec/method/to_source_from_def_end_w_multi_blocks_and_many_matches_spec.rb +30 -0
  112. data/lib/sourcify/spec/method/to_source_from_def_end_w_multi_blocks_and_single_match_spec.rb +36 -0
  113. data/lib/sourcify/spec/method/to_source_from_define_method_w_braced_block_spec.rb +113 -0
  114. data/lib/sourcify/spec/method/to_source_from_define_method_w_do_end_block_spec.rb +145 -0
  115. data/lib/sourcify/spec/method/to_source_from_define_method_w_multi_blocks_and_many_matches_spec.rb +56 -0
  116. data/lib/sourcify/spec/method/to_source_from_define_method_w_multi_blocks_and_single_match_spec.rb +73 -0
  117. data/lib/sourcify/spec/method/to_source_from_define_method_w_multi_blocks_and_specified_attached_to_and_many_matches_spec.rb +36 -0
  118. data/lib/sourcify/spec/method/to_source_from_define_method_w_multi_blocks_and_specified_attached_to_and_no_match_spec.rb +36 -0
  119. data/lib/sourcify/spec/method/to_source_from_define_method_w_multi_blocks_and_specified_attached_to_and_single_match_spec.rb +28 -0
  120. data/lib/sourcify/spec/method/to_source_from_define_method_w_multi_blocks_and_specified_attached_to_spec.rb +103 -0
  121. data/lib/sourcify/spec/method/to_source_from_define_method_w_multi_blocks_and_specified_body_matcher_and_many_matches_spec.rb +36 -0
  122. data/lib/sourcify/spec/method/to_source_from_define_method_w_multi_blocks_and_specified_body_matcher_and_no_match_spec.rb +36 -0
  123. data/lib/sourcify/spec/method/to_source_from_define_method_w_multi_blocks_and_specified_body_matcher_and_single_match_spec.rb +28 -0
  124. data/lib/sourcify/spec/method/to_source_from_define_method_w_multi_blocks_and_specified_ignore_nested_spec.rb +36 -0
  125. data/lib/sourcify/spec/method/to_source_from_define_method_within_irb_spec.rb +32 -0
  126. data/lib/sourcify/spec/method/to_source_from_define_method_within_pry_spec.rb +49 -0
  127. data/lib/sourcify/spec/method/to_source_magic_file_var_spec.rb +176 -0
  128. data/lib/sourcify/spec/method/to_source_magic_line_var_spec.rb +298 -0
  129. data/lib/sourcify/spec/method/to_source_w_specified_strip_enclosure_spec.rb +39 -0
  130. data/lib/sourcify/spec/no_method/unsupported_platform_spec.rb +26 -0
  131. data/lib/sourcify/spec/proc/19x_extras.rb +27 -0
  132. data/lib/sourcify/spec/proc/created_on_the_fly_proc_spec.rb +80 -0
  133. data/lib/sourcify/spec/proc/encoding_spec.rb +36 -0
  134. data/lib/sourcify/spec/proc/others_spec.rb +40 -0
  135. data/lib/sourcify/spec/proc/raw_scanner/block_comment_spec.rb +8 -0
  136. data/lib/sourcify/spec/proc/raw_scanner/double_colons_spec.rb +8 -0
  137. data/lib/sourcify/spec/proc/raw_scanner/double_quote_str_w_interpolation_spec.rb +8 -0
  138. data/lib/sourcify/spec/proc/raw_scanner/double_quote_str_wo_interpolation_spec.rb +8 -0
  139. data/lib/sourcify/spec/proc/raw_scanner/heredoc_w_indent_spec.rb +8 -0
  140. data/lib/sourcify/spec/proc/raw_scanner/heredoc_wo_indent_spec.rb +8 -0
  141. data/lib/sourcify/spec/proc/raw_scanner/kw_block_start_alias1_spec.rb +20 -0
  142. data/lib/sourcify/spec/proc/raw_scanner/kw_block_start_alias2_spec.rb +20 -0
  143. data/lib/sourcify/spec/proc/raw_scanner/per_line_comment_spec.rb +8 -0
  144. data/lib/sourcify/spec/proc/raw_scanner/single_quote_str_spec.rb +8 -0
  145. data/lib/sourcify/spec/proc/raw_scanner/slash_operator_spec.rb +8 -0
  146. data/lib/sourcify/spec/proc/raw_scanner/spec_helper.rb +63 -0
  147. data/lib/sourcify/spec/proc/readme +5 -0
  148. data/lib/sourcify/spec/proc/spec_helper.rb +1 -0
  149. data/lib/sourcify/spec/proc/to_raw_source_spec.rb +33 -0
  150. data/lib/sourcify/spec/proc/to_raw_source_w_specified_strip_enclosure_spec.rb +69 -0
  151. data/lib/sourcify/spec/proc/to_sexp_from_multi_blocks_w_specified_attached_to_spec.rb +46 -0
  152. data/lib/sourcify/spec/proc/to_sexp_variables_spec.rb +146 -0
  153. data/lib/sourcify/spec/proc/to_sexp_w_specified_strip_enclosure_spec.rb +60 -0
  154. data/lib/sourcify/spec/proc/to_sexp_within_irb_spec.rb +146 -0
  155. data/lib/sourcify/spec/proc/to_sexp_within_pry_spec.rb +149 -0
  156. data/lib/sourcify/spec/proc/to_source_from_braced_block_w_nested_braced_block_spec.rb +33 -0
  157. data/lib/sourcify/spec/proc/to_source_from_braced_block_w_nested_hash_spec.rb +82 -0
  158. data/lib/sourcify/spec/proc/to_source_from_braced_block_wo_nesting_complication_spec.rb +46 -0
  159. data/lib/sourcify/spec/proc/to_source_from_do_end_block_w_nested_begin_spec.rb +35 -0
  160. data/lib/sourcify/spec/proc/to_source_from_do_end_block_w_nested_case_spec.rb +35 -0
  161. data/lib/sourcify/spec/proc/to_source_from_do_end_block_w_nested_class_spec.rb +89 -0
  162. data/lib/sourcify/spec/proc/to_source_from_do_end_block_w_nested_do_end_block_spec.rb +33 -0
  163. data/lib/sourcify/spec/proc/to_source_from_do_end_block_w_nested_for_spec.rb +132 -0
  164. data/lib/sourcify/spec/proc/to_source_from_do_end_block_w_nested_if_spec.rb +87 -0
  165. data/lib/sourcify/spec/proc/to_source_from_do_end_block_w_nested_literal_keyword_spec.rb +103 -0
  166. data/lib/sourcify/spec/proc/to_source_from_do_end_block_w_nested_method_spec.rb +33 -0
  167. data/lib/sourcify/spec/proc/to_source_from_do_end_block_w_nested_module_spec.rb +49 -0
  168. data/lib/sourcify/spec/proc/to_source_from_do_end_block_w_nested_unless_spec.rb +87 -0
  169. data/lib/sourcify/spec/proc/to_source_from_do_end_block_w_nested_until_spec.rb +189 -0
  170. data/lib/sourcify/spec/proc/to_source_from_do_end_block_w_nested_while_spec.rb +189 -0
  171. data/lib/sourcify/spec/proc/to_source_from_do_end_block_wo_nesting_complication_spec.rb +46 -0
  172. data/lib/sourcify/spec/proc/to_source_from_multi_blocks_w_many_matches_spec.rb +43 -0
  173. data/lib/sourcify/spec/proc/to_source_from_multi_blocks_w_single_match_spec.rb +20 -0
  174. data/lib/sourcify/spec/proc/to_source_from_multi_blocks_w_specified_attached_to_and_many_matches_spec.rb +45 -0
  175. data/lib/sourcify/spec/proc/to_source_from_multi_blocks_w_specified_attached_to_and_no_match_spec.rb +45 -0
  176. data/lib/sourcify/spec/proc/to_source_from_multi_blocks_w_specified_attached_to_and_single_match_spec.rb +22 -0
  177. data/lib/sourcify/spec/proc/to_source_from_multi_blocks_w_specified_attached_to_spec.rb +84 -0
  178. data/lib/sourcify/spec/proc/to_source_from_multi_blocks_w_specified_body_matcher_and_many_matches_spec.rb +45 -0
  179. data/lib/sourcify/spec/proc/to_source_from_multi_blocks_w_specified_body_matcher_and_no_match_spec.rb +45 -0
  180. data/lib/sourcify/spec/proc/to_source_from_multi_blocks_w_specified_body_matcher_and_single_match_spec.rb +22 -0
  181. data/lib/sourcify/spec/proc/to_source_from_multi_blocks_w_specified_ignore_nested_spec.rb +43 -0
  182. data/lib/sourcify/spec/proc/to_source_from_multi_do_end_blocks_w_single_match_spec.rb +31 -0
  183. data/lib/sourcify/spec/proc/to_source_magic_file_var_spec.rb +127 -0
  184. data/lib/sourcify/spec/proc/to_source_magic_line_var_spec.rb +127 -0
  185. data/lib/sourcify/spec/proc/to_source_variables_spec.rb +29 -0
  186. data/lib/sourcify/spec/proc/to_source_w_specified_strip_enclosure_spec.rb +33 -0
  187. data/lib/sourcify/spec/proc/to_source_within_irb_spec.rb +38 -0
  188. data/lib/sourcify/spec/proc/to_source_within_pry_spec.rb +61 -0
  189. data/lib/sourcify/spec/raw_scanner/block_comment_shared_spec.rb +57 -0
  190. data/lib/sourcify/spec/raw_scanner/double_colons_shared_spec.rb +11 -0
  191. data/lib/sourcify/spec/raw_scanner/double_quote_str_w_interpolation_shared_spec.rb +60 -0
  192. data/lib/sourcify/spec/raw_scanner/double_quote_str_wo_interpolation_shared_spec.rb +86 -0
  193. data/lib/sourcify/spec/raw_scanner/heredoc_w_indent_shared_spec.rb +69 -0
  194. data/lib/sourcify/spec/raw_scanner/heredoc_wo_indent_shared_spec.rb +70 -0
  195. data/lib/sourcify/spec/raw_scanner/kw_block_start_alias1_shared_spec.rb +73 -0
  196. data/lib/sourcify/spec/raw_scanner/kw_block_start_alias2_shared_spec.rb +73 -0
  197. data/lib/sourcify/spec/raw_scanner/per_line_comment_shared_spec.rb +32 -0
  198. data/lib/sourcify/spec/raw_scanner/shared_specs.rb +3 -0
  199. data/lib/sourcify/spec/raw_scanner/single_quote_str_shared_spec.rb +79 -0
  200. data/lib/sourcify/spec/raw_scanner/slash_operator_shared_spec.rb +71 -0
  201. data/lib/sourcify/spec/run_build.sh +25 -0
  202. data/lib/sourcify/spec/spec_helper.rb +130 -0
  203. data/lib/symbolic/symbolic.rb +248 -0
  204. data/lib/symbolic/visitor.rb +51 -0
  205. data/lib/translator/block_translator.rb +123 -0
  206. data/lib/translator/command_translator.rb +421 -0
  207. data/lib/translator/last_returns_visitor.rb +57 -0
  208. data/lib/translator/local_variables_enumerator.rb +35 -0
  209. data/lib/translator/method_translator.rb +24 -0
  210. data/lib/translator/translator.rb +49 -0
  211. data/lib/type_aware_array.rb +71 -0
  212. data/lib/types/array_type.rb +51 -0
  213. data/lib/types/class_type.rb +128 -0
  214. data/lib/types/object_tracer.rb +162 -0
  215. data/lib/types/primitive_type.rb +73 -0
  216. data/lib/types/ruby_extension.rb +67 -0
  217. data/lib/types/ruby_type.rb +45 -0
  218. data/lib/types/type_inference.rb +382 -0
  219. data/lib/types/union_type.rb +155 -0
  220. metadata +321 -0
@@ -0,0 +1,3 @@
1
+ %w{source_location to_source to_sexp to_raw_source}.each do |file|
2
+ Sourcify.require_rb('proc', 'methods', file)
3
+ end
@@ -0,0 +1,61 @@
1
+ module Sourcify
2
+ module Proc
3
+ module Methods #:nodoc:all
4
+ module SourceLocation
5
+ def self.included(base)
6
+ base.class_eval do
7
+
8
+ # Case (1): the family of 1.9.* behaves slightly differently for created on
9
+ # the fly proc, eg. 1.9.2 does yield meaningful Proc#source_location for procs
10
+ # created from Method#to_proc. Since it is not possible to derive the same
11
+ # behaviour for other rubies, we stick to the less performant behaviour.
12
+ if lambda{}.respond_to?(:source_location)
13
+
14
+ alias_method :__pre_sourcified_source_location, :source_location
15
+
16
+ def source_location(get_original = true)
17
+ if get_original
18
+ __pre_sourcified_source_location
19
+ elsif !@created_on_the_fly
20
+ __pre_sourcified_source_location
21
+ end
22
+ end
23
+
24
+ # Case (2): okko, we are on rubies that don't support Proc#source_location ..
25
+ else
26
+
27
+ def source_location(get_original = true)
28
+ unless @created_on_the_fly
29
+ @source_location ||= (
30
+ file, line = /^#<Proc:0x[0-9A-Fa-f]+@(.+):(\d+).*?>$/.match(inspect)[1..2]
31
+ [file, line.to_i]
32
+ )
33
+ end
34
+ end
35
+
36
+ end
37
+
38
+ # HACK to make it real easy to determine if a proc is created on the fly
39
+ # (eg. Method#to_proc & Symbol#to_proc).
40
+
41
+ attr_writer :created_on_the_fly
42
+
43
+ [::Method, ::Symbol].each do |klass|
44
+ begin
45
+ klass.class_eval do
46
+ alias_method :__pre_sourcified_to_proc, :to_proc
47
+ def to_proc
48
+ (_proc = __pre_sourcified_to_proc).created_on_the_fly = true
49
+ _proc
50
+ end
51
+ end
52
+ rescue NameError
53
+ end
54
+ end
55
+
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,20 @@
1
+ module Sourcify
2
+ module Proc
3
+ module Methods #:nodoc:all
4
+ module ToRawSource
5
+ def self.included(base)
6
+ base.class_eval do
7
+
8
+ Sourcify.require_rb('proc', 'parser')
9
+
10
+ def to_raw_source(opts = {}, &body_matcher)
11
+ (@sourcified_parser ||= Parser.new(self)).
12
+ raw_source(opts.merge(:body_matcher => body_matcher))
13
+ end
14
+
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,40 @@
1
+ module Sourcify
2
+ module Proc
3
+ module Methods #:nodoc:all
4
+ module ToSexp
5
+ def self.included(base)
6
+ base.class_eval do
7
+
8
+ ref_proc = lambda {}
9
+
10
+ # Case 1: we already have Proc#to_sexp (eg. provided by ParseTree) available,
11
+ # we override it to ensure it handles the extra args ..
12
+ if ref_proc.respond_to?(:to_sexp)
13
+
14
+ alias_method :__pre_sourcified_to_sexp, :to_sexp
15
+
16
+ def to_sexp(opts = {}, &body_matcher)
17
+ sexp, flag = __pre_sourcified_to_sexp, opts[:strip_enclosure]
18
+ Marshal.load(Marshal.dump( # need a deep copy cos the caller may reset the sexp
19
+ (@sourcified_sexps ||= {})[flag] ||=
20
+ flag ? Sexp.from_array(sexp.to_a.last) : sexp
21
+ ))
22
+ end
23
+
24
+ # Case 2: okko, we have to implement our own Proc#to_sexp ...
25
+ else
26
+
27
+ Sourcify.require_rb('proc', 'parser')
28
+
29
+ def to_sexp(opts = {}, &body_matcher)
30
+ (@sourcified_parser ||= Parser.new(self)).
31
+ sexp(opts.merge(:body_matcher => body_matcher))
32
+ end
33
+
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,48 @@
1
+ module Sourcify
2
+ module Proc
3
+ module Methods #:nodoc:all
4
+ module ToSource
5
+ def self.included(base)
6
+ base.class_eval do
7
+
8
+ ref_proc = lambda {}
9
+
10
+ # Case 1: the current ruby already implements Proc#to_source,
11
+ # we override it to ensure it handles the extra args ..
12
+ if ref_proc.respond_to?(:to_source)
13
+
14
+ alias_method :__pre_sourcified_to_source, :to_source
15
+
16
+ def to_source(opts = {}, &body_matcher)
17
+ flag = opts[:strip_enclosure]
18
+ (@sourcified_sources ||= {})[flag] ||=
19
+ flag ? Ruby2Ruby.new.process(to_sexp(opts, &body_matcher)) : __pre_sourcified_to_source
20
+ end
21
+
22
+ # Case 2: we have Proc#to_ruby (eg. provided by ParseTree) available,
23
+ # we have a wrapper round it to ensure it handles the extra args ..
24
+ elsif ref_proc.respond_to?(:to_ruby)
25
+
26
+ def to_source(opts = {}, &body_matcher)
27
+ flag = opts[:strip_enclosure]
28
+ (@sourcified_sources ||= {})[flag] ||=
29
+ flag ? Ruby2Ruby.new.process(to_sexp(opts, &body_matcher)) : to_ruby
30
+ end
31
+
32
+ # Case 3: okko, we have to implement our own Proc#to_source ...
33
+ else
34
+
35
+ Sourcify.require_rb('proc', 'parser')
36
+
37
+ def to_source(opts = {}, &body_matcher)
38
+ (@sourcified_parser ||= Parser.new(self)).
39
+ source(opts.merge(:body_matcher => body_matcher))
40
+ end
41
+
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,51 @@
1
+ %w{normalizer scanner source_code converter}.each do |file|
2
+ Sourcify.require_rb('proc', 'parser', file)
3
+ end
4
+
5
+ module Sourcify
6
+ module Proc
7
+ class Parser #:nodoc:all
8
+
9
+ def initialize(_proc)
10
+ @arity, @source_code = _proc.arity, SourceCode.new(*_proc.source_location(false))
11
+ raise CannotHandleCreatedOnTheFlyProcError unless @source_code.file
12
+ raise CannotParseEvalCodeError if @source_code.file == '(eval)'
13
+ @binding = _proc.binding # this must come after the above check
14
+ end
15
+
16
+ def source(opts)
17
+ (@sources ||= {})[opts.hash] ||= Converter.to_code(sexp(opts))
18
+ end
19
+
20
+ def sexp(opts)
21
+ (@sexps ||= {})[opts.hash] ||= (
22
+ extracted = extracted_source(opts)[1]
23
+ raw_code = (("\n" * @source_code.line) + extracted).same_encoding_as(extracted)
24
+
25
+ raw_sexp = Converter.to_sexp(raw_code, @source_code.file)
26
+ sexp = Normalizer.process(raw_sexp, @binding)
27
+ opts[:strip_enclosure] ? Sexp.from_array(sexp.to_a.last) : sexp
28
+ )
29
+ end
30
+
31
+ def raw_source(opts)
32
+ raw_code = extracted_source(opts)[0].strip
33
+ opts[:strip_enclosure] ?
34
+ raw_code.sub(/^proc\s*(\{|do)\s*(\|[^\|]+\|)?(.*)(\}|end)$/m, '\3').strip : raw_code
35
+ end
36
+
37
+ private
38
+
39
+ def extracted_source(opts)
40
+ Scanner.process(@source_code, opts) do |(raw, normalized)|
41
+ begin
42
+ eval(raw).arity == @arity
43
+ rescue Exception
44
+ raise ParserInternalError
45
+ end
46
+ end
47
+ end
48
+
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,8 @@
1
+ module Sourcify
2
+ module Proc
3
+ class Parser #:nodoc:all
4
+ Sourcify.require_rb('common', 'parser', 'converter')
5
+ Converter = Common::Parser::Converter
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,43 @@
1
+ module Sourcify
2
+ module Proc
3
+ class Parser #:nodoc:all
4
+ class Normalizer
5
+ class << self
6
+
7
+ def process(sexp, binding)
8
+ @binding = binding
9
+ Sexp.from_array(fix_no_arg_method_calls(sexp.to_a))
10
+ end
11
+
12
+ def fix_no_arg_method_calls(array)
13
+ return array if [:class, :sclass, :defn, :module].include?(array[0])
14
+ array.map do |e|
15
+ if e.is_a?(Array)
16
+ no_arg_method_call?(e) or fix_no_arg_method_calls(e)
17
+ else
18
+ e
19
+ end
20
+ end
21
+ end
22
+
23
+ def no_arg_method_call?(e)
24
+ if like_no_arg_method_call?(e)
25
+ bounded_var?(var = e[2]) ? [:lvar, var] : e
26
+ end
27
+ end
28
+
29
+ def like_no_arg_method_call?(e)
30
+ e.size == 4 && e[0..1] == [:call, nil] &&
31
+ e[3] == [:arglist] && (var = e[2]).is_a?(Symbol)
32
+ end
33
+
34
+ def bounded_var?(var)
35
+ lvar = (@q ||= (IS_19x ? ":%s" : "'%s'")) % var
36
+ @binding.has_local_variable?(lvar)
37
+ end
38
+
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,2498 @@
1
+
2
+ # line 1 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
3
+ Sourcify.require_rb('proc', 'parser', 'raw_scanner_extensions')
4
+
5
+ module Sourcify
6
+ module Proc
7
+ class Parser
8
+ module RawScanner #:nodoc:all
9
+
10
+
11
+ # line 134 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
12
+
13
+
14
+ # line 2 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rb"
15
+ class << self
16
+ attr_accessor :_scanner_actions
17
+ private :_scanner_actions, :_scanner_actions=
18
+ end
19
+ self._scanner_actions = [
20
+ 0, 1, 0, 1, 2, 1, 3, 1,
21
+ 5, 1, 7, 1, 8, 1, 9, 1,
22
+ 12, 1, 13, 1, 14, 1, 15, 1,
23
+ 16, 1, 17, 1, 18, 1, 19, 1,
24
+ 20, 1, 21, 1, 22, 1, 23, 1,
25
+ 24, 1, 25, 1, 26, 1, 27, 1,
26
+ 28, 1, 29, 1, 30, 1, 31, 1,
27
+ 32, 1, 33, 1, 34, 1, 35, 1,
28
+ 36, 1, 37, 1, 38, 1, 39, 1,
29
+ 40, 1, 41, 1, 42, 1, 43, 1,
30
+ 44, 1, 45, 1, 46, 1, 47, 1,
31
+ 48, 1, 49, 1, 50, 1, 51, 1,
32
+ 52, 1, 53, 1, 54, 1, 55, 1,
33
+ 56, 1, 57, 1, 58, 1, 59, 1,
34
+ 60, 1, 61, 1, 62, 1, 63, 1,
35
+ 64, 1, 65, 1, 66, 1, 67, 1,
36
+ 68, 1, 69, 1, 70, 1, 71, 1,
37
+ 72, 1, 73, 1, 74, 1, 75, 1,
38
+ 76, 1, 77, 1, 78, 1, 79, 1,
39
+ 80, 1, 81, 1, 82, 1, 83, 1,
40
+ 88, 1, 89, 1, 90, 1, 91, 1,
41
+ 92, 1, 93, 1, 94, 1, 95, 1,
42
+ 96, 1, 97, 1, 98, 1, 99, 1,
43
+ 100, 1, 101, 1, 102, 1, 103, 1,
44
+ 104, 1, 105, 1, 106, 1, 107, 1,
45
+ 108, 1, 109, 1, 110, 1, 111, 1,
46
+ 112, 1, 113, 2, 0, 1, 2, 3,
47
+ 4, 2, 3, 6, 2, 3, 10, 2,
48
+ 3, 11, 2, 3, 84, 2, 3, 85,
49
+ 2, 3, 86, 2, 3, 87
50
+ ]
51
+
52
+ class << self
53
+ attr_accessor :_scanner_key_offsets
54
+ private :_scanner_key_offsets, :_scanner_key_offsets=
55
+ end
56
+ self._scanner_key_offsets = [
57
+ 0, 0, 1, 2, 3, 4, 5, 6,
58
+ 7, 11, 19, 24, 35, 36, 37, 41,
59
+ 51, 58, 62, 63, 65, 67, 69, 71,
60
+ 72, 73, 101, 129, 131, 132, 133, 135,
61
+ 137, 139, 140, 141, 143, 145, 147, 148,
62
+ 149, 151, 153, 155, 156, 157, 159, 161,
63
+ 163, 164, 165, 167, 169, 171, 172, 173,
64
+ 175, 177, 179, 180, 181, 183, 185, 187,
65
+ 188, 189, 191, 193, 195, 196, 197, 199,
66
+ 201, 203, 204, 205, 207, 209, 211, 212,
67
+ 213, 215, 217, 219, 220, 221, 223, 225,
68
+ 227, 228, 229, 231, 233, 235, 236, 237,
69
+ 239, 241, 243, 244, 245, 247, 249, 251,
70
+ 252, 253, 255, 257, 259, 260, 261, 263,
71
+ 265, 267, 268, 269, 271, 273, 275, 276,
72
+ 277, 279, 281, 283, 284, 285, 287, 289,
73
+ 291, 292, 293, 295, 297, 299, 300, 302,
74
+ 304, 305, 306, 308, 309, 310, 312, 314,
75
+ 316, 317, 318, 320, 322, 324, 325, 326,
76
+ 328, 330, 332, 333, 334, 336, 338, 340,
77
+ 341, 342, 344, 346, 348, 349, 350, 352,
78
+ 354, 355, 356, 357, 358, 359, 360, 361,
79
+ 362, 363, 364, 365, 366, 367, 368, 369,
80
+ 370, 371, 372, 373, 374, 375, 376, 377,
81
+ 378, 379, 380, 381, 382, 383, 384, 385,
82
+ 392, 393, 394, 395, 396, 397, 409, 414,
83
+ 415, 416, 417, 418, 425, 426, 427, 428,
84
+ 430, 431, 432, 433, 434, 435, 436, 437,
85
+ 438, 466, 470, 471, 476, 484, 491, 492,
86
+ 493, 501, 502, 503, 511, 520, 529, 538,
87
+ 547, 556, 565, 566, 567, 568, 569, 570,
88
+ 571, 576, 610, 612, 614, 616, 618, 620,
89
+ 622, 624, 626, 628, 630, 632, 634, 636,
90
+ 638, 640, 642, 644, 646, 648, 650, 652,
91
+ 654, 655, 657, 659, 661, 663, 665, 667,
92
+ 669, 670, 671, 672, 673, 674, 675, 676,
93
+ 677, 678, 679, 680, 681, 682, 683, 684,
94
+ 685, 686, 687, 688, 689, 690, 691, 692,
95
+ 693, 694, 695, 696, 697, 709, 713, 714,
96
+ 716, 721, 722, 723, 724, 725, 726, 727,
97
+ 728
98
+ ]
99
+
100
+ class << self
101
+ attr_accessor :_scanner_trans_keys
102
+ private :_scanner_trans_keys, :_scanner_trans_keys=
103
+ end
104
+ self._scanner_trans_keys = [
105
+ 98, 101, 103, 105, 110, 10, 58, 65,
106
+ 90, 97, 122, 34, 39, 45, 95, 65,
107
+ 90, 97, 122, 95, 65, 90, 97, 122,
108
+ 10, 34, 39, 58, 95, 48, 57, 65,
109
+ 90, 97, 122, 10, 58, 65, 90, 97,
110
+ 122, 10, 34, 39, 95, 48, 57, 65,
111
+ 90, 97, 122, 34, 39, 95, 65, 90,
112
+ 97, 122, 65, 90, 97, 122, 10, 10,
113
+ 61, 10, 101, 10, 110, 10, 100, 10,
114
+ 10, 33, 34, 35, 36, 37, 38, 39,
115
+ 40, 42, 43, 44, 45, 46, 47, 58,
116
+ 59, 60, 61, 63, 64, 91, 92, 94,
117
+ 95, 96, 123, 124, 126, 33, 34, 35,
118
+ 36, 37, 38, 39, 40, 42, 43, 44,
119
+ 45, 46, 47, 58, 59, 60, 61, 63,
120
+ 64, 91, 92, 94, 95, 96, 123, 124,
121
+ 126, 33, 92, 33, 33, 33, 92, 33,
122
+ 92, 34, 92, 34, 34, 34, 92, 34,
123
+ 92, 35, 92, 35, 35, 35, 92, 35,
124
+ 92, 36, 92, 36, 36, 36, 92, 36,
125
+ 92, 37, 92, 37, 37, 37, 92, 37,
126
+ 92, 38, 92, 38, 38, 38, 92, 38,
127
+ 92, 39, 92, 39, 39, 39, 92, 39,
128
+ 92, 41, 92, 41, 41, 41, 92, 41,
129
+ 92, 42, 92, 42, 42, 42, 92, 42,
130
+ 92, 43, 92, 43, 43, 43, 92, 43,
131
+ 92, 44, 92, 44, 44, 44, 92, 44,
132
+ 92, 45, 92, 45, 45, 45, 92, 45,
133
+ 92, 46, 92, 46, 46, 46, 92, 46,
134
+ 92, 47, 92, 47, 47, 47, 92, 47,
135
+ 92, 58, 92, 58, 58, 58, 92, 58,
136
+ 92, 59, 92, 59, 59, 59, 92, 59,
137
+ 92, 62, 92, 62, 62, 62, 92, 62,
138
+ 92, 61, 92, 61, 61, 61, 92, 61,
139
+ 92, 63, 92, 63, 63, 63, 92, 63,
140
+ 92, 64, 92, 64, 64, 64, 92, 64,
141
+ 92, 92, 93, 93, 93, 92, 93, 92,
142
+ 93, 41, 92, 92, 41, 92, 41, 92,
143
+ 92, 92, 92, 94, 94, 94, 92, 94,
144
+ 92, 94, 92, 95, 95, 95, 92, 95,
145
+ 92, 95, 92, 96, 96, 96, 92, 96,
146
+ 92, 96, 92, 125, 125, 125, 92, 125,
147
+ 92, 125, 92, 124, 124, 124, 92, 124,
148
+ 92, 124, 92, 126, 126, 126, 92, 126,
149
+ 92, 126, 34, 39, 47, 96, 126, 33,
150
+ 64, 35, 36, 37, 94, 38, 42, 45,
151
+ 95, 43, 61, 62, 124, 58, 59, 44,
152
+ 46, 63, 125, 93, 41, 92, 103, 105,
153
+ 110, 95, 48, 57, 65, 90, 97, 122,
154
+ 115, 101, 97, 115, 115, 9, 32, 60,
155
+ 95, 11, 13, 48, 57, 65, 90, 97,
156
+ 122, 9, 32, 60, 11, 13, 60, 10,
157
+ 102, 114, 95, 48, 57, 65, 90, 97,
158
+ 122, 100, 117, 108, 108, 116, 101, 115,
159
+ 115, 105, 108, 105, 108, 101, 10, 32,
160
+ 34, 35, 37, 39, 40, 44, 47, 58,
161
+ 59, 60, 61, 92, 96, 100, 101, 116,
162
+ 123, 125, 9, 13, 48, 57, 65, 90,
163
+ 95, 122, 9, 32, 11, 13, 61, 95,
164
+ 65, 90, 97, 122, 58, 95, 48, 57,
165
+ 65, 90, 97, 122, 95, 48, 57, 65,
166
+ 90, 97, 122, 60, 62, 58, 95, 48,
167
+ 57, 65, 90, 97, 122, 58, 10, 58,
168
+ 95, 48, 57, 65, 90, 97, 122, 58,
169
+ 95, 111, 48, 57, 65, 90, 97, 122,
170
+ 58, 95, 110, 48, 57, 65, 90, 97,
171
+ 122, 58, 95, 100, 48, 57, 65, 90,
172
+ 97, 122, 58, 95, 104, 48, 57, 65,
173
+ 90, 97, 122, 58, 95, 101, 48, 57,
174
+ 65, 90, 97, 122, 58, 95, 110, 48,
175
+ 57, 65, 90, 97, 122, 10, 10, 10,
176
+ 10, 10, 10, 34, 37, 39, 47, 96,
177
+ 33, 34, 35, 36, 37, 38, 39, 40,
178
+ 42, 43, 44, 45, 46, 47, 58, 59,
179
+ 60, 61, 63, 64, 81, 87, 91, 92,
180
+ 94, 95, 96, 113, 114, 119, 120, 123,
181
+ 124, 126, 33, 92, 34, 92, 35, 92,
182
+ 36, 92, 37, 92, 38, 92, 39, 92,
183
+ 41, 92, 42, 92, 43, 92, 44, 92,
184
+ 45, 92, 46, 92, 47, 92, 58, 92,
185
+ 59, 92, 62, 92, 61, 92, 63, 92,
186
+ 64, 92, 92, 93, 41, 92, 92, 92,
187
+ 94, 92, 95, 92, 96, 92, 125, 92,
188
+ 124, 92, 126, 39, 92, 34, 39, 47,
189
+ 96, 126, 33, 64, 35, 36, 37, 94,
190
+ 38, 42, 45, 95, 43, 61, 62, 124,
191
+ 58, 59, 44, 46, 63, 125, 93, 41,
192
+ 92, 9, 32, 98, 99, 100, 102, 105,
193
+ 109, 117, 119, 11, 13, 9, 32, 11,
194
+ 13, 101, 97, 108, 9, 32, 60, 11,
195
+ 13, 10, 60, 101, 111, 102, 111, 110,
196
+ 104, 0
197
+ ]
198
+
199
+ class << self
200
+ attr_accessor :_scanner_single_lengths
201
+ private :_scanner_single_lengths, :_scanner_single_lengths=
202
+ end
203
+ self._scanner_single_lengths = [
204
+ 0, 1, 1, 1, 1, 1, 1, 1,
205
+ 0, 4, 1, 5, 1, 1, 0, 4,
206
+ 3, 0, 1, 2, 2, 2, 2, 1,
207
+ 1, 28, 28, 2, 1, 1, 2, 2,
208
+ 2, 1, 1, 2, 2, 2, 1, 1,
209
+ 2, 2, 2, 1, 1, 2, 2, 2,
210
+ 1, 1, 2, 2, 2, 1, 1, 2,
211
+ 2, 2, 1, 1, 2, 2, 2, 1,
212
+ 1, 2, 2, 2, 1, 1, 2, 2,
213
+ 2, 1, 1, 2, 2, 2, 1, 1,
214
+ 2, 2, 2, 1, 1, 2, 2, 2,
215
+ 1, 1, 2, 2, 2, 1, 1, 2,
216
+ 2, 2, 1, 1, 2, 2, 2, 1,
217
+ 1, 2, 2, 2, 1, 1, 2, 2,
218
+ 2, 1, 1, 2, 2, 2, 1, 1,
219
+ 2, 2, 2, 1, 1, 2, 2, 2,
220
+ 1, 1, 2, 2, 2, 1, 2, 2,
221
+ 1, 1, 2, 1, 1, 2, 2, 2,
222
+ 1, 1, 2, 2, 2, 1, 1, 2,
223
+ 2, 2, 1, 1, 2, 2, 2, 1,
224
+ 1, 2, 2, 2, 1, 1, 2, 2,
225
+ 1, 1, 1, 1, 1, 1, 1, 1,
226
+ 1, 1, 1, 1, 1, 1, 1, 1,
227
+ 1, 1, 1, 1, 1, 1, 1, 1,
228
+ 1, 1, 1, 1, 1, 1, 1, 1,
229
+ 1, 1, 1, 1, 1, 4, 3, 1,
230
+ 1, 1, 1, 1, 1, 1, 1, 2,
231
+ 1, 1, 1, 1, 1, 1, 1, 1,
232
+ 20, 2, 1, 1, 2, 1, 1, 1,
233
+ 2, 1, 1, 2, 3, 3, 3, 3,
234
+ 3, 3, 1, 1, 1, 1, 1, 1,
235
+ 5, 34, 2, 2, 2, 2, 2, 2,
236
+ 2, 2, 2, 2, 2, 2, 2, 2,
237
+ 2, 2, 2, 2, 2, 2, 2, 2,
238
+ 1, 2, 2, 2, 2, 2, 2, 2,
239
+ 1, 1, 1, 1, 1, 1, 1, 1,
240
+ 1, 1, 1, 1, 1, 1, 1, 1,
241
+ 1, 1, 1, 1, 1, 1, 1, 1,
242
+ 1, 1, 1, 1, 10, 2, 1, 2,
243
+ 3, 1, 1, 1, 1, 1, 1, 1,
244
+ 1
245
+ ]
246
+
247
+ class << self
248
+ attr_accessor :_scanner_range_lengths
249
+ private :_scanner_range_lengths, :_scanner_range_lengths=
250
+ end
251
+ self._scanner_range_lengths = [
252
+ 0, 0, 0, 0, 0, 0, 0, 0,
253
+ 2, 2, 2, 3, 0, 0, 2, 3,
254
+ 2, 2, 0, 0, 0, 0, 0, 0,
255
+ 0, 0, 0, 0, 0, 0, 0, 0,
256
+ 0, 0, 0, 0, 0, 0, 0, 0,
257
+ 0, 0, 0, 0, 0, 0, 0, 0,
258
+ 0, 0, 0, 0, 0, 0, 0, 0,
259
+ 0, 0, 0, 0, 0, 0, 0, 0,
260
+ 0, 0, 0, 0, 0, 0, 0, 0,
261
+ 0, 0, 0, 0, 0, 0, 0, 0,
262
+ 0, 0, 0, 0, 0, 0, 0, 0,
263
+ 0, 0, 0, 0, 0, 0, 0, 0,
264
+ 0, 0, 0, 0, 0, 0, 0, 0,
265
+ 0, 0, 0, 0, 0, 0, 0, 0,
266
+ 0, 0, 0, 0, 0, 0, 0, 0,
267
+ 0, 0, 0, 0, 0, 0, 0, 0,
268
+ 0, 0, 0, 0, 0, 0, 0, 0,
269
+ 0, 0, 0, 0, 0, 0, 0, 0,
270
+ 0, 0, 0, 0, 0, 0, 0, 0,
271
+ 0, 0, 0, 0, 0, 0, 0, 0,
272
+ 0, 0, 0, 0, 0, 0, 0, 0,
273
+ 0, 0, 0, 0, 0, 0, 0, 0,
274
+ 0, 0, 0, 0, 0, 0, 0, 0,
275
+ 0, 0, 0, 0, 0, 0, 0, 0,
276
+ 0, 0, 0, 0, 0, 0, 0, 3,
277
+ 0, 0, 0, 0, 0, 4, 1, 0,
278
+ 0, 0, 0, 3, 0, 0, 0, 0,
279
+ 0, 0, 0, 0, 0, 0, 0, 0,
280
+ 4, 1, 0, 2, 3, 3, 0, 0,
281
+ 3, 0, 0, 3, 3, 3, 3, 3,
282
+ 3, 3, 0, 0, 0, 0, 0, 0,
283
+ 0, 0, 0, 0, 0, 0, 0, 0,
284
+ 0, 0, 0, 0, 0, 0, 0, 0,
285
+ 0, 0, 0, 0, 0, 0, 0, 0,
286
+ 0, 0, 0, 0, 0, 0, 0, 0,
287
+ 0, 0, 0, 0, 0, 0, 0, 0,
288
+ 0, 0, 0, 0, 0, 0, 0, 0,
289
+ 0, 0, 0, 0, 0, 0, 0, 0,
290
+ 0, 0, 0, 0, 1, 1, 0, 0,
291
+ 1, 0, 0, 0, 0, 0, 0, 0,
292
+ 0
293
+ ]
294
+
295
+ class << self
296
+ attr_accessor :_scanner_index_offsets
297
+ private :_scanner_index_offsets, :_scanner_index_offsets=
298
+ end
299
+ self._scanner_index_offsets = [
300
+ 0, 0, 2, 4, 6, 8, 10, 12,
301
+ 14, 17, 24, 28, 37, 39, 41, 44,
302
+ 52, 58, 61, 63, 66, 69, 72, 75,
303
+ 77, 79, 108, 137, 140, 142, 144, 147,
304
+ 150, 153, 155, 157, 160, 163, 166, 168,
305
+ 170, 173, 176, 179, 181, 183, 186, 189,
306
+ 192, 194, 196, 199, 202, 205, 207, 209,
307
+ 212, 215, 218, 220, 222, 225, 228, 231,
308
+ 233, 235, 238, 241, 244, 246, 248, 251,
309
+ 254, 257, 259, 261, 264, 267, 270, 272,
310
+ 274, 277, 280, 283, 285, 287, 290, 293,
311
+ 296, 298, 300, 303, 306, 309, 311, 313,
312
+ 316, 319, 322, 324, 326, 329, 332, 335,
313
+ 337, 339, 342, 345, 348, 350, 352, 355,
314
+ 358, 361, 363, 365, 368, 371, 374, 376,
315
+ 378, 381, 384, 387, 389, 391, 394, 397,
316
+ 400, 402, 404, 407, 410, 413, 415, 418,
317
+ 421, 423, 425, 428, 430, 432, 435, 438,
318
+ 441, 443, 445, 448, 451, 454, 456, 458,
319
+ 461, 464, 467, 469, 471, 474, 477, 480,
320
+ 482, 484, 487, 490, 493, 495, 497, 500,
321
+ 503, 505, 507, 509, 511, 513, 515, 517,
322
+ 519, 521, 523, 525, 527, 529, 531, 533,
323
+ 535, 537, 539, 541, 543, 545, 547, 549,
324
+ 551, 553, 555, 557, 559, 561, 563, 565,
325
+ 570, 572, 574, 576, 578, 580, 589, 594,
326
+ 596, 598, 600, 602, 607, 609, 611, 613,
327
+ 616, 618, 620, 622, 624, 626, 628, 630,
328
+ 632, 657, 661, 663, 667, 673, 678, 680,
329
+ 682, 688, 690, 692, 698, 705, 712, 719,
330
+ 726, 733, 740, 742, 744, 746, 748, 750,
331
+ 752, 758, 793, 796, 799, 802, 805, 808,
332
+ 811, 814, 817, 820, 823, 826, 829, 832,
333
+ 835, 838, 841, 844, 847, 850, 853, 856,
334
+ 859, 861, 864, 867, 870, 873, 876, 879,
335
+ 882, 884, 886, 888, 890, 892, 894, 896,
336
+ 898, 900, 902, 904, 906, 908, 910, 912,
337
+ 914, 916, 918, 920, 922, 924, 926, 928,
338
+ 930, 932, 934, 936, 938, 950, 954, 956,
339
+ 959, 964, 966, 968, 970, 972, 974, 976,
340
+ 978
341
+ ]
342
+
343
+ class << self
344
+ attr_accessor :_scanner_indicies
345
+ private :_scanner_indicies, :_scanner_indicies=
346
+ end
347
+ self._scanner_indicies = [
348
+ 1, 0, 2, 0, 3, 0, 4, 0,
349
+ 5, 0, 6, 5, 8, 7, 9, 9,
350
+ 7, 11, 11, 12, 14, 13, 14, 10,
351
+ 14, 13, 14, 10, 15, 16, 16, 17,
352
+ 13, 13, 13, 13, 10, 15, 10, 18,
353
+ 10, 13, 13, 10, 15, 16, 16, 14,
354
+ 14, 14, 14, 10, 11, 11, 14, 13,
355
+ 14, 10, 20, 20, 19, 23, 22, 23,
356
+ 24, 22, 23, 25, 22, 23, 26, 22,
357
+ 23, 27, 22, 29, 28, 31, 30, 33,
358
+ 34, 35, 36, 37, 38, 39, 40, 41,
359
+ 42, 43, 44, 45, 46, 47, 48, 49,
360
+ 50, 51, 52, 53, 54, 55, 56, 57,
361
+ 58, 59, 60, 32, 61, 62, 63, 64,
362
+ 65, 66, 67, 68, 69, 70, 71, 72,
363
+ 73, 74, 75, 76, 77, 78, 79, 80,
364
+ 81, 82, 83, 84, 85, 86, 87, 88,
365
+ 32, 89, 90, 61, 92, 91, 89, 91,
366
+ 89, 95, 94, 92, 95, 94, 89, 96,
367
+ 62, 98, 97, 89, 97, 89, 100, 99,
368
+ 98, 100, 99, 89, 101, 63, 103, 102,
369
+ 89, 102, 89, 105, 104, 103, 105, 104,
370
+ 89, 106, 64, 108, 107, 89, 107, 89,
371
+ 110, 109, 108, 110, 109, 89, 111, 65,
372
+ 113, 112, 89, 112, 89, 115, 114, 113,
373
+ 115, 114, 89, 116, 66, 118, 117, 89,
374
+ 117, 89, 120, 119, 118, 120, 119, 89,
375
+ 122, 67, 124, 123, 89, 123, 89, 126,
376
+ 125, 124, 126, 125, 89, 127, 68, 129,
377
+ 128, 89, 128, 89, 131, 130, 129, 131,
378
+ 130, 89, 132, 69, 134, 133, 89, 133,
379
+ 89, 136, 135, 134, 136, 135, 89, 137,
380
+ 70, 139, 138, 89, 138, 89, 141, 140,
381
+ 139, 141, 140, 89, 142, 71, 144, 143,
382
+ 89, 143, 89, 146, 145, 144, 146, 145,
383
+ 89, 147, 72, 149, 148, 89, 148, 89,
384
+ 151, 150, 149, 151, 150, 89, 152, 73,
385
+ 154, 153, 89, 153, 89, 156, 155, 154,
386
+ 156, 155, 89, 157, 74, 159, 158, 89,
387
+ 158, 89, 161, 160, 159, 161, 160, 89,
388
+ 162, 75, 164, 163, 89, 163, 89, 166,
389
+ 165, 164, 166, 165, 89, 167, 76, 169,
390
+ 168, 89, 168, 89, 171, 170, 169, 171,
391
+ 170, 89, 172, 77, 174, 173, 89, 173,
392
+ 89, 176, 175, 174, 176, 175, 89, 177,
393
+ 78, 179, 178, 89, 178, 89, 181, 180,
394
+ 179, 181, 180, 89, 182, 79, 184, 183,
395
+ 89, 183, 89, 186, 185, 184, 186, 185,
396
+ 89, 187, 80, 189, 188, 89, 188, 89,
397
+ 191, 190, 189, 191, 190, 192, 89, 81,
398
+ 194, 193, 89, 193, 196, 89, 195, 196,
399
+ 194, 195, 197, 198, 82, 89, 197, 93,
400
+ 200, 199, 93, 201, 199, 203, 202, 198,
401
+ 202, 204, 89, 83, 206, 205, 89, 205,
402
+ 208, 89, 207, 208, 206, 207, 209, 89,
403
+ 84, 211, 210, 89, 210, 213, 89, 212,
404
+ 213, 211, 212, 214, 89, 85, 216, 215,
405
+ 89, 215, 218, 89, 217, 218, 216, 217,
406
+ 219, 89, 86, 221, 220, 89, 220, 223,
407
+ 89, 222, 223, 221, 222, 224, 89, 87,
408
+ 226, 225, 89, 225, 228, 89, 227, 228,
409
+ 226, 227, 229, 89, 88, 231, 230, 89,
410
+ 230, 233, 89, 232, 233, 231, 232, 235,
411
+ 234, 237, 236, 239, 238, 241, 240, 243,
412
+ 242, 245, 244, 247, 246, 249, 248, 251,
413
+ 250, 253, 252, 255, 254, 257, 256, 259,
414
+ 258, 261, 260, 263, 262, 265, 264, 267,
415
+ 266, 269, 268, 271, 270, 273, 272, 275,
416
+ 274, 277, 276, 279, 278, 281, 280, 283,
417
+ 282, 285, 284, 287, 286, 289, 288, 291,
418
+ 290, 292, 290, 293, 290, 290, 290, 290,
419
+ 290, 294, 295, 290, 293, 290, 296, 290,
420
+ 297, 290, 298, 290, 299, 299, 300, 290,
421
+ 299, 290, 290, 290, 294, 302, 302, 303,
422
+ 302, 301, 304, 301, 301, 305, 293, 290,
423
+ 306, 290, 290, 290, 290, 290, 307, 308,
424
+ 290, 309, 290, 295, 290, 310, 311, 290,
425
+ 312, 290, 313, 290, 293, 290, 314, 290,
426
+ 306, 290, 315, 290, 316, 290, 306, 290,
427
+ 319, 318, 320, 321, 320, 320, 322, 322,
428
+ 323, 325, 322, 326, 327, 328, 320, 330,
429
+ 331, 332, 333, 334, 318, 324, 20, 329,
430
+ 317, 318, 318, 318, 335, 337, 336, 339,
431
+ 9, 339, 338, 341, 9, 9, 9, 9,
432
+ 340, 339, 339, 339, 339, 340, 342, 338,
433
+ 344, 343, 346, 20, 20, 20, 20, 345,
434
+ 348, 347, 349, 338, 351, 329, 329, 329,
435
+ 329, 350, 351, 329, 353, 329, 329, 329,
436
+ 352, 351, 329, 354, 329, 329, 329, 352,
437
+ 351, 329, 355, 329, 329, 329, 352, 351,
438
+ 329, 356, 329, 329, 329, 352, 351, 329,
439
+ 357, 329, 329, 329, 352, 351, 329, 358,
440
+ 329, 329, 329, 352, 31, 359, 360, 359,
441
+ 23, 22, 23, 27, 29, 28, 362, 30,
442
+ 34, 364, 365, 46, 57, 363, 33, 34,
443
+ 35, 36, 37, 38, 39, 40, 41, 42,
444
+ 43, 44, 45, 46, 47, 48, 49, 50,
445
+ 51, 52, 367, 367, 53, 54, 55, 56,
446
+ 57, 368, 367, 368, 367, 58, 59, 60,
447
+ 366, 89, 95, 94, 89, 100, 99, 89,
448
+ 105, 104, 89, 110, 109, 89, 115, 114,
449
+ 89, 120, 119, 89, 126, 125, 89, 131,
450
+ 130, 89, 136, 135, 89, 141, 140, 89,
451
+ 146, 145, 89, 151, 150, 89, 156, 155,
452
+ 89, 161, 160, 89, 166, 165, 89, 171,
453
+ 170, 89, 176, 175, 89, 181, 180, 89,
454
+ 186, 185, 89, 191, 190, 196, 89, 195,
455
+ 369, 201, 199, 203, 202, 208, 89, 207,
456
+ 213, 89, 212, 218, 89, 217, 223, 89,
457
+ 222, 228, 89, 227, 233, 89, 232, 89,
458
+ 122, 67, 235, 234, 237, 236, 239, 238,
459
+ 241, 240, 243, 242, 245, 244, 247, 246,
460
+ 249, 248, 251, 250, 253, 252, 255, 254,
461
+ 257, 256, 259, 258, 261, 260, 263, 262,
462
+ 265, 264, 267, 266, 269, 268, 271, 270,
463
+ 273, 272, 275, 274, 277, 276, 279, 278,
464
+ 281, 280, 283, 282, 285, 284, 287, 286,
465
+ 289, 288, 372, 372, 373, 374, 375, 376,
466
+ 377, 378, 379, 380, 372, 371, 372, 372,
467
+ 372, 381, 383, 382, 384, 385, 382, 302,
468
+ 302, 303, 302, 386, 386, 305, 304, 386,
469
+ 387, 382, 388, 382, 293, 382, 389, 382,
470
+ 390, 382, 391, 382, 0
471
+ ]
472
+
473
+ class << self
474
+ attr_accessor :_scanner_trans_targs
475
+ private :_scanner_trans_targs, :_scanner_trans_targs=
476
+ end
477
+ self._scanner_trans_targs = [
478
+ 224, 2, 3, 4, 5, 6, 224, 224,
479
+ 8, 228, 224, 10, 16, 11, 15, 224,
480
+ 12, 13, 14, 224, 232, 244, 18, 19,
481
+ 20, 21, 22, 245, 23, 24, 247, 0,
482
+ 248, 248, 248, 248, 248, 248, 248, 248,
483
+ 248, 248, 248, 248, 248, 248, 248, 248,
484
+ 248, 248, 248, 248, 248, 248, 248, 248,
485
+ 248, 248, 248, 248, 248, 27, 32, 37,
486
+ 42, 47, 52, 57, 62, 67, 72, 77,
487
+ 82, 87, 92, 97, 102, 107, 112, 117,
488
+ 122, 127, 132, 138, 143, 148, 153, 158,
489
+ 163, 248, 28, 29, 250, 248, 30, 31,
490
+ 33, 34, 251, 35, 36, 38, 39, 252,
491
+ 40, 41, 43, 44, 253, 45, 46, 48,
492
+ 49, 254, 50, 51, 53, 54, 255, 55,
493
+ 56, 248, 58, 59, 256, 60, 61, 63,
494
+ 64, 257, 65, 66, 68, 69, 258, 70,
495
+ 71, 73, 74, 259, 75, 76, 78, 79,
496
+ 260, 80, 81, 83, 84, 261, 85, 86,
497
+ 88, 89, 262, 90, 91, 93, 94, 263,
498
+ 95, 96, 98, 99, 264, 100, 101, 103,
499
+ 104, 265, 105, 106, 108, 109, 266, 110,
500
+ 111, 113, 114, 267, 115, 116, 118, 119,
501
+ 268, 120, 121, 123, 124, 269, 125, 126,
502
+ 128, 129, 270, 130, 131, 133, 271, 134,
503
+ 135, 136, 137, 272, 139, 140, 273, 141,
504
+ 142, 144, 145, 274, 146, 147, 149, 150,
505
+ 275, 151, 152, 154, 155, 276, 156, 157,
506
+ 159, 160, 277, 161, 162, 164, 165, 278,
507
+ 166, 167, 168, 280, 169, 281, 170, 282,
508
+ 171, 283, 172, 284, 173, 285, 174, 286,
509
+ 175, 287, 176, 288, 177, 289, 178, 290,
510
+ 179, 291, 180, 292, 181, 293, 182, 294,
511
+ 183, 295, 184, 296, 185, 297, 186, 298,
512
+ 187, 299, 188, 300, 189, 301, 190, 302,
513
+ 191, 303, 192, 304, 193, 305, 194, 306,
514
+ 195, 307, 308, 197, 198, 199, 308, 201,
515
+ 203, 204, 205, 312, 314, 308, 206, 207,
516
+ 208, 313, 211, 308, 213, 214, 216, 219,
517
+ 217, 218, 220, 222, 223, 224, 225, 226,
518
+ 224, 224, 224, 224, 224, 227, 230, 231,
519
+ 234, 235, 236, 237, 239, 224, 224, 224,
520
+ 224, 1, 224, 229, 224, 7, 9, 224,
521
+ 224, 224, 233, 224, 17, 224, 224, 224,
522
+ 224, 235, 238, 235, 240, 241, 235, 243,
523
+ 242, 244, 246, 248, 249, 279, 248, 25,
524
+ 26, 248, 248, 308, 309, 310, 311, 315,
525
+ 316, 317, 318, 319, 320, 308, 308, 196,
526
+ 200, 202, 308, 209, 210, 212, 215, 221
527
+ ]
528
+
529
+ class << self
530
+ attr_accessor :_scanner_trans_actions
531
+ private :_scanner_trans_actions, :_scanner_trans_actions=
532
+ end
533
+ self._scanner_trans_actions = [
534
+ 203, 0, 0, 0, 0, 0, 171, 205,
535
+ 0, 5, 207, 0, 0, 0, 0, 173,
536
+ 0, 0, 0, 201, 0, 11, 0, 0,
537
+ 0, 0, 0, 217, 0, 0, 0, 0,
538
+ 83, 27, 17, 31, 33, 35, 39, 19,
539
+ 69, 41, 47, 59, 43, 61, 21, 55,
540
+ 57, 51, 49, 63, 29, 67, 71, 37,
541
+ 45, 23, 65, 53, 25, 0, 0, 0,
542
+ 0, 0, 0, 0, 0, 0, 0, 0,
543
+ 0, 0, 0, 0, 0, 0, 0, 0,
544
+ 0, 0, 0, 0, 0, 0, 0, 0,
545
+ 0, 15, 0, 0, 5, 81, 0, 0,
546
+ 0, 0, 5, 0, 0, 0, 0, 5,
547
+ 0, 0, 0, 0, 5, 0, 0, 0,
548
+ 0, 5, 0, 0, 0, 0, 5, 0,
549
+ 0, 85, 0, 0, 5, 0, 0, 0,
550
+ 0, 5, 0, 0, 0, 0, 5, 0,
551
+ 0, 0, 0, 5, 0, 0, 0, 0,
552
+ 5, 0, 0, 0, 0, 5, 0, 0,
553
+ 0, 0, 5, 0, 0, 0, 0, 5,
554
+ 0, 0, 0, 0, 5, 0, 0, 0,
555
+ 0, 5, 0, 0, 0, 0, 5, 0,
556
+ 0, 0, 0, 5, 0, 0, 0, 0,
557
+ 5, 0, 0, 0, 0, 5, 0, 0,
558
+ 0, 0, 5, 0, 0, 0, 5, 0,
559
+ 0, 0, 0, 5, 0, 0, 5, 0,
560
+ 0, 0, 0, 5, 0, 0, 0, 0,
561
+ 5, 0, 0, 0, 0, 5, 0, 0,
562
+ 0, 0, 5, 0, 0, 0, 0, 5,
563
+ 0, 0, 0, 87, 0, 89, 0, 91,
564
+ 0, 93, 0, 95, 0, 97, 0, 99,
565
+ 0, 101, 0, 103, 0, 105, 0, 107,
566
+ 0, 109, 0, 111, 0, 113, 0, 115,
567
+ 0, 117, 0, 119, 0, 121, 0, 123,
568
+ 0, 125, 0, 127, 0, 129, 0, 131,
569
+ 0, 133, 0, 135, 0, 137, 0, 139,
570
+ 0, 141, 157, 0, 0, 0, 145, 0,
571
+ 0, 0, 0, 5, 5, 155, 0, 0,
572
+ 0, 0, 0, 143, 0, 0, 0, 0,
573
+ 0, 0, 0, 0, 0, 183, 0, 5,
574
+ 175, 169, 167, 177, 181, 0, 5, 0,
575
+ 0, 235, 0, 0, 0, 159, 161, 197,
576
+ 187, 0, 199, 0, 195, 0, 0, 189,
577
+ 163, 193, 5, 185, 0, 179, 209, 165,
578
+ 191, 226, 0, 229, 0, 0, 232, 214,
579
+ 7, 9, 13, 73, 223, 220, 79, 0,
580
+ 0, 75, 77, 147, 0, 5, 5, 5,
581
+ 5, 5, 5, 5, 5, 151, 153, 0,
582
+ 0, 0, 149, 0, 0, 0, 0, 0
583
+ ]
584
+
585
+ class << self
586
+ attr_accessor :_scanner_to_state_actions
587
+ private :_scanner_to_state_actions, :_scanner_to_state_actions=
588
+ end
589
+ self._scanner_to_state_actions = [
590
+ 0, 0, 0, 0, 0, 0, 0, 0,
591
+ 0, 0, 0, 0, 0, 0, 0, 0,
592
+ 0, 0, 0, 0, 0, 0, 0, 0,
593
+ 0, 0, 0, 0, 0, 0, 0, 0,
594
+ 0, 0, 0, 0, 0, 0, 0, 0,
595
+ 0, 0, 0, 0, 0, 0, 0, 0,
596
+ 0, 0, 0, 0, 0, 0, 0, 0,
597
+ 0, 0, 0, 0, 0, 0, 0, 0,
598
+ 0, 0, 0, 0, 0, 0, 0, 0,
599
+ 0, 0, 0, 0, 0, 0, 0, 0,
600
+ 0, 0, 0, 0, 0, 0, 0, 0,
601
+ 0, 0, 0, 0, 0, 0, 0, 0,
602
+ 0, 0, 0, 0, 0, 0, 0, 0,
603
+ 0, 0, 0, 0, 0, 0, 0, 0,
604
+ 0, 0, 0, 0, 0, 0, 0, 0,
605
+ 0, 0, 0, 0, 0, 0, 0, 0,
606
+ 0, 0, 0, 0, 0, 0, 0, 0,
607
+ 0, 0, 0, 0, 0, 0, 0, 0,
608
+ 0, 0, 0, 0, 0, 0, 0, 0,
609
+ 0, 0, 0, 0, 0, 0, 0, 0,
610
+ 0, 0, 0, 0, 0, 0, 0, 0,
611
+ 0, 0, 0, 0, 0, 0, 0, 0,
612
+ 0, 0, 0, 0, 0, 0, 0, 0,
613
+ 0, 0, 0, 0, 0, 0, 0, 0,
614
+ 0, 0, 0, 0, 0, 0, 0, 0,
615
+ 0, 0, 0, 0, 0, 0, 0, 0,
616
+ 0, 0, 0, 0, 0, 0, 0, 0,
617
+ 0, 0, 0, 0, 0, 0, 0, 0,
618
+ 1, 0, 0, 0, 0, 0, 0, 0,
619
+ 0, 0, 0, 0, 0, 0, 0, 0,
620
+ 0, 0, 211, 0, 211, 0, 1, 0,
621
+ 1, 0, 0, 0, 0, 0, 0, 0,
622
+ 0, 0, 0, 0, 0, 0, 0, 0,
623
+ 0, 0, 0, 0, 0, 0, 0, 0,
624
+ 0, 0, 0, 0, 0, 0, 0, 0,
625
+ 1, 1, 1, 1, 1, 1, 1, 1,
626
+ 1, 1, 1, 1, 1, 1, 1, 1,
627
+ 1, 1, 1, 1, 1, 1, 1, 1,
628
+ 1, 1, 1, 1, 1, 0, 0, 0,
629
+ 0, 0, 0, 0, 0, 0, 0, 0,
630
+ 0
631
+ ]
632
+
633
+ class << self
634
+ attr_accessor :_scanner_from_state_actions
635
+ private :_scanner_from_state_actions, :_scanner_from_state_actions=
636
+ end
637
+ self._scanner_from_state_actions = [
638
+ 0, 0, 0, 0, 0, 0, 0, 0,
639
+ 0, 0, 0, 0, 0, 0, 0, 0,
640
+ 0, 0, 0, 0, 0, 0, 0, 0,
641
+ 0, 0, 0, 0, 0, 0, 0, 0,
642
+ 0, 0, 0, 0, 0, 0, 0, 0,
643
+ 0, 0, 0, 0, 0, 0, 0, 0,
644
+ 0, 0, 0, 0, 0, 0, 0, 0,
645
+ 0, 0, 0, 0, 0, 0, 0, 0,
646
+ 0, 0, 0, 0, 0, 0, 0, 0,
647
+ 0, 0, 0, 0, 0, 0, 0, 0,
648
+ 0, 0, 0, 0, 0, 0, 0, 0,
649
+ 0, 0, 0, 0, 0, 0, 0, 0,
650
+ 0, 0, 0, 0, 0, 0, 0, 0,
651
+ 0, 0, 0, 0, 0, 0, 0, 0,
652
+ 0, 0, 0, 0, 0, 0, 0, 0,
653
+ 0, 0, 0, 0, 0, 0, 0, 0,
654
+ 0, 0, 0, 0, 0, 0, 0, 0,
655
+ 0, 0, 0, 0, 0, 0, 0, 0,
656
+ 0, 0, 0, 0, 0, 0, 0, 0,
657
+ 0, 0, 0, 0, 0, 0, 0, 0,
658
+ 0, 0, 0, 0, 0, 0, 0, 0,
659
+ 0, 0, 0, 0, 0, 0, 0, 0,
660
+ 0, 0, 0, 0, 0, 0, 0, 0,
661
+ 0, 0, 0, 0, 0, 0, 0, 0,
662
+ 0, 0, 0, 0, 0, 0, 0, 0,
663
+ 0, 0, 0, 0, 0, 0, 0, 0,
664
+ 0, 0, 0, 0, 0, 0, 0, 0,
665
+ 0, 0, 0, 0, 0, 0, 0, 0,
666
+ 3, 0, 0, 0, 0, 0, 0, 0,
667
+ 0, 0, 0, 0, 0, 0, 0, 0,
668
+ 0, 0, 3, 0, 3, 0, 3, 0,
669
+ 3, 0, 0, 0, 0, 0, 0, 0,
670
+ 0, 0, 0, 0, 0, 0, 0, 0,
671
+ 0, 0, 0, 0, 0, 0, 0, 0,
672
+ 0, 0, 0, 0, 0, 0, 0, 0,
673
+ 3, 3, 3, 3, 3, 3, 3, 3,
674
+ 3, 3, 3, 3, 3, 3, 3, 3,
675
+ 3, 3, 3, 3, 3, 3, 3, 3,
676
+ 3, 3, 3, 3, 3, 0, 0, 0,
677
+ 0, 0, 0, 0, 0, 0, 0, 0,
678
+ 0
679
+ ]
680
+
681
+ class << self
682
+ attr_accessor :_scanner_eof_trans
683
+ private :_scanner_eof_trans, :_scanner_eof_trans=
684
+ end
685
+ self._scanner_eof_trans = [
686
+ 0, 1, 1, 1, 1, 1, 1, 8,
687
+ 8, 11, 11, 11, 11, 11, 11, 11,
688
+ 11, 20, 22, 22, 22, 22, 22, 0,
689
+ 0, 33, 33, 33, 33, 33, 94, 94,
690
+ 33, 33, 33, 94, 94, 33, 33, 33,
691
+ 94, 94, 33, 33, 33, 94, 94, 33,
692
+ 33, 33, 94, 94, 33, 33, 33, 94,
693
+ 94, 122, 122, 122, 94, 94, 33, 33,
694
+ 33, 94, 94, 33, 33, 33, 94, 94,
695
+ 33, 33, 33, 94, 94, 33, 33, 33,
696
+ 94, 94, 33, 33, 33, 94, 94, 33,
697
+ 33, 33, 94, 94, 33, 33, 33, 94,
698
+ 94, 33, 33, 33, 94, 94, 33, 33,
699
+ 33, 94, 94, 33, 33, 33, 94, 94,
700
+ 33, 33, 33, 94, 94, 33, 33, 33,
701
+ 94, 94, 33, 33, 33, 94, 94, 33,
702
+ 33, 33, 94, 94, 33, 33, 94, 94,
703
+ 94, 94, 33, 33, 33, 94, 94, 33,
704
+ 33, 33, 94, 94, 33, 33, 33, 94,
705
+ 94, 33, 33, 33, 94, 94, 33, 33,
706
+ 33, 94, 94, 33, 33, 33, 94, 94,
707
+ 0, 0, 0, 0, 0, 0, 0, 0,
708
+ 0, 0, 0, 0, 0, 0, 0, 0,
709
+ 0, 0, 0, 0, 0, 0, 0, 0,
710
+ 0, 0, 0, 0, 291, 291, 291, 291,
711
+ 291, 291, 291, 291, 291, 291, 302, 302,
712
+ 302, 291, 291, 291, 291, 291, 291, 291,
713
+ 291, 291, 291, 291, 291, 291, 291, 291,
714
+ 0, 336, 337, 339, 341, 341, 339, 344,
715
+ 346, 348, 339, 351, 353, 353, 353, 353,
716
+ 353, 353, 0, 361, 0, 362, 0, 363,
717
+ 0, 367, 370, 370, 370, 370, 370, 370,
718
+ 370, 370, 370, 370, 370, 370, 370, 370,
719
+ 370, 370, 370, 370, 370, 370, 370, 370,
720
+ 370, 370, 370, 370, 370, 370, 370, 371,
721
+ 0, 0, 0, 0, 0, 0, 0, 0,
722
+ 0, 0, 0, 0, 0, 0, 0, 0,
723
+ 0, 0, 0, 0, 0, 0, 0, 0,
724
+ 0, 0, 0, 0, 0, 382, 383, 383,
725
+ 387, 387, 387, 383, 383, 383, 383, 383,
726
+ 383
727
+ ]
728
+
729
+ class << self
730
+ attr_accessor :scanner_start
731
+ end
732
+ self.scanner_start = 224;
733
+ class << self
734
+ attr_accessor :scanner_first_final
735
+ end
736
+ self.scanner_first_final = 224;
737
+ class << self
738
+ attr_accessor :scanner_error
739
+ end
740
+ self.scanner_error = 0;
741
+
742
+ class << self
743
+ attr_accessor :scanner_en_per_line_comment
744
+ end
745
+ self.scanner_en_per_line_comment = 242;
746
+ class << self
747
+ attr_accessor :scanner_en_block_comment
748
+ end
749
+ self.scanner_en_block_comment = 244;
750
+ class << self
751
+ attr_accessor :scanner_en_heredoc
752
+ end
753
+ self.scanner_en_heredoc = 246;
754
+ class << self
755
+ attr_accessor :scanner_en_string
756
+ end
757
+ self.scanner_en_string = 248;
758
+ class << self
759
+ attr_accessor :scanner_en_dstring1
760
+ end
761
+ self.scanner_en_dstring1 = 280;
762
+ class << self
763
+ attr_accessor :scanner_en_dstring2
764
+ end
765
+ self.scanner_en_dstring2 = 281;
766
+ class << self
767
+ attr_accessor :scanner_en_dstring3
768
+ end
769
+ self.scanner_en_dstring3 = 282;
770
+ class << self
771
+ attr_accessor :scanner_en_dstring4
772
+ end
773
+ self.scanner_en_dstring4 = 283;
774
+ class << self
775
+ attr_accessor :scanner_en_dstring5
776
+ end
777
+ self.scanner_en_dstring5 = 284;
778
+ class << self
779
+ attr_accessor :scanner_en_dstring6
780
+ end
781
+ self.scanner_en_dstring6 = 285;
782
+ class << self
783
+ attr_accessor :scanner_en_dstring7
784
+ end
785
+ self.scanner_en_dstring7 = 286;
786
+ class << self
787
+ attr_accessor :scanner_en_dstring8
788
+ end
789
+ self.scanner_en_dstring8 = 287;
790
+ class << self
791
+ attr_accessor :scanner_en_dstring9
792
+ end
793
+ self.scanner_en_dstring9 = 288;
794
+ class << self
795
+ attr_accessor :scanner_en_dstring10
796
+ end
797
+ self.scanner_en_dstring10 = 289;
798
+ class << self
799
+ attr_accessor :scanner_en_dstring11
800
+ end
801
+ self.scanner_en_dstring11 = 290;
802
+ class << self
803
+ attr_accessor :scanner_en_dstring12
804
+ end
805
+ self.scanner_en_dstring12 = 291;
806
+ class << self
807
+ attr_accessor :scanner_en_dstring13
808
+ end
809
+ self.scanner_en_dstring13 = 292;
810
+ class << self
811
+ attr_accessor :scanner_en_dstring14
812
+ end
813
+ self.scanner_en_dstring14 = 293;
814
+ class << self
815
+ attr_accessor :scanner_en_dstring15
816
+ end
817
+ self.scanner_en_dstring15 = 294;
818
+ class << self
819
+ attr_accessor :scanner_en_dstring16
820
+ end
821
+ self.scanner_en_dstring16 = 295;
822
+ class << self
823
+ attr_accessor :scanner_en_dstring17
824
+ end
825
+ self.scanner_en_dstring17 = 296;
826
+ class << self
827
+ attr_accessor :scanner_en_dstring18
828
+ end
829
+ self.scanner_en_dstring18 = 297;
830
+ class << self
831
+ attr_accessor :scanner_en_dstring19
832
+ end
833
+ self.scanner_en_dstring19 = 298;
834
+ class << self
835
+ attr_accessor :scanner_en_dstring20
836
+ end
837
+ self.scanner_en_dstring20 = 299;
838
+ class << self
839
+ attr_accessor :scanner_en_dstring21
840
+ end
841
+ self.scanner_en_dstring21 = 300;
842
+ class << self
843
+ attr_accessor :scanner_en_dstring22
844
+ end
845
+ self.scanner_en_dstring22 = 301;
846
+ class << self
847
+ attr_accessor :scanner_en_dstring23
848
+ end
849
+ self.scanner_en_dstring23 = 302;
850
+ class << self
851
+ attr_accessor :scanner_en_dstring24
852
+ end
853
+ self.scanner_en_dstring24 = 303;
854
+ class << self
855
+ attr_accessor :scanner_en_dstring25
856
+ end
857
+ self.scanner_en_dstring25 = 304;
858
+ class << self
859
+ attr_accessor :scanner_en_dstring26
860
+ end
861
+ self.scanner_en_dstring26 = 305;
862
+ class << self
863
+ attr_accessor :scanner_en_dstring27
864
+ end
865
+ self.scanner_en_dstring27 = 306;
866
+ class << self
867
+ attr_accessor :scanner_en_dstring28
868
+ end
869
+ self.scanner_en_dstring28 = 307;
870
+ class << self
871
+ attr_accessor :scanner_en_new_statement
872
+ end
873
+ self.scanner_en_new_statement = 308;
874
+ class << self
875
+ attr_accessor :scanner_en_main
876
+ end
877
+ self.scanner_en_main = 224;
878
+
879
+
880
+ # line 136 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
881
+
882
+ extend Extensions
883
+
884
+ def self.execute!
885
+ data = @data
886
+ eof = data.length
887
+
888
+ # line 2 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rb"
889
+ begin
890
+ p ||= 0
891
+ pe ||= data.length
892
+ cs = scanner_start
893
+ ts = nil
894
+ te = nil
895
+ act = 0
896
+ end
897
+
898
+ # line 143 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
899
+
900
+ # line 2 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rb"
901
+ begin
902
+ _klen, _trans, _keys, _acts, _nacts = nil
903
+ _goto_level = 0
904
+ _resume = 10
905
+ _eof_trans = 15
906
+ _again = 20
907
+ _test_eof = 30
908
+ _out = 40
909
+ while true
910
+ _trigger_goto = false
911
+ if _goto_level <= 0
912
+ if p == pe
913
+ _goto_level = _test_eof
914
+ next
915
+ end
916
+ if cs == 0
917
+ _goto_level = _out
918
+ next
919
+ end
920
+ end
921
+ if _goto_level <= _resume
922
+ _acts = _scanner_from_state_actions[cs]
923
+ _nacts = _scanner_actions[_acts]
924
+ _acts += 1
925
+ while _nacts > 0
926
+ _nacts -= 1
927
+ _acts += 1
928
+ case _scanner_actions[_acts - 1]
929
+ when 2 then
930
+ # line 1 "NONE"
931
+ begin
932
+ ts = p
933
+ end
934
+ # line 2 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rb"
935
+ end # from state action switch
936
+ end
937
+ if _trigger_goto
938
+ next
939
+ end
940
+ _keys = _scanner_key_offsets[cs]
941
+ _trans = _scanner_index_offsets[cs]
942
+ _klen = _scanner_single_lengths[cs]
943
+ _break_match = false
944
+
945
+ begin
946
+ if _klen > 0
947
+ _lower = _keys
948
+ _upper = _keys + _klen - 1
949
+
950
+ loop do
951
+ break if _upper < _lower
952
+ _mid = _lower + ( (_upper - _lower) >> 1 )
953
+
954
+ if data[p] < _scanner_trans_keys[_mid]
955
+ _upper = _mid - 1
956
+ elsif data[p] > _scanner_trans_keys[_mid]
957
+ _lower = _mid + 1
958
+ else
959
+ _trans += (_mid - _keys)
960
+ _break_match = true
961
+ break
962
+ end
963
+ end # loop
964
+ break if _break_match
965
+ _keys += _klen
966
+ _trans += _klen
967
+ end
968
+ _klen = _scanner_range_lengths[cs]
969
+ if _klen > 0
970
+ _lower = _keys
971
+ _upper = _keys + (_klen << 1) - 2
972
+ loop do
973
+ break if _upper < _lower
974
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1)
975
+ if data[p] < _scanner_trans_keys[_mid]
976
+ _upper = _mid - 2
977
+ elsif data[p] > _scanner_trans_keys[_mid+1]
978
+ _lower = _mid + 2
979
+ else
980
+ _trans += ((_mid - _keys) >> 1)
981
+ _break_match = true
982
+ break
983
+ end
984
+ end # loop
985
+ break if _break_match
986
+ _trans += _klen
987
+ end
988
+ end while false
989
+ _trans = _scanner_indicies[_trans]
990
+ end
991
+ if _goto_level <= _eof_trans
992
+ cs = _scanner_trans_targs[_trans]
993
+ if _scanner_trans_actions[_trans] != 0
994
+ _acts = _scanner_trans_actions[_trans]
995
+ _nacts = _scanner_actions[_acts]
996
+ _acts += 1
997
+ while _nacts > 0
998
+ _nacts -= 1
999
+ _acts += 1
1000
+ case _scanner_actions[_acts - 1]
1001
+ when 3 then
1002
+ # line 1 "NONE"
1003
+ begin
1004
+ te = p+1
1005
+ end
1006
+ when 4 then
1007
+ # line 7 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1008
+ begin
1009
+ act = 1; end
1010
+ when 5 then
1011
+ # line 1 "NONE"
1012
+ begin
1013
+ case act
1014
+ when 0 then
1015
+ begin begin
1016
+ cs = 0
1017
+ _trigger_goto = true
1018
+ _goto_level = _again
1019
+ break
1020
+ end
1021
+ end
1022
+ when 1 then
1023
+ begin begin p = ((te))-1; end
1024
+
1025
+ push(:comment, ts.pred, te)
1026
+ begin
1027
+ cs = 224
1028
+ _trigger_goto = true
1029
+ _goto_level = _again
1030
+ break
1031
+ end
1032
+
1033
+ end
1034
+ end
1035
+ end
1036
+ when 6 then
1037
+ # line 16 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1038
+ begin
1039
+ act = 2; end
1040
+ when 7 then
1041
+ # line 16 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1042
+ begin
1043
+ te = p
1044
+ p = p - 1; begin
1045
+ unless push_comment(ts, te)
1046
+ begin
1047
+ cs = 224
1048
+ _trigger_goto = true
1049
+ _goto_level = _again
1050
+ break
1051
+ end
1052
+
1053
+ end
1054
+ end
1055
+ end
1056
+ when 8 then
1057
+ # line 1 "NONE"
1058
+ begin
1059
+ case act
1060
+ when 0 then
1061
+ begin begin
1062
+ cs = 0
1063
+ _trigger_goto = true
1064
+ _goto_level = _again
1065
+ break
1066
+ end
1067
+ end
1068
+ when 2 then
1069
+ begin begin p = ((te))-1; end
1070
+
1071
+ unless push_comment(ts, te)
1072
+ begin
1073
+ cs = 224
1074
+ _trigger_goto = true
1075
+ _goto_level = _again
1076
+ break
1077
+ end
1078
+
1079
+ end
1080
+ end
1081
+ end
1082
+ end
1083
+ when 9 then
1084
+ # line 26 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1085
+ begin
1086
+ te = p
1087
+ p = p - 1; begin
1088
+ unless push_heredoc(ts, te)
1089
+ begin
1090
+ cs = 224
1091
+ _trigger_goto = true
1092
+ _goto_level = _again
1093
+ break
1094
+ end
1095
+
1096
+ end
1097
+ end
1098
+ end
1099
+ when 10 then
1100
+ # line 83 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1101
+ begin
1102
+ act = 6; end
1103
+ when 11 then
1104
+ # line 112 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1105
+ begin
1106
+ act = 33; end
1107
+ when 12 then
1108
+ # line 76 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1109
+ begin
1110
+ te = p+1
1111
+ begin
1112
+ push(:sstring, ts, te);
1113
+ begin
1114
+ cs = 224
1115
+ _trigger_goto = true
1116
+ _goto_level = _again
1117
+ break
1118
+ end
1119
+
1120
+ end
1121
+ end
1122
+ when 13 then
1123
+ # line 82 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1124
+ begin
1125
+ te = p+1
1126
+ begin push_dstring(ts, te); begin
1127
+ cs = 280
1128
+ _trigger_goto = true
1129
+ _goto_level = _again
1130
+ break
1131
+ end
1132
+ end
1133
+ end
1134
+ when 14 then
1135
+ # line 83 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1136
+ begin
1137
+ te = p+1
1138
+ begin push_dstring(ts, te); begin
1139
+ cs = 281
1140
+ _trigger_goto = true
1141
+ _goto_level = _again
1142
+ break
1143
+ end
1144
+ end
1145
+ end
1146
+ when 15 then
1147
+ # line 84 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1148
+ begin
1149
+ te = p+1
1150
+ begin push_dstring(ts, te); begin
1151
+ cs = 282
1152
+ _trigger_goto = true
1153
+ _goto_level = _again
1154
+ break
1155
+ end
1156
+ end
1157
+ end
1158
+ when 16 then
1159
+ # line 85 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1160
+ begin
1161
+ te = p+1
1162
+ begin push_dstring(ts, te); begin
1163
+ cs = 283
1164
+ _trigger_goto = true
1165
+ _goto_level = _again
1166
+ break
1167
+ end
1168
+ end
1169
+ end
1170
+ when 17 then
1171
+ # line 86 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1172
+ begin
1173
+ te = p+1
1174
+ begin push_dstring(ts, te); begin
1175
+ cs = 284
1176
+ _trigger_goto = true
1177
+ _goto_level = _again
1178
+ break
1179
+ end
1180
+ end
1181
+ end
1182
+ when 18 then
1183
+ # line 87 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1184
+ begin
1185
+ te = p+1
1186
+ begin push_dstring(ts, te); begin
1187
+ cs = 285
1188
+ _trigger_goto = true
1189
+ _goto_level = _again
1190
+ break
1191
+ end
1192
+ end
1193
+ end
1194
+ when 19 then
1195
+ # line 88 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1196
+ begin
1197
+ te = p+1
1198
+ begin push_dstring(ts, te); begin
1199
+ cs = 286
1200
+ _trigger_goto = true
1201
+ _goto_level = _again
1202
+ break
1203
+ end
1204
+ end
1205
+ end
1206
+ when 20 then
1207
+ # line 89 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1208
+ begin
1209
+ te = p+1
1210
+ begin push_dstring(ts, te); begin
1211
+ cs = 287
1212
+ _trigger_goto = true
1213
+ _goto_level = _again
1214
+ break
1215
+ end
1216
+ end
1217
+ end
1218
+ when 21 then
1219
+ # line 90 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1220
+ begin
1221
+ te = p+1
1222
+ begin push_dstring(ts, te); begin
1223
+ cs = 288
1224
+ _trigger_goto = true
1225
+ _goto_level = _again
1226
+ break
1227
+ end
1228
+ end
1229
+ end
1230
+ when 22 then
1231
+ # line 91 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1232
+ begin
1233
+ te = p+1
1234
+ begin push_dstring(ts, te); begin
1235
+ cs = 289
1236
+ _trigger_goto = true
1237
+ _goto_level = _again
1238
+ break
1239
+ end
1240
+ end
1241
+ end
1242
+ when 23 then
1243
+ # line 92 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1244
+ begin
1245
+ te = p+1
1246
+ begin push_dstring(ts, te); begin
1247
+ cs = 290
1248
+ _trigger_goto = true
1249
+ _goto_level = _again
1250
+ break
1251
+ end
1252
+ end
1253
+ end
1254
+ when 24 then
1255
+ # line 93 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1256
+ begin
1257
+ te = p+1
1258
+ begin push_dstring(ts, te); begin
1259
+ cs = 291
1260
+ _trigger_goto = true
1261
+ _goto_level = _again
1262
+ break
1263
+ end
1264
+ end
1265
+ end
1266
+ when 25 then
1267
+ # line 94 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1268
+ begin
1269
+ te = p+1
1270
+ begin push_dstring(ts, te); begin
1271
+ cs = 292
1272
+ _trigger_goto = true
1273
+ _goto_level = _again
1274
+ break
1275
+ end
1276
+ end
1277
+ end
1278
+ when 26 then
1279
+ # line 95 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1280
+ begin
1281
+ te = p+1
1282
+ begin push_dstring(ts, te); begin
1283
+ cs = 293
1284
+ _trigger_goto = true
1285
+ _goto_level = _again
1286
+ break
1287
+ end
1288
+ end
1289
+ end
1290
+ when 27 then
1291
+ # line 96 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1292
+ begin
1293
+ te = p+1
1294
+ begin push_dstring(ts, te); begin
1295
+ cs = 294
1296
+ _trigger_goto = true
1297
+ _goto_level = _again
1298
+ break
1299
+ end
1300
+ end
1301
+ end
1302
+ when 28 then
1303
+ # line 97 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1304
+ begin
1305
+ te = p+1
1306
+ begin push_dstring(ts, te); begin
1307
+ cs = 295
1308
+ _trigger_goto = true
1309
+ _goto_level = _again
1310
+ break
1311
+ end
1312
+ end
1313
+ end
1314
+ when 29 then
1315
+ # line 98 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1316
+ begin
1317
+ te = p+1
1318
+ begin push_dstring(ts, te); begin
1319
+ cs = 296
1320
+ _trigger_goto = true
1321
+ _goto_level = _again
1322
+ break
1323
+ end
1324
+ end
1325
+ end
1326
+ when 30 then
1327
+ # line 99 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1328
+ begin
1329
+ te = p+1
1330
+ begin push_dstring(ts, te); begin
1331
+ cs = 297
1332
+ _trigger_goto = true
1333
+ _goto_level = _again
1334
+ break
1335
+ end
1336
+ end
1337
+ end
1338
+ when 31 then
1339
+ # line 100 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1340
+ begin
1341
+ te = p+1
1342
+ begin push_dstring(ts, te); begin
1343
+ cs = 298
1344
+ _trigger_goto = true
1345
+ _goto_level = _again
1346
+ break
1347
+ end
1348
+ end
1349
+ end
1350
+ when 32 then
1351
+ # line 101 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1352
+ begin
1353
+ te = p+1
1354
+ begin push_dstring(ts, te); begin
1355
+ cs = 299
1356
+ _trigger_goto = true
1357
+ _goto_level = _again
1358
+ break
1359
+ end
1360
+ end
1361
+ end
1362
+ when 33 then
1363
+ # line 102 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1364
+ begin
1365
+ te = p+1
1366
+ begin push_dstring(ts, te); begin
1367
+ cs = 300
1368
+ _trigger_goto = true
1369
+ _goto_level = _again
1370
+ break
1371
+ end
1372
+ end
1373
+ end
1374
+ when 34 then
1375
+ # line 103 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1376
+ begin
1377
+ te = p+1
1378
+ begin push_dstring(ts, te); begin
1379
+ cs = 301
1380
+ _trigger_goto = true
1381
+ _goto_level = _again
1382
+ break
1383
+ end
1384
+ end
1385
+ end
1386
+ when 35 then
1387
+ # line 104 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1388
+ begin
1389
+ te = p+1
1390
+ begin push_dstring(ts, te); begin
1391
+ cs = 302
1392
+ _trigger_goto = true
1393
+ _goto_level = _again
1394
+ break
1395
+ end
1396
+ end
1397
+ end
1398
+ when 36 then
1399
+ # line 105 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1400
+ begin
1401
+ te = p+1
1402
+ begin push_dstring(ts, te); begin
1403
+ cs = 303
1404
+ _trigger_goto = true
1405
+ _goto_level = _again
1406
+ break
1407
+ end
1408
+ end
1409
+ end
1410
+ when 37 then
1411
+ # line 106 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1412
+ begin
1413
+ te = p+1
1414
+ begin push_dstring(ts, te); begin
1415
+ cs = 304
1416
+ _trigger_goto = true
1417
+ _goto_level = _again
1418
+ break
1419
+ end
1420
+ end
1421
+ end
1422
+ when 38 then
1423
+ # line 107 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1424
+ begin
1425
+ te = p+1
1426
+ begin push_dstring(ts, te); begin
1427
+ cs = 305
1428
+ _trigger_goto = true
1429
+ _goto_level = _again
1430
+ break
1431
+ end
1432
+ end
1433
+ end
1434
+ when 39 then
1435
+ # line 108 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1436
+ begin
1437
+ te = p+1
1438
+ begin push_dstring(ts, te); begin
1439
+ cs = 306
1440
+ _trigger_goto = true
1441
+ _goto_level = _again
1442
+ break
1443
+ end
1444
+ end
1445
+ end
1446
+ when 40 then
1447
+ # line 109 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1448
+ begin
1449
+ te = p+1
1450
+ begin push_dstring(ts, te); begin
1451
+ cs = 307
1452
+ _trigger_goto = true
1453
+ _goto_level = _again
1454
+ break
1455
+ end
1456
+ end
1457
+ end
1458
+ when 41 then
1459
+ # line 112 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1460
+ begin
1461
+ te = p+1
1462
+ begin
1463
+ push(:any, ts, te)
1464
+ begin
1465
+ cs = 224
1466
+ _trigger_goto = true
1467
+ _goto_level = _again
1468
+ break
1469
+ end
1470
+
1471
+ end
1472
+ end
1473
+ when 42 then
1474
+ # line 76 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1475
+ begin
1476
+ te = p
1477
+ p = p - 1; begin
1478
+ push(:sstring, ts, te);
1479
+ begin
1480
+ cs = 224
1481
+ _trigger_goto = true
1482
+ _goto_level = _again
1483
+ break
1484
+ end
1485
+
1486
+ end
1487
+ end
1488
+ when 43 then
1489
+ # line 83 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1490
+ begin
1491
+ te = p
1492
+ p = p - 1; begin push_dstring(ts, te); begin
1493
+ cs = 281
1494
+ _trigger_goto = true
1495
+ _goto_level = _again
1496
+ break
1497
+ end
1498
+ end
1499
+ end
1500
+ when 44 then
1501
+ # line 112 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1502
+ begin
1503
+ te = p
1504
+ p = p - 1; begin
1505
+ push(:any, ts, te)
1506
+ begin
1507
+ cs = 224
1508
+ _trigger_goto = true
1509
+ _goto_level = _again
1510
+ break
1511
+ end
1512
+
1513
+ end
1514
+ end
1515
+ when 45 then
1516
+ # line 76 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1517
+ begin
1518
+ begin p = ((te))-1; end
1519
+ begin
1520
+ push(:sstring, ts, te);
1521
+ begin
1522
+ cs = 224
1523
+ _trigger_goto = true
1524
+ _goto_level = _again
1525
+ break
1526
+ end
1527
+
1528
+ end
1529
+ end
1530
+ when 46 then
1531
+ # line 112 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1532
+ begin
1533
+ begin p = ((te))-1; end
1534
+ begin
1535
+ push(:any, ts, te)
1536
+ begin
1537
+ cs = 224
1538
+ _trigger_goto = true
1539
+ _goto_level = _again
1540
+ break
1541
+ end
1542
+
1543
+ end
1544
+ end
1545
+ when 47 then
1546
+ # line 1 "NONE"
1547
+ begin
1548
+ case act
1549
+ when 6 then
1550
+ begin begin p = ((te))-1; end
1551
+ push_dstring(ts, te); begin
1552
+ cs = 281
1553
+ _trigger_goto = true
1554
+ _goto_level = _again
1555
+ break
1556
+ end
1557
+ end
1558
+ when 33 then
1559
+ begin begin p = ((te))-1; end
1560
+
1561
+ push(:any, ts, te)
1562
+ begin
1563
+ cs = 224
1564
+ _trigger_goto = true
1565
+ _goto_level = _again
1566
+ break
1567
+ end
1568
+
1569
+ end
1570
+ end
1571
+ end
1572
+ when 48 then
1573
+ # line 121 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1574
+ begin
1575
+ te = p+1
1576
+ begin
1577
+ unless push_dstring(ts, te)
1578
+ begin
1579
+ cs = 224
1580
+ _trigger_goto = true
1581
+ _goto_level = _again
1582
+ break
1583
+ end
1584
+
1585
+ end
1586
+ end
1587
+ end
1588
+ when 49 then
1589
+ # line 128 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1590
+ begin
1591
+ te = p+1
1592
+ begin
1593
+ unless push_dstring(ts, te)
1594
+ begin
1595
+ cs = 224
1596
+ _trigger_goto = true
1597
+ _goto_level = _again
1598
+ break
1599
+ end
1600
+
1601
+ end
1602
+ end
1603
+ end
1604
+ when 50 then
1605
+ # line 135 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1606
+ begin
1607
+ te = p+1
1608
+ begin
1609
+ unless push_dstring(ts, te)
1610
+ begin
1611
+ cs = 224
1612
+ _trigger_goto = true
1613
+ _goto_level = _again
1614
+ break
1615
+ end
1616
+
1617
+ end
1618
+ end
1619
+ end
1620
+ when 51 then
1621
+ # line 142 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1622
+ begin
1623
+ te = p+1
1624
+ begin
1625
+ unless push_dstring(ts, te)
1626
+ begin
1627
+ cs = 224
1628
+ _trigger_goto = true
1629
+ _goto_level = _again
1630
+ break
1631
+ end
1632
+
1633
+ end
1634
+ end
1635
+ end
1636
+ when 52 then
1637
+ # line 149 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1638
+ begin
1639
+ te = p+1
1640
+ begin
1641
+ unless push_dstring(ts, te)
1642
+ begin
1643
+ cs = 224
1644
+ _trigger_goto = true
1645
+ _goto_level = _again
1646
+ break
1647
+ end
1648
+
1649
+ end
1650
+ end
1651
+ end
1652
+ when 53 then
1653
+ # line 156 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1654
+ begin
1655
+ te = p+1
1656
+ begin
1657
+ unless push_dstring(ts, te)
1658
+ begin
1659
+ cs = 224
1660
+ _trigger_goto = true
1661
+ _goto_level = _again
1662
+ break
1663
+ end
1664
+
1665
+ end
1666
+ end
1667
+ end
1668
+ when 54 then
1669
+ # line 163 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1670
+ begin
1671
+ te = p+1
1672
+ begin
1673
+ unless push_dstring(ts, te)
1674
+ begin
1675
+ cs = 224
1676
+ _trigger_goto = true
1677
+ _goto_level = _again
1678
+ break
1679
+ end
1680
+
1681
+ end
1682
+ end
1683
+ end
1684
+ when 55 then
1685
+ # line 170 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1686
+ begin
1687
+ te = p+1
1688
+ begin
1689
+ unless push_dstring(ts, te)
1690
+ begin
1691
+ cs = 224
1692
+ _trigger_goto = true
1693
+ _goto_level = _again
1694
+ break
1695
+ end
1696
+
1697
+ end
1698
+ end
1699
+ end
1700
+ when 56 then
1701
+ # line 177 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1702
+ begin
1703
+ te = p+1
1704
+ begin
1705
+ unless push_dstring(ts, te)
1706
+ begin
1707
+ cs = 224
1708
+ _trigger_goto = true
1709
+ _goto_level = _again
1710
+ break
1711
+ end
1712
+
1713
+ end
1714
+ end
1715
+ end
1716
+ when 57 then
1717
+ # line 184 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1718
+ begin
1719
+ te = p+1
1720
+ begin
1721
+ unless push_dstring(ts, te)
1722
+ begin
1723
+ cs = 224
1724
+ _trigger_goto = true
1725
+ _goto_level = _again
1726
+ break
1727
+ end
1728
+
1729
+ end
1730
+ end
1731
+ end
1732
+ when 58 then
1733
+ # line 191 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1734
+ begin
1735
+ te = p+1
1736
+ begin
1737
+ unless push_dstring(ts, te)
1738
+ begin
1739
+ cs = 224
1740
+ _trigger_goto = true
1741
+ _goto_level = _again
1742
+ break
1743
+ end
1744
+
1745
+ end
1746
+ end
1747
+ end
1748
+ when 59 then
1749
+ # line 198 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1750
+ begin
1751
+ te = p+1
1752
+ begin
1753
+ unless push_dstring(ts, te)
1754
+ begin
1755
+ cs = 224
1756
+ _trigger_goto = true
1757
+ _goto_level = _again
1758
+ break
1759
+ end
1760
+
1761
+ end
1762
+ end
1763
+ end
1764
+ when 60 then
1765
+ # line 205 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1766
+ begin
1767
+ te = p+1
1768
+ begin
1769
+ unless push_dstring(ts, te)
1770
+ begin
1771
+ cs = 224
1772
+ _trigger_goto = true
1773
+ _goto_level = _again
1774
+ break
1775
+ end
1776
+
1777
+ end
1778
+ end
1779
+ end
1780
+ when 61 then
1781
+ # line 212 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1782
+ begin
1783
+ te = p+1
1784
+ begin
1785
+ unless push_dstring(ts, te)
1786
+ begin
1787
+ cs = 224
1788
+ _trigger_goto = true
1789
+ _goto_level = _again
1790
+ break
1791
+ end
1792
+
1793
+ end
1794
+ end
1795
+ end
1796
+ when 62 then
1797
+ # line 219 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1798
+ begin
1799
+ te = p+1
1800
+ begin
1801
+ unless push_dstring(ts, te)
1802
+ begin
1803
+ cs = 224
1804
+ _trigger_goto = true
1805
+ _goto_level = _again
1806
+ break
1807
+ end
1808
+
1809
+ end
1810
+ end
1811
+ end
1812
+ when 63 then
1813
+ # line 226 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1814
+ begin
1815
+ te = p+1
1816
+ begin
1817
+ unless push_dstring(ts, te)
1818
+ begin
1819
+ cs = 224
1820
+ _trigger_goto = true
1821
+ _goto_level = _again
1822
+ break
1823
+ end
1824
+
1825
+ end
1826
+ end
1827
+ end
1828
+ when 64 then
1829
+ # line 233 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1830
+ begin
1831
+ te = p+1
1832
+ begin
1833
+ unless push_dstring(ts, te)
1834
+ begin
1835
+ cs = 224
1836
+ _trigger_goto = true
1837
+ _goto_level = _again
1838
+ break
1839
+ end
1840
+
1841
+ end
1842
+ end
1843
+ end
1844
+ when 65 then
1845
+ # line 240 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1846
+ begin
1847
+ te = p+1
1848
+ begin
1849
+ unless push_dstring(ts, te)
1850
+ begin
1851
+ cs = 224
1852
+ _trigger_goto = true
1853
+ _goto_level = _again
1854
+ break
1855
+ end
1856
+
1857
+ end
1858
+ end
1859
+ end
1860
+ when 66 then
1861
+ # line 247 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1862
+ begin
1863
+ te = p+1
1864
+ begin
1865
+ unless push_dstring(ts, te)
1866
+ begin
1867
+ cs = 224
1868
+ _trigger_goto = true
1869
+ _goto_level = _again
1870
+ break
1871
+ end
1872
+
1873
+ end
1874
+ end
1875
+ end
1876
+ when 67 then
1877
+ # line 254 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1878
+ begin
1879
+ te = p+1
1880
+ begin
1881
+ unless push_dstring(ts, te)
1882
+ begin
1883
+ cs = 224
1884
+ _trigger_goto = true
1885
+ _goto_level = _again
1886
+ break
1887
+ end
1888
+
1889
+ end
1890
+ end
1891
+ end
1892
+ when 68 then
1893
+ # line 261 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1894
+ begin
1895
+ te = p+1
1896
+ begin
1897
+ unless push_dstring(ts, te)
1898
+ begin
1899
+ cs = 224
1900
+ _trigger_goto = true
1901
+ _goto_level = _again
1902
+ break
1903
+ end
1904
+
1905
+ end
1906
+ end
1907
+ end
1908
+ when 69 then
1909
+ # line 268 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1910
+ begin
1911
+ te = p+1
1912
+ begin
1913
+ unless push_dstring(ts, te)
1914
+ begin
1915
+ cs = 224
1916
+ _trigger_goto = true
1917
+ _goto_level = _again
1918
+ break
1919
+ end
1920
+
1921
+ end
1922
+ end
1923
+ end
1924
+ when 70 then
1925
+ # line 275 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1926
+ begin
1927
+ te = p+1
1928
+ begin
1929
+ unless push_dstring(ts, te)
1930
+ begin
1931
+ cs = 224
1932
+ _trigger_goto = true
1933
+ _goto_level = _again
1934
+ break
1935
+ end
1936
+
1937
+ end
1938
+ end
1939
+ end
1940
+ when 71 then
1941
+ # line 282 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1942
+ begin
1943
+ te = p+1
1944
+ begin
1945
+ unless push_dstring(ts, te)
1946
+ begin
1947
+ cs = 224
1948
+ _trigger_goto = true
1949
+ _goto_level = _again
1950
+ break
1951
+ end
1952
+
1953
+ end
1954
+ end
1955
+ end
1956
+ when 72 then
1957
+ # line 289 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1958
+ begin
1959
+ te = p+1
1960
+ begin
1961
+ unless push_dstring(ts, te)
1962
+ begin
1963
+ cs = 224
1964
+ _trigger_goto = true
1965
+ _goto_level = _again
1966
+ break
1967
+ end
1968
+
1969
+ end
1970
+ end
1971
+ end
1972
+ when 73 then
1973
+ # line 296 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1974
+ begin
1975
+ te = p+1
1976
+ begin
1977
+ unless push_dstring(ts, te)
1978
+ begin
1979
+ cs = 224
1980
+ _trigger_goto = true
1981
+ _goto_level = _again
1982
+ break
1983
+ end
1984
+
1985
+ end
1986
+ end
1987
+ end
1988
+ when 74 then
1989
+ # line 303 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
1990
+ begin
1991
+ te = p+1
1992
+ begin
1993
+ unless push_dstring(ts, te)
1994
+ begin
1995
+ cs = 224
1996
+ _trigger_goto = true
1997
+ _goto_level = _again
1998
+ break
1999
+ end
2000
+
2001
+ end
2002
+ end
2003
+ end
2004
+ when 75 then
2005
+ # line 310 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/common/ragel/machines.rl"
2006
+ begin
2007
+ te = p+1
2008
+ begin
2009
+ unless push_dstring(ts, te)
2010
+ begin
2011
+ cs = 224
2012
+ _trigger_goto = true
2013
+ _goto_level = _again
2014
+ break
2015
+ end
2016
+
2017
+ end
2018
+ end
2019
+ end
2020
+ when 76 then
2021
+ # line 17 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2022
+ begin
2023
+ te = p+1
2024
+ begin
2025
+ push(:kw_do_alias2, ts, te)
2026
+ increment_counter(:do_end, 0..1)
2027
+ begin
2028
+ cs = 224
2029
+ _trigger_goto = true
2030
+ _goto_level = _again
2031
+ break
2032
+ end
2033
+
2034
+ end
2035
+ end
2036
+ when 77 then
2037
+ # line 26 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2038
+ begin
2039
+ te = p+1
2040
+ begin
2041
+ push(:kw_do_alias1, ts, te)
2042
+ increment_counter(:do_end, 1)
2043
+ begin
2044
+ cs = 224
2045
+ _trigger_goto = true
2046
+ _goto_level = _again
2047
+ break
2048
+ end
2049
+
2050
+ end
2051
+ end
2052
+ when 78 then
2053
+ # line 33 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2054
+ begin
2055
+ te = p+1
2056
+ begin p = p - 1; begin
2057
+ cs = 224
2058
+ _trigger_goto = true
2059
+ _goto_level = _again
2060
+ break
2061
+ end
2062
+ end
2063
+ end
2064
+ when 79 then
2065
+ # line 26 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2066
+ begin
2067
+ te = p
2068
+ p = p - 1; begin
2069
+ push(:kw_do_alias1, ts, te)
2070
+ increment_counter(:do_end, 1)
2071
+ begin
2072
+ cs = 224
2073
+ _trigger_goto = true
2074
+ _goto_level = _again
2075
+ break
2076
+ end
2077
+
2078
+ end
2079
+ end
2080
+ when 80 then
2081
+ # line 32 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2082
+ begin
2083
+ te = p
2084
+ p = p - 1; begin push(:space, ts, te) end
2085
+ end
2086
+ when 81 then
2087
+ # line 33 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2088
+ begin
2089
+ te = p
2090
+ p = p - 1; begin p = p - 1; begin
2091
+ cs = 224
2092
+ _trigger_goto = true
2093
+ _goto_level = _again
2094
+ break
2095
+ end
2096
+ end
2097
+ end
2098
+ when 82 then
2099
+ # line 26 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2100
+ begin
2101
+ begin p = ((te))-1; end
2102
+ begin
2103
+ push(:kw_do_alias1, ts, te)
2104
+ increment_counter(:do_end, 1)
2105
+ begin
2106
+ cs = 224
2107
+ _trigger_goto = true
2108
+ _goto_level = _again
2109
+ break
2110
+ end
2111
+
2112
+ end
2113
+ end
2114
+ when 83 then
2115
+ # line 33 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2116
+ begin
2117
+ begin p = ((te))-1; end
2118
+ begin p = p - 1; begin
2119
+ cs = 224
2120
+ _trigger_goto = true
2121
+ _goto_level = _again
2122
+ break
2123
+ end
2124
+ end
2125
+ end
2126
+ when 84 then
2127
+ # line 43 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2128
+ begin
2129
+ act = 66; end
2130
+ when 85 then
2131
+ # line 49 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2132
+ begin
2133
+ act = 67; end
2134
+ when 86 then
2135
+ # line 84 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2136
+ begin
2137
+ act = 73; end
2138
+ when 87 then
2139
+ # line 123 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2140
+ begin
2141
+ act = 79; end
2142
+ when 88 then
2143
+ # line 56 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2144
+ begin
2145
+ te = p+1
2146
+ begin
2147
+ push(:lbrace, ts, te)
2148
+ increment_counter(:brace)
2149
+ end
2150
+ end
2151
+ when 89 then
2152
+ # line 61 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2153
+ begin
2154
+ te = p+1
2155
+ begin
2156
+ push(:rbrace, ts, te)
2157
+ decrement_counter(:brace)
2158
+ end
2159
+ end
2160
+ when 90 then
2161
+ # line 66 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2162
+ begin
2163
+ te = p+1
2164
+ begin
2165
+ push(:assoc, ts, te)
2166
+ fix_counter_false_start(:brace)
2167
+ end
2168
+ end
2169
+ when 91 then
2170
+ # line 71 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2171
+ begin
2172
+ te = p+1
2173
+ begin
2174
+ push_label(ts, te)
2175
+ fix_counter_false_start(:brace)
2176
+ end
2177
+ end
2178
+ when 92 then
2179
+ # line 84 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2180
+ begin
2181
+ te = p+1
2182
+ begin
2183
+ push(:newline_alias, ts, te)
2184
+ begin
2185
+ cs = 308
2186
+ _trigger_goto = true
2187
+ _goto_level = _again
2188
+ break
2189
+ end
2190
+
2191
+ end
2192
+ end
2193
+ when 93 then
2194
+ # line 91 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2195
+ begin
2196
+ te = p+1
2197
+ begin
2198
+ begin
2199
+ cs = 242
2200
+ _trigger_goto = true
2201
+ _goto_level = _again
2202
+ break
2203
+ end
2204
+
2205
+ end
2206
+ end
2207
+ when 94 then
2208
+ # line 95 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2209
+ begin
2210
+ te = p+1
2211
+ begin
2212
+ push_comment(ts, te)
2213
+ increment_lineno
2214
+ begin
2215
+ cs = 244
2216
+ _trigger_goto = true
2217
+ _goto_level = _again
2218
+ break
2219
+ end
2220
+
2221
+ end
2222
+ end
2223
+ when 95 then
2224
+ # line 103 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2225
+ begin
2226
+ te = p+1
2227
+ begin
2228
+ push_heredoc(ts, te)
2229
+ increment_lineno
2230
+ begin
2231
+ cs = 246
2232
+ _trigger_goto = true
2233
+ _goto_level = _again
2234
+ break
2235
+ end
2236
+
2237
+ end
2238
+ end
2239
+ when 96 then
2240
+ # line 109 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2241
+ begin
2242
+ te = p+1
2243
+ begin
2244
+ p = p - 1; begin
2245
+ cs = 248
2246
+ _trigger_goto = true
2247
+ _goto_level = _again
2248
+ break
2249
+ end
2250
+
2251
+ end
2252
+ end
2253
+ when 97 then
2254
+ # line 113 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2255
+ begin
2256
+ te = p+1
2257
+ begin
2258
+ if preceded_with?(:char, :digit, :var, :const, :symbol, :dstring, :sstring, ')', ']', '}')
2259
+ push(:op, ts, te)
2260
+ else
2261
+ p = p - 1; begin
2262
+ cs = 248
2263
+ _trigger_goto = true
2264
+ _goto_level = _again
2265
+ break
2266
+ end
2267
+
2268
+ end
2269
+ end
2270
+ end
2271
+ when 98 then
2272
+ # line 124 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2273
+ begin
2274
+ te = p+1
2275
+ begin push(:bslash, ts, te) end
2276
+ end
2277
+ when 99 then
2278
+ # line 128 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2279
+ begin
2280
+ te = p+1
2281
+ begin push(:digit, ts, te) end
2282
+ end
2283
+ when 100 then
2284
+ # line 130 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2285
+ begin
2286
+ te = p+1
2287
+ begin push(:any, ts, te) end
2288
+ end
2289
+ when 101 then
2290
+ # line 71 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2291
+ begin
2292
+ te = p
2293
+ p = p - 1; begin
2294
+ push_label(ts, te)
2295
+ fix_counter_false_start(:brace)
2296
+ end
2297
+ end
2298
+ when 102 then
2299
+ # line 78 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2300
+ begin
2301
+ te = p
2302
+ p = p - 1; begin
2303
+ push(:newline, ts, te)
2304
+ increment_lineno
2305
+ begin
2306
+ cs = 308
2307
+ _trigger_goto = true
2308
+ _goto_level = _again
2309
+ break
2310
+ end
2311
+
2312
+ end
2313
+ end
2314
+ when 103 then
2315
+ # line 84 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2316
+ begin
2317
+ te = p
2318
+ p = p - 1; begin
2319
+ push(:newline_alias, ts, te)
2320
+ begin
2321
+ cs = 308
2322
+ _trigger_goto = true
2323
+ _goto_level = _again
2324
+ break
2325
+ end
2326
+
2327
+ end
2328
+ end
2329
+ when 104 then
2330
+ # line 123 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2331
+ begin
2332
+ te = p
2333
+ p = p - 1; begin push(:var, ts, te) end
2334
+ end
2335
+ when 105 then
2336
+ # line 125 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2337
+ begin
2338
+ te = p
2339
+ p = p - 1; begin push(:const, ts, te) end
2340
+ end
2341
+ when 106 then
2342
+ # line 126 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2343
+ begin
2344
+ te = p
2345
+ p = p - 1; begin push(:symbol, ts, te) end
2346
+ end
2347
+ when 107 then
2348
+ # line 127 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2349
+ begin
2350
+ te = p
2351
+ p = p - 1; begin push(:space, ts, te) end
2352
+ end
2353
+ when 108 then
2354
+ # line 130 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2355
+ begin
2356
+ te = p
2357
+ p = p - 1; begin push(:any, ts, te) end
2358
+ end
2359
+ when 109 then
2360
+ # line 71 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2361
+ begin
2362
+ begin p = ((te))-1; end
2363
+ begin
2364
+ push_label(ts, te)
2365
+ fix_counter_false_start(:brace)
2366
+ end
2367
+ end
2368
+ when 110 then
2369
+ # line 78 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2370
+ begin
2371
+ begin p = ((te))-1; end
2372
+ begin
2373
+ push(:newline, ts, te)
2374
+ increment_lineno
2375
+ begin
2376
+ cs = 308
2377
+ _trigger_goto = true
2378
+ _goto_level = _again
2379
+ break
2380
+ end
2381
+
2382
+ end
2383
+ end
2384
+ when 111 then
2385
+ # line 126 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2386
+ begin
2387
+ begin p = ((te))-1; end
2388
+ begin push(:symbol, ts, te) end
2389
+ end
2390
+ when 112 then
2391
+ # line 130 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2392
+ begin
2393
+ begin p = ((te))-1; end
2394
+ begin push(:any, ts, te) end
2395
+ end
2396
+ when 113 then
2397
+ # line 1 "NONE"
2398
+ begin
2399
+ case act
2400
+ when 66 then
2401
+ begin begin p = ((te))-1; end
2402
+
2403
+ push(:kw_do, ts, te)
2404
+ increment_counter(:do_end)
2405
+ begin
2406
+ cs = 308
2407
+ _trigger_goto = true
2408
+ _goto_level = _again
2409
+ break
2410
+ end
2411
+
2412
+ end
2413
+ when 67 then
2414
+ begin begin p = ((te))-1; end
2415
+
2416
+ push(:kw_end, ts, te)
2417
+ decrement_counter(:do_end)
2418
+ end
2419
+ when 73 then
2420
+ begin begin p = ((te))-1; end
2421
+
2422
+ push(:newline_alias, ts, te)
2423
+ begin
2424
+ cs = 308
2425
+ _trigger_goto = true
2426
+ _goto_level = _again
2427
+ break
2428
+ end
2429
+
2430
+ end
2431
+ when 79 then
2432
+ begin begin p = ((te))-1; end
2433
+ push(:var, ts, te) end
2434
+ end
2435
+ end
2436
+ # line 2 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rb"
2437
+ end # action switch
2438
+ end
2439
+ end
2440
+ if _trigger_goto
2441
+ next
2442
+ end
2443
+ end
2444
+ if _goto_level <= _again
2445
+ _acts = _scanner_to_state_actions[cs]
2446
+ _nacts = _scanner_actions[_acts]
2447
+ _acts += 1
2448
+ while _nacts > 0
2449
+ _nacts -= 1
2450
+ _acts += 1
2451
+ case _scanner_actions[_acts - 1]
2452
+ when 0 then
2453
+ # line 1 "NONE"
2454
+ begin
2455
+ ts = nil; end
2456
+ when 1 then
2457
+ # line 1 "NONE"
2458
+ begin
2459
+ act = 0
2460
+ end
2461
+ # line 2 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rb"
2462
+ end # to state action switch
2463
+ end
2464
+ if _trigger_goto
2465
+ next
2466
+ end
2467
+ if cs == 0
2468
+ _goto_level = _out
2469
+ next
2470
+ end
2471
+ p += 1
2472
+ if p != pe
2473
+ _goto_level = _resume
2474
+ next
2475
+ end
2476
+ end
2477
+ if _goto_level <= _test_eof
2478
+ if p == eof
2479
+ if _scanner_eof_trans[cs] > 0
2480
+ _trans = _scanner_eof_trans[cs] - 1;
2481
+ _goto_level = _eof_trans
2482
+ next;
2483
+ end
2484
+ end
2485
+ end
2486
+ if _goto_level <= _out
2487
+ break
2488
+ end
2489
+ end
2490
+ end
2491
+
2492
+ # line 144 "/home/ty.archlinux/dev/ty/sourcify/lib/sourcify/proc/parser/raw_scanner.rl"
2493
+ end
2494
+
2495
+ end
2496
+ end
2497
+ end
2498
+ end