Changes between Initial Version and Version 1 of CDLref_names


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

--

Legend:

Unmodified
Added
Removed
Modified
  • CDLref_names

    v1 v1  
     1== 名前付けの慣習 ==
     2
     3名前付け規則は、TECS CDL 文法の一部ではなく、慣用的なものです。
     4
     5TECS では、コンポーネント実装において、名前を連結したグローバル名を使用します。
     6このため不用意な名前を用いると、連結した名前が、衝突する可能性があります。
     7名前付け規則に従って接頭文字を付加することは、名前の衝突を避ける効果もあります。
     8
     9=== 接頭文字 ===
     10
     11||= 要素     =||= 接頭文字 =||= その他          =||= 例          =||= 備考  =||
     12||シグニチャ   || s        || 2文字目は大文字   || sMotor, sLamp || タスクコンテキスト
     13||シグニチャ   || si       || 3文字目は大文字   || siTask        || 非タスクコンテキスト (non-task)
     14||シグニチャ   || sn       || 3文字目は大文字   || snInit        || カーネル外コンテキスト
     15||関数        || なし     || 先頭は小文字    || rotateRight   ||
     16||引数       || なし     || 先頭は小文字      || goalPositionX ||
     17||セルタイプ   || t        || 2文字目は大文字   || tMotor, tLamp ||
     18||セル        || なし     || 先頭は大文字       || Motor,Lamp    ||
     19||呼び口      || c        || 2文字目は大文字   || cMotor        ||
     20||受け口      || e        || 2文字目は大文字   || eMotor        ||
     21||属性        || なし     || 先頭は小文字      || countLimit    ||
     22||内部変数    || なし     || 先頭は小文字      || upCount       ||
     23
     24【参照実装における制限】定数は、上記の規則にはないが、属性、内部変数、関数の名前と重複しないこと。定数はヘッダファイルで define によって定義されるため、定数と他のものの名前が重複すると、Cコンパイラでコンパイルするときに、分りにくいエラーが発生する。
     25
     26=== 単語区切り ===
     27
     28名前として、複数の単語を連結したものを用いる場合、以下のようにします。
     29
     30 * 連結する単語の1文字目は、大文字とする
     31 * 単語と単語は直接連結する( '_' などを置かない)
     32
     33=== 型情報 ===
     34
     35通常、型に関する情報を名前に含めないが、以下の場合には名前に含めます。
     36
     37 * 属性、変数、引き数がポインタ型の場合、'p_' を前置する
     38 * 属性、変数、引き数がパケットの場合、'pk_' を前置する
     39 * 属性、変数、引き数がパケットへのポインタ型の場合、'ppk_' を前置する
     40
     41== グローバル名 ==
     42
     43グローバル名は、主としてコンポーネント実装において用いられますが、TECS CDL の記述においても、一部グローバル名を指定する場合があります。
     44グローバル名は、属するネームスペース名にアンダスコア '_' を付加したものを前置きしたものです。
     45
     46グローバル名の凡例を以下に示します。
     47
     48||= 対象となるもの =||=  グローバル名  =||
     49|| シグニチャ  || (ネームスペース名) + '_' + (シグニチャ名)
     50|| セルタイプ  || (ネームスペース名) + '_' + (セルタイプ名)
     51|| 受け口関数  ||  (ネームスペース名) + '_' + (セルタイプ名) + '_' + (受け口名) + '_' + (関数名)
     52|| セル       ||  (リージョン名) + '_' + (セル名)
     53
     54
     55ここで + は文字列の連結を表わします。
     56
     57ネームスペースが親ネームスペースに属する場合、親ネームスペース名にアンダスコア '_' を付加したものを、更に前置きします。
     58ルートネームスペースに属する場合には、ネームスペース名および '_' を含みません。
     59リージョンも、ネームスペースと同様です。
     60
     61呼び口関数には、グローバル名が与えられることはありません。
     62呼び口関数は、セルタイプコードの中でのみ用いられるためです。
     63
     64【補足説明】セルのグローバル名は、セルタイプコードの中で用いられることはない。
     65
     66【補足説明】シグニチャのグローバル名についても、TECS ジェネレータで生成されるヘッダファイル内で用いられるだけで、セルタイプコードで記述することはない。
     67
     68------
     69[TECS リファレンスマニュアル [wiki:  トップページ]]・
     70[TECS CDL リファレンスマニュアル [wiki:CDLref トップページ]・[wiki:CDLref_index 目次]]