Jesse D. McDonald
|
c9be49b8a9
|
preserve %edi in all primitive operations
|
2020-11-15 01:07:21 -06:00 |
Jesse D. McDonald
|
cc0a8ead19
|
add CC0 license file
|
2020-11-15 00:46:23 -06:00 |
Jesse D. McDonald
|
d94c274b33
|
clean up & reorganize
|
2020-11-15 00:46:23 -06:00 |
Jesse D. McDonald
|
676ec83cb9
|
fix multi-line ( … ) comments in included files
|
2020-11-11 00:34:21 -06:00 |
Jesse D. McDonald
|
ff2d91b66b
|
simplify conditionals; rename ONWARD-IF to AND-IF; remove AND-THEN and OR-ELSE
|
2020-11-11 00:18:57 -06:00 |
Jesse D. McDonald
|
e533756d25
|
replace global variables holding local data with ALLOCA
|
2020-11-09 13:55:55 -06:00 |
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
|
c076939fe2
|
fix for incorrect double-cell shift by 32 or more bits
|
2020-11-06 20:29:48 -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
|
7e8b06c6ab
|
use .balign (always bytes) instead of .align (depends on target)
|
2020-10-31 12:07:07 -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
|
a1c55c0d64
|
fix for inverted condition in ABS
|
2020-10-28 01:21:02 -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
|
7de6cf5a0c
|
add tests for numeric literal parsing
|
2020-10-24 15:15:40 -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
|
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
|
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 |