你好吗?我正在学习如何使用 Telosys 为 Arduino 制作代码生成器,我想知道是否有办法为我的 DSL 中的所有实体创建一个文件。例如,我有 .entity 文件“Cars”和“Drivers”,它们在我生成代码时会生成两个 .txt 文件。有没有办法在一个文本文件中为两个 .entity 文件生成代码?
1 回答
2
是的,这是可能的,而且很容易。在您的“.vm”文件中,您只需使用以下实体列表对模型中定义的每个实体进行迭代:“ $model.allEntites ”或“ $selectedEntities ”(参见模板文档:https://www.telosys. org/templates-doc/objects/model.html )
这是一个例子:
All entities :
#foreach( $entity in $model.allEntites )
. $entity.name : $entity.attributesCount attributes
#end
“数据库文档”是使用这种生成的一组模板。请参阅捆绑包中的“database_tables_list.vm” https://github.com/telosys-templates-v3/database-doc-T300
不要忘记在“ templates.cfg ”文件中将这个“.vm”文件的“代数”设置为“ 1 ” ,以便只生成一次
“数据库文档”包中的示例(行尾的“ 1 ”):
Database tables list (HTML) ; database.html ; dbdoc ; database_tables_list.vm ; 1
对于您的文本文件:
My global text file ; global.txt ; myfolder ; mytemplate.vm ; 1
于 2021-04-07T08:51:31.113 回答