lexical analyzer complete