2011-06-24 18 views
0

、それがあったであろう計算されたマクロだった場合、私は、たとえば、ループでインスタンスを定義するマクロ(計算されていない)を記述しようとしています:specman電子マクロループ

define <def_struct'statement> "def_struct <str_name'name> <number'num> to <other'name>" as computed { 

     result.add(appendf("extend %s { ", <other'name>)); 
       for i from 0 to <number'num> do { 
        result.add(appendf("%s_%d : %s;", <str_name'name> ,i,<str_name'name>)); 
       }; 
      result.add("};"); } 

それを行うことが可能です計算されたマクロではないマクロと同じですか?

私はおそらくあなたが同じクラスのインスタンスの束を作成している、構文と間違って何かを持っていますが、アイデアを見て...あなたのcomputed as例で

答えて

0

。なぜ構造体のリストをインスタンス化しないのですか?あなたは、あなたのような指標に基づいて、リストの各項目を制約することができますする必要がある場合は

myStructs : list of MyStruct_s; 

keep for each (s) using index (i) in myStructs { 
    i==0 => s.fooBar == BAZ; 
    s.name == appendf("this is struct %d",i); 
}; 
+0

履歴理由、私は恥のためのインタフェース – shd

+0

を破ることができない、このようにそれを維持する必要があります。を掘る。私はそれを「計算された」方法で行うしかありません。 –