1

Specmanで次のことをしたい:

my_task() is {
   var my_var : int;
   my_var = 5;

   message(LOW,appendf("%s=[%d]",my_var.to_name(),my_var));

};

現在、私は内部タスクを探していますto_name()。このための構造体を作成したくありません。Specman 内部のみを使用したい。

4

3 に答える 3

0

これがあなたが探しているものだと思います:

define <dump'action> "dump <exp>" as {
    out("<exp>","=[",<exp>,"]");
};

このマクロは、specman コマンド ラインまたは関数内で使用できます。次に例を示します。

foo() is {
    var a : int = 5;
    dump a;
};

あげる:

a=[5]
于 2012-07-02T16:46:27.817 に答える
0

変数の文字列名を取得できません。を使用してフィールドの名前を取得できますがget_name()

変数は宣言された場所でのみ認識されるため、これにはある程度の意味があります。の後の拡張では、変数にアクセスすることさえできませんmy_task()。したがって、変数が宣言された場所でコードを既に編集している場合は、."my_var"ではなくmy_var.to_name(). (はい、タイプミスやカット アンド ペースト エラーが発生する可能性があります。)

于 2012-05-12T20:38:41.743 に答える