Commit Graph

7 Commits

Author SHA1 Message Date
64405d5a06 Formatting. 2023-07-22 15:00:07 -07:00
833c9d5350 Let locations be ranges, not just specific indexes. 2023-07-22 14:50:06 -07:00
b4ad24030f Get unary negation working. 2023-06-07 21:38:18 -07:00
469fe35e46 Add support for multiple integer types. 2023-06-04 17:31:26 -07:00
8aa1465c35 Prep the way for type casting. 2023-05-13 15:03:47 -05:00
1fbfd0c2d2 📜 Add better documentation across the compiler. (#3)
These changes pay particular attention to API endpoints, to try to
ensure that any rustdocs generated are detailed and sensible. A good
next step, eventually, might be to include doctest examples, as well.
For the moment, it's not clear that they would provide a lot of value,
though.

In addition, this does a couple refactors to simplify the code base in
ways that make things clearer or, at least, briefer.
2023-05-13 15:00:08 -05:00
b2f6b12ced 🤷 The initial version of the compiler, both static and JIT.
This implements a full compiler, with both static compilation and JIT
support, for the world's simplest and silliest programming language. You
can do math, and print variables. That's it. On the bright side, it
implements every part of the compiler, from the lexer and parser;
through analysis and simplification; and into a reasonable code
generator. This should be a good jumping off point for adding more
advanced features.

Tests, including proptests, are included to help avoid regressions.
2023-05-13 15:00:02 -05:00