Igor Yudnikov
Igor Yudnikov

Reputation: 464

scala parser failure: string literal expected

help please! What I'm doing wrong? Should I use RegexParsers?

object Working extends App {

  class Parser(string: String) extends StandardTokenParsers {

    def value: Parser[Any] = numericLit

    println(phrase(value)(new lexical.Scanner(string)))
  }

  new Parser("123")
}

returns: [1.4] parsed: 123

object NotWorking extends App {

  class Parser(string: String) extends StandardTokenParsers {

    def value: Parser[Any] = stringLit

    println(phrase(value)(new lexical.Scanner(string)))
  }

  val p = new Parser("asd")
}

[1.1] failure: string literal expected

asd ^

What does he want?!

Upvotes: 0

Views: 125

Answers (1)

Kolmar
Kolmar

Reputation: 14224

String literals should be enclosed in quotes. The following lines would work:

val p1 = new Parser("'asd'")
val p2 = new Parser("\"asd\"")

Upvotes: 1

Related Questions