Lexical analyzer - Runnable code, have to test more