将逻辑转换为 Kotlin(或 Java)代码
Translating logic into Kotlin (or Java) code
我有一个用例,我想让用户编写简单的逻辑,然后在幕后将此逻辑转换为代码中的条件。
例如,用户可能会写:
someFieldName > 10 AND otherFieldName is NULL
我希望生成以下代码:
if (data["someFieldName"] > 10 && data["otherFieldName"] == null) {
// Do something
}
经过一些研究,我发现其中一个选项是使用 eval(通过利用 JS 引擎),尽管它并不适合所有用例。
我还看到可以使用像 ANTLR 这样的工具,这似乎有点矫枉过正。
是否有任何简单的现成产品可用于此类目的?还是我们自己创建一个简单的解析器是处理它的最佳方式?
我有一个用例,我想让用户编写简单的逻辑,然后在幕后将此逻辑转换为代码中的条件。
例如,用户可能会写:
someFieldName > 10 AND otherFieldName is NULL
我希望生成以下代码:
if (data["someFieldName"] > 10 && data["otherFieldName"] == null) {
// Do something
}
经过一些研究,我发现其中一个选项是使用 eval(通过利用 JS 引擎),尽管它并不适合所有用例。 我还看到可以使用像 ANTLR 这样的工具,这似乎有点矫枉过正。
是否有任何简单的现成产品可用于此类目的?还是我们自己创建一个简单的解析器是处理它的最佳方式?