独立于架构的“纯逻辑”代码生成

时间:2013-10-22 15:30:30

标签: code-generation

我真的不知道我所询问的是否有任何常见的术语,所以我为可能愚蠢的滥用这些术语而道歉。

我很感兴趣,如果有任何解决方案或者至少是用于创建“纯逻辑”代码的实验,任何架构模式的摘要,以及基于它的后来生成特定于架构的代码。

例如:

“纯逻辑”是两个整数的加法 - a和b

它可以转储为内联“= a + b”

或作为函数“函数sum(a,b){return a + b}; = sum(a,b)”

或作为类“类Sum(a,b){...}; s = new Sum(a,b); = s.result();

或者这个类没有构造函数参数,但需要在构造之后应用它们

或者它接受带有十几个可能键的字典,包括我们需要的2个

或者我们有DI / IoC容器,我们用2个注入的参数调用延迟加载的singleton serevice

等等

所以,基本上,就像我们混合了全局函数和变量,然后我们应用生成规则和模板来获得特定的编码器友好结果。

1 个答案:

答案 0 :(得分:1)

基本上,你不能逃避必须定义一些语法,并赋予它语义。这会给你一种语言。在这种语言中,您有类型(整数)和操作(您可以添加它们)。

所以现在这个生成代码的业务基本上就是你的语言编译器,它使用各种高级语言作为后端。

由于某些语言可能不像您的高级语言那样“纯粹”,或者在语义上以各种方式遥远,因此某些后端方言中生成的代码最终可能看起来像狗的早餐,以便精确地实现语义。