summary refs log tree commit diff
path: root/evoke.e
AgeCommit message (Collapse)Author
2 hourscreate works now, and docol outputs successfully HEAD mainIrene Knapp
having some trouble with colon Force-Push: yes Change-Id: I5fc0f4519bdd8de1033e24730f63296d8076782e
6 hoursadd a really powerful stack depth tracking feature for transforms to useIrene Knapp
also said feature seems to work, which is flatly astonishing just a little more now... Force-Push: yes Change-Id: I1bda7e99e524ac73a761859e86e01251e7d17525
30 hoursyessssssssIrene Knapp
so okay, now all the machine code stuff is implemented and it builds without crashing the generated executable still crashes though, but this was enough work that it's getting a celebratory check-in Force-Push: yes Change-Id: I201e6912253647da58ef3537c735b478b0dca9fb
38 hoursokay there's a strat for making the here/latest variables nowIrene Knapp
it doesn't work yet, but it's gonna the reason it doesn't work is that the new helper log-load-variable relies on the assembly-definition words being statically available, and they aren't yet that's fine though, this is still a huge change, worth checking in. why? well, it represents like 16 hours of debugging which culminated in some very minor changes to the semantics of the label transform, in order to make missing words easier to notice and debug. see comments for details. woooooo :D Force-Push: yes Change-Id: Id8334819d165ba9e3156ef2bf32008af748eac29
3 daysimplement log-load-create; add all the pack/unpack stuff to core.eIrene Knapp
Force-Push: yes Change-Id: I04dd65a9eec71f9b50c8875bdcbe5d4be59888d5
4 daysthe skeleton of the log-load transform is in place nowIrene Knapp
it doesn't actually output anything, but it all runs without crashing Force-Push: yes Change-Id: I48f2e647044df0ae3db961c747cee31a8826ecf3
4 daysah, oops, there was a bug in the label transform for compiled wordsIrene Knapp
fixed now also a bunch of small things towards adding a log-load transform Force-Push: yes Change-Id: I6eeb94d896a7e79092886d7b60e9404c31b2ba6f
4 daysit's much closer, most of the labels work correctly nowIrene Knapp
Force-Push: yes Change-Id: I45662e60c0035758a2cd57d971031eb0562eccb7
4 daysmake the label transformation work all the way, no crashingIrene Knapp
the code doesn't quite run yet, that'll be a future CL Force-Push: yes Change-Id: I71e6a45127c1fc37906d902e36142c17afef2a21
5 daysdocument the assumptions between labels and transformsIrene Knapp
also some minor cleanup that ie. fixes alignment padding Force-Push: yes Change-Id: Ia8fcb9a44e05e37751cc1b8334aa72add7e62353
5 daystransform runs inside the label loop now, and is able to do compilationIrene Knapp
wow! yes. good. now it needs to actually generate label calls :) Force-Push: yes Change-Id: Ide4336e00aa6860fe55c956063303edc873c6d9b
5 daysfix things up so it gets through cold-startIrene Knapp
then it crashes on warm-start because warm-start doesn't exist yet Force-Push: yes Change-Id: I9eba481b31d48f9d32c3790f296204c5c8d90938
9 daysimplement all the core Forth stuff in Evocation-assemblyIrene Knapp
also, add support for ;asm and stuff Force-Push: yes Change-Id: I904bc0c31e7e4c8b0abc7790f3af5d20c275f2a5
10 daysimplement more stuff in interpret.eIrene Knapp
it depended on the execution-model stuff, for the "next" macro. in general, any word implemented in assembly will depend on that. so, the execution stuff is moved into its own file, leaving evoke.e with only the job of bringing everything together. that's a little disappointing because talking about the execution model seems like a good introduction to the whole topic, but perhaps the problem can be solved down the line with literate programming... Force-Push: yes Change-Id: Ic2fe22dcc39980ef75763ae293e41024abc8ba38
10 daysa minor documentation error in the word header formatIrene Knapp
oops - the last CL was supposed to fix this, but it was inadvertently left out Force-Push: yes Change-Id: I4edf5abed315bea51abcd98ad67cd28782a62efe
12 daysadd a rough draft of a self-hosted evokeIrene Knapp
Force-Push: yes Change-Id: Icf69cdfe7cf31fda07031bbc848c3ce2acb8cca1