模板引擎

发布于 2024-08-17 06:55:53 字数 52 浏览 10 评论 0原文

除了网络之外还有其他用途吗?例如,用于脚本生成器、C++ 代码生成器或其他相关的通用操作。

Are there any for purposes other than web? e.g. for use in script generators, c++ code generators or other related, generic operations.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

梅窗月明清似水 2024-08-24 06:55:53

在 Visual Studio 中,有一个主要用于代码生成的模板引擎,称为 T4。

以下是 MSDN 文档的入口点

所以,回答你的问题,是的,它们的存在除了网络之外还有其他目的。

In Visual Studio there is a templating engine primarily for code generation, called T4.

Here is an entry point for documentation on MSDN.

So, to answer your question, yes they to exist for other purposes than the web.

弃爱 2024-08-24 06:55:53

是的,那里有很多。据我所知,MyGeneration 可以让您在需要时生成更多模板。另外,您始终可以构建自己的 xslt 模板引擎,然后您可以构建您需要的任何内容。然而,有一些开源和商业代码生成器。

Yes there are many out there. One that I know of that allows you to generate more templates if you need them is MyGeneration. Another, is you could always build your own xslt template engine then you could build whatever you need. However there are several opensource and commercial code generators.

初心未许 2024-08-24 06:55:53

例如 StringTemplates 是一个基于 Java 的模板引擎,用于生成各种文本工件和模型生成器框架,例如 < a href="http://www.eclipse.org/gmt/oaw/" rel="nofollow noreferrer">openArchitectureWare (或 GeneSEZ) 使用 Expand 模板引擎。

E.g. StringTemplates is a Java-based template engine for generating all sorts of text artifacts, and model generator frameworks like openArchitectureWare (or GeneSEZ) use the Expand template engine.

请爱~陌生人 2024-08-24 06:55:53

Imatix GSL 是我拥有的最令人印象深刻(也是最简单)的工具遭遇。另外,它还被用来生成大量复杂的代码。

另外, lua 是一种编程语言,其最初的目的是数据定义,我发现它非常有能力这个区域。因此,您在 lua 中定义数据并执行数据定义文件(有效的 lua 程序),然后您可以从中生成任何代码。

考虑以下 Lua 中 C 函数的模型。

> func {    
>     name { "xyz" }
>     parameters { 
>         { name= "x" , type="uint32_t" }  , 
>         { name = "y" , type = "uint32_t"} 
>     }
>
>     ret { type="uint32_t" }
>   
>     psuedocode {      
>        "getLock(lockName)"   ,
>        "getSessionMemory"    ,
>        "addSession"      ,        
>        "releaseLock"              
>     } 
> }

Imatix GSL is the most impressive (and simplest) of the tools that I have encountered. Plus it has been used to generate large amounts of complex code.

Also, lua is a programming language whose initial purpose was data definition, and I have found it to be very capable in this area. So, you define your data in lua and you execute the data definition files (valid lua programs) and you can generate any code from it.

Consider the following model for a C-function in Lua.

> func {    
>     name { "xyz" }
>     parameters { 
>         { name= "x" , type="uint32_t" }  , 
>         { name = "y" , type = "uint32_t"} 
>     }
>
>     ret { type="uint32_t" }
>   
>     psuedocode {      
>        "getLock(lockName)"   ,
>        "getSessionMemory"    ,
>        "addSession"      ,        
>        "releaseLock"              
>     } 
> }
北城挽邺 2024-08-24 06:55:53

他们可以生成配置文件。

PuppetChef 依赖 erb 模板很多。

They can generate configuration files.

Puppet and Chef rely on erb templates a lot, for example.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文