我正在尝试使用 ANTLR3 来解析一些 C++ 代码。
我想用 C++ 解析模板。但是当我试图解析这个时我遇到了一些麻烦:
vector<int>(10)
我发现这是一个没有模板语法的合法输入,因为我的解析认为这段代码只是:
(vector < int) > (10)
我的解析器认为这只是两个比较运算符。
这确实有道理,但没有达到我的期望。
实际上,我认为这段代码应该以这种方式解析:
(vector<int>)(10)
我应该如何处理运算符优先级?非常感谢你!
更新:最终的解决方案是使用谓词。