バージョン

字句エラー (Syntax Parsing Engine)

トピックの概要

目的

このグループのトピックでは、Syntax Parsing Engine で検出された字句エラーについて説明します。

前提条件

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

トピック 目的

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

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

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

このトピックの内容

このトピックは、以下のセクションで構成されます。

字句エラー

概要

字句エラーは、比較的簡単に検出され、字句アナライザーは同様に簡単に回復します。字句エラーのタイプは実際には 1 つのみです。現在のレクサー状態における終端記号には現在の位置でテキストを表すことができるものはありません。

以下の終端記号を持つと定義されるデフォルト レクサー状態の文章校正を考えてみましょう。

  • NewLineSymbol - 新しい行の 1 行に一致します。 「\r」、「\n」または「\r\n」。

  • WhitespaceSymbol - 1 つ以上のスペースまたはタブ文字に一致します。

  • Identifier - ゼロ個以上のアンダースコア、文字または数字が続くアンダースコアまたは文字に一致します。

解析対象のドキュメント コンテンツ: "x += y;"

レクサーがこのドキュメント コンテンツを解析している間、まず <Identifier, "x"> と <WhitespaceToken, " "> のトークンを作成します。次に、「+」文字が来ます。それを認識できる終端記号はありません。レクサーは、いずれかの終端記号で一致されるテキストに来るまで非認識文字を読み続けます。この場合、「=」の後ろのスペースです。レクサーは、次にすべての連続した文字を集め、 Grammar.UnrecognizedSymbol により公開される特殊な記号と一致させます。そのためこのドキュメント コンテンツのフル トークン ストリームは以下のようになります。

<Identifier, "x"> <WhitespaceToken, " "> <UnrecognizedToken, "+="> <WhitespaceToken, " "> <Identifier, "y"> <UnrecognizedToken, ";"> <EndOfStreamToken>

関連コンテンツ

トピック

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

トピック 目的

このグループのトピックでは、Syntax Parsing Engine が検出した構文エラーについて説明します。

このグループのトピックでは、構文エラーを識別するためにドキュメントの構文解析中に使用する方法について説明します。

このトピックは、Syntax Parsing Engine によって処理されないセマンティック エラーについて説明します。