ikra 0.0.1

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