Changeset 340 for trunk/thune/rune

Show
Ignore:
Timestamp:
01/06/07 06:00:47 (2 years ago)
Author:
krobillard
Message:

Rune - ur_eval() no longer grows stack for final result.

Location:
trunk/thune/rune
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/thune/rune/boot.c

    r339 r340  
    77  "  mul     [a int!/decimal! b int!/decimal!]\n" 
    88  "  div     [a int!/decimal! b int!/decimal!]\n" 
     9  "  find    [ser val]\n" 
     10  "  find.last [ser val]\n" 
     11  "  match   [ser val]\n" 
     12  "  length? [ser]\n" 
     13  "  is-type? [val type]\n" 
     14  "  head    [ser]\n" 
     15  "  tail    [ser]\n" 
     16  "  prev    [ser]\n" 
     17  "  next    [ser]\n" 
     18  "  index?  [ser]\n" 
     19  "  head?   [ser]\n" 
     20  "  tail?   [ser]\n" 
     21  "  clear   [ser]\n" 
     22  "  insert  [ser val]\n" 
     23  "  append  [ser val]\n" 
     24  "  append.cat [ser val]\n" 
     25  "  remove  [ser]\n" 
     26  "  fill    [ser limit val]\n" 
     27  "  pick    [ser index]\n" 
     28  "  poke    [ser val index]\n" 
     29  "  select  [val body]\n" 
     30  "  copy    [val]\n" 
     31  "  copy.part [val part]\n" 
     32  "  change  [ser new]\n" 
     33  "  first   [ser]\n" 
     34  "  second  [ser]\n" 
     35  "  third   [ser]\n" 
     36  "  last    [ser]\n" 
     37  "  reverse [ser]\n" 
     38  "  skip    [ser skip]\n" 
     39  "  at      [ser index]\n" 
     40  "  unique  [ser]\n" 
     41  "  uppercase [str]\n" 
     42  "  lowercase [str]\n" 
     43  "  trim    [str]\n" 
    944  "  func    [sig block! body block!]\n" 
    1045  "  cout    [val]\n" 
     
    2156  "  func.loop [sig body]\n" 
    2257  "  read    [file string!]\n" 
    23   "  fill    [ser limit val]\n" 
     58  "  minimum [a b]\n" 
     59  "  maximum [a b]\n" 
     60  "  lshift  [n shift]\n" 
     61  "  rshift  [n shift]\n" 
     62  "  to-deg  [rad]\n" 
     63  "  to-rad  [deg]\n" 
     64  "  random  [max]\n" 
     65  "  complement [val]\n" 
     66  "  abs     [n]\n" 
     67  "  negate  [n]\n" 
    2468  "]\n" 
    2569  "kernel-ops: make context! [\n" 
  • trunk/thune/rune/mkboot.t

    r339 r340  
    88  mul     [a int!/decimal! b int!/decimal!] 
    99  div     [a int!/decimal! b int!/decimal!] 
     10  find    [ser val] 
     11  find.last [ser val] 
     12  match   [ser val] 
     13  length? [ser] 
     14  is-type? [val type] 
     15  head    [ser] 
     16  tail    [ser] 
     17  prev    [ser] 
     18  next    [ser] 
     19  index?  [ser] 
     20  head?   [ser] 
     21  tail?   [ser] 
     22  clear   [ser] 
     23  insert  [ser val] 
     24  append  [ser val] 
     25  append.cat [ser val] 
     26  remove  [ser] 
     27  fill    [ser limit val] 
     28  pick    [ser index] 
     29  poke    [ser val index] 
     30  select  [val body] 
     31  copy    [val] 
     32  copy.part [val part] 
     33  change  [ser new] 
     34  first   [ser] 
     35  second  [ser] 
     36  third   [ser] 
     37  last    [ser] 
     38  reverse [ser] 
     39  skip    [ser skip] 
     40  at      [ser index] 
     41  unique  [ser] 
     42  uppercase [str] 
     43  lowercase [str] 
     44  trim    [str] 
    1045  func    [sig block! body block!] 
    1146  cout    [val] 
     
    2257  func.loop [sig body] 
    2358  read    [file string!] 
    24   fill    [ser limit val] 
     59  minimum [a b] 
     60  maximum [a b] 
     61  lshift  [n shift] 
     62  rshift  [n shift] 
     63  to-deg  [rad] 
     64  to-rad  [deg] 
     65  random  [max] 
     66  complement [val] 
     67  abs     [n] 
     68  negate  [n] 
    2569] 
    2670 
  • trunk/thune/rune/rune.c

    r323 r340  
    825825finish: 
    826826 
    827     PUSH_VAL 
     827    //PUSH_VAL 
     828    if( val != UR_TOS ) 
     829        *UR_TOS = *val; 
    828830    return UR_EVAL_OK; 
    829831