4

I am looking at a semester long project in compilers that could also evolve into my graduate thesis. I do not have much experience in this field (I have written a small "translator" for Pascal as part of my undergraduate work) --- I have been more into Machine Learning, and AI. The idea is to take this up as a challenge, and learn something in the process.

I did have a look at: Interesting compiler projects , but most of the ideas seem outdated.

The same is also true of the LLVM Open Projects page --- http://llvm.org/OpenProjects.html

Since I will have a semester to work on it, I am aiming for something slightly significant. I would like to work broadly on optimisations, or parallelisation. What might be an interesting thing to work on?

4

1 回答 1

1

随意为 Felix 做出贡献,有无限数量的合适迷你项目与您感兴趣的任何事物相关 :) Felix 是用 Ocaml 编写的,因此您必须使用它。解析器确实将 Scheme 用于操作代码。如果您需要运行时支持,Felix 会生成 C++。可能的子项目包括:

  1. 元类型和多元行为
  2. 改进定理证明(Felix 从断言生成为什么格式文件)
  3. 扩大优化范围
  4. 添加新的优化
  5. 支持生成 OMP 指令
  6. 改进的垃圾收集器

这些问题的难度范围从容易到难如你所愿。产品的知识水平从需要了解整个事物到只是一些简单的数据结构。

基本信息:Felix 是 ML 系列中的一种静态类型的过程脚本语言,运行速度比 C 快。它生成 C++,然后传递给 C++ 编译器以生成机器二进制文件。它使用资源管理器来查找所有资源并链接它们,因此它与 Python 一样易于使用。它嵌入了 C 和 C++,因此可以使用大多数 C/C++ 库。它是一个完整的程序分析器,专注于高级优化,并允许您的 C++ 编译器执行低级优化。高级优化包括非常高级的语义规则,例如指定反转列表两次是无操作,或实现并行分配以最小化尾递归的成本,但是函数和变量的内联是性能的主要来源。选择语义以允许积极优化,

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

于 2010-12-04T21:40:26.683 回答