ANTLR在第一次出现时停止



>我有这些规则:

while: 'while' expr 'do' program;
if: 'if' expr 'then' program 'else' program;

我不在乎expr包含什么,所以我怎么能把所有东西都带到那里直到thendo

我试过了:

expr: .*?~('then'|'do');

但它不起作用。为什么?

如果内容和结构对您无关紧要,请改用令牌流。遍历所有令牌(从while令牌开始,直到遇到do(并跳过所有嵌套循环(。您的解析器确保输入正确,因此可以使用令牌流。

相关内容

  • 没有找到相关文章

最新更新