Added construct and init keywords.
Added base keyword.
Added CompilationErrorException.
Added position information to tokens.
Reorderered matchers for most likely priority.
Added better error messages and support for handling newlines within expressions.