如何使用scala.util.parsing.ast.Binders?

时间:2011-04-22 00:19:16

标签: scala compiler-construction binding functional-programming parser-combinators

我目前正在Scala中实现一个小编译器,当我在进行上下文分析的组件时,我在包Binders中发现了特征scala.util.parsing.ast(我正在使用Scala 2.9 RC),这是记录的在分析时启用名称绑定。这听起来很有趣,我一直在谷歌搜索,但我仍然不知道如何使用它。虽然我当然能够让我的抽象语法从Binders中消失,但我不知道如何从那里开始。网上有什么用法的例子吗?

2 个答案:

答案 0 :(得分:3)

通过谷歌搜索我发现this page,这似乎是一个文档的开发版本,有更多细节。不幸的是,我无法在线查找(我的意思是,在源库之外)这些文档的版本。

我不确定你会在这个库中找到你想要的东西。名称解析是一个相当微妙的事情,在解析过程中它的味道是一个可疑的想法。该库的文档本身强调它仅适用于名称解析相对简单的语言,否则可能无法扩展。此外,Scala存储库中的解析示例都没有使用此类。

我会谨慎地避开这个未知领域,并在单独的解析后传递中设计绑定分析。

答案 1 :(得分:1)

你不应该使用它。事实上,它最近已被弃用。

请参阅 deprecation candidate: scala.parsing.ast