「値パーサーはパッケージ 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も同じ問題を抱えているようですが、彼の答えがわかりません。誰でも説明できますか?