Commit Graph

3 Commits (master)

Author SHA1 Message Date
James T. Martin d9edbab10c
Fix calculation of labels and jump destinations.
Previously, all calculations regarding stack depth and label depth
were broken. *All* of them. Off-by-ones, the logic was wrong, etc.
Variables are still screwed up, but I'm *almost* there, where
"there" is being able to generate functioning programs, hopefully?
2022-10-19 15:42:04 -07:00
James T. Martin 68ce32a6df
Slightly unfuck codegen for relative jumps and blocks.
Still pretty horribly broken. I was generating dispacements
backwards, failing to emit stuff like the beginning of
loops, the logic for `if` jumps was backwards, etc.
I was also completely forgetting to increment file_here
for appends. I don't remember what all I did; check the diff.
2022-10-19 12:21:46 -07:00
James T. Martin 8808c41250
Factor out executable format handling into a new file. 2022-09-10 22:06:21 -07:00