このトピックは、構文ツリーが作成される場合とアクセス方法について説明します。
このトピックを理解するためには、以下のトピックを理解しておく必要があります。
TextDocument は、ドキュメントがトークンとして保存されるので、自動的に字句解析をトリガーしますが、構文解析についてはトリガーしません。これは、 Parse メソッドまたは ParseAsync メソッドを使用して行う必要があります。これらのメソッドには、ParseAsync
がバックグラウンド スレッドでドキュメントを解析するので呼び出しスレッドはブロックされないという事実以外に違いはありません。ドキュメントの解析に ParseAsync
が使用される場合、コーラ-は SyntaxTree が構文アナライザーによって作成された新しい構文ツリーで更新されるときに PropertyChanged イベントをリッスンしなければなりません。
構文解析が完了すると、TextDocument.SyntaxTree
プロパティは SyntaxTree 型のインスタンスとなります。 Infragistics.Documents.Parsing 名前空間で定義されるクラスです。 SyntaxTree.RootNode プロパティは、ドキュメントを解析するために使用される文章校正の Grammar.StartSymbol に常に関連づけられます。 SyntaxNode クラスのインスタンスです。構文ツリー内ですべてのノードを表すために使用されるクラスです。スナップショットのように、構文ツリーおよびすべてのそのノードは不変です。これらは情報の取得専用です。
このトピックの追加情報については、以下のトピックも合わせてご参照ください。