working on lexical analyzer