前置部
型定義など、前方参照できないため、参照される前に記述する必要があります。
前置部には、以下のものを記述することができます。
C 言語ヘッダのインポート(import_C)
C 言語で記述したヘッダファイルをインポートするには import_C を用います。
【記述例】
import_C( "my_header.h" );
実際に取り込まれるのは、型定義 (typedef) だけです。
マクロ定義 (#define) を含め、その他の記述は、取り込まれません。
【注意】 マクロ定義の参照には C_EXP を用いる。セルタイプの属性の項を参照。
【注意】 C++ 言語のヘッダファイルを取り込むことは、できない。
CDL ファイルのインポート(import)
CDl ファイルをインポートするには import を用います。
CDL ファイルを再利用する部分と、アプリケーション固有の部分に分けて記述する場合や、 CDL ファイルを分割して記述したい場合に用います。
再利用する部分の CDL ファイルをインポートするには、以下のように記述します。
【記述例】
import( <reusable.cdl> );
【補足】この場合、resuable.cdl 内に記述されたセルタイプは、すでに作成済とみなされ、TECS ジェネレータはテンプレートファイルを生成しない。
CDL ファイルを分割して記述したい場合は、以下のように記述します。
【記述例】
import( "appl.cdl" );
【補足】この場合 appl.cdl 内に記述されたセルタイプは、開発中とみなされ、TECS ジェネレータはテンプレートコードを生成する。
型定義(typedef)
型定義は、C 言語と同様です。
【記述例】
typedef double64_t LengthM; typedef double64_t WeightKg; typedef int64_t size64_t;
構造体(struct)
構造体のタグとメンバーの記述は、C 言語と同様です。
【記述例】
struct tag { int8_t count; };
【補足】構造体変数を定義することはできません。
列挙 (enum)
【注意】実装されていません。
定数(const)
定数は、C 言語の定数と同様に記述します。
【記述例】
const double64_t PI = 3.14159265;
定数は、CDL ファイル内の式を記述するところで参照できます。
【補足】TECS ジェネレータは、定数を global_tecsgen.h のマクロとして出力する。