Added silly test to prevent CallC transform code from being commented out.
Moved getReferenceKind implementations for Selector and Variable from MethodCompiler to their respective transformations
Fixed order of transformation in JavaCompiler to fix some parsing precedence issues.
Added new failing test case regarding object type unification.
Improved exception handling when compiling.
Improved compile file naming and placement related to extensions and packages.
Improved MetaObject.toString()
All types are now instances of MetaObject.
Added PushNull and AddressStore bytecode instructions.
Added getReferenceKindFromExpressionType.
Made a start with an equality operator
Added null expression.
Added assignment expression
Added declaration expression
Started TypeC, basis for a type system.
Split ByteCode instructions into separate transformations.
Made some architectural changes. Compilation is now two pass. First an injection pass and then a transformation pass.
Improved GrammarTransformation so individual transformations don't have to specify reserved keywords or delimiters.
Introduced a somewhat silly 'piece of code' abstraction. However the read from file using grammar and print to output using bytecode steps are now less hardcoded into the compiler building process.
ReadUsingGrammar and PrintByteCodeToOutputDirectory are now objects so usable as modular building blocks.
Added pluggable type system.
Added more type checking for expressions.
Added a LessThanInstruction, to be used by instruction optimizer. Does this however add an extra pass through the bytecode.
Draft implementation, still buggy.
Fixed bug in IfIntegerCompareLessC and removed broken unstable bytecode comparison unit tests.
Implemented OptimizeBooleanInstructionsC which does some optimization for boolean logic in bytecode.
Also added a testcase for this.