sender 1.5.1 → 1.5.3

Sign up to get free protection for your applications and to get access to all the features.
data/ext/sender/dln.h DELETED
@@ -1,41 +0,0 @@
1
- /**********************************************************************
2
-
3
- dln.h -
4
-
5
- $Author: nobu $
6
- created at: Wed Jan 19 16:53:09 JST 1994
7
-
8
- Copyright (C) 1993-2007 Yukihiro Matsumoto
9
-
10
- **********************************************************************/
11
-
12
- #ifndef DLN_H
13
- #define DLN_H
14
-
15
- #ifdef __cplusplus
16
- # ifndef HAVE_PROTOTYPES
17
- # define HAVE_PROTOTYPES 1
18
- # endif
19
- # ifndef HAVE_STDARG_PROTOTYPES
20
- # define HAVE_STDARG_PROTOTYPES 1
21
- # endif
22
- #endif
23
-
24
- #undef _
25
- #ifdef HAVE_PROTOTYPES
26
- # define _(args) args
27
- #else
28
- # define _(args) ()
29
- #endif
30
-
31
- DEPRECATED(char *dln_find_exe(const char*,const char*));
32
- DEPRECATED(char *dln_find_file(const char*,const char*));
33
- char *dln_find_exe_r(const char*,const char*,char*,int);
34
- char *dln_find_file_r(const char*,const char*,char*,int);
35
-
36
- #ifdef USE_DLN_A_OUT
37
- extern char *dln_argv0;
38
- #endif
39
-
40
- void *dln_load(const char*);
41
- #endif
data/ext/sender/encdb.h DELETED
@@ -1,147 +0,0 @@
1
- ENC_DEFINE("ASCII-8BIT");
2
- ENC_DEFINE("Big5");
3
- ENC_DEFINE("CP949");
4
- ENC_DEFINE("Emacs-Mule");
5
- ENC_DEFINE("EUC-JP");
6
- ENC_DEFINE("EUC-KR");
7
- ENC_DEFINE("EUC-TW");
8
- ENC_DEFINE("GB18030");
9
- ENC_DEFINE("GBK");
10
- ENC_DEFINE("ISO-8859-1");
11
- ENC_DEFINE("ISO-8859-2");
12
- ENC_DEFINE("ISO-8859-3");
13
- ENC_DEFINE("ISO-8859-4");
14
- ENC_DEFINE("ISO-8859-5");
15
- ENC_DEFINE("ISO-8859-6");
16
- ENC_DEFINE("ISO-8859-7");
17
- ENC_DEFINE("ISO-8859-8");
18
- ENC_DEFINE("ISO-8859-9");
19
- ENC_DEFINE("ISO-8859-10");
20
- ENC_DEFINE("ISO-8859-11");
21
- ENC_DEFINE("ISO-8859-13");
22
- ENC_DEFINE("ISO-8859-14");
23
- ENC_DEFINE("ISO-8859-15");
24
- ENC_DEFINE("ISO-8859-16");
25
- ENC_DEFINE("KOI8-R");
26
- ENC_DEFINE("KOI8-U");
27
- ENC_DEFINE("Shift_JIS");
28
- ENC_DEFINE("US-ASCII");
29
- ENC_DEFINE("UTF-8");
30
- ENC_DEFINE("UTF-16BE");
31
- ENC_DEFINE("UTF-16LE");
32
- ENC_DEFINE("UTF-32BE");
33
- ENC_DEFINE("UTF-32LE");
34
- ENC_DEFINE("Windows-1251");
35
- ENC_ALIAS("BINARY", "ASCII-8BIT");
36
- ENC_REPLICATE("IBM437", "ASCII-8BIT");
37
- ENC_ALIAS("CP437", "IBM437");
38
- ENC_REPLICATE("IBM737", "ASCII-8BIT");
39
- ENC_ALIAS("CP737", "IBM737");
40
- ENC_REPLICATE("IBM775", "ASCII-8BIT");
41
- ENC_ALIAS("CP775", "IBM775");
42
- ENC_REPLICATE("CP850", "ASCII-8BIT");
43
- ENC_ALIAS("IBM850", "CP850");
44
- ENC_REPLICATE("IBM852", "ASCII-8BIT");
45
- ENC_REPLICATE("CP852", "IBM852");
46
- ENC_REPLICATE("IBM855", "ASCII-8BIT");
47
- ENC_REPLICATE("CP855", "IBM855");
48
- ENC_REPLICATE("IBM857", "ASCII-8BIT");
49
- ENC_ALIAS("CP857", "IBM857");
50
- ENC_REPLICATE("IBM860", "ASCII-8BIT");
51
- ENC_ALIAS("CP860", "IBM860");
52
- ENC_REPLICATE("IBM861", "ASCII-8BIT");
53
- ENC_ALIAS("CP861", "IBM861");
54
- ENC_REPLICATE("IBM862", "ASCII-8BIT");
55
- ENC_ALIAS("CP862", "IBM862");
56
- ENC_REPLICATE("IBM863", "ASCII-8BIT");
57
- ENC_ALIAS("CP863", "IBM863");
58
- ENC_REPLICATE("IBM864", "ASCII-8BIT");
59
- ENC_ALIAS("CP864", "IBM864");
60
- ENC_REPLICATE("IBM865", "ASCII-8BIT");
61
- ENC_ALIAS("CP865", "IBM865");
62
- ENC_REPLICATE("IBM866", "ASCII-8BIT");
63
- ENC_ALIAS("CP866", "IBM866");
64
- ENC_REPLICATE("IBM869", "ASCII-8BIT");
65
- ENC_ALIAS("CP869", "IBM869");
66
- ENC_REPLICATE("Windows-1258", "ASCII-8BIT");
67
- ENC_ALIAS("CP1258", "Windows-1258");
68
- ENC_REPLICATE("GB1988", "ASCII-8BIT");
69
- ENC_REPLICATE("macCentEuro", "ASCII-8BIT");
70
- ENC_REPLICATE("macCroatian", "ASCII-8BIT");
71
- ENC_REPLICATE("macCyrillic", "ASCII-8BIT");
72
- ENC_REPLICATE("macGreek", "ASCII-8BIT");
73
- ENC_REPLICATE("macIceland", "ASCII-8BIT");
74
- ENC_REPLICATE("macRoman", "ASCII-8BIT");
75
- ENC_REPLICATE("macRomania", "ASCII-8BIT");
76
- ENC_REPLICATE("macThai", "ASCII-8BIT");
77
- ENC_REPLICATE("macTurkish", "ASCII-8BIT");
78
- ENC_REPLICATE("macUkraine", "ASCII-8BIT");
79
- ENC_ALIAS("CP950", "BIG5");
80
- ENC_REPLICATE("stateless-ISO-2022-JP", "Emacs-Mule");
81
- ENC_ALIAS("eucJP", "EUC-JP") /* UI-OSF Application Platform Profile for Japanese Environment Version 1.1 */;
82
- ENC_REPLICATE("eucJP-ms", "EUC-JP") /* TOG/JVC CDE/Motif Technical WG */;
83
- ENC_ALIAS("euc-jp-ms", "eucJP-ms");
84
- ENC_REPLICATE("CP51932", "EUC-JP");
85
- ENC_ALIAS("eucKR", "EUC-KR");
86
- ENC_ALIAS("eucTW", "EUC-TW");
87
- ENC_ALIAS("EUC-CN", "GB2312");
88
- ENC_ALIAS("eucCN", "GB2312");
89
- ENC_REPLICATE("GB12345", "GB2312");
90
- ENC_ALIAS("CP936", "GBK");
91
- ENC_DUMMY("ISO-2022-JP");
92
- ENC_ALIAS("ISO2022-JP", "ISO-2022-JP");
93
- ENC_REPLICATE("ISO-2022-JP-2", "ISO-2022-JP");
94
- ENC_ALIAS("ISO2022-JP2", "ISO-2022-JP-2");
95
- ENC_ALIAS("ISO8859-1", "ISO-8859-1");
96
- ENC_REPLICATE("Windows-1252", "ISO-8859-1");
97
- ENC_ALIAS("CP1252", "Windows-1252");
98
- ENC_ALIAS("ISO8859-2", "ISO-8859-2");
99
- ENC_REPLICATE("Windows-1250", "ISO-8859-2");
100
- ENC_ALIAS("CP1250", "Windows-1250");
101
- ENC_ALIAS("ISO8859-3", "ISO-8859-3");
102
- ENC_ALIAS("ISO8859-4", "ISO-8859-4");
103
- ENC_ALIAS("ISO8859-5", "ISO-8859-5");
104
- ENC_ALIAS("ISO8859-6", "ISO-8859-6");
105
- ENC_REPLICATE("Windows-1256", "ISO-8859-6");
106
- ENC_ALIAS("CP1256", "Windows-1256");
107
- ENC_ALIAS("ISO8859-7", "ISO-8859-7");
108
- ENC_REPLICATE("Windows-1253", "ISO-8859-7");
109
- ENC_ALIAS("CP1253", "Windows-1253");
110
- ENC_ALIAS("ISO8859-8", "ISO-8859-8");
111
- ENC_REPLICATE("Windows-1255", "ISO-8859-8");
112
- ENC_ALIAS("CP1255", "Windows-1255");
113
- ENC_ALIAS("ISO8859-9", "ISO-8859-9");
114
- ENC_REPLICATE("Windows-1254", "ISO-8859-9");
115
- ENC_ALIAS("CP1254", "Windows-1254");
116
- ENC_ALIAS("ISO8859-10", "ISO-8859-10");
117
- ENC_ALIAS("ISO8859-11", "ISO-8859-11");
118
- ENC_REPLICATE("TIS-620", "ISO-8859-11");
119
- ENC_REPLICATE("Windows-874", "ISO-8859-11");
120
- ENC_ALIAS("CP874", "Windows-874");
121
- ENC_ALIAS("ISO8859-13", "ISO-8859-13");
122
- ENC_REPLICATE("Windows-1257", "ISO-8859-13");
123
- ENC_ALIAS("CP1257", "Windows-1257");
124
- ENC_ALIAS("ISO8859-14", "ISO-8859-14");
125
- ENC_ALIAS("ISO8859-15", "ISO-8859-15");
126
- ENC_ALIAS("ISO8859-16", "ISO-8859-16");
127
- ENC_ALIAS("CP878", "KOI8-R");
128
- ENC_ALIAS("SJIS", "Shift_JIS");
129
- ENC_REPLICATE("Windows-31J", "Shift_JIS");
130
- ENC_ALIAS("CP932", "Windows-31J");
131
- ENC_ALIAS("csWindows31J", "Windows-31J") /* IANA. IE6 don't accept Windows-31J but csWindows31J. */;
132
- ENC_REPLICATE("MacJapanese", "Shift_JIS");
133
- ENC_ALIAS("MacJapan", "MacJapanese");
134
- ENC_ALIAS("ASCII", "US-ASCII");
135
- ENC_ALIAS("ANSI_X3.4-1968", "US-ASCII");
136
- ENC_ALIAS("646", "US-ASCII");
137
- ENC_DUMMY("UTF-7");
138
- ENC_ALIAS("CP65000", "UTF-7");
139
- ENC_ALIAS("CP65001", "UTF-8");
140
- ENC_REPLICATE("UTF8-MAC", "UTF-8");
141
- ENC_ALIAS("UTF-8-MAC", "UTF8-MAC");
142
- ENC_ALIAS("UCS-2BE", "UTF-16BE");
143
- ENC_ALIAS("UCS-4BE", "UTF-32BE");
144
- ENC_ALIAS("UCS-4LE", "UTF-32LE");
145
- ENC_ALIAS("CP1251", "Windows-1251");
146
-
147
- #define ENCODING_COUNT 83
@@ -1,215 +0,0 @@
1
- #ifndef RUBY_EVAL_INTERN_H
2
- #define RUBY_EVAL_INTERN_H
3
-
4
- #include "ruby/ruby.h"
5
- #include "vm_core.h"
6
-
7
- #define PASS_PASSED_BLOCK_TH(th) do { \
8
- (th)->passed_block = GC_GUARDED_PTR_REF((rb_block_t *)(th)->cfp->lfp[0]); \
9
- (th)->cfp->flag |= VM_FRAME_FLAG_PASSED; \
10
- } while (0)
11
-
12
- #define PASS_PASSED_BLOCK() do { \
13
- rb_thread_t * const __th__ = GET_THREAD(); \
14
- PASS_PASSED_BLOCK_TH(__th__); \
15
- } while (0)
16
-
17
- #ifdef HAVE_STDLIB_H
18
- #include <stdlib.h>
19
- #endif
20
- #ifndef EXIT_SUCCESS
21
- #define EXIT_SUCCESS 0
22
- #endif
23
- #ifndef EXIT_FAILURE
24
- #define EXIT_FAILURE 1
25
- #endif
26
-
27
- #include <stdio.h>
28
- #include <setjmp.h>
29
-
30
- #ifdef __APPLE__
31
- #include <crt_externs.h>
32
- #endif
33
-
34
- /* Make alloca work the best possible way. */
35
- #ifdef __GNUC__
36
- # ifndef atarist
37
- # ifndef alloca
38
- # define alloca __builtin_alloca
39
- # endif
40
- # endif /* atarist */
41
- #else
42
- # ifdef HAVE_ALLOCA_H
43
- # include <alloca.h>
44
- # else
45
- # ifdef _AIX
46
- #pragma alloca
47
- # else
48
- # ifndef alloca /* predefined by HP cc +Olibcalls */
49
- void *alloca();
50
- # endif
51
- # endif /* AIX */
52
- # endif /* HAVE_ALLOCA_H */
53
- #endif /* __GNUC__ */
54
-
55
- #ifndef HAVE_STRING_H
56
- char *strrchr(const char *, const char);
57
- #endif
58
-
59
- #ifdef HAVE_UNISTD_H
60
- #include <unistd.h>
61
- #endif
62
-
63
- #ifdef HAVE_NET_SOCKET_H
64
- #include <net/socket.h>
65
- #endif
66
-
67
- #define ruby_setjmp(env) RUBY_SETJMP(env)
68
- #define ruby_longjmp(env,val) RUBY_LONGJMP(env,val)
69
- #ifdef __CYGWIN__
70
- # ifndef _setjmp
71
- int _setjmp(jmp_buf);
72
- # endif
73
- # ifndef _longjmp
74
- NORETURN(void _longjmp(jmp_buf, int));
75
- # endif
76
- #endif
77
-
78
- #include <sys/types.h>
79
- #include <signal.h>
80
- #include <errno.h>
81
-
82
- #ifdef HAVE_SYS_SELECT_H
83
- #include <sys/select.h>
84
- #endif
85
-
86
- /*
87
- Solaris sys/select.h switches select to select_large_fdset to support larger
88
- file descriptors if FD_SETSIZE is larger than 1024 on 32bit environment.
89
- But Ruby doesn't change FD_SETSIZE because fd_set is allocated dynamically.
90
- So following definition is required to use select_large_fdset.
91
- */
92
- #ifdef HAVE_SELECT_LARGE_FDSET
93
- #define select(n, r, w, e, t) select_large_fdset(n, r, w, e, t)
94
- #endif
95
-
96
- #ifdef HAVE_SYS_PARAM_H
97
- #include <sys/param.h>
98
- #endif
99
-
100
- #include <sys/stat.h>
101
-
102
- #define SAVE_ROOT_JMPBUF(th, stmt) do \
103
- if (ruby_setjmp((th)->root_jmpbuf) == 0) { \
104
- stmt; \
105
- } \
106
- else { \
107
- rb_fiber_start(); \
108
- } while (0)
109
-
110
- #define TH_PUSH_TAG(th) do { \
111
- rb_thread_t * const _th = th; \
112
- struct rb_vm_tag _tag; \
113
- _tag.tag = 0; \
114
- _tag.prev = _th->tag; \
115
- _th->tag = &_tag;
116
-
117
- #define TH_POP_TAG() \
118
- _th->tag = _tag.prev; \
119
- } while (0)
120
-
121
- #define TH_POP_TAG2() \
122
- _th->tag = _tag.prev
123
-
124
- #define PUSH_TAG() TH_PUSH_TAG(GET_THREAD())
125
- #define POP_TAG() TH_POP_TAG()
126
-
127
- #define TH_EXEC_TAG() ruby_setjmp(_th->tag->buf)
128
-
129
- #define EXEC_TAG() \
130
- TH_EXEC_TAG()
131
-
132
- #define TH_JUMP_TAG(th, st) do { \
133
- ruby_longjmp(th->tag->buf,(st)); \
134
- } while (0)
135
-
136
- #define JUMP_TAG(st) TH_JUMP_TAG(GET_THREAD(), st)
137
-
138
- enum ruby_tag_type {
139
- RUBY_TAG_RETURN = 0x1,
140
- RUBY_TAG_BREAK = 0x2,
141
- RUBY_TAG_NEXT = 0x3,
142
- RUBY_TAG_RETRY = 0x4,
143
- RUBY_TAG_REDO = 0x5,
144
- RUBY_TAG_RAISE = 0x6,
145
- RUBY_TAG_THROW = 0x7,
146
- RUBY_TAG_FATAL = 0x8,
147
- RUBY_TAG_MASK = 0xf
148
- };
149
- #define TAG_RETURN RUBY_TAG_RETURN
150
- #define TAG_BREAK RUBY_TAG_BREAK
151
- #define TAG_NEXT RUBY_TAG_NEXT
152
- #define TAG_RETRY RUBY_TAG_RETRY
153
- #define TAG_REDO RUBY_TAG_REDO
154
- #define TAG_RAISE RUBY_TAG_RAISE
155
- #define TAG_THROW RUBY_TAG_THROW
156
- #define TAG_FATAL RUBY_TAG_FATAL
157
- #define TAG_MASK RUBY_TAG_MASK
158
-
159
- #define NEW_THROW_OBJECT(val, pt, st) \
160
- ((VALUE)NEW_NODE(NODE_LIT, (val), (pt), (st)))
161
- #define SET_THROWOBJ_CATCH_POINT(obj, val) \
162
- (RNODE((obj))->u2.value = (val))
163
- #define SET_THROWOBJ_STATE(obj, val) \
164
- (RNODE((obj))->u3.value = (val))
165
-
166
- #define GET_THROWOBJ_VAL(obj) ((VALUE)RNODE((obj))->u1.value)
167
- #define GET_THROWOBJ_CATCH_POINT(obj) ((VALUE*)RNODE((obj))->u2.value)
168
- #define GET_THROWOBJ_STATE(obj) ((int)RNODE((obj))->u3.value)
169
-
170
- #define SCOPE_TEST(f) (rb_vm_cref()->nd_visi & (f))
171
- #define SCOPE_CHECK(f) (rb_vm_cref()->nd_visi == (f))
172
- #define SCOPE_SET(f) (rb_vm_cref()->nd_visi = (f))
173
-
174
- #define CHECK_STACK_OVERFLOW(cfp, margin) do \
175
- if (((VALUE *)(cfp)->sp) + (margin) + sizeof(rb_control_frame_t) >= ((VALUE *)cfp)) { \
176
- rb_exc_raise(sysstack_error); \
177
- } \
178
- while (0)
179
-
180
- void rb_thread_cleanup(void);
181
- void rb_thread_wait_other_threads(void);
182
-
183
- enum {
184
- RAISED_EXCEPTION = 1,
185
- RAISED_STACKOVERFLOW = 2,
186
- RAISED_NOMEMORY = 4
187
- };
188
- int rb_thread_set_raised(rb_thread_t *th);
189
- int rb_thread_reset_raised(rb_thread_t *th);
190
- #define rb_thread_raised_set(th, f) ((th)->raised_flag |= (f))
191
- #define rb_thread_raised_reset(th, f) ((th)->raised_flag &= ~(f))
192
- #define rb_thread_raised_p(th, f) (((th)->raised_flag & (f)) != 0)
193
- #define rb_thread_raised_clear(th) ((th)->raised_flag = 0)
194
-
195
- VALUE rb_f_eval(int argc, VALUE *argv, VALUE self);
196
- VALUE rb_make_exception(int argc, VALUE *argv);
197
-
198
- NORETURN(void rb_fiber_start(void));
199
-
200
- NORETURN(void rb_print_undef(VALUE, ID, int));
201
- NORETURN(void rb_vm_localjump_error(const char *,VALUE, int));
202
- NORETURN(void rb_vm_jump_tag_but_local_jump(int, VALUE));
203
- NORETURN(void rb_raise_method_missing(rb_thread_t *th, int argc, VALUE *argv,
204
- VALUE obj, int call_status));
205
-
206
- VALUE rb_vm_make_jump_tag_but_local_jump(int state, VALUE val);
207
- NODE *rb_vm_cref(void);
208
- VALUE rb_obj_is_proc(VALUE);
209
- VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename);
210
- void rb_thread_terminate_all(void);
211
- VALUE rb_vm_top_self();
212
- VALUE rb_vm_cbase(void);
213
- void rb_trap_restore_mask(void);
214
-
215
- #endif /* RUBY_EVAL_INTERN_H */
data/ext/sender/gc.h DELETED
@@ -1,75 +0,0 @@
1
-
2
- #ifndef RUBY_GC_H
3
- #define RUBY_GC_H 1
4
-
5
- #if defined(__i386) && defined(__GNUC__)
6
- #define SET_MACHINE_STACK_END(p) __asm__("mov %%esp, %0" : "=r" (*p))
7
- #else
8
- NOINLINE(void rb_gc_set_stack_end(VALUE **stack_end_p));
9
- #define SET_MACHINE_STACK_END(p) rb_gc_set_stack_end(p)
10
- #define USE_CONSERVATIVE_STACK_END
11
- #endif
12
-
13
- /* for GC debug */
14
-
15
- #ifndef RUBY_MARK_FREE_DEBUG
16
- #define RUBY_MARK_FREE_DEBUG 0
17
- #endif
18
-
19
- #if RUBY_MARK_FREE_DEBUG
20
- extern int ruby_gc_debug_indent;
21
-
22
- static void
23
- rb_gc_debug_indent(void)
24
- {
25
- printf("%*s", ruby_gc_debug_indent, "");
26
- }
27
-
28
- static void
29
- rb_gc_debug_body(char *mode, char *msg, int st, void *ptr)
30
- {
31
- if (st == 0) {
32
- ruby_gc_debug_indent--;
33
- }
34
- rb_gc_debug_indent();
35
- printf("%s: %s %s (%p)\n", mode, st ? "->" : "<-", msg, ptr);
36
-
37
- if (st) {
38
- ruby_gc_debug_indent++;
39
- }
40
-
41
- fflush(stdout);
42
- }
43
-
44
- #define RUBY_MARK_ENTER(msg) rb_gc_debug_body("mark", msg, 1, ptr)
45
- #define RUBY_MARK_LEAVE(msg) rb_gc_debug_body("mark", msg, 0, ptr)
46
- #define RUBY_FREE_ENTER(msg) rb_gc_debug_body("free", msg, 1, ptr)
47
- #define RUBY_FREE_LEAVE(msg) rb_gc_debug_body("free", msg, 0, ptr)
48
- #define RUBY_GC_INFO rb_gc_debug_indent(); printf
49
-
50
- #else
51
- #define RUBY_MARK_ENTER(msg)
52
- #define RUBY_MARK_LEAVE(msg)
53
- #define RUBY_FREE_ENTER(msg)
54
- #define RUBY_FREE_LEAVE(msg)
55
- #define RUBY_GC_INFO if(0)printf
56
- #endif
57
-
58
- #define RUBY_MARK_UNLESS_NULL(ptr) if(RTEST(ptr)){rb_gc_mark(ptr);}
59
- #define RUBY_FREE_UNLESS_NULL(ptr) if(ptr){ruby_xfree(ptr);}
60
-
61
- #if STACK_GROW_DIRECTION > 0
62
- # define STACK_UPPER(x, a, b) a
63
- #elif STACK_GROW_DIRECTION < 0
64
- # define STACK_UPPER(x, a, b) b
65
- #else
66
- RUBY_EXTERN int ruby_stack_grow_direction;
67
- int ruby_get_stack_grow_direction(VALUE *addr);
68
- # define stack_growup_p(x) ( \
69
- (ruby_stack_grow_direction ? \
70
- ruby_stack_grow_direction : \
71
- ruby_get_stack_grow_direction(x)) > 0)
72
- # define STACK_UPPER(x, a, b) (stack_growup_p(x) ? a : b)
73
- #endif
74
-
75
- #endif /* RUBY_GC_H */
data/ext/sender/id.h DELETED
@@ -1,163 +0,0 @@
1
- /* DO NOT EDIT THIS FILE DIRECTLY */
2
- /**********************************************************************
3
-
4
- id.h -
5
-
6
- $Author: nobu $
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
- #define ID_SCOPE_SHIFT 3
17
- #define ID_SCOPE_MASK 0x07
18
- #define ID_LOCAL 0x00
19
- #define ID_INSTANCE 0x01
20
- #define ID_GLOBAL 0x03
21
- #define ID_ATTRSET 0x04
22
- #define ID_CONST 0x05
23
- #define ID_CLASS 0x06
24
- #define ID_JUNK 0x07
25
- #define ID_INTERNAL ID_JUNK
26
-
27
- #ifdef USE_PARSE_H
28
- #include "parse.h"
29
- #endif
30
-
31
- #define symIFUNC ID2SYM(idIFUNC)
32
- #define symCFUNC ID2SYM(idCFUNC)
33
-
34
- #if !defined tLAST_TOKEN && defined YYTOKENTYPE
35
- #define tLAST_TOKEN tLAST_TOKEN
36
- #endif
37
-
38
- enum ruby_method_ids {
39
- #ifndef tLAST_TOKEN
40
- tUPLUS = 321,
41
- tUMINUS = 322,
42
- tPOW = 323,
43
- tCMP = 324,
44
- tEQ = 325,
45
- tEQQ = 326,
46
- tNEQ = 327,
47
- tGEQ = 328,
48
- tLEQ = 329,
49
- tANDOP = 330,
50
- tOROP = 331,
51
- tMATCH = 332,
52
- tNMATCH = 333,
53
- tDOT2 = 334,
54
- tDOT3 = 335,
55
- tAREF = 336,
56
- tASET = 337,
57
- tLSHFT = 338,
58
- tRSHFT = 339,
59
- tLAMBDA = 352,
60
- idNULL = 365,
61
- idRespond_to = 366,
62
- idIFUNC = 367,
63
- idCFUNC = 368,
64
- idThrowState = 369,
65
- id_core_set_method_alias = 370,
66
- id_core_set_variable_alias = 371,
67
- id_core_undef_method = 372,
68
- id_core_define_method = 373,
69
- id_core_define_singleton_method = 374,
70
- id_core_set_postexe = 375,
71
- tLAST_TOKEN = 376,
72
- #endif
73
- idPLUS = '+',
74
- idMINUS = '-',
75
- idMULT = '*',
76
- idDIV = '/',
77
- idMOD = '%',
78
- idLT = '<',
79
- idLTLT = tLSHFT,
80
- idLE = tLEQ,
81
- idGT = '>',
82
- idGE = tGEQ,
83
- idEq = tEQ,
84
- idEqq = tEQQ,
85
- idNeq = tNEQ,
86
- idNot = '!',
87
- idBackquote = '`',
88
- idEqTilde = tMATCH,
89
- idAREF = tAREF,
90
- idASET = tASET,
91
- idLAST_TOKEN = tLAST_TOKEN >> ID_SCOPE_SHIFT,
92
- tIntern,
93
- tMethodMissing,
94
- tLength,
95
- tGets,
96
- tSucc,
97
- tEach,
98
- tLambda,
99
- tSend,
100
- t__send__,
101
- tInitialize,
102
- #if SUPPORT_JOKE
103
- tBitblt,
104
- tAnswer,
105
- #endif
106
- tLAST_ID,
107
- #define TOKEN2ID(n) id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_LOCAL)
108
- #if SUPPORT_JOKE
109
- TOKEN2ID(Bitblt),
110
- TOKEN2ID(Answer),
111
- #endif
112
- TOKEN2ID(Intern),
113
- TOKEN2ID(MethodMissing),
114
- TOKEN2ID(Length),
115
- TOKEN2ID(Gets),
116
- TOKEN2ID(Succ),
117
- TOKEN2ID(Each),
118
- TOKEN2ID(Lambda),
119
- TOKEN2ID(Send),
120
- TOKEN2ID(__send__),
121
- TOKEN2ID(Initialize)
122
- };
123
-
124
- #ifdef tLAST_TOKEN
125
- struct ruby_method_ids_check {
126
- #define ruby_method_id_check_for(name, value) \
127
- int checking_for_##name[name == value ? 1 : -1]
128
- ruby_method_id_check_for(tUPLUS, 321);
129
- ruby_method_id_check_for(tUMINUS, 322);
130
- ruby_method_id_check_for(tPOW, 323);
131
- ruby_method_id_check_for(tCMP, 324);
132
- ruby_method_id_check_for(tEQ, 325);
133
- ruby_method_id_check_for(tEQQ, 326);
134
- ruby_method_id_check_for(tNEQ, 327);
135
- ruby_method_id_check_for(tGEQ, 328);
136
- ruby_method_id_check_for(tLEQ, 329);
137
- ruby_method_id_check_for(tANDOP, 330);
138
- ruby_method_id_check_for(tOROP, 331);
139
- ruby_method_id_check_for(tMATCH, 332);
140
- ruby_method_id_check_for(tNMATCH, 333);
141
- ruby_method_id_check_for(tDOT2, 334);
142
- ruby_method_id_check_for(tDOT3, 335);
143
- ruby_method_id_check_for(tAREF, 336);
144
- ruby_method_id_check_for(tASET, 337);
145
- ruby_method_id_check_for(tLSHFT, 338);
146
- ruby_method_id_check_for(tRSHFT, 339);
147
- ruby_method_id_check_for(tLAMBDA, 352);
148
- ruby_method_id_check_for(idNULL, 365);
149
- ruby_method_id_check_for(idRespond_to, 366);
150
- ruby_method_id_check_for(idIFUNC, 367);
151
- ruby_method_id_check_for(idCFUNC, 368);
152
- ruby_method_id_check_for(idThrowState, 369);
153
- ruby_method_id_check_for(id_core_set_method_alias, 370);
154
- ruby_method_id_check_for(id_core_set_variable_alias, 371);
155
- ruby_method_id_check_for(id_core_undef_method, 372);
156
- ruby_method_id_check_for(id_core_define_method, 373);
157
- ruby_method_id_check_for(id_core_define_singleton_method, 374);
158
- ruby_method_id_check_for(id_core_set_postexe, 375);
159
- ruby_method_id_check_for(tLAST_TOKEN, 376);
160
- };
161
- #endif
162
-
163
- #endif /* RUBY_ID_H */