Changeset 152 for trunk/thune/boot.c

Show
Ignore:
Timestamp:
05/14/06 02:10:45 (3 years ago)
Author:
krobillard
Message:

Thune -
'do now dispatches function!, call!, & code!
'as handles all word types.
'index? returns atom if TOS is a word.
Started implementing 'foreach.
true & false are now infused.
Fixed unitialized word.wordBlk and leak in ur_tokenize().

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/thune/boot.c

    r132 r152  
    22static char _bootScript[] = 
    33  "context! [\n" 
     4  "  logic! 1 make :true\n" 
     5  "  logic! 0 make :false\n" 
    46  "  opcode!  0 'nop     make :nop\n" 
    57  "  opcode!  3 'drop    make :drop\n" 
     
    2931  "  opcode! 27 'verify.2  make :verify.2\n" 
    3032  "  opcode! 28 'verify.3  make :verify.3\n" 
     33  "  opcode! 30 'foreach   make :foreach\n" 
    3134  "] make :urlan-ops\n" 
    3235; 
    3336 
    3437static char _envScript[] = 
    35   "logic! 1 make dup dup :true :yes :on\n" 
    36   "logic! 0 make dup dup :false :no :off\n" 
     38  "logic! 1 make dup :yes :on\n" 
     39  "logic! 0 make dup :no :off\n" 
    3740  "char! 10 make :eol\n" 
    3841  "[quit] proc :q\n" 
     
    4245  "[read to-block urlan-ops infuse] proc :load\n" 
    4346  "[select do] proc :case\n" 
    44   ";(block cond -- )\n" 
    4547  "[\n" 
    4648  "  dup do iff (drop drop return)\n" 
    4749  "  over do recurse\n" 
    4850  "]\n" 
    49   "proc :while\n" 
     51  "proc :while  ;(block cond -- )\n" 
     52  "[\n" 
     53  "  dup zero? ift (drop drop return)\n" 
     54  "  over do 1 sub recurse\n" 
     55  "]\n" 
     56  "proc :loop   ;(block count -- )\n" 
    5057  "[error! swap make throw] proc :error\n" 
    51   "; (env body -- proc)\n" 
    52   "[swap context bind proc] proc :proc.env\n" 
    53   "; (data rules -- pos)\n" 
    54   "[[some none] 2 poke parse] proc :parse.some\n" 
     58  "[swap context bind proc] proc :proc.env      ;(env body -- proc)\n" 
     59  "[[some none] 2 poke parse] proc :parse.some  ;(data rules -- pos)\n" 
    5560  "3.14159265358979323846 :pi\n" 
    5661  "[\n"