1

抽象構文ツリーを XML ファイルにシリアライズ可能にする最善の戦略は何ですか?

4

2 に答える 2

1

このWebページの「ANTLRツリーとカスタムツリー」の章では、antlr文法の例、いくつかの入力、および特定の入力に対するASTのフォーマットされた出力を示しています。この章には、このフォーマットされた出力を生成するためのC++プログラムへのリンクが含まれています。

これはxmlではありませんが、かなり近いものであり、最初から始めるのに適した基盤になる可能性があります。

于 2010-08-24T11:22:09.927 に答える
1

ルートから AST を再帰的にウォークします。

タイプ X のノードに降りるときは、開始タグを出力します。

 <X>

次に、左から右に子に降りて、その内容を出力します。すべての子を処理した後、終了タグを出力します。

 </X>

タイプ L の葉ノードで、出力

 <L value="abc"/>

関心のある属性値を持つ可能性があります。

終わり。

再帰のネストを追跡している場合は、先頭にrecursion_depthスペースを付けてタグの開始と終了を出力し、改行を続けることができます。次に、XML が適切にネストされます。

于 2010-09-14T09:08:43.677 に答える