| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
All extant SubX programs generate identical binaries using either the
C++ or the self-hosted SubX translators.
|
|
|
|
|
|
|
|
|
|
|
| |
A little more resizing of buffers. apps/hex.subx is now building an
identical binary.
I'm now aborting on allocation failures. That requires disabling
a couple of tests. (I'm not quite confident enough of this decision to
delete them outright.) I want to treat all segfaults as bugs, and
machine code is no place to add boilerplate checks for return values of
standard library functions.
|
|
|
|
|
|
|
| |
Translates 5k lines of input in 26 seconds.
I'm not sure why I need to grow the label table. It was already 512 entries
long, and I'm only using 373 so far.
|
|
|
|
|
|
|
|
|
| |
We can now translate layers 49-72 using the self-hosted translator.
The translator has now demonstrated translation over 4k lines. Most verbose
phase output is 325KB, even if the final binary is 15KB.
Emulation is too slow now, so I'm back to debug by print on a Linux machine.
|
| |
|
| |
|
| |
|
|
|
|
| |
All assertions in `test-convert-computes-addresses` still failing.
|
|
|
|
| |
Clean up.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Another batch of incorrectly signed conditional jumps. (Follow-up to
commit 5180.)
|
| |
|
|
|
|
|
| |
Some nooks and crannies will need light final debugging with xxd, but
emit-hex-output covers most of the logic.
|
|
|
|
|
| |
Be more consistent about names of ends of a slice.
(In the opposite direction compared to last night's 925fc490d2ce8b8d411de87bd0af5b3a8a704213.)
|
| |
|
|
|
|
| |
Be more consistent about names of ends of a slice.
|
|
|
|
|
|
| |
Move test slice variables out of the data segment and close to their
usages. Makes tests a little easier to read even if we spend a few more
instructions each time.
|
| |
|
|
|
|
|
| |
Everywhere we check if something is true, we check it by comparing
against 0, not 1.
|
|
|
|
| |
style tweaks
|
|
|
|
| |
DRY out compute-width and compute-width-from-slice.
|
|
|
|
| |
move a function around
|
|
|
|
| |
Delete some empty lines.
|
| |
|
|
|
|
| |
reorg in subx-common.subx
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
No trace statements yet, so we don't know if it works.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
'get-or-insert-stream' is now the more generic 'get-or-insert' that can
handle tables of any value type. But callers have to be careful to cast
values to the right type.
|
| |
|
|
|
|
|
| |
Operations on buffered-file now always include the word 'buffered'. More
verbose, but hopefully this highlights holes in the library.
|
|
|
|
|
| |
Pull in a _different_ function than `next-word` (commit 5092) into a shared
file between phases. Let's see how this goes.
|
|
|
|
|
|
|
| |
Realization: 'next-word' can't be reused in converting string literals,
because it has to understand string literals.
Let's just keep each phase self-contained.
|
|
|