add comments to lexer
add test framework
write diagnostic output to stderr, handle in test runner