セクション: マクロモジュール
このセクションでは、マクロ モジュールのパラメータについて説明します。このセクションは、マクロ モジュールを作成すると自動的に作成されます。セクションをモジュール宣言に手動で挿入したり、自動的に作成されたセクションを編集したりすることもできます。
SEC MacroModule                                              //optional: yes, modifier: None
    SEC Rootmodule : <identifier>                            //optional: no, modifier: None
            SEC MacroParameter : <identifier>                    //optional: yes, modifier: None
                    Local_ParameterID := <parameter ID>;             //optional: no, type: ID
                    New_Name := <parameter name>;                    //optional: no, type: text
                    New_Desc := <parameter description>;             //optional: no, type: text
            END_SEC
            SEC MacroIO : <identifier>                           //optional: yes, modifier: None
                    Local_IOID := <IO ID>;                           //optional: no, type: ID
                    New_Name := <IO name>;                           //optional: yes, type: text
                    New_Desc := <IO description>;                    //optional: yes, type: text
            END_SEC
            SEC MacroSlot : <identifier>                         //optional: yes, modifier: None
                    Local_SlotID := <slot ID>;                       //optional: no, type: ID
                    New_Role := <role name>;                         //optional: yes, type: text
            END_SEC
            SEC Default_Allocation                               //optional: no, modifier: None
                    Module_Name := <module name>;                    //optional: no, type: QID
                    SEC VisuEmbeddings                               //optional: yes, modifier: None
                            Empty := TRUE/FALSE;                         //optional: yes, type: BoolFlag
                            SEC Embedding : <identifier>                 //optional: yes, modifier: None
                                    VisuName := <visu ID>;                   //optional: no, type: ID
                                    ProxyVisuName := <proxy visu ID>;        //optional: no, type: ID
                                    Target := <target ID>;                   //optional: yes, type: ID
                                    LinkId := <linke ID>;                    //optional: yes, type: ID
                            END_SEC
                    END_SEC
                    SEC PageVisu                                     //optional: yes, modifier: None
                            VisuName := <visu ID>;                       //optional: yes, type: ID
                            TopLevelTab := <top level tab>;              //optional: yes, type: ID/Bool
                    END_SEC
                    SEC IOMappings : <identifier>                    //optional: no, modifier: None
                            SEC Mapping : <identifier>                   //optional: yes, modifier: None
                                    NoMapping := TRUE/FALSE;                 //optional: yes, type: BoolFlag
                                    STExpression := <ST expression>;         //optional: yes, type: ID/ST expression
                                    ModuleConnection := <module connection>; //optional: yes, type: ID/ST expression
                            END_SEC
                    END_SEC
                    SEC Parameters : <identifier>                    //optional: yes, modifier: None
                            SEC Param : <identifier>                     //optional: yes, modifier: None
                                    Value := <value ID>;                     //optional: no, type: ID
                            END_SEC
                    END_SEC
            END_SEC
    END_SEC
    SEC Submodule : <identifier>                             //optional: yes, modifier: None
            Parent_Instance := <instance ID>;                    //optional: no, type: ID
            Parent_Slot := <slot ID>;                            //optional: no, type: ID
            SEC MacroParameter : <identifier>                    //optional: yes, modifier: None
                    Local_ParameterID := <parameter ID>;             //optional: no, type: ID
                    New_Name := <parameter name>;                    //optional: yes, type: text
                    New_Desc := <parameter description>;             //optional: yes, type: text
            END_SEC
            SEC MacroIO : <identifier>                           //optional: yes, modifier: None
                    Local_IOID := <IO Id>;                           //optional: no, type: ID
                    New_Name := <IO name>;                           //optional: yes, type: text
                    New_Desc := <IO description>;                    //optional: yes, type: text
            END_SEC
            SEC MacroSlot : <identifier>                         //optional: yes, modifier: None
                    Local_SlotID := <slot ID>;                       //optional: no, type: ID
                    New_Role := <role name>;                         //optional: yes, type: text
            END_SEC
            SEC Default_Allocation                               //optional: no, modifier: None
                    Module_Name := <module name>;                    //optional: no, type: QID
                    Instance_Name := <instance name>;                //optional: no, type: ID
                    SEC VisuEmbeddings                               //optional: no, modifier: None
                            Empty := TRUE/FALSE;                         //optional: yes, type: BoolFlag
                            SEC Embedding : <identifier>                 //optional: yes, modifier: None
                                    VisuName := <visu ID>                    //optional: no, type: ID
                                    ProxyVisuName := <proxy visu ID>         //optional: no, type: ID
                                    Target := <target ID>;                   //optional: yes, type: ID
                                    LinkId := <link ID>;                     //optional: yes, type: ID
                            END_SEC
                    END_SEC
                    SEC PageVisu                                     //optional: yes, modifier: None
                            VisuName := <visu ID>;                       //optional: yes, type: ID
                            TopLevelTap := <top level tab>;              //optional: yes, type: ID/Bool
                    END_SEC
                    SEC IOMappings : <identifier>                    //optional: yes, modifier: None
                            SEC Mapping : <identifier>                   //optional: yes, modifier: None
                                    NoMapping := TRUE/FALSE                  //optional: yes, type: BoolFlag
                                    STExpression := <ST expression>          //optional: yes, type: ID/ST expression
                                    ModuleConnection := <module connection>  //optional: yes, type: ID/ST expression
                            END_SEC
                    END_SEC
                    SEC Parameters                                   //optional: yes, modifier: None
                            SEC Param : <identifier>                     //optional: yes, modifier: None
                            Value := <value>;                           //optional: no, type: ID
                            END_SEC
                    END_SEC
            END_SEC
    END_SEC
    SEC Reference : <identifier>                             //optional: yes, modifier: None
            Parent_Instance := <instance ID>;                    //optional: no, type: ID
            Parent_Slot := <slot ID>;                            //optional: no, type: ID
            Referenced_Instance := <instance ID>;                //optional: no, type: ID
    END_SEC
END_SEC定義タイプの構文の詳細については、「 モジュール宣言の構文 説明された。
- Macro_Module: このセクションが定義されている場合、モジュール宣言全体内でセクション以外の他のセクションは許可されません。- MetaData利用できるようになります。このセクションの各モジュール宣言は、マクロ モジュール タイプとして明確にマークされています。これ以上のセクションはないかもしれません- MacroModuleモジュール宣言内で。
- Rootmodule: 次のサブセクションで、このマクロ モジュール タイプのルートとなるルート サブモジュールについて説明し、マクロ モジュール タイプの他のすべてのサブモジュールの親として先頭に挿入する必要があることを示します。
- Submodule: 次のサブセクションで、マクロ モジュール タイプのルート サブモジュールの下のサブツリー内のどこかに挿入されるサブモジュールについて説明することを示します。
- MacroParameter: セクション内のこのようなセクションになります- Submoduleまたは- Root使用すると、定義されたサブモジュール (またはルート) の特定のパラメーターがマクロ モジュール自体のパラメーターとして表示されるように指定できます。これがセクションのターゲットになります- MacroParameterマクロ モジュール パラメータの新しいパラメータ ID として使用されます。指定されたサブモジュール (またはルート) のパラメーターは、定義を通じて使用されます。- Local_ParameterID指定された。さらに、定義を使用することもできます- New_Nameそして- New_Descテキストリストのエントリを指定できます。これらのエントリは、サブモジュールまたはルート パラメータの代わりに、新しいマクロ モジュール パラメータの名前と説明に使用されます。すべてのセクションの指定されたすべてのターゲット- MacroParameterすべてのマクロ モジュール パラメータが一意のパラメータ ID を持つように、マクロ モジュール全体内で一意である必要があります。
- MacroIO: セクション内にそのようなセクションがある場合- Submoduleまたは- Rootを使用すると、定義されたサブモジュール (またはルート) の特定の IO がマクロ モジュール自体の IO として表示されるように指定できます。これがセクションのターゲットになります- MacroIOマクロ モジュール IO の新しい IO ID として使用されます。指定されたサブモジュール (またはルート) の IO は、定義によって決定されます。- Local_IOID指定された。さらに、定義を使用することもできます- New_Nameそして- New_Descテキストリストのエントリを指定できます。これらのエントリは、サブモジュールまたはルート IO の代わりに、新しいマクロ モジュール IO の名前と説明に使用されます。すべてのセクションの指定されたすべてのターゲット- MacroIOすべてのマクロ モジュール IO が一意の IO ID を持つように、マクロ モジュール全体内で一意である必要があります。
- MacroSlot: セクション内のこのセクションになります- Submoduleまたは- Root使用すると、定義されたサブモジュール (またはルート) の特定のスロットがマクロ モジュール自体のスロットとして表示されるように指定できます。これは、追加のモジュール インスタンスをマクロ モジュール インスタンスのこのスロットの下に挿入できることを意味します。これがセクションのターゲットになります- MacroSlotマクロ モジュール スロットの新しい SlotID として使用されます。指定されたサブモジュール (またはルート) のスロットは、定義によって決定されます。- Local_SlotID指定された。さらに、定義を使用することもできます- New_Roleテキストリストエントリを指定できます。このエントリは、サブモジュールまたはルート スロットの代わりに、新しいマクロ モジュール スロットの「役割」に使用されます。すべてのセクションの指定されたすべてのターゲット- MacroSlotすべてのマクロ モジュール スロットが一意のスロット ID を持つように、マクロ モジュール全体内で一意である必要があります。
- Parent_Instance: セクションの対象IDとなるIDを指定します- Rootmoduleまたは- Submodule周囲のセクション- MacroModule対応します。この定義はセクション内にのみ存在します。- Submodule。親モジュールのインスタンスを定義し、その下にそれぞれのセクションが配置されます。- Submoduleマクロモジュールタイプの説明されたサブモジュールは「挿入」される必要があります。これが定義です- Parent_Slotさらに必須です。
- Parent_Slot:スルー以下のスロットのIDに対応するIDを指定します。- Parent_Module識別されたサブモジュール タイプを見つけることができます。このスロットの下のセクションは次のとおりです- Submodule記述されたマクロモジュールタイプのサブモジュールが挿入されます。
- Default_Allocation: スロット宣言の下の同名のセクションと同一です (- Slotそして- Slot_Multi)。このセクションでは、「ルート モジュール」と「サブモジュール」の両方について、マクロ モジュール タイプのどのサブモジュールをどのインスタンス構成で挿入するかを指定します。唯一の違いは、- Default_Allocationセクションの下- Rootmoduleいいえ- Instance_Name指定できますが、セクションの下にあります- Submoduleすでに。その理由は、「ルート モジュール」として挿入されたモジュール インスタンスはマクロ モジュール インスタンスから名前を取得するため、「デフォルト」として指定できないためです。
- Reference: 次のサブセクションがモジュール参照について説明していることを示します。これにより、モジュール インスタンスの下に参照が作成されます- Parent_Instanceスロットの下に- Parent_Slotサブモジュールが生成されます。- Referenced_Instance参照されています。この参照されるインスタンスは次のようにする必要があります- Parent_Instance同じセクションにあるサブモジュールまたはルート モジュール インスタンスのセットから- Makro_Module来る。
- 彼女も許されない - IMPLEMENTED_BYまだ- IMPORTSモジュール宣言で使用します。
- 彼女にはセクションがあるはずです - MetaDataそして- MacroModule含む。そうしないと、それ以上のセクションが存在しない可能性があります。
- セクションの下 - Macro_Modul少なくとも 1 つのセクションが必要です- Rootmodule利用できるようになります。第二部も無いかもしれない- Rootmodule存在する。
- それぞれについて - Submodule以内でなければなりません- MacroModuleそれら両方- Parent_Instance同様にそのように- Parent_Slot定義される。これは次のように使用する必要があります- Local_SlotID内で- MacroSlotの- Parent_Instance定義される。