ruby-internal 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. data/README +204 -6
  2. data/ext/cached/ruby-1.6.8/internal/binding/block.h +35 -0
  3. data/ext/cached/ruby-1.6.8/internal/method/method.h +19 -0
  4. data/ext/cached/ruby-1.6.8/internal/module/classpath.c +3 -0
  5. data/ext/cached/ruby-1.6.8/internal/module/classpath.h +8 -0
  6. data/ext/cached/ruby-1.6.8/internal/node/block.h +35 -0
  7. data/ext/cached/ruby-1.6.8/internal/node/global_entry.h +15 -0
  8. data/ext/cached/ruby-1.6.8/internal/node/node_type_descrip.c +149 -0
  9. data/ext/cached/ruby-1.6.8/internal/node/nodeinfo.c +5582 -0
  10. data/ext/cached/ruby-1.6.8/internal/node/nodeinfo.h +69 -0
  11. data/ext/cached/ruby-1.6.8/internal/proc/block.h +35 -0
  12. data/ext/cached/ruby-1.6.8/internal/tag/tag.h +15 -0
  13. data/ext/cached/ruby-1.6.8/internal/vm/instruction/insns_info.c +39 -0
  14. data/ext/cached/ruby-1.6.8/internal/vm/instruction/insns_info.h +21 -0
  15. data/ext/cached/ruby-1.6.8/internal/vm/iseq/insns_info.inc +12 -0
  16. data/ext/cached/ruby-1.6.8/internal/vm/iseq/iseq_load.inc +9 -0
  17. data/ext/cached/ruby-1.8.0/internal/node/node_type_descrip.c +91 -91
  18. data/ext/cached/ruby-1.8.0/internal/node/nodeinfo.c +1909 -1909
  19. data/ext/cached/ruby-1.8.0/internal/vm/iseq/iseq_load.inc +9 -0
  20. data/ext/cached/ruby-1.8.1/internal/node/node_type_descrip.c +90 -90
  21. data/ext/cached/ruby-1.8.1/internal/node/nodeinfo.c +1946 -1946
  22. data/ext/cached/ruby-1.8.1/internal/vm/iseq/iseq_load.inc +9 -0
  23. data/ext/cached/ruby-1.8.2/internal/node/node_type_descrip.c +90 -90
  24. data/ext/cached/ruby-1.8.2/internal/node/nodeinfo.c +1946 -1946
  25. data/ext/cached/ruby-1.8.2/internal/vm/iseq/iseq_load.inc +9 -0
  26. data/ext/cached/ruby-1.8.3/internal/node/node_type_descrip.c +90 -90
  27. data/ext/cached/ruby-1.8.3/internal/node/nodeinfo.c +1946 -1946
  28. data/ext/cached/ruby-1.8.3/internal/vm/iseq/iseq_load.inc +9 -0
  29. data/ext/cached/ruby-1.8.4/internal/node/node_type_descrip.c +90 -90
  30. data/ext/cached/ruby-1.8.4/internal/node/nodeinfo.c +1946 -1946
  31. data/ext/cached/ruby-1.8.4/internal/vm/iseq/iseq_load.inc +9 -0
  32. data/ext/cached/ruby-1.8.5/internal/node/node_type_descrip.c +90 -90
  33. data/ext/cached/ruby-1.8.5/internal/node/nodeinfo.c +1909 -1909
  34. data/ext/cached/ruby-1.8.5/internal/vm/iseq/iseq_load.inc +9 -0
  35. data/ext/cached/ruby-1.8.6/internal/node/node_type_descrip.c +90 -90
  36. data/ext/cached/ruby-1.8.6/internal/node/nodeinfo.c +1909 -1909
  37. data/ext/cached/ruby-1.8.6/internal/vm/iseq/iseq_load.inc +9 -0
  38. data/ext/cached/ruby-1.8.7/internal/node/node_type_descrip.c +90 -90
  39. data/ext/cached/ruby-1.8.7/internal/node/nodeinfo.c +1909 -1909
  40. data/ext/cached/ruby-1.8.7/internal/vm/iseq/iseq_load.inc +9 -0
  41. data/ext/cached/ruby-1.9.0/internal/node/node_type_descrip.c +85 -85
  42. data/ext/cached/ruby-1.9.0/internal/node/nodeinfo.c +1800 -1800
  43. data/ext/cached/ruby-1.9.0/internal/vm/iseq/iseq_load.inc +13 -0
  44. data/ext/cached/ruby-1.9.0/internal/yarv-headers/transdb.h +51 -51
  45. data/ext/cached/ruby-1.9.1/internal/node/node_type_descrip.c +85 -85
  46. data/ext/cached/ruby-1.9.1/internal/node/nodeinfo.c +1800 -1800
  47. data/ext/cached/ruby-1.9.1/internal/vm/instruction/insns_info.h +1 -2
  48. data/ext/cached/ruby-1.9.1/internal/vm/iseq/iseq_load.inc +356 -0
  49. data/ext/cached/ruby-1.9.1/internal/yarv-headers/eval_intern.h +15 -9
  50. data/ext/cached/ruby-1.9.1/internal/yarv-headers/id.h +45 -66
  51. data/ext/cached/ruby-1.9.1/internal/yarv-headers/iseq.h +12 -3
  52. data/ext/cached/ruby-1.9.1/internal/yarv-headers/node.h +2 -2
  53. data/ext/cached/ruby-1.9.1/internal/yarv-headers/parse.h +23 -138
  54. data/ext/cached/ruby-1.9.1/internal/yarv-headers/revision.h +1 -1
  55. data/ext/cached/ruby-1.9.1/internal/yarv-headers/transcode_data.h +9 -2
  56. data/ext/cached/ruby-1.9.1/internal/yarv-headers/transdb.h +62 -0
  57. data/ext/cached/ruby-1.9.1/internal/yarv-headers/version.h +17 -23
  58. data/ext/cached/ruby-1.9.1/internal/yarv-headers/vm_core.h +20 -29
  59. data/ext/cached/ruby-1.9.1/internal/yarv-headers/vm_exec.h +4 -7
  60. data/ext/cached/ruby-1.9.1/internal/yarv-headers/vm_insnhelper.h +6 -5
  61. data/ext/internal/module/cfp.h +13 -0
  62. data/ext/internal/module/extconf.rb +2 -2
  63. data/ext/internal/module/module.c +3 -8
  64. data/ext/internal/node/nodes.rb +2 -1
  65. data/ext/internal/vm/iseq/iseq.c +2 -3
  66. data/ext/internal/vm/iseq/iseq_load.inc.rpp +61 -0
  67. data/ext/internal/yarv-headers/debug.h +36 -0
  68. data/ext/internal/yarv-headers/dln.h +41 -0
  69. data/ext/internal/yarv-headers/encdb.h +147 -0
  70. data/ext/internal/yarv-headers/eval_intern.h +215 -0
  71. data/ext/internal/yarv-headers/gc.h +75 -0
  72. data/ext/internal/yarv-headers/id.h +163 -0
  73. data/ext/internal/yarv-headers/iseq.h +103 -0
  74. data/ext/internal/yarv-headers/node.h +516 -0
  75. data/ext/internal/yarv-headers/parse.h +188 -0
  76. data/ext/internal/yarv-headers/regenc.h +207 -0
  77. data/ext/internal/yarv-headers/regint.h +842 -0
  78. data/ext/internal/yarv-headers/regparse.h +351 -0
  79. data/ext/internal/yarv-headers/revision.h +1 -0
  80. data/ext/internal/yarv-headers/thread_pthread.h +24 -0
  81. data/ext/internal/yarv-headers/thread_win32.h +33 -0
  82. data/ext/internal/yarv-headers/transcode_data.h +106 -0
  83. data/ext/internal/yarv-headers/transdb.h +147 -0
  84. data/ext/internal/yarv-headers/version.h +54 -0
  85. data/ext/internal/yarv-headers/vm_core.h +646 -0
  86. data/ext/internal/yarv-headers/vm_exec.h +184 -0
  87. data/ext/internal/yarv-headers/vm_insnhelper.h +195 -0
  88. data/ext/internal/yarv-headers/vm_opts.h +51 -0
  89. data/publish_rdoc.rb +4 -0
  90. metadata +52 -2
@@ -0,0 +1,69 @@
1
+ #ifndef nodeinfo_h
2
+ #define nodeinfo_h
3
+
4
+ #include "ruby_internal_node.h"
5
+
6
+ #include "ruby.h"
7
+
8
+ enum Node_Elem_Name
9
+ {
10
+ NEN_NONE,
11
+ NEN_1ST,
12
+ NEN_2ND,
13
+ NEN_AID,
14
+ NEN_ALEN,
15
+ NEN_ARGC,
16
+ NEN_ARGS,
17
+ NEN_BEG,
18
+ NEN_BODY,
19
+ NEN_CFLAG,
20
+ NEN_CFNC,
21
+ NEN_CLSS,
22
+ NEN_CNAME,
23
+ NEN_CNT,
24
+ NEN_COND,
25
+ NEN_CVAL,
26
+ NEN_DEFN,
27
+ NEN_ELSE,
28
+ NEN_END,
29
+ NEN_ENSR,
30
+ NEN_ENTRY,
31
+ NEN_FRML,
32
+ NEN_HEAD,
33
+ NEN_IBDY,
34
+ NEN_ITER,
35
+ NEN_LIT,
36
+ NEN_MID,
37
+ NEN_MODL,
38
+ NEN_NEW,
39
+ NEN_NEXT,
40
+ NEN_NOEX,
41
+ NEN_NTH,
42
+ NEN_OLD,
43
+ NEN_OPT,
44
+ NEN_ORIG,
45
+ NEN_RECV,
46
+ NEN_RESQ,
47
+ NEN_REST,
48
+ NEN_RVAL,
49
+ NEN_STATE,
50
+ NEN_STTS,
51
+ NEN_SUPER,
52
+ NEN_TAG,
53
+ NEN_TBL,
54
+ NEN_TVAL,
55
+ NEN_VALUE,
56
+ NEN_VAR,
57
+ NEN_VID,
58
+ };
59
+
60
+ VALUE dump_node_elem(enum Node_Elem_Name nen, NODE * n, VALUE node_hash);
61
+ void load_node_elem(enum Node_Elem_Name nen, VALUE v, NODE * n, VALUE node_hash, VALUE id_hash);
62
+ VALUE node_s_members(VALUE klass);
63
+ void define_node_subclass_methods();
64
+
65
+ #define NODE_OP_ASGN2_ARG NODE_LAST + 1
66
+ #define NUM_NODE_TYPE_DESCRIPS NODE_OP_ASGN2_ARG + 1
67
+
68
+ #endif
69
+
@@ -0,0 +1,35 @@
1
+ #ifndef ruby_internal_block__h_
2
+ #define ruby_internal_block__h_
3
+
4
+ #include <ruby.h>
5
+
6
+ #ifndef RUBY_VM
7
+ #include "env.h"
8
+ #endif
9
+
10
+ struct BLOCKTAG {
11
+ struct RBasic super;
12
+ long dst;
13
+ long flags;
14
+ };
15
+
16
+ struct BLOCK {
17
+ NODE *var;
18
+ NODE *body;
19
+ VALUE self;
20
+ struct FRAME frame;
21
+ struct SCOPE *scope;
22
+ struct BLOCKTAG *tag;
23
+ VALUE klass;
24
+ int iter;
25
+ int vmode;
26
+ int flags;
27
+ struct RVarmap *dyna_vars;
28
+ VALUE orig_thread;
29
+ VALUE wrapper;
30
+ struct BLOCK *prev;
31
+ };
32
+
33
+
34
+ #endif
35
+
@@ -0,0 +1,15 @@
1
+ #include <ruby.h>
2
+
3
+ #ifdef RUBY_VM
4
+ #include "eval_intern.h"
5
+ #endif
6
+
7
+ #define TAG_RETURN 0x1
8
+ #define TAG_BREAK 0x2
9
+ #define TAG_NEXT 0x3
10
+ #define TAG_RETRY 0x4
11
+ #define TAG_REDO 0x5
12
+ #define TAG_RAISE 0x6
13
+ #define TAG_THROW 0x7
14
+ #define TAG_FATAL 0x8
15
+ #define TAG_MASK 0xf
@@ -0,0 +1,39 @@
1
+ #include "insns_info.h"
2
+
3
+ #ifdef RUBY_VM
4
+
5
+
6
+ VALUE instruction_class[VM_INSTRUCTION_SIZE];
7
+
8
+ static ID operand_type_name_of(int operand_type)
9
+ {
10
+ char const * retval = "????";
11
+
12
+ switch(operand_type)
13
+ {
14
+ case TS_ISEQ: retval = "iseq"; break;
15
+ case TS_GENTRY: retval = "gentry"; break;
16
+ case TS_OFFSET: retval = "operand"; break;
17
+ case TS_DINDEX: retval = "dindex"; break;
18
+ case TS_VARIABLE: retval = "variable"; break;
19
+ case TS_CDHASH: retval = "cdhash"; break;
20
+ case TS_IC: retval = "ic"; break;
21
+ case TS_ID: retval = "id"; break;
22
+ case TS_VALUE: retval = "value"; break;
23
+ case TS_LINDEX: retval = "lindex"; break;
24
+ case TS_NUM: retval = "num"; break;
25
+ }
26
+
27
+ return rb_intern(retval);
28
+ }
29
+
30
+
31
+ void define_instruction_subclasses(VALUE rb_cInstruction)
32
+ {
33
+ /* For rdoc: rb_cVM = rb_define_class("VM", rb_cObject); */
34
+ /* For rdoc: rb_cInstruction = rb_define_class_under(rb_cVM, "Instruction", rb_cObject); */
35
+
36
+ }
37
+
38
+ #endif
39
+
@@ -0,0 +1,21 @@
1
+ #ifndef insns_info__h_
2
+ #define insns_info__h_
3
+
4
+ #include "ruby.h"
5
+
6
+ #ifdef RUBY_VM
7
+
8
+ #include "vm_core.h"
9
+
10
+ #ifdef HAVE_VM_H
11
+ #include "vm.h"
12
+ #endif
13
+
14
+
15
+ extern VALUE instruction_class[VM_INSTRUCTION_SIZE];
16
+ void define_instruction_subclasses(VALUE rb_cInstruction);
17
+
18
+ #endif
19
+
20
+ #endif
21
+
@@ -0,0 +1,12 @@
1
+ #ifndef ruby_internal_insns_info__inc_
2
+ #define ruby_internal_insns_info__inc_
3
+
4
+ #include <ruby.h>
5
+
6
+ #ifndef RUBY_VM
7
+ #include "env.h"
8
+ #endif
9
+
10
+
11
+ #endif
12
+
@@ -0,0 +1,9 @@
1
+ #ifndef ruby_internal_iseq_load__inc_
2
+ #define ruby_internal_iseq_load__inc_
3
+
4
+ #include "internal/yarv-headers/gc.h"
5
+ #include "internal/yarv-headers/iseq.h"
6
+
7
+
8
+ #endif
9
+
@@ -2,114 +2,114 @@
2
2
  #include "version.h"
3
3
 
4
4
  Node_Type_Descrip node_type_descrips_unsorted[] = {
5
- { NODE_DASGN_CURR, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN_CURR" },
6
- { NODE_UNTIL, NEN_BODY, NEN_COND, NEN_STATE, "UNTIL" },
7
- { NODE_BACK_REF, NEN_NTH, NEN_CNT, NEN_NONE, "BACK_REF" },
5
+ { NODE_ALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "ALIAS" },
6
+ #ifdef HAVE_NODE_ALLOCA
7
+ { NODE_ALLOCA, NEN_CFNC, NEN_VALUE, NEN_CNT, "ALLOCA" },
8
+ #endif
9
+ { NODE_AND, NEN_1ST, NEN_2ND, NEN_NONE, "AND" },
8
10
  { NODE_ARGS, NEN_REST, NEN_OPT, NEN_CNT, "ARGS" },
9
- { NODE_OP_ASGN_AND, NEN_VALUE, NEN_RECV, NEN_NONE, "OP_ASGN_AND" },
10
- { NODE_RETURN, NEN_STTS, NEN_NONE, NEN_NONE, "RETURN" },
11
- { NODE_RESCUE, NEN_HEAD, NEN_ELSE, NEN_RESQ, "RESCUE" },
12
- { NODE_LIT, NEN_LIT, NEN_NONE, NEN_NONE, "LIT" },
13
- { NODE_SELF, NEN_NONE, NEN_NONE, NEN_NONE, "SELF" },
14
- { NODE_IFUNC, NEN_CFNC, NEN_TVAL, NEN_STATE, "IFUNC" },
15
- { NODE_ZSUPER, NEN_NONE, NEN_NONE, NEN_NONE, "ZSUPER" },
16
- { NODE_WHILE, NEN_BODY, NEN_COND, NEN_STATE, "WHILE" },
17
- { NODE_BLOCK, NEN_HEAD, NEN_NEXT, NEN_NONE, "BLOCK" },
18
- { NODE_FCALL, NEN_ARGS, NEN_MID, NEN_NONE, "FCALL" },
19
- { NODE_DREGX_ONCE, NEN_LIT, NEN_CFLAG, NEN_NEXT, "DREGX_ONCE" },
11
+ { NODE_ARGSCAT, NEN_HEAD, NEN_BODY, NEN_NONE, "ARGSCAT" },
20
12
  { NODE_ARGSPUSH, NEN_HEAD, NEN_BODY, NEN_NONE, "ARGSPUSH" },
21
- { NODE_OPT_N, NEN_BODY, NEN_NONE, NEN_NONE, "OPT_N" },
22
- { NODE_OP_ASGN2_ARG, NEN_VID, NEN_AID, NEN_MID, "OP_ASGN2_ARG" },
23
- { NODE_COLON2, NEN_HEAD, NEN_MID, NEN_NONE, "COLON2" },
24
- { NODE_FBODY, NEN_HEAD, NEN_ORIG, NEN_MID, "FBODY" },
25
- { NODE_COLON3, NEN_MID, NEN_NONE, NEN_NONE, "COLON3" },
26
- { NODE_ITER, NEN_BODY, NEN_ITER, NEN_VAR, "ITER" },
27
- { NODE_NOT, NEN_BODY, NEN_NONE, NEN_NONE, "NOT" },
28
- { NODE_SUPER, NEN_ARGS, NEN_NONE, NEN_NONE, "SUPER" },
29
- { NODE_FALSE, NEN_NONE, NEN_NONE, NEN_NONE, "FALSE" },
30
- { NODE_CALL, NEN_ARGS, NEN_MID, NEN_RECV, "CALL" },
31
- { NODE_OP_ASGN_OR, NEN_AID, NEN_VALUE, NEN_RECV, "OP_ASGN_OR" },
32
- { NODE_TRUE, NEN_NONE, NEN_NONE, NEN_NONE, "TRUE" },
33
- { NODE_MASGN, NEN_ARGS, NEN_HEAD, NEN_VALUE, "MASGN" },
34
- { NODE_EVSTR, NEN_BODY, NEN_NONE, NEN_NONE, "EVSTR" },
35
- { NODE_MATCH, NEN_LIT, NEN_VALUE, NEN_NONE, "MATCH" },
36
- { NODE_ENSURE, NEN_HEAD, NEN_ENSR, NEN_NONE, "ENSURE" },
37
- { NODE_CDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CDECL" },
38
- { NODE_DXSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DXSTR" },
39
- { NODE_VCALL, NEN_MID, NEN_NONE, NEN_NONE, "VCALL" },
40
- { NODE_ZARRAY, NEN_NONE, NEN_NONE, NEN_NONE, "ZARRAY" },
13
+ { NODE_ARRAY, NEN_HEAD, NEN_ALEN, NEN_NEXT, "ARRAY" },
14
+ { NODE_ATTRASGN, NEN_ARGS, NEN_MID, NEN_RECV, "ATTRASGN" },
15
+ { NODE_ATTRSET, NEN_VID, NEN_NONE, NEN_NONE, "ATTRSET" },
16
+ { NODE_BACK_REF, NEN_NTH, NEN_CNT, NEN_NONE, "BACK_REF" },
17
+ { NODE_BEGIN, NEN_BODY, NEN_NONE, NEN_NONE, "BEGIN" },
18
+ { NODE_BLOCK, NEN_HEAD, NEN_NEXT, NEN_NONE, "BLOCK" },
41
19
  { NODE_BLOCK_ARG, NEN_CNT, NEN_NONE, NEN_NONE, "BLOCK_ARG" },
42
- { NODE_AND, NEN_1ST, NEN_2ND, NEN_NONE, "AND" },
43
- { NODE_SCLASS, NEN_BODY, NEN_RECV, NEN_NONE, "SCLASS" },
44
- { NODE_DEFINED, NEN_HEAD, NEN_NONE, NEN_NONE, "DEFINED" },
45
- { NODE_VALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "VALIAS" },
46
- { NODE_REDO, NEN_NONE, NEN_NONE, NEN_NONE, "REDO" },
47
20
  { NODE_BLOCK_PASS, NEN_BODY, NEN_ITER, NEN_NONE, "BLOCK_PASS" },
48
- { NODE_DREGX, NEN_LIT, NEN_CFLAG, NEN_NEXT, "DREGX" },
49
- { NODE_DEFN, NEN_MID, NEN_DEFN, NEN_NOEX, "DEFN" },
50
- { NODE_SCOPE, NEN_TBL, NEN_RVAL, NEN_NEXT, "SCOPE" },
51
- { NODE_DSYM, NEN_LIT, NEN_NEXT, NEN_NONE, "DSYM" },
52
21
  { NODE_BMETHOD, NEN_CVAL, NEN_NONE, NEN_NONE, "BMETHOD" },
53
- { NODE_IF, NEN_COND, NEN_BODY, NEN_ELSE, "IF" },
54
- { NODE_WHEN, NEN_HEAD, NEN_BODY, NEN_NEXT, "WHEN" },
55
- { NODE_ARGSCAT, NEN_HEAD, NEN_BODY, NEN_NONE, "ARGSCAT" },
56
- { NODE_HASH, NEN_HEAD, NEN_NONE, NEN_NONE, "HASH" },
57
- #ifdef HAVE_NODE_ALLOCA
58
- { NODE_ALLOCA, NEN_CFNC, NEN_VALUE, NEN_CNT, "ALLOCA" },
59
- #endif
60
- { NODE_OP_ASGN1, NEN_ARGS, NEN_MID, NEN_RECV, "OP_ASGN1" },
22
+ { NODE_BREAK, NEN_STTS, NEN_NONE, NEN_NONE, "BREAK" },
23
+ { NODE_CALL, NEN_ARGS, NEN_MID, NEN_RECV, "CALL" },
61
24
  { NODE_CASE, NEN_HEAD, NEN_BODY, NEN_NEXT, "CASE" },
25
+ { NODE_CDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CDECL" },
62
26
  { NODE_CFUNC, NEN_CFNC, NEN_ARGC, NEN_NONE, "CFUNC" },
63
- { NODE_OP_ASGN2, NEN_VALUE, NEN_NEXT, NEN_RECV, "OP_ASGN2" },
64
- { NODE_DEFS, NEN_MID, NEN_DEFN, NEN_RECV, "DEFS" },
65
- { NODE_LASGN, NEN_VALUE, NEN_VID, NEN_CNT, "LASGN" },
66
- { NODE_POSTEXE, NEN_NONE, NEN_NONE, NEN_NONE, "POSTEXE" },
67
- { NODE_STR, NEN_LIT, NEN_NONE, NEN_NONE, "STR" },
68
- { NODE_ATTRSET, NEN_VID, NEN_NONE, NEN_NONE, "ATTRSET" },
69
- { NODE_MEMO, NEN_NONE, NEN_NONE, NEN_NONE, "MEMO" },
70
- { NODE_XSTR, NEN_LIT, NEN_NONE, NEN_NONE, "XSTR" },
71
- { NODE_RESBODY, NEN_HEAD, NEN_ARGS, NEN_BODY, "RESBODY" },
72
- { NODE_ALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "ALIAS" },
73
- { NODE_ARRAY, NEN_HEAD, NEN_ALEN, NEN_NEXT, "ARRAY" },
74
- { NODE_NEXT, NEN_STTS, NEN_NONE, NEN_NONE, "NEXT" },
75
- { NODE_GASGN, NEN_VALUE, NEN_VID, NEN_ENTRY, "GASGN" },
27
+ { NODE_CLASS, NEN_CPATH, NEN_BODY, NEN_SUPER, "CLASS" },
28
+ { NODE_COLON2, NEN_HEAD, NEN_MID, NEN_NONE, "COLON2" },
29
+ { NODE_COLON3, NEN_MID, NEN_NONE, NEN_NONE, "COLON3" },
30
+ { NODE_CONST, NEN_VID, NEN_NONE, NEN_NONE, "CONST" },
31
+ { NODE_CREF, NEN_BODY, NEN_NEXT, NEN_CLSS, "CREF" },
32
+ { NODE_CVAR, NEN_VID, NEN_NONE, NEN_NONE, "CVAR" },
33
+ { NODE_CVASGN, NEN_VALUE, NEN_VID, NEN_NONE, "CVASGN" },
76
34
  { NODE_CVDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CVDECL" },
77
- { NODE_ATTRASGN, NEN_ARGS, NEN_MID, NEN_RECV, "ATTRASGN" },
78
- { NODE_UNDEF, NEN_MID, NEN_NONE, NEN_NONE, "UNDEF" },
79
- { NODE_BREAK, NEN_STTS, NEN_NONE, NEN_NONE, "BREAK" },
80
- { NODE_NEWLINE, NEN_NEXT, NEN_NONE, NEN_NONE, "NEWLINE" },
81
- { NODE_NTH_REF, NEN_NTH, NEN_CNT, NEN_NONE, "NTH_REF" },
35
+ { NODE_DASGN, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN" },
36
+ { NODE_DASGN_CURR, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN_CURR" },
37
+ { NODE_DEFINED, NEN_HEAD, NEN_NONE, NEN_NONE, "DEFINED" },
38
+ { NODE_DEFN, NEN_DEFN, NEN_MID, NEN_NOEX, "DEFN" },
39
+ { NODE_DEFS, NEN_DEFN, NEN_MID, NEN_RECV, "DEFS" },
40
+ { NODE_DMETHOD, NEN_CVAL, NEN_NONE, NEN_NONE, "DMETHOD" },
82
41
  { NODE_DOT2, NEN_BEG, NEN_END, NEN_STATE, "DOT2" },
83
- { NODE_GVAR, NEN_VID, NEN_ENTRY, NEN_NONE, "GVAR" },
84
42
  { NODE_DOT3, NEN_BEG, NEN_END, NEN_STATE, "DOT3" },
85
- { NODE_CVASGN, NEN_VALUE, NEN_VID, NEN_NONE, "CVASGN" },
86
- { NODE_CREF, NEN_BODY, NEN_NEXT, NEN_CLSS, "CREF" },
87
- { NODE_SPLAT, NEN_HEAD, NEN_NONE, NEN_NONE, "SPLAT" },
88
- { NODE_MODULE, NEN_CPATH, NEN_BODY, NEN_NONE, "MODULE" },
89
- { NODE_FOR, NEN_BODY, NEN_ITER, NEN_VAR, "FOR" },
90
- { NODE_DVAR, NEN_VID, NEN_NONE, NEN_NONE, "DVAR" },
43
+ { NODE_DREGX, NEN_LIT, NEN_CFLAG, NEN_NEXT, "DREGX" },
44
+ { NODE_DREGX_ONCE, NEN_LIT, NEN_CFLAG, NEN_NEXT, "DREGX_ONCE" },
91
45
  { NODE_DSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DSTR" },
92
- { NODE_SVALUE, NEN_HEAD, NEN_NONE, NEN_NONE, "SVALUE" },
93
- { NODE_RETRY, NEN_NONE, NEN_NONE, NEN_NONE, "RETRY" },
94
- { NODE_CLASS, NEN_CPATH, NEN_BODY, NEN_SUPER, "CLASS" },
95
- { NODE_DASGN, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN" },
96
- { NODE_NIL, NEN_NONE, NEN_NONE, NEN_NONE, "NIL" },
97
- { NODE_RESTARY2, NEN_HEAD, NEN_NONE, NEN_NONE, "RESTARY2" },
46
+ { NODE_DSYM, NEN_LIT, NEN_NEXT, NEN_NONE, "DSYM" },
47
+ { NODE_DVAR, NEN_VID, NEN_NONE, NEN_NONE, "DVAR" },
48
+ { NODE_DXSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DXSTR" },
49
+ { NODE_ENSURE, NEN_HEAD, NEN_ENSR, NEN_NONE, "ENSURE" },
50
+ { NODE_EVSTR, NEN_BODY, NEN_NONE, NEN_NONE, "EVSTR" },
51
+ { NODE_FALSE, NEN_NONE, NEN_NONE, NEN_NONE, "FALSE" },
52
+ { NODE_FBODY, NEN_HEAD, NEN_ORIG, NEN_MID, "FBODY" },
53
+ { NODE_FCALL, NEN_ARGS, NEN_MID, NEN_NONE, "FCALL" },
54
+ { NODE_FLIP2, NEN_BEG, NEN_END, NEN_CNT, "FLIP2" },
55
+ { NODE_FLIP3, NEN_BEG, NEN_END, NEN_CNT, "FLIP3" },
56
+ { NODE_FOR, NEN_BODY, NEN_ITER, NEN_VAR, "FOR" },
57
+ { NODE_GASGN, NEN_VALUE, NEN_VID, NEN_ENTRY, "GASGN" },
58
+ { NODE_GVAR, NEN_VID, NEN_ENTRY, NEN_NONE, "GVAR" },
59
+ { NODE_HASH, NEN_HEAD, NEN_NONE, NEN_NONE, "HASH" },
60
+ { NODE_IASGN, NEN_VALUE, NEN_VID, NEN_NONE, "IASGN" },
61
+ { NODE_IF, NEN_COND, NEN_BODY, NEN_ELSE, "IF" },
62
+ { NODE_IFUNC, NEN_CFNC, NEN_TVAL, NEN_STATE, "IFUNC" },
63
+ { NODE_ITER, NEN_BODY, NEN_ITER, NEN_VAR, "ITER" },
98
64
  { NODE_IVAR, NEN_VID, NEN_NONE, NEN_NONE, "IVAR" },
65
+ { NODE_LASGN, NEN_VALUE, NEN_VID, NEN_CNT, "LASGN" },
66
+ { NODE_LIT, NEN_LIT, NEN_NONE, NEN_NONE, "LIT" },
99
67
  { NODE_LVAR, NEN_VID, NEN_CNT, NEN_NONE, "LVAR" },
68
+ { NODE_MASGN, NEN_ARGS, NEN_HEAD, NEN_VALUE, "MASGN" },
69
+ { NODE_MATCH, NEN_LIT, NEN_VALUE, NEN_NONE, "MATCH" },
100
70
  { NODE_MATCH2, NEN_VALUE, NEN_RECV, NEN_NONE, "MATCH2" },
101
- { NODE_FLIP2, NEN_BEG, NEN_END, NEN_CNT, "FLIP2" },
102
- { NODE_CONST, NEN_VID, NEN_NONE, NEN_NONE, "CONST" },
103
- { NODE_RESTARY, NEN_HEAD, NEN_NONE, NEN_NONE, "RESTARY" },
104
- { NODE_METHOD, NEN_BODY, NEN_NOEX, NEN_NONE, "METHOD" },
105
71
  { NODE_MATCH3, NEN_VALUE, NEN_RECV, NEN_NONE, "MATCH3" },
106
- { NODE_IASGN, NEN_VALUE, NEN_VID, NEN_NONE, "IASGN" },
107
- { NODE_DMETHOD, NEN_CVAL, NEN_NONE, NEN_NONE, "DMETHOD" },
108
- { NODE_FLIP3, NEN_BEG, NEN_END, NEN_CNT, "FLIP3" },
72
+ { NODE_MEMO, NEN_NONE, NEN_NONE, NEN_NONE, "MEMO" },
73
+ { NODE_METHOD, NEN_BODY, NEN_NOEX, NEN_NONE, "METHOD" },
74
+ { NODE_MODULE, NEN_CPATH, NEN_BODY, NEN_NONE, "MODULE" },
75
+ { NODE_NEWLINE, NEN_NEXT, NEN_NONE, NEN_NONE, "NEWLINE" },
76
+ { NODE_NEXT, NEN_STTS, NEN_NONE, NEN_NONE, "NEXT" },
77
+ { NODE_NIL, NEN_NONE, NEN_NONE, NEN_NONE, "NIL" },
78
+ { NODE_NOT, NEN_BODY, NEN_NONE, NEN_NONE, "NOT" },
79
+ { NODE_NTH_REF, NEN_NTH, NEN_CNT, NEN_NONE, "NTH_REF" },
80
+ { NODE_OPT_N, NEN_BODY, NEN_NONE, NEN_NONE, "OPT_N" },
81
+ { NODE_OP_ASGN1, NEN_ARGS, NEN_MID, NEN_RECV, "OP_ASGN1" },
82
+ { NODE_OP_ASGN2, NEN_VALUE, NEN_NEXT, NEN_RECV, "OP_ASGN2" },
83
+ { NODE_OP_ASGN2_ARG, NEN_VID, NEN_AID, NEN_MID, "OP_ASGN2_ARG" },
84
+ { NODE_OP_ASGN_AND, NEN_VALUE, NEN_RECV, NEN_NONE, "OP_ASGN_AND" },
85
+ { NODE_OP_ASGN_OR, NEN_AID, NEN_VALUE, NEN_RECV, "OP_ASGN_OR" },
109
86
  { NODE_OR, NEN_1ST, NEN_2ND, NEN_NONE, "OR" },
110
- { NODE_CVAR, NEN_VID, NEN_NONE, NEN_NONE, "CVAR" },
87
+ { NODE_POSTEXE, NEN_NONE, NEN_NONE, NEN_NONE, "POSTEXE" },
88
+ { NODE_REDO, NEN_NONE, NEN_NONE, NEN_NONE, "REDO" },
89
+ { NODE_RESBODY, NEN_HEAD, NEN_ARGS, NEN_BODY, "RESBODY" },
90
+ { NODE_RESCUE, NEN_HEAD, NEN_ELSE, NEN_RESQ, "RESCUE" },
91
+ { NODE_RESTARY, NEN_HEAD, NEN_NONE, NEN_NONE, "RESTARY" },
92
+ { NODE_RESTARY2, NEN_HEAD, NEN_NONE, NEN_NONE, "RESTARY2" },
93
+ { NODE_RETRY, NEN_NONE, NEN_NONE, NEN_NONE, "RETRY" },
94
+ { NODE_RETURN, NEN_STTS, NEN_NONE, NEN_NONE, "RETURN" },
95
+ { NODE_SCLASS, NEN_BODY, NEN_RECV, NEN_NONE, "SCLASS" },
96
+ { NODE_SCOPE, NEN_TBL, NEN_RVAL, NEN_NEXT, "SCOPE" },
97
+ { NODE_SELF, NEN_NONE, NEN_NONE, NEN_NONE, "SELF" },
98
+ { NODE_SPLAT, NEN_HEAD, NEN_NONE, NEN_NONE, "SPLAT" },
99
+ { NODE_STR, NEN_LIT, NEN_NONE, NEN_NONE, "STR" },
100
+ { NODE_SUPER, NEN_ARGS, NEN_NONE, NEN_NONE, "SUPER" },
101
+ { NODE_SVALUE, NEN_HEAD, NEN_NONE, NEN_NONE, "SVALUE" },
102
+ { NODE_TRUE, NEN_NONE, NEN_NONE, NEN_NONE, "TRUE" },
103
+ { NODE_UNDEF, NEN_MID, NEN_NONE, NEN_NONE, "UNDEF" },
104
+ { NODE_UNTIL, NEN_BODY, NEN_COND, NEN_STATE, "UNTIL" },
105
+ { NODE_VALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "VALIAS" },
106
+ { NODE_VCALL, NEN_MID, NEN_NONE, NEN_NONE, "VCALL" },
107
+ { NODE_WHEN, NEN_HEAD, NEN_BODY, NEN_NEXT, "WHEN" },
108
+ { NODE_WHILE, NEN_BODY, NEN_COND, NEN_STATE, "WHILE" },
109
+ { NODE_XSTR, NEN_LIT, NEN_NONE, NEN_NONE, "XSTR" },
111
110
  { NODE_YIELD, NEN_HEAD, NEN_STATE, NEN_NONE, "YIELD" },
112
- { NODE_BEGIN, NEN_BODY, NEN_NONE, NEN_NONE, "BEGIN" },
111
+ { NODE_ZARRAY, NEN_NONE, NEN_NONE, NEN_NONE, "ZARRAY" },
112
+ { NODE_ZSUPER, NEN_NONE, NEN_NONE, NEN_NONE, "ZSUPER" },
113
113
  { NODE_LAST, NEN_NONE, NEN_NONE, NEN_NONE, "LAST" },
114
114
  };
115
115