CodeGen结构循环回路

CodeGen结构循环回路

structure循环是一个模板文件构造,它允许您迭代CodeGen拥有的有关结构的集合。为了使用结构循环,必须同时基于多个存储库结构生成代码。             

CodeGen可以通过以下两种方式之一处理多个结构:             

•可以在命令行上,在-s命令行选项之后指定多个结构,-ms命令行选项可用于指定所有结构将一起处理。             

•file命令行选项可用于使用存储库文件定义作为代码生成的起点,并且该文件定义可以指定多个结构。             

Structure循环由一对匹配的<Structure_LOOP>和</Structure_LOOP>标记分隔,它们围绕要为每个结构插入的模板代码。开始标记和结束标记之间的代码对于每个正在处理的结构重复。此代码可能包含任何其他标记。             

如果只处理单个结构时在模板中遇到结构循环,则将生成错误,CodeGen将停止处理。             

结构循环可以包含要为正在处理的每个结构重复的代码,也可以包含在处理单个结构时有效的任何其他标记。CodeGen只是根据正在处理的结构的数量,在打开和关闭结构循环令牌之间重复代码适当的次数,并在执行过程中切换结构上下文。             

有两种类型的结构循环,称为多线结构循环和串联结构循环。             

多线结构回路             

当开始和结束结构循环标记出现在模板文件中的单独行上时,会发生多行结构循环,并分隔一行或多行模板代码,如下所示:

[code]

<STRUCTURE_LOOP>
code
</STRUCTURE_LOOP>

[code]

多行结构循环为处理的每个结构生成一行或多行输出代码。             

串联结构回路             

当开始和结束结构循环标记出现在模板文件中的同一行上,并分隔了模板代码行的一部分时,就存在行内结构循环,如下所示:

[code] <STRUCTURE_LOOP> code </STRUCTURE_LOOP> [code]

内联结构循环将代码生成到当前输出行中。

posted @ 2020-12-15 08:21  吴建明wujianming  阅读(72)  评论(0编辑  收藏  举报