2010/10/16(Sat)
○[pcc] ホンヤクノツヅキヲスルノデス
その3ですお。
今回もこれまでに増して手抜きなので苦情は(ry
単項式ノード。これらのノードはみな n_left ポインタを持ちこれにはツリーがぶら下がります COMPL 左辺ノードをビット単位で補数です。 (*1) UMUL 間接参照をします; C言語の * オペレータです。 UMINUS 左辺ノードの否定です。(*2) FLD ビットフィールドを参照するツリーです。 n_rval - PKFIELD() でサイズとオフセットの情報を詰め込みます。 取り出すには UPKFSZ/UPKFOFF です。 SCONV スカラ(*3)変換; スカラ型へキャストします。 PCONV ポインタ変換; ポインタ型へキャストします。 UCALL 関数呼出で引数なしです。関数のアドレスは左辺ツリーです。 UFORTCALL フォートランの関数呼出です(引数なし)。 USTCALL 関数呼出で、構造体を戻り値(*4)として返し引数はありません。 n_stsize (2) - 構造体のサイズ n_stalign (2) - 構造体のアライメント STARG 関数の引数は構造体です。 n_stsize (2) - 構造体のサイズ n_stalign (2) - 構造体のアライメント FORCE 戻り値をレジスタにあわせます、通常はすでに clocal() の中で実施済みです。 GOTO ラベルに跳びます。左辺ノードは数値定数です。 FUNARG 関数で引数は構造体以外の何かです。 ADDROF ある要素のアドレスです、これはC言語の & オペレータと同じです。 訳注: *1 … C の ~ です *2 … C の ! です *3 … あなた疲れてるのよ *4 … 今夜も夕食は戻りカツオでした、毎週末食ってる気がする。
今日はこれだけ!