about summary refs log tree commit diff stats
path: root/subx/apps/subx-common.subx
Commit message (Collapse)AuthorAgeFilesLines
* 5485 - promote SubX to top-levelKartik Agaram2019-07-271-3118/+0
|
* 5461 - SubX is now self-hosting!Kartik Agaram2019-07-241-1/+1
| | | | | All extant SubX programs generate identical binaries using either the C++ or the self-hosted SubX translators.
* 5460Kartik Agaram2019-07-241-3/+3
| | | | | | | | | | | 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.
* 5443 - standard library is now self-hostedKartik Agaram2019-07-221-2/+6
| | | | | | | 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.
* 5442Kartik Agaram2019-07-221-2/+2
| | | | | | | | | 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.
* 5434Kartik Agaram2019-07-211-2/+18
|
* 5433Kartik Agaram2019-07-211-2/+2
|
* 5426Kartik Agaram2019-07-201-0/+15
|
* grow the output stream; test now completesKartik Agaram2019-07-131-2/+18
| | | | All assertions in `test-convert-computes-addresses` still failing.
* .Kartik Agaram2019-07-131-1/+0
| | | | Clean up.
* fixed second bug, hit thirdKartik Agaram2019-07-131-0/+1
|
* .Kartik Agaram2019-07-131-36/+34
|
* .Kartik Agaram2019-07-101-0/+2
|
* start distinguishing table lookups from insertsKartik Agaram2019-07-101-0/+370
|
* zero out new rows returned by get-or-insertKartik Agaram2019-07-101-0/+19
|
* .Kartik Agaram2019-07-101-2/+2
| | | | | Another batch of incorrectly signed conditional jumps. (Follow-up to commit 5180.)
* .Kartik Agaram2019-07-091-37/+69
|
* mostly done with emit-outputKartik Agaram2019-07-091-0/+136
| | | | | Some nooks and crannies will need light final debugging with xxd, but emit-hex-output covers most of the logic.
* .Kartik Agaram2019-07-081-10/+10
| | | | | Be more consistent about names of ends of a slice. (In the opposite direction compared to last night's 925fc490d2ce8b8d411de87bd0af5b3a8a704213.)
* pull a couple more functions into subx-commonKartik Agaram2019-07-081-0/+989
|
* .Kartik Agaram2019-07-081-8/+8
| | | | Be more consistent about names of ends of a slice.
* .Kartik Agaram2019-07-081-24/+33
| | | | | | 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.
* .Kartik Agaram2019-07-081-3/+3
|
* preserve truthiness of non-booleansKartik Agaram2019-07-081-12/+12
| | | | | Everywhere we check if something is true, we check it by comparing against 0, not 1.
* .Kartik Agaram2019-07-081-6/+16
| | | | style tweaks
* .Kartik Agaram2019-07-081-42/+5
| | | | DRY out compute-width and compute-width-from-slice.
* .Kartik Agaram2019-07-081-60/+60
| | | | move a function around
* .Kartik Agaram2019-07-081-15/+0
| | | | Delete some empty lines.
* build `num-bytes`Kartik Agaram2019-07-071-2/+62
|
* .Kartik Agaram2019-07-071-246/+246
| | | | reorg in subx-common.subx
* move `is-label?` to `subx-common`Kartik Agaram2019-07-071-0/+83
|
* cleanup in compute-offset and fix bug in compute-widthnc2019-07-071-15/+2
|
* updates to survey - part of compute-offsets implementednc2019-07-031-0/+246
|
* unsigned comparison for addresses in more placesKartik Agaram2019-07-011-2/+2
|
* .Kartik Agaram2019-07-011-2/+2
|
* initial draft of solution for 'compute-addresses'Kartik Agaram2019-06-281-9/+256
| | | | No trace statements yet, so we don't know if it works.
* .Kartik Agaram2019-06-281-41/+41
|
* .Kartik Agaram2019-06-091-7/+7
|
* implement compute-widthnc2019-06-081-2/+357
|
* added tests for compute-widthnc2019-06-081-0/+112
|
* .Kartik Agaram2019-05-271-115/+107
| | | | | | '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.
* .Kartik Agaram2019-05-261-0/+274
|
* standardize function namesKartik Agaram2019-05-021-3/+3
| | | | | Operations on buffered-file now always include the word 'buffered'. More verbose, but hopefully this highlights holes in the library.
* 5105Kartik Agaram2019-04-161-0/+198
| | | | | Pull in a _different_ function than `next-word` (commit 5092) into a shared file between phases. Let's see how this goes.
* 5092Kartik Agaram2019-04-151-251/+0
| | | | | | | 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.
* 5058Kartik Agaram2019-04-051-0/+251