我正在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) = ???
}
请注意,这与您在第一个代码段中声明的解析器不同。