我需要编写一个算法,该算法将逻辑表达式作为输入,组合其运算符并返回子表达式。
我需要的一些例子:
foo - > [ “foo” 的]
foo bar - > [“foo bar”]
foo bar OR baz - > [“foo bar”,“baz”]
foo bar(baz OR zim)或zum - > [“foo bar baz”,“foo bar zim”,“zum”]
foo bar(“baz bets”或zim)或zum - > [“foo bar baz bets”,“foo bar zim”,“zum”]
(foo OR bar)(baz OR zim) - > [“foo baz”,“foo zim”,“bar baz”,“bar zim”]
我已经为逻辑表达式提供了词法和语法分析器(使用JISON来定义语法并生成解析器)。 关于如何做的任何想法?