小编Sha*_*unL的帖子

Scala Parser问题

我在测试简单的Book DSL的Scala Parser Combinator功能时遇到了问题.

首先是一本书类:

case class Book (name:String,isbn:String) {
def getNiceName():String = name+" : "+isbn
}
Run Code Online (Sandbox Code Playgroud)

接下来,有一个简单的解析器:

object BookParser extends StandardTokenParsers {
  lexical.reserved += ("book","has","isbn")

  def bookSpec  = "book" ~> stringLit ~> "has" ~> "isbn" ~> stringLit ^^ {
            case "book" ~ name ~ "has" ~ "isbn" ~ isbn => new Book(name,isbn) }

  def parse (s: String) = {
    val tokens = new lexical.Scanner(s)
    phrase(bookSpec)(tokens)
  }

  def test (exprString : String) = {
     parse (exprString) match {
         case Success(book) …
Run Code Online (Sandbox Code Playgroud)

parsing scala

5
推荐指数
2
解决办法
2226
查看次数

标签 统计

parsing ×1

scala ×1