Commit graph

169 commits

Author SHA1 Message Date
Remko Tronçon
b1546ad4a3 Thurtle 2022-05-10 22:41:43 +02:00
Remko Tronçon
01fcb9e2a8 build: Resolve waforth import from examples 2022-05-08 15:32:20 +02:00
Remko Tronçon
75c6490dc5 EXECUTE: Do a character load instead of full load 2022-05-08 14:33:20 +02:00
Remko Tronçon
893d093968 Replace BASE,STATE,>IN with Forth variables 2022-05-08 14:31:43 +02:00
Remko Tronçon
945cc3bede compiler: Fix compilation of BEGIN+WHILE+WHILE+ELSE combinations 2022-05-07 17:32:00 +02:00
Remko Tronçon
860618af3e compiler: Use TOS to store branch nesting 2022-05-07 16:48:56 +02:00
Remko Tronçon
721d4912b3 compiler: Fix branch nesting of begin 2022-05-07 12:21:41 +02:00
Remko Tronçon
a11c7a10ea Make onEmit log to console by default 2022-05-06 21:47:00 +02:00
Remko Tronçon
f252014644 Documentation 2022-05-05 21:32:00 +02:00
Remko Tronçon
d7b80a49f0 Documentation 2022-05-05 21:15:35 +02:00
Remko Tronçon
f1160105cd Simplify onEmit API 2022-05-05 20:52:18 +02:00
Remko Tronçon
c583565528 build: Fix lint error 2022-05-05 20:45:58 +02:00
Remko Tronçon
a6d71029dc Support calling JS from Forth
Initial attempt at an API.

Resolves: #13
2022-05-05 20:19:39 +02:00
Remko Tronçon
674dce6514 Detect stack underflow after interpreting 2022-05-03 21:52:27 +02:00
Remko Tronçon
85efb6262e Improve sieve-raw-wasm 2022-05-03 21:38:07 +02:00
Remko Tronçon
64357b336f Name WAForth module 2022-05-03 21:37:58 +02:00
Remko Tronçon
0b1c7d2a24 benchmarks: Add C and JS version 2022-05-01 22:52:49 +02:00
Remko Tronçon
63841b65ab sieve-vanilla->sieve-raw-wasm 2022-05-01 20:34:38 +02:00
Remko Tronçon
9e0705c9cd Cleanup 2022-05-01 17:47:08 +02:00
Remko Tronçon
fffd982121 Remove sieve_direct 2022-05-01 17:09:14 +02:00
Remko Tronçon
f5df37a12f Remove obsolete environment queries 2022-05-01 16:58:33 +02:00
Remko Tronçon
ed469cbef4 <#, #>, #, #S, SIGN, HOLD 2022-05-01 16:56:20 +02:00
Remko Tronçon
ba5bff8a99 ENVIRONMENT? 2022-05-01 11:37:35 +02:00
Remko Tronçon
bed0d392c8 Refactor string comparison 2022-05-01 10:45:53 +02:00
Remko Tronçon
38ed36b337 Cleanup 2022-05-01 09:40:17 +02:00
Remko Tronçon
5d687e8253 >NUMBER 2022-04-30 23:25:23 +02:00
Remko Tronçon
504ae3e93e Fix FM/MOD + Implement SM/REM, UM/MOD. 2022-04-30 23:25:23 +02:00
Remko Tronçon
c798ad8826 compiler: Repace get+set of TOS with tee 2022-04-30 12:46:42 +02:00
Remko Tronçon
fdda5b5009 do/loop: Use diff as index
This avoids an extra local per loop, avoids a branch
in +LOOP, and fixes handling of large unsigned integers as loop indices.
2022-04-30 12:46:26 +02:00
Remko Tronçon
a07772536c tests: Enable parts of test suite 2022-04-26 22:46:54 +02:00
Remko Tronçon
3d9b10c860 tests: Enable BASE test 2022-04-26 22:46:54 +02:00
Remko Tronçon
4d6c3cb34d compiler: Fix behavior of I & J to be compliant with ANS.
Keep loop indexes on the return stack for behavior of I and J.
2022-04-26 22:46:54 +02:00
Remko Tronçon
175bf67767 compiler: do: replace set+get by tee 2022-04-26 20:48:41 +02:00
Remko Tronçon
d6e8406c11 Remove unused predefined words from predefined list 2022-04-26 09:08:05 +02:00
Remko Tronçon
eeb6bf9587 Fix wabt 1.0.27 compatibility 2022-04-25 21:29:23 +02:00
Remko Tronçon
e2dedf224a remove whitespace 2022-04-24 20:42:45 +02:00
Remko Tronçon
3034869230 compiler: compile push & pop inline (infrastructure) 2022-04-24 12:23:42 +02:00
Remko Tronçon
257d731b96 compiler: fix bad local index offset 2022-04-24 12:22:16 +02:00
Remko Tronçon
610006c63e remove tos import in compiled words
This was there in case we wanted to use mutable globals for the TOS.
Since we now use a local TOS, this is no longer useful.
2022-04-23 23:13:17 +02:00
Remko Tronçon
5023ea7b2f thread tos as local through all words
This gives a 20% execution time improvement.
2022-04-23 22:45:55 +02:00
Remko Tronçon
da3ad27c43 Revert "make stack grow downward"
Reduces binary, but decreases performance, and only makes things a little bit simpler.
2022-04-22 13:57:48 +02:00
Remko Tronçon
41c6aa5d6f make stack grow downward 2022-04-22 12:15:02 +02:00
Remko Tronçon
6dd4f644f0 tests: use stackValues everywhere 2022-04-22 08:20:28 +02:00
Remko Tronçon
39dc0d422a remove toplevel module 2022-04-22 08:20:28 +02:00
Remko Tronçon
e7cf4909fa shell: display build date 2022-04-18 14:41:52 +02:00
Remko Tronçon
ea97e51644 shell: styling tweaks 2022-04-18 14:20:41 +02:00
Remko Tronçon
48dfdd00aa shell: avoid scroll on space 2022-04-18 14:05:02 +02:00
Remko Tronçon
4fe9471c66 shell: scroll cursor into view 2022-04-18 13:31:42 +02:00
Remko Tronçon
9a400f17c9 shell: bring up keyboard on iOS 2022-04-18 13:26:48 +02:00
Remko Tronçon
8fd40215c6 implement WORDS
Closes #25
2022-04-17 21:14:07 +02:00