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