4 Commits

Author SHA1 Message Date
0614e17b73 ast: Consistent constant folding. 2024-08-05 12:36:27 -05:00
e8fbae9837 Update copyright header 2024-02-01 12:37:59 -06:00
a63a4b7ece util: Only contains Span, so rename module to span.rs 2024-02-01 11:59:21 -06:00
fc8f8b9622 v0.3.0: Total overhaul
- Everything has been rewritten
- Modularity is improved somewhat
  - No dependency injection in preprocessor/parser, though
- There are now early and late constant evaluation engines
  - This engine allows for by-value access to already-assembled code
  - Performs basic math operations, remainder, bitwise logic, bit shifts, negation, and bit inversion
  - Also allows for indexing into already-generated code using pointer-arithmetic syntax: `*(&main + 10)`. This is subject to change? It's clunky, and only allows word-aligned access. However, this rewrite is taking far too long, so I'll call the bikeshedding here.
  - Pretty sure this constant evaluation is computationally equivalent to Deadfish?
2024-01-30 05:27:12 -06:00