Scala解析错误“;”预期但找到字符串文字

时间:2018-12-16 09:56:49

标签: scala

这些解析有什么问题吗?

def role : Parser[Role] = ~> protocolID <~ "(" ~> roleName <~ ")" ~ "{" ~>      statements <~ "}" ^^ {

它在第一个括号中返回错误:';'可以,但是找到了字符串文字。

谢谢

1 个答案:

答案 0 :(得分:5)

您的代码是这样解析的。

~>.protocolID(<~) "("...

这显然没有任何意义。解析器在看到该字符串文字"("后将退出工作。除非在第一个方法调用;之后会有~>.protocolID(<~),否则在该位置不可能有字符串文字。这就是告诉你的。

您犯的错误是尝试使用中缀运算符~>作为前缀运算符。