BCC32でのタグジャンプNo.09154
KaToH-J さん 01/06/27 14:18
 
どうも、KaToHです。

ボーランド社のフリーコマンドラインコンパイラ(下記URL先)を
http://www.borland.co.jp/cppbuilder/freecompiler/
使用すると以下のようなエラーログが出ます。enum.cppをコンパイル・
リンクしてエラーが出ちゃったログです。

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
enum.cpp:
エラー E2451 enum.cpp 10: 未定義のシンボル pri(関数 main() )
エラー E2379 enum.cpp 10: ステートメントにセミコロン(;)がない(関数 main() )
警告 W8018 enum.cpp 13: 列挙型 'int' に 'blood' 型が代入された(関数 main() )
*** 2 errors in Compile ***

こういう形のログ出力だと「ファイルが見つかりません」エラーで
ジャンプできません。秀シリーズサポートフォーラムで過去の発言より
タグジャンプについて見たところ、「error」などの単語は無視できる
ようになっているようですが、さすがにエラーコードなどは対応外です
よね。
gcc、visual c++のログだとちゃんとジャンプできますが、こればっかり
はどうにもならないでしょうか。

要望として、
・「タグジャンプ時に無視する文字列」など指定できるように
 ならないでしょうか。」
・「タグジャンプ失敗時のエラーメッセージにどのようなファイル名の
 ファイルをオープンしようとした結果、失敗したか、表示して欲し
 い」
の二点を挙げさせていただきます。

#コマンドラインコンパイラ使うレベルならマクロでどうにかしろよ!
#と突っ込まれそうですが一応(^^;;。で、どうにかしたマクロ↓なん
#のヒネリもない上にログに邪魔な改行が挿入される・・・。これで
#十分便利なんですけどね。
tagjump;
if (result != false)endmacro;
golinetop;wordright;wordright;insertreturn;tagjump;endmacro;

[ ]
RE:09154 BCC32でのタグジャンプNo.09158
秀丸担当 さん 01/06/27 18:54
 

>要望として、
>・「タグジャンプ時に無視する文字列」など指定できるように
> ならないでしょうか。」

いちおう現状でもどこぞのコンパイラかのエラー出力
 error
 warning
 **fatal**
 **error**
 *Warning*
といった文字を無視できるようになっているので、これの条件
に追加するようにはできるかもしれません。

>・「タグジャンプ失敗時のエラーメッセージにどのようなファイル名の
> ファイルをオープンしようとした結果、失敗したか、表示して欲し
> い」
>の二点を挙げさせていただきます。

タグジャンプは可能性のあるいろいろなファイル名を試行しているので、
それはできません。
括弧()や空白もファイル名の可能性があるので、手始めに1行分ぜんぶを
ファイル名として検索しています。

[ ]
RE:09158 BCC32でのタグジャンプNo.09161
ENCODINGSHIFTJIS さん 01/06/28 10:19
 
> tagjump;
> if (result != false)endmacro;
> golinetop;wordright;wordright;insertreturn;tagjump;endmacro;

行数が増えるのは、と感じて
全置換・正規表現の前処理形
^[^ ]+ [EWF][0-9]+ \f[^:]+:

\1 \0
に置換します。



[ ]
RE:09161 BCC32でのタグジャンプNo.09162
KaToH-J さん 01/06/28 10:42
 
KaToHです。こんにちは。
>
>行数が増えるのは、と感じて
>全置換・正規表現の前処理形
>^[^ ]+ [EWF][0-9]+ \f[^:]+:
>を
>\1 \0
>に置換します。

ががーん。参りました。これはいいですね。勉強不足が出てしまいました。
「タグ付き正規表現による置換」を今一度勉強させていただきます。

[ ]
RE:09158 BCC32でのタグジャンプNo.09163
KaToH-J さん 01/06/28 10:44
 
KaToHです。こんにちは。

>といった文字を無視できるようになっているので、これの条件
>に追加するようにはできるかもしれません。

よろしくお願いします。

>タグジャンプは可能性のあるいろいろなファイル名を試行しているので、
>それはできません。
>括弧()や空白もファイル名の可能性があるので、手始めに1行分ぜんぶを
>ファイル名として検索しています。

了解しました。

[ ]
RE:09161 BCC32でのタグジャンプNo.09188
KaToH-J さん 01/07/02 11:52
 
こんにちは。KaToHです。
>
>行数が増えるのは、と感じて
>全置換・正規表現の前処理形
>^[^ ]+ [EWF][0-9]+ \f[^:]+:
>を
>\1 \0
>に置換します。

昨日、この正規表現では
C:\lib\include.h
C:\program files\test.cpp
といった、「空白」や「絶対パス」では狙い通りに動かないことがわかりました。
よって
^[^ ]+ [EWF][0-9]+ +\f.+ +[0-9]+:
を考えました。過去ログをみてやってきてくれる方がいることを信じます(笑。

[ ]