我想验证一个给定的字符串是在验证字符串作为有效的C代码
int main() {
double x[3];
<insert code here>;
return EXIT_SUCCESS;
}
有效范围内有效的C代码,我想验证,
verifyC('x[0]*x[0] + x[1] + 1') // pass
verifyC('x[0]*x[0] + x[1] +') // fail, syntax error
verifyC('x[0]*x[0] + a') // fail, `a` undefined
会是什么是一种很好的验证方式?
你的问题似乎还不清楚。函数应该检查给定的字符串在语义上,还是仅在语法上?根据你的代码,给定的字符串将被“粘贴”成C代码。但是,在这种情况下,它们都是不正确的,因为每行末尾都没有分号。所以,请更具体一些:尝试解释目标,而不是实现方式。 – soon
编写一个解析器。期。如果你遇到问题,我们可以提供帮助。目前,正如它所写,它太宽泛无法回答。 –
使用类似[pycparser](https://github.com/eliben/pycparser)的解析器 – myaut