use re2c