我正在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(未定义)。
答案 0 :(得分:0)
您似乎正在尝试扩展
scala.util.parsing.combinator.Parsers.Parser,它具有一个抽象方法apply
,您需要重写该抽象方法以用对象将其子类化。
object Main extends Parser {
def main(args: Array[String]): Unit = {
}
def apply(in: Input) = ???
}
请注意,这与您在第一个代码段中声明的解析器不是相同。