001. chk_macro.rb
公開先:https://github.com/mwnock/hdl_tools
概要:
- UVMクラスライブラリ(OVMでもおそらく動作可)を読み込んで、以下の処理を行うツールです。
- macro名を入力して、そのmacro定義と記述ファイル名と行番号を表示する
- 指定した文字列を含むmacroをサーチして、リスト表示する
動作確認:
- ruby 1.9.3p448
- UVM-1.1d
制限事項:
- 対応しました →
文字コードにマルチバイトが含まれていると、Errorになりますので、クラスライブラリ側の修正ができる方は修正してください。コード側での対応はまだ考えていません。(単なる勉強不 足)
説明:
- 使う前に
- 1行目のrubyパスを直してください
- 3行目のdirectory変数を修正してください
使い方:
- ./chk_macro.rb [enter]
- プロンプトで、参照したいmacro名を入力してください。macro定義が表示されます。
- プロンプトで、「list 正規表現」を記述すると、正規表現にマッチしたmacro名を一覧表示します。
- 例:> list decl → "decl"を含む全てのmacro名を一覧表示します。
- 例:> list decl$ → "decl"で終わるmacro名を一覧表示します。
- 間違う例:> list *decl → NG。正規表現文法として不適切なため。
補足:
- プロンプトから直接macro名が入力されたときは、その文字列をhash keyとして参照します。この場合、正規表現が使えません。
- プロンプトから list コマンドを使って調べるときは、第2ワードを正規表現のパターンマッチングで扱いますので、正規表現が使えます。ただし、すべての正規表現が使えるかどうかは不明です。
- 不適切な正規表現が指定されると、例外処理でErrorメッセージを出力します。この場合はツールは落ちません。
- マルチバイト文字を含む行を読み込んで例外が発生すると、発生した行の情報をError表記とともに表示しますが、ツールは落ちないようにしました。