@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,509 +0,0 @@
1
- #include "prism/pack.h"
2
-
3
- // We optionally support parsing String#pack templates. For systems that don't
4
- // want or need this functionality, it can be turned off with the
5
- // PRISM_EXCLUDE_PACK define.
6
- #ifdef PRISM_EXCLUDE_PACK
7
-
8
- void pm_pack_parse(void) {}
9
-
10
- #else
11
-
12
- #include <stdbool.h>
13
- #include <errno.h>
14
-
15
- static uintmax_t
16
- strtoumaxc(const char **format) {
17
- uintmax_t value = 0;
18
- while (**format >= '0' && **format <= '9') {
19
- if (value > UINTMAX_MAX / 10) {
20
- errno = ERANGE;
21
- }
22
- value = value * 10 + ((uintmax_t) (**format - '0'));
23
- (*format)++;
24
- }
25
- return value;
26
- }
27
-
28
- PRISM_EXPORTED_FUNCTION pm_pack_result
29
- pm_pack_parse(
30
- pm_pack_variant variant,
31
- const char **format,
32
- const char *format_end,
33
- pm_pack_type *type,
34
- pm_pack_signed *signed_type,
35
- pm_pack_endian *endian,
36
- pm_pack_size *size,
37
- pm_pack_length_type *length_type,
38
- uint64_t *length,
39
- pm_pack_encoding *encoding
40
- ) {
41
- if (*encoding == PM_PACK_ENCODING_START) {
42
- *encoding = PM_PACK_ENCODING_US_ASCII;
43
- }
44
-
45
- if (*format == format_end) {
46
- *type = PM_PACK_END;
47
- *signed_type = PM_PACK_SIGNED_NA;
48
- *endian = PM_PACK_ENDIAN_NA;
49
- *size = PM_PACK_SIZE_NA;
50
- *length_type = PM_PACK_LENGTH_NA;
51
- return PM_PACK_OK;
52
- }
53
-
54
- *length_type = PM_PACK_LENGTH_FIXED;
55
- *length = 1;
56
- bool length_changed_allowed = true;
57
-
58
- char directive = **format;
59
- (*format)++;
60
- switch (directive) {
61
- case ' ':
62
- case '\t':
63
- case '\n':
64
- case '\v':
65
- case '\f':
66
- case '\r':
67
- *type = PM_PACK_SPACE;
68
- *signed_type = PM_PACK_SIGNED_NA;
69
- *endian = PM_PACK_ENDIAN_NA;
70
- *size = PM_PACK_SIZE_NA;
71
- *length_type = PM_PACK_LENGTH_NA;
72
- *length = 0;
73
- return PM_PACK_OK;
74
- case '#':
75
- while ((*format < format_end) && (**format != '\n')) {
76
- (*format)++;
77
- }
78
- *type = PM_PACK_COMMENT;
79
- *signed_type = PM_PACK_SIGNED_NA;
80
- *endian = PM_PACK_ENDIAN_NA;
81
- *size = PM_PACK_SIZE_NA;
82
- *length_type = PM_PACK_LENGTH_NA;
83
- *length = 0;
84
- return PM_PACK_OK;
85
- case 'C':
86
- *type = PM_PACK_INTEGER;
87
- *signed_type = PM_PACK_UNSIGNED;
88
- *endian = PM_PACK_AGNOSTIC_ENDIAN;
89
- *size = PM_PACK_SIZE_8;
90
- break;
91
- case 'S':
92
- *type = PM_PACK_INTEGER;
93
- *signed_type = PM_PACK_UNSIGNED;
94
- *endian = PM_PACK_NATIVE_ENDIAN;
95
- *size = PM_PACK_SIZE_16;
96
- break;
97
- case 'L':
98
- *type = PM_PACK_INTEGER;
99
- *signed_type = PM_PACK_UNSIGNED;
100
- *endian = PM_PACK_NATIVE_ENDIAN;
101
- *size = PM_PACK_SIZE_32;
102
- break;
103
- case 'Q':
104
- *type = PM_PACK_INTEGER;
105
- *signed_type = PM_PACK_UNSIGNED;
106
- *endian = PM_PACK_NATIVE_ENDIAN;
107
- *size = PM_PACK_SIZE_64;
108
- break;
109
- case 'J':
110
- *type = PM_PACK_INTEGER;
111
- *signed_type = PM_PACK_UNSIGNED;
112
- *endian = PM_PACK_NATIVE_ENDIAN;
113
- *size = PM_PACK_SIZE_P;
114
- break;
115
- case 'c':
116
- *type = PM_PACK_INTEGER;
117
- *signed_type = PM_PACK_SIGNED;
118
- *endian = PM_PACK_AGNOSTIC_ENDIAN;
119
- *size = PM_PACK_SIZE_8;
120
- break;
121
- case 's':
122
- *type = PM_PACK_INTEGER;
123
- *signed_type = PM_PACK_SIGNED;
124
- *endian = PM_PACK_NATIVE_ENDIAN;
125
- *size = PM_PACK_SIZE_16;
126
- break;
127
- case 'l':
128
- *type = PM_PACK_INTEGER;
129
- *signed_type = PM_PACK_SIGNED;
130
- *endian = PM_PACK_NATIVE_ENDIAN;
131
- *size = PM_PACK_SIZE_32;
132
- break;
133
- case 'q':
134
- *type = PM_PACK_INTEGER;
135
- *signed_type = PM_PACK_SIGNED;
136
- *endian = PM_PACK_NATIVE_ENDIAN;
137
- *size = PM_PACK_SIZE_64;
138
- break;
139
- case 'j':
140
- *type = PM_PACK_INTEGER;
141
- *signed_type = PM_PACK_SIGNED;
142
- *endian = PM_PACK_NATIVE_ENDIAN;
143
- *size = PM_PACK_SIZE_P;
144
- break;
145
- case 'I':
146
- *type = PM_PACK_INTEGER;
147
- *signed_type = PM_PACK_UNSIGNED;
148
- *endian = PM_PACK_NATIVE_ENDIAN;
149
- *size = PM_PACK_SIZE_INT;
150
- break;
151
- case 'i':
152
- *type = PM_PACK_INTEGER;
153
- *signed_type = PM_PACK_SIGNED;
154
- *endian = PM_PACK_NATIVE_ENDIAN;
155
- *size = PM_PACK_SIZE_INT;
156
- break;
157
- case 'n':
158
- *type = PM_PACK_INTEGER;
159
- *signed_type = PM_PACK_UNSIGNED;
160
- *endian = PM_PACK_BIG_ENDIAN;
161
- *size = PM_PACK_SIZE_16;
162
- length_changed_allowed = false;
163
- break;
164
- case 'N':
165
- *type = PM_PACK_INTEGER;
166
- *signed_type = PM_PACK_UNSIGNED;
167
- *endian = PM_PACK_BIG_ENDIAN;
168
- *size = PM_PACK_SIZE_32;
169
- length_changed_allowed = false;
170
- break;
171
- case 'v':
172
- *type = PM_PACK_INTEGER;
173
- *signed_type = PM_PACK_UNSIGNED;
174
- *endian = PM_PACK_LITTLE_ENDIAN;
175
- *size = PM_PACK_SIZE_16;
176
- length_changed_allowed = false;
177
- break;
178
- case 'V':
179
- *type = PM_PACK_INTEGER;
180
- *signed_type = PM_PACK_UNSIGNED;
181
- *endian = PM_PACK_LITTLE_ENDIAN;
182
- *size = PM_PACK_SIZE_32;
183
- length_changed_allowed = false;
184
- break;
185
- case 'U':
186
- *type = PM_PACK_UTF8;
187
- *signed_type = PM_PACK_SIGNED_NA;
188
- *endian = PM_PACK_ENDIAN_NA;
189
- *size = PM_PACK_SIZE_NA;
190
- break;
191
- case 'w':
192
- *type = PM_PACK_BER;
193
- *signed_type = PM_PACK_SIGNED_NA;
194
- *endian = PM_PACK_ENDIAN_NA;
195
- *size = PM_PACK_SIZE_NA;
196
- break;
197
- case 'D':
198
- case 'd':
199
- *type = PM_PACK_FLOAT;
200
- *signed_type = PM_PACK_SIGNED_NA;
201
- *endian = PM_PACK_NATIVE_ENDIAN;
202
- *size = PM_PACK_SIZE_64;
203
- break;
204
- case 'F':
205
- case 'f':
206
- *type = PM_PACK_FLOAT;
207
- *signed_type = PM_PACK_SIGNED_NA;
208
- *endian = PM_PACK_NATIVE_ENDIAN;
209
- *size = PM_PACK_SIZE_32;
210
- break;
211
- case 'E':
212
- *type = PM_PACK_FLOAT;
213
- *signed_type = PM_PACK_SIGNED_NA;
214
- *endian = PM_PACK_LITTLE_ENDIAN;
215
- *size = PM_PACK_SIZE_64;
216
- break;
217
- case 'e':
218
- *type = PM_PACK_FLOAT;
219
- *signed_type = PM_PACK_SIGNED_NA;
220
- *endian = PM_PACK_LITTLE_ENDIAN;
221
- *size = PM_PACK_SIZE_32;
222
- break;
223
- case 'G':
224
- *type = PM_PACK_FLOAT;
225
- *signed_type = PM_PACK_SIGNED_NA;
226
- *endian = PM_PACK_BIG_ENDIAN;
227
- *size = PM_PACK_SIZE_64;
228
- break;
229
- case 'g':
230
- *type = PM_PACK_FLOAT;
231
- *signed_type = PM_PACK_SIGNED_NA;
232
- *endian = PM_PACK_BIG_ENDIAN;
233
- *size = PM_PACK_SIZE_32;
234
- break;
235
- case 'A':
236
- *type = PM_PACK_STRING_SPACE_PADDED;
237
- *signed_type = PM_PACK_SIGNED_NA;
238
- *endian = PM_PACK_ENDIAN_NA;
239
- *size = PM_PACK_SIZE_NA;
240
- break;
241
- case 'a':
242
- *type = PM_PACK_STRING_NULL_PADDED;
243
- *signed_type = PM_PACK_SIGNED_NA;
244
- *endian = PM_PACK_ENDIAN_NA;
245
- *size = PM_PACK_SIZE_NA;
246
- break;
247
- case 'Z':
248
- *type = PM_PACK_STRING_NULL_TERMINATED;
249
- *signed_type = PM_PACK_SIGNED_NA;
250
- *endian = PM_PACK_ENDIAN_NA;
251
- *size = PM_PACK_SIZE_NA;
252
- break;
253
- case 'B':
254
- *type = PM_PACK_STRING_MSB;
255
- *signed_type = PM_PACK_SIGNED_NA;
256
- *endian = PM_PACK_ENDIAN_NA;
257
- *size = PM_PACK_SIZE_NA;
258
- break;
259
- case 'b':
260
- *type = PM_PACK_STRING_LSB;
261
- *signed_type = PM_PACK_SIGNED_NA;
262
- *endian = PM_PACK_ENDIAN_NA;
263
- *size = PM_PACK_SIZE_NA;
264
- break;
265
- case 'H':
266
- *type = PM_PACK_STRING_HEX_HIGH;
267
- *signed_type = PM_PACK_SIGNED_NA;
268
- *endian = PM_PACK_ENDIAN_NA;
269
- *size = PM_PACK_SIZE_NA;
270
- break;
271
- case 'h':
272
- *type = PM_PACK_STRING_HEX_LOW;
273
- *signed_type = PM_PACK_SIGNED_NA;
274
- *endian = PM_PACK_ENDIAN_NA;
275
- *size = PM_PACK_SIZE_NA;
276
- break;
277
- case 'u':
278
- *type = PM_PACK_STRING_UU;
279
- *signed_type = PM_PACK_SIGNED_NA;
280
- *endian = PM_PACK_ENDIAN_NA;
281
- *size = PM_PACK_SIZE_NA;
282
- break;
283
- case 'M':
284
- *type = PM_PACK_STRING_MIME;
285
- *signed_type = PM_PACK_SIGNED_NA;
286
- *endian = PM_PACK_ENDIAN_NA;
287
- *size = PM_PACK_SIZE_NA;
288
- break;
289
- case 'm':
290
- *type = PM_PACK_STRING_BASE64;
291
- *signed_type = PM_PACK_SIGNED_NA;
292
- *endian = PM_PACK_ENDIAN_NA;
293
- *size = PM_PACK_SIZE_NA;
294
- break;
295
- case 'P':
296
- *type = PM_PACK_STRING_FIXED;
297
- *signed_type = PM_PACK_SIGNED_NA;
298
- *endian = PM_PACK_ENDIAN_NA;
299
- *size = PM_PACK_SIZE_NA;
300
- break;
301
- case 'p':
302
- *type = PM_PACK_STRING_POINTER;
303
- *signed_type = PM_PACK_SIGNED_NA;
304
- *endian = PM_PACK_ENDIAN_NA;
305
- *size = PM_PACK_SIZE_NA;
306
- break;
307
- case '@':
308
- *type = PM_PACK_MOVE;
309
- *signed_type = PM_PACK_SIGNED_NA;
310
- *endian = PM_PACK_ENDIAN_NA;
311
- *size = PM_PACK_SIZE_NA;
312
- break;
313
- case 'X':
314
- *type = PM_PACK_BACK;
315
- *signed_type = PM_PACK_SIGNED_NA;
316
- *endian = PM_PACK_ENDIAN_NA;
317
- *size = PM_PACK_SIZE_NA;
318
- break;
319
- case 'x':
320
- *type = PM_PACK_NULL;
321
- *signed_type = PM_PACK_SIGNED_NA;
322
- *endian = PM_PACK_ENDIAN_NA;
323
- *size = PM_PACK_SIZE_NA;
324
- break;
325
- case '%':
326
- return PM_PACK_ERROR_UNSUPPORTED_DIRECTIVE;
327
- default:
328
- return PM_PACK_ERROR_UNKNOWN_DIRECTIVE;
329
- }
330
-
331
- bool explicit_endian = false;
332
-
333
- while (*format < format_end) {
334
- switch (**format) {
335
- case '_':
336
- case '!':
337
- (*format)++;
338
- if (*type != PM_PACK_INTEGER || !length_changed_allowed) {
339
- return PM_PACK_ERROR_BANG_NOT_ALLOWED;
340
- }
341
- switch (*size) {
342
- case PM_PACK_SIZE_SHORT:
343
- case PM_PACK_SIZE_INT:
344
- case PM_PACK_SIZE_LONG:
345
- case PM_PACK_SIZE_LONG_LONG:
346
- break;
347
- case PM_PACK_SIZE_16:
348
- *size = PM_PACK_SIZE_SHORT;
349
- break;
350
- case PM_PACK_SIZE_32:
351
- *size = PM_PACK_SIZE_LONG;
352
- break;
353
- case PM_PACK_SIZE_64:
354
- *size = PM_PACK_SIZE_LONG_LONG;
355
- break;
356
- case PM_PACK_SIZE_P:
357
- break;
358
- default:
359
- return PM_PACK_ERROR_BANG_NOT_ALLOWED;
360
- }
361
- break;
362
- case '<':
363
- (*format)++;
364
- if (explicit_endian) {
365
- return PM_PACK_ERROR_DOUBLE_ENDIAN;
366
- }
367
- *endian = PM_PACK_LITTLE_ENDIAN;
368
- explicit_endian = true;
369
- break;
370
- case '>':
371
- (*format)++;
372
- if (explicit_endian) {
373
- return PM_PACK_ERROR_DOUBLE_ENDIAN;
374
- }
375
- *endian = PM_PACK_BIG_ENDIAN;
376
- explicit_endian = true;
377
- break;
378
- default:
379
- goto exit_modifier_loop;
380
- }
381
- }
382
-
383
- exit_modifier_loop:
384
-
385
- if (variant == PM_PACK_VARIANT_UNPACK && *type == PM_PACK_MOVE) {
386
- *length = 0;
387
- }
388
-
389
- if (*format < format_end) {
390
- if (**format == '*') {
391
- switch (*type) {
392
- case PM_PACK_NULL:
393
- case PM_PACK_BACK:
394
- switch (variant) {
395
- case PM_PACK_VARIANT_PACK:
396
- *length_type = PM_PACK_LENGTH_FIXED;
397
- break;
398
- case PM_PACK_VARIANT_UNPACK:
399
- *length_type = PM_PACK_LENGTH_MAX;
400
- break;
401
- }
402
- *length = 0;
403
- break;
404
-
405
- case PM_PACK_MOVE:
406
- switch (variant) {
407
- case PM_PACK_VARIANT_PACK:
408
- *length_type = PM_PACK_LENGTH_FIXED;
409
- break;
410
- case PM_PACK_VARIANT_UNPACK:
411
- *length_type = PM_PACK_LENGTH_RELATIVE;
412
- break;
413
- }
414
- *length = 0;
415
- break;
416
-
417
- case PM_PACK_STRING_UU:
418
- *length_type = PM_PACK_LENGTH_FIXED;
419
- *length = 0;
420
- break;
421
-
422
- case PM_PACK_STRING_FIXED:
423
- switch (variant) {
424
- case PM_PACK_VARIANT_PACK:
425
- *length_type = PM_PACK_LENGTH_FIXED;
426
- *length = 1;
427
- break;
428
- case PM_PACK_VARIANT_UNPACK:
429
- *length_type = PM_PACK_LENGTH_MAX;
430
- *length = 0;
431
- break;
432
- }
433
- break;
434
-
435
- case PM_PACK_STRING_MIME:
436
- case PM_PACK_STRING_BASE64:
437
- *length_type = PM_PACK_LENGTH_FIXED;
438
- *length = 1;
439
- break;
440
-
441
- default:
442
- *length_type = PM_PACK_LENGTH_MAX;
443
- *length = 0;
444
- break;
445
- }
446
-
447
- (*format)++;
448
- } else if (**format >= '0' && **format <= '9') {
449
- errno = 0;
450
- *length_type = PM_PACK_LENGTH_FIXED;
451
- #if UINTMAX_MAX < UINT64_MAX
452
- #error "prism's design assumes uintmax_t is at least as large as uint64_t"
453
- #endif
454
- uintmax_t length_max = strtoumaxc(format);
455
- if (errno || length_max > UINT64_MAX) {
456
- return PM_PACK_ERROR_LENGTH_TOO_BIG;
457
- }
458
- *length = (uint64_t) length_max;
459
- }
460
- }
461
-
462
- switch (*type) {
463
- case PM_PACK_UTF8:
464
- /* if encoding is US-ASCII, upgrade to UTF-8 */
465
- if (*encoding == PM_PACK_ENCODING_US_ASCII) {
466
- *encoding = PM_PACK_ENCODING_UTF_8;
467
- }
468
- break;
469
- case PM_PACK_STRING_MIME:
470
- case PM_PACK_STRING_BASE64:
471
- case PM_PACK_STRING_UU:
472
- /* keep US-ASCII (do nothing) */
473
- break;
474
- default:
475
- /* fall back to BINARY */
476
- *encoding = PM_PACK_ENCODING_ASCII_8BIT;
477
- break;
478
- }
479
-
480
- return PM_PACK_OK;
481
- }
482
-
483
- PRISM_EXPORTED_FUNCTION size_t
484
- pm_size_to_native(pm_pack_size size) {
485
- switch (size) {
486
- case PM_PACK_SIZE_SHORT:
487
- return sizeof(short);
488
- case PM_PACK_SIZE_INT:
489
- return sizeof(int);
490
- case PM_PACK_SIZE_LONG:
491
- return sizeof(long);
492
- case PM_PACK_SIZE_LONG_LONG:
493
- return sizeof(long long);
494
- case PM_PACK_SIZE_8:
495
- return 1;
496
- case PM_PACK_SIZE_16:
497
- return 2;
498
- case PM_PACK_SIZE_32:
499
- return 4;
500
- case PM_PACK_SIZE_64:
501
- return 8;
502
- case PM_PACK_SIZE_P:
503
- return sizeof(void *);
504
- default:
505
- return 0;
506
- }
507
- }
508
-
509
- #endif