Nom, a byte oriented, streaming, zero copy, parser combinators library in Rust [pdf]
Hi all, Nom's author here.<p>I wrote this paper in January 2015, so some things changed in the meantime:<p>- the benchmarks have been optimized a bit, and someone contributed a cereal parser that beats nom ( <a href="https://github.com/Geal/nom_benchmarks" rel="nofollow">https://github.com/Geal/nom_benchmarks</a> ). It's alright, I just wanted to estimate where it stands<p>- there is better error management: <a href="https://github.com/Geal/nom/wiki/Error-management" rel="nofollow">https://github.com/Geal/nom/wiki/Error-management</a><p>- the error management types give powerful debugging features: <a href="http://dev.unhandledexpression.com/slides/langsec-2015/img/colortest.png" rel="nofollow">http://dev.unhandledexpression.com/slides/langsec-2015/img/c...</a> (test code: <a href="https://github.com/Geal/nom_colored_hexdump" rel="nofollow">https://github.com/Geal/nom_colored_hexdump</a> )<p>- It is now easy to embed in C ( <a href="https://github.com/Geal/nom_in_c" rel="nofollow">https://github.com/Geal/nom_in_c</a> ). I plan to make API compatible versions of some C libs<p>- there are more example parsers now: <a href="https://github.com/Geal/nom/issues/14" rel="nofollow">https://github.com/Geal/nom/issues/14</a> feel free to pick one up!<p>Here are the slides for the conference at the IEEE Langsec workshop: <a href="http://dev.unhandledexpression.com/slides/langsec-2015/" rel="nofollow">http://dev.unhandledexpression.com/slides/langsec-2015/</a><p>Langsec is one of the most interesting approaches to follow in security, and the ideas presented this year were amazing (I'm especially fond of the heap exploitation algebra). I highly recommend watching the videos once they will be available.<p>Writing parsers with nom is easy and fun, please give it a try ;) <a href="https://github.com/Geal/nom" rel="nofollow">https://github.com/Geal/nom</a>