debase-ruby_core_source 0.10.7 → 0.10.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +1 -1
  4. data/Rakefile +6 -3
  5. data/debase-ruby_core_source.gemspec +2 -1
  6. data/lib/debase/ruby_core_source.rb +0 -1
  7. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/addr2line.h +0 -0
  8. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/builtin.h +78 -0
  9. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/ccan/build_assert/build_assert.h +0 -0
  10. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/ccan/check_type/check_type.h +0 -0
  11. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/ccan/container_of/container_of.h +0 -0
  12. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/ccan/list/list.h +0 -0
  13. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/ccan/str/str.h +0 -0
  14. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/constant.h +0 -4
  15. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/debug_counter.h +21 -9
  16. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/dln.h +0 -0
  17. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/encindex.h +0 -0
  18. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/eval_intern.h +1 -3
  19. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/gc.h +2 -0
  20. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/hrtime.h +0 -0
  21. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/id.h +1 -3
  22. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/id_table.h +0 -0
  23. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/insns.inc +6 -2
  24. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/insns_info.inc +1471 -1888
  25. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/internal.h +106 -91
  26. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/iseq.h +5 -5
  27. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/known_errors.inc +0 -0
  28. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/method.h +1 -4
  29. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/mjit.h +3 -5
  30. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/mjit_compile.inc +768 -872
  31. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/node.h +4 -11
  32. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/node_name.inc +0 -2
  33. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/opt_sc.inc +109 -0
  34. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/optinsn.inc +0 -0
  35. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/optunifs.inc +43 -0
  36. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/parse.h +1 -1
  37. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/probes_helper.h +0 -0
  38. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/regenc.h +0 -0
  39. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/regint.h +0 -0
  40. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/regparse.h +0 -0
  41. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/revision.h +2 -0
  42. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/ruby_assert.h +0 -0
  43. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/ruby_atomic.h +0 -0
  44. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/siphash.h +0 -0
  45. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/symbol.h +0 -0
  46. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/thread_pthread.h +0 -0
  47. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/thread_win32.h +0 -0
  48. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/timev.h +0 -0
  49. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/transcode_data.h +0 -0
  50. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/transient_heap.h +0 -0
  51. data/lib/debase/ruby_core_source/ruby-2.7.0-p0/variable.h +9 -0
  52. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/version.h +4 -4
  53. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/vm.inc +604 -407
  54. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/vm_call_iseq_optimized.inc +49 -49
  55. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/vm_core.h +42 -29
  56. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/vm_debug.h +0 -0
  57. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/vm_exec.h +0 -0
  58. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/vm_insnhelper.h +16 -4
  59. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/vm_opts.h +2 -0
  60. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-2.7.0-p0}/vmtc.inc +6 -2
  61. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/addr2line.h +20 -0
  62. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/builtin.h +83 -0
  63. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ccan/build_assert/build_assert.h +40 -0
  64. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ccan/check_type/check_type.h +63 -0
  65. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ccan/container_of/container_of.h +142 -0
  66. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ccan/list/list.h +788 -0
  67. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ccan/str/str.h +16 -0
  68. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/constant.h +55 -0
  69. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/debug_counter.h +457 -0
  70. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/dln.h +36 -0
  71. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/encindex.h +70 -0
  72. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/eval_intern.h +323 -0
  73. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/gc.h +140 -0
  74. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/hrtime.h +168 -0
  75. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/id.h +290 -0
  76. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/id_table.h +36 -0
  77. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/insns.inc +249 -0
  78. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/insns_info.inc +8983 -0
  79. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal.h +107 -0
  80. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/array.h +119 -0
  81. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/bignum.h +246 -0
  82. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/bits.h +566 -0
  83. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/class.h +174 -0
  84. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compar.h +50 -0
  85. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compile.h +32 -0
  86. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compilers.h +108 -0
  87. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/complex.h +29 -0
  88. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/cont.h +25 -0
  89. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/dir.h +17 -0
  90. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enc.h +20 -0
  91. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/encoding.h +28 -0
  92. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enum.h +19 -0
  93. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enumerator.h +22 -0
  94. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/error.h +124 -0
  95. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/eval.h +33 -0
  96. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/file.h +39 -0
  97. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/fixnum.h +185 -0
  98. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/gc.h +161 -0
  99. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/hash.h +241 -0
  100. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/imemo.h +243 -0
  101. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/inits.h +51 -0
  102. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/io.h +35 -0
  103. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/load.h +19 -0
  104. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/loadpath.h +17 -0
  105. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/math.h +24 -0
  106. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/missing.h +19 -0
  107. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/numeric.h +255 -0
  108. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/object.h +83 -0
  109. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/parse.h +23 -0
  110. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/proc.h +33 -0
  111. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/process.h +136 -0
  112. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/random.h +17 -0
  113. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/range.h +41 -0
  114. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/rational.h +71 -0
  115. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/re.h +29 -0
  116. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/sanitizers.h +191 -0
  117. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/scheduler.h +44 -0
  118. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/serial.h +24 -0
  119. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/signal.h +22 -0
  120. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/static_assert.h +17 -0
  121. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/string.h +140 -0
  122. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/struct.h +154 -0
  123. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/symbol.h +41 -0
  124. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h +54 -0
  125. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/time.h +35 -0
  126. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/transcode.h +21 -0
  127. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/util.h +31 -0
  128. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/variable.h +84 -0
  129. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/vm.h +136 -0
  130. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/warnings.h +17 -0
  131. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/iseq.h +305 -0
  132. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/known_errors.inc +791 -0
  133. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/method.h +245 -0
  134. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/mjit.h +220 -0
  135. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/mjit_compile.inc +8240 -0
  136. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/node.h +484 -0
  137. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/node_name.inc +210 -0
  138. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/opt_sc.inc +0 -0
  139. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/optinsn.inc +128 -0
  140. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/optunifs.inc +0 -0
  141. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/parse.h +211 -0
  142. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/probes_helper.h +44 -0
  143. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ractor_core.h +343 -0
  144. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/regenc.h +254 -0
  145. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/regint.h +938 -0
  146. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/regparse.h +370 -0
  147. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/revision.h +2 -0
  148. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ruby_assert.h +15 -0
  149. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ruby_atomic.h +23 -0
  150. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/siphash.h +48 -0
  151. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/symbol.h +119 -0
  152. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/thread_pthread.h +115 -0
  153. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/thread_win32.h +61 -0
  154. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/timev.h +57 -0
  155. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/transcode_data.h +138 -0
  156. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/transient_heap.h +65 -0
  157. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/variable.h +22 -0
  158. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/version.h +89 -0
  159. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm.inc +5355 -0
  160. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_call_iseq_optimized.inc +244 -0
  161. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_callinfo.h +456 -0
  162. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_core.h +2023 -0
  163. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_debug.h +116 -0
  164. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_exec.h +196 -0
  165. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_insnhelper.h +257 -0
  166. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_opts.h +73 -0
  167. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_sync.h +136 -0
  168. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vmtc.inc +243 -0
  169. data/lib/debase/ruby_core_source/version.rb +1 -1
  170. metadata +181 -57
  171. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/revision.h +0 -2
@@ -0,0 +1,210 @@
1
+ case NODE_SCOPE:
2
+ return "NODE_SCOPE";
3
+ case NODE_BLOCK:
4
+ return "NODE_BLOCK";
5
+ case NODE_IF:
6
+ return "NODE_IF";
7
+ case NODE_UNLESS:
8
+ return "NODE_UNLESS";
9
+ case NODE_CASE:
10
+ return "NODE_CASE";
11
+ case NODE_CASE2:
12
+ return "NODE_CASE2";
13
+ case NODE_CASE3:
14
+ return "NODE_CASE3";
15
+ case NODE_WHEN:
16
+ return "NODE_WHEN";
17
+ case NODE_IN:
18
+ return "NODE_IN";
19
+ case NODE_WHILE:
20
+ return "NODE_WHILE";
21
+ case NODE_UNTIL:
22
+ return "NODE_UNTIL";
23
+ case NODE_ITER:
24
+ return "NODE_ITER";
25
+ case NODE_FOR:
26
+ return "NODE_FOR";
27
+ case NODE_FOR_MASGN:
28
+ return "NODE_FOR_MASGN";
29
+ case NODE_BREAK:
30
+ return "NODE_BREAK";
31
+ case NODE_NEXT:
32
+ return "NODE_NEXT";
33
+ case NODE_REDO:
34
+ return "NODE_REDO";
35
+ case NODE_RETRY:
36
+ return "NODE_RETRY";
37
+ case NODE_BEGIN:
38
+ return "NODE_BEGIN";
39
+ case NODE_RESCUE:
40
+ return "NODE_RESCUE";
41
+ case NODE_RESBODY:
42
+ return "NODE_RESBODY";
43
+ case NODE_ENSURE:
44
+ return "NODE_ENSURE";
45
+ case NODE_AND:
46
+ return "NODE_AND";
47
+ case NODE_OR:
48
+ return "NODE_OR";
49
+ case NODE_MASGN:
50
+ return "NODE_MASGN";
51
+ case NODE_LASGN:
52
+ return "NODE_LASGN";
53
+ case NODE_DASGN:
54
+ return "NODE_DASGN";
55
+ case NODE_DASGN_CURR:
56
+ return "NODE_DASGN_CURR";
57
+ case NODE_GASGN:
58
+ return "NODE_GASGN";
59
+ case NODE_IASGN:
60
+ return "NODE_IASGN";
61
+ case NODE_CDECL:
62
+ return "NODE_CDECL";
63
+ case NODE_CVASGN:
64
+ return "NODE_CVASGN";
65
+ case NODE_OP_ASGN1:
66
+ return "NODE_OP_ASGN1";
67
+ case NODE_OP_ASGN2:
68
+ return "NODE_OP_ASGN2";
69
+ case NODE_OP_ASGN_AND:
70
+ return "NODE_OP_ASGN_AND";
71
+ case NODE_OP_ASGN_OR:
72
+ return "NODE_OP_ASGN_OR";
73
+ case NODE_OP_CDECL:
74
+ return "NODE_OP_CDECL";
75
+ case NODE_CALL:
76
+ return "NODE_CALL";
77
+ case NODE_OPCALL:
78
+ return "NODE_OPCALL";
79
+ case NODE_FCALL:
80
+ return "NODE_FCALL";
81
+ case NODE_VCALL:
82
+ return "NODE_VCALL";
83
+ case NODE_QCALL:
84
+ return "NODE_QCALL";
85
+ case NODE_SUPER:
86
+ return "NODE_SUPER";
87
+ case NODE_ZSUPER:
88
+ return "NODE_ZSUPER";
89
+ case NODE_LIST:
90
+ return "NODE_LIST";
91
+ case NODE_ZLIST:
92
+ return "NODE_ZLIST";
93
+ case NODE_VALUES:
94
+ return "NODE_VALUES";
95
+ case NODE_HASH:
96
+ return "NODE_HASH";
97
+ case NODE_RETURN:
98
+ return "NODE_RETURN";
99
+ case NODE_YIELD:
100
+ return "NODE_YIELD";
101
+ case NODE_LVAR:
102
+ return "NODE_LVAR";
103
+ case NODE_DVAR:
104
+ return "NODE_DVAR";
105
+ case NODE_GVAR:
106
+ return "NODE_GVAR";
107
+ case NODE_IVAR:
108
+ return "NODE_IVAR";
109
+ case NODE_CONST:
110
+ return "NODE_CONST";
111
+ case NODE_CVAR:
112
+ return "NODE_CVAR";
113
+ case NODE_NTH_REF:
114
+ return "NODE_NTH_REF";
115
+ case NODE_BACK_REF:
116
+ return "NODE_BACK_REF";
117
+ case NODE_MATCH:
118
+ return "NODE_MATCH";
119
+ case NODE_MATCH2:
120
+ return "NODE_MATCH2";
121
+ case NODE_MATCH3:
122
+ return "NODE_MATCH3";
123
+ case NODE_LIT:
124
+ return "NODE_LIT";
125
+ case NODE_STR:
126
+ return "NODE_STR";
127
+ case NODE_DSTR:
128
+ return "NODE_DSTR";
129
+ case NODE_XSTR:
130
+ return "NODE_XSTR";
131
+ case NODE_DXSTR:
132
+ return "NODE_DXSTR";
133
+ case NODE_EVSTR:
134
+ return "NODE_EVSTR";
135
+ case NODE_DREGX:
136
+ return "NODE_DREGX";
137
+ case NODE_ONCE:
138
+ return "NODE_ONCE";
139
+ case NODE_ARGS:
140
+ return "NODE_ARGS";
141
+ case NODE_ARGS_AUX:
142
+ return "NODE_ARGS_AUX";
143
+ case NODE_OPT_ARG:
144
+ return "NODE_OPT_ARG";
145
+ case NODE_KW_ARG:
146
+ return "NODE_KW_ARG";
147
+ case NODE_POSTARG:
148
+ return "NODE_POSTARG";
149
+ case NODE_ARGSCAT:
150
+ return "NODE_ARGSCAT";
151
+ case NODE_ARGSPUSH:
152
+ return "NODE_ARGSPUSH";
153
+ case NODE_SPLAT:
154
+ return "NODE_SPLAT";
155
+ case NODE_BLOCK_PASS:
156
+ return "NODE_BLOCK_PASS";
157
+ case NODE_DEFN:
158
+ return "NODE_DEFN";
159
+ case NODE_DEFS:
160
+ return "NODE_DEFS";
161
+ case NODE_ALIAS:
162
+ return "NODE_ALIAS";
163
+ case NODE_VALIAS:
164
+ return "NODE_VALIAS";
165
+ case NODE_UNDEF:
166
+ return "NODE_UNDEF";
167
+ case NODE_CLASS:
168
+ return "NODE_CLASS";
169
+ case NODE_MODULE:
170
+ return "NODE_MODULE";
171
+ case NODE_SCLASS:
172
+ return "NODE_SCLASS";
173
+ case NODE_COLON2:
174
+ return "NODE_COLON2";
175
+ case NODE_COLON3:
176
+ return "NODE_COLON3";
177
+ case NODE_DOT2:
178
+ return "NODE_DOT2";
179
+ case NODE_DOT3:
180
+ return "NODE_DOT3";
181
+ case NODE_FLIP2:
182
+ return "NODE_FLIP2";
183
+ case NODE_FLIP3:
184
+ return "NODE_FLIP3";
185
+ case NODE_SELF:
186
+ return "NODE_SELF";
187
+ case NODE_NIL:
188
+ return "NODE_NIL";
189
+ case NODE_TRUE:
190
+ return "NODE_TRUE";
191
+ case NODE_FALSE:
192
+ return "NODE_FALSE";
193
+ case NODE_ERRINFO:
194
+ return "NODE_ERRINFO";
195
+ case NODE_DEFINED:
196
+ return "NODE_DEFINED";
197
+ case NODE_POSTEXE:
198
+ return "NODE_POSTEXE";
199
+ case NODE_DSYM:
200
+ return "NODE_DSYM";
201
+ case NODE_ATTRASGN:
202
+ return "NODE_ATTRASGN";
203
+ case NODE_LAMBDA:
204
+ return "NODE_LAMBDA";
205
+ case NODE_ARYPTN:
206
+ return "NODE_ARYPTN";
207
+ case NODE_HSHPTN:
208
+ return "NODE_HSHPTN";
209
+ case NODE_FNDPTN:
210
+ return "NODE_FNDPTN";
@@ -0,0 +1,128 @@
1
+ /* -*- C -*- */
2
+
3
+ /* This is an auto-generated file and is a part of the programming language
4
+ * Ruby. The person who created a program to generate this file (``I''
5
+ * hereafter) would like to refrain from defining licensing of this generated
6
+ * source code.
7
+ *
8
+ * This file consists of many small parts of codes copyrighted by each author,
9
+ * not only the ``I'' person. Those original authors agree with some
10
+ * open-source license. I believe that the license we agree is the condition
11
+ * mentioned in the file COPYING. It states "4. You may modify and include
12
+ * the part of the software into any other software ...". But the problem is,
13
+ * the license never makes it clear if such modified parts still remain in the
14
+ * same license, or not. The fact that we agree with the source code's
15
+ * licensing terms does not automatically define that of generated ones. This
16
+ * is the reason why this file is under an unclear situation. All what I know
17
+ * is that above provision guarantees this file to exist.
18
+ *
19
+ * Please let me hesitate to declare something about this nuanced contract. I
20
+ * am not in the position to take over other authors' license to merge into my
21
+ * one. Changing them to (say) GPLv3 is not doable by myself. Perhaps someday
22
+ * it might turn out to be okay to say this file is under a license. I wish
23
+ * the situation would become more clear in the future. */
24
+ /*******************************************************************/
25
+ /*******************************************************************/
26
+ /*******************************************************************/
27
+ /**
28
+ This file is for threaded code.
29
+
30
+ ----
31
+ This file is auto generated by insns2vm.rb
32
+ DO NOT TOUCH!
33
+
34
+ If you want to fix something, you must edit "tool/ruby_vm/views/optinsn.inc.erb"
35
+ or tool/insns2vm.rb
36
+ */
37
+
38
+ static INSN *
39
+ insn_operands_unification(INSN *iobj)
40
+ {
41
+ #ifdef OPT_OPERANDS_UNIFICATION
42
+ VALUE *op = iobj->operands;
43
+
44
+ switch (iobj->insn_id) {
45
+ default:
46
+ /* do nothing */;
47
+ break;
48
+
49
+ case BIN(getlocal):
50
+
51
+ /* getlocal_WC_0(idx)()(val) */
52
+ if ( op[1] == LONG2NUM(0) ) {
53
+ iobj->insn_id = BIN(getlocal_WC_0);
54
+ iobj->operand_size = 1;
55
+ break;
56
+ }
57
+
58
+ /* getlocal_WC_1(idx)()(val) */
59
+ if ( op[1] == LONG2NUM(1) ) {
60
+ iobj->insn_id = BIN(getlocal_WC_1);
61
+ iobj->operand_size = 1;
62
+ break;
63
+ }
64
+
65
+ break;
66
+ case BIN(setlocal):
67
+
68
+ /* setlocal_WC_0(idx)(val)() */
69
+ if ( op[1] == LONG2NUM(0) ) {
70
+ iobj->insn_id = BIN(setlocal_WC_0);
71
+ iobj->operand_size = 1;
72
+ break;
73
+ }
74
+
75
+ /* setlocal_WC_1(idx)(val)() */
76
+ if ( op[1] == LONG2NUM(1) ) {
77
+ iobj->insn_id = BIN(setlocal_WC_1);
78
+ iobj->operand_size = 1;
79
+ break;
80
+ }
81
+
82
+ break;
83
+ case BIN(putobject):
84
+
85
+ /* putobject_INT2FIX_0_()()(val) */
86
+ if ( op[0] == INT2FIX(0) ) {
87
+ iobj->insn_id = BIN(putobject_INT2FIX_0_);
88
+ iobj->operand_size = 0;
89
+ break;
90
+ }
91
+
92
+ /* putobject_INT2FIX_1_()()(val) */
93
+ if ( op[0] == INT2FIX(1) ) {
94
+ iobj->insn_id = BIN(putobject_INT2FIX_1_);
95
+ iobj->operand_size = 0;
96
+ break;
97
+ }
98
+
99
+ break;
100
+ }
101
+ #endif
102
+ return iobj;
103
+ }
104
+
105
+ int
106
+ rb_insn_unified_local_var_level(VALUE insn)
107
+ {
108
+ #ifdef OPT_OPERANDS_UNIFICATION
109
+ /* optimize rule */
110
+ switch (insn) {
111
+ default:
112
+ return -1; /* do nothing */;
113
+ case BIN(getlocal_WC_0):
114
+ return 0;
115
+ case BIN(getlocal_WC_1):
116
+ return 1;
117
+ case BIN(setlocal_WC_0):
118
+ return 0;
119
+ case BIN(setlocal_WC_1):
120
+ return 1;
121
+ case BIN(putobject_INT2FIX_0_):
122
+ return INT2FIX(0);
123
+ case BIN(putobject_INT2FIX_1_):
124
+ return INT2FIX(1);
125
+ }
126
+ #endif
127
+ return -1;
128
+ }
@@ -0,0 +1,211 @@
1
+ /* A Bison parser, made by GNU Bison 3.0.4. */
2
+
3
+ /* Bison interface for Yacc-like parsers in C
4
+
5
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
+
20
+ /* As a special exception, you may create a larger work that contains
21
+ part or all of the Bison parser skeleton and distribute that work
22
+ under terms of your choice, so long as that work isn't itself a
23
+ parser generator using the skeleton or a modified version thereof
24
+ as a parser skeleton. Alternatively, if you modify or redistribute
25
+ the parser skeleton itself, you may (at your option) remove this
26
+ special exception, which will cause the skeleton and the resulting
27
+ Bison output files to be licensed under the GNU General Public
28
+ License without this special exception.
29
+
30
+ This special exception was added by the Free Software Foundation in
31
+ version 2.2 of Bison. */
32
+
33
+ #ifndef YY_YY_Y_TAB_H_INCLUDED
34
+ # define YY_YY_Y_TAB_H_INCLUDED
35
+ /* Debug traces. */
36
+ #ifndef YYDEBUG
37
+ # define YYDEBUG 0
38
+ #endif
39
+ #if YYDEBUG
40
+ extern int yydebug;
41
+ #endif
42
+
43
+ /* Token type. */
44
+ #ifndef YYTOKENTYPE
45
+ # define YYTOKENTYPE
46
+ enum yytokentype
47
+ {
48
+ END_OF_INPUT = 0,
49
+ keyword_class = 258,
50
+ keyword_module = 259,
51
+ keyword_def = 260,
52
+ keyword_undef = 261,
53
+ keyword_begin = 262,
54
+ keyword_rescue = 263,
55
+ keyword_ensure = 264,
56
+ keyword_end = 265,
57
+ keyword_if = 266,
58
+ keyword_unless = 267,
59
+ keyword_then = 268,
60
+ keyword_elsif = 269,
61
+ keyword_else = 270,
62
+ keyword_case = 271,
63
+ keyword_when = 272,
64
+ keyword_while = 273,
65
+ keyword_until = 274,
66
+ keyword_for = 275,
67
+ keyword_break = 276,
68
+ keyword_next = 277,
69
+ keyword_redo = 278,
70
+ keyword_retry = 279,
71
+ keyword_in = 280,
72
+ keyword_do = 281,
73
+ keyword_do_cond = 282,
74
+ keyword_do_block = 283,
75
+ keyword_do_LAMBDA = 284,
76
+ keyword_return = 285,
77
+ keyword_yield = 286,
78
+ keyword_super = 287,
79
+ keyword_self = 288,
80
+ keyword_nil = 289,
81
+ keyword_true = 290,
82
+ keyword_false = 291,
83
+ keyword_and = 292,
84
+ keyword_or = 293,
85
+ keyword_not = 294,
86
+ modifier_if = 295,
87
+ modifier_unless = 296,
88
+ modifier_while = 297,
89
+ modifier_until = 298,
90
+ modifier_rescue = 299,
91
+ keyword_alias = 300,
92
+ keyword_defined = 301,
93
+ keyword_BEGIN = 302,
94
+ keyword_END = 303,
95
+ keyword__LINE__ = 304,
96
+ keyword__FILE__ = 305,
97
+ keyword__ENCODING__ = 306,
98
+ tIDENTIFIER = 307,
99
+ tFID = 308,
100
+ tGVAR = 309,
101
+ tIVAR = 310,
102
+ tCONSTANT = 311,
103
+ tCVAR = 312,
104
+ tLABEL = 313,
105
+ tINTEGER = 314,
106
+ tFLOAT = 315,
107
+ tRATIONAL = 316,
108
+ tIMAGINARY = 317,
109
+ tCHAR = 318,
110
+ tNTH_REF = 319,
111
+ tBACK_REF = 320,
112
+ tSTRING_CONTENT = 321,
113
+ tREGEXP_END = 322,
114
+ tSP = 323,
115
+ tUPLUS = 132,
116
+ tUMINUS = 133,
117
+ tPOW = 134,
118
+ tCMP = 135,
119
+ tEQ = 140,
120
+ tEQQ = 141,
121
+ tNEQ = 142,
122
+ tGEQ = 139,
123
+ tLEQ = 138,
124
+ tANDOP = 148,
125
+ tOROP = 149,
126
+ tMATCH = 143,
127
+ tNMATCH = 144,
128
+ tDOT2 = 128,
129
+ tDOT3 = 129,
130
+ tBDOT2 = 130,
131
+ tBDOT3 = 131,
132
+ tAREF = 145,
133
+ tASET = 146,
134
+ tLSHFT = 136,
135
+ tRSHFT = 137,
136
+ tANDDOT = 150,
137
+ tCOLON2 = 147,
138
+ tCOLON3 = 324,
139
+ tOP_ASGN = 325,
140
+ tASSOC = 326,
141
+ tLPAREN = 327,
142
+ tLPAREN_ARG = 328,
143
+ tRPAREN = 329,
144
+ tLBRACK = 330,
145
+ tLBRACE = 331,
146
+ tLBRACE_ARG = 332,
147
+ tSTAR = 333,
148
+ tDSTAR = 334,
149
+ tAMPER = 335,
150
+ tLAMBDA = 336,
151
+ tSYMBEG = 337,
152
+ tSTRING_BEG = 338,
153
+ tXSTRING_BEG = 339,
154
+ tREGEXP_BEG = 340,
155
+ tWORDS_BEG = 341,
156
+ tQWORDS_BEG = 342,
157
+ tSYMBOLS_BEG = 343,
158
+ tQSYMBOLS_BEG = 344,
159
+ tSTRING_END = 345,
160
+ tSTRING_DEND = 346,
161
+ tSTRING_DBEG = 347,
162
+ tSTRING_DVAR = 348,
163
+ tLAMBEG = 349,
164
+ tLABEL_END = 350,
165
+ tLOWEST = 351,
166
+ tUMINUS_NUM = 352,
167
+ tLAST_TOKEN = 353
168
+ };
169
+ #endif
170
+
171
+ /* Value type. */
172
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
173
+
174
+ union YYSTYPE
175
+ {
176
+
177
+ VALUE val;
178
+ NODE *node;
179
+ ID id;
180
+ int num;
181
+ st_table *tbl;
182
+ const struct vtable *vars;
183
+ struct rb_strterm_struct *strterm;
184
+ struct lex_context ctxt;
185
+
186
+ };
187
+
188
+ typedef union YYSTYPE YYSTYPE;
189
+ # define YYSTYPE_IS_TRIVIAL 1
190
+ # define YYSTYPE_IS_DECLARED 1
191
+ #endif
192
+
193
+ /* Location type. */
194
+ #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
195
+ typedef struct YYLTYPE YYLTYPE;
196
+ struct YYLTYPE
197
+ {
198
+ int first_line;
199
+ int first_column;
200
+ int last_line;
201
+ int last_column;
202
+ };
203
+ # define YYLTYPE_IS_DECLARED 1
204
+ # define YYLTYPE_IS_TRIVIAL 1
205
+ #endif
206
+
207
+
208
+
209
+ int yyparse (struct parser_params *p);
210
+
211
+ #endif /* !YY_YY_Y_TAB_H_INCLUDED */