spare time project to create efficient c++ lexers