scala 中的解析器错误无法创建对象主



我正在Scala:中创建一个解析器

import scala.util.parsing.combinator._
// Parser of protocol
object Parser extends RegexParsers {  
//code
}

当创建我的主要对象时,如下所示:

import Parser._
object main extends Parser {
def main(args: Array[String]): Unit =
{
}
}

我得到了以下信息:对象创建是不可能的,因为方法应用于类型为(in:Parser.Input(Parser.ParseResult〔Nothing〕的类Parser中。

看起来您正在尝试扩展scala.util.parsing.combinator.Parsers.Parser,它有一个抽象方法apply,您需要重写它才能用对象对其进行子类化。

object Main extends Parser {
def main(args: Array[String]): Unit = {
}
def apply(in: Input) = ???
}

请注意,这与您在第一个代码段中声明的解析器不同。

最新更新