@appthreat/atom-parsetools 1.2.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/README.md +118 -7
  2. package/astgen.js +297 -57
  3. package/package.json +9 -6
  4. package/plugins/composer/installed.php +6 -6
  5. package/plugins/rubyastgen/Gemfile +6 -4
  6. package/plugins/rubyastgen/Gemfile.lock +5 -8
  7. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/Gemfile +11 -0
  8. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/exe/ruby_ast_gen +55 -0
  9. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen/cli.rb +133 -0
  10. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen/node_handling.rb +449 -0
  11. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/lib/ruby_ast_gen/version.rb +1 -1
  12. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen.rb +888 -0
  13. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/ruby_ast_gen.gemspec +25 -0
  14. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current.rb +1 -1
  15. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/version.rb +1 -1
  16. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/ast-2.4.3.gemspec +29 -0
  17. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/bundler-2.6.9.gemspec +25 -0
  18. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/ostruct-0.6.3.gemspec +22 -0
  19. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/parser-3.3.12.0.gemspec +37 -0
  20. package/rbastgen.js +102 -13
  21. package/scalasem.js +11 -2
  22. package/plugins/bin/bundler +0 -14
  23. package/plugins/bin/ruby_ast_gen +0 -14
  24. package/plugins/rubyastgen/bundle/bundler/setup.rb +0 -44
  25. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/exe/ruby_ast_gen +0 -63
  26. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/lib/ruby_ast_gen/node_handling.rb +0 -269
  27. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/lib/ruby_ast_gen.rb +0 -218
  28. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/gem.build_complete +0 -0
  29. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/gem_make.out +0 -44
  30. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/mkmf.log +0 -74
  31. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/prism/prism.so +0 -0
  32. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem.build_complete +0 -0
  33. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem_make.out +0 -18
  34. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/racc/cparse.so +0 -0
  35. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/BSDmakefile +0 -58
  36. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/Makefile +0 -116
  37. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/Makefile +0 -273
  38. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/api_node.c +0 -6945
  39. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/api_pack.c +0 -276
  40. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extconf.rb +0 -127
  41. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extension.c +0 -1427
  42. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extension.h +0 -19
  43. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/ast.h +0 -8254
  44. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/defines.h +0 -260
  45. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/diagnostic.h +0 -458
  46. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/encoding.h +0 -283
  47. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/node.h +0 -129
  48. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/options.h +0 -488
  49. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/pack.h +0 -163
  50. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/parser.h +0 -936
  51. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/prettyprint.h +0 -34
  52. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/regexp.h +0 -43
  53. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/static_literals.h +0 -121
  54. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_buffer.h +0 -236
  55. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_char.h +0 -204
  56. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_constant_pool.h +0 -218
  57. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_integer.h +0 -130
  58. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_list.h +0 -103
  59. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_memchr.h +0 -29
  60. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_newline_list.h +0 -113
  61. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_string.h +0 -200
  62. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_strncasecmp.h +0 -32
  63. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_strpbrk.h +0 -46
  64. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/version.h +0 -29
  65. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism.h +0 -408
  66. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/compiler.rb +0 -801
  67. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/desugar_compiler.rb +0 -392
  68. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dispatcher.rb +0 -2210
  69. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dot_visitor.rb +0 -4767
  70. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dsl.rb +0 -1003
  71. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/ffi.rb +0 -578
  72. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/inspect_visitor.rb +0 -2393
  73. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/lex_compat.rb +0 -911
  74. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/mutation_compiler.rb +0 -772
  75. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/node.rb +0 -19966
  76. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/node_ext.rb +0 -511
  77. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/pack.rb +0 -230
  78. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/comments.rb +0 -188
  79. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/errors.rb +0 -66
  80. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/newlines.rb +0 -155
  81. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result.rb +0 -907
  82. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/pattern.rb +0 -269
  83. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/append_as_bytes.rb +0 -15
  84. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/byteindex.rb +0 -13
  85. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/scan_byte.rb +0 -14
  86. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/unpack1.rb +0 -14
  87. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/warn.rb +0 -36
  88. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/prism.so +0 -0
  89. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/reflection.rb +0 -416
  90. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/relocation.rb +0 -505
  91. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/serialize.rb +0 -2400
  92. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/string_query.rb +0 -31
  93. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/builder.rb +0 -62
  94. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/compiler.rb +0 -2234
  95. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/lexer.rb +0 -820
  96. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser.rb +0 -376
  97. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser_current.rb +0 -26
  98. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser_versions.rb +0 -36
  99. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/filter.rb +0 -53
  100. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/lexer.rb +0 -135
  101. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/sexp.rb +0 -126
  102. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/shim.rb +0 -5
  103. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper.rb +0 -3520
  104. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ruby_parser.rb +0 -1964
  105. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation.rb +0 -18
  106. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/visitor.rb +0 -813
  107. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism.rb +0 -98
  108. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/compiler.rbi +0 -12
  109. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/dsl.rbi +0 -524
  110. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/inspect_visitor.rbi +0 -12
  111. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/node.rbi +0 -8750
  112. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/node_ext.rbi +0 -107
  113. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/parse_result.rbi +0 -404
  114. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/reflection.rbi +0 -58
  115. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/string_query.rbi +0 -12
  116. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/parser.rbi +0 -11
  117. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/parser_versions.rbi +0 -23
  118. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/ripper.rbi +0 -15
  119. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/visitor.rbi +0 -473
  120. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism.rbi +0 -63
  121. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/compiler.rbs +0 -9
  122. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dispatcher.rbs +0 -19
  123. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dot_visitor.rbs +0 -6
  124. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dsl.rbs +0 -351
  125. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/inspect_visitor.rbs +0 -22
  126. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/lex_compat.rbs +0 -10
  127. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/mutation_compiler.rbs +0 -159
  128. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/node.rbs +0 -4042
  129. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/node_ext.rbs +0 -149
  130. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/pack.rbs +0 -43
  131. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/parse_result/comments.rbs +0 -38
  132. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/parse_result.rbs +0 -197
  133. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/pattern.rbs +0 -13
  134. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/reflection.rbs +0 -50
  135. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/relocation.rbs +0 -185
  136. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/serialize.rbs +0 -8
  137. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/string_query.rbs +0 -11
  138. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/visitor.rbs +0 -169
  139. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism.rbs +0 -272
  140. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/diagnostic.c +0 -854
  141. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/encoding.c +0 -5340
  142. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/node.c +0 -8685
  143. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/options.c +0 -338
  144. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/pack.c +0 -509
  145. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/prettyprint.c +0 -8957
  146. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/prism.c +0 -22679
  147. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/regexp.c +0 -790
  148. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/serialize.c +0 -2274
  149. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/static_literals.c +0 -617
  150. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/token_type.c +0 -703
  151. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_buffer.c +0 -357
  152. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_char.c +0 -318
  153. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_constant_pool.c +0 -342
  154. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_integer.c +0 -670
  155. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_list.c +0 -49
  156. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_memchr.c +0 -35
  157. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_newline_list.c +0 -125
  158. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_string.c +0 -381
  159. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_strncasecmp.c +0 -36
  160. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_strpbrk.c +0 -206
  161. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/BSDL +0 -22
  162. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/COPYING +0 -56
  163. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ChangeLog +0 -846
  164. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/README.ja.rdoc +0 -58
  165. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/README.rdoc +0 -60
  166. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/TODO +0 -5
  167. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/bin/racc +0 -320
  168. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +0 -273
  169. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +0 -840
  170. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +0 -8
  171. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/compat.rb +0 -33
  172. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
  173. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/debugflags.rb +0 -60
  174. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/exception.rb +0 -16
  175. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/grammar.rb +0 -1191
  176. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +0 -667
  177. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/info.rb +0 -18
  178. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/iset.rb +0 -92
  179. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +0 -212
  180. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parser-text.rb +0 -644
  181. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parser.rb +0 -630
  182. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +0 -473
  183. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +0 -35
  184. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/state.rb +0 -976
  185. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +0 -311
  186. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/static.rb +0 -5
  187. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc.rb +0 -6
  188. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/.rspec +0 -0
  189. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/bin/console +0 -0
  190. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/bin/setup +0 -0
  191. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/update_version.rb +0 -0
  192. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-parse +0 -0
  193. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-rewrite +0 -0
  194. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/gauntlet_parser.rb +0 -0
  195. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/all.rb +0 -0
  196. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/node.rb +0 -0
  197. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/processor.rb +0 -0
  198. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/base.rb +0 -0
  199. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/builders/default.rb +0 -0
  200. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/clobbering_error.rb +0 -0
  201. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/color.rb +0 -0
  202. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/context.rb +0 -0
  203. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current_arg_stack.rb +0 -0
  204. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/deprecation.rb +0 -0
  205. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic/engine.rb +0 -0
  206. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic.rb +0 -0
  207. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/dedenter.rb +0 -0
  208. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/explanation.rb +0 -0
  209. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/literal.rb +0 -0
  210. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/stack_state.rb +0 -0
  211. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F0.rb +0 -0
  212. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F1.rb +0 -0
  213. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-strings.rb +0 -0
  214. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/macruby.rb +0 -0
  215. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/max_numparam_stack.rb +0 -0
  216. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/messages.rb +0 -0
  217. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/meta.rb +0 -0
  218. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rewriter.rb +0 -0
  219. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby18.rb +0 -0
  220. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby19.rb +0 -0
  221. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby20.rb +0 -0
  222. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby21.rb +0 -0
  223. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby22.rb +0 -0
  224. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby23.rb +0 -0
  225. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby24.rb +0 -0
  226. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby25.rb +0 -0
  227. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby26.rb +0 -0
  228. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby27.rb +0 -0
  229. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby30.rb +0 -0
  230. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby31.rb +0 -0
  231. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby32.rb +0 -0
  232. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby33.rb +0 -0
  233. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby34.rb +0 -0
  234. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rubymotion.rb +0 -0
  235. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_parse.rb +0 -0
  236. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_rewrite.rb +0 -0
  237. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner.rb +0 -0
  238. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/buffer.rb +0 -0
  239. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment/associator.rb +0 -0
  240. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment.rb +0 -0
  241. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/collection.rb +0 -0
  242. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/condition.rb +0 -0
  243. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/constant.rb +0 -0
  244. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/definition.rb +0 -0
  245. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/for.rb +0 -0
  246. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/heredoc.rb +0 -0
  247. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/index.rb +0 -0
  248. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/keyword.rb +0 -0
  249. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/method_definition.rb +0 -0
  250. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/objc_kwarg.rb +0 -0
  251. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/operator.rb +0 -0
  252. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/rescue_body.rb +0 -0
  253. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/send.rb +0 -0
  254. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/ternary.rb +0 -0
  255. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/variable.rb +0 -0
  256. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map.rb +0 -0
  257. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/range.rb +0 -0
  258. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter/action.rb +0 -0
  259. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter.rb +0 -0
  260. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter/action.rb +0 -0
  261. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter.rb +0 -0
  262. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/static_environment.rb +0 -0
  263. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/syntax_error.rb +0 -0
  264. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/tree_rewriter.rb +0 -0
  265. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/unknown_encoding_in_magic_comment_error.rb +0 -0
  266. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/variables_stack.rb +0 -0
  267. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser.rb +0 -0
@@ -1,667 +0,0 @@
1
- #--
2
- #
3
- #
4
- #
5
- # Copyright (c) 1999-2006 Minero Aoki
6
- #
7
- # This program is free software.
8
- # You can distribute/modify this program under the same terms of ruby.
9
- # see the file "COPYING".
10
- #
11
- #++
12
-
13
- require_relative '../racc'
14
- require_relative 'compat'
15
- require_relative 'grammar'
16
- require_relative 'parserfilegenerator'
17
- require_relative 'sourcetext'
18
- require 'stringio'
19
-
20
- module Racc
21
-
22
- grammar = Grammar.define {
23
- g = self
24
-
25
- g.class = seq(:CLASS, :cname, many(:param), :RULE, :rules, option(:END))
26
-
27
- g.cname = seq(:rubyconst) {|name|
28
- @result.params.classname = name
29
- }\
30
- | seq(:rubyconst, "<", :rubyconst) {|c, _, s|
31
- @result.params.classname = c
32
- @result.params.superclass = s
33
- }
34
-
35
- g.rubyconst = separated_by1(:colon2, :SYMBOL) {|syms|
36
- syms.map {|s| s.to_s }.join('::')
37
- }
38
-
39
- g.colon2 = seq(':', ':')
40
-
41
- g.param = seq(:CONV, many1(:convdef), :END) {|*|
42
- #@grammar.end_convert_block # FIXME
43
- }\
44
- | seq(:PRECHIGH, many1(:precdef), :PRECLOW) {|*|
45
- @grammar.end_precedence_declaration true
46
- }\
47
- | seq(:PRECLOW, many1(:precdef), :PRECHIGH) {|*|
48
- @grammar.end_precedence_declaration false
49
- }\
50
- | seq(:START, :symbol) {|_, sym|
51
- @grammar.start_symbol = sym
52
- }\
53
- | seq(:TOKEN, :symbols) {|_, syms|
54
- syms.each do |s|
55
- s.should_terminal
56
- end
57
- }\
58
- | seq(:OPTION, :options) {|_, syms|
59
- syms.each do |opt|
60
- case opt
61
- when 'result_var'
62
- @result.params.result_var = true
63
- when 'no_result_var'
64
- @result.params.result_var = false
65
- when 'omit_action_call'
66
- @result.params.omit_action_call = true
67
- when 'no_omit_action_call'
68
- @result.params.omit_action_call = false
69
- else
70
- raise CompileError, "unknown option: #{opt}"
71
- end
72
- end
73
- }\
74
- | seq(:EXPECT, :DIGIT) {|_, num|
75
- if @grammar.n_expected_srconflicts
76
- raise CompileError, "`expect' seen twice"
77
- end
78
- @grammar.n_expected_srconflicts = num
79
- }\
80
- | seq(:ERROR_ON_EXPECT_MISMATCH) {|*|
81
- @grammar.error_on_expect_mismatch = true
82
- }
83
-
84
- g.convdef = seq(:symbol, :STRING) {|sym, code|
85
- sym.serialized = code
86
- }
87
-
88
- g.precdef = seq(:LEFT, :symbols) {|_, syms|
89
- @grammar.declare_precedence :Left, syms
90
- }\
91
- | seq(:RIGHT, :symbols) {|_, syms|
92
- @grammar.declare_precedence :Right, syms
93
- }\
94
- | seq(:NONASSOC, :symbols) {|_, syms|
95
- @grammar.declare_precedence :Nonassoc, syms
96
- }
97
-
98
- g.symbols = seq(:symbol) {|sym|
99
- [sym]
100
- }\
101
- | seq(:symbols, :symbol) {|list, sym|
102
- list.push sym
103
- list
104
- }\
105
- | seq(:symbols, "|")
106
-
107
- g.symbol = seq(:SYMBOL) {|sym| @grammar.intern(sym) }\
108
- | seq(:STRING) {|str| @grammar.intern(str) }
109
-
110
- g.options = many(:SYMBOL) {|syms| syms.map {|s| s.to_s } }
111
-
112
- g.rules = option(:rules_core) {|list|
113
- add_rule_block list unless list.empty?
114
- nil
115
- }
116
-
117
- g.rules_core = seq(:symbol) {|sym|
118
- [sym]
119
- }\
120
- | seq(:rules_core, :rule_item) {|list, i|
121
- list.push i
122
- list
123
- }\
124
- | seq(:rules_core, ';') {|list, *|
125
- add_rule_block list unless list.empty?
126
- list.clear
127
- list
128
- }\
129
- | seq(:rules_core, ':') {|list, *|
130
- next_target = list.pop
131
- add_rule_block list unless list.empty?
132
- [next_target]
133
- }
134
-
135
- g.rule_item = seq(:symbol)\
136
- | seq("|") {|*|
137
- OrMark.new(@scanner.lineno)
138
- }\
139
- | seq("?") {|*|
140
- OptionMark.new(@scanner.lineno)
141
- }\
142
- | seq("*") {|*|
143
- ManyMark.new(@scanner.lineno)
144
- }\
145
- | seq("+") {|*|
146
- Many1Mark.new(@scanner.lineno)
147
- }\
148
- | seq("(") {|*|
149
- GroupStartMark.new(@scanner.lineno)
150
- }\
151
- | seq(")") {|*|
152
- GroupEndMark.new(@scanner.lineno)
153
- }\
154
- | seq("=", :symbol) {|_, sym|
155
- Prec.new(sym, @scanner.lineno)
156
- }\
157
- | seq(:ACTION) {|src|
158
- UserAction.source_text(src)
159
- }
160
- }
161
-
162
- GrammarFileParser = grammar.parser_class
163
-
164
- if grammar.states.srconflict_exist?
165
- raise 'Racc boot script fatal: S/R conflict in build'
166
- end
167
- if grammar.states.rrconflict_exist?
168
- raise 'Racc boot script fatal: R/R conflict in build'
169
- end
170
-
171
- class GrammarFileParser # reopen
172
-
173
- class Result
174
- def initialize(grammar)
175
- @grammar = grammar
176
- @params = ParserFileGenerator::Params.new
177
- end
178
-
179
- attr_reader :grammar
180
- attr_reader :params
181
- end
182
-
183
- def GrammarFileParser.parse_file(filename)
184
- parse(File.read(filename), filename, 1)
185
- end
186
-
187
- def GrammarFileParser.parse(src, filename = '-', lineno = 1)
188
- new().parse(src, filename, lineno)
189
- end
190
-
191
- def initialize(debug_flags = DebugFlags.new)
192
- @yydebug = debug_flags.parse
193
- end
194
-
195
- def parse(src, filename = '-', lineno = 1)
196
- @filename = filename
197
- @lineno = lineno
198
- @scanner = GrammarFileScanner.new(src, @filename)
199
- @scanner.debug = @yydebug
200
- @grammar = Grammar.new
201
- @result = Result.new(@grammar)
202
- @embedded_action_seq = 0
203
- yyparse @scanner, :yylex
204
- parse_user_code
205
- @result.grammar.init
206
- @result
207
- end
208
-
209
- private
210
-
211
- def next_token
212
- @scanner.scan
213
- end
214
-
215
- def on_error(tok, val, _values)
216
- if val.respond_to?(:id2name)
217
- v = val.id2name
218
- elsif val.kind_of?(String)
219
- v = val
220
- else
221
- v = val.inspect
222
- end
223
- raise CompileError, "#{location()}: unexpected token '#{v}'"
224
- end
225
-
226
- def location
227
- "#{@filename}:#{@lineno - 1 + @scanner.lineno}"
228
- end
229
-
230
- def add_rule_block(list)
231
- target = list.shift
232
- case target
233
- when OrMark, OptionMark, ManyMark, Many1Mark, GroupStartMark, GroupEndMark, UserAction, Prec
234
- raise CompileError, "#{target.lineno}: unexpected symbol #{target.name}"
235
- end
236
- enum = list.each.with_index
237
- _, sym, idx = _add_rule_block(target, enum)
238
- if idx
239
- # sym is Racc::GroupEndMark
240
- raise "#{sym.lineno}: unexpected symbol ')' at pos=#{idx}"
241
- end
242
- end
243
-
244
- def _add_rule_block(target, enum)
245
- rules = [] # [ [seqs, sprec], .. ]
246
- curr = []
247
- sprec = nil
248
- while (sym, idx = enum.next rescue nil)
249
- case sym
250
- when OrMark
251
- rules << [curr, sprec]
252
- curr = []
253
- sprec = nil
254
- when OptionMark
255
- curr << _add_option_rule(curr.pop)
256
- when ManyMark
257
- curr << _add_many_rule(curr.pop)
258
- when Many1Mark
259
- curr << _add_many1_rule(curr.pop)
260
- when GroupStartMark
261
- curr << _add_group_rule(enum)
262
- when GroupEndMark
263
- rules << [curr, sprec]
264
- return rules, sym, idx
265
- when Prec
266
- raise CompileError, "'=<prec>' used twice in one rule" if sprec
267
- sprec = sym.symbol
268
- else
269
- curr.push sym
270
- end
271
- end
272
- rules << [curr, sprec]
273
- rules.each do |syms, sprec|
274
- add_rule target, syms, sprec
275
- end
276
- nil
277
- end
278
-
279
-
280
- def _add_option_rule(prev)
281
- @option_rule_registry ||= {}
282
- target = @option_rule_registry[prev.to_s]
283
- return target if target
284
- target = _gen_target_name("option", prev)
285
- @option_rule_registry[prev.to_s] = target
286
- act = UserAction.empty
287
- @grammar.add Rule.new(target, [], act)
288
- @grammar.add Rule.new(target, [prev], act)
289
- target
290
- end
291
-
292
- def _add_many_rule(prev)
293
- @many_rule_registry ||= {}
294
- target = @many_rule_registry[prev.to_s]
295
- return target if target
296
- target = _gen_target_name("many", prev)
297
- @many_rule_registry[prev.to_s] = target
298
- src = SourceText.new("result = val[1] ? val[1].unshift(val[0]) : val", @filename, @scanner.lineno + 1)
299
- act = UserAction.source_text(src)
300
- @grammar.add Rule.new(target, [], act)
301
- @grammar.add Rule.new(target, [prev, target], act)
302
- target
303
- end
304
-
305
- def _add_many1_rule(prev)
306
- @many1_rule_registry ||= {}
307
- target = @many1_rule_registry[prev.to_s]
308
- return target if target
309
- target = _gen_target_name("many1", prev)
310
- @many1_rule_registry[prev.to_s] = target
311
- src = SourceText.new("result = val[1] ? val[1].unshift(val[0]) : val", @filename, @scanner.lineno + 1)
312
- act = UserAction.source_text(src)
313
- @grammar.add Rule.new(target, [prev], act)
314
- @grammar.add Rule.new(target, [prev, target], act)
315
- target
316
- end
317
-
318
- def _add_group_rule(enum)
319
- target = @grammar.intern("-temp-group", true)
320
- rules, _ = _add_rule_block(target, enum)
321
- target_name = rules.map{|syms, sprec| syms.join("-")}.join("|")
322
- @group_rule_registry ||= {}
323
- unless target = @group_rule_registry[target_name]
324
- target = @grammar.intern("-group@#{target_name}", true)
325
- @group_rule_registry[target_name] = target
326
- src = SourceText.new("result = val", @filename, @scanner.lineno + 1)
327
- act = UserAction.source_text(src)
328
- rules.each do |syms, sprec|
329
- rule = Rule.new(target, syms, act)
330
- rule.specified_prec = sprec
331
- @grammar.add rule
332
- end
333
- end
334
- target
335
- end
336
-
337
- def _gen_target_name(type, sym)
338
- @grammar.intern("-#{type}@#{sym.value}", true)
339
- end
340
-
341
- def add_rule(target, list, sprec)
342
- if list.last.kind_of?(UserAction)
343
- act = list.pop
344
- else
345
- act = UserAction.empty
346
- end
347
- list.map! {|s| s.kind_of?(UserAction) ? embedded_action(s) : s }
348
- rule = Rule.new(target, list, act)
349
- rule.specified_prec = sprec
350
- @grammar.add rule
351
- end
352
-
353
- def embedded_action(act)
354
- sym = @grammar.intern("@#{@embedded_action_seq += 1}".intern, true)
355
- @grammar.add Rule.new(sym, [], act)
356
- sym
357
- end
358
-
359
- #
360
- # User Code Block
361
- #
362
-
363
- def parse_user_code
364
- line = @scanner.lineno
365
- _, *blocks = *@scanner.epilogue.split(/^----/)
366
- blocks.each do |block|
367
- header, *body = block.lines.to_a
368
- label0, paths = *header.sub(/\A-+/, '').split('=', 2)
369
- label = canonical_label(label0)
370
- (paths ? paths.strip.split(' ') : []).each do |path|
371
- add_user_code label, SourceText.new(File.read(path), path, 1)
372
- end
373
- add_user_code label, SourceText.new(body.join(''), @filename, line + 1)
374
- line += (1 + body.size)
375
- end
376
- end
377
-
378
- USER_CODE_LABELS = {
379
- 'header' => :header,
380
- 'prepare' => :header, # obsolete
381
- 'inner' => :inner,
382
- 'footer' => :footer,
383
- 'driver' => :footer # obsolete
384
- }
385
-
386
- def canonical_label(src)
387
- label = src.to_s.strip.downcase.slice(/\w+/)
388
- unless USER_CODE_LABELS.key?(label)
389
- raise CompileError, "unknown user code type: #{label.inspect}"
390
- end
391
- label
392
- end
393
-
394
- def add_user_code(label, src)
395
- @result.params.public_send(USER_CODE_LABELS[label]).push src
396
- end
397
-
398
- end
399
-
400
-
401
- class GrammarFileScanner
402
-
403
- def initialize(str, filename = '-')
404
- @lines = str.b.split(/\n|\r\n|\r/)
405
- @filename = filename
406
- @lineno = -1
407
- @line_head = true
408
- @in_rule_blk = false
409
- @in_conv_blk = false
410
- @in_block = nil
411
- @epilogue = ''
412
- @debug = false
413
- next_line
414
- end
415
-
416
- attr_reader :epilogue
417
-
418
- def lineno
419
- @lineno + 1
420
- end
421
-
422
- attr_accessor :debug
423
-
424
- def yylex(&block)
425
- unless @debug
426
- yylex0(&block)
427
- else
428
- yylex0 do |sym, tok|
429
- $stderr.printf "%7d %-10s %s\n", lineno(), sym.inspect, tok.inspect
430
- yield [sym, tok]
431
- end
432
- end
433
- end
434
-
435
- private
436
-
437
- def yylex0
438
- begin
439
- until @line.empty?
440
- @line.sub!(/\A\s+/, '')
441
- if /\A\#/ =~ @line
442
- break
443
- elsif /\A\/\*/ =~ @line
444
- skip_comment
445
- elsif s = reads(/\A[a-zA-Z_]\w*/)
446
- yield [atom_symbol(s), s.intern]
447
- elsif s = reads(/\A\d+/)
448
- yield [:DIGIT, s.to_i]
449
- elsif ch = reads(/\A./)
450
- case ch
451
- when '"', "'"
452
- yield [:STRING, eval(scan_quoted(ch))]
453
- when '{'
454
- lineno = lineno()
455
- yield [:ACTION, SourceText.new(scan_action(), @filename, lineno)]
456
- else
457
- if ch == '|'
458
- @line_head = false
459
- end
460
- yield [ch, ch]
461
- end
462
- else
463
- end
464
- end
465
- end while next_line()
466
- yield nil
467
- end
468
-
469
- def next_line
470
- @lineno += 1
471
- @line = @lines[@lineno]
472
- if not @line or /\A----/ =~ @line
473
- @epilogue = @lines.join("\n")
474
- @lines.clear
475
- @line = nil
476
- if @in_block
477
- @lineno -= 1
478
- scan_error! sprintf('unterminated %s', @in_block)
479
- end
480
- false
481
- else
482
- @line.sub!(/(?:\n|\r\n|\r)\z/, '')
483
- @line_head = true
484
- true
485
- end
486
- end
487
-
488
- ReservedWord = {
489
- 'right' => :RIGHT,
490
- 'left' => :LEFT,
491
- 'nonassoc' => :NONASSOC,
492
- 'preclow' => :PRECLOW,
493
- 'prechigh' => :PRECHIGH,
494
- 'token' => :TOKEN,
495
- 'convert' => :CONV,
496
- 'options' => :OPTION,
497
- 'start' => :START,
498
- 'expect' => :EXPECT,
499
- 'error_on_expect_mismatch' => :ERROR_ON_EXPECT_MISMATCH,
500
- 'class' => :CLASS,
501
- 'rule' => :RULE,
502
- 'end' => :END
503
- }
504
-
505
- def atom_symbol(token)
506
- if token == 'end'
507
- symbol = :END
508
- @in_conv_blk = false
509
- @in_rule_blk = false
510
- else
511
- if @line_head and not @in_conv_blk and not @in_rule_blk
512
- symbol = ReservedWord[token] || :SYMBOL
513
- else
514
- symbol = :SYMBOL
515
- end
516
- case symbol
517
- when :RULE then @in_rule_blk = true
518
- when :CONV then @in_conv_blk = true
519
- end
520
- end
521
- @line_head = false
522
- symbol
523
- end
524
-
525
- def skip_comment
526
- @in_block = 'comment'
527
- until m = /\*\//.match(@line)
528
- next_line
529
- end
530
- @line = m.post_match
531
- @in_block = nil
532
- end
533
-
534
- $raccs_print_type = false
535
-
536
- def scan_action
537
- buf = String.new
538
- nest = 1
539
- pre = nil
540
- @in_block = 'action'
541
- begin
542
- pre = nil
543
- if s = reads(/\A\s+/)
544
- # does not set 'pre'
545
- buf << s
546
- end
547
- until @line.empty?
548
- if s = reads(/\A[^'"`{}%#\/\$]+/)
549
- buf << (pre = s)
550
- next
551
- end
552
- case ch = read(1)
553
- when '{'
554
- nest += 1
555
- buf << (pre = ch)
556
- when '}'
557
- nest -= 1
558
- if nest == 0
559
- @in_block = nil
560
- buf.sub!(/[ \t\f]+\z/, '')
561
- return buf
562
- end
563
- buf << (pre = ch)
564
- when '#' # comment
565
- buf << ch << @line
566
- break
567
- when "'", '"', '`'
568
- buf << (pre = scan_quoted(ch))
569
- when '%'
570
- if literal_head? pre, @line
571
- # % string, regexp, array
572
- buf << ch
573
- case ch = read(1)
574
- when /[qQx]/n
575
- buf << ch << (pre = scan_quoted(read(1), '%string'))
576
- when /wW/n
577
- buf << ch << (pre = scan_quoted(read(1), '%array'))
578
- when /s/n
579
- buf << ch << (pre = scan_quoted(read(1), '%symbol'))
580
- when /r/n
581
- buf << ch << (pre = scan_quoted(read(1), '%regexp'))
582
- when /[a-zA-Z0-9= ]/n # does not include "_"
583
- scan_error! "unknown type of % literal '%#{ch}'"
584
- else
585
- buf << (pre = scan_quoted(ch, '%string'))
586
- end
587
- else
588
- # operator
589
- buf << '||op->' if $raccs_print_type
590
- buf << (pre = ch)
591
- end
592
- when '/'
593
- if literal_head? pre, @line
594
- # regexp
595
- buf << (pre = scan_quoted(ch, 'regexp'))
596
- else
597
- # operator
598
- buf << '||op->' if $raccs_print_type
599
- buf << (pre = ch)
600
- end
601
- when '$' # gvar
602
- buf << ch << (pre = read(1))
603
- else
604
- raise 'racc: fatal: must not happen'
605
- end
606
- end
607
- buf << "\n"
608
- end while next_line()
609
- raise 'racc: fatal: scan finished before parser finished'
610
- end
611
-
612
- def literal_head?(pre, post)
613
- (!pre || /[a-zA-Z_0-9]/n !~ pre[-1,1]) &&
614
- !post.empty? && /\A[\s\=]/n !~ post
615
- end
616
-
617
- def read(len)
618
- s = @line[0, len]
619
- @line = @line[len .. -1]
620
- s
621
- end
622
-
623
- def reads(re)
624
- m = re.match(@line) or return nil
625
- @line = m.post_match
626
- m[0]
627
- end
628
-
629
- def scan_quoted(left, tag = 'string')
630
- buf = left.dup
631
- buf = "||#{tag}->" + buf if $raccs_print_type
632
- re = get_quoted_re(left)
633
- sv, @in_block = @in_block, tag
634
- begin
635
- if s = reads(re)
636
- buf << s
637
- break
638
- else
639
- buf << @line
640
- end
641
- end while next_line()
642
- @in_block = sv
643
- buf << "<-#{tag}||" if $raccs_print_type
644
- buf
645
- end
646
-
647
- LEFT_TO_RIGHT = {
648
- '(' => ')',
649
- '{' => '}',
650
- '[' => ']',
651
- '<' => '>'
652
- }
653
-
654
- CACHE = {}
655
-
656
- def get_quoted_re(left)
657
- term = Regexp.quote(LEFT_TO_RIGHT[left] || left)
658
- CACHE[left] ||= /\A[^#{term}\\]*(?:\\.[^\\#{term}]*)*#{term}/
659
- end
660
-
661
- def scan_error!(msg)
662
- raise CompileError, "#{lineno()}: #{msg}"
663
- end
664
-
665
- end
666
-
667
- end # module Racc
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
- #--
3
- #
4
- #
5
- #
6
- # Copyright (c) 1999-2006 Minero Aoki
7
- #
8
- # This program is free software.
9
- # You can distribute/modify this program under the same terms of ruby.
10
- # see the file "COPYING".
11
- #
12
- #++
13
-
14
- module Racc
15
- VERSION = '1.8.1'
16
- Version = VERSION
17
- Copyright = 'Copyright (c) 1999-2006 Minero Aoki'
18
- end