Jesse D. McDonald
|
9fe916db16
|
rename :REPLACE to :FINALIZE since prior word must be deferred
|
2020-10-31 11:58:07 -05:00 |
Jesse D. McDonald
|
abedc84f1a
|
remove redundant store of DODEFER in CFA of deferred word
|
2020-10-31 11:57:35 -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
|
e7dacc5582
|
fix WITHIN to match ANS FORTH (low ≤ test < high)
|
2020-10-27 22:55:28 -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
|
28559fc98c
|
unify AGAIN and REPEAT; allow multiple WHILEs and BEGIN … WHILE … UNTIL
|
2020-10-27 21:18:17 -05:00 |
Jesse D. McDonald
|
1ceedba773
|
redefine 2CONSTANT in terms of CREATE DOES>, saving two cells per use
|
2020-10-27 16:59:00 -05:00 |
Jesse D. McDonald
|
687012b7df
|
add #DFP for Decimal Fixed Precision numeric output
|
2020-10-27 16:56:44 -05:00 |
Jesse D. McDonald
|
67bb06dd8f
|
refactor & reorganize
|
2020-10-27 16:56:44 -05:00 |
Jesse D. McDonald
|
e268cac0a4
|
add a COMPOSE combinator and ALIAS defining word
|
2020-10-25 02:14:37 -05:00 |
Jesse D. McDonald
|
24682b970b
|
align ALLOCATE'd memory to 8 bytes with a magic number in the extra cell
|
2020-10-25 01:49:42 -05:00 |
Jesse D. McDonald
|
0d107e17d2
|
add a generic MERGE-SORT function for linked lists
|
2020-10-24 20:49:00 -05:00 |
Jesse D. McDonald
|
59ed031ca4
|
add parsing for binary, octal, and hexadecimal literals
|
2020-10-24 14:12:30 -05:00 |
Jesse D. McDonald
|
8dbc2939fc
|
add DUPLICATE to ALLOCATE and copy a string or other data
|
2020-10-24 11:14:33 -05:00 |
Jesse D. McDonald
|
89c2f4df3d
|
read string literals into a dynamically resized transient buffer
|
2020-10-24 11:07:38 -05:00 |
Jesse D. McDonald
|
46211d5662
|
make ALLOCATE of 0 bytes and FREE with a null address no-ops
|
2020-10-24 10:52:26 -05:00 |
Jesse D. McDonald
|
688fe7369e
|
change %ALLOT to return the aligned address of the data structure
|
2020-10-23 23:33:14 -05:00 |
Jesse D. McDonald
|
21eb4fafc4
|
add CLOSURE to capture data and code in a single execution token
|
2020-10-23 23:32:35 -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
|
4b98e19304
|
use ALLOCATE for the terminal input buffer and search order entries
|
2020-10-23 12:33:29 -05:00 |
Jesse D. McDonald
|
c09ca4a9e4
|
add RESIZE definition to match ALLOCATE and FREE
|
2020-10-23 01:32:33 -05:00 |
Jesse D. McDonald
|
7b44312892
|
add allocation of blocks for small objects with mmap
|
2020-10-22 23:34:05 -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
|
53c76a2e6a
|
tweak prompt format
|
2020-10-21 00:44:23 -05:00 |
Jesse D. McDonald
|
1a0fb71dd2
|
display exception code in default THROW handler
|
2020-10-21 00:44:23 -05:00 |
Jesse D. McDonald
|
4460297631
|
add pictured numeric output definitions as per ANS FORTH
|
2020-10-21 00:44:23 -05:00 |
Jesse D. McDonald
|
d90c8857e2
|
formalize 'THROW with string' & ensure default string is empty
|
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
|
b22e3e9c93
|
implement ALLOCATE and FREE using buddy allocator
|
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
|
2d8f282611
|
revise startup code with comments and new definitions
|
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
|
df89a30338
|
initial commit
|
2020-10-21 00:44:18 -05:00 |