tecsgen コマンドリファレンス 《名前》 tecsgen -- TECS ジェネレータ 《使用方法》 % tecsgen [OPTION] CDL-File 《説明》 TECS ジェネレータ tecsgen は、TECS コンポーネント記述 (TECS CDL) ファ イルを入力として、TECS のインタフェースコードやセルの記憶域を定義する コードを生成します. 以下のオプションを指定できます. -D, --define=def import_C でヘッダファイルを取込む際の C のプリプロセッサに与え る define を定義します.ここで指定されたものは tecsgen の出力 Makefile.templ のコンパイルコマンドの引数に引き継がれます. -G, --generate-region=path コード生成するリージョンを限定します.指定されたリージョンのみ コード生成されます.複数のリージョンを指定することができます. コード生成するリージョンからコード生成しないリージョンへの結合 は、エラーとなります. -I, --improt-path=path import で取込む CDL ファイルのパス、および import_C でヘッダファ イルを取込む際に C のプリプロセッサに与える include パスを指 定します. tecsgen の引数で指定された CDL ファイルを取込む際にも、このオ プションで指定されたパスをサーチします. ここで指定されたものは tecsgen の出力 Makefile.templ のコンパ イルコマンドの引数に引き継がれます. -L, --library-path=path (obsolete) ruby のライブラリパスを指定します.環境変数 RUBYLIB でも指定できます.tecsgen/tecslib へのパスが指定される必要が あります. tecsgen.rb のパスから tecsgen/tecslib へのパスを求めるため、通 常このオプションを指定する必要はなくなりました (V1.2.1.4). TECS ジェネレータに付属していないプラグインを呼び出す場合には、 このオプションでプラグインの所在を指定する必要があります(Ruby 1.8 では不要)。 -R, --RAM-initializer generate RAM initializer RAM の初期値を設定するための初期化コードが生成されます.本オプ ションが指定された場合 RAM 領域は未初期化変数として出力される ため、初期化コードを実行する必要があります.初期化コード INITIALIZE_TECS() (global_tecsgen.h にマクロ定義) を呼び出 すことにより初期化されます. RAM only オプション -r が指定された場合、本オプションは無視さ れます. -U, --unoptimize 最適化を無効にします. -c, --cpp=cpp_cmd C プリプロセッサコマンドを指定します.デフォルトでは 'gcc -E -D TECSGEN' です. 環境変数 TECS_CPP により指定することができます. -d, --dryrun 処理を実行しますがインタフェースコードは生成されません.TECS コンポーネント記述の文法誤りをチェックすることができます. -f, --force-overwrite 出力を強制上書きします.デフォルトでは、内容に変化のあった出力 ファイルのみ更新します. -g, --gen=dir インタフェースコードなどを生成するディレクトリを指定します.デ フォルトでは、カレントディレクトリの下の 'gen' ディレクトリに 出力されます. -i, --idx_is_id すべての celltype で指定子 idx_is_id が指定されたものとして扱 います. -k, --kcode=code 文字コードを指定します.code は euc, sjis, none, utf8 のいずれ かを指定可能です. 通常 LANG 環境変数で指定します。 -o, --old-mode 古い TECS 仕様のコードを生成します. 古い仕様では int8_t -> tecs_int8 などに変換されました. -r, --ram RAM のみで動作するコードを生成します.デフォルトでは attribute など ROM (const)領域に配置するコードが生成されます. -s, --show-tree パースツリーを表示します. tecsgen のデバッグに使用します. -t, --generator-debug tecsgen のデバッグする場合に使用します.パーサーが取込んだトー クンを逐次表示します.コード生成段階で内部エラーが発生した場合 には、スタックトレースを表示します. factory はコード生成時にエラーが発生することがあります.その場 合、どのfactory でエラーが発生したかを知るための情報が表示され ます. -u, --unique-id idx_is_id により付与される ID (整数)は、デフォルトでは各セル タイプごとに 1 から始まる番号が割付けられます.本オプションが 与えられた場合、すべてのセルで異なる ID が割付けられます. -v, --verbose いくらかの情報を出力します. ・プロトタイプ宣言されているが、存在しないセル ・ロードするプラグイン ・through により実行される ruby スクリプト ・C プリプロセッサコマンド ・セルタイプごとの実施された最適化 -y, --yydebug tecsgen のパーサー部をデバッグするために使用します.bnf.tab.rb のかわりに bnf-deb.tab.rb が使用されます. --no-banner バナーを表示しません. --version tecsgen の version を表示します. --generate-all-template すべてのセルタイプのテンプレートを生成します. デフォルトでは tecsgen は、セルが一つも生成されないセルタイプ、 再利用されているセルタイプ(import時、山括弧文字列 指定されている)のテンプレートを生成しません. --generate-no-template テンプレートを生成しません(セルタイプ、 Makefile とも). --generate-all-template と同時指定された場合、このオプションが 優先されます. --no-default-import-path デフォルトで tecsgen/tecs へのパスを -I に加えます.このオプショ ンを指定すると、その -I の指定を抑止します. --c-suffix=c C program suffix (default: c) 生成する C 言語のファイルの拡張子を指定します.C++ コンパイラ を使用する場合には C++ の拡張子を指定します. --h-suffix=h C program header suffix (default: h) 生成する C 言語のヘッダファイルの拡張子を指定します. 以下のものが出力されます. ・ヘッダファイル (global_tecsgen.h, CELLTYPE_tecsgen.h, CELLTYPE_factory.h) ・セルタイプtecsgenコード (CELLTYPE_tecsgen.c) ・セルタイプコードテンプレート (CELLTYPE_templ.c, CELLTYPE_inline_temple.h) ・Makefile (Makefile.templ, Makefile.tecsgen, Makefile.depend) ・中間ファイル ・プラグインにより生成されるコンポーネント記述 ・取込まれる C のヘッダファイル 出力物の使用方法については、TECS 仕様書 (draft版) の付録を参照してください. セルタイプコードテンプレートは、以下のように出力されます。 ・ 山括弧 <> で囲まれて import された CDL ファイルで定義されているセル タイプのテンプレートファイルは出力されません (--generate-all-template を参照) ・セルタイプの受け口がすべて inline である場合、テンプレートヘッダファ イルのみ出力されます.Makefilte.tecsgen で TECS_COBJS にも含まれませ ん. ・セルタイプの受け口がすべて inline であってもアクティブである場合、C 言語テンプレートファイルも出力されます.Makefilte.tecsgen で TECS_COBJS にも含まれます. 《終了ステータス》 0 … 正常終了 1 … エラー エラーには、CDL ファイルの文法誤りの他、入力ファイルの読み込みや出力ファ イルの作成の失敗があります.警告 (warning) の発生は、エラーとはみなさ れません. ------ [TECS リファレンスマニュアル [wiki: トップページ]]・