【发布时间】:2010-03-27 13:15:01
【问题描述】:
我收到了上述奇怪的错误消息,我不明白“值解析器不是包 scala.util.parsing.combinator 的成员”。
我正在尝试通过逐步编写 C 解析器来学习解析器组合器。我从令牌开始,所以我有课程:
import util.parsing.combinator.JavaTokenParsers
object CeeParser extends JavaTokenParsers {
def token: Parser[CeeExpr] = ident ^^ (x => Token(x))
}
abstract class CeeExpr
case class Token(name: String) extends CeeExpr
这是我能做到的最简单的。
下面的代码可以正常工作,但是如果我取消注释注释行,我会收到上面给出的错误消息:
object Play {
def main(args: Array[String]) {
//val parser: _root_.scala.util.parsing.combinator.Parsers.Parser[CeeExpr] CeeParser.token
val x = CeeParser.token
print(x)
}
}
如果我的设置有问题,我将通过用于 intellij 的 scala-plugin 使用 scala 2.7.6。任何人都可以对此有所了解吗?消息错误,Parsers 是scala.util.parsing.combinator 的成员。
--- 跟进
这个人http://www.scala-lang.org/node/5475好像也有同样的问题,但是我不明白他给出的答案。谁能解释一下?
【问题讨论】: