Virgil Dupras
3a08fa7e74
forth: add a stable ABI
преди 4 години
Virgil Dupras
f0ab57c8cc
forth: Forth-ify "AND"
преди 4 години
Virgil Dupras
6c5f39806b
forth: improve bootstrap process
преди 4 години
Virgil Dupras
d6516e2122
forth: Forth-ify "2*" stack management words
преди 4 години
Virgil Dupras
67c55b0b2f
forth: Forth-ify ROT, a native word!
This requires us to significantly adjust our build process, which
now has 3 stages.
преди 4 години
Virgil Dupras
ca7c21d49f
forth: make "(entry)" call WORD itself
Otherwise, when a defining word would be called outside a definition
itself, it would get the name of the last parsed word, that is,
itself!
For example, dummy.fs, instead of creating a "_______" entry, created
a "(entry)" entry...
преди 4 години
Virgil Dupras
5387e08437
forth: make bin staging process a bit less hackish
The goal being to add a new native code dict staging phase.
преди 4 години
Virgil Dupras
ffe61a12f8
forth: make prev word field relative
This should help with upcoming challenges in bootstrapping z80 code
compiled through Forth.
преди 4 години
Virgil Dupras
00de336976
forth: add "CODE"!!!
преди 4 години
Virgil Dupras
46833f3819
forth: Forth-ify "LIT", "LITS", "LIT<"
преди 4 години
Virgil Dupras
54fd5fbb2b
forth: Forth-ify "CREATE"
преди 4 години
Virgil Dupras
1e886f5f34
forth: add word "ROUTINE"
преди 4 години
Virgil Dupras
33e47d4938
forth: begin z80 assembler
преди 4 години
Virgil Dupras
d5b6659507
forth: forgot to commit high.fs...
преди 4 години
Virgil Dupras
ac914c3847
forth: consolidation
преди 4 години
Virgil Dupras
f4b969986d
forth: Forth-ify ".""
преди 4 години
Virgil Dupras
def4ebd7ea
forth: add word "LITS"
преди 4 години
Virgil Dupras
145fdd8e05
forth: rename "LITS" to "LIT<"
преди 4 години
Virgil Dupras
4627e1c977
forth: Forth-ify "ABORT""
преди 4 години
Virgil Dupras
6487c713ef
forth: fix prompt in QUIT conditions
преди 4 години
Virgil Dupras
9791c0957d
forth: make readline skip prompt when appropriate
преди 4 години
Virgil Dupras
b47a3ee234
forth: add words "AND", "OR", "XOR"
преди 4 години
Virgil Dupras
c1ece95089
forth: implement readline in Forth
The commit ended up being much bigger than anticipated. This was a long thread
of underlying complexities. This lead to the creation of interesting concepts
such as (sysv).
преди 4 години
Virgil Dupras
2feb246334
forth: give WORD its own buffer
You'll soon see where I'm going with this...
преди 4 години
Virgil Dupras
61abafbc1a
forth: a little housekeeping
преди 4 години
Virgil Dupras
abb84b01db
forth: Word-ify "readword"
преди 4 години
Virgil Dupras
5458a1f7ff
forth: a little housekeeping
преди 4 години
Virgil Dupras
cf95bbcace
forth: inline kernel/stdio
преди 4 години
Virgil Dupras
6134694513
forth: put all ASM code in the same file
преди 4 години
Virgil Dupras
f420db135d
forth: a little house cleaning
преди 4 години
Virgil Dupras
af5a97243a
forth: implement "0b" number parsing
преди 4 години
Virgil Dupras
f0cbda1f2e
tests: add Forth tests
Modest first step
преди 4 години
Virgil Dupras
b335e538b4
Move "forth" folder to project's root folder
It's not really an App.
преди 4 години
Virgil Dupras
ae6334906c
forth: inline kernel's core and str units
преди 4 години
Virgil Dupras
548facac0b
forth: Implement "(parseh)"
преди 4 години
Virgil Dupras
d874f20278
forth: Add "DO" and "LOOP"
Also, un-IMMEDIATE "LITN" it didn't make any sense.
преди 4 години
Virgil Dupras
587d1d0d69
forth: add word "UNTIL"
преди 4 години
Virgil Dupras
1df9c4fc1b
forth: split forth source into multiple files
преди 4 години
Virgil Dupras
9451c599e0
forth: Make (parse) indirect and Forth-ify (parsec)
преди 4 години
Virgil Dupras
4212d5161f
forth: Word-ify number parsing
преди 4 години
Virgil Dupras
707f1dbae1
forth: Word-ify "[COMPILE]"
преди 4 години
Virgil Dupras
b72901175e
forth: Word-ify "[']" and "'"
преди 4 години
Virgil Dupras
d91af99fde
forth: make "'" push 0 when not finding a word
преди 4 години
Virgil Dupras
3a70dff53d
forth: add word 'ABORT"'
преди 4 години
Virgil Dupras
25b6e75cf7
forth: add words "."" and "(print)"
преди 4 години
Virgil Dupras
a40926d710
forth: check PS everywhere
It turns out we have to...
преди 4 години
Virgil Dupras
6314c60ede
forth: add word ".X"
преди 4 години
Virgil Dupras
549cf74e9d
forth: inline code from "apps/lib"
Forth-ification of Collapse OS goes forward. What will happen is that assembly
code in apps/ will become Forth code. The concept of an assembler code library
will become obsolete.
However, Forth's core use some of that code. To facilitate the transition, I'm
inlining that code directly in Forth's code.
преди 4 години
Virgil Dupras
017a469d9c
forth: Forth-ify "."
преди 4 години
Virgil Dupras
839d7097e7
forth: add words "MOD" and "/MOD"
преди 4 години