| 76 | |
| 77 | static constexpr int num_funcs = sizeof(funcs) / sizeof(Pair<String, Pair<int, int>>); |
| 78 | enum Token { |
| 79 | TK_EMPTY, |
| 80 | TK_IDENTIFIER, |
| 81 | TK_CONSTANT, |
| 82 | TK_SELF, |
| 83 | TK_BUILT_IN_TYPE, |
| 84 | TK_BUILT_IN_FUNC, |
| 85 | TK_OP_IN, |
| 86 | TK_OP_EQUAL, |
| 87 | TK_OP_NOT_EQUAL, |
| 88 | TK_OP_LESS, |
| 89 | TK_OP_LESS_EQUAL, |
| 90 | TK_OP_GREATER, |
| 91 | TK_OP_GREATER_EQUAL, |
| 92 | TK_OP_AND, |
| 93 | TK_OP_OR, |
| 94 | TK_OP_NOT, |
| 95 | TK_OP_ADD, |
| 96 | TK_OP_SUB, |
| 97 | TK_OP_MUL, |
| 98 | TK_OP_DIV, |
| 99 | TK_OP_MOD, |
| 100 | TK_OP_SHIFT_LEFT, |
| 101 | TK_OP_SHIFT_RIGHT, |
| 102 | TK_OP_ASSIGN, |
| 103 | TK_OP_ASSIGN_ADD, |
| 104 | TK_OP_ASSIGN_SUB, |
| 105 | TK_OP_ASSIGN_MUL, |
| 106 | TK_OP_ASSIGN_DIV, |
| 107 | TK_OP_ASSIGN_MOD, |
| 108 | TK_OP_ASSIGN_SHIFT_LEFT, |
| 109 | TK_OP_ASSIGN_SHIFT_RIGHT, |
| 110 | TK_OP_ASSIGN_BIT_AND, |
| 111 | TK_OP_ASSIGN_BIT_OR, |
| 112 | TK_OP_ASSIGN_BIT_XOR, |
| 113 | TK_OP_BIT_AND, |
| 114 | TK_OP_BIT_OR, |
| 115 | TK_OP_BIT_XOR, |
| 116 | TK_OP_BIT_INVERT, |
| 117 | TK_CF_IF, |
| 118 | TK_CF_ELIF, |
| 119 | TK_CF_ELSE, |
| 120 | TK_CF_FOR, |
| 121 | TK_CF_DO, |
| 122 | TK_CF_WHILE, |
| 123 | TK_CF_SWITCH, |
| 124 | TK_CF_CASE, |
| 125 | TK_CF_BREAK, |
| 126 | TK_CF_CONTINUE, |
| 127 | TK_CF_PASS, |
| 128 | TK_CF_RETURN, |
| 129 | TK_PR_FUNCTION, |
| 130 | TK_PR_CLASS, |
| 131 | TK_PR_EXTENDS, |
| 132 | TK_PR_ONREADY, |
| 133 | TK_PR_TOOL, |
| 134 | TK_PR_STATIC, |
| 135 | TK_PR_EXPORT, |