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,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