forth.jl.git
8 years agoAll constants refering to CFAs are now labelled as such.
Tim Vaughan [Sat, 28 May 2016 23:06:36 +0000 (11:06 +1200)]
All constants refering to CFAs are now labelled as such.

8 years agoReimplemented EXPECT. Closes #1.
Tim Vaughan [Thu, 26 May 2016 12:03:40 +0000 (00:03 +1200)]
Reimplemented EXPECT.  Closes #1.

8 years agoAdded workable KEY.
Tim Vaughan [Thu, 26 May 2016 10:02:39 +0000 (22:02 +1200)]
Added workable KEY.

8 years agoFIND behaviour now standard. Closes #5.
Tim Vaughan [Wed, 25 May 2016 12:34:43 +0000 (00:34 +1200)]
FIND behaviour now standard. Closes #5.

To accomplish this it was necessary to include
a marker bit in the NFA ot allow for implementation
of >LFA and >NAME required for decompilation.

8 years agoWorking on standardizing FIND.
Tim Vaughan [Wed, 25 May 2016 05:43:08 +0000 (17:43 +1200)]
Working on standardizing FIND.

8 years agoReimplement CONSTANT, VARIABLE, VALUE using DOES>
Tim Vaughan [Tue, 24 May 2016 11:54:19 +0000 (23:54 +1200)]
Reimplement CONSTANT, VARIABLE, VALUE using DOES>

8 years agoCREATE/DOES> working. Closes #2.
Tim Vaughan [Tue, 24 May 2016 11:36:48 +0000 (23:36 +1200)]
CREATE/DOES> working.  Closes #2.

8 years agoWorking on CREATE/DOES>
Tim Vaughan [Tue, 24 May 2016 09:47:53 +0000 (21:47 +1200)]
Working on CREATE/DOES>

8 years agoStandardized HERE.
Tim Vaughan [Tue, 24 May 2016 10:02:45 +0000 (22:02 +1200)]
Standardized HERE.

8 years agoRemoved debug code.
Tim Vaughan [Mon, 23 May 2016 20:30:52 +0000 (08:30 +1200)]
Removed debug code.

8 years agoRSP0 and PSP0 now constants. Closes #4.
Tim Vaughan [Mon, 23 May 2016 12:48:59 +0000 (00:48 +1200)]
RSP0 and PSP0 now constants.  Closes #4.

8 years agoFixed residual INTERPRET bugs. Closes #3.
Tim Vaughan [Mon, 23 May 2016 12:31:32 +0000 (00:31 +1200)]
Fixed residual INTERPRET bugs. Closes #3.

8 years agoProblem is with lines >80 chars long.
Tim Vaughan [Mon, 23 May 2016 01:49:30 +0000 (13:49 +1200)]
Problem is with lines >80 chars long.

8 years agoAdequate handling of EOF restored.
Tim Vaughan [Mon, 23 May 2016 01:38:28 +0000 (13:38 +1200)]
Adequate handling of EOF restored.

8 years agoPinning down insidious bug in interpreter.
Tim Vaughan [Sun, 8 May 2016 01:40:27 +0000 (13:40 +1200)]
Pinning down insidious bug in interpreter.

Somehow mangles the parameter stack during LOOP.

8 years agoSlowly getting lib.4th to compile again.
Tim Vaughan [Sat, 7 May 2016 11:51:40 +0000 (23:51 +1200)]
Slowly getting lib.4th to compile again.

8 years agoCompiler working again.
Tim Vaughan [Sat, 7 May 2016 08:01:35 +0000 (20:01 +1200)]
Compiler working again.

8 years agodebugging compilation
Tim Vaughan [Sat, 7 May 2016 05:33:27 +0000 (17:33 +1200)]
debugging compilation

8 years agoDebugging interpreter.
Tim Vaughan [Sat, 7 May 2016 05:18:52 +0000 (17:18 +1200)]
Debugging interpreter.

8 years agoNew interpreter working.
Tim Vaughan [Sat, 7 May 2016 02:05:41 +0000 (14:05 +1200)]
New interpreter working.

8 years agoINTERPRET works for numbers in immediate mode.
Tim Vaughan [Sat, 7 May 2016 01:32:42 +0000 (13:32 +1200)]
INTERPRET works for numbers in immediate mode.

8 years agoRewriting INTERPRET.
Tim Vaughan [Fri, 6 May 2016 12:23:07 +0000 (00:23 +1200)]
Rewriting INTERPRET.

8 years agoImplemented COUNT, renamed TELL to TYPE
Tim Vaughan [Fri, 6 May 2016 08:22:35 +0000 (20:22 +1200)]
Implemented COUNT, renamed TELL to TYPE

8 years agoUse .( to print message in example
Tim Vaughan [Fri, 6 May 2016 07:08:56 +0000 (19:08 +1200)]
Use .( to print message in example

8 years agoImplemented \ comments as a word, implemented [CHAR]
Tim Vaughan [Fri, 6 May 2016 07:08:15 +0000 (19:08 +1200)]
Implemented \ comments as a word, implemented [CHAR]

8 years agoUpdate readme.
Tim Vaughan [Wed, 4 May 2016 09:21:14 +0000 (21:21 +1200)]
Update readme.

8 years agoWorking on CREATE/DOES>
Tim Vaughan [Mon, 2 May 2016 12:34:20 +0000 (00:34 +1200)]
Working on CREATE/DOES>

8 years agoAdded C,
Tim Vaughan [Mon, 2 May 2016 11:54:38 +0000 (23:54 +1200)]
Added C,

8 years agoImplemented FILL and ERASE.
Tim Vaughan [Mon, 2 May 2016 11:53:19 +0000 (23:53 +1200)]
Implemented FILL and ERASE.

8 years agoAdded .(, ." no longer applies in immediate mode.
Tim Vaughan [Mon, 2 May 2016 11:44:46 +0000 (23:44 +1200)]
Added .(, ." no longer applies in immediate mode.

8 years agoMade readme sound less silly.
Tim Vaughan [Mon, 2 May 2016 11:37:53 +0000 (23:37 +1200)]
Made readme sound less silly.

8 years agoCleaned up README.
Tim Vaughan [Mon, 2 May 2016 11:35:29 +0000 (23:35 +1200)]
Cleaned up README.

8 years agoAdded README
Tim Vaughan [Mon, 2 May 2016 02:40:29 +0000 (14:40 +1200)]
Added README

8 years agoCREATE, ALLOT and VARIABLE now work as they should.
Tim Vaughan [Mon, 2 May 2016 02:11:33 +0000 (14:11 +1200)]
CREATE, ALLOT and VARIABLE now work as they should.

8 years agoAdded UNUSED, made VM mem sizes more sensible.
Tim Vaughan [Mon, 2 May 2016 01:32:00 +0000 (13:32 +1200)]
Added UNUSED, made VM mem sizes more sensible.

8 years agoBetter placement of built-in constant/variable word defs.
Tim Vaughan [Mon, 2 May 2016 01:19:53 +0000 (13:19 +1200)]
Better placement of built-in constant/variable word defs.

8 years agoImproved decompiler support for non-docol words.
Tim Vaughan [Mon, 2 May 2016 01:12:40 +0000 (13:12 +1200)]
Improved decompiler support for non-docol words.

8 years agoRenamed CREATE to HEADER in prep for true CREATE/DOES>
Tim Vaughan [Sun, 1 May 2016 10:57:39 +0000 (22:57 +1200)]
Renamed CREATE to HEADER in prep for true CREATE/DOES>

8 years agovariables and constants now use DOVAR and DOCON
Tim Vaughan [Sun, 1 May 2016 00:06:39 +0000 (12:06 +1200)]
variables and constants now use DOVAR and DOCON

8 years agoID. sensible handles control characters in word names.
Tim Vaughan [Sat, 30 Apr 2016 22:53:44 +0000 (10:53 +1200)]
ID. sensible handles control characters in word names.

8 years agoTICK problem solved. (Split into ['] and '.)
Tim Vaughan [Sat, 30 Apr 2016 22:29:49 +0000 (10:29 +1200)]
TICK problem solved.  (Split into ['] and '.)

Follows forth 83 standard.

8 years agoPorted last of relevant jonesforth library code.
Tim Vaughan [Sat, 30 Apr 2016 13:23:32 +0000 (01:23 +1200)]
Ported last of relevant jonesforth library code.

8 years agoFixed problem with TICK, but now only works when compiled.
Tim Vaughan [Sat, 30 Apr 2016 12:23:39 +0000 (00:23 +1200)]
Fixed problem with TICK, but now only works when compiled.

8 years agoWorking on decompilation.
Tim Vaughan [Sat, 30 Apr 2016 01:43:45 +0000 (13:43 +1200)]
Working on decompilation.

8 years agoAdded string words to library.
Tim Vaughan [Fri, 29 Apr 2016 00:50:55 +0000 (12:50 +1200)]
Added string words to library.

8 years agoFixed 2swap bug, added ?do, fixed +loop.
Tim Vaughan [Thu, 28 Apr 2016 12:28:15 +0000 (00:28 +1200)]
Fixed 2swap bug, added ?do, fixed +loop.

Also, Mandelbrot Set example now works.

8 years agoFixing up example.
Tim Vaughan [Wed, 27 Apr 2016 20:42:32 +0000 (08:42 +1200)]
Fixing up example.

8 years agoFixed >scaled in example.
Tim Vaughan [Wed, 27 Apr 2016 06:13:24 +0000 (18:13 +1200)]
Fixed >scaled in example.

8 years agoAdded J.
Tim Vaughan [Wed, 27 Apr 2016 05:42:01 +0000 (17:42 +1200)]
Added J.

8 years agoFixed */ def, added fixed point arithmetic to example.
Tim Vaughan [Wed, 27 Apr 2016 00:25:53 +0000 (12:25 +1200)]
Fixed */ def, added fixed point arithmetic to example.

8 years agoFixed bugs in c*, cmagsq
Tim Vaughan [Tue, 26 Apr 2016 21:09:46 +0000 (09:09 +1200)]
Fixed bugs in c*, cmagsq

8 years agoStacks cleared on error.
Tim Vaughan [Tue, 26 Apr 2016 21:05:46 +0000 (09:05 +1200)]
Stacks cleared on error.

8 years agoFinished ROLL
Tim Vaughan [Tue, 26 Apr 2016 21:01:56 +0000 (09:01 +1200)]
Finished ROLL

8 years agoLOOP+ -> +LOOP, LEAVE? -> ?LEAVE
Tim Vaughan [Tue, 26 Apr 2016 20:30:12 +0000 (08:30 +1200)]
LOOP+ -> +LOOP, LEAVE? -> ?LEAVE

8 years agoWorking on ROLL, redefined SPACES
Tim Vaughan [Tue, 26 Apr 2016 19:38:43 +0000 (07:38 +1200)]
Working on ROLL, redefined SPACES

8 years agoFixed ROT/-ROT, added LEAVE? and LOOP+
Tim Vaughan [Tue, 26 Apr 2016 19:25:41 +0000 (07:25 +1200)]
Fixed ROT/-ROT, added LEAVE? and LOOP+

8 years agoDO LOOP LEAVE working
Tim Vaughan [Tue, 26 Apr 2016 12:16:47 +0000 (00:16 +1200)]
DO LOOP LEAVE working

rot/-rot bug is present!! Too tired to fix now.

8 years agoAdded MAX and MIN
Tim Vaughan [Tue, 26 Apr 2016 09:58:42 +0000 (21:58 +1200)]
Added MAX and MIN

8 years agoAdded 2* and 2/ arithmetic bit shift words.
Tim Vaughan [Tue, 26 Apr 2016 09:37:48 +0000 (21:37 +1200)]
Added 2* and 2/ arithmetic bit shift words.

8 years agoAdded LOOP+ and expressed LOOP as a special case.
Tim Vaughan [Tue, 26 Apr 2016 09:33:11 +0000 (21:33 +1200)]
Added LOOP+ and expressed LOOP as a special case.

8 years agoFixed broken DO LOOP
Tim Vaughan [Tue, 26 Apr 2016 09:20:21 +0000 (21:20 +1200)]
Fixed broken DO LOOP

8 years agoWorking on LEAVE and example.
Tim Vaughan [Tue, 26 Apr 2016 08:48:23 +0000 (20:48 +1200)]
Working on LEAVE and example.

8 years agoAdded DO WHILE REPEAT, as well as . and .s
Tim Vaughan [Mon, 25 Apr 2016 11:14:44 +0000 (23:14 +1200)]
Added DO WHILE REPEAT, as well as . and .s

. and .s are now compiled from source, not
primitives!

8 years agoMostly copy-pasting forth code at this point!
Tim Vaughan [Sun, 24 Apr 2016 13:08:44 +0000 (01:08 +1200)]
Mostly copy-pasting forth code at this point!

8 years agoHit on working TICK implementation.
Tim Vaughan [Sun, 24 Apr 2016 12:10:55 +0000 (00:10 +1200)]
Hit on working TICK implementation.

8 years agoExposed debug functions as forth words.
Tim Vaughan [Sun, 24 Apr 2016 07:37:45 +0000 (19:37 +1200)]
Exposed debug functions as forth words.

8 years agoSensible recovery from stack underflows.
Tim Vaughan [Sun, 24 Apr 2016 07:24:21 +0000 (19:24 +1200)]
Sensible recovery from stack underflows.

8 years agoPropper EOF handling.
Tim Vaughan [Sun, 24 Apr 2016 05:05:41 +0000 (17:05 +1200)]
Propper EOF handling.

8 years agoAdding core forth words.
Tim Vaughan [Sun, 24 Apr 2016 02:28:42 +0000 (14:28 +1200)]
Adding core forth words.

8 years agoadded INCLUDE - can now write pure forth!
Tim Vaughan [Sun, 24 Apr 2016 01:42:01 +0000 (13:42 +1200)]
added INCLUDE - can now write pure forth!

8 years agoIt's alive!
Tim Vaughan [Sun, 24 Apr 2016 00:33:10 +0000 (12:33 +1200)]
It's alive!

8 years agoDebugging DOCOL
Tim Vaughan [Sat, 23 Apr 2016 12:37:58 +0000 (00:37 +1200)]
Debugging DOCOL

8 years agoNL only prints "ok" in state 0
Tim Vaughan [Sat, 23 Apr 2016 11:29:18 +0000 (23:29 +1200)]
NL only prints "ok" in state 0

8 years agoadded BYE and NL
Tim Vaughan [Sat, 23 Apr 2016 10:49:33 +0000 (22:49 +1200)]
added BYE and NL

8 years agoInterpreter almost works!!!
Tim Vaughan [Sat, 23 Apr 2016 02:11:24 +0000 (14:11 +1200)]
Interpreter almost works!!!

8 years agoAdded CHAR and EXECUTE
Tim Vaughan [Sat, 23 Apr 2016 02:02:37 +0000 (14:02 +1200)]
Added CHAR and EXECUTE

8 years agoFinished INTERPRET
Tim Vaughan [Sat, 23 Apr 2016 01:58:28 +0000 (13:58 +1200)]
Finished INTERPRET

8 years agoWorking on INTERPRET.
Tim Vaughan [Fri, 22 Apr 2016 10:45:11 +0000 (22:45 +1200)]
Working on INTERPRET.

Shouldn't need to be primitive.

8 years agoimproved dump()
Tim Vaughan [Fri, 22 Apr 2016 09:57:23 +0000 (21:57 +1200)]
improved dump()

8 years agoFixed bug in FIND.
Tim Vaughan [Fri, 22 Apr 2016 08:55:58 +0000 (20:55 +1200)]
Fixed bug in FIND.

8 years agoTypo fixes.
Tim Vaughan [Fri, 22 Apr 2016 07:09:20 +0000 (19:09 +1200)]
Typo fixes.

8 years agoAdded TICK, BRANCH, 0BRANCH
Tim Vaughan [Fri, 22 Apr 2016 03:21:16 +0000 (15:21 +1200)]
Added TICK, BRANCH, 0BRANCH

8 years agoRename LICENSE.md to LICENSE
Tim Vaughan [Mon, 18 Apr 2016 20:28:41 +0000 (08:28 +1200)]
Rename LICENSE.md to LICENSE

8 years agoAdded HIDE, IMMEDIATE
Tim Vaughan [Mon, 18 Apr 2016 19:32:39 +0000 (07:32 +1200)]
Added HIDE, IMMEDIATE

8 years agoAdded compilation words.
Tim Vaughan [Mon, 18 Apr 2016 11:19:15 +0000 (23:19 +1200)]
Added compilation words.

8 years agoIncluded comparison primitives
Tim Vaughan [Mon, 18 Apr 2016 02:02:43 +0000 (14:02 +1200)]
Included comparison primitives

8 years agoInner interpreter works.
Tim Vaughan [Mon, 18 Apr 2016 01:42:54 +0000 (13:42 +1200)]
Inner interpreter works.

8 years agoDebugging first non-primitive word.
Tim Vaughan [Sun, 17 Apr 2016 13:01:49 +0000 (01:01 +1200)]
Debugging first non-primitive word.

8 years agoAdded arithmetic operations
Tim Vaughan [Sun, 17 Apr 2016 12:48:42 +0000 (00:48 +1200)]
Added arithmetic operations

8 years agoAdded FIND, TOCFA
Tim Vaughan [Sun, 17 Apr 2016 12:25:19 +0000 (00:25 +1200)]
Added FIND, TOCFA

8 years agoAdded NUMBER
Tim Vaughan [Sun, 17 Apr 2016 11:38:18 +0000 (23:38 +1200)]
Added NUMBER

8 years agoAdded KEY, EMIT, WORD
Tim Vaughan [Sun, 17 Apr 2016 11:16:59 +0000 (23:16 +1200)]
Added KEY, EMIT, WORD

8 years agoAdded stack dump method.
Tim Vaughan [Sun, 17 Apr 2016 01:28:36 +0000 (13:28 +1200)]
Added stack dump method.

8 years agoAdded core dump function for debugging.
Tim Vaughan [Sun, 17 Apr 2016 00:10:15 +0000 (12:10 +1200)]
Added core dump function for debugging.

8 years agoReg values now stored in reg type.
Tim Vaughan [Sat, 16 Apr 2016 06:33:08 +0000 (18:33 +1200)]
Reg values now stored in reg type.

8 years agoGetting messy.
Tim Vaughan [Sat, 16 Apr 2016 02:02:49 +0000 (14:02 +1200)]
Getting messy.

8 years agoexpr -> func, RS and PS now in memory.
Tim Vaughan [Fri, 15 Apr 2016 01:16:13 +0000 (13:16 +1200)]
expr -> func, RS and PS now in memory.

8 years agoI/O
Tim Vaughan [Mon, 11 Apr 2016 12:03:51 +0000 (00:03 +1200)]
I/O

8 years agoDoing my head in!
Tim Vaughan [Mon, 11 Apr 2016 02:21:02 +0000 (14:21 +1200)]
Doing my head in!

8 years agoWorking on I/O prims
Tim Vaughan [Mon, 11 Apr 2016 01:42:31 +0000 (13:42 +1200)]
Working on I/O prims