X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=forth.jl.git;a=blobdiff_plain;f=src%2Fforth.jl;h=940e6f3fcd9c08faa72b6e9ddb40d178c04b583b;hp=90cf1cfafee4e3e56c9924d38dbb86ca428abf8a;hb=3546a8908320d9fafc9d3b054d573bd7bece8670;hpb=6162399a858a397add5ed60ba33f31a4d6dba4c2 diff --git a/src/forth.jl b/src/forth.jl index 90cf1cf..940e6f3 100644 --- a/src/forth.jl +++ b/src/forth.jl @@ -820,29 +820,30 @@ INTERPRET = defWord("INTERPRET", DUP, FETCH, ZE, ZBRANCH, 3, DROP, EXIT, # Exit if TIB is exhausted - STATE_CFA, FETCH, ZBRANCH, 28, + STATE_CFA, FETCH, ZBRANCH, 32, # Compiling - DUP, FIND, ZBRANCH, 17, + DUP, FIND, QDUP, ZBRANCH, 19, # Found word. + SWAP, DROP, DUP, TOCFA, SWAP, INCR, FETCH, LIT, F_IMMED, AND, ZBRANCH, 4, # Immediate: Execute! - EXECUTE, BRANCH, -30, + EXECUTE, BRANCH, -33, # Not immediate: Compile! - COMMA, BRANCH, -33, + COMMA, BRANCH, -36, # No word found, parse number - BTICK, LIT, COMMA, NUMBER, COMMA, BRANCH, -40, + BTICK, LIT, COMMA, TRACE, NUMBER, COMMA, BRANCH, -44, # Interpreting DUP, FIND, QDUP, ZBRANCH, 7, # Found word. Execute! - SWAP, DROP, TOCFA, EXECUTE, BRANCH, -51, + SWAP, DROP, TOCFA, EXECUTE, BRANCH, -55, # No word found, parse number and leave on stack - NUMBER, BRANCH, -54, + NUMBER, BRANCH, -58, EXIT] )