Changes between Initial Version and Version 1 of IMPref_macros


Ignore:
Timestamp:
Jan 16, 2016, 9:13:22 PM (8 years ago)
Author:
okuma-top
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IMPref_macros

    v1 v1  
     1== マクロ ==
     2
     3以下に、TECS ジェネレータが生成し、セルタイプコードで使用可能なマクロの一覧を記します。
     4セルタイプコードを記述する場合、短縮形を用います。
     5
     6||= マクロ             =||= 短縮形         =||= 通常形  =||
     7|| IDXの正当性チェック    || VALID_IDX       || tCelltype_VALID_IDX
     8|| セルCBを得るマクロ     || GET_CELLCB      || tCelltype_GET_CELLCB
     9|| 属性アクセスマクロ     || ATTR_attribute  || tCelltype_ATTR_attribute
     10|| 内部変数アクセスマクロ  || VAR_variable    || tCelltype_VAR_variable
     11|| 呼び口関数マクロ       || cCall_func      ||
     12|| 受け口関数マクロ       || eEntry_func     || tCelltype_eEntry_func
     13|| 呼び口関数マクロ       || cCall_func      ||
     14|| 呼び口配列サイズマクロ  || N_CP_cCall      ||
     15|| FOREACH_CELLマクロ    || FOREACH_CELL    ||
     16
     17この表では、一例を示しています。
     18以下のような置き換えが必要です。
     19
     20 * attirbute は属性名に置き換える
     21 * variable は内部変数名に置き換える
     22 * func は関数名に置き換える
     23 * cCall は呼び口名に置き換える
     24 * eEntry は受け口名に置き換える
     25 * tCelltype はセルタイプ名に置き換える
     26
     27=== 短縮形マクロ ===
     28
     29短縮形マクロは、通常形に優先して使用されることが意図されています。
     30また、テンプレートコードは、短縮形の使用を意図して生成されています。
     31属性・変数参照マクロでは CELLCB へのポインタが p_cellcb という名前で定義されることが仮定されています。
     32
     33==== セルCBを得るマクロ(短縮形) ====
     34
     35セル CB を得るマクロは、GET_CELLCB です。
     36
     37【マクロ定義例】
     38{{{
     39 #define GET_CELLCB(idx)  tAttribute_GET_CELLCB(idx)
     40}}}
     41
     42==== IDXの正当性チェックマクロ(短縮形) ====
     43
     44IDXの正当性チェックマクロは VALID_IDX です。
     45
     46【マクロ定義例】
     47{{{
     48 #define VALID_IDX(IDX)  tAttribute_VALID_IDX(IDX)
     49}}}
     50
     51==== 属性アクセスマクロ(短縮形) ====
     52
     53属性アクセスマクロは、接頭辞 'ATTR_' に属性名を結合した名前です。
     54
     55【マクロ定義例】
     56{{{
     57 #define ATTR_size              ((p_cellcb)->_inib->size)
     58 #define ATTR_size_array        ((p_cellcb)->_inib->size_array)
     59 #define ATTR_ptr               ((p_cellcb)->_inib->ptr)
     60}}}
     61
     62==== 内部変数アクセスマクロ(短縮形) ====
     63
     64内部変数アクセスマクロは、接頭辞 'VAR_' に属性名を結合した名前です。
     65
     66【マクロ定義例】
     67{{{
     68 #define VAR_sz_array           ((p_cellcb)->sz_array)
     69}}}
     70
     71==== 呼び口配列の大きさを得るマクロ(短縮形のみ) ====
     72
     73呼び口配列の大きさを得るマクロは、接頭辞 'N_CP_' に呼び口名を結合した名前です。
     74呼び口が配列の場合のみ、このマクロが生成されます。
     75
     76【マクロ定義例】
     77{{{
     78  #define N_CP_carray    (2)
     79}}}
     80
     81==== オプショナル呼び口テストマクロ(短縮形) ====
     82
     83呼び口配列の場合、このマクロで結合をチェックする前に、呼び口配列の大きさが1以上であることを確認してください。
     84
     85【マクロ定義例】
     86{{{
     87  #define is_cCall_joined      ((p_cellcb)->_inib->cCall!=0)
     88}}}
     89
     90=== 通常形マクロ ===
     91
     92通常形のマクロは、他のセルの属性、変数を参照するために使用することが意図されています。
     93
     94==== IDXの正当性チェックマクロ ====
     95
     96【マクロ定義例】
     97{{{
     98#define tAttribute_VALID_IDX(IDX) (1)
     99}}}
     100
     101==== セルCBを得るマクロ ====
     102
     103【マクロ定義例】
     104{{{
     105 #define tAttribute_GET_CELLCB(idx) (idx)
     106}}}
     107
     108==== 属性アクセスマクロ ====
     109
     110【マクロ定義例】
     111{{{
     112 #define tAttribute_ATTR_size( p_that ) ((p_that)->_inib->size)
     113 #define tAttribute_ATTR_size_array( p_that )   ((p_that)->_inib->size_array)
     114 #define tAttribute_ATTR_ptr( p_that )  ((p_that)->_inib->ptr)
     115
     116 #define tAttribute_GET_size(p_that)    ((p_that)->_inib->size)
     117 #define tAttribute_GET_size_array(p_that)      ((p_that)->_inib->size_array)
     118 #define tAttribute_GET_ptr(p_that)     ((p_that)->_inib->ptr)
     119}}}
     120
     121==== 変数アクセスマクロ ====
     122
     123【マクロ定義例】
     124{{{
     125 #define tAttribute_VAR_sz_array        ((p_cellcb)->sz_array)
     126
     127 #define tAttribute_GET_sz_array(p_that)        ((p_that)->sz_array)
     128 #define tAttribute_SET_sz_array(p_that,val)    ((p_that)->sz_array=(val))
     129}}}
     130
     131==== オプショナル呼び口テストマクロ ====
     132
     133呼び口配列の場合、このマクロで結合をチェックする前に、呼び口配列の大きさが1以上であることを確認すること。
     134
     135【マクロ定義例】
     136{{{
     137  #define tCelltype_is_cCall_joined(p_that)      ((p_that)->_inib->cCall!=0)
     138}}}
     139
     140
     141------------
     142[TECS リファレンスマニュアル [wiki: トップ]]
     143[TECS コンポーネント実装リファレンスマニュアル [wiki:IMPref トップ]・[wiki:IMPref_index 目次]]]