Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ANTLR中,如何在不回溯的情况下解决歧义?_Antlr - Fatal编程技术网

在ANTLR中,如何在不回溯的情况下解决歧义?

在ANTLR中,如何在不回溯的情况下解决歧义?,antlr,Antlr,expr :原子 |原子二元表达式->^(二元原子表达式) ; 如果可能的话,我想在没有回溯的情况下解决这个问题。由于某种原因,使用回溯会破坏我的代码。关于语法谓词的文档并不多,我想知道如何使用谓词来实现这一点。如果ANTLR抱怨存在歧义,那么它源自另一条规则。你能发布一个完整的语法来重现你得到的错误吗?或者尝试重构到这个:expr:(atom->atom)(BINARY-expr->^(BINARY-atom-expr))

expr :原子 |原子二元表达式->^(二元原子表达式) ;


如果可能的话,我想在没有回溯的情况下解决这个问题。由于某种原因,使用回溯会破坏我的代码。关于语法谓词的文档并不多,我想知道如何使用谓词来实现这一点。

如果ANTLR抱怨存在歧义,那么它源自另一条规则。你能发布一个完整的语法来重现你得到的错误吗?或者尝试重构到这个:
expr:(atom->atom)(BINARY-expr->^(BINARY-atom-expr))