トークン単位のあいまい文検索
return ... unless ???; というクエリを投げたら、後置unlessでなにか値を返してる文をgrepできる ... には0個以上のトークンが入る
??? には1個以上のトークンが入る
この例だと return unless $a とかも引っかかる
空白文字は無視する
grep -E 'return\s*.*\s*unless\s*.+;' みたいな正規表現では難しい grepは行単位なので、複数行にわたる文を抽出できない
凝った正規表現にしないと、ぜんぜん関係ない文が出てきてしまう
alphanum, 空白文字, 記号 ぐらいにトークンを分けて字句解析だけできたら、プログラミング言語によらず使える汎用トークン検索グッズになるのではないか
と思ったけど、どこまでが1つの文なのかを判定する汎用的な手段がほしくなって難しそう
Perlは変数名に $ が付く、みたいなのもあってぜんぶ網羅するのはたいへんそう