0

ieの形式で論理式を取得したとしましょう。AvBv~C->D. ブール要素と(v,~,->)(論理和、否定、含意) などの演算子で構成されます。これらの式と、それらを構成する各要素を保存する必要があります。また、各要素には説明が必要なので、それらを表すクラスを作成する必要があると思います(フィールドrepresentationdescriptionieを使用しますが、これがpythonicの方法であるかどうかはわかりません。名前と説明を列として持つ2D配列かもしれませんelement1.representation="A")element1.description="This is element A"名前はすべて一意であるため、より良いアイデアです。

  1. このような式を格納するには、どのデータ構造を使用すればよいですか? 異なる型の要素と演算子を格納し、それらを論理式として復元し、それらに対して操作を実行できるようにする必要があるという事実に注意してください。
  2. 論理演算を処理するために、各要素と演算子を認識するメソッドを作成する必要がありますか、それともより良いアプローチがありますか? おそらく、Lex-Yacc のようなパーサーや、それらを扱う他のライブラリを使用するのでしょうか?

あまり明確でない場合はご容赦ください。ただし、同じデータ構造に異なるタイプの要素を格納できない Java から来ています。

4

2 に答える 2