OpenBoot 3.x コマンド・リファレンスマニュアル

Forth 言語逆コンパイラの使用方法

組み込み Forth 言語逆コンパイラを使用して、どのような定義済み Forth ワードのソースコードでも表示できます。


ok see old-name

このコマンドは、old-name のソースの (ソースコメントなしの) リストを表示します。

see(see) と対をなしています。つまり、(see) の機能は Forth ワードの逆コンパイルを行い、その実行トークンはスタックから取り出されます。次の例を参照してください。


ok ' old-name (see)

(see)see と同じ書式のリストを生成します。


ok see see
: see   
   " ["] (see) catch if    
      drop 
   then  
; 
ok see (see)
defer (see) is 
: (f0018a44)   
   40 rmargin ! dup dup (f00189c4) dup (f0018944) (f0018980) (f0018658) 
   ??cr 
; 
ok f0018a44 (see)
: (f0018a44)   
   40 rmargin ! dup dup (f00189c4) dup (f0018944) (f0018980) (f0018658) 
   ??cr 
; 

上記のリストは、次のことを示しています。

Forth アセンブラ言語に実装されているワードについては、see は Forth アセンブラのリストを表示します。たとえば、dup を逆コンパイルすると、次のように表示されます。


ok see dup
code dup 
f0008c98     sub         %g7, 8, %g7
f0008c9c     stx         %g4, [%g0 + %g7]
f0008ca0     ld          [%g5], %l0
f0008ca4     jmp         %l0, %g2, %g0
f0008ca8     add         %g5, 4, %g5