Final version lexical analyzer