brakeman 6.2.1 → 6.2.2.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (452) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +4 -0
  3. data/README.md +0 -1
  4. data/bundle/load.rb +14 -15
  5. data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/Changelog.md +6 -0
  6. data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/Gemfile +1 -0
  7. data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/README.md +3 -0
  8. data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/version.rb +1 -1
  9. data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline.rb +9 -1
  10. data/bundle/ruby/{3.1.0 → 3.3.0}/gems/io-console-0.7.2/ext/io/console/Makefile +12 -11
  11. data/bundle/ruby/3.3.0/gems/io-console-0.7.2/lib/io/console.so +0 -0
  12. data/bundle/ruby/{3.1.0/gems/strscan-3.1.0/LICENSE.txt → 3.3.0/gems/racc-1.8.1/BSDL} +1 -1
  13. data/bundle/ruby/{3.1.0/gems/strscan-3.1.0 → 3.3.0/gems/racc-1.8.1}/COPYING +2 -2
  14. data/bundle/ruby/3.3.0/gems/racc-1.8.1/ChangeLog +846 -0
  15. data/bundle/ruby/3.3.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
  16. data/bundle/ruby/3.3.0/gems/racc-1.8.1/README.rdoc +60 -0
  17. data/bundle/ruby/3.3.0/gems/racc-1.8.1/TODO +5 -0
  18. data/bundle/ruby/{3.1.0/gems/strscan-3.1.0/ext/strscan → 3.3.0/gems/racc-1.8.1/ext/racc/cparse}/Makefile +18 -17
  19. data/bundle/ruby/3.3.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +840 -0
  20. data/bundle/ruby/3.3.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +8 -0
  21. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/compat.rb +33 -0
  22. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
  23. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/debugflags.rb +60 -0
  24. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/exception.rb +16 -0
  25. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/grammar.rb +1191 -0
  26. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +667 -0
  27. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/info.rb +18 -0
  28. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/iset.rb +92 -0
  29. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +212 -0
  30. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/parser-text.rb +644 -0
  31. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/parser.rb +630 -0
  32. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +473 -0
  33. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +35 -0
  34. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/state.rb +976 -0
  35. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +311 -0
  36. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/static.rb +5 -0
  37. data/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc.rb +6 -0
  38. data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/config.rb +19 -24
  39. data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/face.rb +1 -1
  40. data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/io/ansi.rb +8 -0
  41. data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/io/windows.rb +24 -14
  42. data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/line_editor.rb +39 -48
  43. data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/terminfo.rb +1 -1
  44. data/bundle/ruby/3.3.0/gems/reline-0.5.10/lib/reline/unicode/east_asian_width.rb +1267 -0
  45. data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/unicode.rb +14 -39
  46. data/bundle/ruby/3.3.0/gems/reline-0.5.10/lib/reline/version.rb +3 -0
  47. data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline.rb +7 -4
  48. data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/NEWS.md +43 -0
  49. data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/attribute.rb +3 -2
  50. data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/document.rb +5 -1
  51. data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/entity.rb +5 -2
  52. data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/parsers/baseparser.rb +9 -4
  53. data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/parsers/pullparser.rb +8 -0
  54. data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/parsers/sax2parser.rb +10 -0
  55. data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/parsers/streamparser.rb +8 -0
  56. data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/rexml.rb +1 -1
  57. data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/text.rb +5 -3
  58. data/lib/brakeman/checks/check_eol_rails.rb +6 -0
  59. data/lib/brakeman/checks/check_execute.rb +28 -0
  60. data/lib/brakeman/version.rb +1 -1
  61. metadata +437 -421
  62. data/bundle/ruby/3.1.0/gems/io-console-0.7.2/ext/io/console/console.o +0 -0
  63. data/bundle/ruby/3.1.0/gems/io-console-0.7.2/ext/io/console/console.so +0 -0
  64. data/bundle/ruby/3.1.0/gems/io-console-0.7.2/lib/io/console.so +0 -0
  65. data/bundle/ruby/3.1.0/gems/reline-0.5.9/lib/reline/unicode/east_asian_width.rb +0 -1196
  66. data/bundle/ruby/3.1.0/gems/reline-0.5.9/lib/reline/version.rb +0 -3
  67. data/bundle/ruby/3.1.0/gems/strscan-3.1.0/ext/strscan/extconf.rb +0 -10
  68. data/bundle/ruby/3.1.0/gems/strscan-3.1.0/ext/strscan/strscan.c +0 -1741
  69. data/bundle/ruby/3.1.0/gems/strscan-3.1.0/ext/strscan/strscan.o +0 -0
  70. data/bundle/ruby/3.1.0/gems/strscan-3.1.0/ext/strscan/strscan.so +0 -0
  71. data/bundle/ruby/3.1.0/gems/strscan-3.1.0/lib/strscan.so +0 -0
  72. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/CHANGES.txt +0 -0
  73. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/MIT-LICENSE +0 -0
  74. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/README.txt +0 -0
  75. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/contrib/erubis +0 -0
  76. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -0
  77. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/contrib/inline-require +0 -0
  78. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/context.rb +0 -0
  79. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -0
  80. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -0
  81. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -0
  82. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -0
  83. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -0
  84. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -0
  85. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -0
  86. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -0
  87. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -0
  88. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -0
  89. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -0
  90. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -0
  91. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -0
  92. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/error.rb +0 -0
  93. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -0
  94. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -0
  95. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -0
  96. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -0
  97. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -0
  98. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -0
  99. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/main.rb +0 -0
  100. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -0
  101. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -0
  102. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/util.rb +0 -0
  103. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis.rb +0 -0
  104. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/setup.rb +0 -0
  105. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/CHANGELOG.md +0 -0
  106. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/FAQ.md +0 -0
  107. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/Gemfile +0 -0
  108. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/MIT-LICENSE +0 -0
  109. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/README.md +0 -0
  110. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/REFERENCE.md +0 -0
  111. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/TODO +0 -0
  112. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/haml.gemspec +0 -0
  113. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/attribute_builder.rb +0 -0
  114. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/attribute_compiler.rb +0 -0
  115. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/attribute_parser.rb +0 -0
  116. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/buffer.rb +0 -0
  117. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/compiler.rb +0 -0
  118. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/engine.rb +0 -0
  119. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/error.rb +0 -0
  120. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/escapable.rb +0 -0
  121. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/exec.rb +0 -0
  122. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/filters.rb +0 -0
  123. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/generator.rb +0 -0
  124. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_extensions.rb +0 -0
  125. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_mods.rb +0 -0
  126. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_xss_mods.rb +0 -0
  127. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/safe_erubi_template.rb +0 -0
  128. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/safe_erubis_template.rb +0 -0
  129. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/xss_mods.rb +0 -0
  130. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers.rb +0 -0
  131. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/options.rb +0 -0
  132. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/parser.rb +0 -0
  133. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/plugin.rb +0 -0
  134. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/railtie.rb +0 -0
  135. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/sass_rails_filter.rb +0 -0
  136. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/template/options.rb +0 -0
  137. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/template.rb +0 -0
  138. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/temple_engine.rb +0 -0
  139. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/temple_line_counter.rb +0 -0
  140. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/util.rb +0 -0
  141. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/version.rb +0 -0
  142. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml.rb +0 -0
  143. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/yard/default/fulldoc/html/css/common.sass +0 -0
  144. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/yard/default/layout/html/footer.erb +0 -0
  145. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/AUTHORS +0 -0
  146. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/COPYING +0 -0
  147. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/LICENSE +0 -0
  148. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/TODO +0 -0
  149. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/highline.gemspec +0 -0
  150. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/builtin_styles.rb +0 -0
  151. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/color_scheme.rb +0 -0
  152. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/compatibility.rb +0 -0
  153. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/custom_errors.rb +0 -0
  154. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/import.rb +0 -0
  155. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/io_console_compatible.rb +0 -0
  156. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/list.rb +0 -0
  157. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/list_renderer.rb +0 -0
  158. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/menu/item.rb +0 -0
  159. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/menu.rb +0 -0
  160. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/paginator.rb +0 -0
  161. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/question/answer_converter.rb +0 -0
  162. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/question.rb +0 -0
  163. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/question_asker.rb +0 -0
  164. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/simulate.rb +0 -0
  165. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/statement.rb +0 -0
  166. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/string.rb +0 -0
  167. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/string_extensions.rb +0 -0
  168. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/style.rb +0 -0
  169. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/template_renderer.rb +0 -0
  170. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/terminal/io_console.rb +0 -0
  171. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/terminal/ncurses.rb +0 -0
  172. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/terminal/unix_stty.rb +0 -0
  173. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/terminal.rb +0 -0
  174. /data/bundle/ruby/{3.1.0/gems/highline-3.1.0 → 3.3.0/gems/highline-3.1.1}/lib/highline/wrapper.rb +0 -0
  175. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/io-console-0.7.2/LICENSE.txt +0 -0
  176. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/io-console-0.7.2/README.md +0 -0
  177. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/io-console-0.7.2/ext/io/console/console.c +0 -0
  178. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/io-console-0.7.2/ext/io/console/extconf.rb +0 -0
  179. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/io-console-0.7.2/ext/io/console/win32_vk.inc +0 -0
  180. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/io-console-0.7.2/lib/io/console/size.rb +0 -0
  181. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/parallel-1.26.3/MIT-LICENSE.txt +0 -0
  182. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/parallel-1.26.3/lib/parallel/version.rb +0 -0
  183. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/parallel-1.26.3/lib/parallel.rb +0 -0
  184. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/BSDL +0 -0
  185. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/COPYING +0 -0
  186. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/README.md +0 -0
  187. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/history.rb +0 -0
  188. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/io/dumb.rb +0 -0
  189. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/io.rb +0 -0
  190. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/key_actor/base.rb +0 -0
  191. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/key_actor/composite.rb +0 -0
  192. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/key_actor/emacs.rb +0 -0
  193. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/key_actor/vi_command.rb +0 -0
  194. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/key_actor/vi_insert.rb +0 -0
  195. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/key_actor.rb +0 -0
  196. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/key_stroke.rb +0 -0
  197. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/lib/reline/kill_ring.rb +0 -0
  198. /data/bundle/ruby/{3.1.0/gems/reline-0.5.9 → 3.3.0/gems/reline-0.5.10}/license_of_rb-readline +0 -0
  199. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/LICENSE.txt +0 -0
  200. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/README.md +0 -0
  201. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/attlistdecl.rb +0 -0
  202. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/cdata.rb +0 -0
  203. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/child.rb +0 -0
  204. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/comment.rb +0 -0
  205. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/doctype.rb +0 -0
  206. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/dtd/attlistdecl.rb +0 -0
  207. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/dtd/dtd.rb +0 -0
  208. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/dtd/elementdecl.rb +0 -0
  209. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/dtd/entitydecl.rb +0 -0
  210. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/dtd/notationdecl.rb +0 -0
  211. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/element.rb +0 -0
  212. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/encoding.rb +0 -0
  213. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/formatters/default.rb +0 -0
  214. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/formatters/pretty.rb +0 -0
  215. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/formatters/transitive.rb +0 -0
  216. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/functions.rb +0 -0
  217. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/instruction.rb +0 -0
  218. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/light/node.rb +0 -0
  219. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/namespace.rb +0 -0
  220. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/node.rb +0 -0
  221. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/output.rb +0 -0
  222. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/parent.rb +0 -0
  223. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/parseexception.rb +0 -0
  224. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/parsers/lightparser.rb +0 -0
  225. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/parsers/treeparser.rb +0 -0
  226. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/parsers/ultralightparser.rb +0 -0
  227. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/parsers/xpathparser.rb +0 -0
  228. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/quickpath.rb +0 -0
  229. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/sax2listener.rb +0 -0
  230. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/security.rb +0 -0
  231. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/source.rb +0 -0
  232. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/streamlistener.rb +0 -0
  233. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/undefinednamespaceexception.rb +0 -0
  234. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/validation/relaxng.rb +0 -0
  235. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/validation/validation.rb +0 -0
  236. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/validation/validationexception.rb +0 -0
  237. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/xmldecl.rb +0 -0
  238. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/xmltokens.rb +0 -0
  239. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/xpath.rb +0 -0
  240. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml/xpath_parser.rb +0 -0
  241. /data/bundle/ruby/{3.1.0/gems/rexml-3.3.6 → 3.3.0/gems/rexml-3.3.8}/lib/rexml.rb +0 -0
  242. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby2ruby-2.5.1/History.rdoc +0 -0
  243. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby2ruby-2.5.1/Manifest.txt +0 -0
  244. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby2ruby-2.5.1/README.rdoc +0 -0
  245. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby2ruby-2.5.1/lib/ruby2ruby.rb +0 -0
  246. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/History.rdoc +0 -0
  247. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/Manifest.txt +0 -0
  248. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/README.rdoc +0 -0
  249. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/compare/normalize.rb +0 -0
  250. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/debugging.md +0 -0
  251. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/gauntlet.md +0 -0
  252. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/rp_extensions.rb +0 -0
  253. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/rp_stringscanner.rb +0 -0
  254. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby20_parser.rb +0 -0
  255. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby20_parser.y +0 -0
  256. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby21_parser.rb +0 -0
  257. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby21_parser.y +0 -0
  258. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby22_parser.rb +0 -0
  259. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby22_parser.y +0 -0
  260. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby23_parser.rb +0 -0
  261. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby23_parser.y +0 -0
  262. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby24_parser.rb +0 -0
  263. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby24_parser.y +0 -0
  264. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby25_parser.rb +0 -0
  265. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby25_parser.y +0 -0
  266. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby26_parser.rb +0 -0
  267. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby26_parser.y +0 -0
  268. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby27_parser.rb +0 -0
  269. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby27_parser.y +0 -0
  270. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby30_parser.rb +0 -0
  271. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby30_parser.y +0 -0
  272. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby31_parser.rb +0 -0
  273. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby31_parser.y +0 -0
  274. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb +0 -0
  275. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby32_parser.y +0 -0
  276. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby3_parser.yy +0 -0
  277. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer.rb +0 -0
  278. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer.rex +0 -0
  279. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer.rex.rb +0 -0
  280. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby_lexer_strings.rb +0 -0
  281. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby_parser.rb +0 -0
  282. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby_parser.yy +0 -0
  283. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/lib/ruby_parser_extras.rb +0 -0
  284. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/tools/munge.rb +0 -0
  285. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby_parser-3.20.3/tools/ripper.rb +0 -0
  286. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/sexp_processor-4.17.2/History.rdoc +0 -0
  287. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/sexp_processor-4.17.2/Manifest.txt +0 -0
  288. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/sexp_processor-4.17.2/README.rdoc +0 -0
  289. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/sexp_processor-4.17.2/lib/composite_sexp_processor.rb +0 -0
  290. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/sexp_processor-4.17.2/lib/pt_testcase.rb +0 -0
  291. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/sexp_processor-4.17.2/lib/sexp.rb +0 -0
  292. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/sexp_processor-4.17.2/lib/sexp_matcher.rb +0 -0
  293. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/sexp_processor-4.17.2/lib/sexp_processor.rb +0 -0
  294. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/sexp_processor-4.17.2/lib/strict_sexp.rb +0 -0
  295. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/sexp_processor-4.17.2/lib/unique.rb +0 -0
  296. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/CHANGES +0 -0
  297. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/Gemfile +0 -0
  298. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/LICENSE +0 -0
  299. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/README.jp.md +0 -0
  300. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/README.md +0 -0
  301. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/code_attributes.rb +0 -0
  302. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/command.rb +0 -0
  303. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/controls.rb +0 -0
  304. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/do_inserter.rb +0 -0
  305. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/embedded.rb +0 -0
  306. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/end_inserter.rb +0 -0
  307. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/engine.rb +0 -0
  308. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/erb_converter.rb +0 -0
  309. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/filter.rb +0 -0
  310. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/grammar.rb +0 -0
  311. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/include.rb +0 -0
  312. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/interpolation.rb +0 -0
  313. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/logic_less/context.rb +0 -0
  314. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/logic_less/filter.rb +0 -0
  315. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/logic_less.rb +0 -0
  316. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/parser.rb +0 -0
  317. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/railtie.rb +0 -0
  318. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/smart/escaper.rb +0 -0
  319. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/smart/filter.rb +0 -0
  320. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/smart/parser.rb +0 -0
  321. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/smart.rb +0 -0
  322. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/splat/builder.rb +0 -0
  323. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/splat/filter.rb +0 -0
  324. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/template.rb +0 -0
  325. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/translator.rb +0 -0
  326. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim/version.rb +0 -0
  327. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/lib/slim.rb +0 -0
  328. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-5.2.1/slim.gemspec +0 -0
  329. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/CHANGES +0 -0
  330. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/EXPRESSIONS.md +0 -0
  331. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/Gemfile +0 -0
  332. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/LICENSE +0 -0
  333. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/README.md +0 -0
  334. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/engine.rb +0 -0
  335. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/erb/engine.rb +0 -0
  336. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/erb/parser.rb +0 -0
  337. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/erb/template.rb +0 -0
  338. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/erb/trimming.rb +0 -0
  339. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/exceptions.rb +0 -0
  340. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filter.rb +0 -0
  341. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/ambles.rb +0 -0
  342. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/code_merger.rb +0 -0
  343. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/control_flow.rb +0 -0
  344. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/dynamic_inliner.rb +0 -0
  345. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/dynamic_merger.rb +0 -0
  346. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/encoding.rb +0 -0
  347. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/eraser.rb +0 -0
  348. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/escapable.rb +0 -0
  349. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/multi_flattener.rb +0 -0
  350. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/remove_bom.rb +0 -0
  351. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/static_analyzer.rb +0 -0
  352. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/static_merger.rb +0 -0
  353. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/string_splitter.rb +0 -0
  354. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/filters/validator.rb +0 -0
  355. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/generator.rb +0 -0
  356. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/generators/array.rb +0 -0
  357. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/generators/array_buffer.rb +0 -0
  358. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/generators/erb.rb +0 -0
  359. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/generators/rails_output_buffer.rb +0 -0
  360. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/generators/string_buffer.rb +0 -0
  361. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/grammar.rb +0 -0
  362. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/html/attribute_merger.rb +0 -0
  363. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/html/attribute_remover.rb +0 -0
  364. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/html/attribute_sorter.rb +0 -0
  365. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/html/dispatcher.rb +0 -0
  366. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/html/fast.rb +0 -0
  367. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/html/filter.rb +0 -0
  368. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/html/pretty.rb +0 -0
  369. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/html/safe.rb +0 -0
  370. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/map.rb +0 -0
  371. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/mixins/dispatcher.rb +0 -0
  372. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/mixins/engine_dsl.rb +0 -0
  373. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/mixins/grammar_dsl.rb +0 -0
  374. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/mixins/options.rb +0 -0
  375. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/mixins/template.rb +0 -0
  376. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/parser.rb +0 -0
  377. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/static_analyzer.rb +0 -0
  378. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/templates/rails.rb +0 -0
  379. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/templates/tilt.rb +0 -0
  380. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/templates.rb +0 -0
  381. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/utils.rb +0 -0
  382. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple/version.rb +0 -0
  383. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/lib/temple.rb +0 -0
  384. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.10.3/temple.gemspec +0 -0
  385. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/Gemfile +0 -0
  386. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/History.rdoc +0 -0
  387. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/LICENSE.txt +0 -0
  388. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/Manifest +0 -0
  389. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/README.rdoc +0 -0
  390. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/Todo.rdoc +0 -0
  391. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/cell.rb +0 -0
  392. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/import.rb +0 -0
  393. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/row.rb +0 -0
  394. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb +0 -0
  395. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/style.rb +0 -0
  396. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/table.rb +0 -0
  397. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/table_helper.rb +0 -0
  398. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/version.rb +0 -0
  399. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table.rb +0 -0
  400. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/terminal-table.gemspec +0 -0
  401. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/COPYING +0 -0
  402. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/_emacs_org.rb +0 -0
  403. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/_handlebars.rb +0 -0
  404. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/_jbuilder.rb +0 -0
  405. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/_org.rb +0 -0
  406. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/asciidoc.rb +0 -0
  407. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/babel.rb +0 -0
  408. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/builder.rb +0 -0
  409. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/cli.rb +0 -0
  410. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/coffee.rb +0 -0
  411. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/commonmarker.rb +0 -0
  412. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/creole.rb +0 -0
  413. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/csv.rb +0 -0
  414. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/erb.rb +0 -0
  415. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/erubi.rb +0 -0
  416. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/erubis.rb +0 -0
  417. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/etanni.rb +0 -0
  418. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/haml.rb +0 -0
  419. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/kramdown.rb +0 -0
  420. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/liquid.rb +0 -0
  421. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/livescript.rb +0 -0
  422. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/mapping.rb +0 -0
  423. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/markaby.rb +0 -0
  424. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/maruku.rb +0 -0
  425. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/nokogiri.rb +0 -0
  426. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/pandoc.rb +0 -0
  427. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/pipeline.rb +0 -0
  428. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/plain.rb +0 -0
  429. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/prawn.rb +0 -0
  430. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/radius.rb +0 -0
  431. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/rdiscount.rb +0 -0
  432. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/rdoc.rb +0 -0
  433. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/redcarpet.rb +0 -0
  434. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/redcloth.rb +0 -0
  435. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/rst-pandoc.rb +0 -0
  436. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/sass.rb +0 -0
  437. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/slim.rb +0 -0
  438. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/string.rb +0 -0
  439. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/template.rb +0 -0
  440. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/typescript.rb +0 -0
  441. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/wikicloth.rb +0 -0
  442. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt/yajl.rb +0 -0
  443. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.4.0/lib/tilt.rb +0 -0
  444. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/CHANGELOG.md +0 -0
  445. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/MIT-LICENSE.txt +0 -0
  446. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/README.md +0 -0
  447. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/data/display_width.marshal.gz +0 -0
  448. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width/constants.rb +0 -0
  449. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width/index.rb +0 -0
  450. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width/no_string_ext.rb +0 -0
  451. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width/string_ext.rb +0 -0
  452. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width.rb +0 -0
@@ -0,0 +1,840 @@
1
+ /*
2
+
3
+ cparse.c -- Racc Runtime Core
4
+
5
+ Copyright (c) 1999-2006 Minero Aoki
6
+
7
+ This library is free software.
8
+ You can distribute/modify this program under the same terms of ruby.
9
+
10
+ */
11
+
12
+ #include <ruby.h>
13
+
14
+ #ifndef FALSE
15
+ #define FALSE 0
16
+ #endif
17
+ #ifndef TRUE
18
+ #define TRUE 1
19
+ #endif
20
+
21
+ /* -----------------------------------------------------------------------
22
+ Important Constants
23
+ ----------------------------------------------------------------------- */
24
+
25
+ #define RACC_VERSION STRINGIZE(RACC_INFO_VERSION)
26
+
27
+ #define DEFAULT_TOKEN -1
28
+ #define ERROR_TOKEN 1
29
+ #define FINAL_TOKEN 0
30
+
31
+ #define vDEFAULT_TOKEN INT2FIX(DEFAULT_TOKEN)
32
+ #define vERROR_TOKEN INT2FIX(ERROR_TOKEN)
33
+ #define vFINAL_TOKEN INT2FIX(FINAL_TOKEN)
34
+
35
+ /* -----------------------------------------------------------------------
36
+ File Local Variables
37
+ ----------------------------------------------------------------------- */
38
+
39
+ static VALUE RaccBug;
40
+ static VALUE CparseParams;
41
+
42
+ static ID id_yydebug;
43
+ static ID id_nexttoken;
44
+ static ID id_onerror;
45
+ static ID id_noreduce;
46
+ static ID id_errstatus;
47
+
48
+ static ID id_d_shift;
49
+ static ID id_d_reduce;
50
+ static ID id_d_accept;
51
+ static ID id_d_read_token;
52
+ static ID id_d_next_state;
53
+ static ID id_d_e_pop;
54
+
55
+ /* -----------------------------------------------------------------------
56
+ Utils
57
+ ----------------------------------------------------------------------- */
58
+
59
+ /* For backward compatibility */
60
+ #ifndef ID2SYM
61
+ # define ID2SYM(i) ULONG2NUM(i)
62
+ #endif
63
+ #ifndef SYM2ID
64
+ # define SYM2ID(v) ((ID)NUM2ULONG(v))
65
+ #endif
66
+ #ifndef SYMBOL_P
67
+ # define SYMBOL_P(v) FIXNUM_P(v)
68
+ #endif
69
+ #ifndef LONG2NUM
70
+ # define LONG2NUM(i) INT2NUM(i)
71
+ #endif
72
+
73
+ static ID value_to_id(VALUE v);
74
+ static inline long num_to_long(VALUE n);
75
+
76
+ static ID
77
+ value_to_id(VALUE v)
78
+ {
79
+ if (! SYMBOL_P(v)) {
80
+ rb_raise(rb_eTypeError, "not symbol");
81
+ }
82
+ return SYM2ID(v);
83
+ }
84
+
85
+ static inline long
86
+ num_to_long(VALUE n)
87
+ {
88
+ return NUM2LONG(n);
89
+ }
90
+
91
+ #define AREF(s, idx) \
92
+ ((0 <= idx && idx < RARRAY_LEN(s)) ? rb_ary_entry(s, idx) : Qnil)
93
+
94
+ /* -----------------------------------------------------------------------
95
+ Parser Stack Interfaces
96
+ ----------------------------------------------------------------------- */
97
+
98
+ static VALUE get_stack_tail(VALUE stack, long len);
99
+ static void cut_stack_tail(VALUE stack, long len);
100
+
101
+ static VALUE
102
+ get_stack_tail(VALUE stack, long len)
103
+ {
104
+ if (len < 0) return Qnil; /* system error */
105
+ if (len > RARRAY_LEN(stack)) len = RARRAY_LEN(stack);
106
+ return rb_ary_subseq(stack, RARRAY_LEN(stack) - len, len);
107
+ }
108
+
109
+ static void
110
+ cut_stack_tail(VALUE stack, long len)
111
+ {
112
+ while (len > 0) {
113
+ rb_ary_pop(stack);
114
+ len--;
115
+ }
116
+ }
117
+
118
+ #define STACK_INIT_LEN 64
119
+ #define NEW_STACK() rb_ary_new2(STACK_INIT_LEN)
120
+ #define PUSH(s, i) rb_ary_store(s, RARRAY_LEN(s), i)
121
+ #define POP(s) rb_ary_pop(s)
122
+ #define LAST_I(s) \
123
+ ((RARRAY_LEN(s) > 0) ? rb_ary_entry(s, RARRAY_LEN(s) - 1) : Qnil)
124
+ #define GET_TAIL(s, len) get_stack_tail(s, len)
125
+ #define CUT_TAIL(s, len) cut_stack_tail(s, len)
126
+
127
+ /* -----------------------------------------------------------------------
128
+ struct cparse_params
129
+ ----------------------------------------------------------------------- */
130
+
131
+ struct cparse_params {
132
+ VALUE value_v; /* VALUE version of this struct */
133
+
134
+ VALUE parser; /* parser object */
135
+
136
+ int lex_is_iterator;
137
+ VALUE lexer; /* scanner object */
138
+ ID lexmid; /* name of scanner method (must be an iterator) */
139
+
140
+ /* State transition tables (immutable)
141
+ Data structure is from Dragon Book 4.9 */
142
+ /* action table */
143
+ VALUE action_table;
144
+ VALUE action_check;
145
+ VALUE action_default;
146
+ VALUE action_pointer;
147
+ /* goto table */
148
+ VALUE goto_table;
149
+ VALUE goto_check;
150
+ VALUE goto_default;
151
+ VALUE goto_pointer;
152
+
153
+ long nt_base; /* NonTerminal BASE index */
154
+ VALUE reduce_table; /* reduce data table */
155
+ VALUE token_table; /* token conversion table */
156
+
157
+ /* parser stacks and parameters */
158
+ VALUE state;
159
+ long curstate;
160
+ VALUE vstack;
161
+ VALUE tstack;
162
+ VALUE t;
163
+ long shift_n;
164
+ long reduce_n;
165
+ long ruleno;
166
+
167
+ long errstatus; /* nonzero in error recovering mode */
168
+ long nerr; /* number of error */
169
+
170
+ int use_result_var;
171
+
172
+ VALUE retval; /* return value of parser routine */
173
+ long fin; /* parse result status */
174
+ #define CP_FIN_ACCEPT 1
175
+ #define CP_FIN_EOT 2
176
+ #define CP_FIN_CANTPOP 3
177
+
178
+ int debug; /* user level debug */
179
+ int sys_debug; /* system level debug */
180
+
181
+ long i; /* table index */
182
+ };
183
+
184
+ /* -----------------------------------------------------------------------
185
+ Parser Main Routines
186
+ ----------------------------------------------------------------------- */
187
+
188
+ static VALUE racc_cparse(VALUE parser, VALUE arg, VALUE sysdebug);
189
+ static VALUE racc_yyparse(VALUE parser, VALUE lexer, VALUE lexmid,
190
+ VALUE arg, VALUE sysdebug);
191
+
192
+ static void call_lexer(struct cparse_params *v);
193
+ static VALUE lexer_i(RB_BLOCK_CALL_FUNC_ARGLIST(block_args, data));
194
+
195
+ static VALUE assert_array(VALUE a);
196
+ static long assert_integer(VALUE n);
197
+ static VALUE assert_hash(VALUE h);
198
+ static VALUE initialize_params(VALUE vparams, VALUE parser, VALUE arg,
199
+ VALUE lexer, VALUE lexmid);
200
+ static void cparse_params_mark(void *ptr);
201
+ static size_t cparse_params_memsize(const void *ptr);
202
+
203
+ static void parse_main(struct cparse_params *v,
204
+ VALUE tok, VALUE val, int resume);
205
+ static void extract_user_token(struct cparse_params *v,
206
+ VALUE block_args, VALUE *tok, VALUE *val);
207
+ static void shift(struct cparse_params* v, long act, VALUE tok, VALUE val);
208
+ static int reduce(struct cparse_params* v, long act);
209
+ static rb_block_call_func reduce0;
210
+
211
+ #ifdef DEBUG
212
+ # define D_puts(msg) if (v->sys_debug) puts(msg)
213
+ # define D_printf(fmt,arg) if (v->sys_debug) printf(fmt,arg)
214
+ #else
215
+ # define D_puts(msg)
216
+ # define D_printf(fmt,arg)
217
+ #endif
218
+
219
+ #undef RUBY_UNTYPED_DATA_WARNING
220
+ #define RUBY_UNTYPED_DATA_WARNING 1
221
+
222
+ static const rb_data_type_t cparse_params_type = {
223
+ "racc/cparse",
224
+ {
225
+ cparse_params_mark,
226
+ RUBY_TYPED_DEFAULT_FREE,
227
+ cparse_params_memsize,
228
+ },
229
+ #ifdef RUBY_TYPED_FREE_IMMEDIATELY
230
+ 0, 0,
231
+ RUBY_TYPED_FREE_IMMEDIATELY,
232
+ #endif
233
+ };
234
+
235
+ static VALUE
236
+ racc_cparse(VALUE parser, VALUE arg, VALUE sysdebug)
237
+ {
238
+ VALUE vparams;
239
+ struct cparse_params *v;
240
+
241
+ vparams = TypedData_Make_Struct(CparseParams, struct cparse_params,
242
+ &cparse_params_type, v);
243
+ D_puts("starting cparse");
244
+ v->sys_debug = RTEST(sysdebug);
245
+ vparams = initialize_params(vparams, parser, arg, Qnil, Qnil);
246
+ v->lex_is_iterator = FALSE;
247
+ parse_main(v, Qnil, Qnil, 0);
248
+
249
+ RB_GC_GUARD(vparams);
250
+ return v->retval;
251
+ }
252
+
253
+ static VALUE
254
+ racc_yyparse(VALUE parser, VALUE lexer, VALUE lexmid, VALUE arg, VALUE sysdebug)
255
+ {
256
+ VALUE vparams;
257
+ struct cparse_params *v;
258
+
259
+ vparams = TypedData_Make_Struct(CparseParams, struct cparse_params,
260
+ &cparse_params_type, v);
261
+ v->sys_debug = RTEST(sysdebug);
262
+ D_puts("start C yyparse");
263
+ vparams = initialize_params(vparams, parser, arg, lexer, lexmid);
264
+ v->lex_is_iterator = TRUE;
265
+ D_puts("params initialized");
266
+ parse_main(v, Qnil, Qnil, 0);
267
+ call_lexer(v);
268
+ if (!v->fin) {
269
+ rb_raise(rb_eArgError, "%s() is finished before EndOfToken",
270
+ rb_id2name(v->lexmid));
271
+ }
272
+
273
+ RB_GC_GUARD(vparams);
274
+ return v->retval;
275
+ }
276
+
277
+ static void
278
+ call_lexer(struct cparse_params *v)
279
+ {
280
+ rb_block_call(v->lexer, v->lexmid, 0, NULL, lexer_i, v->value_v);
281
+ }
282
+
283
+ static VALUE
284
+ lexer_i(RB_BLOCK_CALL_FUNC_ARGLIST(block_args, data))
285
+ {
286
+ struct cparse_params *v = rb_check_typeddata(data, &cparse_params_type);
287
+ VALUE tok, val;
288
+
289
+ if (v->fin)
290
+ rb_raise(rb_eArgError, "extra token after EndOfToken");
291
+ extract_user_token(v, block_args, &tok, &val);
292
+ parse_main(v, tok, val, 1);
293
+ if (v->fin && v->fin != CP_FIN_ACCEPT)
294
+ rb_iter_break();
295
+ return Qnil;
296
+ }
297
+
298
+ static VALUE
299
+ assert_array(VALUE a)
300
+ {
301
+ Check_Type(a, T_ARRAY);
302
+ return a;
303
+ }
304
+
305
+ static VALUE
306
+ assert_hash(VALUE h)
307
+ {
308
+ Check_Type(h, T_HASH);
309
+ return h;
310
+ }
311
+
312
+ static long
313
+ assert_integer(VALUE n)
314
+ {
315
+ return NUM2LONG(n);
316
+ }
317
+
318
+ static VALUE
319
+ initialize_params(VALUE vparams, VALUE parser, VALUE arg, VALUE lexer, VALUE lexmid)
320
+ {
321
+ struct cparse_params *v = rb_check_typeddata(vparams, &cparse_params_type);
322
+
323
+ v->value_v = vparams;
324
+ v->parser = parser;
325
+ v->lexer = lexer;
326
+ if (! NIL_P(lexmid))
327
+ v->lexmid = value_to_id(lexmid);
328
+
329
+ v->debug = RTEST(rb_ivar_get(parser, id_yydebug));
330
+
331
+ Check_Type(arg, T_ARRAY);
332
+ if (!(13 <= RARRAY_LEN(arg) && RARRAY_LEN(arg) <= 14))
333
+ rb_raise(RaccBug, "[Racc Bug] wrong arg.size %ld", RARRAY_LEN(arg));
334
+ v->action_table = assert_array (rb_ary_entry(arg, 0));
335
+ v->action_check = assert_array (rb_ary_entry(arg, 1));
336
+ v->action_default = assert_array (rb_ary_entry(arg, 2));
337
+ v->action_pointer = assert_array (rb_ary_entry(arg, 3));
338
+ v->goto_table = assert_array (rb_ary_entry(arg, 4));
339
+ v->goto_check = assert_array (rb_ary_entry(arg, 5));
340
+ v->goto_default = assert_array (rb_ary_entry(arg, 6));
341
+ v->goto_pointer = assert_array (rb_ary_entry(arg, 7));
342
+ v->nt_base = assert_integer(rb_ary_entry(arg, 8));
343
+ v->reduce_table = assert_array (rb_ary_entry(arg, 9));
344
+ v->token_table = assert_hash (rb_ary_entry(arg, 10));
345
+ v->shift_n = assert_integer(rb_ary_entry(arg, 11));
346
+ v->reduce_n = assert_integer(rb_ary_entry(arg, 12));
347
+ if (RARRAY_LEN(arg) > 13) {
348
+ v->use_result_var = RTEST(rb_ary_entry(arg, 13));
349
+ }
350
+ else {
351
+ v->use_result_var = TRUE;
352
+ }
353
+
354
+ v->tstack = v->debug ? NEW_STACK() : Qnil;
355
+ v->vstack = NEW_STACK();
356
+ v->state = NEW_STACK();
357
+ v->curstate = 0;
358
+ PUSH(v->state, INT2FIX(0));
359
+ v->t = INT2FIX(FINAL_TOKEN + 1); /* must not init to FINAL_TOKEN */
360
+ v->nerr = 0;
361
+ v->errstatus = 0;
362
+ rb_ivar_set(parser, id_errstatus, LONG2NUM(v->errstatus));
363
+
364
+ v->retval = Qnil;
365
+ v->fin = 0;
366
+
367
+ v->lex_is_iterator = FALSE;
368
+
369
+ rb_iv_set(parser, "@vstack", v->vstack);
370
+ if (v->debug) {
371
+ rb_iv_set(parser, "@tstack", v->tstack);
372
+ }
373
+ else {
374
+ rb_iv_set(parser, "@tstack", Qnil);
375
+ }
376
+
377
+ return vparams;
378
+ }
379
+
380
+ static void
381
+ cparse_params_mark(void *ptr)
382
+ {
383
+ struct cparse_params *v = (struct cparse_params*)ptr;
384
+
385
+ rb_gc_mark(v->value_v);
386
+ rb_gc_mark(v->parser);
387
+ rb_gc_mark(v->lexer);
388
+ rb_gc_mark(v->action_table);
389
+ rb_gc_mark(v->action_check);
390
+ rb_gc_mark(v->action_default);
391
+ rb_gc_mark(v->action_pointer);
392
+ rb_gc_mark(v->goto_table);
393
+ rb_gc_mark(v->goto_check);
394
+ rb_gc_mark(v->goto_default);
395
+ rb_gc_mark(v->goto_pointer);
396
+ rb_gc_mark(v->reduce_table);
397
+ rb_gc_mark(v->token_table);
398
+ rb_gc_mark(v->state);
399
+ rb_gc_mark(v->vstack);
400
+ rb_gc_mark(v->tstack);
401
+ rb_gc_mark(v->t);
402
+ rb_gc_mark(v->retval);
403
+ }
404
+
405
+ static size_t
406
+ cparse_params_memsize(const void *ptr)
407
+ {
408
+ return sizeof(struct cparse_params);
409
+ }
410
+
411
+ static void
412
+ extract_user_token(struct cparse_params *v, VALUE block_args,
413
+ VALUE *tok, VALUE *val)
414
+ {
415
+ if (NIL_P(block_args)) {
416
+ /* EOF */
417
+ *tok = Qfalse;
418
+ *val = rb_str_new("$", 1);
419
+ return;
420
+ }
421
+
422
+ if (!RB_TYPE_P(block_args, T_ARRAY)) {
423
+ rb_raise(rb_eTypeError,
424
+ "%s() %s %"PRIsVALUE" (must be Array[2])",
425
+ v->lex_is_iterator ? rb_id2name(v->lexmid) : "next_token",
426
+ v->lex_is_iterator ? "yielded" : "returned",
427
+ rb_obj_class(block_args));
428
+ }
429
+ if (RARRAY_LEN(block_args) != 2) {
430
+ rb_raise(rb_eArgError,
431
+ "%s() %s wrong size of array (%ld for 2)",
432
+ v->lex_is_iterator ? rb_id2name(v->lexmid) : "next_token",
433
+ v->lex_is_iterator ? "yielded" : "returned",
434
+ RARRAY_LEN(block_args));
435
+ }
436
+ *tok = AREF(block_args, 0);
437
+ *val = AREF(block_args, 1);
438
+ }
439
+
440
+ #define SHIFT(v,act,tok,val) shift(v,act,tok,val)
441
+ #define REDUCE(v,act) do {\
442
+ switch (reduce(v,act)) { \
443
+ case 0: /* normal */ \
444
+ break; \
445
+ case 1: /* yyerror */ \
446
+ goto user_yyerror; \
447
+ case 2: /* yyaccept */ \
448
+ D_puts("u accept"); \
449
+ goto accept; \
450
+ default: \
451
+ break; \
452
+ } \
453
+ } while (0)
454
+
455
+ static void
456
+ parse_main(struct cparse_params *v, VALUE tok, VALUE val, int resume)
457
+ {
458
+ long i; /* table index */
459
+ long act; /* action type */
460
+ VALUE act_value; /* action type, VALUE version */
461
+ int read_next = 1; /* true if we need to read next token */
462
+ VALUE tmp;
463
+
464
+ if (resume)
465
+ goto resume;
466
+
467
+ while (1) {
468
+ D_puts("");
469
+ D_puts("---- enter new loop ----");
470
+ D_puts("");
471
+
472
+ D_printf("(act) k1=%ld\n", v->curstate);
473
+ tmp = AREF(v->action_pointer, v->curstate);
474
+ if (NIL_P(tmp)) goto notfound;
475
+ D_puts("(act) pointer[k1] ok");
476
+ i = NUM2LONG(tmp);
477
+
478
+ D_printf("read_next=%d\n", read_next);
479
+ if (read_next && (v->t != vFINAL_TOKEN)) {
480
+ if (v->lex_is_iterator) {
481
+ D_puts("resuming...");
482
+ if (v->fin) rb_raise(rb_eArgError, "token given after EOF");
483
+ v->i = i; /* save i */
484
+ return;
485
+ resume:
486
+ D_puts("resumed");
487
+ i = v->i; /* load i */
488
+ }
489
+ else {
490
+ D_puts("next_token");
491
+ tmp = rb_funcall(v->parser, id_nexttoken, 0);
492
+ extract_user_token(v, tmp, &tok, &val);
493
+ }
494
+ /* convert token */
495
+ v->t = rb_hash_aref(v->token_table, tok);
496
+ if (NIL_P(v->t)) {
497
+ v->t = vERROR_TOKEN;
498
+ }
499
+ D_printf("(act) t(k2)=%ld\n", NUM2LONG(v->t));
500
+ if (v->debug) {
501
+ rb_funcall(v->parser, id_d_read_token,
502
+ 3, v->t, tok, val);
503
+ }
504
+ }
505
+ read_next = 0;
506
+
507
+ i += NUM2LONG(v->t);
508
+ D_printf("(act) i=%ld\n", i);
509
+ if (i < 0) goto notfound;
510
+
511
+ act_value = AREF(v->action_table, i);
512
+ if (NIL_P(act_value)) goto notfound;
513
+ act = NUM2LONG(act_value);
514
+ D_printf("(act) table[i]=%ld\n", act);
515
+
516
+ tmp = AREF(v->action_check, i);
517
+ if (NIL_P(tmp)) goto notfound;
518
+ if (NUM2LONG(tmp) != v->curstate) goto notfound;
519
+ D_printf("(act) check[i]=%ld\n", NUM2LONG(tmp));
520
+
521
+ D_puts("(act) found");
522
+ act_fixed:
523
+ D_printf("act=%ld\n", act);
524
+ goto handle_act;
525
+
526
+ notfound:
527
+ D_puts("(act) not found: use default");
528
+ act_value = AREF(v->action_default, v->curstate);
529
+ act = NUM2LONG(act_value);
530
+ goto act_fixed;
531
+
532
+
533
+ handle_act:
534
+ if (act > 0 && act < v->shift_n) {
535
+ D_puts("shift");
536
+ if (v->errstatus > 0) {
537
+ v->errstatus--;
538
+ rb_ivar_set(v->parser, id_errstatus, LONG2NUM(v->errstatus));
539
+ }
540
+ SHIFT(v, act, v->t, val);
541
+ read_next = 1;
542
+ }
543
+ else if (act < 0 && act > -(v->reduce_n)) {
544
+ D_puts("reduce");
545
+ REDUCE(v, act);
546
+ }
547
+ else if (act == -(v->reduce_n)) {
548
+ goto error;
549
+ error_recovered:
550
+ ; /* goto label requires stmt */
551
+ }
552
+ else if (act == v->shift_n) {
553
+ D_puts("accept");
554
+ goto accept;
555
+ }
556
+ else {
557
+ rb_raise(RaccBug, "[Racc Bug] unknown act value %ld", act);
558
+ }
559
+
560
+ if (v->debug) {
561
+ rb_funcall(v->parser, id_d_next_state,
562
+ 2, LONG2NUM(v->curstate), v->state);
563
+ }
564
+ }
565
+ /* not reach */
566
+
567
+
568
+ accept:
569
+ if (v->debug) rb_funcall(v->parser, id_d_accept, 0);
570
+ v->retval = rb_ary_entry(v->vstack, 0);
571
+ v->fin = CP_FIN_ACCEPT;
572
+ return;
573
+
574
+
575
+ error:
576
+ D_printf("error detected, status=%ld\n", v->errstatus);
577
+ if (v->errstatus == 0) {
578
+ v->nerr++;
579
+ rb_funcall(v->parser, id_onerror,
580
+ 3, v->t, val, v->vstack);
581
+ }
582
+ user_yyerror:
583
+ if (v->errstatus == 3) {
584
+ if (v->t == vFINAL_TOKEN) {
585
+ v->retval = Qnil;
586
+ v->fin = CP_FIN_EOT;
587
+ return;
588
+ }
589
+ read_next = 1;
590
+ }
591
+ v->errstatus = 3;
592
+ rb_ivar_set(v->parser, id_errstatus, LONG2NUM(v->errstatus));
593
+
594
+ /* check if we can shift/reduce error token */
595
+ D_printf("(err) k1=%ld\n", v->curstate);
596
+ D_printf("(err) k2=%d (error)\n", ERROR_TOKEN);
597
+ while (1) {
598
+ tmp = AREF(v->action_pointer, v->curstate);
599
+ if (NIL_P(tmp)) goto error_pop;
600
+ D_puts("(err) pointer[k1] ok");
601
+
602
+ i = NUM2LONG(tmp) + ERROR_TOKEN;
603
+ D_printf("(err) i=%ld\n", i);
604
+ if (i < 0) goto error_pop;
605
+
606
+ act_value = AREF(v->action_table, i);
607
+ if (NIL_P(act_value)) {
608
+ D_puts("(err) table[i] == nil");
609
+ goto error_pop;
610
+ }
611
+ act = NUM2LONG(act_value);
612
+ D_printf("(err) table[i]=%ld\n", act);
613
+
614
+ tmp = AREF(v->action_check, i);
615
+ if (NIL_P(tmp)) {
616
+ D_puts("(err) check[i] == nil");
617
+ goto error_pop;
618
+ }
619
+ if (NUM2LONG(tmp) != v->curstate) {
620
+ D_puts("(err) check[i] != k1");
621
+ goto error_pop;
622
+ }
623
+
624
+ D_puts("(err) found: can handle error token");
625
+ break;
626
+
627
+ error_pop:
628
+ D_puts("(err) act not found: can't handle error token; pop");
629
+
630
+ if (RARRAY_LEN(v->state) <= 1) {
631
+ v->retval = Qnil;
632
+ v->fin = CP_FIN_CANTPOP;
633
+ return;
634
+ }
635
+ POP(v->state);
636
+ POP(v->vstack);
637
+ v->curstate = num_to_long(LAST_I(v->state));
638
+ if (v->debug) {
639
+ POP(v->tstack);
640
+ rb_funcall(v->parser, id_d_e_pop,
641
+ 3, v->state, v->tstack, v->vstack);
642
+ }
643
+ }
644
+
645
+ /* shift/reduce error token */
646
+ if (act > 0 && act < v->shift_n) {
647
+ D_puts("e shift");
648
+ SHIFT(v, act, ERROR_TOKEN, val);
649
+ }
650
+ else if (act < 0 && act > -(v->reduce_n)) {
651
+ D_puts("e reduce");
652
+ REDUCE(v, act);
653
+ }
654
+ else if (act == v->shift_n) {
655
+ D_puts("e accept");
656
+ goto accept;
657
+ }
658
+ else {
659
+ rb_raise(RaccBug, "[Racc Bug] unknown act value %ld", act);
660
+ }
661
+ goto error_recovered;
662
+ }
663
+
664
+ static void
665
+ shift(struct cparse_params *v, long act, VALUE tok, VALUE val)
666
+ {
667
+ PUSH(v->vstack, val);
668
+ if (v->debug) {
669
+ PUSH(v->tstack, tok);
670
+ rb_funcall(v->parser, id_d_shift,
671
+ 3, tok, v->tstack, v->vstack);
672
+ }
673
+ v->curstate = act;
674
+ PUSH(v->state, LONG2NUM(v->curstate));
675
+ }
676
+
677
+ static int
678
+ reduce(struct cparse_params *v, long act)
679
+ {
680
+ VALUE code;
681
+ v->ruleno = -act * 3;
682
+ code = rb_catch("racc_jump", reduce0, v->value_v);
683
+ v->errstatus = num_to_long(rb_ivar_get(v->parser, id_errstatus));
684
+ return NUM2INT(code);
685
+ }
686
+
687
+ static VALUE
688
+ reduce0(RB_BLOCK_CALL_FUNC_ARGLIST(_, data))
689
+ {
690
+ struct cparse_params *v = rb_check_typeddata(data, &cparse_params_type);
691
+ VALUE reduce_to, reduce_len, method_id;
692
+ long len;
693
+ ID mid;
694
+ VALUE tmp, tmp_t = Qundef, tmp_v = Qundef;
695
+ long i, k1, k2;
696
+ VALUE goto_state;
697
+
698
+ reduce_len = rb_ary_entry(v->reduce_table, v->ruleno);
699
+ reduce_to = rb_ary_entry(v->reduce_table, v->ruleno+1);
700
+ method_id = rb_ary_entry(v->reduce_table, v->ruleno+2);
701
+ len = NUM2LONG(reduce_len);
702
+ mid = value_to_id(method_id);
703
+
704
+ /* call action */
705
+ if (len == 0) {
706
+ tmp = Qnil;
707
+ if (mid != id_noreduce)
708
+ tmp_v = rb_ary_new();
709
+ if (v->debug)
710
+ tmp_t = rb_ary_new();
711
+ }
712
+ else {
713
+ if (mid != id_noreduce) {
714
+ tmp_v = GET_TAIL(v->vstack, len);
715
+ tmp = rb_ary_entry(tmp_v, 0);
716
+ }
717
+ else {
718
+ tmp = rb_ary_entry(v->vstack, RARRAY_LEN(v->vstack) - len);
719
+ }
720
+ CUT_TAIL(v->vstack, len);
721
+ if (v->debug) {
722
+ tmp_t = GET_TAIL(v->tstack, len);
723
+ CUT_TAIL(v->tstack, len);
724
+ }
725
+ CUT_TAIL(v->state, len);
726
+ }
727
+ if (mid != id_noreduce) {
728
+ if (v->use_result_var) {
729
+ tmp = rb_funcall(v->parser, mid,
730
+ 3, tmp_v, v->vstack, tmp);
731
+ }
732
+ else {
733
+ tmp = rb_funcall(v->parser, mid,
734
+ 2, tmp_v, v->vstack);
735
+ }
736
+ }
737
+
738
+ /* then push result */
739
+ PUSH(v->vstack, tmp);
740
+ if (v->debug) {
741
+ PUSH(v->tstack, reduce_to);
742
+ rb_funcall(v->parser, id_d_reduce,
743
+ 4, tmp_t, reduce_to, v->tstack, v->vstack);
744
+ }
745
+
746
+ /* calculate transition state */
747
+ if (RARRAY_LEN(v->state) == 0)
748
+ rb_raise(RaccBug, "state stack unexpectedly empty");
749
+ k2 = num_to_long(LAST_I(v->state));
750
+ k1 = num_to_long(reduce_to) - v->nt_base;
751
+ D_printf("(goto) k1=%ld\n", k1);
752
+ D_printf("(goto) k2=%ld\n", k2);
753
+
754
+ tmp = AREF(v->goto_pointer, k1);
755
+ if (NIL_P(tmp)) goto notfound;
756
+
757
+ i = NUM2LONG(tmp) + k2;
758
+ D_printf("(goto) i=%ld\n", i);
759
+ if (i < 0) goto notfound;
760
+
761
+ goto_state = AREF(v->goto_table, i);
762
+ if (NIL_P(goto_state)) {
763
+ D_puts("(goto) table[i] == nil");
764
+ goto notfound;
765
+ }
766
+ D_printf("(goto) table[i]=%ld (goto_state)\n", NUM2LONG(goto_state));
767
+
768
+ tmp = AREF(v->goto_check, i);
769
+ if (NIL_P(tmp)) {
770
+ D_puts("(goto) check[i] == nil");
771
+ goto notfound;
772
+ }
773
+ if (tmp != LONG2NUM(k1)) {
774
+ D_puts("(goto) check[i] != table[i]");
775
+ goto notfound;
776
+ }
777
+ D_printf("(goto) check[i]=%ld\n", NUM2LONG(tmp));
778
+
779
+ D_puts("(goto) found");
780
+ transit:
781
+ PUSH(v->state, goto_state);
782
+ v->curstate = NUM2LONG(goto_state);
783
+ return INT2FIX(0);
784
+
785
+ notfound:
786
+ D_puts("(goto) not found: use default");
787
+ /* overwrite `goto-state' by default value */
788
+ goto_state = AREF(v->goto_default, k1);
789
+ goto transit;
790
+ }
791
+
792
+ /* -----------------------------------------------------------------------
793
+ Ruby Interface
794
+ ----------------------------------------------------------------------- */
795
+
796
+ void
797
+ Init_cparse(void)
798
+ {
799
+ #ifdef HAVE_RB_EXT_RACTOR_SAFE
800
+ rb_ext_ractor_safe(true);
801
+ #endif
802
+
803
+ VALUE Racc, Parser;
804
+ ID id_racc = rb_intern_const("Racc");
805
+
806
+ if (rb_const_defined(rb_cObject, id_racc)) {
807
+ Racc = rb_const_get(rb_cObject, id_racc);
808
+ Parser = rb_const_get_at(Racc, rb_intern_const("Parser"));
809
+ }
810
+ else {
811
+ Racc = rb_define_module("Racc");
812
+ Parser = rb_define_class_under(Racc, "Parser", rb_cObject);
813
+ }
814
+ rb_define_private_method(Parser, "_racc_do_parse_c", racc_cparse, 2);
815
+ rb_define_private_method(Parser, "_racc_yyparse_c", racc_yyparse, 4);
816
+ rb_define_const(Parser, "Racc_Runtime_Core_Version_C",
817
+ rb_str_new2(RACC_VERSION));
818
+ rb_define_const(Parser, "Racc_Runtime_Core_Id_C",
819
+ rb_str_new2("$originalId: cparse.c,v 1.8 2006/07/06 11:39:46 aamine Exp $"));
820
+
821
+ CparseParams = rb_define_class_under(Racc, "CparseParams", rb_cObject);
822
+ rb_undef_alloc_func(CparseParams);
823
+ rb_undef_method(CparseParams, "initialize");
824
+ rb_undef_method(CparseParams, "initialize_copy");
825
+
826
+ RaccBug = rb_eRuntimeError;
827
+
828
+ id_yydebug = rb_intern_const("@yydebug");
829
+ id_nexttoken = rb_intern_const("next_token");
830
+ id_onerror = rb_intern_const("on_error");
831
+ id_noreduce = rb_intern_const("_reduce_none");
832
+ id_errstatus = rb_intern_const("@racc_error_status");
833
+
834
+ id_d_shift = rb_intern_const("racc_shift");
835
+ id_d_reduce = rb_intern_const("racc_reduce");
836
+ id_d_accept = rb_intern_const("racc_accept");
837
+ id_d_read_token = rb_intern_const("racc_read_token");
838
+ id_d_next_state = rb_intern_const("racc_next_state");
839
+ id_d_e_pop = rb_intern_const("racc_e_pop");
840
+ }