バージョン

SyntaxTreePruningMode プロパティ

構文ツリーが排除される方法を示す値を取得または設定します。
シンタックス
'宣言
 
Public Property SyntaxTreePruningMode As SyntaxTreePruningMode
public SyntaxTreePruningMode SyntaxTreePruningMode {get; set;}
例外
例外解説
System.InvalidOperationException値が設定し、IsMutable が False の場合に発生します。
System.ArgumentException指定した値が SyntaxTreePruningMode に定義されない場合に発生します。
解説

文法作成者は、再使用のために構造をグループ化するために特定の非終端記号を定義できます。この記号を最後の解析ツリーに含まないために、ヘルパー記号の名前の開始にアンダースコア (_) プレフィックスを追加し、排除モードを BasedOnName に設定すると、最後の解析ツリーから削除されます。また、特定の演算子優先順位ルールは、より優先順位の高いルールを含む優先順位のより低いルールである必要があります。より高い優先順位の構造が使用される場合、所有する低い優先順位の記号はツリーに表示されません。この場合、BasedOnChild の排除モードを使用すると、単一の非終端子を持つ非終端を削除します。BasedOnChildrenAndName (このプロパティのデフォルト値) を使用すると、排除モードの両方のタイプを実行します。

排除は終端記号に NonTerminalSymbol.PreventPruning 値を True に設定するとオーバーライドできます。EBNF で「?<PreventPruning/>?」のような特別なシーケンスと非終端定義をマークすることもできます。

参照