2011-07-15 8 views
0

(AST、C#の)どのように私は、ノードのテキスト(ANLR、AST)を置き換えることができ

私は "///テキストここに(トレース)" を「WRITELOG(モジュール名を置き換えるソーステキストを変換しようとしています、functionname、trace、 'Text here'); "

だから私は

for (int i = 0; i < Tree.ChildCount; i++){ 
    if (Tree.GetChild(i).Text == NODE_LOGGING) 
     Tree.GetChild(i).GetChild(0).Text = MyReplace(Tree.GetChild(i).GetChild(0).Text); 
    else .... 

} 

nodetext置き換えるしようとしていますが、プロパティのテキストは読み取り専用なので、それは動作しません。 ノードのテキストを変更して、変更したソーステキストを得ることは可能でしょうか、その方法がうまくいけばいいですか?

public String getText() { 
    if (token==null) { 
     return null; 
    } 
    return token.getText(); 
} 

あなたがCommonTreeのトークン入手トークンを()を呼び出すことができますトークンを取得して、ボイドのsetText経由トークンのテキストを設定するには:Javaでは

答えて

0

は、CommonTreeの文字列のgetText()メソッドは、関連付けられたトークンのテキストを返します。トークンの文字列(文字列)。

+0

私の文法では、1つのASTのノードに2つのトークンが存在する可能性があります...ノードのテキストを置き換える例をここに配置できますか? – Astronavigator

関連する問題