Commit Graph

24 Commits

Author SHA1 Message Date
Kartik K. Agaram 66a74fdb72 more portable
https://stackoverflow.com/questions/1815329/portable-way-to-get-file-size-in-bytes-in-the-shell/1815582#1815582
2022-02-24 22:08:01 -08:00
Kartik K. Agaram b8afd4becf start hacky experiment to support combining chars
https://en.wikipedia.org/wiki/Combining_character

The plan: just draw the combining character in the same space as the
previous character. This will almost certainly not work for some Unicode
blocks (tibetan?)

This commit only changes the data/memory/disk model to make some space.
As always in Mu, we avoid bit-mask tricks even if that wastes memory.
2021-08-31 23:03:34 -07:00
Kartik K. Agaram 281f38a7c2 . 2021-08-31 22:43:08 -07:00
Kartik K. Agaram 4b90a26d71 . 2021-08-29 20:54:05 -07:00
Kartik K. Agaram 0633e401f9 . 2021-08-29 20:43:57 -07:00
Kartik K. Agaram b1dcfb03d0 load Font in a non-contiguous area of memory 2021-08-29 20:34:53 -07:00
Kartik K. Agaram bd226ccb3a improve translation scripts 2021-08-29 11:25:08 -07:00
Kartik K. Agaram 899cdcc3f3 inline SubX translation
We can't really translate purely SubX code anyway at the top-level. Stop
exposing those scripts.
2021-08-29 11:21:09 -07:00
Kartik K. Agaram 2c87cd2f34 reorganize font before adding non-ASCII 2021-08-27 08:41:15 -07:00
Kartik K. Agaram 98feca922e rename boot.hex to boot.subx 2021-03-14 21:41:47 -07:00
Kartik K. Agaram da438fa9f5 treat boot.hex as a SubX file 2021-03-14 21:36:31 -07:00
Kartik K. Agaram 71e4f38129 7842 - new directory organization
Baremetal is now the default build target and therefore has its sources
at the top-level. Baremetal programs build using the phase-2 Mu toolchain
that requires a Linux kernel. This phase-2 codebase which used to be at
the top-level is now under the linux/ directory. Finally, the phase-2 toolchain,
while self-hosting, has a way to bootstrap from a C implementation, which
is now stored in linux/bootstrap. The bootstrap C implementation uses some
literate programming tools that are now in linux/bootstrap/tools.

So the whole thing has gotten inverted. Each directory should build one
artifact and include the main sources (along with standard library). Tools
used for building it are relegated to sub-directories, even though those
tools are often useful in their own right, and have had lots of interesting
programs written using them.

A couple of things have gotten dropped in this process:
  - I had old ways to run on just a Linux kernel, or with a Soso kernel.
    No more.
  - I had some old tooling for running a single test at the cursor. I haven't
    used that lately. Maybe I'll bring it back one day.

The reorg isn't done yet. Still to do:
  - redo documentation everywhere. All the README files, all other markdown,
    particularly vocabulary.md.
  - clean up how-to-run comments at the start of programs everywhere
  - rethink what to do with the html/ directory. Do we even want to keep
    supporting it?

In spite of these shortcomings, all the scripts at the top-level, linux/
and linux/bootstrap are working. The names of the scripts also feel reasonable.
This is a good milestone to take stock at.
2021-03-03 22:21:03 -08:00
Kartik Agaram 23fd294d85 5851
Rename a few scripts to be more consistent.

I'm also starting to feel the urge to bud off `subx run` into its own program,
say tools/emulate_x86. It doesn't really rely on the SubX notation at all.

And then I could rename `subx translate` to `translate_subx_bootstrap`.

Only problem: the commands in the Readme get verbose. But the Readme is
gonna need surgery soon anyway to put translate_mu front and center.
2020-01-01 16:45:30 -08:00
Kartik Agaram d9d9ab813c 5680
Include braces.subx in translation by default.
2019-09-20 10:08:42 -07:00
Kartik Agaram 372a4259ae 5636 2019-09-07 10:20:44 -07:00
Kartik Agaram 571bf69fbc 5635 2019-09-07 10:14:35 -07:00
Kartik Agaram 099f0d5d55 5631 - syntax for calls starting to work!
Now added to CI.
2019-09-06 17:58:53 -07:00
Kartik Agaram 531f14c973 5619 2019-09-04 17:36:12 -07:00
Kartik Agaram e97b446ac3 5594 - rename 'desugar' to 'sigils'
There's going to be multiple forms of syntax sugar going forward.
2019-08-31 20:43:41 -07:00
Kartik Agaram 418ea7d3db 5588 - always include desugar in build 2019-08-25 22:15:26 -07:00
Kartik Agaram dac833572b 5585 2019-08-25 20:07:15 -07:00
Kartik Agaram 300f455491 5584
Forgot to switch the knob when fixing the merge conflict between commits
5512 and 1a7b15aa3d.
2019-08-25 17:37:10 -07:00
Kartik Agaram b646146892 5512 - don't rebuild apps by default
We basically only want to rebuild phases of the self-hosted translator
when we run the self-hosted translator.
2019-08-14 16:06:40 -07:00
Kartik Agaram 6e1eeeebfb 5485 - promote SubX to top-level 2019-07-27 17:47:59 -07:00