about summary refs log tree commit diff stats
path: root/subx/apps/assort.subx
Commit message (Collapse)AuthorAgeFilesLines
* .Kartik Agaram2019-05-251-6/+0
| | | | | hoist 'Heap' variable into the std library in anticipation of the parse-array-of-ints primitive.
* .Kartik Agaram2019-05-241-7/+6
|
* support the new segment syntax in assort.subxKartik Agaram2019-05-171-51/+35
| | | | | | | | | | | 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)
* 5180Kartik Agaram2019-05-161-21/+12
| | | | | | | 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.
* Merge branch 'master' into dquotes-1Kartik Agaram2019-05-101-0/+24
|\ | | | | | | Segfault in this branch is now fixed.
| * 5151 - use mmap everywhere we need a heapKartik Agaram2019-05-101-0/+24
| | | | | | | | | | 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`.
* | standardize function namesKartik Agaram2019-05-021-7/+7
|/ | | | | Operations on buffered-file now always include the word 'buffered'. More verbose, but hopefully this highlights holes in the library.
* 5124Kartik Agaram2019-04-231-1/+1
|
* 5115Kartik Agaram2019-04-221-1/+1
|
* 5106Kartik Agaram2019-04-171-1/+2
|
* 5105Kartik Agaram2019-04-161-188/+0
| | | | | Pull in a _different_ function than `next-word` (commit 5092) into a shared file between phases. Let's see how this goes.
* 5101Kartik Agaram2019-04-161-1/+1
|
* 5097Kartik Agaram2019-04-161-4/+5
|
* 5092Kartik Agaram2019-04-151-0/+245
| | | | | | | 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.
* 5090Kartik Agaram2019-04-131-180/+36
| | | | | | | 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.
* 5087Kartik Agaram2019-04-121-1/+2
| | | | | | | | 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()?
* 5085 - 'assort' phase done!Kartik Agaram2019-04-121-407/+497
| | | | | | | | | | | | | | | | | 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.
* 5080Kartik Agaram2019-04-111-37/+37
|
* 5063Kartik Agaram2019-04-071-69/+0
|
* 5062Kartik Agaram2019-04-061-391/+460
|
* 5061Kartik Agaram2019-04-061-1/+1
|
* 5060Kartik Agaram2019-04-061-10/+221
|
* 5059Kartik Agaram2019-04-051-1/+1
|
* 5055 - new phase: merge fragment of segmentsKartik Agaram2019-04-041-0/+1102