int x = 12.3;
このトピックは、Syntax Parsing Engine の概要を示します。
このトピックは、以下のセクションで構成されます。
Infragistics Syntax Parsing Engine は、ドキュメントの型の文章校正構造用に定義を取得し、これらのドキュメントを読み込み処理するためのアナライザーを作成できるクラスのセットです。
主要機能:
アナライザーの作成
解析の実施
その他の機能:
文章校正の解析
エラーとアセンブリの識別
C# と Visual Basic 言語クラス ファイルの生成
Syntax Parsing Engine の主要部分は以下の NuGet パッケージに含まれます。
さらに、他の NuGet パッケージにはいくつかの定義済み言語があります。
Visual Basic - Infragistics.WPF.TextDocument.VisualBasic
Transact-SQL - Infragistics.WPF.TextDocument.TSql
注:
字句解析では、テキストをトークンと呼ばれる意味をなすテキストの塊に分割します。トークンはテキスト要素の型、およびその要素を認識するためにレクサーによって読み取られたテキストを著します。
C# コンテンツの例:
C# の場合:
int x = 12.3;
上記 C# コンテンツを解析後、レクサーは以下のトークンを生成します (非重要トークンのためのテキスト、または常に同じテキストを表すトークンは省略されます)。
IdentifierToken (int)
WhitespaceToken
IdentifierToken (x)
WhitespaceToken
EqualsToken
WhitespaceToken
RealLiteralToken (12.3)
SemicolonToken
レクサーにより作成されるトークンは、重要 (キーワード、識別子、カッコ) または非重要 (コメントまたは空白) と識別されます。
構文解析では、重要トークンを左から右へ読みとり、文章校正定義によって指定された階層的な文章校正構造を作成します。上記の例では、これらは重要なトークンです。
IdentifierToken (int)
IdentifierToken (x)
EqualsToken
RealLiteralToken (12.3)
SemicolonToken
トークンを保持する階層的文章校正構造は「構造ツリー」と呼ばれその見た目および上記のトークンが落ち着く場所について扱います (黄色の背景で強調表示)。
ClassKeyword
IdentifierToken
OpenBraceToken
MethodDeclaration
Modifiers
…
Type
IdentifierToken
IdentifierToken
ParametersList
…
OpenBraceToken
VariableDeclarationStatement
Type
IdentifierToken
IdentifierToken
EqualsToken
Expression
RealLiteralToken
SemicolonToken
CloseBraceToken
CloseBraceToken
Syntax Parsing Engine は、コードの意味を決めるセマンティック解析は実施しません。したがって、多くのエラーはセマンティック エラーであるため構文アナライザーによって検出されません。セマンティック エラーの例は、文章校正的に正しい上記の C# コード スニペット (int x = 12.3) です。ただし「int」型は、整数値のみを保存するため値 12.3 を受け付けることができません。
このトピックの追加情報については、以下のトピックも合わせてご参照ください。