2作者: itsarnavsh8 个月前
我开发了 Resrap,这是一个 Go 语言包,它接受 ABNF 格式的语法,并生成无限长的、语法正确的代码序列……这些代码可以是完全随机生成的,也可以通过种子进行确定性生成。 ABNF 是我为这个项目修改的 EBNF(<a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Extended_Backus%E2%80%93Naur_form" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Extended_Backus%E2%80%93Naur_f...</a>)版本,基本上意味着你可以指定在生成代码时,20% 的代码行将是 if{} 块,50% 的代码行将是 while{} 块,这使得代码生成更加自然,并且支持无限生成代码。 它非常快……在我的笔记本电脑上,它在大约 26 秒内生成了大约 4000 万个 C 语言语法标记,并且支持多线程,这实际上提高了性能,因为它非常容易并行化。 我最初开发它用于打字测试项目(我不想手动存储代码片段),但它在其他情况下也很有用,例如: * 压力测试解析器和代码检查器 * 为技术演示创建非版权的“Lorem Ipsum”代码 * 生成你在电影中看到的那些无休止的“黑客”代码场景 很好奇人们还会用它做些什么有趣的事情! Github: <a href="https:&#x2F;&#x2F;github.com&#x2F;osdc&#x2F;Resrap" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;osdc&#x2F;Resrap</a> 网站: <a href="https:&#x2F;&#x2F;resrap.osdc.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;resrap.osdc.dev&#x2F;</a>