如何管理编译器项目?

时间:2009-09-24 08:58:52

标签: project-management compiler-theory

我是CS学生,今年我有一个编译项目。

我想知道如何与我的三个合作伙伴一起管理我的项目。

我知道编译器有很多级别和流程,我想利用这些功能来管理我的项目。

感谢您为我提供的任何提示/指示/资源。

2 个答案:

答案 0 :(得分:2)

您还没有真正指定您正在编译的内容,因此提出具体建议有点困难。

如果你正在做一些新奇的事情,几周前我写了一篇博文,其中有一些具体的事情需要考虑:

http://www.plsadventures.com/2009/09/why-programming-language-design-is-hard.html

如果它是您正在编译的预先存在的语言,那么我将努力生成一个不错的测试语料库,并考虑使用测试驱动的开发来管理您的进度。

正如您所提到的,大多数编译器中存在一些相对离散的明显组件。我会考虑记录连接这些组件的接口。例如,如果一个人正在编写词法分析器而另一个人正在编写解析器,那么请确保您有一个在某处写下的令牌列表。应该定义和写下解析和/或抽象语法树的格式,以便任何从事优化或代码生成的人都在同一页面上。

最重要的是,测试确实有助于这种集成。您应该能够单独构建这些组件并将它们组合在一起。

答案 1 :(得分:0)

你应该使用像Git或Mercurial这样的DCVS,这样每个人都可以单独开发,同时仍然很容易合并更改。

接下来,您应该定义测试用例,以了解您需要哪些功能以及您将如何知道功能的工作原理。

这应该有助于找出项目中不重叠的不同区域,这样团队中的每个成员都可以在不踩彼此脚趾的情况下工作。