Hammer is a parsing library written in C which aims to solve the language-theoretic security problem. It provides a parser which was designed from the ground up to be more secure as well as a selection of parsing back ends for the domain specific languages implemented thereby. It's also bit oriented, so you can use it to parse things which are ordinarily considered too fiddly (such as raw IP packets).
Bindings for other languages are available.