id.h

Go to the documentation of this file.
00001 /* DO NOT EDIT THIS FILE DIRECTLY */
00002 /**********************************************************************
00003 
00004   id.h -
00005 
00006   $Author: nobu $
00007   created at: Sun Oct 19 21:12:51 2008
00008 
00009   Copyright (C) 2007 Koichi Sasada
00010 
00011 **********************************************************************/
00012 
00013 #ifndef RUBY_ID_H
00014 #define RUBY_ID_H
00015 
00016 enum ruby_id_types {
00017     RUBY_ID_LOCAL       = 0x00,
00018     RUBY_ID_INSTANCE    = 0x01,
00019     RUBY_ID_GLOBAL      = 0x03,
00020     RUBY_ID_ATTRSET     = 0x04,
00021     RUBY_ID_CONST       = 0x05,
00022     RUBY_ID_CLASS       = 0x06,
00023     RUBY_ID_JUNK        = 0x07,
00024     RUBY_ID_INTERNAL    = RUBY_ID_JUNK,
00025     RUBY_ID_SCOPE_SHIFT = 3,
00026     RUBY_ID_SCOPE_MASK  = ~(~0U<<RUBY_ID_SCOPE_SHIFT)
00027 };
00028 
00029 #define ID_SCOPE_SHIFT RUBY_ID_SCOPE_SHIFT
00030 #define ID_SCOPE_MASK  RUBY_ID_SCOPE_MASK
00031 #define ID_LOCAL       RUBY_ID_LOCAL
00032 #define ID_INSTANCE    RUBY_ID_INSTANCE
00033 #define ID_GLOBAL      RUBY_ID_GLOBAL
00034 #define ID_ATTRSET     RUBY_ID_ATTRSET
00035 #define ID_CONST       RUBY_ID_CONST
00036 #define ID_CLASS       RUBY_ID_CLASS
00037 #define ID_JUNK        RUBY_ID_JUNK
00038 #define ID_INTERNAL    RUBY_ID_INTERNAL
00039 
00040 #define ID2ATTRSET(id) (((id)&~ID_SCOPE_MASK)|ID_ATTRSET)
00041 
00042 #define symIFUNC ID2SYM(idIFUNC)
00043 #define symCFUNC ID2SYM(idCFUNC)
00044 
00045 #define RUBY_TOKEN_DOT2 128
00046 #define RUBY_TOKEN_DOT3 129
00047 #define RUBY_TOKEN_UPLUS 130
00048 #define RUBY_TOKEN_UMINUS 131
00049 #define RUBY_TOKEN_POW 132
00050 #define RUBY_TOKEN_DSTAR 133
00051 #define RUBY_TOKEN_CMP 134
00052 #define RUBY_TOKEN_LSHFT 135
00053 #define RUBY_TOKEN_RSHFT 136
00054 #define RUBY_TOKEN_LEQ 137
00055 #define RUBY_TOKEN_GEQ 138
00056 #define RUBY_TOKEN_EQ 139
00057 #define RUBY_TOKEN_EQQ 140
00058 #define RUBY_TOKEN_NEQ 141
00059 #define RUBY_TOKEN_MATCH 142
00060 #define RUBY_TOKEN_NMATCH 143
00061 #define RUBY_TOKEN_AREF 144
00062 #define RUBY_TOKEN_ASET 145
00063 #define RUBY_TOKEN_COLON2 146
00064 #define RUBY_TOKEN_COLON3 147
00065 #define RUBY_TOKEN(t) RUBY_TOKEN_##t
00066 
00067 enum ruby_method_ids {
00068     idDot2 = RUBY_TOKEN(DOT2),
00069     idDot3 = RUBY_TOKEN(DOT3),
00070     idUPlus = RUBY_TOKEN(UPLUS),
00071     idUMinus = RUBY_TOKEN(UMINUS),
00072     idPow = RUBY_TOKEN(POW),
00073     idCmp = RUBY_TOKEN(CMP),
00074     idPLUS = '+',
00075     idMINUS = '-',
00076     idMULT = '*',
00077     idDIV = '/',
00078     idMOD = '%',
00079     idLT = '<',
00080     idLTLT = RUBY_TOKEN(LSHFT),
00081     idLE = RUBY_TOKEN(LEQ),
00082     idGT = '>',
00083     idGE = RUBY_TOKEN(GEQ),
00084     idEq = RUBY_TOKEN(EQ),
00085     idEqq = RUBY_TOKEN(EQQ),
00086     idNeq = RUBY_TOKEN(NEQ),
00087     idNot = '!',
00088     idBackquote = '`',
00089     idEqTilde = RUBY_TOKEN(MATCH),
00090     idNeqTilde = RUBY_TOKEN(NMATCH),
00091     idAREF = RUBY_TOKEN(AREF),
00092     idASET = RUBY_TOKEN(ASET),
00093     tPRESERVED_ID_BEGIN = 147,
00094     idNULL,
00095     idEmptyP,
00096     idEqlP,
00097     idRespond_to,
00098     idRespond_to_missing,
00099     idIFUNC,
00100     idCFUNC,
00101     id_core_set_method_alias,
00102     id_core_set_variable_alias,
00103     id_core_undef_method,
00104     id_core_define_method,
00105     id_core_define_singleton_method,
00106     id_core_set_postexe,
00107     id_core_hash_from_ary,
00108     id_core_hash_merge_ary,
00109     id_core_hash_merge_ptr,
00110     id_core_hash_merge_kwd,
00111     tPRESERVED_ID_END,
00112     tFreeze,
00113     tInspect,
00114     tIntern,
00115     tObject_id,
00116     tConst_missing,
00117     tMethodMissing,
00118     tMethod_added,
00119     tSingleton_method_added,
00120     tMethod_removed,
00121     tSingleton_method_removed,
00122     tMethod_undefined,
00123     tSingleton_method_undefined,
00124     tLength,
00125     tSize,
00126     tGets,
00127     tSucc,
00128     tEach,
00129     tProc,
00130     tLambda,
00131     tSend,
00132     t__send__,
00133     t__attached__,
00134     tInitialize,
00135     tInitialize_copy,
00136     tInitialize_clone,
00137     tInitialize_dup,
00138     tUScore,
00139 #define TOKEN2LOCALID(n) id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_LOCAL)
00140     TOKEN2LOCALID(Freeze),
00141     TOKEN2LOCALID(Inspect),
00142     TOKEN2LOCALID(Intern),
00143     TOKEN2LOCALID(Object_id),
00144     TOKEN2LOCALID(Const_missing),
00145     TOKEN2LOCALID(MethodMissing),
00146     TOKEN2LOCALID(Method_added),
00147     TOKEN2LOCALID(Singleton_method_added),
00148     TOKEN2LOCALID(Method_removed),
00149     TOKEN2LOCALID(Singleton_method_removed),
00150     TOKEN2LOCALID(Method_undefined),
00151     TOKEN2LOCALID(Singleton_method_undefined),
00152     TOKEN2LOCALID(Length),
00153     TOKEN2LOCALID(Size),
00154     TOKEN2LOCALID(Gets),
00155     TOKEN2LOCALID(Succ),
00156     TOKEN2LOCALID(Each),
00157     TOKEN2LOCALID(Proc),
00158     TOKEN2LOCALID(Lambda),
00159     TOKEN2LOCALID(Send),
00160     TOKEN2LOCALID(__send__),
00161     TOKEN2LOCALID(__attached__),
00162     TOKEN2LOCALID(Initialize),
00163     TOKEN2LOCALID(Initialize_copy),
00164     TOKEN2LOCALID(Initialize_clone),
00165     TOKEN2LOCALID(Initialize_dup),
00166     TOKEN2LOCALID(UScore),
00167     tLAST_OP_ID = tPRESERVED_ID_END-1,
00168     idLAST_OP_ID = tLAST_OP_ID >> ID_SCOPE_SHIFT
00169 };
00170 
00171 #endif /* RUBY_ID_H */
00172 

Generated on 19 Jul 2016 for Ruby by  doxygen 1.4.7