这些解析有什么问题?
def role : Parser[Role] = ~> protocolID <~ "(" ~> roleName <~ ")" ~ "{" ~> statements <~ "}" ^^ {
Run Code Online (Sandbox Code Playgroud)
它在第一个括号中返回错误:';' 预期,但字符串文字发现.
谢谢,
您的代码将被解析为这样.
~>.protocolID(<~) "("...
Run Code Online (Sandbox Code Playgroud)
这显然没有任何意义.一旦看到字符串文字,解析器就会退出"(".除非你;在第一次方法调用之后有一个字符串文字,否则不可能在该位置有一个字符串文字~>.protocolID(<~).这就是它告诉你的.
您犯的错误是尝试使用中缀运算符~>作为前缀运算符.
| 归档时间: |
|
| 查看次数: |
264 次 |
| 最近记录: |