Improve lexer error messages
Improve expected token parser error messages
Represent tokens as doubly-linked list
Improve parser error messages
Add levenshtein distance method
Improve identifier resolution error messages