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 内部のみを使用したい。
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 内部のみを使用したい。
これがあなたが探しているものだと思います:
define <dump'action> "dump <exp>" as {
out("<exp>","=[",<exp>,"]");
};
このマクロは、specman コマンド ラインまたは関数内で使用できます。次に例を示します。
foo() is {
var a : int = 5;
dump a;
};
あげる:
a=[5]
変数の文字列名を取得できません。を使用してフィールドの名前を取得できますがget_name()
。
変数は宣言された場所でのみ認識されるため、これにはある程度の意味があります。の後の拡張では、変数にアクセスすることさえできませんmy_task()
。したがって、変数が宣言された場所でコードを既に編集している場合は、."my_var"
ではなくmy_var.to_name()
. (はい、タイプミスやカット アンド ペースト エラーが発生する可能性があります。)