Commit Graph

36 Commits

Author SHA1 Message Date
Jesse D. McDonald c9be49b8a9 preserve %edi in all primitive operations 2020-11-15 01:07:21 -06:00
Jesse D. McDonald 11b5b3e7ed add native COMPARE primitive for performance 2020-11-07 11:05:06 -06:00
Jesse D. McDonald b258023136 eliminate *-WORDLIST & replace with VOCABULARY-style words 2020-11-07 00:47:05 -06:00
Jesse D. McDonald 7d859d4f23 add support for # suffix to indicate double-cell numbers 2020-11-06 20:31:34 -06:00
Jesse D. McDonald c076939fe2 fix for incorrect double-cell shift by 32 or more bits 2020-11-06 20:29:48 -06:00
Jesse D. McDonald 1f37a19c1b add ARGC, ARGV, and GETENV to access the command-line and environment variables 2020-11-05 02:07:48 -06:00
Jesse D. McDonald 73de579da0 add AA tree implementation 2020-11-05 02:07:48 -06:00
Jesse D. McDonald 4eb3fad278 add a form of LOCALS|…| for named local variables 2020-11-05 02:07:41 -06:00
Jesse D. McDonald 7e8b06c6ab use .balign (always bytes) instead of .align (depends on target) 2020-10-31 12:07:07 -05:00
Jesse D. McDonald 70c87e3d7a refactor word header so only >NAME involves variable-length data 2020-10-31 11:55:57 -05:00
Jesse D. McDonald 3009bc84e5 remove ['] and [CHAR], add MARKER and PRESERVED, tweak bootstrap word lists, etc. 2020-10-31 11:41:52 -05:00
Jesse D. McDonald a1c55c0d64 fix for inverted condition in ABS 2020-10-28 01:21:02 -05:00
Jesse D. McDonald 63b0c745ab rename WORD to PARSE-NAME (from FORTH 2012) which is a better match for the interface 2020-10-27 21:52:24 -05:00
Jesse D. McDonald 67bb06dd8f refactor & reorganize 2020-10-27 16:56:44 -05:00
Jesse D. McDonald f89a98e0b0 disallow interpreting string literals in bootstrap mode 2020-10-24 14:08:09 -05:00
Jesse D. McDonald 36e704b6cb fix for redundant U* primitive (signed and unsigned are the same) 2020-10-24 14:03:50 -05:00
Jesse D. McDonald 15fa156d02 add N@ and N! to transfer a group of cells to or from memory 2020-10-23 23:31:11 -05:00
Jesse D. McDonald 92d806298b reorganize into multiple word lists & shrink bootstrap words 2020-10-23 19:39:29 -05:00
Jesse D. McDonald 447c212f09 implement LEAVE, [IF]…[ELSE]…[THEN], and various other changes 2020-10-22 20:55:01 -05:00
Jesse D. McDonald 77607934cd add a full complement of double-cell primitives 2020-10-21 20:11:40 -05:00
Jesse D. McDonald 9e21704825 add large-object allocation (over 4 MB) with mmap 2020-10-21 00:44:23 -05:00
Jesse D. McDonald 96ebc29630 simplify primitive code 2020-10-21 00:44:23 -05:00
Jesse D. McDonald 2ceb9f75da add more double-cell numeric primitives and definitions 2020-10-21 00:44:23 -05:00
Jesse D. McDonald c0434e415a fix for RSHIFT implemented as left shift 2020-10-21 00:44:23 -05:00
Jesse D. McDonald 2eaa43f85f add decoding for { … } literals in SEE 2020-10-21 00:44:23 -05:00
Jesse D. McDonald 29b949d583 add exception handling with THROW and CATCH, and a version of SEE 2020-10-21 00:44:23 -05:00
Jesse D. McDonald c0391de969 revise the input system to better align with ANS FORTH 2020-10-21 00:44:23 -05:00
Jesse D. McDonald 3ae2ff353b add more primitives from the ANS FORTH standard 2020-10-21 00:44:23 -05:00
Jesse D. McDonald 1d56576f49 separate bootstrap (asm) definitions from runtime definitions 2020-10-21 00:44:23 -05:00
Jesse D. McDonald 3790a647fd implement the Search-Order word set 2020-10-21 00:44:23 -05:00
Jesse D. McDonald 60333e365c fix DOES> to work as described in the ANS Forth standard 2020-10-21 00:44:23 -05:00
Jesse D. McDonald 3a4e040ec1 implement CASE/OF, looping structures, :NONAME, and more 2020-10-21 00:44:23 -05:00
Jesse D. McDonald 09afabc21c move comment words \ and ( to myforth.S for earlier commenting 2020-10-21 00:44:23 -05:00
Jesse D. McDonald 35c42fa895 refactor ABORT etc.; add GETPID, GETTID, and RAISE 2020-10-21 00:44:23 -05:00
Jesse D. McDonald 19f12a45b9 add definitions for syscall and signal numbers 2020-10-21 00:44:23 -05:00
Jesse D. McDonald df89a30338 initial commit 2020-10-21 00:44:18 -05:00