gpt4 book ai didi

scala - 在 ScalaCheck 中从语法生成字符串

转载 作者:行者123 更新时间:2023-12-04 15:56:14 26 4
gpt4 key购买 nike

在 Scala 中,我使用 Parser Combinators 库实现了一个语法。现在,我想要做的是根据解析器组合器库中的语法生成随机字符串。

在我看来,ScalaCheck 库在某种程度上与解析器组合器相反,因为它组合了生成器而不是解析器。

是否已经有一种使用 Parser Combinator 或 ScalaCheck 生成字符串的方法,或者是否有将 Parser Combinator 转换为生成器的直接方法?

最佳答案

没有简单的方法可以将语法转换为生成器。您必须手动编写它们。而且不会那么难,因为你已经掌握了语法。您可以轻松测试您的解析器,但测试您的类型检查器可能会非常有问题(但仍有可能)。在开始之前,请确保您的 AST 节点可以相互比较。

  • Scalacheck 允许您生成递归属性,因此您可以
    轻松生成AST节点。
  • 生成 AST 节点后,您可以使用 Scalacheck 和
    关于空白及其顺从的一些额外知识
    在节点之间,翻译成字符串。
  • 然后你可以将生成的字符串提供给解析器,你会
    测试代码并将它们与预先生成的 AST 进行比较
  • 关于scala - 在 ScalaCheck 中从语法生成字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32050928/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com