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

时间:2018-12-16 01:13:16

标签: 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 =
 {
 }
}

我得到以下信息:无法创建对象,因为该方法适用于类型为Parser.Input()的类Parser(未定义)。

1 个答案:

答案 0 :(得分:0)

您似乎正在尝试扩展 scala.util.parsing.combinator.Parsers.Parser,它具有一个抽象方法apply,您需要重写该抽象方法以用对象将其子类化。

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

  def apply(in: Input) = ???
}

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