Perplex, Lemon, and Re2c: A cross-platform lexer/parser replacement for flex and bison