Javaでプログラム的に使用できる既存のC++パーサー/コードモデルを誰かが知っているかどうか疑問に思っていました. Java からライブラリとして使用できる (Eclipse に依存しない) Eclipse CDT に似たものを探しています。前もって感謝します。
3 に答える
独自のC++パーサーを構築する必要はありません。それはあなたを殺します。
Eclipse CDTプロジェクトについてはすでにご存知でしょう:www.ibm.com/developerworks/library/os-ecl-cdt3/index.html AFAIK、そのパーサーは端が少し曖昧です。YMMV。利点:Java(および気になる場合はEclipse)。C ++を処理し、Javaで処理する場合は、これが唯一の実用的な選択肢になる可能性があります。
DMSソフトウェアリエンジニアリングツールキットC++フロントエンドもあります 。http ://www.semdesigns.com/Products/FrontEnds/CppFrontEnd.html さまざまなC ++方言(ANSI、GNU、MSVC 2005/2008)で動作し、数百万行のコードで起動します。あなたの観点からの不利な点:Javaではありません。しかし、本当にC ++を分析したい場合は、Javaでのみ実行するというルールを作成しても、最善の結果が得られない可能性があります。
Lex、Yacc、Antlr、Jack などのパーサー ジェネレーターには、不完全な LALR 文法がいくつかあります。
C++ には決定不能な構文文法があるため、LALR および BNR 文法は常に不完全ですが、C++ コンパイラを作成しようとしない限り、それらで十分です。
JavaCC 用の C++ 文法がいくつかあります。グーグルを試してみてください。