forth.jl.git
6 years agoWorking on compatibility with julia 0.7
Tim Vaughan [Mon, 3 Sep 2018 09:58:56 +0000 (11:58 +0200)]
Working on compatibility with julia 0.7

7 years agoImproved error reporting.
Tim Vaughan [Thu, 28 Sep 2017 22:15:24 +0000 (00:15 +0200)]
Improved error reporting.

7 years agoMerge branch 'julia0.6'
Tim Vaughan [Thu, 10 Aug 2017 20:19:36 +0000 (22:19 +0200)]
Merge branch 'julia0.6'

7 years agoUsed invokelatest to work around world age issue.
Tim Vaughan [Thu, 10 Aug 2017 20:18:33 +0000 (22:18 +0200)]
Used invokelatest to work around world age issue.

7 years agoTransitioning to julia 0.6 (may be hard)
Tim Vaughan [Tue, 11 Jul 2017 02:25:57 +0000 (12:25 +1000)]
Transitioning to julia 0.6 (may be hard)

7 years agoFixed README typo.
Tim Vaughan [Fri, 28 Apr 2017 11:12:50 +0000 (23:12 +1200)]
Fixed README typo.

7 years agoAdded READ-FILE.
Tim Vaughan [Sat, 11 Mar 2017 20:24:45 +0000 (09:24 +1300)]
Added READ-FILE.

7 years agoAdded licensing to startup message.
Tim Vaughan [Fri, 24 Feb 2017 23:45:17 +0000 (12:45 +1300)]
Added licensing to startup message.

7 years agoMade forth.jl compatible with julia 0.5.
Tim Vaughan [Tue, 17 Jan 2017 08:27:08 +0000 (21:27 +1300)]
Made forth.jl compatible with julia 0.5.

8 years agoFixed interpret-mode behaviour of S".
Tim Vaughan [Thu, 27 Oct 2016 12:10:44 +0000 (01:10 +1300)]
Fixed interpret-mode behaviour of S".

8 years agoFixed bug in executable.
Tim Vaughan [Sun, 23 Oct 2016 01:28:05 +0000 (14:28 +1300)]
Fixed bug in executable.

8 years agoAdded executable script.
Tim Vaughan [Sat, 15 Oct 2016 01:03:23 +0000 (14:03 +1300)]
Added executable script.

8 years agoBYE now prints nothing when input stream is file.
Tim Vaughan [Sat, 15 Oct 2016 00:45:35 +0000 (13:45 +1300)]
BYE now prints nothing when input stream is file.

8 years agoCan now define an initial file to run.
Tim Vaughan [Sat, 15 Oct 2016 00:42:41 +0000 (13:42 +1300)]
Can now define an initial file to run.

8 years agoCODE now a library word.
Tim Vaughan [Wed, 12 Oct 2016 09:12:05 +0000 (22:12 +1300)]
CODE now a library word.

8 years agoAdded UNLOOP, COMPARE and TOLOWER.
Tim Vaughan [Wed, 12 Oct 2016 08:34:34 +0000 (21:34 +1300)]
Added UNLOOP, COMPARE and TOLOWER.

8 years agoUpdated README
Tim Vaughan [Wed, 12 Oct 2016 06:00:40 +0000 (19:00 +1300)]
Updated README

8 years agoFixed library finding bug.
Tim Vaughan [Tue, 11 Oct 2016 09:43:39 +0000 (22:43 +1300)]
Fixed library finding bug.

8 years agoTidying up after refactor.
Tim Vaughan [Tue, 11 Oct 2016 09:11:56 +0000 (22:11 +1300)]
Tidying up after refactor.

8 years agoMoved some input stream words to library.
Tim Vaughan [Tue, 11 Oct 2016 08:37:54 +0000 (21:37 +1300)]
Moved some input stream words to library.

8 years agoUpdated library code to use IB and QUERY-INPUT.
Tim Vaughan [Tue, 11 Oct 2016 08:20:08 +0000 (21:20 +1300)]
Updated library code to use IB and QUERY-INPUT.

8 years agoThink this fixes INCLUDED.
Tim Vaughan [Tue, 11 Oct 2016 08:19:55 +0000 (21:19 +1300)]
Think this fixes INCLUDED.

Now just have to fix any input stream processing
done by library functions.

8 years agoNow reads lib1 fine, but doesn't continue to lib2.
Tim Vaughan [Mon, 10 Oct 2016 11:01:37 +0000 (00:01 +1300)]
Now reads lib1 fine, but doesn't continue to lib2.

8 years agoINCLUDED now reads library up to end of lib_1_basic.4th.
Tim Vaughan [Mon, 10 Oct 2016 06:19:37 +0000 (19:19 +1300)]
INCLUDED now reads library up to end of lib_1_basic.4th.

Turns out that outer interpreter cannot rely on stack being untouched
between INTERPRET calls.  Duh!

8 years agoAvoided return stack use in INCLUDED.
Tim Vaughan [Mon, 10 Oct 2016 01:37:16 +0000 (14:37 +1300)]
Avoided return stack use in INCLUDED.

8 years agoINCLUDE now reads lib_2 up to ENDCASE.
Tim Vaughan [Mon, 10 Oct 2016 01:29:30 +0000 (14:29 +1300)]
INCLUDE now reads lib_2 up to ENDCASE.

8 years agoINCLUDE now reads lib.4th up to first nested INCLUDE.
Tim Vaughan [Mon, 10 Oct 2016 01:15:51 +0000 (14:15 +1300)]
INCLUDE now reads lib.4th up to first nested INCLUDE.

8 years agoAdded generic input buffer words IB and #IB.
Tim Vaughan [Sun, 9 Oct 2016 00:59:49 +0000 (13:59 +1300)]
Added generic input buffer words IB and #IB.

8 years agoFixed INCLUDED bug.
Tim Vaughan [Sun, 9 Oct 2016 00:51:29 +0000 (13:51 +1300)]
Fixed INCLUDED bug.

8 years agoDebugging INCLUDED.
Tim Vaughan [Sun, 9 Oct 2016 00:39:05 +0000 (13:39 +1300)]
Debugging INCLUDED.

8 years agoIncluded first file with new INCLUDED def.
Tim Vaughan [Sun, 9 Oct 2016 00:18:17 +0000 (13:18 +1300)]
Included first file with new INCLUDED def.

8 years agoUpdated run() to call new INCLUDED word.
Tim Vaughan [Sat, 8 Oct 2016 22:04:38 +0000 (11:04 +1300)]
Updated run() to call new INCLUDED word.

8 years agoINCLUDED and INCLUDE should now work.
Tim Vaughan [Sat, 8 Oct 2016 21:37:02 +0000 (10:37 +1300)]
INCLUDED and INCLUDE should now work.

8 years agoWorking on getting initialization working again.
Tim Vaughan [Wed, 5 Oct 2016 20:17:57 +0000 (09:17 +1300)]
Working on getting initialization working again.

8 years agoDraft INTERPRET implementation.
Tim Vaughan [Sun, 2 Oct 2016 00:36:37 +0000 (13:36 +1300)]
Draft INTERPRET implementation.

8 years agoAdded EOF word back in.
Tim Vaughan [Sun, 2 Oct 2016 00:15:42 +0000 (13:15 +1300)]
Added EOF word back in.

8 years agoAdded READ-LINE
Tim Vaughan [Sun, 2 Oct 2016 00:12:42 +0000 (13:12 +1300)]
Added READ-LINE

8 years agoImplemented SOURCE.
Tim Vaughan [Sat, 1 Oct 2016 23:53:35 +0000 (12:53 +1300)]
Implemented SOURCE.

8 years agoUpdated WORD to read from file or terminal buffer.
Tim Vaughan [Sat, 1 Oct 2016 23:41:56 +0000 (12:41 +1300)]
Updated WORD to read from file or terminal buffer.

8 years agoRemoved old INCLUDE def.
Tim Vaughan [Sat, 1 Oct 2016 01:31:45 +0000 (14:31 +1300)]
Removed old INCLUDE def.

8 years agoImplemented basic file io words.
Tim Vaughan [Sat, 1 Oct 2016 01:12:42 +0000 (14:12 +1300)]
Implemented basic file io words.

8 years agoAdded open-file and 2 FAMs
Tim Vaughan [Sat, 24 Sep 2016 01:37:18 +0000 (13:37 +1200)]
Added open-file and 2 FAMs

8 years agoWorking on fixing file io.
Tim Vaughan [Fri, 23 Sep 2016 12:27:30 +0000 (00:27 +1200)]
Working on fixing file io.

8 years agoFixed bug in CODE.
Tim Vaughan [Sat, 13 Aug 2016 10:29:49 +0000 (22:29 +1200)]
Fixed bug in CODE.

8 years agoAdded CODE/END-CODE.
Tim Vaughan [Sat, 13 Aug 2016 09:55:14 +0000 (21:55 +1200)]
Added CODE/END-CODE.

8 years agoAdded stack overflow exceptions.
Tim Vaughan [Sun, 24 Jul 2016 07:28:52 +0000 (19:28 +1200)]
Added stack overflow exceptions.

8 years agoAdded unicode completion support to repl. Closes #6.
Tim Vaughan [Sat, 16 Jul 2016 23:24:41 +0000 (11:24 +1200)]
Added unicode completion support to repl. Closes #6.

8 years agoUpdate README.md
Tim Vaughan [Mon, 11 Jul 2016 20:58:23 +0000 (08:58 +1200)]
Update README.md

8 years agoAmmended tab handling.
Tim Vaughan [Tue, 5 Jul 2016 20:44:38 +0000 (22:44 +0200)]
Ammended tab handling.

8 years agoTabs behaving sensibly in expect.
Tim Vaughan [Tue, 5 Jul 2016 20:35:13 +0000 (22:35 +0200)]
Tabs behaving sensibly in expect.

8 years agoAbort now resets the input stream.
Tim Vaughan [Sun, 12 Jun 2016 00:16:33 +0000 (12:16 +1200)]
Abort now resets the input stream.

8 years agoMinor changes.
Tim Vaughan [Sat, 11 Jun 2016 11:25:23 +0000 (23:25 +1200)]
Minor changes.

8 years agoFixed FORGET.
Tim Vaughan [Sat, 11 Jun 2016 01:51:13 +0000 (13:51 +1200)]
Fixed FORGET.

8 years agoFunctionally complete implementation.
Tim Vaughan [Mon, 6 Jun 2016 11:01:39 +0000 (23:01 +1200)]
Functionally complete implementation.

8 years agoUpdated README.
Tim Vaughan [Mon, 6 Jun 2016 02:10:31 +0000 (14:10 +1200)]
Updated README.

8 years agoImplemented ABORT".
Tim Vaughan [Mon, 6 Jun 2016 01:47:23 +0000 (13:47 +1200)]
Implemented ABORT".

8 years agoDecompilation works again.
Tim Vaughan [Sun, 5 Jun 2016 12:46:44 +0000 (00:46 +1200)]
Decompilation works again.

8 years agoFORGET works with vocabularies. Updated readme.
Tim Vaughan [Sat, 4 Jun 2016 10:15:53 +0000 (22:15 +1200)]
FORGET works with vocabularies.  Updated readme.

8 years agoWORDS now searches transient vocab only.
Tim Vaughan [Thu, 2 Jun 2016 11:26:11 +0000 (23:26 +1200)]
WORDS now searches transient vocab only.

TODO: FORGET and HIDE.

8 years agoFactored FIND.
Tim Vaughan [Thu, 2 Jun 2016 11:04:52 +0000 (23:04 +1200)]
Factored FIND.

8 years agoImplemented most vocab words.
Tim Vaughan [Thu, 2 Jun 2016 09:20:27 +0000 (21:20 +1200)]
Implemented most vocab words.

Still to do: update WORDS and FORGET.

8 years agoStill messing around with vocabs.
Tim Vaughan [Wed, 1 Jun 2016 13:01:04 +0000 (01:01 +1200)]
Still messing around with vocabs.

8 years agoImplemented CURRENT, FORTH, ORDER.
Tim Vaughan [Wed, 1 Jun 2016 12:06:56 +0000 (00:06 +1200)]
Implemented CURRENT, FORTH, ORDER.

8 years agoCorrect FORTH behaviour implemented.
Tim Vaughan [Wed, 1 Jun 2016 10:22:06 +0000 (22:22 +1200)]
Correct FORTH behaviour implemented.

8 years agoAdded CMOVE>
Tim Vaughan [Wed, 1 Jun 2016 09:32:48 +0000 (21:32 +1200)]
Added CMOVE>

8 years agoUsing standard field conversion words.
Tim Vaughan [Wed, 1 Jun 2016 09:05:36 +0000 (21:05 +1200)]
Using standard field conversion words.

8 years agoA bit of abstraction.
Tim Vaughan [Wed, 1 Jun 2016 06:00:33 +0000 (18:00 +1200)]
A bit of abstraction.

8 years agoFIND working again.
Tim Vaughan [Wed, 1 Jun 2016 00:33:34 +0000 (12:33 +1200)]
FIND working again.

8 years agoBroken draft of vocab implementation.
Tim Vaughan [Tue, 31 May 2016 21:46:12 +0000 (09:46 +1200)]
Broken draft of vocab implementation.

8 years agoWorking on vocabularies.
Tim Vaughan [Tue, 31 May 2016 19:34:46 +0000 (07:34 +1200)]
Working on vocabularies.

8 years agoUpdated README.
Tim Vaughan [Mon, 30 May 2016 11:31:46 +0000 (23:31 +1200)]
Updated README.

8 years agoFixed library loading bug.
Tim Vaughan [Mon, 30 May 2016 11:18:01 +0000 (23:18 +1200)]
Fixed library loading bug.

8 years agoUpdated README.
Tim Vaughan [Mon, 30 May 2016 00:41:23 +0000 (12:41 +1200)]
Updated README.

8 years agoAdded COMPILE.
Tim Vaughan [Sun, 29 May 2016 02:08:36 +0000 (14:08 +1200)]
Added COMPILE.

8 years agoRemoved unnecessary ['] primitive.
Tim Vaughan [Sun, 29 May 2016 01:45:25 +0000 (13:45 +1200)]
Removed unnecessary ['] primitive.

8 years agoDivided up library code.
Tim Vaughan [Sun, 29 May 2016 00:36:11 +0000 (12:36 +1200)]
Divided up library code.

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