- 追加された行はこの色です。
- 削除された行はこの色です。
[[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との違いは外部ファイルを必要としないとか。