plsql プロシージャ/パッケージを Java クラスに変換することを考えています。「ANTLR PL/SQL 11g パーサー」(リンク)に出くわしました。それが何をし、どのように使用するかをまだ理解しようとしています。plsql コンストラクトと Java コンストラクトの間にマッピングがあると仮定すると、この plsql パーサーを使用して Java コードを生成することは可能ですか?
3 に答える
2
別のポスターには、「パーサーでは不十分です」と書かれています。
私は同意しますが、パーサーがこれを実用的にすることからは遠い道のりであると主張したいと思います(完全なASTを構築すると仮定しても)。
また、PLSQL演算子に遭遇したときに、Javaで使用する型と演算子を把握できるように、少なくとも名前と型の解決が必要です。良い仕事をするために、あなたは様々な種類のフロー分析(制御とデータフロー)を必要とするかもしれません。
別のプログラミング言語への翻訳を容易にするために、コードにどのようなパターンを適用できますか?を参照してください。難しさについてのいくつかの議論のために。
于 2011-10-20T17:19:08.040 に答える
1
はい。しかし、問題に文法を投げかけるだけでは十分ではありません。PL/SQL セマンティクスを Java にマップする方法を理解する必要があります。同じプロジェクトで提供されている抽象構文ツリー ウォーカーと同様に、リンクされたパーサーを使用するとおそらく役立つでしょう。Java コードの生成は難しくありませんが、簡単な作業でもありません。
于 2011-10-19T16:53:01.903 に答える
0
Xtext と Xtend を使用します。本当に魔法。彼らの動画は vimeo でご覧ください。
于 2011-10-26T13:14:01.280 に答える