| 1 | tecsgen コマンドリファレンス |
| 2 | |
| 3 | 《名前》 |
| 4 | |
| 5 | tecsgen -- TECS ジェネレータ |
| 6 | |
| 7 | 《使用方法》 |
| 8 | |
| 9 | % tecsgen [OPTION] CDL-File |
| 10 | |
| 11 | 《説明》 |
| 12 | |
| 13 | TECS ジェネレータ tecsgen は、TECS コンポーネント記述 (TECS CDL) ファ |
| 14 | イルを入力として、TECS のインタフェースコードやセルの記憶域を定義する |
| 15 | コードを生成します. |
| 16 | |
| 17 | 以下のオプションを指定できます. |
| 18 | |
| 19 | -D, --define=def |
| 20 | import_C でヘッダファイルを取込む際の C のプリプロセッサに与え |
| 21 | る define を定義します.ここで指定されたものは tecsgen の出力 |
| 22 | Makefile.templ のコンパイルコマンドの引数に引き継がれます. |
| 23 | |
| 24 | -G, --generate-region=path |
| 25 | コード生成するリージョンを限定します.指定されたリージョンのみ |
| 26 | コード生成されます.複数のリージョンを指定することができます. |
| 27 | コード生成するリージョンからコード生成しないリージョンへの結合 |
| 28 | は、エラーとなります. |
| 29 | |
| 30 | -I, --improt-path=path |
| 31 | import で取込む CDL ファイルのパス、および import_C でヘッダファ |
| 32 | イルを取込む際に C のプリプロセッサに与える include パスを指 |
| 33 | 定します. |
| 34 | tecsgen の引数で指定された CDL ファイルを取込む際にも、このオ |
| 35 | プションで指定されたパスをサーチします. |
| 36 | ここで指定されたものは tecsgen の出力 Makefile.templ のコンパ |
| 37 | イルコマンドの引数に引き継がれます. |
| 38 | |
| 39 | -L, --library-path=path |
| 40 | (obsolete) ruby のライブラリパスを指定します.環境変数 RUBYLIB |
| 41 | でも指定できます.tecsgen/tecslib へのパスが指定される必要が |
| 42 | あります. |
| 43 | tecsgen.rb のパスから tecsgen/tecslib へのパスを求めるため、通 |
| 44 | 常このオプションを指定する必要はなくなりました (V1.2.1.4). |
| 45 | TECS ジェネレータに付属していないプラグインを呼び出す場合には、 |
| 46 | このオプションでプラグインの所在を指定する必要があります(Ruby |
| 47 | 1.8 では不要)。 |
| 48 | |
| 49 | -R, --RAM-initializer generate RAM initializer |
| 50 | RAM の初期値を設定するための初期化コードが生成されます.本オプ |
| 51 | ションが指定された場合 RAM 領域は未初期化変数として出力される |
| 52 | ため、初期化コードを実行する必要があります.初期化コード |
| 53 | INITIALIZE_TECS() (global_tecsgen.h にマクロ定義) を呼び出 |
| 54 | すことにより初期化されます. |
| 55 | RAM only オプション -r が指定された場合、本オプションは無視さ |
| 56 | れます. |
| 57 | |
| 58 | -U, --unoptimize |
| 59 | 最適化を無効にします. |
| 60 | |
| 61 | -c, --cpp=cpp_cmd |
| 62 | |
| 63 | C プリプロセッサコマンドを指定します.デフォルトでは |
| 64 | 'gcc -E -D TECSGEN' です. |
| 65 | 環境変数 TECS_CPP により指定することができます. |
| 66 | |
| 67 | -d, --dryrun |
| 68 | 処理を実行しますがインタフェースコードは生成されません.TECS |
| 69 | コンポーネント記述の文法誤りをチェックすることができます. |
| 70 | |
| 71 | -f, --force-overwrite |
| 72 | 出力を強制上書きします.デフォルトでは、内容に変化のあった出力 |
| 73 | ファイルのみ更新します. |
| 74 | |
| 75 | -g, --gen=dir |
| 76 | インタフェースコードなどを生成するディレクトリを指定します.デ |
| 77 | フォルトでは、カレントディレクトリの下の 'gen' ディレクトリに |
| 78 | 出力されます. |
| 79 | |
| 80 | -i, --idx_is_id |
| 81 | すべての celltype で指定子 idx_is_id が指定されたものとして扱 |
| 82 | います. |
| 83 | |
| 84 | -k, --kcode=code |
| 85 | 文字コードを指定します.code は euc, sjis, none, utf8 のいずれ |
| 86 | かを指定可能です. |
| 87 | 通常 LANG 環境変数で指定します。 |
| 88 | |
| 89 | -o, --old-mode |
| 90 | 古い TECS 仕様のコードを生成します. |
| 91 | 古い仕様では int8_t -> tecs_int8 などに変換されました. |
| 92 | |
| 93 | -r, --ram |
| 94 | RAM のみで動作するコードを生成します.デフォルトでは attribute |
| 95 | など ROM (const)領域に配置するコードが生成されます. |
| 96 | |
| 97 | -s, --show-tree |
| 98 | パースツリーを表示します. |
| 99 | tecsgen のデバッグに使用します. |
| 100 | |
| 101 | -t, --generator-debug |
| 102 | tecsgen のデバッグする場合に使用します.パーサーが取込んだトー |
| 103 | クンを逐次表示します.コード生成段階で内部エラーが発生した場合 |
| 104 | には、スタックトレースを表示します. |
| 105 | factory はコード生成時にエラーが発生することがあります.その場 |
| 106 | 合、どのfactory でエラーが発生したかを知るための情報が表示され |
| 107 | ます. |
| 108 | |
| 109 | -u, --unique-id |
| 110 | idx_is_id により付与される ID (整数)は、デフォルトでは各セル |
| 111 | タイプごとに 1 から始まる番号が割付けられます.本オプションが |
| 112 | 与えられた場合、すべてのセルで異なる ID が割付けられます. |
| 113 | |
| 114 | -v, --verbose |
| 115 | いくらかの情報を出力します. |
| 116 | ・プロトタイプ宣言されているが、存在しないセル |
| 117 | ・ロードするプラグイン |
| 118 | ・through により実行される ruby スクリプト |
| 119 | ・C プリプロセッサコマンド |
| 120 | ・セルタイプごとの実施された最適化 |
| 121 | |
| 122 | -y, --yydebug |
| 123 | tecsgen のパーサー部をデバッグするために使用します.bnf.tab.rb |
| 124 | のかわりに bnf-deb.tab.rb が使用されます. |
| 125 | |
| 126 | --no-banner |
| 127 | バナーを表示しません. |
| 128 | |
| 129 | --version |
| 130 | tecsgen の version を表示します. |
| 131 | |
| 132 | --generate-all-template |
| 133 | すべてのセルタイプのテンプレートを生成します. |
| 134 | デフォルトでは tecsgen は、セルが一つも生成されないセルタイプ、 |
| 135 | 再利用されているセルタイプ(import時、山括弧文字列 <file.cdl> |
| 136 | 指定されている)のテンプレートを生成しません. |
| 137 | |
| 138 | --generate-no-template |
| 139 | テンプレートを生成しません(セルタイプ、 Makefile とも). |
| 140 | --generate-all-template と同時指定された場合、このオプションが |
| 141 | 優先されます. |
| 142 | |
| 143 | --no-default-import-path |
| 144 | デフォルトで tecsgen/tecs へのパスを -I に加えます.このオプショ |
| 145 | ンを指定すると、その -I の指定を抑止します. |
| 146 | |
| 147 | --c-suffix=c C program suffix (default: c) |
| 148 | 生成する C 言語のファイルの拡張子を指定します.C++ コンパイラ |
| 149 | を使用する場合には C++ の拡張子を指定します. |
| 150 | |
| 151 | --h-suffix=h C program header suffix (default: h) |
| 152 | 生成する C 言語のヘッダファイルの拡張子を指定します. |
| 153 | |
| 154 | 以下のものが出力されます. |
| 155 | |
| 156 | ・ヘッダファイル (global_tecsgen.h, CELLTYPE_tecsgen.h, CELLTYPE_factory.h) |
| 157 | ・セルタイプtecsgenコード (CELLTYPE_tecsgen.c) |
| 158 | ・セルタイプコードテンプレート (CELLTYPE_templ.c, CELLTYPE_inline_temple.h) |
| 159 | ・Makefile (Makefile.templ, Makefile.tecsgen, Makefile.depend) |
| 160 | ・中間ファイル |
| 161 | ・プラグインにより生成されるコンポーネント記述 |
| 162 | ・取込まれる C のヘッダファイル |
| 163 | |
| 164 | 出力物の使用方法については、TECS 仕様書 (draft版) の付録を参照してください. |
| 165 | |
| 166 | セルタイプコードテンプレートは、以下のように出力されます。 |
| 167 | |
| 168 | ・ 山括弧 <> で囲まれて import された CDL ファイルで定義されているセル |
| 169 | タイプのテンプレートファイルは出力されません |
| 170 | (--generate-all-template を参照) |
| 171 | ・セルタイプの受け口がすべて inline である場合、テンプレートヘッダファ |
| 172 | イルのみ出力されます.Makefilte.tecsgen で TECS_COBJS にも含まれませ |
| 173 | ん. |
| 174 | ・セルタイプの受け口がすべて inline であってもアクティブである場合、C |
| 175 | 言語テンプレートファイルも出力されます.Makefilte.tecsgen で |
| 176 | TECS_COBJS にも含まれます. |
| 177 | |
| 178 | 《終了ステータス》 |
| 179 | |
| 180 | 0 … 正常終了 |
| 181 | 1 … エラー |
| 182 | |
| 183 | エラーには、CDL ファイルの文法誤りの他、入力ファイルの読み込みや出力ファ |
| 184 | イルの作成の失敗があります.警告 (warning) の発生は、エラーとはみなさ |
| 185 | れません. |
| 186 | |
| 187 | ------ |
| 188 | [TECS リファレンスマニュアル [wiki: トップページ]]・ |