1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-12-27 05:08:06 +11:00
collapseos/apps/forth
Virgil Dupras c3838714d5 forth: improve execution model
My approach with RS was slightly wrong: RS' TOP was always containing current
IP. It worked, but it was problematic when came the time to introduce
RS-modifying words: it's impossible to modify RS in a word without immediately
messing your flow.

Therefore, what used to be RS' TOS has to be a variable that isn't changed
midway by RS-modifying words. I guess that's why RS is called *return* stack...
2020-03-13 16:01:09 -04:00
..
core.fth forth: Forth-ify IF and ELSE 2020-03-12 21:49:10 -04:00
dict.asm forth: improve execution model 2020-03-13 16:01:09 -04:00
dictionary.txt forth: Forth-ify IF and ELSE 2020-03-12 21:49:10 -04:00
glue.asm forth: add number literals support 2020-03-07 19:25:55 -05:00
main.asm forth: improve execution model 2020-03-13 16:01:09 -04:00
README.md apps/forth: new (WIP) application 2020-03-07 12:13:15 -05:00
stack.asm forth: change the whole execution model again 2020-03-10 21:37:06 -04:00
util.asm forth: improve execution model 2020-03-13 16:01:09 -04:00

Forth

WIP A Forth interpreter. Far from complete, but you can do stuff like

KEY EMIT KEY EMIT

See dictionary.txt for a word reference.