Jesse D. McDonald
|
54ac4ca37b
|
add ALLOCA, %ALLOCA, and UNALLOCA for reserving space on the return stack
|
2020-11-09 13:55:02 -06:00 |
Jesse D. McDonald
|
7d286ddffc
|
add remaining file I/O words & script mode
|
2020-11-07 23:15:12 -06:00 |
Jesse D. McDonald
|
d2ca30d177
|
add file input, INCLUDE-FILE, and INCLUDED
|
2020-11-07 17:29:48 -06:00 |
Jesse D. McDonald
|
3590996e43
|
fix for data left on return stack when AA tree is empty
|
2020-11-07 17:28:18 -06:00 |
Jesse D. McDonald
|
9361c6fef0
|
implement some of the file I/O words
|
2020-11-07 14:28:09 -06:00 |
Jesse D. McDonald
|
38da1322c1
|
fix excess alignment for 64-bit integer types on x86
|
2020-11-07 14:26:36 -06:00 |
Jesse D. McDonald
|
98731c5f01
|
add DUMP word for displaying raw memory
|
2020-11-07 14:25:49 -06:00 |
Jesse D. McDonald
|
a143fdf7a4
|
show the data stack at the prompt if non-empty
|
2020-11-07 11:05:06 -06:00 |
Jesse D. McDonald
|
11b5b3e7ed
|
add native COMPARE primitive for performance
|
2020-11-07 11:05:06 -06:00 |
Jesse D. McDonald
|
b427711830
|
add AA-ITERATE for simple in-order iteration of an AA tree
|
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
|
ffb555c42f
|
add DU.R, D.R, U.R, and .R for right-aligned numeric output
|
2020-11-05 18:57:26 -06:00 |
Jesse D. McDonald
|
50fe63b104
|
add OF? for logical tests in CASE structures
|
2020-11-05 17:01:39 -06:00 |
Jesse D. McDonald
|
0ee566ea39
|
formatting & whitespace
|
2020-11-05 02:07:48 -06:00 |
Jesse D. McDonald
|
af34583b5f
|
fix MARK so it works when interpreting, not just when compiling
|
2020-11-05 02:07: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
|
014033d715
|
add ELSE-IF … THEN-IF, other minor words, and cleanup
|
2020-11-01 03:26:55 -06:00 |
Jesse D. McDonald
|
f3fae3f5c2
|
add truncation to 63 characters max when looking up words
|
2020-10-31 13:29:33 -05:00 |
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 |