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