Ruby  3.1.4p223 (2023-03-30 revision HEAD)
id.h
1 /* DO NOT EDIT THIS FILE DIRECTLY */
2 /**********************************************************************
3 
4  id.h -
5 
6  $Author$
7  created at: Sun Oct 19 21:12:51 2008
8 
9  Copyright (C) 2007 Koichi Sasada
10 
11 **********************************************************************/
12 
13 #ifndef RUBY_ID_H
14 #define RUBY_ID_H
15 
16 enum ruby_id_types {
17  RUBY_ID_STATIC_SYM = 0x01,
18  RUBY_ID_LOCAL = 0x00,
19  RUBY_ID_INSTANCE = (0x01<<1),
20  RUBY_ID_GLOBAL = (0x03<<1),
21  RUBY_ID_ATTRSET = (0x04<<1),
22  RUBY_ID_CONST = (0x05<<1),
23  RUBY_ID_CLASS = (0x06<<1),
24  RUBY_ID_JUNK = (0x07<<1),
25  RUBY_ID_INTERNAL = RUBY_ID_JUNK,
26  RUBY_ID_SCOPE_SHIFT = 4,
27  RUBY_ID_SCOPE_MASK = (~(~0U<<(RUBY_ID_SCOPE_SHIFT-1))<<1)
28 };
29 
30 #define ID_STATIC_SYM RUBY_ID_STATIC_SYM
31 #define ID_SCOPE_SHIFT RUBY_ID_SCOPE_SHIFT
32 #define ID_SCOPE_MASK RUBY_ID_SCOPE_MASK
33 #define ID_LOCAL RUBY_ID_LOCAL
34 #define ID_INSTANCE RUBY_ID_INSTANCE
35 #define ID_GLOBAL RUBY_ID_GLOBAL
36 #define ID_ATTRSET RUBY_ID_ATTRSET
37 #define ID_CONST RUBY_ID_CONST
38 #define ID_CLASS RUBY_ID_CLASS
39 #define ID_JUNK RUBY_ID_JUNK
40 #define ID_INTERNAL RUBY_ID_INTERNAL
41 
42 #define symIFUNC ID2SYM(idIFUNC)
43 #define symCFUNC ID2SYM(idCFUNC)
44 
45 #define RUBY_TOKEN_DOT2 128
46 #define RUBY_TOKEN_DOT3 129
47 #define RUBY_TOKEN_BDOT2 130
48 #define RUBY_TOKEN_BDOT3 131
49 #define RUBY_TOKEN_UPLUS 132
50 #define RUBY_TOKEN_UMINUS 133
51 #define RUBY_TOKEN_POW 134
52 #define RUBY_TOKEN_CMP 135
53 #define RUBY_TOKEN_LSHFT 136
54 #define RUBY_TOKEN_RSHFT 137
55 #define RUBY_TOKEN_LEQ 138
56 #define RUBY_TOKEN_GEQ 139
57 #define RUBY_TOKEN_EQ 140
58 #define RUBY_TOKEN_EQQ 141
59 #define RUBY_TOKEN_NEQ 142
60 #define RUBY_TOKEN_MATCH 143
61 #define RUBY_TOKEN_NMATCH 144
62 #define RUBY_TOKEN_AREF 145
63 #define RUBY_TOKEN_ASET 146
64 #define RUBY_TOKEN_COLON2 147
65 #define RUBY_TOKEN_ANDOP 148
66 #define RUBY_TOKEN_OROP 149
67 #define RUBY_TOKEN_ANDDOT 150
68 #define RUBY_TOKEN(t) RUBY_TOKEN_##t
69 
70 #define RUBY_TOKEN2ID_TYPE(tok, type) ((tok<<RUBY_ID_SCOPE_SHIFT)|type|RUBY_ID_STATIC_SYM)
71 #define TOKEN2LOCALID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_LOCAL)
72 #define TOKEN2INSTANCEID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_INSTANCE)
73 #define TOKEN2GLOBALID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_GLOBAL)
74 #define TOKEN2CONSTID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_CONST)
75 #define TOKEN2CLASSID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_CLASS)
76 #define TOKEN2ATTRSETID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_ATTRSET)
77 
78 enum ruby_method_ids {
79  idDot2 = RUBY_TOKEN(DOT2),
80  idDot3 = RUBY_TOKEN(DOT3),
81  idUPlus = RUBY_TOKEN(UPLUS),
82  idUMinus = RUBY_TOKEN(UMINUS),
83  idPow = RUBY_TOKEN(POW),
84  idCmp = RUBY_TOKEN(CMP),
85  idPLUS = '+',
86  idMINUS = '-',
87  idMULT = '*',
88  idDIV = '/',
89  idMOD = '%',
90  idLTLT = RUBY_TOKEN(LSHFT),
91  idGTGT = RUBY_TOKEN(RSHFT),
92  idLT = '<',
93  idLE = RUBY_TOKEN(LEQ),
94  idGT = '>',
95  idGE = RUBY_TOKEN(GEQ),
96  idEq = RUBY_TOKEN(EQ),
97  idEqq = RUBY_TOKEN(EQQ),
98  idNeq = RUBY_TOKEN(NEQ),
99  idNot = '!',
100  idAnd = '&',
101  idOr = '|',
102  idBackquote = '`',
103  idEqTilde = RUBY_TOKEN(MATCH),
104  idNeqTilde = RUBY_TOKEN(NMATCH),
105  idAREF = RUBY_TOKEN(AREF),
106  idASET = RUBY_TOKEN(ASET),
107  idCOLON2 = RUBY_TOKEN(COLON2),
108  idANDOP = RUBY_TOKEN(ANDOP),
109  idOROP = RUBY_TOKEN(OROP),
110  idANDDOT = RUBY_TOKEN(ANDDOT),
111  tPRESERVED_ID_BEGIN = 150,
112  idNilP,
113  idNULL,
114  idEmptyP,
115  idEqlP,
116  idRespond_to,
117  idRespond_to_missing,
118  idIFUNC,
119  idCFUNC,
120  id_core_set_method_alias,
121  id_core_set_variable_alias,
122  id_core_undef_method,
123  id_core_define_method,
124  id_core_define_singleton_method,
125  id_core_set_postexe,
126  id_core_hash_merge_ptr,
127  id_core_hash_merge_kwd,
128  id_core_raise,
129  id_core_sprintf,
130  id_debug_created_info,
131  tPRESERVED_ID_END,
132  tTOKEN_LOCAL_BEGIN = tPRESERVED_ID_END-1,
133  tMax,
134  tMin,
135  tFreeze,
136  tInspect,
137  tIntern,
138  tObject_id,
139  tConst_missing,
140  tMethodMissing,
141  tMethod_added,
142  tSingleton_method_added,
143  tMethod_removed,
144  tSingleton_method_removed,
145  tMethod_undefined,
146  tSingleton_method_undefined,
147  tLength,
148  tSize,
149  tGets,
150  tSucc,
151  tEach,
152  tProc,
153  tLambda,
154  tSend,
155  t__send__,
156  t__attached__,
157  t__recursive_key__,
158  tInitialize,
159  tInitialize_copy,
160  tInitialize_clone,
161  tInitialize_dup,
162  tTo_int,
163  tTo_ary,
164  tTo_str,
165  tTo_sym,
166  tTo_hash,
167  tTo_proc,
168  tTo_io,
169  tTo_a,
170  tTo_s,
171  tTo_i,
172  tTo_f,
173  tTo_r,
174  tBt,
175  tBt_locations,
176  tCall,
177  tMesg,
178  tException,
179  tLocals,
180  tNOT,
181  tAND,
182  tOR,
183  tDiv,
184  tDivmod,
185  tFdiv,
186  tQuo,
187  tName,
188  tNil,
189  tUScore,
190  tNUMPARAM_1,
191  tNUMPARAM_2,
192  tNUMPARAM_3,
193  tNUMPARAM_4,
194  tNUMPARAM_5,
195  tNUMPARAM_6,
196  tNUMPARAM_7,
197  tNUMPARAM_8,
198  tNUMPARAM_9,
199  tTOKEN_LOCAL_END,
200  tTOKEN_INSTANCE_BEGIN = tTOKEN_LOCAL_END-1,
201  tTOKEN_INSTANCE_END,
202  tTOKEN_GLOBAL_BEGIN = tTOKEN_INSTANCE_END-1,
203  tLASTLINE,
204  tBACKREF,
205  tERROR_INFO,
206  tTOKEN_GLOBAL_END,
207  tTOKEN_CONST_BEGIN = tTOKEN_GLOBAL_END-1,
208  tTOKEN_CONST_END,
209  tTOKEN_CLASS_BEGIN = tTOKEN_CONST_END-1,
210  tTOKEN_CLASS_END,
211  tTOKEN_ATTRSET_BEGIN = tTOKEN_CLASS_END-1,
212  tTOKEN_ATTRSET_END,
213  tNEXT_ID = tTOKEN_ATTRSET_END,
214 #define DEFINE_LOCALID_FROM_TOKEN(n) id##n = TOKEN2LOCALID(t##n)
215  DEFINE_LOCALID_FROM_TOKEN(Max),
216  DEFINE_LOCALID_FROM_TOKEN(Min),
217  DEFINE_LOCALID_FROM_TOKEN(Freeze),
218  DEFINE_LOCALID_FROM_TOKEN(Inspect),
219  DEFINE_LOCALID_FROM_TOKEN(Intern),
220  DEFINE_LOCALID_FROM_TOKEN(Object_id),
221  DEFINE_LOCALID_FROM_TOKEN(Const_missing),
222  DEFINE_LOCALID_FROM_TOKEN(MethodMissing),
223  DEFINE_LOCALID_FROM_TOKEN(Method_added),
224  DEFINE_LOCALID_FROM_TOKEN(Singleton_method_added),
225  DEFINE_LOCALID_FROM_TOKEN(Method_removed),
226  DEFINE_LOCALID_FROM_TOKEN(Singleton_method_removed),
227  DEFINE_LOCALID_FROM_TOKEN(Method_undefined),
228  DEFINE_LOCALID_FROM_TOKEN(Singleton_method_undefined),
229  DEFINE_LOCALID_FROM_TOKEN(Length),
230  DEFINE_LOCALID_FROM_TOKEN(Size),
231  DEFINE_LOCALID_FROM_TOKEN(Gets),
232  DEFINE_LOCALID_FROM_TOKEN(Succ),
233  DEFINE_LOCALID_FROM_TOKEN(Each),
234  DEFINE_LOCALID_FROM_TOKEN(Proc),
235  DEFINE_LOCALID_FROM_TOKEN(Lambda),
236  DEFINE_LOCALID_FROM_TOKEN(Send),
237  DEFINE_LOCALID_FROM_TOKEN(__send__),
238  DEFINE_LOCALID_FROM_TOKEN(__attached__),
239  DEFINE_LOCALID_FROM_TOKEN(__recursive_key__),
240  DEFINE_LOCALID_FROM_TOKEN(Initialize),
241  DEFINE_LOCALID_FROM_TOKEN(Initialize_copy),
242  DEFINE_LOCALID_FROM_TOKEN(Initialize_clone),
243  DEFINE_LOCALID_FROM_TOKEN(Initialize_dup),
244  DEFINE_LOCALID_FROM_TOKEN(To_int),
245  DEFINE_LOCALID_FROM_TOKEN(To_ary),
246  DEFINE_LOCALID_FROM_TOKEN(To_str),
247  DEFINE_LOCALID_FROM_TOKEN(To_sym),
248  DEFINE_LOCALID_FROM_TOKEN(To_hash),
249  DEFINE_LOCALID_FROM_TOKEN(To_proc),
250  DEFINE_LOCALID_FROM_TOKEN(To_io),
251  DEFINE_LOCALID_FROM_TOKEN(To_a),
252  DEFINE_LOCALID_FROM_TOKEN(To_s),
253  DEFINE_LOCALID_FROM_TOKEN(To_i),
254  DEFINE_LOCALID_FROM_TOKEN(To_f),
255  DEFINE_LOCALID_FROM_TOKEN(To_r),
256  DEFINE_LOCALID_FROM_TOKEN(Bt),
257  DEFINE_LOCALID_FROM_TOKEN(Bt_locations),
258  DEFINE_LOCALID_FROM_TOKEN(Call),
259  DEFINE_LOCALID_FROM_TOKEN(Mesg),
260  DEFINE_LOCALID_FROM_TOKEN(Exception),
261  DEFINE_LOCALID_FROM_TOKEN(Locals),
262  DEFINE_LOCALID_FROM_TOKEN(NOT),
263  DEFINE_LOCALID_FROM_TOKEN(AND),
264  DEFINE_LOCALID_FROM_TOKEN(OR),
265  DEFINE_LOCALID_FROM_TOKEN(Div),
266  DEFINE_LOCALID_FROM_TOKEN(Divmod),
267  DEFINE_LOCALID_FROM_TOKEN(Fdiv),
268  DEFINE_LOCALID_FROM_TOKEN(Quo),
269  DEFINE_LOCALID_FROM_TOKEN(Name),
270  DEFINE_LOCALID_FROM_TOKEN(Nil),
271  DEFINE_LOCALID_FROM_TOKEN(UScore),
272  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_1),
273  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_2),
274  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_3),
275  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_4),
276  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_5),
277  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_6),
278  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_7),
279  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_8),
280  DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_9),
281 #define DEFINE_INSTANCEID_FROM_TOKEN(n) id##n = TOKEN2INSTANCEID(t##n)
282 #define DEFINE_GLOBALID_FROM_TOKEN(n) id##n = TOKEN2GLOBALID(t##n)
283  DEFINE_GLOBALID_FROM_TOKEN(LASTLINE),
284  DEFINE_GLOBALID_FROM_TOKEN(BACKREF),
285  DEFINE_GLOBALID_FROM_TOKEN(ERROR_INFO),
286 #define DEFINE_CONSTID_FROM_TOKEN(n) id##n = TOKEN2CONSTID(t##n)
287 #define DEFINE_CLASSID_FROM_TOKEN(n) id##n = TOKEN2CLASSID(t##n)
288 #define DEFINE_ATTRSETID_FROM_TOKEN(n) id##n = TOKEN2ATTRSETID(t##n)
289  tLAST_OP_ID = tPRESERVED_ID_END-1,
290  idLAST_OP_ID = tLAST_OP_ID >> ID_SCOPE_SHIFT
291 };
292 
293 #endif /* RUBY_ID_H */
Definition: dtoa.c:302