![]() |
1
1
在过去,我使用Velocity生成源代码。它工作得相当好,但是我最终还是用Java编写了一个公平的生成器。 当数据结构直接指向目标代码时,速度是很好的。技巧是在开始生成之前将内存中的数据结构转换成正确的形式。这可能涉及到对数据进行初步传递以重新组织事物。 (我不会批评COBOL作为目标语言。显然有一个实用的理由来使用它。Nuff说。 速度的其他替代方案包括FreeMarker和Jet(在Eclipse/EMF世界中使用)。 |
![]() |
2
0
我们使用无头Eclipse在源代码和生成的COBOL代码之间进行一些转换。我们在几个XML文件中定义了转换规则,Eclipse处理它们和源代码 这在一定程度上取决于您的源输入,但是在我们的转换过程中,数据划分比过程划分困难得多。我们几乎必须将每个数据划分转换编码为单独的Java方法。我们可以使用工厂模型进行程序划分。工厂有8个具体的类实现,其中一个在大多数转换中使用。 编辑以添加示例。 以下是我们插入工作存储器的内容:
下面是一个简单的数据划分转换:
转换为
这是一个过程划分转换:
转换为
000600是预编译程序自动计算的错误代码。0056-process是包含SQL-Other-Error预编译程序语句的段落名称。 Java代码做的数据分割例子很简单。 Java代码做的程序分割例子是为Sq-Tor的错误动词编写的一个工厂方法。 下面是我们的一个XML转换脚本。我们有几个。
|
![]() |
PurpleCraw · velocity中的转义双引号 7 年前 |
![]() |
XtremeBaumer · 来自地图、列表的速度表 7 年前 |