gpt4 book ai didi

c++ - 规范化变量名 C/C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:27:49 26 4
gpt4 key购买 nike

我目前正在开发一种工具,它将比较两个文件并报告其差异。我想实现一个功能来比较两种方法,并报告它们是否相同(同时忽略变量名更改)。我想做的是将所有变量名称规范化为 (x0,x1 ..) 或类似的名称。然后对方法进行排序(按字母顺序?)以便顺序相同。捕获他们的校验和,然后比较两者。

我的问题:

如何规范化 C/C++ 文件中的变量名?或者关于如何实现该功能,您还有其他想法吗?

问候

最佳答案

如上所述,如果您能提出可重复且稳定的排序,您可以将“ token ”(变量名称)映射到“内部形式”。

这并不试图理解 token 如何解析,只是它们以相同的模式出现在两个源文件中。 “ token ”可以是 C/C++ 保留字以外的所有内容,不需要认真的解析/词法分析。

完成后,您可以将注释和空格转换为规范形式。

这对我来说几乎没有什么用处,但我相信它可以解决 99.9% 或更好的问题——可以想象它可能会被愚弄,但实际上不太可能。

当然,如果我们有那些也必须处理的宏。如果需要的话,也许您可​​以在它们上运行 C 预处理器来实现它?

希望这对您有所帮助。

关于c++ - 规范化变量名 C/C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16416286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com