Well, it’s a start

When I wasn’t spending my time eating food to survive and doing laundry, I was click-clacking on my new mechanical keyboard that arrived today. I bought this nice MX Cherry Black model from WASD Keyboards,  and I customized the look of it a little bit with some colorful keys and such. So far, it’s got nice and pretty comfortable, I think I like it a lot more than my previous keyboard.

So yeah, using that new keyboard, I typed things! Words and code and stuff. I think I finally finished the partial constant folding business of the assignment statement code-gen stuff in my Game Boy Assembly language, wiz.

Here’s how it looked before I removed the debug messages:

examples/test.wiz(32): error: Howsdfsdfsdfsdf is that even
 examples/test.wiz(32): error: YAH
 examples/test.wiz(32): error: HUUAAA222H
 examples/test.wiz(39): error: Howsdfsdfsdfsdf is that even
 examples/test.wiz(39): error: NAH wiz.ast.infix.Infix 16814
 examples/test.wiz(77): error: DAFUQ
 examples/test.wiz(77): error: HUUAAA222H
 examples/test.wiz(39): error: NAH2wiz.ast.number.Number
 examples/test.wiz(77): error: Howsdfsdfsdfsdf is that even
 examples/test.wiz(77): error: YAH
 examples/test.wiz(77): error: HUUAAA222H
 examples/test.wiz(85): error: reference to undeclared symbol 'hardware_type'

So yeah, this is good news, because it means I can start generating code for runtime computations in source expressions, that occur after the left-most expression of the source is loaded into the destination.  This means that

a = 100 * 3 - 4 + b + c

will essentially become:

a = 296
 a = a + b
 a = a + c

Hooray! I think I can do this. There probably lots and lots of bugs I’ll introduce before I finish, and I’ll have to do lots of cleanup, but we’re getting somewhere!

— Overkill