我有一段文字如下
foo
and foo2
and bar
or something
and somethingElse
or somethingElse2
or somethingElse3
and baz
or godknows
or godknows2
这应该解释为:
(
foo
&& foo2
&& (bar || (something && (somethingElse || somethingElse2 || somethingElse 3)))
&& (baz || godknows || godknows2)
)
目前我正在逐行阅读。我知道我需要测量缩进并解析下一行的表达式,以便找出当前行也属于的表达式,但是我无法弄清楚如何在不消耗下一行的情况下有效地做到这一点.
这似乎是一种具有递归解决方案的问题,但它正在逃避我。
输入格式不固定,我只是希望能够将一个相对可读的表达式变成一个布尔树,所以如果你能用更合适的格式回答,仍然可读,请做:)