FANDOM


gcc の,-fdump-tree-original-raw というオプションを使うと,構文解析後の (最適化してない) 構文木をそのままダンプすることができます.

3.9 Options for Debugging Your Program or GCC

例えば,

   $ cat test.c
int main() {
return 0;
}

という超トリビアルなプログラムをコンパイルしてみると.

   $ gcc -fdump-tree-original-raw test.c
$ cat test.c.t02.original
 ;; Function main (main)
 ;; enabled by -tree-original
@1 bind_expr type: @2 body: @3
@2 void_type name: @4 algn: 8
@3 return_expr type: @2
@4 type_decl name: @5 type: @2 srcp: <built-in>:0
@5 identifier_node strg: void lngt: 4

というグラフが得られます.ちょっとわかりにくいですが.

xml で tree を dump しようという試みもあったみたいですが,今はリンク切れみたいですね.

XML tree dumps

ちなみに,gcc の C/Objective-C のパーサは,4.x から手書きになったので,yacc/lex ファイルなどは今はもう無いです.

テキトーに,Tree を視覚化する awk スクリプトを書いてみました.
ホワット・ア・ワンダフル・ワールド 俺のバカバカバカバカバカ
(なぜ今時 awk ? とかは,聞かないでください・・・ いや,GCC だって,awk をたくさん使ってるじゃないですか !(笑))

広告ブロッカーが検出されました。


広告収入で運営されている無料サイトWikiaでは、このたび広告ブロッカーをご利用の方向けの変更が加わりました。

広告ブロッカーが改変されている場合、Wikiaにアクセスしていただくことができなくなっています。カスタム広告ブロッカーを解除してご利用ください。

FANDOMでも見てみる

おまかせWiki