灵活的编译管道定义

时间:2008-09-15 10:27:51

标签: compiler-construction workflow pipeline

我正在为.NET开发一个编译器框架,并希望有一种灵活的方法来定义管道。我考虑过以下几种选择:

  • WWF
  • 自定义XML管道描述
  • 代码中的自定义管道描述(使用Nemerle的宏为其定义语法)
  • 其他基于代码的说明

要求:

  • 不能只依赖于.NET(3+)的更高版本中的功能,因为它旨在跨平台并在托管内核之上使用,这意味着半限制的.NET功能。
  • 必须允许条件管道构建,因此您可以指定某些命令行选项将对应于某些元素和订单。
世界自然基金会很好,但不符合第一个要求。其他人会工作但由于工作原因而不是最佳。

有没有人知道一个能够实现这些目标的解决方案,几乎没有修改?

2 个答案:

答案 0 :(得分:1)

如果您了解Ruby,那么解决方案就是编写一个简单的内部DSL,它可以生成您需要的任何管道数据类型和读/写代码。生成XML是一种快速入门的方法。如果需要,您可以随时更改DSL以生成其他格式。

您可能还想查看Microsoft Phoenix compiler项目的灵感。

答案 1 :(得分:0)

我知道Boo让您对编译器感到高兴,不确定它是否以您想要的方式运行。