我正在解析一个GLSL源代码,我需要用一个新名称替换全局变量名。问题是如何照顾阴影变量?例如,在以下源代码中,由于本地声明,我想替换行a = 1
和a = 3
但不替换a = 2
。
int a; // To be replaced
void some_function(void)
{
a = 1; // To be replaced
{
int a;
a = 2; // To be kept
}
a = 3; // To be replaced
}
我正在使用pyparsing但我没有找到解决方案(除了使用nestedExpr
并重新解析每个块)。