C# アプリケーションでかなり単純な Oracle SQL クエリを解析して実行しようとしています。このために、パーサー ツールとして ANTLR を使用することにしました。これは、Oracle SQL 言語の文法が既に文法リスト ページからダウンロードできるためです。
また、ANTLR 3.4 の最新バージョンを入手し、次のコマンドを使用して、アプリケーションで使用する C# ソース ファイルを生成しました。
java -cp antlr-3.4-complete.jar org.antlr.Tool OracleSQL.g
ちょっとした注意: 元の文法ファイルの出力言語は C だったので、変更しましたCSharp2
( も試しましCSharp3
たが、うまくいきませんでした)。
コードの問題は、このようなコードのブロックを取得することです
if ((((( !(strcasecmp((const char*)LT(1)->getText(LT(1))->chars, "SUBPARTITION")) )&&
したがって、ソリューションはコンパイルされません。
ここに投稿されたソリューションも試しましたが、役に立ちませんでした。
私は何が欠けていますか?
ありがとう、エイドリアン。