2012-04-18 14 views
0

SQLクエリパーサーを作成する予定です。 注文を適切にトークン化して確認するだけで済みます。java for sqlのパーサー

しかし、私は(数年前けど)私のコンパイラデザインコースで学んだ何かからそれを行うには

を計画しています私は含めるクエリのための文法を定義することができますが、私は、最初でいくつかの助けが必要ガイダンス、実装するパーサーの種類トップダウン/ボトムアップなど。これは簡単に始めることができます。

私はいくつかのガイダンスを探しています。

http://blog.tcx.be/2007/05/writing-parser-overview.html - このリンクを見て、どのように進めるかをお手伝いしました。その他の援助は高く評価されます。

答えて

1

トップダウンの再帰的な降下パーサーが理解しやすいため、手作業でコーディングすると実装が最も簡単です。

パーサージェネレータを使用することを検討しましたか?私は首尾よく最近のプロジェクトでantlrを使用し、他の人にもそれを推奨します。それはいくつかの良いチュートリアルとあなたの文法のプロトタイプ作成のための素晴らしいGUIツールがあります。

+0

このために手作業でコーディングされたパーサは必要ありません。 SQL文法はかなり大きくなる傾向があります。強力なパーサジェネレータを使用したいとします。 ANTLRはOKであり、既に利用可能なSQL文法が付属している可能性があります。 –

+0

私は小さな機能を実装することを計画しており、その上に拡張する可能性があります。これを学ぶだけで、どんなプロダクトにも展開しないでください。環境。 トップダウンは私の質問の権利の中で最高のスタートポイントですか? – sravanreddy001

1

少し遅れましたが、最近私はEclipse DataToolsプロジェクトの一部であるSQL Query Parserクラスを試しています。それをインストールして動作させるのは少し難しかったです(私はJava開発者ではありません)。しかし、私はそれを管理しました。非常に複雑なクエリを解析するのは非常に簡単です。