问题标签 [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.
translation - ANTLR + StringTemplate - 创建 JavaLike 语言并将其翻译成 PLSql、C 和 C++
您好我正在尝试实现翻译。由于它变得越来越复杂,我将尝试更好地解释我想要实现的内容。
我需要指定一种新的类似 java 的语言。这种语言必须实现 java 方法的所有结构:变量声明、表达式、条件表达式、括号表达式等......该语言将使用向量、常量和布尔值。它具有不同的功能:log、avg、sqrt 以及 sum、diff、shift 等。这种语言必须翻译成plsql和其他语言。因此,定义的方法将成为 StoredProcedure 或 c++ 函数或其他任何东西。我还需要考虑数学约束,例如运算符的优先级(+、-、*、/、<<、>> 等等......)。
我已经得到这个提示:Decompose expression in base operation: ANTLR + StringTemplate
我需要知道完成任务的最佳解决方案。我想我必须以流水线方式使用您的所有解决方案,但我不想对解决方案使用试错法。
我尝试了不同的(分离的)解决方案,但把所有的东西放在一起对我来说很难。
我的最后一个问题是将向量和常量之间的表达式以及向量和向量之间的表达式分开。事实上,使用 plsql 我有不同的功能来处理这些情况。即表达式 vactor1+5(或 5+vector1)必须翻译为 PKG_FUN.constant_sum(cursor1, 5) 而不是 vector1+vector2 必须翻译为 PKG_FUN.vector_sum(vector1, vector2)。此外,我可以拥有产生向量的函数或表达式,以及产生常量的其他函数或表达式,这在分析表达式时必须考虑(即向量 a = vector1 +((5+var2)*ln(vector2)*2)^2)。
这种语言的一个例子可以是:
我应该把它翻译成 plsql、c 或 c++ 或其他语言。
任何帮助,将不胜感激。
java - StringTemplate 4 空指针异常
我有 NullPointerException
和控制台日志:“模板 11:82: '(' 对我来说完全是一个惊喜”对于我的模板:
>>
我想,'for-statement' 有问题,因为在它被删除后,一切正常。
更新:在文档中找到解决方案 - http://www.antlr.org/wiki/display/ST4/StringTemplate+cheat+sheet http://www.antlr.org/wiki/display/ST/How+to+Allow+双+角+括号+as+a+字符串
我应该使用 '\<' 来防止 '<' 启动属性表达式
java - 确保在 StringTemplate 中转义 HTML 实体的最佳方法是什么
假设下面的字符串模板,给出了一个 Java Bean 对象列表:
即人员列表可能包含Person
您可能具有或不具有增强/扩展能力的对象:
getName()
andgetEmail()
方法不会返回已清理的(转义的 html 实体)。你如何解决这个问题?
import - StringTemplate:如何从 jar 中导入?
我有一个案例,我从 jar 中包含的文件加载字符串模板组。使用以下机制可以正常工作:
当模板文件包含一个
字符串模板失败并显示以下内容:
是否可以使用 jar 进行设置以便导入工作?当不涉及 jar 时,上述方法可以正常工作。
java - 如何转义 StringTemplate 模板?
我正在尝试处理模板(见下文),并且在 Eclipse 控制台中收到各种消息。
我已经搜索了网络,但无法真正找到我正在寻找的东西。我记得在这里看到过有关此主题的内容,但当时我没有将其添加为书签,并且无法再次找到它!:/
你能帮忙吗?谢谢
附言。我正在尝试使用 StringTemplate 构建电子邮件。并使用 HTML 标签为我们的客户“更容易阅读”。
用于加载我的模板的 java 代码
我的模板
这是我收到的关于模板的错误消息
java - 如何使用 Stringtemplate 4.x 直接写入 OutputStream?
我不想从我的一些模板中调用.render()
和构建非常大Strings
的模板。在以前的版本中,您可以OutputStream
直接写入 a 而不必将整个模板渲染到 aString
然后将其写出来。
我尝试使用ST.write()
一个实例,NoIndentWriter
但没有产生输出。
您如何OutputStream
使用最新版本直接写入Stringtemplate
?
antlr - ANTLR - StringTemplate - CamelCase
在树转换中将 antlr 令牌转换为骆驼大小写 StringTemplate 属性的最佳模式(独立于语言,用于可重定向的生成代码)是什么?示例:我的 DSL 有 MY_FIELD 定义,在 StringTemplate 输出中我需要 myField。
stringtemplate-4 - 我在 v4 中找不到 v3 API setAttributes(Object)
v4 提供了一个 API:ST.add(String, Object)。我在 v4 中找不到 v3 API setAttributes(Object)。
我使用了 ST.add("root", JSONObject)。出现异常:
java - StringTemplate 没有找到 getter
我正在使用 ST-4.0.7.jar,我的模板如下所示:
但是,当我查看我的输出文件时,我得到了
在 BTResult 中:
在代码行中:
在方法中:
我在 getMethod 方法的代码行对象中设置了一个断点,它从未被调用过。所以我得出结论,不知何故 stringtemplate 在解析正确的 getter 时存在问题。
我添加了一个 STErrorListener 发现 ST 抛出以下错误:
对此我特别困惑的是:当模板说它应该得到 btresult 时,为什么它会尝试解析为 BTReult.method。代码行.method.name?
string - 在 StringTemplate 中获取字符串值的长度
根据文档,您可以引用<object.property>
格式中对象的属性。我希望这能让我检查字符串的长度,但它似乎不起作用。我认为这是因为该方法是String.length()
,并且根据文档,如果我执行类似的操作<mystr.length>
,它将查找一个名为的方法getLength()
和一个名为的字段length
,但它从不查找一个名为的方法length()
。我在 Scala REPL 中通过这个快速检查进行了验证:
因此,如果 Strings 有一个getLength()
方法或一个length
字段,它就会起作用......
有没有更简单的方法来获取字符串长度?也许是内置的 StringTemplate 函数,或者我不知道的其他方法?