Prolog でツリーを操作しています。ツリー ノードは、Left-NodeValue-Rightまたはnilの形式をとる項を使用して表されます。優先順位を強制するために、丸括弧が使用されます。木 (nil-5+nil)-3+nil と nil-5+(nil-3+nil) は明らかに異なるため、丸括弧が重要であることに注意してください。私の質問は次のとおりです。ブラケットをどのように処理しますか?
私が試した解決策の 1 つは、concat_atom(+List,-Atom) を使用することでした。しかし、式 [(,nil,)] は明らかにエラーとなり、['(',nil,')'] は (nil) ではなくアトム '(nil)' を生成します。
助言がありますか?ありがとう!