Ignore executable
rename tree to parser and don't export it
Add some unit tests

- numbers and identifiers are terminated when lexer
  encounters EOF
Consistent 'unexpected eof' error messages