バージョン

構文ツリーの概要 (Syntax Parsing Engine)

トピックの概要

目的

このトピックは、構文ツリーが作成される場合とアクセス方法について説明します。

前提条件

このトピックを理解するためには、以下のトピックを理解しておく必要があります。

トピック 目的

このトピックは、Syntax Parsing Engine の概要を示します。

このトピックは、Syntax Parsing Engine の文章校正の概要を示します。

このグループのトピックでは、Syntax Parsing Engine が行う字句解析について説明します。

このグループのトピックでは、Syntax Parsing Engine が行う構文解析について説明します。

構文ツリー

概要

TextDocument は、ドキュメントがトークンとして保存されるので、自動的に字句解析をトリガーしますが、構文解析についてはトリガーしません。これは、 Parse メソッドまたは ParseAsync メソッドを使用して行う必要があります。これらのメソッドには、ParseAsync がバックグラウンド スレッドでドキュメントを解析するので呼び出しスレッドはブロックされないという事実以外に違いはありません。ドキュメントの解析に ParseAsync が使用される場合、コーラ-は SyntaxTree が構文アナライザーによって作成された新しい構文ツリーで更新されるときに PropertyChanged イベントをリッスンしなければなりません。

構文解析が完了すると、TextDocument.SyntaxTree プロパティは SyntaxTree 型のインスタンスとなります。Infragistics.Documents.Parsing 名前空間で定義されるクラスです。SyntaxTree.RootNode プロパティは、ドキュメントを解析するために使用される文章校正の Grammar.StartSymbol に常に関連づけられます。SyntaxNode クラスのインスタンスです。構文ツリー内ですべてのノードを表すために使用されるクラスです。スナップショットのように、構文ツリーおよびすべてのそのノードは不変です。これらは情報の取得専用です。

関連コンテンツ

トピック

このトピックの追加情報については、以下のトピックも合わせてご参照ください。

トピック 目的

このトピックは、構文解析中に起こる無視されたコンテンツへのアクセス方法について説明します。

このトピックでは、Syntax Parsing Engine が行う構文ツリーのプルーニングについて説明します。

このトピックは、構文ツリーにデータを追加、また構文ツリーからデータを取得する方法について説明します。