C99 general purpose parsing library with preprocessor based EDSL for syntax specification.