@appthreat/atom-parsetools 1.3.0 → 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 (266) hide show
  1. package/README.md +111 -14
  2. package/package.json +2 -1
  3. package/plugins/composer/installed.php +6 -6
  4. package/plugins/rubyastgen/Gemfile +6 -4
  5. package/plugins/rubyastgen/Gemfile.lock +5 -8
  6. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/Gemfile +11 -0
  7. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/exe/ruby_ast_gen +55 -0
  8. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen/cli.rb +133 -0
  9. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen/node_handling.rb +449 -0
  10. 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
  11. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen.rb +888 -0
  12. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/ruby_ast_gen.gemspec +25 -0
  13. 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
  14. 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
  15. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/ast-2.4.3.gemspec +29 -0
  16. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/bundler-2.6.9.gemspec +25 -0
  17. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/ostruct-0.6.3.gemspec +22 -0
  18. package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/parser-3.3.12.0.gemspec +37 -0
  19. package/rbastgen.js +102 -13
  20. package/scalasem.js +11 -2
  21. package/plugins/bin/bundler +0 -14
  22. package/plugins/bin/ruby_ast_gen +0 -14
  23. package/plugins/rubyastgen/bundle/bundler/setup.rb +0 -44
  24. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/exe/ruby_ast_gen +0 -63
  25. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/lib/ruby_ast_gen/node_handling.rb +0 -269
  26. package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/lib/ruby_ast_gen.rb +0 -218
  27. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/gem.build_complete +0 -0
  28. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/gem_make.out +0 -44
  29. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/mkmf.log +0 -74
  30. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/prism/prism.so +0 -0
  31. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem.build_complete +0 -0
  32. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem_make.out +0 -18
  33. package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/racc/cparse.so +0 -0
  34. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/BSDmakefile +0 -58
  35. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/Makefile +0 -116
  36. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/Makefile +0 -273
  37. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/api_node.c +0 -6945
  38. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/api_pack.c +0 -276
  39. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extconf.rb +0 -127
  40. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extension.c +0 -1427
  41. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extension.h +0 -19
  42. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/ast.h +0 -8254
  43. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/defines.h +0 -260
  44. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/diagnostic.h +0 -458
  45. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/encoding.h +0 -283
  46. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/node.h +0 -129
  47. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/options.h +0 -488
  48. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/pack.h +0 -163
  49. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/parser.h +0 -936
  50. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/prettyprint.h +0 -34
  51. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/regexp.h +0 -43
  52. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/static_literals.h +0 -121
  53. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_buffer.h +0 -236
  54. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_char.h +0 -204
  55. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_constant_pool.h +0 -218
  56. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_integer.h +0 -130
  57. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_list.h +0 -103
  58. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_memchr.h +0 -29
  59. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_newline_list.h +0 -113
  60. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_string.h +0 -200
  61. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_strncasecmp.h +0 -32
  62. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_strpbrk.h +0 -46
  63. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/version.h +0 -29
  64. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism.h +0 -408
  65. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/compiler.rb +0 -801
  66. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/desugar_compiler.rb +0 -392
  67. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dispatcher.rb +0 -2210
  68. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dot_visitor.rb +0 -4767
  69. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dsl.rb +0 -1003
  70. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/ffi.rb +0 -578
  71. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/inspect_visitor.rb +0 -2393
  72. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/lex_compat.rb +0 -911
  73. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/mutation_compiler.rb +0 -772
  74. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/node.rb +0 -19966
  75. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/node_ext.rb +0 -511
  76. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/pack.rb +0 -230
  77. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/comments.rb +0 -188
  78. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/errors.rb +0 -66
  79. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/newlines.rb +0 -155
  80. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result.rb +0 -907
  81. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/pattern.rb +0 -269
  82. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/append_as_bytes.rb +0 -15
  83. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/byteindex.rb +0 -13
  84. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/scan_byte.rb +0 -14
  85. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/unpack1.rb +0 -14
  86. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/warn.rb +0 -36
  87. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/prism.so +0 -0
  88. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/reflection.rb +0 -416
  89. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/relocation.rb +0 -505
  90. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/serialize.rb +0 -2400
  91. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/string_query.rb +0 -31
  92. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/builder.rb +0 -62
  93. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/compiler.rb +0 -2234
  94. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/lexer.rb +0 -820
  95. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser.rb +0 -376
  96. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser_current.rb +0 -26
  97. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser_versions.rb +0 -36
  98. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/filter.rb +0 -53
  99. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/lexer.rb +0 -135
  100. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/sexp.rb +0 -126
  101. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/shim.rb +0 -5
  102. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper.rb +0 -3520
  103. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ruby_parser.rb +0 -1964
  104. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation.rb +0 -18
  105. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/visitor.rb +0 -813
  106. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism.rb +0 -98
  107. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/compiler.rbi +0 -12
  108. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/dsl.rbi +0 -524
  109. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/inspect_visitor.rbi +0 -12
  110. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/node.rbi +0 -8750
  111. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/node_ext.rbi +0 -107
  112. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/parse_result.rbi +0 -404
  113. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/reflection.rbi +0 -58
  114. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/string_query.rbi +0 -12
  115. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/parser.rbi +0 -11
  116. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/parser_versions.rbi +0 -23
  117. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/ripper.rbi +0 -15
  118. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/visitor.rbi +0 -473
  119. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism.rbi +0 -63
  120. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/compiler.rbs +0 -9
  121. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dispatcher.rbs +0 -19
  122. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dot_visitor.rbs +0 -6
  123. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dsl.rbs +0 -351
  124. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/inspect_visitor.rbs +0 -22
  125. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/lex_compat.rbs +0 -10
  126. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/mutation_compiler.rbs +0 -159
  127. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/node.rbs +0 -4042
  128. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/node_ext.rbs +0 -149
  129. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/pack.rbs +0 -43
  130. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/parse_result/comments.rbs +0 -38
  131. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/parse_result.rbs +0 -197
  132. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/pattern.rbs +0 -13
  133. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/reflection.rbs +0 -50
  134. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/relocation.rbs +0 -185
  135. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/serialize.rbs +0 -8
  136. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/string_query.rbs +0 -11
  137. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/visitor.rbs +0 -169
  138. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism.rbs +0 -272
  139. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/diagnostic.c +0 -854
  140. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/encoding.c +0 -5340
  141. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/node.c +0 -8685
  142. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/options.c +0 -338
  143. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/pack.c +0 -509
  144. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/prettyprint.c +0 -8957
  145. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/prism.c +0 -22679
  146. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/regexp.c +0 -790
  147. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/serialize.c +0 -2274
  148. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/static_literals.c +0 -617
  149. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/token_type.c +0 -703
  150. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_buffer.c +0 -357
  151. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_char.c +0 -318
  152. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_constant_pool.c +0 -342
  153. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_integer.c +0 -670
  154. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_list.c +0 -49
  155. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_memchr.c +0 -35
  156. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_newline_list.c +0 -125
  157. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_string.c +0 -381
  158. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_strncasecmp.c +0 -36
  159. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_strpbrk.c +0 -206
  160. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/BSDL +0 -22
  161. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/COPYING +0 -56
  162. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ChangeLog +0 -846
  163. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/README.ja.rdoc +0 -58
  164. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/README.rdoc +0 -60
  165. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/TODO +0 -5
  166. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/bin/racc +0 -320
  167. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +0 -273
  168. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +0 -840
  169. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +0 -8
  170. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/compat.rb +0 -33
  171. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
  172. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/debugflags.rb +0 -60
  173. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/exception.rb +0 -16
  174. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/grammar.rb +0 -1191
  175. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +0 -667
  176. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/info.rb +0 -18
  177. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/iset.rb +0 -92
  178. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +0 -212
  179. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parser-text.rb +0 -644
  180. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parser.rb +0 -630
  181. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +0 -473
  182. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +0 -35
  183. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/state.rb +0 -976
  184. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +0 -311
  185. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/static.rb +0 -5
  186. package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc.rb +0 -6
  187. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/.rspec +0 -0
  188. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/bin/console +0 -0
  189. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/bin/setup +0 -0
  190. /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/update_version.rb +0 -0
  191. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-parse +0 -0
  192. /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-rewrite +0 -0
  193. /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
  194. /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
  195. /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
  196. /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
  197. /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
  198. /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
  199. /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
  200. /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
  201. /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
  202. /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
  203. /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
  204. /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
  205. /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
  206. /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
  207. /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
  208. /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
  209. /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
  210. /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
  211. /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
  212. /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
  213. /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
  214. /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
  215. /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
  216. /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
  217. /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
  218. /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
  219. /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
  220. /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
  221. /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
  222. /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
  223. /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
  224. /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
  225. /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
  226. /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
  227. /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
  228. /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
  229. /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
  230. /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
  231. /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
  232. /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
  233. /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
  234. /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
  235. /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
  236. /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
  237. /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
  238. /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
  239. /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
  240. /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
  241. /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
  242. /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
  243. /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
  244. /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
  245. /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
  246. /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
  247. /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
  248. /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
  249. /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
  250. /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
  251. /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
  252. /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
  253. /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
  254. /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
  255. /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
  256. /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
  257. /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
  258. /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
  259. /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
  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.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/static_environment.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/syntax_error.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/tree_rewriter.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/unknown_encoding_in_magic_comment_error.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/variables_stack.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.rb +0 -0
@@ -1,357 +0,0 @@
1
- #include "prism/util/pm_buffer.h"
2
-
3
- /**
4
- * Return the size of the pm_buffer_t struct.
5
- */
6
- size_t
7
- pm_buffer_sizeof(void) {
8
- return sizeof(pm_buffer_t);
9
- }
10
-
11
- /**
12
- * Initialize a pm_buffer_t with the given capacity.
13
- */
14
- bool
15
- pm_buffer_init_capacity(pm_buffer_t *buffer, size_t capacity) {
16
- buffer->length = 0;
17
- buffer->capacity = capacity;
18
-
19
- buffer->value = (char *) xmalloc(capacity);
20
- return buffer->value != NULL;
21
- }
22
-
23
- /**
24
- * Initialize a pm_buffer_t with its default values.
25
- */
26
- bool
27
- pm_buffer_init(pm_buffer_t *buffer) {
28
- return pm_buffer_init_capacity(buffer, 1024);
29
- }
30
-
31
- /**
32
- * Return the value of the buffer.
33
- */
34
- char *
35
- pm_buffer_value(const pm_buffer_t *buffer) {
36
- return buffer->value;
37
- }
38
-
39
- /**
40
- * Return the length of the buffer.
41
- */
42
- size_t
43
- pm_buffer_length(const pm_buffer_t *buffer) {
44
- return buffer->length;
45
- }
46
-
47
- /**
48
- * Append the given amount of space to the buffer.
49
- */
50
- static inline bool
51
- pm_buffer_append_length(pm_buffer_t *buffer, size_t length) {
52
- size_t next_length = buffer->length + length;
53
-
54
- if (next_length > buffer->capacity) {
55
- if (buffer->capacity == 0) {
56
- buffer->capacity = 1;
57
- }
58
-
59
- while (next_length > buffer->capacity) {
60
- buffer->capacity *= 2;
61
- }
62
-
63
- buffer->value = xrealloc(buffer->value, buffer->capacity);
64
- if (buffer->value == NULL) return false;
65
- }
66
-
67
- buffer->length = next_length;
68
- return true;
69
- }
70
-
71
- /**
72
- * Append a generic pointer to memory to the buffer.
73
- */
74
- static inline void
75
- pm_buffer_append(pm_buffer_t *buffer, const void *source, size_t length) {
76
- size_t cursor = buffer->length;
77
- if (pm_buffer_append_length(buffer, length)) {
78
- memcpy(buffer->value + cursor, source, length);
79
- }
80
- }
81
-
82
- /**
83
- * Append the given amount of space as zeroes to the buffer.
84
- */
85
- void
86
- pm_buffer_append_zeroes(pm_buffer_t *buffer, size_t length) {
87
- size_t cursor = buffer->length;
88
- if (pm_buffer_append_length(buffer, length)) {
89
- memset(buffer->value + cursor, 0, length);
90
- }
91
- }
92
-
93
- /**
94
- * Append a formatted string to the buffer.
95
- */
96
- void
97
- pm_buffer_append_format(pm_buffer_t *buffer, const char *format, ...) {
98
- va_list arguments;
99
- va_start(arguments, format);
100
- int result = vsnprintf(NULL, 0, format, arguments);
101
- va_end(arguments);
102
-
103
- if (result < 0) return;
104
- size_t length = (size_t) (result + 1);
105
-
106
- size_t cursor = buffer->length;
107
- if (pm_buffer_append_length(buffer, length)) {
108
- va_start(arguments, format);
109
- vsnprintf(buffer->value + cursor, length, format, arguments);
110
- va_end(arguments);
111
- buffer->length--;
112
- }
113
- }
114
-
115
- /**
116
- * Append a string to the buffer.
117
- */
118
- void
119
- pm_buffer_append_string(pm_buffer_t *buffer, const char *value, size_t length) {
120
- pm_buffer_append(buffer, value, length);
121
- }
122
-
123
- /**
124
- * Append a list of bytes to the buffer.
125
- */
126
- void
127
- pm_buffer_append_bytes(pm_buffer_t *buffer, const uint8_t *value, size_t length) {
128
- pm_buffer_append(buffer, (const char *) value, length);
129
- }
130
-
131
- /**
132
- * Append a single byte to the buffer.
133
- */
134
- void
135
- pm_buffer_append_byte(pm_buffer_t *buffer, uint8_t value) {
136
- const void *source = &value;
137
- pm_buffer_append(buffer, source, sizeof(uint8_t));
138
- }
139
-
140
- /**
141
- * Append a 32-bit unsigned integer to the buffer as a variable-length integer.
142
- */
143
- void
144
- pm_buffer_append_varuint(pm_buffer_t *buffer, uint32_t value) {
145
- if (value < 128) {
146
- pm_buffer_append_byte(buffer, (uint8_t) value);
147
- } else {
148
- uint32_t n = value;
149
- while (n >= 128) {
150
- pm_buffer_append_byte(buffer, (uint8_t) (n | 128));
151
- n >>= 7;
152
- }
153
- pm_buffer_append_byte(buffer, (uint8_t) n);
154
- }
155
- }
156
-
157
- /**
158
- * Append a 32-bit signed integer to the buffer as a variable-length integer.
159
- */
160
- void
161
- pm_buffer_append_varsint(pm_buffer_t *buffer, int32_t value) {
162
- uint32_t unsigned_int = ((uint32_t)(value) << 1) ^ ((uint32_t)(value >> 31));
163
- pm_buffer_append_varuint(buffer, unsigned_int);
164
- }
165
-
166
- /**
167
- * Append a double to the buffer.
168
- */
169
- void
170
- pm_buffer_append_double(pm_buffer_t *buffer, double value) {
171
- const void *source = &value;
172
- pm_buffer_append(buffer, source, sizeof(double));
173
- }
174
-
175
- /**
176
- * Append a unicode codepoint to the buffer.
177
- */
178
- bool
179
- pm_buffer_append_unicode_codepoint(pm_buffer_t *buffer, uint32_t value) {
180
- if (value <= 0x7F) {
181
- pm_buffer_append_byte(buffer, (uint8_t) value); // 0xxxxxxx
182
- return true;
183
- } else if (value <= 0x7FF) {
184
- uint8_t bytes[] = {
185
- (uint8_t) (0xC0 | ((value >> 6) & 0x3F)), // 110xxxxx
186
- (uint8_t) (0x80 | (value & 0x3F)) // 10xxxxxx
187
- };
188
-
189
- pm_buffer_append_bytes(buffer, bytes, 2);
190
- return true;
191
- } else if (value <= 0xFFFF) {
192
- uint8_t bytes[] = {
193
- (uint8_t) (0xE0 | ((value >> 12) & 0x3F)), // 1110xxxx
194
- (uint8_t) (0x80 | ((value >> 6) & 0x3F)), // 10xxxxxx
195
- (uint8_t) (0x80 | (value & 0x3F)) // 10xxxxxx
196
- };
197
-
198
- pm_buffer_append_bytes(buffer, bytes, 3);
199
- return true;
200
- } else if (value <= 0x10FFFF) {
201
- uint8_t bytes[] = {
202
- (uint8_t) (0xF0 | ((value >> 18) & 0x3F)), // 11110xxx
203
- (uint8_t) (0x80 | ((value >> 12) & 0x3F)), // 10xxxxxx
204
- (uint8_t) (0x80 | ((value >> 6) & 0x3F)), // 10xxxxxx
205
- (uint8_t) (0x80 | (value & 0x3F)) // 10xxxxxx
206
- };
207
-
208
- pm_buffer_append_bytes(buffer, bytes, 4);
209
- return true;
210
- } else {
211
- return false;
212
- }
213
- }
214
-
215
- /**
216
- * Append a slice of source code to the buffer.
217
- */
218
- void
219
- pm_buffer_append_source(pm_buffer_t *buffer, const uint8_t *source, size_t length, pm_buffer_escaping_t escaping) {
220
- for (size_t index = 0; index < length; index++) {
221
- const uint8_t byte = source[index];
222
-
223
- if ((byte <= 0x06) || (byte >= 0x0E && byte <= 0x1F) || (byte >= 0x7F)) {
224
- if (escaping == PM_BUFFER_ESCAPING_RUBY) {
225
- pm_buffer_append_format(buffer, "\\x%02X", byte);
226
- } else {
227
- pm_buffer_append_format(buffer, "\\u%04X", byte);
228
- }
229
- } else {
230
- switch (byte) {
231
- case '\a':
232
- if (escaping == PM_BUFFER_ESCAPING_RUBY) {
233
- pm_buffer_append_string(buffer, "\\a", 2);
234
- } else {
235
- pm_buffer_append_format(buffer, "\\u%04X", byte);
236
- }
237
- break;
238
- case '\b':
239
- pm_buffer_append_string(buffer, "\\b", 2);
240
- break;
241
- case '\t':
242
- pm_buffer_append_string(buffer, "\\t", 2);
243
- break;
244
- case '\n':
245
- pm_buffer_append_string(buffer, "\\n", 2);
246
- break;
247
- case '\v':
248
- if (escaping == PM_BUFFER_ESCAPING_RUBY) {
249
- pm_buffer_append_string(buffer, "\\v", 2);
250
- } else {
251
- pm_buffer_append_format(buffer, "\\u%04X", byte);
252
- }
253
- break;
254
- case '\f':
255
- pm_buffer_append_string(buffer, "\\f", 2);
256
- break;
257
- case '\r':
258
- pm_buffer_append_string(buffer, "\\r", 2);
259
- break;
260
- case '"':
261
- pm_buffer_append_string(buffer, "\\\"", 2);
262
- break;
263
- case '#': {
264
- if (escaping == PM_BUFFER_ESCAPING_RUBY && index + 1 < length) {
265
- const uint8_t next_byte = source[index + 1];
266
- if (next_byte == '{' || next_byte == '@' || next_byte == '$') {
267
- pm_buffer_append_byte(buffer, '\\');
268
- }
269
- }
270
-
271
- pm_buffer_append_byte(buffer, '#');
272
- break;
273
- }
274
- case '\\':
275
- pm_buffer_append_string(buffer, "\\\\", 2);
276
- break;
277
- default:
278
- pm_buffer_append_byte(buffer, byte);
279
- break;
280
- }
281
- }
282
- }
283
- }
284
-
285
- /**
286
- * Prepend the given string to the buffer.
287
- */
288
- void
289
- pm_buffer_prepend_string(pm_buffer_t *buffer, const char *value, size_t length) {
290
- size_t cursor = buffer->length;
291
- if (pm_buffer_append_length(buffer, length)) {
292
- memmove(buffer->value + length, buffer->value, cursor);
293
- memcpy(buffer->value, value, length);
294
- }
295
- }
296
-
297
- /**
298
- * Concatenate one buffer onto another.
299
- */
300
- void
301
- pm_buffer_concat(pm_buffer_t *destination, const pm_buffer_t *source) {
302
- if (source->length > 0) {
303
- pm_buffer_append(destination, source->value, source->length);
304
- }
305
- }
306
-
307
- /**
308
- * Clear the buffer by reducing its size to 0. This does not free the allocated
309
- * memory, but it does allow the buffer to be reused.
310
- */
311
- void
312
- pm_buffer_clear(pm_buffer_t *buffer) {
313
- buffer->length = 0;
314
- }
315
-
316
- /**
317
- * Strip the whitespace from the end of the buffer.
318
- */
319
- void
320
- pm_buffer_rstrip(pm_buffer_t *buffer) {
321
- while (buffer->length > 0 && pm_char_is_whitespace((uint8_t) buffer->value[buffer->length - 1])) {
322
- buffer->length--;
323
- }
324
- }
325
-
326
- /**
327
- * Checks if the buffer includes the given value.
328
- */
329
- size_t
330
- pm_buffer_index(const pm_buffer_t *buffer, char value) {
331
- const char *first = memchr(buffer->value, value, buffer->length);
332
- return (first == NULL) ? SIZE_MAX : (size_t) (first - buffer->value);
333
- }
334
-
335
- /**
336
- * Insert the given string into the buffer at the given index.
337
- */
338
- void
339
- pm_buffer_insert(pm_buffer_t *buffer, size_t index, const char *value, size_t length) {
340
- assert(index <= buffer->length);
341
-
342
- if (index == buffer->length) {
343
- pm_buffer_append_string(buffer, value, length);
344
- } else {
345
- pm_buffer_append_zeroes(buffer, length);
346
- memmove(buffer->value + index + length, buffer->value + index, buffer->length - length - index);
347
- memcpy(buffer->value + index, value, length);
348
- }
349
- }
350
-
351
- /**
352
- * Free the memory associated with the buffer.
353
- */
354
- void
355
- pm_buffer_free(pm_buffer_t *buffer) {
356
- xfree(buffer->value);
357
- }
@@ -1,318 +0,0 @@
1
- #include "prism/util/pm_char.h"
2
-
3
- #define PRISM_CHAR_BIT_WHITESPACE (1 << 0)
4
- #define PRISM_CHAR_BIT_INLINE_WHITESPACE (1 << 1)
5
- #define PRISM_CHAR_BIT_REGEXP_OPTION (1 << 2)
6
-
7
- #define PRISM_NUMBER_BIT_BINARY_DIGIT (1 << 0)
8
- #define PRISM_NUMBER_BIT_BINARY_NUMBER (1 << 1)
9
- #define PRISM_NUMBER_BIT_OCTAL_DIGIT (1 << 2)
10
- #define PRISM_NUMBER_BIT_OCTAL_NUMBER (1 << 3)
11
- #define PRISM_NUMBER_BIT_DECIMAL_DIGIT (1 << 4)
12
- #define PRISM_NUMBER_BIT_DECIMAL_NUMBER (1 << 5)
13
- #define PRISM_NUMBER_BIT_HEXADECIMAL_DIGIT (1 << 6)
14
- #define PRISM_NUMBER_BIT_HEXADECIMAL_NUMBER (1 << 7)
15
-
16
- static const uint8_t pm_byte_table[256] = {
17
- // 0 1 2 3 4 5 6 7 8 9 A B C D E F
18
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 3, 0, 0, // 0x
19
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
20
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
21
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3x
22
- 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // 4x
23
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, // 5x
24
- 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // 6x
25
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, // 7x
26
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
27
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
28
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
29
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
30
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
31
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
32
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
33
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
34
- };
35
-
36
- static const uint8_t pm_number_table[256] = {
37
- // 0 1 2 3 4 5 6 7 8 9 A B C D E F
38
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x
39
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 1x
40
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 2x
41
- 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 3x
42
- 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 4x
43
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa, // 5x
44
- 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6x
45
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 7x
46
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 8x
47
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 9x
48
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Ax
49
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Bx
50
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Cx
51
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Dx
52
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Ex
53
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Fx
54
- };
55
-
56
- /**
57
- * Returns the number of characters at the start of the string that match the
58
- * given kind. Disallows searching past the given maximum number of characters.
59
- */
60
- static inline size_t
61
- pm_strspn_char_kind(const uint8_t *string, ptrdiff_t length, uint8_t kind) {
62
- if (length <= 0) return 0;
63
-
64
- size_t size = 0;
65
- size_t maximum = (size_t) length;
66
-
67
- while (size < maximum && (pm_byte_table[string[size]] & kind)) size++;
68
- return size;
69
- }
70
-
71
- /**
72
- * Returns the number of characters at the start of the string that are
73
- * whitespace. Disallows searching past the given maximum number of characters.
74
- */
75
- size_t
76
- pm_strspn_whitespace(const uint8_t *string, ptrdiff_t length) {
77
- return pm_strspn_char_kind(string, length, PRISM_CHAR_BIT_WHITESPACE);
78
- }
79
-
80
- /**
81
- * Returns the number of characters at the start of the string that are
82
- * whitespace while also tracking the location of each newline. Disallows
83
- * searching past the given maximum number of characters.
84
- */
85
- size_t
86
- pm_strspn_whitespace_newlines(const uint8_t *string, ptrdiff_t length, pm_newline_list_t *newline_list) {
87
- if (length <= 0) return 0;
88
-
89
- size_t size = 0;
90
- size_t maximum = (size_t) length;
91
-
92
- while (size < maximum && (pm_byte_table[string[size]] & PRISM_CHAR_BIT_WHITESPACE)) {
93
- if (string[size] == '\n') {
94
- pm_newline_list_append(newline_list, string + size);
95
- }
96
-
97
- size++;
98
- }
99
-
100
- return size;
101
- }
102
-
103
- /**
104
- * Returns the number of characters at the start of the string that are inline
105
- * whitespace. Disallows searching past the given maximum number of characters.
106
- */
107
- size_t
108
- pm_strspn_inline_whitespace(const uint8_t *string, ptrdiff_t length) {
109
- return pm_strspn_char_kind(string, length, PRISM_CHAR_BIT_INLINE_WHITESPACE);
110
- }
111
-
112
- /**
113
- * Returns the number of characters at the start of the string that are regexp
114
- * options. Disallows searching past the given maximum number of characters.
115
- */
116
- size_t
117
- pm_strspn_regexp_option(const uint8_t *string, ptrdiff_t length) {
118
- return pm_strspn_char_kind(string, length, PRISM_CHAR_BIT_REGEXP_OPTION);
119
- }
120
-
121
- /**
122
- * Returns true if the given character matches the given kind.
123
- */
124
- static inline bool
125
- pm_char_is_char_kind(const uint8_t b, uint8_t kind) {
126
- return (pm_byte_table[b] & kind) != 0;
127
- }
128
-
129
- /**
130
- * Returns true if the given character is a whitespace character.
131
- */
132
- bool
133
- pm_char_is_whitespace(const uint8_t b) {
134
- return pm_char_is_char_kind(b, PRISM_CHAR_BIT_WHITESPACE);
135
- }
136
-
137
- /**
138
- * Returns true if the given character is an inline whitespace character.
139
- */
140
- bool
141
- pm_char_is_inline_whitespace(const uint8_t b) {
142
- return pm_char_is_char_kind(b, PRISM_CHAR_BIT_INLINE_WHITESPACE);
143
- }
144
-
145
- /**
146
- * Scan through the string and return the number of characters at the start of
147
- * the string that match the given kind. Disallows searching past the given
148
- * maximum number of characters.
149
- */
150
- static inline size_t
151
- pm_strspn_number_kind(const uint8_t *string, ptrdiff_t length, uint8_t kind) {
152
- if (length <= 0) return 0;
153
-
154
- size_t size = 0;
155
- size_t maximum = (size_t) length;
156
-
157
- while (size < maximum && (pm_number_table[string[size]] & kind)) size++;
158
- return size;
159
- }
160
-
161
- /**
162
- * Scan through the string and return the number of characters at the start of
163
- * the string that match the given kind. Disallows searching past the given
164
- * maximum number of characters.
165
- *
166
- * Additionally, report the location of the last invalid underscore character
167
- * found in the string through the out invalid parameter.
168
- */
169
- static inline size_t
170
- pm_strspn_number_kind_underscores(const uint8_t *string, ptrdiff_t length, const uint8_t **invalid, uint8_t kind) {
171
- if (length <= 0) return 0;
172
-
173
- size_t size = 0;
174
- size_t maximum = (size_t) length;
175
-
176
- bool underscore = false;
177
- while (size < maximum && (pm_number_table[string[size]] & kind)) {
178
- if (string[size] == '_') {
179
- if (underscore) *invalid = string + size;
180
- underscore = true;
181
- } else {
182
- underscore = false;
183
- }
184
-
185
- size++;
186
- }
187
-
188
- if (size > 0 && string[size - 1] == '_') *invalid = string + size - 1;
189
- return size;
190
- }
191
-
192
- /**
193
- * Returns the number of characters at the start of the string that are binary
194
- * digits or underscores. Disallows searching past the given maximum number of
195
- * characters.
196
- *
197
- * If multiple underscores are found in a row or if an underscore is
198
- * found at the end of the number, then the invalid pointer is set to the index
199
- * of the first invalid underscore.
200
- */
201
- size_t
202
- pm_strspn_binary_number(const uint8_t *string, ptrdiff_t length, const uint8_t **invalid) {
203
- return pm_strspn_number_kind_underscores(string, length, invalid, PRISM_NUMBER_BIT_BINARY_NUMBER);
204
- }
205
-
206
- /**
207
- * Returns the number of characters at the start of the string that are octal
208
- * digits or underscores. Disallows searching past the given maximum number of
209
- * characters.
210
- *
211
- * If multiple underscores are found in a row or if an underscore is
212
- * found at the end of the number, then the invalid pointer is set to the index
213
- * of the first invalid underscore.
214
- */
215
- size_t
216
- pm_strspn_octal_number(const uint8_t *string, ptrdiff_t length, const uint8_t **invalid) {
217
- return pm_strspn_number_kind_underscores(string, length, invalid, PRISM_NUMBER_BIT_OCTAL_NUMBER);
218
- }
219
-
220
- /**
221
- * Returns the number of characters at the start of the string that are decimal
222
- * digits. Disallows searching past the given maximum number of characters.
223
- */
224
- size_t
225
- pm_strspn_decimal_digit(const uint8_t *string, ptrdiff_t length) {
226
- return pm_strspn_number_kind(string, length, PRISM_NUMBER_BIT_DECIMAL_DIGIT);
227
- }
228
-
229
- /**
230
- * Returns the number of characters at the start of the string that are decimal
231
- * digits or underscores. Disallows searching past the given maximum number of
232
- * characters.
233
- *
234
- * If multiple underscores are found in a row or if an underscore is
235
- * found at the end of the number, then the invalid pointer is set to the index
236
- * of the first invalid underscore
237
- */
238
- size_t
239
- pm_strspn_decimal_number(const uint8_t *string, ptrdiff_t length, const uint8_t **invalid) {
240
- return pm_strspn_number_kind_underscores(string, length, invalid, PRISM_NUMBER_BIT_DECIMAL_NUMBER);
241
- }
242
-
243
- /**
244
- * Returns the number of characters at the start of the string that are
245
- * hexadecimal digits. Disallows searching past the given maximum number of
246
- * characters.
247
- */
248
- size_t
249
- pm_strspn_hexadecimal_digit(const uint8_t *string, ptrdiff_t length) {
250
- return pm_strspn_number_kind(string, length, PRISM_NUMBER_BIT_HEXADECIMAL_DIGIT);
251
- }
252
-
253
- /**
254
- * Returns the number of characters at the start of the string that are
255
- * hexadecimal digits or underscores. Disallows searching past the given maximum
256
- * number of characters.
257
- *
258
- * If multiple underscores are found in a row or if an underscore is
259
- * found at the end of the number, then the invalid pointer is set to the index
260
- * of the first invalid underscore.
261
- */
262
- size_t
263
- pm_strspn_hexadecimal_number(const uint8_t *string, ptrdiff_t length, const uint8_t **invalid) {
264
- return pm_strspn_number_kind_underscores(string, length, invalid, PRISM_NUMBER_BIT_HEXADECIMAL_NUMBER);
265
- }
266
-
267
- /**
268
- * Returns true if the given character matches the given kind.
269
- */
270
- static inline bool
271
- pm_char_is_number_kind(const uint8_t b, uint8_t kind) {
272
- return (pm_number_table[b] & kind) != 0;
273
- }
274
-
275
- /**
276
- * Returns true if the given character is a binary digit.
277
- */
278
- bool
279
- pm_char_is_binary_digit(const uint8_t b) {
280
- return pm_char_is_number_kind(b, PRISM_NUMBER_BIT_BINARY_DIGIT);
281
- }
282
-
283
- /**
284
- * Returns true if the given character is an octal digit.
285
- */
286
- bool
287
- pm_char_is_octal_digit(const uint8_t b) {
288
- return pm_char_is_number_kind(b, PRISM_NUMBER_BIT_OCTAL_DIGIT);
289
- }
290
-
291
- /**
292
- * Returns true if the given character is a decimal digit.
293
- */
294
- bool
295
- pm_char_is_decimal_digit(const uint8_t b) {
296
- return pm_char_is_number_kind(b, PRISM_NUMBER_BIT_DECIMAL_DIGIT);
297
- }
298
-
299
- /**
300
- * Returns true if the given character is a hexadecimal digit.
301
- */
302
- bool
303
- pm_char_is_hexadecimal_digit(const uint8_t b) {
304
- return pm_char_is_number_kind(b, PRISM_NUMBER_BIT_HEXADECIMAL_DIGIT);
305
- }
306
-
307
- #undef PRISM_CHAR_BIT_WHITESPACE
308
- #undef PRISM_CHAR_BIT_INLINE_WHITESPACE
309
- #undef PRISM_CHAR_BIT_REGEXP_OPTION
310
-
311
- #undef PRISM_NUMBER_BIT_BINARY_DIGIT
312
- #undef PRISM_NUMBER_BIT_BINARY_NUMBER
313
- #undef PRISM_NUMBER_BIT_OCTAL_DIGIT
314
- #undef PRISM_NUMBER_BIT_OCTAL_NUMBER
315
- #undef PRISM_NUMBER_BIT_DECIMAL_DIGIT
316
- #undef PRISM_NUMBER_BIT_DECIMAL_NUMBER
317
- #undef PRISM_NUMBER_BIT_HEXADECIMAL_NUMBER
318
- #undef PRISM_NUMBER_BIT_HEXADECIMAL_DIGIT