stringtemplate-4

    1热度

    1回答

    我想将几个模板文件放在名为“模板”的目录中,相对于我的应用程序的可执行文件,并使用它们。例如,一个模板文件被命名为“Globals.st”。 这样的话,我创建了一个TemplateGroupDirectory并加载模板: var group = new TemplateGroupDirectory("Templates"); var tmpl = group.GetInstanceOf("Glo

    3热度

    1回答

    在StringTemplate的4,迭代的默认行为是遍历keys代替values,这是在版本的行为3. 我找不到如何通过keys和迭代的语法values版本4. 有人可以发布一个语法的例子吗?

    1热度

    1回答

    构建AST我正在开发一个编译器和已经实施的词法,语法分析器和语义分析(使用听众和观众)使用ANTLR4。对于代码生成,我计划使用StringTemplate(ST)生成LLVM IR。 要做到这一点,我想先构建一个AST,然后生成代码。 我的问题在这里,我需要构建AST?或者我可以使用Parse Tree? 如果我需要使用AST,我无法找到使用访问者或侦听器手动构建AST的任何示例。即使是一个小文

    1热度

    1回答

    我需要创建一个以逗号分隔的项目列表: $ subjects:{sub | $ sub.Name $} separator =“,”$ 这似乎不起作用。什么是使用分隔符的正确方法? 有没有其他的方法来创建一个逗号分隔的项目列表?

    0热度

    1回答

    我有这样的事情: properties(attributeInfo) ::= << private <attributeInfo:parameters()>; >> parameters(attributeInfo) ::= << <if(attributeInfo.struct||attributeInfo.array)><attributeInfo:paramComposite()

    1热度

    1回答

    空字符串请看下面的例子: <["foo", "", "bar"]; separator=","> 这给出结果: foo,,bar 但我需要: foo,bar 有什么办法来筛选在使用ST4中的分隔符格式化之前取出空字符串值? (在实际代码中,这些值来自另一个模板,它具有<if>条件,并返回模型中不希望的数据的空结果,并且我不希望将条件移出该模板以保持模板封装/隔离。 )

    0热度

    1回答

    所以我有一个迭代,像这样的列表: body(foo) ::= "<foo:{it|<\n><\n><bar(it)>}>" bar(x) ::= "[<x.key>:<x.value>]" 我想使用索引。 bar(x) ::= "[<i0>:<x.key>:x.value>]" 我看到有一个<i>和<i0>指数的道理,但我不知道如何使用它,或者它可以用来做我想做的事情。

    2热度

    1回答

    如何从StringTemplate中以String形式检索编译时错误消息? 比如这个代码: STGroup stg = new STGroup('<', '>'); CompiledST compiledTemplate = stg.defineTemplate("receipt", "<an invalid template<>"); if (compiledTemplate == null

    0热度

    1回答

    分析树上下文节点的生成访问器不符合getProperty()/ isProperty()/ hasProperty()标准。因此,ST不能直接应用于分析树。似乎有3种替代方法将ST应用于生成的分析树: 为每个生成的上下文节点创建ST模型适配器类。然后ST可以直接应用于生成的分析树。 这里重复的工作是创建模型适配器。 对于每个分析树节点,创建一个符合getProperty()/ isProperty

    2热度

    1回答

    我在Java中使用StringTemplate 4.0.8。 在StringTemplate-4 documentation,它说, 字典的字符串也可以是可以参考的属性 一旦 字典值已经嵌入在模板中,这将成为通过属性的动态作用域可见模板。 我到底该怎么做?我可以做这样的事情: output(input) ::= "The output is: <aDicitionary.input>" aDi