バージョン

IsStartOfErrorRecoveryPair プロパティ

特定の TerminalSymbol 続く Symbol の有無を示す値を取得または設定します。
シンタックス
'宣言
 
Public Property IsStartOfErrorRecoveryPair As Boolean
public bool IsStartOfErrorRecoveryPair {get; set;}
例外
例外解説
System.InvalidOperationException所有する GrammarIsMutable の値が False の場合に発生します。
解説

この設定を使用すると、エラー処理ロジックが意味のあるエラーを報告します。これは、構造の中間または最後に達したことを明示的に示す記号で、特定の TerminalSymbol が続く場合に使用してください。。たとえば、VB.NET では、「End」キーワードに続く「Class」キーワードは、明示的に Class 宣言の終了を示します。同じように、「End」キーワードに続く「Sub」キーワードは、明示的に Sub メソッド宣言の終了を示します。パーサーが現在 Class 宣言に含まれる Sub 宣言内に位置していて、「End」キーワードの後に「Class」キーワードが続いていることを検出すると、IsStartOfErrorRecoveryPair を使用して、「End Class」では Sub 宣言を終了できないことから「End Sub」が欠落していることをエラー処理ロジックに通知します。すると、その欠落したペアが解析ツリーに挿入されます。これにより、「End Class」を正しく使用して所有するクラスを終了できます。したがって、「End」キーワードを表す TerminalSymbol の値を True に設定すると、パーサーが VB.NET 言語のドキュメントを解析するときに、より意味のあるエラー メッセージを提供できるようになります。

注: この値は小さい構造でのみ使用してください。解析した終端記号の数が 10 より大きい場合、その記号の IsStartOfErrorRecoveryPair 値は無視されます。

参照