Forth virtual machine

Often, Forth implementations have a simple virtual machine at heart, consisting of three primitives. Those are:

  • nest, also called docol
  • unnest, or semi_s (;s)
  • next

three registers are used to implement the virtual machine, another one exists for passing data between words, which use the vm. These are: different models exist to implement the forth vm, the one given here implements indirect threaded code, or ITC
next:   (ip)+ ->   w    ;  jmp (w)+

nest:    ip   -> -(rp)  ;  w -> ip  ;  next

unnest: (rp)+ ->   ip   ;  next

other models are:
  • DTC (Direct Threaded Code)
  • STC (Subroutine Threaded Code)
  • TTC (Token Threaded Code)

less often used are
  • return threading
  • string threading
  • call threading

 
 

Browse articles alphabetically:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
 
[an error occurred while processing this directive]