1 /* 2 ** node.h - nodes of abstract syntax tree 3 ** 4 ** See Copyright Notice in mruby.h 5 */ 6 7 #ifndef MRUBY_COMPILER_NODE_H 8 #define MRUBY_COMPILER_NODE_H 9 10 enum node_type { 11 NODE_METHOD, 12 NODE_SCOPE, 13 NODE_BLOCK, 14 NODE_IF, 15 NODE_CASE, 16 NODE_WHEN, 17 NODE_WHILE, 18 NODE_UNTIL, 19 NODE_ITER, 20 NODE_FOR, 21 NODE_BREAK, 22 NODE_NEXT, 23 NODE_REDO, 24 NODE_RETRY, 25 NODE_BEGIN, 26 NODE_RESCUE, 27 NODE_ENSURE, 28 NODE_AND, 29 NODE_OR, 30 NODE_NOT, 31 NODE_MASGN, 32 NODE_ASGN, 33 NODE_CDECL, 34 NODE_CVASGN, 35 NODE_CVDECL, 36 NODE_OP_ASGN, 37 NODE_CALL, 38 NODE_SCALL, 39 NODE_FCALL, 40 NODE_SUPER, 41 NODE_ZSUPER, 42 NODE_ARRAY, 43 NODE_ZARRAY, 44 NODE_HASH, 45 NODE_KW_HASH, 46 NODE_RETURN, 47 NODE_YIELD, 48 NODE_LVAR, 49 NODE_DVAR, 50 NODE_GVAR, 51 NODE_IVAR, 52 NODE_CONST, 53 NODE_CVAR, 54 NODE_NVAR, 55 NODE_NTH_REF, 56 NODE_BACK_REF, 57 NODE_MATCH, 58 NODE_INT, 59 NODE_FLOAT, 60 NODE_NEGATE, 61 NODE_LAMBDA, 62 NODE_SYM, 63 NODE_STR, 64 NODE_DSTR, 65 NODE_XSTR, 66 NODE_DXSTR, 67 NODE_REGX, 68 NODE_DREGX, 69 NODE_DREGX_ONCE, 70 NODE_ARG, 71 NODE_ARGS_TAIL, 72 NODE_KW_ARG, 73 NODE_KW_REST_ARGS, 74 NODE_SPLAT, 75 NODE_TO_ARY, 76 NODE_SVALUE, 77 NODE_BLOCK_ARG, 78 NODE_DEF, 79 NODE_SDEF, 80 NODE_ALIAS, 81 NODE_UNDEF, 82 NODE_CLASS, 83 NODE_MODULE, 84 NODE_SCLASS, 85 NODE_COLON2, 86 NODE_COLON3, 87 NODE_DOT2, 88 NODE_DOT3, 89 NODE_SELF, 90 NODE_NIL, 91 NODE_TRUE, 92 NODE_FALSE, 93 NODE_DEFINED, 94 NODE_POSTEXE, 95 NODE_DSYM, 96 NODE_HEREDOC, 97 NODE_LITERAL_DELIM, 98 NODE_WORDS, 99 NODE_SYMBOLS, 100 NODE_LAST 101 }; 102 103 #endif /* MRUBY_COMPILER_NODE_H */ 104