pike.git / src / peep.in

version» Context lines:

pike.git/src/peep.in:1: - # - # $Id: peep.in,v 1.13 1998/03/31 21:52:23 hubbe Exp $ - # + // + // $Id: peep.in,v 1.14 1998/04/01 00:47:49 hubbe Exp $ + // +    NOP :   POP_N_ELEMS (0) :   POP_N_ELEMS POP_VALUE : POP_N_ELEMS ($1a + 1)   POP_VALUE POP_VALUE : POP_N_ELEMS (2)   POP_VALUE POP_N_ELEMS : POP_N_ELEMS ($2a + 1)   POP_N_ELEMS POP_N_ELEMS : POP_N_ELEMS ($1a + $2a)   POP_N_ELEMS(1) : POP_VALUE      MARK MARK: MARK2   
pike.git/src/peep.in:29:   NEG_NUMBER NEGATE : NUMBER ($1a)   NEGATE NEGATE :   COMPL COMPL :   NEGATE CONST_1 ADD : COMPL   NEGATE CONST1 SUBTRACT : COMPL   CONST0 ASSIGN_LOCAL_AND_POP : CLEAR_LOCAL($2a)   CLEAR_LOCAL NUMBER(0) ASSIGN_LOCAL_AND_POP ($1a) : CLEAR_LOCAL($1a)   CLEAR_LOCAL NUMBER(0) ASSIGN_LOCAL_AND_POP ($1a+1) : CLEAR_2_LOCAL($1a)   CLEAR_2_LOCAL CLEAR_2_LOCAL($1a+2) : CLEAR_4_LOCAL($1a)    - #CONST_1 MULTIPLY : NEGATE - #CONST0 MULTIPLY : POP_VALUE CONST0 - #CONST1 MULTIPLY : - #NUMBER MULTIPLY [count_bits($1a)==1]: NUMBER(my_log2($1a)) LSH + // CONST_1 MULTIPLY : NEGATE + // CONST0 MULTIPLY : POP_VALUE CONST0 + // CONST1 MULTIPLY : + // NUMBER MULTIPLY [count_bits($1a)==1]: NUMBER(my_log2($1a)) LSH    - #CONST_1 DIVIDE : NEGATE - #CONST1 DIVIDE : - #NUMBER DIVIDE [count_bits($1a)==1]: NUMBER(my_log2($1a)) RSH + // CONST_1 DIVIDE : NEGATE + // CONST1 DIVIDE : + // NUMBER DIVIDE [count_bits($1a)==1]: NUMBER(my_log2($1a)) RSH      CONST0 SUBTRACT:   CONST0 XOR:   CONST_1 XOR: COMPL   EQ CONST0: NOT   CONST0 RETURN: RETURN_0   CONST1 RETURN: RETURN_1   INC POP_VALUE: INC_AND_POP   POST_INC POP_VALUE: INC_AND_POP   DEC POP_VALUE: DEC_AND_POP
pike.git/src/peep.in:177:   APPLY_ASSIGN_LOCAL_AND_POP BYTE LOCAL ($2a) : APPLY_ASSIGN_LOCAL($1a) BYTE($2a)      DEC_LOCAL_AND_POP MARK_AND_LOCAL ($1a) : MARK DEC_LOCAL ($1a)   INC_LOCAL_AND_POP MARK_AND_LOCAL ($1a) : MARK INC_LOCAL ($1a)   ASSIGN_GLOBAL_AND_POP MARK GLOBAL($1a) : MARK_X(1) ASSIGN_GLOBAL($1a)   ASSIGN_LOCAL_AND_POP MARK_AND_LOCAL($1a) : MARK_X(1) ASSIGN_LOCAL($1a)   APPLY_ASSIGN_LOCAL_AND_POP BYTE MARK_AND_LOCAL ($2a) : APPLY_ASSIGN_LOCAL($1a) BYTE($2a) MARK_X(1)      ASSIGN_LOCAL ASSIGN_LOCAL($1a) : ASSIGN_LOCAL($1a)    - # MARK_X rules + // MARK_X rules   MARK_X(0) : MARK   LOCAL MARK_X [$2a>0] : MARK_X($2a-1) LOCAL($1a)   STRING MARK_X [$2a>0] : MARK_X($2a-1) STRING($1a)   NUMBER MARK_X [$2a>0] : MARK_X($2a-1) NUMBER($1a)   CONST0 MARK_X [$2a>0] : MARK_X($2a-1) CONST0   CONST1 MARK_X [$2a>0] : MARK_X($2a-1) CONST1   CONST_1 MARK_X [$2a>0] : MARK_X($2a-1) CONST_1   NEG_NUMBER MARK_X [$2a>0] : MARK_X($2a-1) NEG_NUMBER($1a)   GLOBAL MARK_X [$2a>0] : MARK_X($2a-1) GLOBAL($1a)   MARK_APPLY MARK_X [$2a>0] : MARK_X($2a-1) MARK_APPLY($1a)   CONSTANT MARK_X [$2a>0] : MARK_X($2a-1) CONSTANT($1a)   FLOAT MARK_X [$2a>0] : MARK_X($2a-1) FLOAT($1a)   LFUN MARK_X [$2a>0] : MARK_X($2a-1) LFUN($1a)   LTOSVAL MARK_X [$2a>0] : MARK_X($2a-1) LTOSVAL   LOCAL_LVALUE MARK_X [$2a>1] : MARK_X($2a-2) LOCAL_LVALUE($1a)   2_LOCALS BYTE MARK_X [$2a>0] : LOCAL($1a) MARK_X($3a-1) LOCAL($2a) -  +  + #define BasicBranch2(Branch,Oper,Pre,Post,Variable) \ +  Variable Branch Pre Variable ($1a) : Variable ($1a) Oper ($2a) Post ; \ +  ASSIGN_##Variable Branch Pre Variable ($1a) : ASSIGN_##Variable($1a) Oper ($2a) Post ; +  + #define BasicBranch1(Branch,Oper,Pre,Post) \ +  BasicBranch2(Branch,Oper,Pre,Post,LOCAL) \ +  BasicBranch2(Branch,Oper,Pre,Post,GLOBAL) +  + #define BasicBranch0(Branch,Oper) \ +  BasicBranch1(Branch,Oper,MARK,MARK_X(1)) \ +  BasicBranch1(Branch,Oper, , ) +  + BasicBranch0(BRANCH_WHEN_NON_ZERO, BRANCH_AND_POP_WHEN_NON_ZERO) + BasicBranch0(BRANCH_WHEN_ZERO, BRANCH_AND_POP_WHEN_ZERO)