名前付けの慣習

名前付け規則は、TECS CDL 文法の一部ではなく、慣用的なものです。

TECS では、コンポーネント実装において、名前を連結したグローバル名を使用します。 このため不用意な名前を用いると、連結した名前が、衝突する可能性があります。 名前付け規則に従って接頭文字を付加することは、名前の衝突を避ける効果もあります。

接頭文字

要素

接頭文字

その他

備考

シグニチャ

s

2文字目は大文字

sMotor, sLamp

タスクコンテキスト

シグニチャ

si

3文字目は大文字

siTask

非タスクコンテキスト (non-task)

シグニチャ

sn

3文字目は大文字

snInit

カーネル外コンテキスト

関数

なし

先頭は小文字

rotateRight

引数

なし

先頭は小文字

goalPositionX

セルタイプ

t

2文字目は大文字

tMotor, tLamp

セル

なし

先頭は大文字

Motor,Lamp

呼び口

c

2文字目は大文字

cMotor

受け口

e

2文字目は大文字

eMotor

属性

なし

先頭は小文字

countLimit

内部変数

なし

先頭は小文字

upCount

【参照実装における制限】定数は、上記の規則にはないが、属性、内部変数、関数の名前と重複しないこと。定数はヘッダファイルで define によって定義されるため、定数と他のものの名前が重複すると、Cコンパイラでコンパイルするときに、分りにくいエラーが発生する。

単語区切り

名前として、複数の単語を連結したものを用いる場合、以下のようにします。

  • 連結する単語の1文字目は、大文字とする

  • 単語と単語は直接連結する( '_' などを置かない)

型情報

通常、型に関する情報を名前に含めないが、以下の場合には名前に含めます。

  • 属性、変数、引き数がポインタ型の場合、'p_' を前置する

  • 属性、変数、引き数がパケットの場合、'pk_' を前置する

  • 属性、変数、引き数がパケットへのポインタ型の場合、'ppk_' を前置する

グローバル名

グローバル名は、主としてコンポーネント実装において用いられますが、TECS CDL の記述においても、一部グローバル名を指定する場合があります。 グローバル名は、属するネームスペース名にアンダスコア '_' を付加したものを前置きしたものです。

グローバル名の凡例を以下に示します。

対象となるもの

グローバル名

シグニチャ

(ネームスペース名) + '_' + (シグニチャ名)

セルタイプ

(ネームスペース名) + '_' + (セルタイプ名)

受け口関数

(ネームスペース名) + '_' + (セルタイプ名) + '_' + (受け口名) + '_' + (関数名)

セル

(リージョン名) + '_' + (セル名)

ここで + は文字列の連結を表わします。

ネームスペースが親ネームスペースに属する場合、親ネームスペース名にアンダスコア '_' を付加したものを、更に前置きします。 ルートネームスペースに属する場合には、ネームスペース名および '_' を含みません。 リージョンも、ネームスペースと同様です。

呼び口関数には、グローバル名が与えられることはありません。 呼び口関数は、セルタイプコードの中でのみ用いられるためです。

【補足説明】セルのグローバル名は、セルタイプコードの中で用いられることはない。

【補足説明】シグニチャのグローバル名についても、TECS ジェネレータで生成されるヘッダファイル内で用いられるだけで、セルタイプコードで記述することはない。