Copy from http://sourceforge.net/projects/re2c/