Beginnings of a higher level language
Basic Ast -> Asm translations

Need to work out conventions still...
Add high level mul and div concepts
Refine AST definition a bit and fill in Block

Reifyin blocks appears to work... Though it is now becoming clear
that I should be targeting assembly directly with labels and all
instead of direct instructions...
Target assembly directly
Add function call and function translation
"Reify" Ast.Program, completes the AST compiler

Good enough to move forward with for now at least
Add basic parser

While the code gluing it together isn't there, this actually works
end to end in a repl- parse using LangParser, complete the transition
to assembly using Reifier.reify, convert to a string and pass to the
assembly compiler/interpreter (comperpreter?), then run through the
virtual machine for a result.
Provide end to end compilation helper

Add "compile" option to PushPop.main, will emit an assembly file
which can then be compiled to in memory instructions and executed
by the pushpop vm.  The process is slightly brittle, there are errors
that won't be caught until the asm is built, but it works.

Provides a sample file demonstrating syntax, and compilation.

Also, address some minor bugs to make this all work, namely strings
were doubly quoted in assembly output. Added notes for other
non-major bugs.
Add arithmetic expression parsing

Rearranged expr matches for correctness.
Allow function calls as part of arithExprs

Sort of guess and checking a lot here, need to add tests...
Make parser treat blocks as expressions

This is consistent with the AST, and will be necessary when
conditional expressions are introduced
Merge branch 'lang'