| |
CTFについて4つ質問があります。
1.CTFのコード自体に"コメント"を記述できたりできませんでしょうか? 2.指定文字数分、ずらして表示させるテクニックについて 3.操作プロパティには以下の4つのタブがありますが、 [一般][振る舞い][事前][事後] このうち、[事前][事後]をCTFで扱えないでしょうか? 4.新規に言語を追加した際のコード生成について ================================== 1. これは例えば、 <!-- comment --> とか #coment とか… このような形でコメントを記述できないのでしょうかということです。 CTFで編集を行う際、 覚書程度のものを残しておきたいのです。
マクロや変数以外はすべてそのままコードに展開されてしまうようですので、やはり現状ではできないのでしょうか。
もし、何かよい方法がありましたら教えてください。
===>>すみません。解決しました。 $COMMENT="WARNING: DO NOT MODIFY THIS TEMPLATE BELOW THIS POINT" のように、変数へ代入する形で書けばよいのですね。 失礼いたしました。
================================== 2. ( _ はスペースの意味です。)
これは例えば、 { int nTest この変数はAのカウント用 ________として使用する } みたいな文を出力する際に、 操作のプロパティダイアログの「パラメータ」タブ から、
paramNameと paramNotesのフィールド置換マクロを利用しているのですが、
パラメータタブの paramNotesフィールドに、"一行"で記述していれば… { int nTest この変数はAのカウント用として使用する } となって問題ないのですが、
paramNotesフィールドに、"二行"で記述すると… { int nTest この変数はAのカウント用 として使用する } となってしまいます。
これを避けるため、現状は以下のようにテンプレートを編集しています。 (標準で記述されてあるコードは省いています) (ちなみに、Parameter Impl テンプレートを編集しています)
//スペースをある程度確保しておきます。 $SP = "例えば30文字分のスペース" //確保したスペースから、パラメータの型の文字数分スペースを取得 %if $type!=""% $Len=%LENGTH($type)% $Pre+=%LEFT($SP, $Len)%+" " %endIf% //パラメータを指定 %paramName% //パラメータの長さ取得 $Len=%LENGTH(paramName)% //確保したスペースから、パラメータの長さ分のスペースを取得 $Pre+=%LEFT($Tab, $Len)% //パラメータノートの改行文字を、取得したスペースで置き換える %REPLACE(paramNotes,"\n",$Pre)%
「あるフィールド置換マクロを、指定文字数分"右にずらして"表示する」 (「paramNotesを、%LENGTH(paramName)%文字分ずらして表示する」) ような、機能マクロがあればよいのですがないようなので、 テクニックとして、何か方法がありますでしょうか?
とりあえず上記の方法でうまくいくかと思ったのですが、 現状だと、 { int nTest この変数はAのカウント用 _____として使用する } のようにどうしてもうまくいかないようです。
ちなみにこれは、 関数の引数の説明を、関数ヘッダとして記述し生成するために、上記のようなCTFの編集をしています。
================================== 3. これもも2.と同じで、関数ヘッダとして記述し生成したいと考えています。
テスト項目の表示で、事前条件・事後条件の項目を利用したりしたいのです。
ヘルプファイルの、フィールド置換マクロの一覧をみてもないようです。
ちなみに、opCodeのマクロはヘルプファイルは載っていませんが、OperationBodyテンプレートでは利用されています。 つまり、[事前][事後]タブの項目も利用できるがヘルプファイルには載っていないだけなのでは? と思っておりますが実際利用可能なのでしょうか。 可能ならば、何か方法がありますでしょうか?
================================== 4. 新規に言語を作成して、 File FileImpl の2つのテンプレートのみを、"C++"のテンプレートからコピーして、 コード生成を行うと、 ヘッダファイルのみ生成されるようです。 ソースコードは生成されません。 Implのテンプレートについては、 Implのテンプレートすべてに対し(あるいは、ある必要最低限のテンプレートに対し)デフォルトのコードを記述しないといけないのでしょうか?
何か方法がありますでしょうか?
--------------------------
以上、長くなりましたが、よろしくお願いいたします。
|