summary refs log tree commit diff
path: root/transform.e
AgeCommit message (Collapse)Author
20 hourslog-load-variable and label-keyword-alternate work nowIrene Knapp
yay :) Force-Push: yes Change-Id: Iae2e308ed8d786a9586bdc2583a6a9300282abae
22 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
30 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
2 daysmore progress on the log-load transformIrene Knapp
it generates most of the calls to create and comma, now Force-Push: yes Change-Id: Ib7620dca7a5bc5dd787e940ad18cf48c2a1bd529
2 daysimplement log-load-create; add all the pack/unpack stuff to core.eIrene Knapp
Force-Push: yes Change-Id: I04dd65a9eec71f9b50c8875bdcbe5d4be59888d5
3 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
3 daysadd a stub for the log-load transform, and a ton of documentationIrene Knapp
Force-Push: yes Change-Id: Ia1fe0e6aefaf6776bd69bca4a26ee0df0b555832
3 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 daysword labels are now stored as offsetsIrene Knapp
also, the various address spaces in use are described better, and there's helper functions to convert between them. Force-Push: yes Change-Id: Idb56d2b6299d6e7071c9d42b2eb1138b17b85c69
4 daysit WORKS. WOW. nice.Irene Knapp
more specifically, a generated hello-world that uses cold- and warm-start, and both assembly and Forth words, correctly calls the kernel's exit() with a parameter provided by a literal. Force-Push: yes Change-Id: I9a08f9cdad6bd0037a41655eecff6debea5f9ac3
4 daysit's much closer, most of the labels work correctly nowIrene Knapp
Force-Push: yes Change-Id: I45662e60c0035758a2cd57d971031eb0562eccb7
4 daysthe next-entry pointers in the generated dictionary work nowIrene Knapp
it was using the wrong value for the buffer start, messing up transform-offset Force-Push: yes Change-Id: I1d519b4de2df87930413ca440779337dbbe34d62
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
4 daysdocument the assumptions between labels and transformsIrene Knapp
also some minor cleanup that ie. fixes alignment padding Force-Push: yes Change-Id: Ia8fcb9a44e05e37751cc1b8334aa72add7e62353
4 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
5 daysnow there's a concept of pushing and popping input sourcesIrene Knapp
Force-Push: yes Change-Id: Ib8e8f342b7fa3773071eca36accf060f6c20f3be
7 dayscopy input to a memory bufferIrene Knapp
this will help us process it repeatedly so that label resolution works Force-Push: yes Change-Id: Ibef3b473259feb2e8d89acd5d1a40a21d5ecafe9
7 daysrough draft of some code that transforms other code for bootstrappingIrene Knapp
Force-Push: yes Change-Id: I887688e3e71143792fbdf336c9f5299c160a5ff7