昨日は準備の日だったのですが、さぼったので、あまり進まず... いや、だから、
* packageを落とすと、LLVM compilerのlldbによるtraceができる
というようにして欲しいんですが。で、今日の10時から、
* LLVM/clang compileして、そこからバイナリとソースを抜き出して、tgzに固める
ってのを学生の前で。
find ../../CbC/ -name '*.cpp' -o -name '*.h' | grep -v '/test' | grep -v 'unittest'| sed -e 's-../../CbC//--' | sed -e 's-.*-ln ../../CbC/& &-'
とかしながら。でも、
* lldb でソースコードを表示できない
なんでだ。package前ではできるのに! 仕方がないので、
* 全部コピーして、徐々に消してく
という方法で。で、わかったのですが、
* binary ではなく、.oと.aにdebug情報があるので、それがないとだめ
らしい。おいおい。それ入れるとかなりでかいんですが。というわけで、めでたく package は完成。
それを使って、午後は Tokenizer, Parser と無事に読み進む...
のだが、C++ だからな〜 それでも、
* Token は、ちゃんと enum になってるので変換の必要はない
* Parse Tree はPointer tagではなく smart pointerになっているらしい。
らしく、少しは読みやすかったかも。一応、触っている学生がいるので、スムースには進むのですが、
* 自分的には、その場で探していくようなのが面白い
いや、今日の午前中は、lldbのsource codeを見る場所を探して行き詰まって面白かったんですけどね。
結局、lldb の
settings set target.source-map source dst
が動かず、
元の soruce code directoryに無理やり symbolic link
すると動くみたいです。
http://www.cr.ie.u-ryukyu.ac.jp/~game/pukiwiki/index.php?LLVM
No comments:
Post a Comment