バージョン

Insert(Int32,String,String,TerminalSymbolComparison,Boolean) メソッド

指定された名前のコレクションに新しい TerminalSymbol を追加します。
シンタックス
'宣言
 
Public Overloads Function Insert( _
   ByVal index As Integer, _
   ByVal name As String, _
   Optional ByVal value As String, _
   Optional ByVal comparison As TerminalSymbolComparison, _
   Optional ByVal isExitSymbol As Boolean _
) As TerminalSymbol
public TerminalSymbol Insert( 
   int index,
   string name,
   string value,
   TerminalSymbolComparison comparison,
   bool isExitSymbol
)

パラメータ

index
記号を挿入するゼロから始まるインデックス。
name
新しい記号の Symbol.Name
value
終端記号をテキスト内で認識するために突き合わせる必要があるテキストを示す値。null 値の場合、name は値として使用されます。
comparison
テキストを理解する方法を示します: 大文字と小文字を区別するリテラル文字列、大文字と小文字を区別しないリテラル文字列、または正規表現。
isExitSymbol
記号がレクサー状態の終了記号であるかどうかを示します。

戻り値の型

コレクションに挿入された TerminalSymbol インスタンス。
例外
例外解説
System.InvalidOperationException所有する LexerStateGrammar に属しない場合に発生します。
System.InvalidOperationException所有する GrammarIsMutable の値が False の場合に発生します。
System.ArgumentNullExceptionname が null または空である場合に発生されます。
System.ArgumentOutOfRangeExceptionindex が 0 より小さいか、Count より大きい場合に発生します。
System.ArgumentException 所有する Grammar に指定した名前を持つ記号が既に存在する場合に発生します。
System.ArgumentExceptioncomparisonTerminalSymbolComparison 列挙体で定義されていない場合に発生します。
System.ArgumentExceptionisExitSymbol が True で、所有する LexerState がデフォルト レクサー状態の場合に発生します。
解説

コレクションを所有する LexerState がデフォルトのレクサー状態ではない場合、オプションで、記号を終了記号として追加できます。これが終了記号である場合、レクサー状態はこの記号に関連付けられたトークンがレクサーによって作成されると終了します。レクサー状態が終了すると、レクサーはその状態になる前の状態に戻ります。LexerState 状態になるのは、TerminalSymbol.LexerStateToEnter が設定された TerminalSymbol と関連付けられるトークンが作成された時点です。TerminalSymbol が終了記号であり、かつ LexerStateToEnter が設定されている場合、LexerStateToEnter は無視されます。レクサーはある状態への変更と終了を同時に行うことはできません。この場合、レクサー状態の終了が優先されます。

参照