brakeman 6.2.0 → 6.2.2.rc1

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 (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 -16
  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,976 @@
1
+ #--
2
+ #
3
+ #
4
+ #
5
+ # Copyright (c) 1999-2006 Minero Aoki
6
+ #
7
+ # This program is free software.
8
+ # You can distribute/modify this program under the same terms of ruby.
9
+ # see the file "COPYING".
10
+ #
11
+ #++
12
+
13
+ require_relative 'iset'
14
+ require_relative 'statetransitiontable'
15
+ require_relative 'exception'
16
+ require 'forwardable'
17
+
18
+ module Racc
19
+
20
+ # A table of LALR states.
21
+ class States
22
+
23
+ include Enumerable
24
+
25
+ def initialize(grammar, debug_flags = DebugFlags.new)
26
+ @grammar = grammar
27
+ @symboltable = grammar.symboltable
28
+ @d_state = debug_flags.state
29
+ @d_la = debug_flags.la
30
+ @d_prec = debug_flags.prec
31
+ @states = []
32
+ @statecache = {}
33
+ @actions = ActionTable.new(@grammar, self)
34
+ @nfa_computed = false
35
+ @dfa_computed = false
36
+ end
37
+
38
+ attr_reader :grammar
39
+ attr_reader :actions
40
+
41
+ def size
42
+ @states.size
43
+ end
44
+
45
+ def inspect
46
+ '#<state table>'
47
+ end
48
+
49
+ alias to_s inspect
50
+
51
+ def [](i)
52
+ @states[i]
53
+ end
54
+
55
+ def each_state(&block)
56
+ @states.each(&block)
57
+ end
58
+
59
+ alias each each_state
60
+
61
+ def each_index(&block)
62
+ @states.each_index(&block)
63
+ end
64
+
65
+ extend Forwardable
66
+
67
+ def_delegator "@actions", :shift_n
68
+ def_delegator "@actions", :reduce_n
69
+ def_delegator "@actions", :nt_base
70
+
71
+ def should_report_srconflict?
72
+ srconflict_exist? and
73
+ (n_srconflicts() != @grammar.n_expected_srconflicts)
74
+ end
75
+
76
+ def should_error_on_expect_mismatch?
77
+ should_report_srconflict? && @grammar.error_on_expect_mismatch
78
+ end
79
+
80
+ def srconflict_exist?
81
+ n_srconflicts() != 0
82
+ end
83
+
84
+ def n_srconflicts
85
+ @n_srconflicts ||= inject(0) {|sum, st| sum + st.n_srconflicts }
86
+ end
87
+
88
+ def rrconflict_exist?
89
+ n_rrconflicts() != 0
90
+ end
91
+
92
+ def n_rrconflicts
93
+ @n_rrconflicts ||= inject(0) {|sum, st| sum + st.n_rrconflicts }
94
+ end
95
+
96
+ def state_transition_table
97
+ @state_transition_table ||= StateTransitionTable.generate(self.dfa)
98
+ end
99
+
100
+ #
101
+ # NFA (Non-deterministic Finite Automaton) Computation
102
+ #
103
+
104
+ public
105
+
106
+ def nfa
107
+ return self if @nfa_computed
108
+ compute_nfa
109
+ @nfa_computed = true
110
+ self
111
+ end
112
+
113
+ private
114
+
115
+ def compute_nfa
116
+ @grammar.init
117
+ # add state 0
118
+ core_to_state [ @grammar[0].ptrs[0] ]
119
+ # generate LALR states
120
+ cur = 0
121
+ @gotos = []
122
+ while cur < @states.size
123
+ generate_states @states[cur] # state is added here
124
+ cur += 1
125
+ end
126
+ @actions.init
127
+ end
128
+
129
+ def generate_states(state)
130
+ puts "dstate: #{state}" if @d_state
131
+
132
+ table = {}
133
+ state.closure.each do |ptr|
134
+ if sym = ptr.dereference
135
+ addsym table, sym, ptr.next
136
+ end
137
+ end
138
+ table.each do |sym, core|
139
+ puts "dstate: sym=#{sym} ncore=#{core}" if @d_state
140
+
141
+ dest = core_to_state(core.to_a)
142
+ state.goto_table[sym] = dest
143
+ id = sym.nonterminal?() ? @gotos.size : nil
144
+ g = Goto.new(id, sym, state, dest)
145
+ @gotos.push g if sym.nonterminal?
146
+ state.gotos[sym] = g
147
+ puts "dstate: #{state.ident} --#{sym}--> #{dest.ident}" if @d_state
148
+
149
+ # check infinite recursion
150
+ if state.ident == dest.ident and state.closure.size == 1
151
+ raise CompileError,
152
+ sprintf("Infinite recursion: state %d, with rule %d",
153
+ state.ident, state.ptrs[0].rule.ident)
154
+ end
155
+ end
156
+ end
157
+
158
+ def addsym(table, sym, ptr)
159
+ unless s = table[sym]
160
+ table[sym] = s = ISet.new
161
+ end
162
+ s.add ptr
163
+ end
164
+
165
+ def core_to_state(core)
166
+ #
167
+ # convert CORE to a State object.
168
+ # If matching state does not exist, create it and add to the table.
169
+ #
170
+
171
+ k = fingerprint(core)
172
+ unless dest = @statecache[k]
173
+ # not registered yet
174
+ dest = State.new(@states.size, core)
175
+ @states.push dest
176
+
177
+ @statecache[k] = dest
178
+
179
+ puts "core_to_state: create state ID #{dest.ident}" if @d_state
180
+ else
181
+ if @d_state
182
+ puts "core_to_state: dest is cached ID #{dest.ident}"
183
+ puts "core_to_state: dest core #{dest.core.join(' ')}"
184
+ end
185
+ end
186
+
187
+ dest
188
+ end
189
+
190
+ def fingerprint(arr)
191
+ arr.map {|i| i.ident }.pack('L*')
192
+ end
193
+
194
+ #
195
+ # DFA (Deterministic Finite Automaton) Generation
196
+ #
197
+
198
+ public
199
+
200
+ def dfa
201
+ return self if @dfa_computed
202
+ nfa
203
+ compute_dfa
204
+ @dfa_computed = true
205
+ self
206
+ end
207
+
208
+ private
209
+
210
+ def compute_dfa
211
+ la = lookahead()
212
+ @states.each do |state|
213
+ state.la = la
214
+ resolve state
215
+ end
216
+ set_accept
217
+ @states.each do |state|
218
+ pack state
219
+ end
220
+ check_useless
221
+ end
222
+
223
+ def lookahead
224
+ #
225
+ # lookahead algorithm ver.3 -- from bison 1.26
226
+ #
227
+
228
+ gotos = @gotos
229
+ if @d_la
230
+ puts "\n--- goto ---"
231
+ gotos.each_with_index {|g, i| print i, ' '; p g }
232
+ end
233
+
234
+ ### initialize_LA()
235
+ ### set_goto_map()
236
+ la_rules = []
237
+ @states.each do |state|
238
+ state.check_la la_rules
239
+ end
240
+
241
+ ### initialize_F()
242
+ f = create_tmap(gotos.size)
243
+ reads = []
244
+ edge = []
245
+ gotos.each do |goto|
246
+ goto.to_state.goto_table.each do |t, st|
247
+ if t.terminal?
248
+ f[goto.ident] |= (1 << t.ident)
249
+ elsif t.nullable?
250
+ edge.push goto.to_state.gotos[t].ident
251
+ end
252
+ end
253
+ if edge.empty?
254
+ reads.push nil
255
+ else
256
+ reads.push edge
257
+ edge = []
258
+ end
259
+ end
260
+ digraph f, reads
261
+ if @d_la
262
+ puts "\n--- F1 (reads) ---"
263
+ print_tab gotos, reads, f
264
+ end
265
+
266
+ ### build_relations()
267
+ ### compute_FOLLOWS
268
+ path = nil
269
+ edge = []
270
+ lookback = Array.new(la_rules.size, nil)
271
+ includes = []
272
+ gotos.each do |goto|
273
+ goto.symbol.heads.each do |ptr|
274
+ path = record_path(goto.from_state, ptr.rule)
275
+ lastgoto = path.last
276
+ st = lastgoto ? lastgoto.to_state : goto.from_state
277
+ if st.conflict?
278
+ addrel lookback, st.rruleid(ptr.rule), goto
279
+ end
280
+ path.reverse_each do |g|
281
+ break if g.symbol.terminal?
282
+ edge.push g.ident
283
+ break unless g.symbol.nullable?
284
+ end
285
+ end
286
+ if edge.empty?
287
+ includes.push nil
288
+ else
289
+ includes.push edge
290
+ edge = []
291
+ end
292
+ end
293
+ includes = transpose(includes)
294
+ digraph f, includes
295
+ if @d_la
296
+ puts "\n--- F2 (includes) ---"
297
+ print_tab gotos, includes, f
298
+ end
299
+
300
+ ### compute_lookaheads
301
+ la = create_tmap(la_rules.size)
302
+ lookback.each_with_index do |arr, i|
303
+ if arr
304
+ arr.each do |g|
305
+ la[i] |= f[g.ident]
306
+ end
307
+ end
308
+ end
309
+ if @d_la
310
+ puts "\n--- LA (lookback) ---"
311
+ print_tab la_rules, lookback, la
312
+ end
313
+
314
+ la
315
+ end
316
+
317
+ def create_tmap(size)
318
+ Array.new(size, 0) # use Integer as bitmap
319
+ end
320
+
321
+ def addrel(tbl, i, item)
322
+ if a = tbl[i]
323
+ a.push item
324
+ else
325
+ tbl[i] = [item]
326
+ end
327
+ end
328
+
329
+ def record_path(begst, rule)
330
+ st = begst
331
+ path = []
332
+ rule.symbols.each do |t|
333
+ goto = st.gotos[t]
334
+ path.push goto
335
+ st = goto.to_state
336
+ end
337
+ path
338
+ end
339
+
340
+ def transpose(rel)
341
+ new = Array.new(rel.size, nil)
342
+ rel.each_with_index do |arr, idx|
343
+ if arr
344
+ arr.each do |i|
345
+ addrel new, i, idx
346
+ end
347
+ end
348
+ end
349
+ new
350
+ end
351
+
352
+ def digraph(map, relation)
353
+ n = relation.size
354
+ index = Array.new(n, nil)
355
+ vertices = []
356
+ @infinity = n + 2
357
+
358
+ index.each_index do |i|
359
+ if not index[i] and relation[i]
360
+ traverse i, index, vertices, map, relation
361
+ end
362
+ end
363
+ end
364
+
365
+ def traverse(i, index, vertices, map, relation)
366
+ vertices.push i
367
+ index[i] = height = vertices.size
368
+
369
+ if rp = relation[i]
370
+ rp.each do |proci|
371
+ unless index[proci]
372
+ traverse proci, index, vertices, map, relation
373
+ end
374
+ if index[i] > index[proci]
375
+ # circulative recursion !!!
376
+ index[i] = index[proci]
377
+ end
378
+ map[i] |= map[proci]
379
+ end
380
+ end
381
+
382
+ if index[i] == height
383
+ while true
384
+ proci = vertices.pop
385
+ index[proci] = @infinity
386
+ break if i == proci
387
+
388
+ map[proci] |= map[i]
389
+ end
390
+ end
391
+ end
392
+
393
+ # for debug
394
+ def print_atab(idx, tab)
395
+ tab.each_with_index do |i,ii|
396
+ printf '%-20s', idx[ii].inspect
397
+ p i
398
+ end
399
+ end
400
+
401
+ def print_tab(idx, rel, tab)
402
+ tab.each_with_index do |bin,i|
403
+ print i, ' ', idx[i].inspect, ' << '; p rel[i]
404
+ print ' '
405
+ each_t(@symboltable, bin) {|t| print ' ', t }
406
+ puts
407
+ end
408
+ end
409
+
410
+ # for debug
411
+ def print_tab_i(idx, rel, tab, i)
412
+ bin = tab[i]
413
+ print i, ' ', idx[i].inspect, ' << '; p rel[i]
414
+ print ' '
415
+ each_t(@symboltable, bin) {|t| print ' ', t }
416
+ end
417
+
418
+ # for debug
419
+ def printb(i)
420
+ each_t(@symboltable, i) do |t|
421
+ print t, ' '
422
+ end
423
+ puts
424
+ end
425
+
426
+ def each_t(tbl, set)
427
+ 0.upto( set.size ) do |i|
428
+ (0..7).each do |ii|
429
+ if set[idx = i * 8 + ii] == 1
430
+ yield tbl[idx]
431
+ end
432
+ end
433
+ end
434
+ end
435
+
436
+ #
437
+ # resolve
438
+ #
439
+
440
+ def resolve(state)
441
+ if state.conflict?
442
+ resolve_rr state, state.ritems
443
+ resolve_sr state, state.stokens
444
+ else
445
+ if state.rrules.empty?
446
+ # shift
447
+ state.stokens.each do |t|
448
+ state.action[t] = @actions.shift(state.goto_table[t])
449
+ end
450
+ else
451
+ # reduce
452
+ state.defact = @actions.reduce(state.rrules[0])
453
+ end
454
+ end
455
+ end
456
+
457
+ def resolve_rr(state, r)
458
+ r.each do |item|
459
+ item.each_la(@symboltable) do |t|
460
+ act = state.action[t]
461
+ if act
462
+ unless act.kind_of?(Reduce)
463
+ raise "racc: fatal: #{act.class} in action table"
464
+ end
465
+ # Cannot resolve R/R conflict (on t).
466
+ # Reduce with upper rule as default.
467
+ state.rr_conflict act.rule, item.rule, t
468
+ else
469
+ # No conflict.
470
+ state.action[t] = @actions.reduce(item.rule)
471
+ end
472
+ end
473
+ end
474
+ end
475
+
476
+ def resolve_sr(state, s)
477
+ s.each do |stok|
478
+ goto = state.goto_table[stok]
479
+ act = state.action[stok]
480
+
481
+ unless act
482
+ # no conflict
483
+ state.action[stok] = @actions.shift(goto)
484
+ else
485
+ unless act.kind_of?(Reduce)
486
+ puts 'DEBUG -------------------------------'
487
+ p stok
488
+ p act
489
+ state.action.each do |k,v|
490
+ print k.inspect, ' ', v.inspect, "\n"
491
+ end
492
+ raise "racc: fatal: #{act.class} in action table"
493
+ end
494
+
495
+ # conflict on stok
496
+
497
+ rtok = act.rule.precedence
498
+ case do_resolve_sr(stok, rtok)
499
+ when :Reduce
500
+ # action is already set
501
+
502
+ when :Shift
503
+ # overwrite
504
+ act.decref
505
+ state.action[stok] = @actions.shift(goto)
506
+
507
+ when :Error
508
+ act.decref
509
+ state.action[stok] = @actions.error
510
+
511
+ when :CantResolve
512
+ # shift as default
513
+ act.decref
514
+ state.action[stok] = @actions.shift(goto)
515
+ state.sr_conflict stok, act.rule
516
+ end
517
+ end
518
+ end
519
+ end
520
+
521
+ ASSOC = {
522
+ :Left => :Reduce,
523
+ :Right => :Shift,
524
+ :Nonassoc => :Error
525
+ }
526
+
527
+ def do_resolve_sr(stok, rtok)
528
+ puts "resolve_sr: s/r conflict: rtok=#{rtok}, stok=#{stok}" if @d_prec
529
+
530
+ unless rtok and rtok.precedence
531
+ puts "resolve_sr: no prec for #{rtok}(R)" if @d_prec
532
+ return :CantResolve
533
+ end
534
+ rprec = rtok.precedence
535
+
536
+ unless stok and stok.precedence
537
+ puts "resolve_sr: no prec for #{stok}(S)" if @d_prec
538
+ return :CantResolve
539
+ end
540
+ sprec = stok.precedence
541
+
542
+ ret = if rprec == sprec
543
+ ASSOC[rtok.assoc] or
544
+ raise "racc: fatal: #{rtok}.assoc is not Left/Right/Nonassoc"
545
+ else
546
+ (rprec > sprec) ? (:Reduce) : (:Shift)
547
+ end
548
+
549
+ puts "resolve_sr: resolved as #{ret.id2name}" if @d_prec
550
+ ret
551
+ end
552
+
553
+ #
554
+ # complete
555
+ #
556
+
557
+ def set_accept
558
+ anch = @symboltable.anchor
559
+ init_state = @states[0].goto_table[@grammar.start]
560
+ targ_state = init_state.action[anch].goto_state
561
+ acc_state = targ_state.action[anch].goto_state
562
+
563
+ acc_state.action.clear
564
+ acc_state.goto_table.clear
565
+ acc_state.defact = @actions.accept
566
+ end
567
+
568
+ def pack(state)
569
+ ### find most frequently used reduce rule
570
+ act = state.action
571
+ arr = Array.new(@grammar.size, 0)
572
+ act.each do |t, a|
573
+ arr[a.ruleid] += 1 if a.kind_of?(Reduce)
574
+ end
575
+ i = arr.max
576
+ s = (i > 0) ? arr.index(i) : nil
577
+
578
+ ### set & delete default action
579
+ if s
580
+ r = @actions.reduce(s)
581
+ if not state.defact or state.defact == r
582
+ act.delete_if {|t, a| a == r }
583
+ state.defact = r
584
+ end
585
+ else
586
+ state.defact ||= @actions.error
587
+ end
588
+ end
589
+
590
+ def check_useless
591
+ used = []
592
+ @actions.each_reduce do |act|
593
+ if not act or act.refn == 0
594
+ act.rule.useless = true
595
+ else
596
+ t = act.rule.target
597
+ used[t.ident] = t
598
+ end
599
+ end
600
+ @symboltable.nt_base.upto(@symboltable.nt_max - 1) do |n|
601
+ unless used[n]
602
+ @symboltable[n].useless = true
603
+ end
604
+ end
605
+ end
606
+
607
+ end # class StateTable
608
+
609
+
610
+ # A LALR state.
611
+ class State
612
+
613
+ def initialize(ident, core)
614
+ @ident = ident
615
+ @core = core
616
+ @goto_table = {}
617
+ @gotos = {}
618
+ @stokens = nil
619
+ @ritems = nil
620
+ @action = {}
621
+ @defact = nil
622
+ @rrconf = nil
623
+ @srconf = nil
624
+
625
+ @closure = make_closure(@core)
626
+ end
627
+
628
+ attr_reader :ident
629
+ alias stateid ident
630
+ alias hash ident
631
+
632
+ attr_reader :core
633
+ attr_reader :closure
634
+
635
+ attr_reader :goto_table
636
+ attr_reader :gotos
637
+
638
+ attr_reader :stokens
639
+ attr_reader :ritems
640
+ attr_reader :rrules
641
+
642
+ attr_reader :action
643
+ attr_accessor :defact # default action
644
+
645
+ attr_reader :rrconf
646
+ attr_reader :srconf
647
+
648
+ def inspect
649
+ "<state #{@ident}>"
650
+ end
651
+
652
+ alias to_s inspect
653
+
654
+ def ==(oth)
655
+ @ident == oth.ident
656
+ end
657
+
658
+ alias eql? ==
659
+
660
+ def make_closure(core)
661
+ set = ISet.new
662
+ core.each do |ptr|
663
+ set.add ptr
664
+ if t = ptr.dereference and t.nonterminal?
665
+ set.update_a t.expand
666
+ end
667
+ end
668
+ set.to_a
669
+ end
670
+
671
+ def check_la(la_rules)
672
+ @conflict = false
673
+ s = []
674
+ r = []
675
+ @closure.each do |ptr|
676
+ if t = ptr.dereference
677
+ if t.terminal?
678
+ s[t.ident] = t
679
+ if t.ident == 1 # $error
680
+ @conflict = true
681
+ end
682
+ end
683
+ else
684
+ r.push ptr.rule
685
+ end
686
+ end
687
+ unless r.empty?
688
+ if not s.empty? or r.size > 1
689
+ @conflict = true
690
+ end
691
+ end
692
+ s.compact!
693
+ @stokens = s
694
+ @rrules = r
695
+
696
+ if @conflict
697
+ @la_rules_i = la_rules.size
698
+ @la_rules = r.map {|i| i.ident }
699
+ la_rules.concat r
700
+ else
701
+ @la_rules_i = @la_rules = nil
702
+ end
703
+ end
704
+
705
+ def conflict?
706
+ @conflict
707
+ end
708
+
709
+ def rruleid(rule)
710
+ if i = @la_rules.index(rule.ident)
711
+ @la_rules_i + i
712
+ else
713
+ puts '/// rruleid'
714
+ p self
715
+ p rule
716
+ p @rrules
717
+ p @la_rules_i
718
+ raise 'racc: fatal: cannot get reduce rule id'
719
+ end
720
+ end
721
+
722
+ def la=(la)
723
+ return unless @conflict
724
+ i = @la_rules_i
725
+ @ritems = r = []
726
+ @rrules.each do |rule|
727
+ r.push Item.new(rule, la[i])
728
+ i += 1
729
+ end
730
+ end
731
+
732
+ def rr_conflict(high, low, ctok)
733
+ c = RRconflict.new(@ident, high, low, ctok)
734
+
735
+ @rrconf ||= {}
736
+ if a = @rrconf[ctok]
737
+ a.push c
738
+ else
739
+ @rrconf[ctok] = [c]
740
+ end
741
+ end
742
+
743
+ def sr_conflict(shift, reduce)
744
+ c = SRconflict.new(@ident, shift, reduce)
745
+
746
+ @srconf ||= {}
747
+ if a = @srconf[shift]
748
+ a.push c
749
+ else
750
+ @srconf[shift] = [c]
751
+ end
752
+ end
753
+
754
+ def n_srconflicts
755
+ @srconf ? @srconf.size : 0
756
+ end
757
+
758
+ def n_rrconflicts
759
+ @rrconf ? @rrconf.size : 0
760
+ end
761
+
762
+ end # class State
763
+
764
+
765
+ #
766
+ # Represents a transition on the grammar.
767
+ # "Real goto" means a transition by nonterminal,
768
+ # but this class treats also terminal's.
769
+ # If one is a terminal transition, .ident returns nil.
770
+ #
771
+ class Goto
772
+ def initialize(ident, sym, from, to)
773
+ @ident = ident
774
+ @symbol = sym
775
+ @from_state = from
776
+ @to_state = to
777
+ end
778
+
779
+ attr_reader :ident
780
+ attr_reader :symbol
781
+ attr_reader :from_state
782
+ attr_reader :to_state
783
+
784
+ def inspect
785
+ "(#{@from_state.ident}-#{@symbol}->#{@to_state.ident})"
786
+ end
787
+ end
788
+
789
+
790
+ # LALR item. A set of rule and its lookahead tokens.
791
+ class Item
792
+ def initialize(rule, la)
793
+ @rule = rule
794
+ @la = la
795
+ end
796
+
797
+ attr_reader :rule
798
+ attr_reader :la
799
+
800
+ def each_la(tbl)
801
+ la = @la
802
+ 0.upto(la.size - 1) do |i|
803
+ (0..7).each do |ii|
804
+ if la[idx = i * 8 + ii] == 1
805
+ yield tbl[idx]
806
+ end
807
+ end
808
+ end
809
+ end
810
+ end
811
+
812
+
813
+ # The table of LALR actions. Actions are either of
814
+ # Shift, Reduce, Accept and Error.
815
+ class ActionTable
816
+
817
+ def initialize(rt, st)
818
+ @grammar = rt
819
+ @statetable = st
820
+
821
+ @reduce = []
822
+ @shift = []
823
+ @accept = nil
824
+ @error = nil
825
+ end
826
+
827
+ def init
828
+ @grammar.each do |rule|
829
+ @reduce.push Reduce.new(rule)
830
+ end
831
+ @statetable.each do |state|
832
+ @shift.push Shift.new(state)
833
+ end
834
+ @accept = Accept.new
835
+ @error = Error.new
836
+ end
837
+
838
+ def reduce_n
839
+ @reduce.size
840
+ end
841
+
842
+ def reduce(i)
843
+ case i
844
+ when Rule then i = i.ident
845
+ when Integer then ;
846
+ else
847
+ raise "racc: fatal: wrong class #{i.class} for reduce"
848
+ end
849
+
850
+ r = @reduce[i] or raise "racc: fatal: reduce action #{i.inspect} not exist"
851
+ r.incref
852
+ r
853
+ end
854
+
855
+ def each_reduce(&block)
856
+ @reduce.each(&block)
857
+ end
858
+
859
+ def shift_n
860
+ @shift.size
861
+ end
862
+
863
+ def shift(i)
864
+ case i
865
+ when State then i = i.ident
866
+ when Integer then ;
867
+ else
868
+ raise "racc: fatal: wrong class #{i.class} for shift"
869
+ end
870
+
871
+ @shift[i] or raise "racc: fatal: shift action #{i} does not exist"
872
+ end
873
+
874
+ def each_shift(&block)
875
+ @shift.each(&block)
876
+ end
877
+
878
+ attr_reader :accept
879
+ attr_reader :error
880
+
881
+ end
882
+
883
+
884
+ class Shift
885
+ def initialize(goto)
886
+ @goto_state = goto
887
+ end
888
+
889
+ attr_reader :goto_state
890
+
891
+ def goto_id
892
+ @goto_state.ident
893
+ end
894
+
895
+ def inspect
896
+ "<shift #{@goto_state.ident}>"
897
+ end
898
+ end
899
+
900
+
901
+ class Reduce
902
+ def initialize(rule)
903
+ @rule = rule
904
+ @refn = 0
905
+ end
906
+
907
+ attr_reader :rule
908
+ attr_reader :refn
909
+
910
+ def ruleid
911
+ @rule.ident
912
+ end
913
+
914
+ def inspect
915
+ "<reduce #{@rule.ident}>"
916
+ end
917
+
918
+ def incref
919
+ @refn += 1
920
+ end
921
+
922
+ def decref
923
+ @refn -= 1
924
+ raise 'racc: fatal: act.refn < 0' if @refn < 0
925
+ end
926
+ end
927
+
928
+ class Accept
929
+ def inspect
930
+ "<accept>"
931
+ end
932
+ end
933
+
934
+ class Error
935
+ def inspect
936
+ "<error>"
937
+ end
938
+ end
939
+
940
+ class SRconflict
941
+ def initialize(sid, shift, reduce)
942
+ @stateid = sid
943
+ @shift = shift
944
+ @reduce = reduce
945
+ end
946
+
947
+ attr_reader :stateid
948
+ attr_reader :shift
949
+ attr_reader :reduce
950
+
951
+ def to_s
952
+ sprintf('state %d: S/R conflict rule %d reduce and shift %s',
953
+ @stateid, @reduce.ruleid, @shift.to_s)
954
+ end
955
+ end
956
+
957
+ class RRconflict
958
+ def initialize(sid, high, low, tok)
959
+ @stateid = sid
960
+ @high_prec = high
961
+ @low_prec = low
962
+ @token = tok
963
+ end
964
+
965
+ attr_reader :stateid
966
+ attr_reader :high_prec
967
+ attr_reader :low_prec
968
+ attr_reader :token
969
+
970
+ def to_s
971
+ sprintf('state %d: R/R conflict with rule %d and %d on %s',
972
+ @stateid, @high_prec.ident, @low_prec.ident, @token.to_s)
973
+ end
974
+ end
975
+
976
+ end