gpt4 book ai didi

scala - 在 Scala 中为解析器组合器创建测试

转载 作者:行者123 更新时间:2023-11-28 20:34:53 26 4
gpt4 key购买 nike

考虑 this在 Scala 中为术语语言实现解析器的源代码。旨在测试其功能的主要功能定义为 Ñ

def main(args: Array[String]): Unit = {
val stdin = new java.io.BufferedReader(new java.io.InputStreamReader(System.in))
val tokens = new lexical.Scanner(stdin.readLine())
phrase(term)(tokens) match {
case Success(trees, _) =>
for (t <- path(trees))
println(t)
try {
print("Big step: ")
println(eval(trees))
} catch {
case TermIsStuck(t) => println("Stuck term: " + t)
}
case e =>
println(e)
}
}

但是,我想通过在具体输入上调用 term 解析器来测试部分功能。我如何提供此输入?传递字符串不起作用...

最佳答案

只需将 stdin.readLine() 替换为您想要的输入即可,所以

phrase(term)(new lexical.Scanner("the string you want to test")) match {
case Success(trees, _) => ...
case err => ...
}

关于scala - 在 Scala 中为解析器组合器创建测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58061382/

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