Compiler construction 有趣的编译器项目

Compiler construction 有趣的编译器项目,compiler-construction,compiler-theory,Compiler Construction,Compiler Theory,我正在看一个为期一学期的编译器项目,这个项目也可能演变成我的研究生论文。我在这个领域没有太多的经验(作为我本科工作的一部分,我为帕斯卡写了一个小的“翻译器”--我更喜欢机器学习和人工智能。我们的想法是把这当作一个挑战,并在这个过程中学习一些东西 我确实看了一下:,但大多数想法似乎都过时了 LLVM开放项目页面也是如此-- 因为我有一个学期的时间来学习,所以我的目标是一些稍微有意义的东西。我想广泛地从事优化或并行化方面的工作。什么可能是一件有趣的事情呢?请随意为Felix做贡献,有无限数量的适合的

我正在看一个为期一学期的编译器项目,这个项目也可能演变成我的研究生论文。我在这个领域没有太多的经验(作为我本科工作的一部分,我为帕斯卡写了一个小的“翻译器”--我更喜欢机器学习和人工智能。我们的想法是把这当作一个挑战,并在这个过程中学习一些东西

我确实看了一下:,但大多数想法似乎都过时了

LLVM开放项目页面也是如此--


因为我有一个学期的时间来学习,所以我的目标是一些稍微有意义的东西。我想广泛地从事优化或并行化方面的工作。什么可能是一件有趣的事情呢?

请随意为Felix做贡献,有无限数量的适合的迷你项目与您感兴趣的任何东西相关:)Felix是用Ocaml编写的,因此您必须使用它。解析器对动作代码使用Scheme。如果生成运行时支持,菲利克斯生成C++。可能的子项目包括:

  • 元分型与多元行为
  • 改进定理证明(Felix从断言生成Why格式文件)
  • 扩大优化范围
  • 添加新的优化
  • 支持生成OMP指令
  • 改进的垃圾收集器
  • 这些问题的难度从简单到你想要的难。产品的知识水平从需要了解整个产品到只了解一些简单的数据结构

    基本信息:菲利克斯是一个静态类型的脚本脚本语言,在ML族中运行得比C快。它生成C++,传递给C++编译器生成机器二进制文件。它使用一个资源管理器来查找所有资源并链接它们,因此它与Python一样易于使用。它嵌入了C和C++,所以可以使用大多数C/C++库。它是一个完整的程序分析器,它专注于高级优化,并允许C++编译器做低级优化。高级优化包括非常高级的语义规则,例如指定将列表反转两次是不可行的,或者实现并行分配以最小化尾部递归的成本,但是函数和变量的内联是性能的主要来源。语义的选择允许积极的优化,例如,默认的参数传递模式允许立即或延迟的计算,无论编译器认为哪个更快


    在users dot sourceforge dot net的skaller上与我联系。

    如果你不喜欢链接页面上列出的内容,我会忍不住觉得你有点挑剔。我觉得这些建议不错。或者,你的脑海中确实有一些建议没有涵盖的一般领域?