Commits

Author Commit Message Labels Comments Date
catseye
Make grammar less verbose (in eval, tag based on Python type).
catseye
stackmac fixes that suggest passes are in the "wrong" order...
catseye
More builtins (int, str, chr, ord), in evaluator only for now.
catseye
Fix bugs in stackmac be; tag unions; implement typecase.
catseye
Make tests independent of tagged value representation.
catseye
Small fixes to stackmac.
catseye
Fix up stackmac a bit; rewrite tests to not have struct reprs.
catseye
Fix function lifter, examples, stackmac backend.
catseye
Local declarations must be first thing in function body.
catseye
AST transformation: lift all function bodies to toplevel.
catseye
This isn't much tidier. Hardly worth doing except to pass tests.
catseye
stackmac can say "Hello, world!" now, at least.
catseye
Expand on linked list example.
catseye
Flush out struct/union parts of the stackmac backend.
catseye
Tell stackmac the # of globals; "only" 17 fails now.
catseye
Save old baseptr. Don't push/return void (size=0) values.
catseye
Introduce clear_baseptr opcode, callee clears stack for return.
catseye
Read and write locals rel baseptr. "Only" 27 fails for stackmac.
catseye
Inching the number of failures down. Next: local or global?
catseye
Labels in stack machine; pass a small number more tests.
catseye
Stackmac backend now passes some tests.
catseye
Rename stack backend to stackmac; stub of an interpreter for it.
catseye
Proper label generation in stack backend.
catseye
Pretend to compile to some hypothetical stack-based machine.
catseye
input, read, write in eval and Ruby backend. Better exceptions.
catseye
Ruby backend passes all tests.
catseye
true/false/null are literals. Ruby backend with "only" 11 fails.
catseye
Typecheck function values, add test cases, update README.
catseye
Implement `break`.
catseye
Dump structs in field order. All tests pass again.
  1. Prev
  2. Next