| Line | |
|---|
| 1 | /********************************************************************** |
|---|
| 2 | |
|---|
| 3 | env.h - |
|---|
| 4 | |
|---|
| 5 | $Author: knu $ |
|---|
| 6 | $Date: 2007-03-03 16:28:54 +0900 (土, 03 3 2007) $ |
|---|
| 7 | created at: Mon Jul 11 11:53:03 JST 1994 |
|---|
| 8 | |
|---|
| 9 | Copyright (C) 1993-2003 Yukihiro Matsumoto |
|---|
| 10 | |
|---|
| 11 | **********************************************************************/ |
|---|
| 12 | |
|---|
| 13 | #ifndef ENV_H |
|---|
| 14 | #define ENV_H |
|---|
| 15 | |
|---|
| 16 | extern struct FRAME { |
|---|
| 17 | VALUE self; |
|---|
| 18 | int argc; |
|---|
| 19 | ID last_func; |
|---|
| 20 | ID orig_func; |
|---|
| 21 | VALUE last_class; |
|---|
| 22 | struct FRAME *prev; |
|---|
| 23 | struct FRAME *tmp; |
|---|
| 24 | struct RNode *node; |
|---|
| 25 | int iter; |
|---|
| 26 | int flags; |
|---|
| 27 | unsigned long uniq; |
|---|
| 28 | } *ruby_frame; |
|---|
| 29 | |
|---|
| 30 | void rb_gc_mark_frame _((struct FRAME *)); |
|---|
| 31 | |
|---|
| 32 | #define FRAME_DMETH 1 |
|---|
| 33 | #define FRAME_FUNC 2 |
|---|
| 34 | |
|---|
| 35 | extern struct SCOPE { |
|---|
| 36 | struct RBasic super; |
|---|
| 37 | ID *local_tbl; |
|---|
| 38 | VALUE *local_vars; |
|---|
| 39 | int flags; |
|---|
| 40 | } *ruby_scope; |
|---|
| 41 | |
|---|
| 42 | #define SCOPE_ALLOCA 0 |
|---|
| 43 | #define SCOPE_MALLOC 1 |
|---|
| 44 | #define SCOPE_NOSTACK 2 |
|---|
| 45 | #define SCOPE_DONT_RECYCLE 4 |
|---|
| 46 | #define SCOPE_CLONE 8 |
|---|
| 47 | |
|---|
| 48 | extern int ruby_in_eval; |
|---|
| 49 | |
|---|
| 50 | extern VALUE ruby_class; |
|---|
| 51 | |
|---|
| 52 | struct RVarmap { |
|---|
| 53 | struct RBasic super; |
|---|
| 54 | ID id; |
|---|
| 55 | VALUE val; |
|---|
| 56 | struct RVarmap *next; |
|---|
| 57 | }; |
|---|
| 58 | extern struct RVarmap *ruby_dyna_vars; |
|---|
| 59 | |
|---|
| 60 | #endif /* ENV_H */ |
|---|