Commit Graph

26 Commits

Author SHA1 Message Date
Kartik Agaram bddd7e3ad9 4983
Standardize name for 'end of file' sentinel. `eof` seems like an ordinary
variable, and `EOF` looks too much like a register (particularly in code
like `if (EAX == EOF)`), so we'll go with `Eof`. Consistent capitalization
for globals, and constants are globals too.
2019-02-22 06:35:59 -08:00
Kartik Agaram 8188bbbc94 4981 - no, go back to 3 phases
Considering how much trouble a merge phase would be (commit 4978), it seems
simpler to just add the extra syntax for controlling the entry point of
the generated ELF binary.

But I wouldn't have noticed this if I hadn't taken the time to write out
the commit messages of 4976 and 4978.

Even if we happened to already have linked list primitives built, this
may still be a good idea considering that I'm saving quite a lot of code
in duplicated entrypoints.
2019-02-18 21:48:19 -08:00
Kartik Agaram bf1fe33c36 4975 - new plan for Phase 2
So far I've been assuming that I'd just statelessly convert each line in
a .subx file. But over the past week or so of constant interruptions I
gradually realized that code and data need different parsers.
2019-02-16 22:36:21 -08:00
Kartik Agaram 6ded65f45f 4969 2019-02-15 00:01:51 -08:00
Kartik Agaram 1639687ba0 4961 2019-02-14 16:24:20 -08:00
Kartik Agaram 1ab48a69cc 4960
I think I don't need to special-case packing for different segments. That
should massively cut down on the number of tests.
2019-02-13 11:28:21 -08:00
Kartik Agaram 0527fd92cb 4956 2019-02-11 22:58:25 -08:00
Kartik Agaram a06dee4fcd 4955
Starting to build up Phase 2 (apps/pack) out of recently designed primitives.
2019-02-10 17:14:15 -08:00
Kartik Agaram cb82bd2364 4948
This seems like the final helper we need for Phase 2. Now to build the
business logic itself.
2019-02-02 15:21:48 -08:00
Kartik Agaram 4cb7d1fb77 4947
Bugfix: has-metadata? was corrupting registers

Seems uneconomic to write tests for stuff like this. Assembly is just not
the right layer to try to come up with a general solution or process. Keep
running your code and wait to find signs of breakage.
2019-02-01 23:52:36 -08:00
Kartik Agaram 77aa333c3c 4946 2019-02-01 23:51:58 -08:00
Kartik Agaram 44bb71e7de 4943 2019-01-30 10:08:47 -08:00
Kartik Agaram 148ab0a23e 4939 2019-01-21 00:00:00 -08:00
Kartik Agaram c65dee2d99 4938 2019-01-20 23:20:34 -08:00
Kartik Agaram 332cbba31f 4937 2019-01-20 22:50:44 -08:00
Kartik Agaram 305770aabc 4935 2019-01-16 11:17:07 -08:00
Kartik Agaram 71ee78f279 4933 2019-01-16 11:13:39 -08:00
Kartik Agaram bf58189697 4930 2019-01-15 16:36:24 -08:00
Kartik Agaram 3f97166cf7 4927 2019-01-14 17:29:10 -08:00
Kartik Agaram dadae33848 4920 2019-01-11 17:50:29 -08:00
Kartik Agaram 8b9dd2d1a9 4916
In the process of building slice primitives I found an out-of-bounds access
in write-byte.
2019-01-10 17:06:38 -08:00
Kartik Agaram f7f0d63182 4915
In the process of building next-token I finally added some support for a
debugging situation I've found myself in a couple of times: wondering "what
changed this memory location"?
2019-01-08 15:46:55 -08:00
Kartik Agaram 74a46597aa 4913 2019-01-07 13:34:16 -08:00
Kartik Agaram aff782c429 4911 2019-01-06 12:52:33 -08:00
Kartik Agaram 8413cd9c9d 4904 2019-01-04 00:06:21 -08:00
Kartik Agaram 0ee4ff8193 4902 - initial sketch, stage 2 of compiler
I've agonized over this for a week; high time I saved a snapshot.
2019-01-03 23:51:52 -08:00