| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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.
|
|
|
|
| |
Get 'assort.subx' working again.
|
| |
|
|
|
|
| |
No trace statements yet, so we don't know if it works.
|
| |
|
|
|
|
|
| |
Now that we don't have to edit code to run a single test, delete that
commented out fragment everywhere.
|
|
|
|
|
|
| |
'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.
|
| |
|
|
|
|
|
| |
hoist 'Heap' variable into the std library in anticipation of the parse-array-of-ints
primitive.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Now all implemented phases of the SubX translator in SubX support the new
syntax:
✓ hex.subx (no changes required)
survey.subx (not yet started)
✓ pack.subx (fixed here)
✓ assort.subx
✓ dquotes.subx (has failing tests for other reasons)
|
|
|
|
|
|
|
| |
Clean up some old TODOs related to our pre-mmap limitations.
Also caught another case of using the wrong comparison. When comparing
addresses, one must always use unsigned rather than signed jump instructions.
|
|\
| |
| |
| | |
Segfault in this branch is now fixed.
|
| |
| |
| |
| |
| | |
All tests passing now. Things are very explicit; before a program can `allocate`
memory, it has to first obtain a segment from the OS using `new-segment`.
|
|/
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Start using the new newline escape in string literals everywhere.
I could use it more aggressively, but it makes tests harder to read. So
only one line of text per string for now.
|
|
|
|
|
|
|
|
| |
Fix CI.
For some reason allocating 4KB natively on Linux triggers a segfault. Temporarily
reducing segment size to 256 bytes; that's large enough for the test. But
it's not a long-term solution. Maybe I need to grow the heap with sbrk()?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current plan for SubX translator:
$ cat files.subx ... |assort |pack |survey |hex > a.out
Higher-level notations will be inserted at the start of the pipeline. The
first (and needed for bootstrapping) is for string literals.
$ cat files.subx ... |string-literals |assort |pack |survey |hex > a.out
Alternatively, we should check how often we use string literals and just
convert them by hand.
They're used all over in tests, and converting them would make tests hard
(even harder) to read.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|