我正在开发基于 CDT 的 eclipse 插件。
该插件解析 C++ 代码并根据解析代码中的数据生成另一个 C++ 代码。
假设原始代码是
enum SOMEENUM
{
ONE = 1 << 1 // Bit 2 2
,TWO = 1 << 2 // Bit 3 4
,THREE = 1 << 3 // Bit 4 8
,FOUR = 1 << 4 // Bit 5 16
}
CDT 将1 << 1
,1 << 2
等识别为IASTBinaryExpression
.
问题:有人知道如何通过 CDT 评估每个二进制表达式的值吗?
否则,唯一的选择仍然是通过手动解析所有操作数进行计算。