问题标签 [stringtemplate-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
516 浏览

stringtemplate - StringTemplate4 :: 模板调用内的模板调用

我试图调用一个模板,将调用另一个模板的结果作为参数传递,但我似乎无法让它工作。这是一个缩小范围的示例:

文件中的以下模板组:

使用以下 Java 代码调用时:

按预期生产动物园。

但是,当我尝试用返回相同的模板替换“动物园”文字时, ST在解析期间抱怨:

不起作用:

0 投票
0 回答
170 浏览

emacs - StringTemplate 的 Emacs 模式

StringTemplate Java 模板引擎是否有可用的 Emacs 模式?

0 投票
1 回答
221 浏览

stringtemplate-4 - 是否可以组合组文件和组目录?

我正在使用 StringTemplate 来生成 HTML,我希望能够合并STGroupFileSTGroupDir这样我就有一个组文件目录。这样,我可以在一个文件中包含多个模板,也可以组合来自多个文件的模板。似乎没有对此的支持,但我想我会看看是否可能忽略了某些东西。

如果您想知道我为什么要这样做,让我们看一下 StringTemplate 文档中的一个示例:

假设以上都在一个文件(test.st)中并且我们正在使用STGroupDir,它将无法解析“bracket(x)”模板,除非它在一个单独的文件(bracket.st)中。在这种特殊情况下,括号就像一个本地助手,可用于清理主模板。在这种情况下,您可能不希望括号在 test.st 之外可见。

但是,如果您想创建一个简单的帮助模板库,您可能希望将它们全部放在一个文件中,并让其他文件中的模板可以访问它们中的每一个。

0 投票
1 回答
258 浏览

java - 生成非常大的 Java 代码

我需要将 ~20k 内置函数和常量从 CHM 文件填充到列表中。首先,我尝试序列化它们的列表,但反序列化需要 1500 毫秒(对于快速完成代码来说太长了,即使是第一次命中也是如此)。

尝试使用 StringTemplate 生成代码,生成有效代码。但它不会编译,因为“initEnums() 方法超出了 65536 的大小限制”。(我的 Eclipse 很快就死了)

生成的方法如下所示:

如果这个限制仅限于源代码,我可以使用另一个库直接生成类文件(可能是 CodeModel)。如果可能的话,我想保留我的代码,而无需再次从头开始重写输出生成器。有什么建议么?

0 投票
2 回答
1194 浏览

stringtemplate - StringTemplate4 如果有条件的长度

我需要使用 StringTemplate4 生成以下类型的代码:

“连接连接”部分始终存在,因此我只将方法名称和其余参数传递给我的 ST 模板。我的模板如下所示:

这可行,但当根本没有参数时会产生一个额外的逗号(conn 除外):

为了消除额外的逗号,我尝试使用if条件和长度ST4 函数,但我无法让它工作,尽管我尝试了如下各种组合:

...以及其他都因一些与解析相关的错误而失败(输入不匹配)。

最后,我放弃了,而是根据预渲染逻辑将逗号参数传递给模板,它要么是“,”,要么是空字符串“”。

0 投票
3 回答
1604 浏览

java - '{' 让我大吃一惊

我想org.stringtemplate.v4.*用作渲染 html 页面的模板引擎。但是我找不到如何在我的文件中转义左括号。Templator 认为它是某种表达式,而它只是 javascript 代码。

我试过\{了,但这无济于事 - 我仍然得到

如何逃避这个?或者存在哪些 stringtemplate 的类似物,可以正确处理 html 页面作为输入?

0 投票
1 回答
133 浏览

java - StringTemplate 不替换不匹配的模式

假设我有一个模板

我创建引擎

do模型中设置为sports和否的结果man是:

但我希望它保持未解决,即

这可以在 StringTemplate 4 中完成吗?

0 投票
1 回答
308 浏览

antlr - ANTLR 字符串模板 - 如何指定具有两个多值属性的模板?

我有一个场景,我需要使用两个多值属性来实例化一个匿名模板。

这是我通过阅读文档所尝试的:

为了说明问题,假设我为这两个属性提供了以下两个数组:

然后我使用以下两个函数调用应用了该属性:

结果让我吃惊。我想我会得到四行,因为我希望为四对中的每一对实例化模板。但是,我得到的只是实例化两对的两行:

我用错了吗?有没有更好的替代方法来做到这一点?

0 投票
0 回答
123 浏览

antlr4 - using ST-4 in antlr v4

Until now I use antlr 3.4 to create language-specific grammar, and make a translator for the language with ST-3, but after appearing antlr v4 and ST-4, I can not use the code that I wrote earlier. Are there examples of the use of ST-4 in antlr v4. Thank you,

0 投票
1 回答
136 浏览

java - 连接 stringtemplate4 - antlr4 - java tesrig

我是antlr的新手。

通过antlr v3使用ST翻译代码很有品味。我还在 parr 书中看到 Jason2xml 翻译,但仍然感到困惑。我如何在 antlr 或 java-test rig 中使用或连接 ST-4。任何教程或示例,如 antlr-ST v3 ?