| Age | Commit message (Collapse) | Author | Files | Lines |
|
This syntax allows calling opcodes directly from scheme code.
Very powerful technique.
|
|
|
|
I was using the load procedure to load a program, but by a strict
reading of R7RS, load can only handle expressions and definitions, not
imports. So instead I'm defining each test as a library, and using the
environment procedure to load them at runtime.
|
|
I'm not sure yet how to test regalloc.
|
|
I was hesitant to add a diff library, but it was surprisingly easy. A
straightforward application of dynamic programming.
|
|
Goodbye soup. Thanks to "Compiling with Continuations" by Appel.
|
|
|
|
Why have void? We will just use #f.
|
|
Gone is toplevel. Now everyone lives in a library.
|
|
I'm realizing that I should have started with builtin-exit and
implemented the hard stuff later.
|
|
We're omitting libraries for now, and I'll add them in later.
|
|
|
|
It works!! At least it passes all the test cases.
Next I will:
1. finish the builtins,
2. add a conversion to IR2 in continuation passing style,
3. add a compiler from IR2 to bytecode,
4. and add an option to the frontend compiler to generate a
standalone executable.
|
|
Committing it because it compiles. I have to write tests and debug
it still.
|