解析のためにpython pyparsingを試しています。再帰パーサーの作成中に行き詰まりました。
問題を説明しましょう
要素のデカルト積を作りたいです。構文は次のとおりです。
cross({elements },{element})
より具体的に言います
cross({a},{c1}) or cross({a,b},{c1}) or cross({a,b,c,d},{c1}) or
したがって、一般的な形式は、最初のグループには n 個の要素 (a、b、c、d) があります。2 番目のグループには 1 つの要素が含まれるため、最終的な出力はデカルト積になります。
次のように n レベルに進むことができるため、構文を再帰的にする必要があります。
cross(cross({a,b},{c1}),{c2})
これは、a,b を c1 と交差させることを意味します。結果を y としましょう。y と c2 を再び交差させます。
これは n レベルまで可能です cross(cross(cross(cross......
私が欲しいのは、 setparseAction を使用してオブジェクトを初期化することです
だから私は2クラスを持っています
class object1(object):
This will be used by a,b,c,d
class object2(object):
This will hold cross elements
これについて助けが必要です。再帰パーサーを作成できません。