More of my thoughts. Checkpoint, as I need to set the computer down now.
Starting to create the nano-pass compiler. This has the basics of transformation and one empty pass. It does check that the compiler will find all defined passes.
There is a compiler. It can execute local passes. It does not yet execute global passes. There is only one pass, and it does nothing.
Compiler will no longer run forever for bad languages. If more passes are required but none can be run now, then it will throw an exception. It does not attempt to detect this at language definition time, even though that is when the mistake is made. It's simply a lot easier to detect it during compilation.
Merge branch 'master' of https://github.com/Minions/Minions into start_nanopass_compiling

Conflicts:
	src/Fools.cs/ParseToAst/Fools.peg.cs
Screwed up the merge from upstream. This should have been deleted but I somehow kept it around. Now fixed.
Merge pull request #6 from arlobelshee/start_nanopass_compiling

Start nanopass compiling