各基本クラスから派生したクラスを調査
Fri Feb 27 11:21:37 JST 2015 (modified: Tue Sep 19 21:55:56 JST 2017)
views: 1628, keywords:クラス,プログラミング,C++,C/C++,シェル芸 この記事は最終更新日が7年以上前のものです。
シェル芸でC++のクラスの関係を調べる
今日発表のスライドを作っており、調査のため。面白いのでメモ。
Gitのリポジトリの https://github.com/ryuichiueda/GlueLang/tree/master/SRC に相当するディレクトリでシェル芸をしています。
基本クラスの抽出
uedambp:SRC ueda$ grep -h class *.h | grep -v ';' |
grep -v '{' | awk 'NF==2'
class Data
class Element
class Environment
class Feeder
uedambp:SRC ueda$ grep -h class *.h | grep -v ';' |
grep -v '{' | awk 'NF==5{print $NF,$2}' | sort
Arg ArgExtCom
Arg ArgIntCom
Arg ArgProc
Arg ArgVariable
Arg ArrayVariable
Arg Literal
Data DataFile
Data DataJob
Data DataProc
Data DataStr
...
Tukubaiのコマンドを使うとこんなリストもできる。
uedambp:SRC ueda$ grep -h class *.h | grep -v ';' | grep -v '{' | awk 'NF==5{print $NF,$2}' | sort | yarr num=1 | sed 's/ /:/'
Arg:ArgExtCom ArgIntCom ArgProc ArgVariable ArrayVariable Literal
Data:DataFile DataJob DataProc DataStr
Element:Arg DefCond DefFile DefProc DefStr Exe IfBlock Import Job Pipeline Script Where
Exe:ExeEachline ExeExtCom ExeIntCom ExeProc ExeString
ただし、複数のクラスを継承しているとやり方を変えないといかん。
パワポ書きに戻る。