Solaris モジューラデバッガ

構文

MDB 言語は adb(1) 言語と同じ構文を厳守することによって、従来のマクロやスクリプトファイルにも互換性を提供します。新しい MDB の dcmd は、拡張形式の ::name を使用することによって、: または $ の接頭辞付きの従来のコマンドと区別されます。dcmd 名の右側にある式も、ドル記号の接頭辞付きの各括弧 ($[ ]) で式を囲めば評価できます。adb(1) と同様に、感嘆符 (!) で始まる入力行は、コマンド行がユーザーのシェルで実行されることを示します。MDB では、デバッガコマンドの接尾辞として感嘆符を付けると、その出力が感嘆符の後ろにあるシェルコマンドにパイプで渡されることを示します。

adbでは、2 項演算子は左結合で、単項演算子よりも優先順位は低くなります。入力行の 2 項演算子は厳密な左から右の順番で評価されます。MDB では、2 項演算子は左結合で、単項演算子よりも優先順位は低くなりますが、2 項演算子は 「2 項演算子」の表の優先順位に従って動作します。演算子は ANSI C の優先順位に準拠します。あいまいな式を明示的に括弧で囲んでいない従来の adb(1) マクロファイルを MDB で使用するには、そのファイルを更新する必要がある可能性があります。たとえば、adb では、次のコマンドは整数値 9 に評価されます。


$ echo "4-1*3=X" | adb
        9

MDB では、ANSI C と同様に、演算子「*」は「-」よりも優先順位が高いので、結果は整数値 1 になります。


$ echo "4-1*3=X" | mdb
        1