@appthreat/atom-parsetools 1.3.0 → 1.5.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 (281) hide show
  1. package/README.md +111 -14
  2. package/package.json +8 -1
  3. package/phpastgen.js +1764 -18
  4. package/plugins/autoload.php +1 -1
  5. package/plugins/composer/autoload_classmap.php +1 -0
  6. package/plugins/composer/autoload_real.php +4 -4
  7. package/plugins/composer/autoload_static.php +5 -4
  8. package/plugins/composer/installed.json +7 -8
  9. package/plugins/composer/installed.php +9 -9
  10. package/plugins/composer.json +1 -1
  11. package/plugins/composer.lock +7 -8
  12. package/plugins/nikic/php-parser/composer.json +1 -2
  13. package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +1 -3
  14. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +2 -0
  15. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +20 -0
  16. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +5 -4
  17. package/plugins/nikic/php-parser/lib/PhpParser/ParserAbstract.php +7 -0
  18. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +20 -4
  19. package/plugins/rubyastgen/Gemfile +6 -4
  20. package/plugins/rubyastgen/Gemfile.lock +5 -8
  21. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/Gemfile +11 -0
  22. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/exe/ruby_ast_gen +55 -0
  23. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen/cli.rb +133 -0
  24. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen/node_handling.rb +449 -0
  25. 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
  26. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen.rb +888 -0
  27. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/ruby_ast_gen.gemspec +25 -0
  28. 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
  29. 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
  30. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/ast-2.4.3.gemspec +29 -0
  31. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/bundler-2.6.9.gemspec +25 -0
  32. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/ostruct-0.6.3.gemspec +22 -0
  33. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/parser-3.3.12.0.gemspec +37 -0
  34. package/rbastgen.js +102 -13
  35. package/scalasem.js +11 -2
  36. package/plugins/bin/bundler +0 -14
  37. package/plugins/bin/ruby_ast_gen +0 -14
  38. package/plugins/rubyastgen/bundle/bundler/setup.rb +0 -44
  39. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/exe/ruby_ast_gen +0 -63
  40. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/lib/ruby_ast_gen/node_handling.rb +0 -269
  41. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/lib/ruby_ast_gen.rb +0 -218
  42. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/gem.build_complete +0 -0
  43. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/gem_make.out +0 -44
  44. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/mkmf.log +0 -74
  45. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/prism/prism.so +0 -0
  46. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem.build_complete +0 -0
  47. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem_make.out +0 -18
  48. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/racc/cparse.so +0 -0
  49. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/BSDmakefile +0 -58
  50. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/Makefile +0 -116
  51. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/Makefile +0 -273
  52. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/api_node.c +0 -6945
  53. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/api_pack.c +0 -276
  54. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extconf.rb +0 -127
  55. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extension.c +0 -1427
  56. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extension.h +0 -19
  57. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/ast.h +0 -8254
  58. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/defines.h +0 -260
  59. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/diagnostic.h +0 -458
  60. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/encoding.h +0 -283
  61. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/node.h +0 -129
  62. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/options.h +0 -488
  63. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/pack.h +0 -163
  64. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/parser.h +0 -936
  65. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/prettyprint.h +0 -34
  66. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/regexp.h +0 -43
  67. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/static_literals.h +0 -121
  68. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_buffer.h +0 -236
  69. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_char.h +0 -204
  70. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_constant_pool.h +0 -218
  71. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_integer.h +0 -130
  72. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_list.h +0 -103
  73. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_memchr.h +0 -29
  74. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_newline_list.h +0 -113
  75. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_string.h +0 -200
  76. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_strncasecmp.h +0 -32
  77. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_strpbrk.h +0 -46
  78. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/version.h +0 -29
  79. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism.h +0 -408
  80. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/compiler.rb +0 -801
  81. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/desugar_compiler.rb +0 -392
  82. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dispatcher.rb +0 -2210
  83. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dot_visitor.rb +0 -4767
  84. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dsl.rb +0 -1003
  85. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/ffi.rb +0 -578
  86. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/inspect_visitor.rb +0 -2393
  87. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/lex_compat.rb +0 -911
  88. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/mutation_compiler.rb +0 -772
  89. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/node.rb +0 -19966
  90. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/node_ext.rb +0 -511
  91. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/pack.rb +0 -230
  92. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/comments.rb +0 -188
  93. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/errors.rb +0 -66
  94. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/newlines.rb +0 -155
  95. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result.rb +0 -907
  96. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/pattern.rb +0 -269
  97. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/append_as_bytes.rb +0 -15
  98. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/byteindex.rb +0 -13
  99. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/scan_byte.rb +0 -14
  100. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/unpack1.rb +0 -14
  101. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/warn.rb +0 -36
  102. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/prism.so +0 -0
  103. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/reflection.rb +0 -416
  104. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/relocation.rb +0 -505
  105. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/serialize.rb +0 -2400
  106. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/string_query.rb +0 -31
  107. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/builder.rb +0 -62
  108. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/compiler.rb +0 -2234
  109. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/lexer.rb +0 -820
  110. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser.rb +0 -376
  111. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser_current.rb +0 -26
  112. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser_versions.rb +0 -36
  113. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/filter.rb +0 -53
  114. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/lexer.rb +0 -135
  115. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/sexp.rb +0 -126
  116. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/shim.rb +0 -5
  117. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper.rb +0 -3520
  118. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ruby_parser.rb +0 -1964
  119. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation.rb +0 -18
  120. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/visitor.rb +0 -813
  121. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism.rb +0 -98
  122. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/compiler.rbi +0 -12
  123. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/dsl.rbi +0 -524
  124. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/inspect_visitor.rbi +0 -12
  125. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/node.rbi +0 -8750
  126. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/node_ext.rbi +0 -107
  127. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/parse_result.rbi +0 -404
  128. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/reflection.rbi +0 -58
  129. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/string_query.rbi +0 -12
  130. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/parser.rbi +0 -11
  131. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/parser_versions.rbi +0 -23
  132. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/ripper.rbi +0 -15
  133. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/visitor.rbi +0 -473
  134. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism.rbi +0 -63
  135. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/compiler.rbs +0 -9
  136. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dispatcher.rbs +0 -19
  137. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dot_visitor.rbs +0 -6
  138. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dsl.rbs +0 -351
  139. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/inspect_visitor.rbs +0 -22
  140. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/lex_compat.rbs +0 -10
  141. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/mutation_compiler.rbs +0 -159
  142. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/node.rbs +0 -4042
  143. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/node_ext.rbs +0 -149
  144. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/pack.rbs +0 -43
  145. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/parse_result/comments.rbs +0 -38
  146. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/parse_result.rbs +0 -197
  147. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/pattern.rbs +0 -13
  148. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/reflection.rbs +0 -50
  149. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/relocation.rbs +0 -185
  150. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/serialize.rbs +0 -8
  151. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/string_query.rbs +0 -11
  152. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/visitor.rbs +0 -169
  153. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism.rbs +0 -272
  154. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/diagnostic.c +0 -854
  155. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/encoding.c +0 -5340
  156. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/node.c +0 -8685
  157. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/options.c +0 -338
  158. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/pack.c +0 -509
  159. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/prettyprint.c +0 -8957
  160. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/prism.c +0 -22679
  161. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/regexp.c +0 -790
  162. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/serialize.c +0 -2274
  163. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/static_literals.c +0 -617
  164. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/token_type.c +0 -703
  165. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_buffer.c +0 -357
  166. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_char.c +0 -318
  167. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_constant_pool.c +0 -342
  168. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_integer.c +0 -670
  169. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_list.c +0 -49
  170. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_memchr.c +0 -35
  171. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_newline_list.c +0 -125
  172. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_string.c +0 -381
  173. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_strncasecmp.c +0 -36
  174. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_strpbrk.c +0 -206
  175. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/BSDL +0 -22
  176. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/COPYING +0 -56
  177. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ChangeLog +0 -846
  178. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/README.ja.rdoc +0 -58
  179. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/README.rdoc +0 -60
  180. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/TODO +0 -5
  181. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/bin/racc +0 -320
  182. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +0 -273
  183. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +0 -840
  184. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +0 -8
  185. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/compat.rb +0 -33
  186. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
  187. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/debugflags.rb +0 -60
  188. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/exception.rb +0 -16
  189. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/grammar.rb +0 -1191
  190. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +0 -667
  191. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/info.rb +0 -18
  192. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/iset.rb +0 -92
  193. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +0 -212
  194. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parser-text.rb +0 -644
  195. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parser.rb +0 -630
  196. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +0 -473
  197. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +0 -35
  198. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/state.rb +0 -976
  199. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +0 -311
  200. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/static.rb +0 -5
  201. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc.rb +0 -6
  202. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/.rspec +0 -0
  203. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/bin/console +0 -0
  204. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/bin/setup +0 -0
  205. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/update_version.rb +0 -0
  206. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-parse +0 -0
  207. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-rewrite +0 -0
  208. /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
  209. /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
  210. /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
  211. /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
  212. /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
  213. /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
  214. /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
  215. /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
  216. /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
  217. /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
  218. /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
  219. /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
  220. /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
  221. /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
  222. /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
  223. /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
  224. /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
  225. /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
  226. /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
  227. /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
  228. /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
  229. /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
  230. /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
  231. /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
  232. /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
  233. /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
  234. /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
  235. /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
  236. /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
  237. /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
  238. /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
  239. /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
  240. /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
  241. /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
  242. /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
  243. /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
  244. /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
  245. /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
  246. /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
  247. /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
  248. /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
  249. /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
  250. /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
  251. /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
  252. /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
  253. /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
  254. /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
  255. /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
  256. /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
  257. /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
  258. /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
  259. /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
  260. /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
  261. /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
  262. /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
  263. /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
  264. /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
  265. /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
  266. /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
  267. /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
  268. /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
  269. /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
  270. /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
  271. /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
  272. /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
  273. /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
  274. /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
  275. /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
  276. /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
  277. /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
  278. /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
  279. /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
  280. /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
  281. /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