~jojo/fcc

lift: shorter file names
Now a compiler collection - Lift, Drift, & Crest. Remove kapreolo.

Instead of having a single language, Kapreolo, there will now be three
different compilers.

1. *Lift* will be a C-like language (with LISP syntax) that's both a
   common IR and backend for all three langs, as well as the language
   used to bootstrap the latter two.
2. *Drift* is a Standard ML-like language (with LISP syntax) written
   in Lift. Used to bootstrap Crest.
3. *Crest* is a Haskell-like language (with LISP syntax) written in
   Drift. This will correspond of what Kapreolo used to (be meant to)
   be.

Since Crest / Kapreolo will be reimplemented in Drift (which doesn't
even exist yet), I've removed `kapreolo/` in this commit as
well. We'll surely need to take a look at that code later, but it's
all in the git history so no worries.
Beginnings of the new stage0 / backend / low-level lang

Called "kao" atm, but that's right about to change.
multiplication
generate asm for dynamic expr & assemble it to machine code

Only very basic expressions at the moment, of course, and there's no
proper register allocation yet, so for any non-trivial program we'll
just end up panicking during codegen.
lower a simplistic program with addition & constants
begin sketching out logic for lowering, connect with parse & gen
begin sketching out some types for lowering stage
emit (inefficient) li

also remu
separate files in src/ and include/, & emit & execute pgm `exit(X)`
successfully print hello world from hand-crafted RV64 ELF
fix rvhello.c to make generated ELF executable in qemu!

At least it appears to work. The program only calls the exit syscall,
so I can't immediately tell if that's what's happening. But qemu isn't
giving me an error anymore, at least.
manually generate a rv64 ELF program

works in help/rvemu, and looks pretty good in readelf,
but, I'm assuming, because we don't have sections yet,
assembly doesn't show up in riscv64-linux-gnu-objdump,
and qemu-riscv64 can't execute it.
tersely describe what rvemu.c does
rename src/readelf.c to help/rvemu.c
redirect all non-emulated output to stderr. Fizzbuzz diff is empty!
C.ADDI16SP, C.LD. Fizzbuzz completes!
ANDI, C.SRAI
Next
Do not follow this link