Reputation: 464
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
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