TECSで開発を始めた際に最初に引っかかった、「tecsmerge」の簡単な使い方についてまとめました.
対象
TECSで開発をはじめたての方
tecsmeregeとは?
TECS + Merge = tecsmerge
セルタイプごとに必要なセルタイプコードを作成する時に使用します.
主に以下の2つのシチュエーションで使用します.
- 初版セルタイプコードをジェネレータが作成したテンプレートコードから作成する
- CDLコードでの変更を既存のセルタイプコードに反映させる
それぞれについてみていきます.
準備
まず、開発対象に合わせてこちらからいずれかをダウンロードしている前提です.
tecsmerge はrubyで実装されています.
場所:/tecsgen/tecsgen/tecsmerge.rb(tecegenはダウンロードしたフォルダ内にあります)
% ruby tecsmerge.rb
でtecemergeを実行します.
ですので事前にパスを通すようにしてください.
1. 初版セルタイプコードをジェネレータが作成したテンプレートコードから作成する
TECS CDLを作成し
% make tecs
を行うとgenフォルダ下にセルタイプコードのテンプレートコード「tCelltype_templ.c」 が作成されます.これが初版のコードとなります.
% ruby tecsmerge.ruby gen/tCelltype_templ.c ディレクトリ名
で指定したディレクトリにセルタイプコード「tCelltype.c」が作成されます.
このファイルを編集していってください.
※ tCelltypeはセルタイプの名前によってかえてください.
2. CDLコードでの変更を既存のセルタイプコードに反映させる
上記で初版のセルタイプコードを作成した後、編集していった状態です.
この時
- 受け口関数の引数を増やしたい
- 他の関数を追加したい
- 変数や属性を追加したい
等になった際にCDLファイルを編集すると思います.その変更をtecsmergeで既存のセルタイプコードに反映させることができます.
% ruby tecsmerge.ruby gen/tCelltype_templ.c tCelltype.c
もしくは
% ruby tecsmerge.ruby gen/tCelltype_templ.c tCelltype.cがあるディレクトリ名
これによりCDLでの変更がセルタイプコードにも反映されています.
※ 変数などの小さい変更はわざわざmergeしなくても問題はないです.
注意点
セルタイプコード中の
/* ここに処理本体を記述します #_TEFB_# */
などの記述には必ずしたがってください.tecsmergeがうまく動作しません.