Changes between Version 2 and Version 3 of LoritoOps

Show
Ignore:
Timestamp:
07/20/10 23:04:23 (12 years ago)
Author:
cotto
Comment:

updates from #ps

Legend:

Unmodified
Added
Removed
Modified
  • LoritoOps

    v2 v3  
    88 * if   - conditional branch 
    99 
     10=== Value (12 ops) === 
     11The Value, Math, Comparison and Object ops are designed to minimize op proliferation.  Apart from type coercion via set_[ins]_[ins], all ops require that each of their arguments be of the same type. 
     12 
     13 * set_[ins]_[ins]  - copy/coerce registers between primitive types (objects will provide the same functionality via vtable functions) 
     14 * load_const_[ins] - load a constant into a register 
     15 
    1016=== Math (14 ops) === 
    1117 * add_[in] - add two registers of the same type 
    12  * sub_[in] - subtract two registers 
    13  * mul_[in] - multiply two registers 
    14  * div_[in] - divide two registers 
    15  * mod_[in] - take the mod of a register 
     18 * sub_[in] - subtract two registers of the same type 
     19 * mul_[in] - multiply two registers of the same type 
     20 * div_[in] - divide two registers of the same type 
     21 * mod_[in] - return the remainder of $2/$3 
    1622 * and      - bitwise and of an int 
    1723 * or       - bitwise or of an int 
     
    2329 * isgt_[in] - a > b 
    2430 * isge_[in] - a >= b 
    25  
    26 === Values (12 ops) === 
    27  * set_[ins]_[ins]  - copy/coerce registers between primitive types 
    28  * load_const_[ins] - load a constant into a register 
    2931 
    3032=== Objects (8 ops) === 
     
    3941 
    4042=== I/O (3 ops, bootstrapping only) === 
    41  * read  - read from stdin* 
    42  * write - write to stdout* 
    43  * gripe - write to stderr* 
     43These three ops are only intended for use during Lorito's implementation phase.  Once Lorito matures to the point where we have a fixed set of ops and have tools that can generate Lorito, we expect these ops to become methods on a FileHandle. 
    4444 
    45 * read, write and gripe are only intended for use during Lorito's implementation phase.  Once Lorito matures, these ops will become methods on a FileHandle. 
     45 * read  - read from stdin 
     46 * write - write to stdout 
     47 * gripe - write to stderr 
     48