次のようなテキストがあります
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)
)
現在、一行ずつ読んでいます。現在の行が属する式を把握するために、インデントを測定して次の行の式を解析する必要があることはわかっていますが、次の行も消費せずにそれを便利に行う方法を理解するのに苦労しています.
再帰的な解決策を持つような問題のように思えますが、それは私を逃れています。
入力形式は固定されていません。比較的読みやすい式をブール値のツリーに変換できるようにしたいだけなので、まだ読みやすいより適切な形式で答えることができる場合は、そうしてください:)