Commit graph

51 commits

Author SHA1 Message Date
Peter Fidelman
5b79671b2c Printing the return stack really isn't all that useful 2022-05-22 10:45:36 -07:00
Peter Fidelman
084a708813 typo, clarifications 2022-05-22 10:31:38 -07:00
Peter Fidelman
2ab3f07cd5 what an obvious typo 2022-05-22 01:26:20 -07:00
Peter Fidelman
bd1234713e 1st draft + 1st pass proofreading 2022-05-22 01:24:18 -07:00
psf
c57c321871 Fixes 2022-05-21 23:05:40 -07:00
psf
f0657ef8ae 1st draft 2022-05-21 22:44:50 -07:00
psf
07fee611a6 Writeup, part 2, partially done 2022-05-21 01:50:46 -07:00
psf
e5531bc19f Writeup, part 1 2022-05-19 02:23:25 -07:00
psf
8137ccd602 Strip comments in preparation for making a REAL writeup 2022-05-18 20:20:08 -07:00
psf
0ea3d6e148 Clean up io #2 a bit 2022-05-17 23:50:38 -07:00
psf
e227bfadb1 Supersede the old version. 2022-05-17 23:44:49 -07:00
psf
342490230a settle on unsigned comparison 2022-05-17 23:41:15 -07:00
psf
2543097fec Tweak instruction set to accelerate some common tasks 2022-05-17 23:40:20 -07:00
psf
ca8ced9494 WORD no longer leaves delimiter on stack 2022-05-17 22:43:39 -07:00
psf
cd1310e803 forth!() macro, startup .fs, add build.sh 2022-05-17 22:30:29 -07:00
psf
c093bc96fe combine in/out ops into io, add u< op, lots of condensing 2022-05-17 01:09:49 -07:00
psf
60da6e54a9 fix collision betweeen opcode and large literals 2022-05-15 21:51:30 -07:00
psf
bd55267c35 v2, now with a better-layered virtual stack CPU 2022-05-15 19:16:13 -07:00
Peter Fidelman
214a4917cd add examples 2022-04-10 17:11:49 -07:00
Peter Fidelman
755d8e068b add README 2022-04-10 16:34:08 -07:00
psf
07f935e38e TODO list of upcoming features 2022-04-01 23:37:17 -07:00
psf
c0687799ec variable, constant, forget 2022-03-27 21:17:01 -07:00
psf
182c374117 better error handling, + "ok" in interpret mode only 2022-03-27 14:38:44 -07:00
psf
0b11491963 autoexec, better size accounting 2022-03-27 13:56:39 -07:00
psf
995e712359 recursion and iteration 2022-03-27 13:22:35 -07:00
psf
c4f7fa6b93 oops, extra include 2022-03-27 01:40:48 -07:00
psf
aa3a9651a1 use _d suffix for words that needed a special dictionary version 2022-03-27 01:12:41 -07:00
psf
e204ae6da7 error checking (it's a start anyway) 2022-03-27 01:05:23 -07:00
psf
72dae5a249 user-callable return-stack juggling words that work correctly 2022-03-27 00:44:04 -07:00
psf
3aa9c06fd3 stack ops 2022-03-27 00:15:39 -07:00
psf
e594cb6298 alphabetized table! 2022-03-27 00:08:28 -07:00
psf
673e53349b create, and all pieces needed for : ; 2022-03-26 23:49:25 -07:00
psf
75304a0c82 get rid of special words understood by outer interpreter 2022-03-26 21:11:55 -07:00
Peter Fidelman
a6e611ad2f further prettification 2022-03-26 15:20:52 -07:00
Peter Fidelman
b7c07685c3 call 2022-03-26 15:05:00 -07:00
Peter Fidelman
4a718a7cee prettification 2022-03-26 14:59:25 -07:00
Peter Fidelman
885f6b2a40 removed incorrect clamping of ShortName length to 3 2022-03-26 14:58:46 -07:00
Peter Fidelman
2adcf0ddea shrink stacks (they were excessively huge) 2022-03-26 14:55:05 -07:00
Peter Fidelman
aeca252239 PHEW, much better 2022-03-26 14:21:02 -07:00
Peter Fidelman
9e13b11e6d rearrange titanic deck chairs 2022-03-26 13:38:45 -07:00
psf
30cca5288e BETRAYED by the unified primitive/dict table, see TODOs 2022-03-26 11:24:22 -07:00
psf
d40b9d17d5 compiling 2022-03-26 02:15:00 -07:00
psf
53521b70f4 immediate mode 2022-03-26 01:01:56 -07:00
psf
f2d9b7a092 fixed missing RETs, added sensible termination case 2022-03-26 00:10:11 -07:00
psf
b1a477ea99 ret with nothing on the return stack should exit 2022-03-25 23:30:18 -07:00
psf
c90591b864 outer interpreter does dictionary lookup, then executes via inner interpreter 2022-03-24 00:52:39 -07:00
psf
94b9fbbb0b bugfix: long names weren't being truncated 2022-03-24 00:44:23 -07:00
psf
70fcc8e9a9 stored-program computer 2022-03-24 00:01:51 -07:00
psf
b864d77444 byte-addressable memory (was word-addressable) 2022-03-22 21:14:06 -07:00
psf
5e6b760ffe rename rpn to outer (interpreter) 2022-03-22 21:13:17 -07:00