问题:
- 我希望用户能够在文本编辑器中以简单的语法编写条件,例如:A?outcome1:(B?outcome2:outcome3)
A 和 B 是布尔条件。所以上面这句话的意思是:如果 A 为真,则结果 1,否则如果 B 为真,则结果 2,否则为结果 3。
在 Java 中,我实现了这种语法的解释器,以便 A、B、outcome1、outcome2、outcome3 被翻译成预先存储在某处的值(A 和 B 将是返回布尔值的函数,结果将是对象),并且评估条件并返回结果。
我的问题是,我在这里重新发明轮子吗?是否有 Java 包或库已经提供了“[受约束的] 自然语言解释为 Java 代码”类型的函数的简洁实现?
谢谢!