提问人:User1512 提问时间:9/13/2023 最后编辑:Bart KiersUser1512 更新时间:9/14/2023 访问量:35
ANTLR 在 Java 中动态评估逻辑运算 AND, OR, NOT
ANTLR Evaluating Logical Operations AND, OR, NOT dynamically in Java
问:
我需要使用 Java 代码为输入数据 (Map) 执行动态表达式。例如
条件-
EmployeeShift = 'General' AND (EmployeeType = 'CONTRACT' OR Designation IN 'ADMIN')
这个表达式将作为字符串变量传递,有了这个,我必须评估我在运行时出现的输入数据。所以我正在寻找一个解析器来解析条件。
使用 @TagirValeev from - stackoverflow 的帖子的答案,我能够解析 AND、OR 操作。但我不确定如何将其扩展为 NOT 操作。我希望像下面这样工作,其中表达式检查 EmployeeType 和 Designation 的组合 NOT 操作,而不是检查每个变量。
EmployeeShift = 'General' AND NOT(EmployeeType = 'CONTRACT' OR Designation IN 'ADMIN')
if(EmployeeShift = 'General' && !(EmployeeType = 'CONTRACT' || Designation IN 'ADMIN'))
我尝试从本机 Java 代码中检查,但没有一个有效,所以决定使用 ANTLR,如果有人可以帮助我提供上述条件的一些示例,它将有很大帮助。提前致谢。
答: 暂无答案
评论