This is basically the same concept as lex, except this time it doesn't turn your code inside out, and it generates actual C code to parse the expressions (not tables), and the resulting code is usually about 2 times faster than flex.