ikra 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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