HOME > こちら開発現場 > ツール関係

atags for 秀丸 (Assembler版ctags)

Windows環境では秀丸エディタを使っている。Emacsキーバインドにして。UNIXとWindows環境とでエディタのキーバインドを スイッチできない体(脳)なので仕方ない。
さて、C/C++でプログラム書いてて etagsや ctagsによくお世話になる。でも私はアセンブリ言語でガリガリ書くことがある。 好きで。そんな時に アセンブリ言語版の ctags(つまり atags) があればなぁ。。と思っていた。でも C/C++と異なり、 アセンブリ言語は方言だらけだ。まぁ自分が使う言語だけ都度対応していけばよいか..なんて軽い気持ちでコマンド並べてみました。
 grep 2.5以上を使います。適当に便利です。

適当なこんなバッチファイル(atags.bat)。

@echo off
Rem atags for hidemaru.exe ( like as ctags :-)
Rem use grep 2.5..
if "%1"=="-?" goto USAGE
if "%1"=="-h" goto USAGE
if "%1"=="/?" goto USAGE
if "%1"=="/h" goto USAGE
if "%1"=="--help" goto USAGE

if "%1"=="" goto NORMAL
if exist tags del tags
grep -nrEI "^[_a-zA-Z][_a-zA-Z0-9@]*:" %1 >tags
grep -nrEI "^[_a-zA-Z][_a-zA-Z0-9@]*[[:blank:]]+[Ee][Qq][Uu]" %1 >>tags
goto END

:NORMAL
Rem wild card means DIRECTORY, but not mean FILE.
grep -nrEI "^[_a-zA-Z][_a-zA-Z0-9@]*:" *.* >tags
grep -nrEI "^[_a-zA-Z][_a-zA-Z0-9@]*[[:blank:]]+[Rr][BbWw]" *.* >>tags
grep -nrEI "^[_a-zA-Z][_a-zA-Z0-9@]*[[:blank:]]+[Ee][Qq][Uu]" *.* >>tags
goto END

:USAGE
echo Usage: atags [DIRECTORY]

:END

使い方は ctags等と同様です。 サブルーチンや定数定義などダイレクトタグジャンプで一発で飛んでくれます。
適当に編集してね。


to home to home
2008/02/19
Copyright © 1998-2008, by masu
NIFTY SERVE: QZY03321
mailto:massun.masumoto@nifty.ne.jp
URL : http://homepage3.nifty.com/~masumoto/