我正在尝试解析嵌套的布尔表达式并分别获取表达式中的各个条件.例如,如果输入字符串是:
(A = a OR B = b OR C = c AND((D = d AND E = e)OR(F = f AND G = g)))
我想以正确的顺序获得条件.即
D = d AND E = e OR F = f AND G = g AND A = a OR B = b OR C = c
我正在使用ANTLR 4来解析输入文本,这是我的语法:
grammar SimpleBoolean;
rule_set : nestedCondition* EOF;
AND : 'AND' ;
OR : 'OR' ;
NOT : 'NOT';
TRUE : 'TRUE' ;
FALSE : 'FALSE' ; …
Run Code Online (Sandbox Code Playgroud)