'宣言 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/>?」のような特別なシーケンスと非終端定義をマークすることもできます。