gpt4 book ai didi

compiler-construction - 编译器测试用例或如何测试编译器

转载 作者:行者123 更新时间:2023-12-03 07:28:00 31 4
gpt4 key购买 nike

像所有软件一样,编译器也容易出现错误和逻辑错误。

如何验证编译器生成的输出。通常,我的问题是

  • 如何验证生成的机器码是否正确?

  • 如何确保生成的机器代码符合语言规范。

  • 只选择一个开源项目(如果也用 C 语言编写编译器的话,则用 C 语言)来通过“编译器”对其进行编译是否有意义。在这种情况下,如何判断编译器的行为符合预期。

  • 语言标准委员会是否提供了“符合语言”的编译器必须满足的正式测试用例(文献)?

  • 编译器编译的程序中的问题是编译器错误而不是程序错误,有哪些确定的“泄露信息”。

    - 有没有主流编译器感到困惑并编译错误代码的例子?

任何文献的链接将不胜感激。

最佳答案

针对真实语言的良好测试套件的创建和维护成本很高。有一个原因 the Plum Hall test suite ,这是 ANSI C 的行业标准,太贵了。

乔治·内库拉的translation validation这是一个绝妙的想法,但实现起来也相当昂贵。

便宜又简单的一件事是:维护一套回归测试,并且每次修复编译器中的错误时,都将合适的测试放入回归套件中。对于编译器来说,一遍又一遍地重新引入相同的错误是多么容易,令人难以置信。对回归套件进行严格的添加可以防止这种情况发生,而且成本并不高。

关于compiler-construction - 编译器测试用例或如何测试编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1104922/

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