質問:
すべてのファイルに散在している次のコードチャンクを含むいくつかの大きなファイルがあります。
type Query {
...
}
extend type Query {
...
}
extend type Query {
...
}
Query
すべてのファイルを解析し、そのチャンクを抽出して1つのファイルにマージしたいと思います。チャンク間のコード数と行数はファイルごとにQuery
異なります。そして、ブロックの前/後に他のブロックがあるかもしれませんQuery
。すべてのブロックが使用されます{}
。
単純な正規表現は、閉じる中括弧をスキップしてファイル全体を一致させることができるので、機能しないことを知っています。
ファイルを1行ずつ読み取るプログラムを書くことに加えて、この問題を解決する他のUNIX-y方法はありますか?私の考えでは、私がしたいのは「構造一致」ですが、これはCFG(Context Free Grammar)構文解析のようなものを意味し、おそらくYACCのようなものに信号を送ることです。より簡単な解決策があるのか、進行方法があるのかはわかりません。