親愛なる StackOverflow :)
特定の方法でツリー構造を他のツリー構造にマップする、一種のパターン マッチング ルーチンを実装しようとしています。残念ながら、ルーチンは非常に柔軟でなければならないため、この操作は非常に簡単ではありません。
この大量の作業を順次処理できる小さな部分に直感的に分割することはできますが、記述したコードに構造を組み込むのに苦労しています。これらのサブタスクには非常に強い相互依存性があるため、大きな関数を小さな関数に分割すると、物事を正しく行うために非常に多くの状態情報が必要になります。これにより、多くの余分なコードが追加され、監視が難しくなります。また、残念ながら、コンパイラの最適化が低下する可能性があります。
ただし、すべてを単一の大きな関数に実装することを選択した場合、「プログラムフロー」に問題があります-多くのgotoステートメントを使用する必要があります(よりきれいなものにマスクできますが、問題はまだ残っています) .
一般的に、このような「大きな」問題にどのように対処しますか? 何を調べることができるかについてのヒントを教えてもらえますか?