[[Javaの記事一覧]] *Java SQL Parserを調査する [#zb549a4a] *動機 [#d8f88e2b] SQLを解析することで、SQLを動的に解析して単体試験仕様書の作成を自動化したい そのためには次の項目を自動抽出したい。 *自動抽出希望項目 [#y3bf4f8c] -変数 -テーブル -検索条件 -結果項目 さらにいうと、 -検索条件が外部結合なのかどうなのか -結果項目が外部結合の項目なのかどうなのか **ANTLR [#d305b35b] ANSI SQL 文法に則っているらしい **Apache Derby. [#dd48fb97] Apache Derby http://db.apache.org/derby/ はApacheのDBのサブプロジェクトでしてそのApache Derbyにパーサがあるらしい .native() メソッドを見るといいようだ。 **JSqlParser [#z990ac26] http://jsqlparser.sourceforge.net/ SQLを解析してJavaクラスの階層構造に変換するクラス **Zql [#cb147f36] http://www.gibello.com/code/zql/ Javaで書かれたSQLのParser **BYACC/J [#hf6fdc85] http://byaccj.sourceforge.net/ YACCと互換性あるそうな。 **Java Cup [#f82fb0f2] http://www2.cs.tum.edu/projects/cup/ JavaのParser生成ライブラリー **JFlex [#s987734b] JFlexはこちら http://jflex.de/ **jparsec [#e9851712] http://jparsec.codehaus.org/ YACCのような位置づけである。 YACCとの違いは外部ファイルを必要としないとか。