Redo build system; bootstrapped niecza is live
Toss old Makefile
Add a SAFE setting
This is automatically generated using a fudger-like script which replaces the
bodies of I/O operations with die statements. No, really, I couldn't think
of anything better.
Implement Whatever codegen
New pass-aware compiler driver
Add a spectest skeleton (we can't actually run any files yet without …
…extensive fudging for stuff like eval)
Build and use Test.dll as part of the test system
Extend niecza_eval with the ability to compile libraries and settings…
…, and use custom settings
Unify handling of setting and programs in CompilerDriver
Refactor initialization procedure
This lays the groundwork for modules and custom settings, and brings our
handling of CORE.setting much closer to STD.
Compile the kernel as a separate assembly in preparation
Add a version recorder for moritz
Implement parsing for simple regexes
Move everything else to CgOp
Only CgOp and Q:NIL know about the codegen op set now.
Add a new tree-based IR between Op and CodeGen
The goal is to eventually deduplicate Op/Decl/Body logic, create a nicer
syntax for low-level code, and allow more CodeGen refactoring.
all, not test, should be the default make target; remove erroneous us…
Fix missing dependency
Add automatic STD submodule logic
Idea stolen from Rakudo/Parrot. 'make' will automatically download and build
a known working version of the STD subsystem.
Improve Makefile granularity
Use mono's AOT compiler on Setting.dll, saving ~1.5s on each run
Add a test suite & prefix:<!>
Implement setting separate compilation
Turn the compiler driver into a module
Don't pollute global syml/ with our data
Simplify and fix variable handling
Switch Makefile to using the new parser!
Split Compiler up by classes
We still don't have the NIL parser, but subclassing technology works. An
installable STD would help a lot.
[vicil] Switch to generated code for testing. Extend code generator t…
…o handle closure cloning and protopad tree bootstrapping.