人工智能编译器

22

我在想,是否有可能使用人工智能来改进编译器?

如果有可能的话,以下是我可以想象的一些方面:

  • 更具体的错误信息
  • 提高编译器优化,使编译器能够真正理解你要做什么,并更好地完成

如果可以,是否有任何关于此主题的研究项目?


在C#中,您可以使用诸如StyleCop、FxCop和resharper等工具来帮助查找潜在问题。您可以编写自定义规则,直到它们运行时间过长,需要一个服务器农场。不管你的目标是什么,Resharper都可以将循环重写为LINQ,这反过来通常有助于C#编译器发出尽可能快的代码。然而,速度不应该是唯一的目标。 - Hamish Grubijan
4个回答

17

你应该看看 MILEPOST GCC -

MILEPOST GCC是第一个实际尝试构建机器学习启用的开源自适应生产(和研究)编译器,它可以使用迭代反馈指导编译、机器学习和集体优化来适应任何架构。


7
一款优化编译器实际上是一个非常复杂的专家系统,而专家系统是人工智能中最古老的分支之一。

3

2

这确实是一个正在研究的领域。看看GCC的milepost分支,它依赖于基于配置文件的优化和机器学习。最近编译器的科学文献充满了使用数据挖掘、机器学习(通过遗传算法或神经网络)以及更“经典”的、对某些代码模式进行模式识别的论文。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接