/* * This version of interpret is -not- exported to Forth! We are going to * re-define it in Forth so it executes as "pure" Forth, and we can use * Forth-side, return-stack-based exception handling! * * Oddly enough, the Forth implementation will be be *exactly* the same! * The only difference is that it will be executing in Forth, so we can use * R stack tricks to change its behaviour. */ static void muboot_interpret() { for (;;) { mu_token(); if (TOP == 0) break; mu_consume(); muboot_show_stack(); } DROP(2); }
void mu_interpret() { source.start = (char *)ST1; source.end = (char *)ST1 + TOP; DROP(2); first = source.start; for (;;) { mu_token(); if (TOP == 0) break; consume(); mu_qstack(); } DROP(2); }