问题标签 [stringtemplate]

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 回答
1001 浏览

java - StringTemplate4 和匿名模板

我对最近发布的 Stringtemplate 4 测试版有疑问

在 StringTemplate 3 中,我曾经有过类似的模板

即包含文字右大括号(“}”)的匿名模板,这些模板在 ST3 中运行良好,无需转义第一个右大括号。

使用 ST4,我得到一个 NPE(下面的测试用例打印堆栈跟踪)。我可以通过转义右大括号来使其工作,因此模板看起来像这样(注意第一个右大括号前面的引号反斜杠):

但这似乎有点难看;我一直很欣赏 ST 的非侵入式语法,并且必须将要输出的每个“{”与相应的“\}”相匹配,这似乎非常不对称。

是否有我遗漏的东西,或者这是 ST3 的预期行为变化?

测试用例:

0 投票
1 回答
2121 浏览

antlr - ANTLR 3 中 wikitext-to-HTML 的工作示例

我试图在 ANTLR 3 中充实一个 wikitext-to-HTML 翻译器,但我一直卡住。

您知道我可以检查的工作示例吗?我尝试了 MediaWiki ANTLR 语法和 Wiki Creole 语法,但我无法让它们在 ANTLR 3 中生成词法分析器和解析器。

以下是我尝试使用的两种语法的链接:

我无法让这两者中的任何一个生成我的 Java Lexer 和 Parser。(我使用 ANTLR3 作为 Eclipse 插件)。MediaWiki 需要很长时间才能构建,然后在某些时候抛出 OutOfMemory 异常。另一个有错误,我不知道如何调试。

编辑:好的,我有一个非常基本的语法:

我不清楚如何输出 HTML。我一直在研究 StringTemplate,但我不明白如何构建我的模板。具体来说,哪个模板在语法中的位置。你能帮我举一个简短的例子吗?

0 投票
1 回答
280 浏览

c# - stringtemplate 提取匹配模式的变量

我正在使用 stringtemplate 库在 ac# 应用程序中进行模板化。我正在寻找这样的功能,

给定一个像“$address1$, $address2, $PIN$”这样的模板和一个像“Nightmare, elm street, 666666”这样的字符串

我想提取模板变量可能匹配的值

地址1 = 噩梦

地址 2 = 榆树街

密码 = 666666

是否可以使用字符串模板?如果没有,还有其他替代建议吗?

0 投票
1 回答
774 浏览

stringtemplate - 使用 Antlr/Stringtemplates 编写翻译器

我想写一个翻译。这个想法是将特殊形成的 C++ 接口转换为 C++/CLI。我有一个 antlr 语法,可以解析所有内容并生成 AST。现在我想使用这些信息和一些字符串模板来发出源代码。

我的想法是在某种具有属性的对象层次结构中转换 AST(例如,包含索引属性方法的接口对象,其中包含方法描述对象。主字符串模板然后被提供根对象并将属性插入到正确的位置或将它们传递给子模板。

现在我的问题是:如何编写一个需要调用未定义次数的字符串模板/属性?示例:一个接口包含许多方法。这意味着,方法的子模板需要多次调用,每次使用不同的属性。我怎样才能把它写成字符串模板和索引属性的组合?

感谢您的帮助托比亚斯

0 投票
1 回答
1095 浏览

java - 使用 StringTemplate 呈现列表列表

请帮助我使用 StringTemplate 呈现以下 Java 结构:

输出应如下所示(其中 ListXStringY 是位置 X、Y 中包含的字符串):

  • 列表 1 字符串 1,列表 1 字符串 2,...
  • 列表 2 字符串 1,列表 2 字符串 2,列表 2 字符串 3,...
  • ...
  • 列表NString1,...

不同二级列表中的字符串数量可能会有所不同。谢谢!

0 投票
2 回答
2757 浏览

python - 在哪里获得 Python ANTLR 包以使用 StringTemplate?

我想做一些代码生成,而 StringTemplate 看起来是一个很好的工具。我从 PyPi 轻松安装了 stringtemplate3,但是当我尝试导入它时,我得到:

我对此感到困惑,因为我认为 ANTLR 依赖于 StringTemplate (如网站所述),而不是相反。无论如何,我找不到正确的包来解决这个问题。安装antlr_python_runtime没有帮助。

有什么提示吗?

0 投票
1 回答
1059 浏览

c# - 将数据集动态映射到 StringTemplate

我在 Windows 服务通知项目 (.NET 4.0) 中使用StringTemplate 。我的目标是读入和处理定义查询和字符串模板的 XML 文件。然后,该类将 DataTable 中的结果绑定到电子邮件模板中。下面是一个 XML 片段和 LINQ 语句以及用于执行绑定的 C#。

问题是上面的 C# 是静态的,我想让它变成动态的。那如果我需要在 XML 查询元素中添加另一个字段和相应的模板字段怎么办?

DataTable 包含新列,但我的 LINQ 语句和绑定代码不包含。我的问题是我可以采用什么策略来动态地从 DataTable 获取数据并将其绑定到我的字符串模板?注意我目前正在使用 LINQ,但解决方案不是必须的。

0 投票
1 回答
342 浏览

c# - 字符串模板 - 从文件读取/从字符串读取时结果不同

上面的结果是我期待的$it:bold():italics()$<i><b>name</b></i>

但是当从文件中读取模板时,它会按预期工作。

输出符合预期<i><b>name</b></i>

为什么它在第一种情况下不起作用?我错过了什么吗?

0 投票
1 回答
875 浏览

java - stringtemplate:使用预选生成 html 选择的问题

我正在尝试生成一个预选了一个选项的 html 选择元素。我想不出用字符串模板来做到这一点的方法。

如果 user.choice 设置为“B”,那么我想打印一个预选选项 B 的 html 选择元素。

在打印模板时应生成:

有人可以告诉我如何编写模板来执行此操作。选择的数量(A,B...)是固定的(在编写模板时已知)。

在为网站生成 html 页面时,这是一个非常常见的要求。但是在 stringtemplate 中似乎没有像传递值的比较操作那样可用。我错过了一些明显的东西吗?

我正在使用字符串模板组 (.stg) 文件,因此具有引用其他模板的模板的解决方案很好。在 java 中使用 stringtemplate 3.2.1。使用 "$" 分隔符而不是现在默认的 "<>" 来简化 html 生成。

0 投票
1 回答
1521 浏览

java - StringTemplate 格式化列表中的最后一项

我正在使用 StringTemplate 生成源代码,我需要呈现一个语句列表,我希望除最后一个以外的所有语句都用“;\n”分隔,但将最后一个语句格式化为“返回项;\n”我可以实现吗在模板中还是我必须手动进行一些预处理?

目前我正在使用上述内容。