Show HN: Resrap – A Parser but in Reverse https://ift.tt/kEfAmx2
Show HN: Resrap – A Parser but in Reverse I built Resrap, a Go package that takes a grammar in ABNF format and generates infinitely long sequences of syntactically correct code...either completely randomly or with seeds for a deterministic generation. ABNF is a modified version of EBNF( https://ift.tt/O26nsCB... ) I made for this project, basically means you can specify when generating code 20% of lines will be if{} blocks and 50% will be while{} blocks which allows for more natural code generation, plus support for infinite generation of code. It’s very fast...it generated ~40 million tokens of C syntax in about 26 seconds on my laptop and supports multithreading which actually saw boosts in performance since its very easy to parallelize. I originally made this for a typing-test project (I didn’t want to store code snippets manually), but it turned out to be useful in other contexts too, like: - Stress-testing parsers and linters - Creating non-copyrighted “lorem ipsum” code for tech demos - Generating those endless “hacker” code scenes you see in movies Curious what other cool things people might do with it! Github: https://ift.tt/o5BAJ3v Website: https://ift.tt/QomLhNO https://ift.tt/QomLhNO September 29, 2025 at 07:50PM
No comments