C言語は標準関数で、パターンマッチングできないので、テキスト処理に不向きと考えがちです。
C言語のライブラリは文字操作の関数もあり、テキスト処理に威力を発揮すると自分では思っています。
C言語ソースファイルにある関数のトレースを行う処理を作成していました。
例えば、moji_syori.c に moji_func があると、そこから呼び出し元まで辿って、どの関数から呼ばれているかトレースする。
呼び出し元を探すまでトレースするイメージ。
sourcexx.c moto_func → sourcexx.c moto_func → ・・・・ → moji_syori.c moji_func
いくつかシリーズとして造っていたけど、ソースファイルを紛失しています。作成中のが残っていました。作りかけでソースファイルが判りにくいけど雰囲気は伝わると思います。
ノートのメモをみると5つはあったようですが、ソースコード内容はすっかり忘れています。
この内、gureru.c(作成中)だけがありました。
gureru.c C言語関数トレース
gureta.c C++クラステーブル化
guru.c テンポラリファイル削除
gureo.c 再帰トレース(何の再帰か不明)
gureko.c ヘッダファイルサーチ
以下の gureta.c は試作としてコーディングしてみたものです。