ユーザーが入力した不完全なコード フラグメントの AST を取得する方法はあるのでしょうか。たとえば、コードが次のようになっているとします。
String str = "This is some string";
int length = str.length +
そのようなコードの AST を取得できますか? これは構文的に正しくありませんが、それでも AST が必要です。
さらに、そのようなコードをテキスト エディターに挿入することはできますか? 理想的には、文字列として追加しますが、AST 形式でも可能です。
更新 1 :
正確には、ASTParser を何らかの方法で使用できるので、最後の行に次の AST のようなものを取得できます。
=
/ \
decl length +
/
str.length
部分的な回答:
JDT のASTParserをsetStatementsRecoveryと共に使用すると、次の AST が生成されます。
=
/ \
decl length str.length
それはまさに望ましい解決策ではありませんが、私のように誰かがそれを役に立つと思うかもしれません.