script_core 0.2.7 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (283) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/Gemfile +2 -2
  4. data/ext/enterprise_script_service/Rakefile +1 -1
  5. data/ext/enterprise_script_service/mruby/.github/workflows/build.yml +117 -74
  6. data/ext/enterprise_script_service/mruby/.github/workflows/codeql-analysis.yml +41 -37
  7. data/ext/enterprise_script_service/mruby/.github/workflows/lint.yml +23 -0
  8. data/ext/enterprise_script_service/mruby/.github/workflows/oss-fuzz.yml +27 -0
  9. data/ext/enterprise_script_service/mruby/.github/workflows/spell-checker.yml +17 -0
  10. data/ext/enterprise_script_service/mruby/.gitlab-ci.yml +3 -3
  11. data/ext/enterprise_script_service/mruby/.markdownlint.yml +16 -0
  12. data/ext/enterprise_script_service/mruby/.travis.yml +2 -2
  13. data/ext/enterprise_script_service/mruby/.yamllint +8 -0
  14. data/ext/enterprise_script_service/mruby/AUTHORS +3 -0
  15. data/ext/enterprise_script_service/mruby/CODEOWNERS +1 -0
  16. data/ext/enterprise_script_service/mruby/CONTRIBUTING.md +6 -13
  17. data/ext/enterprise_script_service/mruby/Doxyfile +4 -4
  18. data/ext/enterprise_script_service/mruby/LICENSE +1 -1
  19. data/ext/enterprise_script_service/mruby/Makefile +1 -1
  20. data/ext/enterprise_script_service/mruby/README.md +4 -14
  21. data/ext/enterprise_script_service/mruby/Rakefile +18 -108
  22. data/ext/enterprise_script_service/mruby/TODO.md +17 -0
  23. data/ext/enterprise_script_service/mruby/appveyor.yml +31 -25
  24. data/ext/enterprise_script_service/mruby/benchmark/bm_ao_render.rb +1 -1
  25. data/ext/enterprise_script_service/mruby/build_config.rb +9 -152
  26. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_ArduinoDue.rb → build_config/ArduinoDue.rb} +2 -19
  27. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_IntelEdison.rb → build_config/IntelEdison.rb} +2 -2
  28. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_IntelGalileo.rb → build_config/IntelGalileo.rb} +1 -18
  29. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_RX630.rb → build_config/RX630.rb} +2 -19
  30. data/ext/enterprise_script_service/mruby/build_config/android_arm64-v8a.rb +11 -0
  31. data/ext/enterprise_script_service/mruby/build_config/android_armeabi.rb +11 -0
  32. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_android_armeabi_v7a_neon_hard.rb → build_config/android_armeabi_v7a_neon_hard.rb} +0 -15
  33. data/ext/enterprise_script_service/mruby/build_config/bench.rb +11 -0
  34. data/ext/enterprise_script_service/mruby/build_config/boxing.rb +21 -0
  35. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_chipKITMax32.rb → build_config/chipKITMax32.rb} +2 -19
  36. data/ext/enterprise_script_service/mruby/{travis_config.rb → build_config/ci/gcc-clang.rb} +10 -10
  37. data/ext/enterprise_script_service/mruby/build_config/ci/msvc.rb +20 -0
  38. data/ext/enterprise_script_service/mruby/build_config/clang-asan.rb +11 -0
  39. data/ext/enterprise_script_service/mruby/build_config/cross-32bit.rb +14 -0
  40. data/ext/enterprise_script_service/mruby/build_config/default.rb +80 -0
  41. data/ext/enterprise_script_service/mruby/{examples/targets/build_config_dreamcast_shelf.rb → build_config/dreamcast_shelf.rb} +5 -19
  42. data/ext/enterprise_script_service/mruby/build_config/gameboyadvance.rb +73 -0
  43. data/ext/enterprise_script_service/mruby/build_config/host-cxx.rb +12 -0
  44. data/ext/enterprise_script_service/mruby/build_config/host-debug.rb +20 -0
  45. data/ext/enterprise_script_service/mruby/build_config/host-gprof.rb +14 -0
  46. data/ext/enterprise_script_service/mruby/build_config/host-m32.rb +15 -0
  47. data/ext/enterprise_script_service/mruby/build_config/host-shared.rb +36 -0
  48. data/ext/enterprise_script_service/mruby/build_config/mrbc.rb +11 -0
  49. data/ext/enterprise_script_service/mruby/build_config/no-float.rb +17 -0
  50. data/ext/enterprise_script_service/mruby/doc/guides/compile.md +138 -49
  51. data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +5 -4
  52. data/ext/enterprise_script_service/mruby/doc/guides/gc-arena-howto.md +1 -1
  53. data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +49 -22
  54. data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +31 -14
  55. data/ext/enterprise_script_service/mruby/doc/guides/symbol.md +83 -0
  56. data/ext/enterprise_script_service/mruby/doc/limitations.md +35 -36
  57. data/ext/enterprise_script_service/mruby/doc/mruby3.md +163 -0
  58. data/ext/enterprise_script_service/mruby/doc/opcode.md +93 -107
  59. data/ext/enterprise_script_service/mruby/examples/mrbgems/c_and_ruby_extension_example/mrblib/example.rb +1 -1
  60. data/ext/enterprise_script_service/mruby/examples/mrbgems/c_and_ruby_extension_example/src/example.c +5 -1
  61. data/ext/enterprise_script_service/mruby/examples/mrbgems/c_extension_example/src/example.c +5 -1
  62. data/ext/enterprise_script_service/mruby/examples/mrbgems/ruby_extension_example/mrblib/example.rb +1 -1
  63. data/ext/enterprise_script_service/mruby/include/mrbconf.h +81 -62
  64. data/ext/enterprise_script_service/mruby/include/mruby.h +137 -96
  65. data/ext/enterprise_script_service/mruby/include/mruby/array.h +23 -6
  66. data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +73 -48
  67. data/ext/enterprise_script_service/mruby/include/mruby/boxing_no.h +8 -8
  68. data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +79 -48
  69. data/ext/enterprise_script_service/mruby/include/mruby/class.h +10 -8
  70. data/ext/enterprise_script_service/mruby/include/mruby/common.h +4 -1
  71. data/ext/enterprise_script_service/mruby/include/mruby/compile.h +13 -7
  72. data/ext/enterprise_script_service/mruby/include/mruby/debug.h +2 -2
  73. data/ext/enterprise_script_service/mruby/include/mruby/dump.h +17 -35
  74. data/ext/enterprise_script_service/mruby/include/mruby/endian.h +44 -0
  75. data/ext/enterprise_script_service/mruby/include/mruby/error.h +39 -5
  76. data/ext/enterprise_script_service/mruby/include/mruby/gc.h +1 -0
  77. data/ext/enterprise_script_service/mruby/include/mruby/hash.h +33 -13
  78. data/ext/enterprise_script_service/mruby/include/mruby/irep.h +64 -14
  79. data/ext/enterprise_script_service/mruby/include/mruby/khash.h +6 -14
  80. data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +36 -63
  81. data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +1 -27
  82. data/ext/enterprise_script_service/mruby/include/mruby/ops.h +27 -23
  83. data/ext/enterprise_script_service/mruby/include/mruby/presym.h +40 -0
  84. data/ext/enterprise_script_service/mruby/include/mruby/presym/disable.h +70 -0
  85. data/ext/enterprise_script_service/mruby/include/mruby/presym/enable.h +37 -0
  86. data/ext/enterprise_script_service/mruby/include/mruby/presym/scanning.h +73 -0
  87. data/ext/enterprise_script_service/mruby/include/mruby/proc.h +80 -13
  88. data/ext/enterprise_script_service/mruby/include/mruby/string.h +10 -15
  89. data/ext/enterprise_script_service/mruby/include/mruby/throw.h +14 -3
  90. data/ext/enterprise_script_service/mruby/include/mruby/value.h +29 -19
  91. data/ext/enterprise_script_service/mruby/include/mruby/variable.h +1 -0
  92. data/ext/enterprise_script_service/mruby/include/mruby/version.h +26 -7
  93. data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +198 -44
  94. data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +55 -37
  95. data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +12 -10
  96. data/ext/enterprise_script_service/mruby/lib/{mruby-core-ext.rb → mruby/core_ext.rb} +10 -3
  97. data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +75 -32
  98. data/ext/enterprise_script_service/mruby/lib/mruby/lockfile.rb +1 -1
  99. data/ext/enterprise_script_service/mruby/lib/mruby/presym.rb +132 -0
  100. data/ext/enterprise_script_service/mruby/mrbgems/default-no-fpu.gembox +3 -0
  101. data/ext/enterprise_script_service/mruby/mrbgems/default-no-stdio.gembox +4 -0
  102. data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +9 -88
  103. data/ext/enterprise_script_service/mruby/mrbgems/full-core.gembox +1 -4
  104. data/ext/enterprise_script_service/mruby/mrbgems/math.gembox +10 -0
  105. data/ext/enterprise_script_service/mruby/mrbgems/metaprog.gembox +15 -0
  106. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +1 -1
  107. data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +5 -4
  108. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mrbgem.rake +28 -19
  109. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mruby-config +18 -8
  110. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/mrdb.rb +3 -6
  111. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +10 -10
  112. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +14 -9
  113. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +3 -2
  114. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +4 -3
  115. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +2 -6
  116. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +4 -4
  117. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +23 -5
  118. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/mrbgem.rake +11 -2
  119. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +41 -34
  120. data/ext/enterprise_script_service/mruby/mrbgems/{mruby-compiler → mruby-bin-mrbc}/bintest/mrbc.rb +0 -0
  121. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/mrbgem.rake +3 -4
  122. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +19 -9
  123. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +25 -4
  124. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -1
  125. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +22 -6
  126. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +1 -1
  127. data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +2 -2
  128. data/ext/enterprise_script_service/mruby/mrbgems/mruby-catch/mrbgem.rake +5 -0
  129. data/ext/enterprise_script_service/mruby/mrbgems/mruby-catch/mrblib/catch.rb +27 -0
  130. data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/src/class.c +2 -1
  131. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +430 -399
  132. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/keywords +5 -0
  133. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/lex.def +49 -44
  134. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +559 -217
  135. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/y.tab.c +4774 -4193
  136. data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/mrbgem.rake +18 -19
  137. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +1 -1
  138. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +8 -7
  139. data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/test/complex.rb +4 -4
  140. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +1 -0
  141. data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +2 -2
  142. data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/mrbgem.rake +2 -2
  143. data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +17 -25
  144. data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +18 -13
  145. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +30 -2
  146. data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +7 -0
  147. data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +2 -2
  148. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/README.md +18 -16
  149. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/include/mruby/ext/io.h +2 -2
  150. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file.rb +9 -4
  151. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +2 -2
  152. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +55 -52
  153. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +4 -2
  154. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +99 -87
  155. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +2 -0
  156. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +2 -3
  157. data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +1 -1
  158. data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +7 -6
  159. data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +13 -12
  160. data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/test/math.rb +5 -4
  161. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +43 -58
  162. data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +4 -4
  163. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/README.md +4 -3
  164. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +77 -74
  165. data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +4 -4
  166. data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +14 -13
  167. data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +5 -4
  168. data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +18 -12
  169. data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/mrbgem.rake +10 -0
  170. data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/src/memsize.c +231 -0
  171. data/ext/enterprise_script_service/mruby/mrbgems/mruby-os-memsize/test/memsize.rb +63 -0
  172. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/README.md +15 -18
  173. data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +38 -88
  174. data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +1 -30
  175. data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +62 -26
  176. data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +32 -19
  177. data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.c +1 -1
  178. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +98 -43
  179. data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +2 -2
  180. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +39 -6
  181. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +20 -40
  182. data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/test/range.rb +27 -3
  183. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +11 -17
  184. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +216 -38
  185. data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/test/rational.rb +6 -6
  186. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/README.md +6 -4
  187. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/src/mrb_sleep.c +4 -4
  188. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/README.md +3 -2
  189. data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +47 -45
  190. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +102 -71
  191. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +4 -2
  192. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +23 -1
  193. data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +13 -9
  194. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +1 -1
  195. data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +18 -25
  196. data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +6 -5
  197. data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +1 -1
  198. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/README.md +0 -1
  199. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +5 -5
  200. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +16 -44
  201. data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/vformat.c +4 -4
  202. data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +27 -27
  203. data/ext/enterprise_script_service/mruby/mrbgems/stdlib-ext.gembox +18 -0
  204. data/ext/enterprise_script_service/mruby/mrbgems/stdlib-io.gembox +12 -0
  205. data/ext/enterprise_script_service/mruby/mrbgems/stdlib.gembox +54 -0
  206. data/ext/enterprise_script_service/mruby/mrblib/10error.rb +4 -0
  207. data/ext/enterprise_script_service/mruby/mrblib/array.rb +17 -9
  208. data/ext/enterprise_script_service/mruby/mrblib/enum.rb +1 -1
  209. data/ext/enterprise_script_service/mruby/mrblib/hash.rb +0 -20
  210. data/ext/enterprise_script_service/mruby/mrblib/init_mrblib.c +0 -11
  211. data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +36 -11
  212. data/ext/enterprise_script_service/mruby/mrblib/range.rb +25 -3
  213. data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_proto_fuzzer.cpp +2 -2
  214. data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.h +1 -1
  215. data/ext/enterprise_script_service/mruby/src/array.c +43 -80
  216. data/ext/enterprise_script_service/mruby/src/backtrace.c +16 -17
  217. data/ext/enterprise_script_service/mruby/src/class.c +774 -182
  218. data/ext/enterprise_script_service/mruby/src/codedump.c +223 -198
  219. data/ext/enterprise_script_service/mruby/src/debug.c +6 -6
  220. data/ext/enterprise_script_service/mruby/src/dump.c +466 -141
  221. data/ext/enterprise_script_service/mruby/src/enum.c +1 -1
  222. data/ext/enterprise_script_service/mruby/src/error.c +36 -13
  223. data/ext/enterprise_script_service/mruby/src/etc.c +43 -34
  224. data/ext/enterprise_script_service/mruby/src/fmt_fp.c +5 -6
  225. data/ext/enterprise_script_service/mruby/src/gc.c +73 -71
  226. data/ext/enterprise_script_service/mruby/src/hash.c +1050 -707
  227. data/ext/enterprise_script_service/mruby/src/kernel.c +75 -220
  228. data/ext/enterprise_script_service/mruby/src/load.c +196 -166
  229. data/ext/enterprise_script_service/mruby/src/numeric.c +352 -314
  230. data/ext/enterprise_script_service/mruby/src/object.c +97 -90
  231. data/ext/enterprise_script_service/mruby/src/print.c +4 -3
  232. data/ext/enterprise_script_service/mruby/src/proc.c +48 -56
  233. data/ext/enterprise_script_service/mruby/src/range.c +45 -21
  234. data/ext/enterprise_script_service/mruby/src/state.c +25 -32
  235. data/ext/enterprise_script_service/mruby/src/string.c +59 -101
  236. data/ext/enterprise_script_service/mruby/src/symbol.c +121 -56
  237. data/ext/enterprise_script_service/mruby/src/value_array.h +1 -0
  238. data/ext/enterprise_script_service/mruby/src/variable.c +158 -158
  239. data/ext/enterprise_script_service/mruby/src/vm.c +617 -602
  240. data/ext/enterprise_script_service/mruby/tasks/benchmark.rake +6 -6
  241. data/ext/enterprise_script_service/mruby/tasks/bin.rake +23 -0
  242. data/ext/enterprise_script_service/mruby/tasks/core.rake +12 -0
  243. data/ext/enterprise_script_service/mruby/tasks/doc.rake +50 -38
  244. data/ext/enterprise_script_service/mruby/tasks/gitlab.rake +83 -77
  245. data/ext/enterprise_script_service/mruby/tasks/libmruby.rake +10 -1
  246. data/ext/enterprise_script_service/mruby/tasks/mrbgems.rake +13 -1
  247. data/ext/enterprise_script_service/mruby/tasks/mrblib.rake +40 -0
  248. data/ext/enterprise_script_service/mruby/tasks/presym.rake +44 -0
  249. data/ext/enterprise_script_service/mruby/tasks/test.rake +68 -0
  250. data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +6 -5
  251. data/ext/enterprise_script_service/mruby/tasks/toolchains/openwrt.rake +10 -14
  252. data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +17 -21
  253. data/ext/enterprise_script_service/mruby/test/bintest.rb +5 -5
  254. data/ext/enterprise_script_service/mruby/test/t/argumenterror.rb +16 -0
  255. data/ext/enterprise_script_service/mruby/test/t/array.rb +7 -3
  256. data/ext/enterprise_script_service/mruby/test/t/bs_literal.rb +1 -1
  257. data/ext/enterprise_script_service/mruby/test/t/float.rb +18 -8
  258. data/ext/enterprise_script_service/mruby/test/t/hash.rb +903 -281
  259. data/ext/enterprise_script_service/mruby/test/t/integer.rb +10 -38
  260. data/ext/enterprise_script_service/mruby/test/t/kernel.rb +1 -1
  261. data/ext/enterprise_script_service/mruby/test/t/literals.rb +50 -0
  262. data/ext/enterprise_script_service/mruby/test/t/module.rb +2 -2
  263. data/ext/enterprise_script_service/mruby/test/t/numeric.rb +1 -1
  264. data/ext/enterprise_script_service/mruby/test/t/range.rb +83 -1
  265. data/ext/enterprise_script_service/mruby/test/t/string.rb +4 -0
  266. data/ext/enterprise_script_service/mruby/test/t/superclass.rb +10 -10
  267. data/ext/enterprise_script_service/mruby/test/t/syntax.rb +24 -0
  268. data/ext/enterprise_script_service/mruby/test/t/vformat.rb +3 -3
  269. data/ext/enterprise_script_service/mruby_config.rb +2 -5
  270. data/ext/enterprise_script_service/mruby_engine.cpp +1 -1
  271. data/lib/script_core/version.rb +1 -1
  272. data/spec/script_core_spec.rb +13 -0
  273. metadata +61 -23
  274. data/ext/enterprise_script_service/mruby/.github/workflows/main.yml +0 -24
  275. data/ext/enterprise_script_service/mruby/TODO +0 -8
  276. data/ext/enterprise_script_service/mruby/appveyor_config.rb +0 -46
  277. data/ext/enterprise_script_service/mruby/benchmark/build_config_boxing.rb +0 -28
  278. data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_arm64-v8a.rb +0 -26
  279. data/ext/enterprise_script_service/mruby/examples/targets/build_config_android_armeabi.rb +0 -26
  280. data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/kernel.c +0 -30
  281. data/ext/enterprise_script_service/mruby/mrblib/mrblib.rake +0 -18
  282. data/ext/enterprise_script_service/mruby/src/crc.c +0 -39
  283. data/ext/enterprise_script_service/mruby/src/mruby_core.rake +0 -19
@@ -24,7 +24,7 @@ vf_s_format_c(mrb_state *mrb, mrb_value klass)
24
24
  mrb_value fmt_str, arg_str;
25
25
  const char *fmt;
26
26
  char c;
27
-
27
+
28
28
  mrb_get_args(mrb, "SS", &fmt_str, &arg_str);
29
29
  fmt = RSTRING_CSTR(mrb, fmt_str);
30
30
  c = RSTRING_CSTR(mrb, arg_str)[0];
@@ -48,7 +48,7 @@ vf_s_format_d(mrb_state *mrb, mrb_value klass)
48
48
  return mrb_format(mrb, fmt, d);
49
49
  }
50
50
 
51
- #ifndef MRB_WITHOUT_FLOAT
51
+ #ifndef MRB_NO_FLOAT
52
52
  /* f float */
53
53
  static mrb_value
54
54
  vf_s_format_f(mrb_state *mrb, mrb_value klass)
@@ -164,10 +164,10 @@ mrb_init_test_vformat(mrb_state *mrb)
164
164
 
165
165
  #define VF_DEFINE_FORMAT_METHOD(t) VF_DEFINE_FORMAT_METHOD_n(t,2)
166
166
  #define VF_DEFINE_FORMAT_METHOD_n(t,n) mrb_define_class_method(mrb, vf, #t, vf_s_format_##t, MRB_ARGS_REQ(n));
167
-
167
+
168
168
  VF_DEFINE_FORMAT_METHOD(c);
169
169
  VF_DEFINE_FORMAT_METHOD(d);
170
- #ifndef MRB_WITHOUT_FLOAT
170
+ #ifndef MRB_NO_FLOAT
171
171
  VF_DEFINE_FORMAT_METHOD(f);
172
172
  #endif
173
173
  VF_DEFINE_FORMAT_METHOD(i);
@@ -4,7 +4,7 @@
4
4
  ** See Copyright Notice in mruby.h
5
5
  */
6
6
 
7
- #ifndef MRB_WITHOUT_FLOAT
7
+ #ifndef MRB_NO_FLOAT
8
8
  #include <math.h>
9
9
  #endif
10
10
 
@@ -14,8 +14,9 @@
14
14
  #include <mruby/numeric.h>
15
15
  #include <mruby/time.h>
16
16
  #include <mruby/string.h>
17
+ #include <mruby/presym.h>
17
18
 
18
- #ifdef MRB_DISABLE_STDIO
19
+ #ifdef MRB_NO_STDIO
19
20
  #include <string.h>
20
21
  #endif
21
22
 
@@ -30,7 +31,7 @@ double round(double x) {
30
31
  }
31
32
  #endif
32
33
 
33
- #ifndef MRB_WITHOUT_FLOAT
34
+ #ifndef MRB_NO_FLOAT
34
35
  # if !defined(__MINGW64__) && defined(_WIN32)
35
36
  # define llround(x) round(x)
36
37
  # endif
@@ -65,7 +66,7 @@ double round(double x) {
65
66
 
66
67
  /* asctime(3) */
67
68
  /* mruby usually use its own implementation of struct tm to string conversion */
68
- /* except when DISABLE_STDIO is set. In that case, it uses asctime() or asctime_r(). */
69
+ /* except when MRB_NO_STDIO is set. In that case, it uses asctime() or asctime_r(). */
69
70
  /* By default mruby tries to use asctime_r() which is reentrant. */
70
71
  /* Undef following macro on platforms that does not have asctime_r(). */
71
72
  /* #define NO_ASCTIME_R */
@@ -180,7 +181,7 @@ static const mrb_timezone_name timezone_names[] = {
180
181
  { "LOCAL", sizeof("LOCAL") - 1 },
181
182
  };
182
183
 
183
- #ifndef MRB_DISABLE_STDIO
184
+ #ifndef MRB_NO_STDIO
184
185
  static const char mon_names[12][4] = {
185
186
  "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
186
187
  };
@@ -199,13 +200,13 @@ struct mrb_time {
199
200
 
200
201
  static const struct mrb_data_type mrb_time_type = { "Time", mrb_free };
201
202
 
202
- #ifndef MRB_WITHOUT_FLOAT
203
+ #ifndef MRB_NO_FLOAT
203
204
  void mrb_check_num_exact(mrb_state *mrb, mrb_float num);
204
205
  typedef mrb_float mrb_sec;
205
206
  #define mrb_sec_value(mrb, sec) mrb_float_value(mrb, sec)
206
207
  #else
207
208
  typedef mrb_int mrb_sec;
208
- #define mrb_sec_value(mrb, sec) mrb_fixnum_value(sec)
209
+ #define mrb_sec_value(mrb, sec) mrb_int_value(mrb, sec)
209
210
  #endif
210
211
 
211
212
  #define MRB_TIME_T_UINT (~(time_t)0 > 0)
@@ -218,11 +219,15 @@ typedef mrb_int mrb_sec;
218
219
  (sizeof(time_t) <= 4 ? INT32_MAX : INT64_MAX) \
219
220
  )
220
221
 
222
+ /* return true if time_t is fit in mrb_int */
221
223
  static mrb_bool
222
224
  fixable_time_t_p(time_t v)
223
225
  {
224
226
  if (MRB_INT_MIN <= MRB_TIME_MIN && MRB_TIME_MAX <= MRB_INT_MAX) return TRUE;
225
- return FIXABLE(v);
227
+ if (v > (time_t)MRB_INT_MAX) return FALSE;
228
+ if (MRB_TIME_T_UINT) return TRUE;
229
+ if (MRB_INT_MIN > (mrb_int)v) return FALSE;
230
+ return TRUE;
226
231
  }
227
232
 
228
233
  static time_t
@@ -231,7 +236,7 @@ mrb_to_time_t(mrb_state *mrb, mrb_value obj, time_t *usec)
231
236
  time_t t;
232
237
 
233
238
  switch (mrb_type(obj)) {
234
- #ifndef MRB_WITHOUT_FLOAT
239
+ #ifndef MRB_NO_FLOAT
235
240
  case MRB_TT_FLOAT:
236
241
  {
237
242
  mrb_float f = mrb_float(obj);
@@ -250,14 +255,14 @@ mrb_to_time_t(mrb_state *mrb, mrb_value obj, time_t *usec)
250
255
  }
251
256
  }
252
257
  break;
253
- #endif /* MRB_WITHOUT_FLOAT */
258
+ #endif /* MRB_NO_FLOAT */
254
259
  default:
255
- case MRB_TT_FIXNUM:
260
+ case MRB_TT_INTEGER:
256
261
  {
257
- mrb_int i = mrb_int(mrb, obj);
262
+ mrb_int i = mrb_integer(obj);
258
263
 
259
- if ((MRB_INT_MAX > MRB_TIME_MAX && i > 0 && i > (mrb_int)MRB_TIME_MAX) ||
260
- (MRB_TIME_MIN > MRB_INT_MIN && MRB_TIME_MIN > i)) {
264
+ if ((MRB_INT_MAX > MRB_TIME_MAX && i > 0 && (time_t)i > MRB_TIME_MAX) ||
265
+ (0 > MRB_TIME_MIN && MRB_TIME_MIN > MRB_INT_MIN && MRB_TIME_MIN > i)) {
261
266
  goto out_of_range;
262
267
  }
263
268
 
@@ -420,7 +425,7 @@ mrb_time_now(mrb_state *mrb, mrb_value self)
420
425
  MRB_API mrb_value
421
426
  mrb_time_at(mrb_state *mrb, time_t sec, time_t usec, enum mrb_timezone zone)
422
427
  {
423
- return mrb_time_make_time(mrb, mrb_class_get(mrb, "Time"), sec, usec, zone);
428
+ return mrb_time_make_time(mrb, mrb_class_get_id(mrb, MRB_SYM(Time)), sec, usec, zone);
424
429
  }
425
430
 
426
431
  /* 15.2.19.6.1 */
@@ -572,7 +577,7 @@ mrb_time_minus(mrb_state *mrb, mrb_value self)
572
577
  tm = time_get_ptr(mrb, self);
573
578
  tm2 = DATA_CHECK_GET_PTR(mrb, other, &mrb_time_type, struct mrb_time);
574
579
  if (tm2) {
575
- #ifndef MRB_WITHOUT_FLOAT
580
+ #ifndef MRB_NO_FLOAT
576
581
  mrb_float f;
577
582
  f = (mrb_sec)(tm->sec - tm2->sec)
578
583
  + (mrb_sec)(tm->usec - tm2->usec) / 1.0e6;
@@ -581,7 +586,7 @@ mrb_time_minus(mrb_state *mrb, mrb_value self)
581
586
  mrb_int f;
582
587
  f = tm->sec - tm2->sec;
583
588
  if (tm->usec < tm2->usec) f--;
584
- return mrb_fixnum_value(f);
589
+ return mrb_int_value(mrb, f);
585
590
  #endif
586
591
  }
587
592
  else {
@@ -648,7 +653,7 @@ mrb_time_asctime(mrb_state *mrb, mrb_value self)
648
653
  struct tm *d = &tm->datetime;
649
654
  int len;
650
655
 
651
- #if defined(MRB_DISABLE_STDIO)
656
+ #if defined(MRB_NO_STDIO)
652
657
  char *s;
653
658
  # ifdef NO_ASCTIME_R
654
659
  s = asctime(d);
@@ -843,7 +848,7 @@ mrb_time_sec(mrb_state *mrb, mrb_value self)
843
848
  return mrb_fixnum_value(tm->datetime.tm_sec);
844
849
  }
845
850
 
846
- #ifndef MRB_WITHOUT_FLOAT
851
+ #ifndef MRB_NO_FLOAT
847
852
  /* 15.2.19.7.24 */
848
853
  /* Returns a Float with the time since the epoch in seconds. */
849
854
  static mrb_value
@@ -864,12 +869,12 @@ mrb_time_to_i(mrb_state *mrb, mrb_value self)
864
869
  struct mrb_time *tm;
865
870
 
866
871
  tm = time_get_ptr(mrb, self);
867
- #ifndef MRB_WITHOUT_FLOAT
872
+ #ifndef MRB_NO_FLOAT
868
873
  if (!fixable_time_t_p(tm->sec)) {
869
874
  return mrb_float_value(mrb, (mrb_float)tm->sec);
870
875
  }
871
876
  #endif
872
- return mrb_fixnum_value((mrb_int)tm->sec);
877
+ return mrb_int_value(mrb, (mrb_int)tm->sec);
873
878
  }
874
879
 
875
880
  /* 15.2.19.7.26 */
@@ -880,11 +885,6 @@ mrb_time_usec(mrb_state *mrb, mrb_value self)
880
885
  struct mrb_time *tm;
881
886
 
882
887
  tm = time_get_ptr(mrb, self);
883
- #ifndef MRB_WITHOUT_FLOAT
884
- if (!fixable_time_t_p(tm->usec)) {
885
- return mrb_float_value(mrb, (mrb_float)tm->usec);
886
- }
887
- #endif
888
888
  return mrb_fixnum_value((mrb_int)tm->usec);
889
889
  }
890
890
 
@@ -995,7 +995,7 @@ mrb_mruby_time_gem_init(mrb_state* mrb)
995
995
 
996
996
  mrb_define_method(mrb, tc, "sec" , mrb_time_sec, MRB_ARGS_NONE()); /* 15.2.19.7.23 */
997
997
  mrb_define_method(mrb, tc, "to_i", mrb_time_to_i, MRB_ARGS_NONE()); /* 15.2.19.7.25 */
998
- #ifndef MRB_WITHOUT_FLOAT
998
+ #ifndef MRB_NO_FLOAT
999
999
  mrb_define_method(mrb, tc, "to_f", mrb_time_to_f, MRB_ARGS_NONE()); /* 15.2.19.7.24 */
1000
1000
  #endif
1001
1001
  mrb_define_method(mrb, tc, "usec", mrb_time_usec, MRB_ARGS_NONE()); /* 15.2.19.7.26 */
@@ -0,0 +1,18 @@
1
+ # It also works with MRB_NO_STDIO and MRB_NO_FLOAT.
2
+
3
+ MRuby::GemBox.new do |conf|
4
+ # Use standard Array#pack, String#unpack methods
5
+ conf.gem :core => "mruby-pack"
6
+
7
+ # Use standard Kernel#sprintf method
8
+ conf.gem :core => "mruby-sprintf"
9
+
10
+ # Use standard Time class
11
+ conf.gem :core => "mruby-time"
12
+
13
+ # Use standard Struct class
14
+ conf.gem :core => "mruby-struct"
15
+
16
+ # Use Random class
17
+ conf.gem :core => "mruby-random"
18
+ end
@@ -0,0 +1,12 @@
1
+ # It also works with MRB_NO_FLOAT.
2
+
3
+ MRuby::GemBox.new do |conf|
4
+ # Use standard IO/File class
5
+ conf.gem :core => "mruby-io"
6
+
7
+ # Use standard IO/File class
8
+ conf.gem :core => "mruby-socket"
9
+
10
+ # Use standard print/puts/p
11
+ conf.gem :core => "mruby-print"
12
+ end
@@ -0,0 +1,54 @@
1
+ # It also works with MRB_NO_STDIO and MRB_NO_FLOAT.
2
+
3
+ MRuby::GemBox.new do |conf|
4
+ # Use Comparable module extension
5
+ conf.gem :core => "mruby-compar-ext"
6
+
7
+ # Use Enumerable module extension
8
+ conf.gem :core => "mruby-enum-ext"
9
+
10
+ # Use String class extension
11
+ conf.gem :core => "mruby-string-ext"
12
+
13
+ # Use Numeric class extension
14
+ conf.gem :core => "mruby-numeric-ext"
15
+
16
+ # Use Array class extension
17
+ conf.gem :core => "mruby-array-ext"
18
+
19
+ # Use Hash class extension
20
+ conf.gem :core => "mruby-hash-ext"
21
+
22
+ # Use Range class extension
23
+ conf.gem :core => "mruby-range-ext"
24
+
25
+ # Use Proc class extension
26
+ conf.gem :core => "mruby-proc-ext"
27
+
28
+ # Use Symbol class extension
29
+ conf.gem :core => "mruby-symbol-ext"
30
+
31
+ # Use Object class extension
32
+ conf.gem :core => "mruby-object-ext"
33
+
34
+ # Use ObjectSpace class
35
+ conf.gem :core => "mruby-objectspace"
36
+
37
+ # Use Fiber class
38
+ conf.gem :core => "mruby-fiber"
39
+
40
+ # Use Enumerator class (require mruby-fiber)
41
+ conf.gem :core => "mruby-enumerator"
42
+
43
+ # Use Enumerator::Lazy class (require mruby-enumerator)
44
+ conf.gem :core => "mruby-enum-lazy"
45
+
46
+ # Use toplevel object (main) methods extension
47
+ conf.gem :core => "mruby-toplevel-ext"
48
+
49
+ # Use Kernel module extension
50
+ conf.gem :core => "mruby-kernel-ext"
51
+
52
+ # Use class/module extension
53
+ conf.gem :core => "mruby-class-ext"
54
+ end
@@ -21,6 +21,10 @@ class RegexpError < StandardError
21
21
  class TypeError < StandardError
22
22
  end
23
23
 
24
+ # ISO 15.2.30
25
+ class ZeroDivisionError < StandardError
26
+ end
27
+
24
28
  # ISO 15.2.31
25
29
  class NameError < StandardError
26
30
  attr_accessor :name
@@ -10,16 +10,16 @@ class Array
10
10
  # and pass the respective element.
11
11
  #
12
12
  # ISO 15.2.12.5.10
13
- # def each(&block)
14
- # return to_enum :each unless block
13
+ def each(&block)
14
+ return to_enum :each unless block
15
15
 
16
- # idx = 0
17
- # while idx < length
18
- # block.call(self[idx])
19
- # idx += 1
20
- # end
21
- # self
22
- # end
16
+ idx = 0
17
+ while idx < length
18
+ block.call(self[idx])
19
+ idx += 1
20
+ end
21
+ self
22
+ end
23
23
 
24
24
  ##
25
25
  # Calls the given block for each element of +self+
@@ -66,6 +66,10 @@ def collect!(&block)
66
66
  #
67
67
  # ISO 15.2.12.5.15
68
68
  def initialize(size=0, obj=nil, &block)
69
+ if size.is_a?(Array) && obj==nil && block == nil
70
+ self.replace(size)
71
+ return self
72
+ end
69
73
  size = size.__to_int
70
74
  raise ArgumentError, "negative array size" if size < 0
71
75
 
@@ -268,4 +272,8 @@ def sort!(&block)
268
272
  def sort(&block)
269
273
  self.dup.sort!(&block)
270
274
  end
275
+
276
+ def to_a
277
+ self
278
+ end
271
279
  end
@@ -10,7 +10,7 @@
10
10
  # implement a meaningful `<=>` operator, as these methods
11
11
  # rely on an ordering between members of the collection.
12
12
  #
13
- # @ISO 15.3.2
13
+ # ISO 15.3.2
14
14
  module Enumerable
15
15
 
16
16
  NONE = Object.new
@@ -144,26 +144,6 @@ def each_value(&block)
144
144
  self
145
145
  end
146
146
 
147
- ##
148
- # Replaces the contents of <i>hsh</i> with the contents of other hash
149
- #
150
- # ISO 15.2.13.4.23
151
- def replace(hash)
152
- raise TypeError, "Hash required (#{hash.class} given)" unless Hash === hash
153
- self.clear
154
- hash.each_key{|k|
155
- self[k] = hash[k]
156
- }
157
- if hash.default_proc
158
- self.default_proc = hash.default_proc
159
- else
160
- self.default = hash.default
161
- end
162
- self
163
- end
164
- # ISO 15.2.13.4.17
165
- alias initialize_copy replace
166
-
167
147
  ##
168
148
  # Return a hash which contains the content of
169
149
  # +self+ and +other+. If a block is given
@@ -1,11 +0,0 @@
1
- #include <mruby.h>
2
- #include <mruby/irep.h>
3
-
4
- extern const uint8_t mrblib_irep[];
5
-
6
- void
7
- mrb_init_mrblib(mrb_state *mrb)
8
- {
9
- mrb_load_irep(mrb, mrblib_irep);
10
- }
11
-
@@ -34,11 +34,11 @@ def abs
34
34
  end
35
35
 
36
36
  ##
37
- # Integral
37
+ # Integer
38
38
  #
39
- # mruby special - module to share methods between Floats and Integers
40
- # to make them compatible
41
- module Integral
39
+ # ISO 15.2.8
40
+ ##
41
+ class Integer
42
42
  ##
43
43
  # Calls the given block once for each Integer
44
44
  # from +self+ downto +num+.
@@ -125,14 +125,7 @@ def step(num=nil, step=1, &block)
125
125
  end
126
126
  self
127
127
  end
128
- end
129
128
 
130
- ##
131
- # Integer
132
- #
133
- # ISO 15.2.8
134
- class Integer
135
- include Integral
136
129
  ##
137
130
  # Returns the receiver simply.
138
131
  #
@@ -161,3 +154,35 @@ def floor
161
154
  # ISO 15.2.8.3.26
162
155
  alias truncate floor
163
156
  end
157
+
158
+ class Float
159
+ ##
160
+ # Calls the given block from +self+ to +num+
161
+ # incremented by +step+ (default 1).
162
+ #
163
+ def step(num=nil, step=1, &block)
164
+ raise ArgumentError, "step can't be 0" if step == 0
165
+ return to_enum(:step, num, step) unless block
166
+
167
+ i = self
168
+ if num == self || step.infinite?
169
+ block.call(i) if step > 0 && i <= (num||i) || step < 0 && i >= (num||-i)
170
+ elsif num == nil
171
+ while true
172
+ block.call(i)
173
+ i += step
174
+ end
175
+ elsif step > 0
176
+ while i <= num
177
+ block.call(i)
178
+ i += step
179
+ end
180
+ else
181
+ while i >= num
182
+ block.call(i)
183
+ i += step
184
+ end
185
+ end
186
+ self
187
+ end
188
+ end if Object.const_defined?(:Float)