Changeset 510 for trunk/thune/internal.h

Show
Ignore:
Timestamp:
02/10/08 23:53:46 (9 months ago)
Author:
krobillard
Message:

'loop is now an opcode and can act as loop.to for integers.
File port! read now handles optional limit.
console.out now handles binary!.
Can now 'make an int! from first 4 bytes of a binary!
Added ur_initDecimal macro.
Added 'fcalc.
Removed word inc/dec.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/thune/internal.h

    r506 r510  
    108108typedef struct 
    109109{ 
     110    int16_t  code; 
     111    uint16_t flags; 
     112    int32_t  n; 
     113    int32_t  it; 
     114} 
     115CELoop; 
     116 
     117typedef struct 
     118{ 
    110119    int16_t code; 
    111120    int16_t locals; 
     
    118127typedef union 
    119128{ 
    120     char   bytes[16]; 
     129    UCell  cell; 
    121130    CEId   id; 
    122131    CECell cp; 
    123132    CEEnd  end; 
    124133    CEEval eval; 
     134    CELoop loop; 
    125135    CECell iter; 
    126136    CECell reduce; 
     
    134144#define CC_EVAL             2 
    135145#define CC_EVAL_RUNNING     3 
    136 #define CC_FOREVER          4 
    137 #define CC_REDUCE           5 
    138 #define CC_ITER             6 
    139 #define CC_EACH             7 
    140 #define CC_CATCH            8 
    141 #define CC_TERM             9 
    142 #define CC_END              10 
     146#define CC_REDUCE           4 
     147#define CC_FOREVER          5 
     148#define CC_LOOP             6 
     149#define CC_ITER             7 
     150#define CC_EACH             8 
     151#define CC_CATCH            9 
     152#define CC_TERM             10 
     153#define CC_END              11 
    143154#define CC_COUNT            (CC_END+1) 
    144155 
     
    147158#define CC_LEN_EVAL         1 
    148159#define CC_LEN_FOREVER      1 
     160#define CC_LEN_LOOP         2 
    149161#define CC_LEN_REDUCE       1 
    150162#define CC_LEN_ITER         2 
     
    210222#define OP_VERIFY           31 
    211223#define OP_FOREVER          32 
    212 #define OP_REDUCE           33 
    213 #define OP_DO_FUNC          34 
     224#define OP_LOOP             33 
     225#define OP_REDUCE           34 
     226#define OP_DO_FUNC          35 
    214227//#define OP_END              255 
    215228