From 19b36fc0c147c5d98fe346ad62771fd615d137bb Mon Sep 17 00:00:00 2001 From: Tim Vaughan Date: Sun, 24 Apr 2016 14:28:42 +1200 Subject: [PATCH] Adding core forth words. --- src/forth.jl | 2 +- src/lib.fs | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 src/lib.fs diff --git a/src/forth.jl b/src/forth.jl index a3c55f0..19e5965 100644 --- a/src/forth.jl +++ b/src/forth.jl @@ -882,7 +882,7 @@ BYE = defPrimWord("BYE", () -> begin end) NL = defPrimWord("\n", () -> begin - if mem[STATE] == 0 + if mem[STATE] == 0 && reg.source == STDIN println(" ok") end return NEXT diff --git a/src/lib.fs b/src/lib.fs new file mode 100644 index 0000000..14194cd --- /dev/null +++ b/src/lib.fs @@ -0,0 +1,22 @@ +: / /MOD SWAP DROP ; +: MOD /MOD DROP ; + +: '\n' 10 ; +: BL 32 ; + +: CR '\n' emit ; +: SPACE BL emit ; + +: NEGATE 0 swap - ; + +: TRUE -1 ; +: FALSE 0 ; +: NOT 0= ; + +: LITERAL IMMEDIATE + ' LIT , + , + ; + +: ':' [ CHAR : ] LITERAL ; + -- 2.20.1