バージョン

Add(String,String,TerminalSymbolComparison,Boolean) メソッド

指定した名前を持つ新しい TerminalSymbol をコレクションに追加します。
シンタックス
'宣言
 
Public Overloads Function Add( _
   ByVal name As String, _
   Optional ByVal value As String, _
   Optional ByVal comparison As TerminalSymbolComparison, _
   Optional ByVal isExitSymbol As Boolean _
) As TerminalSymbol

パラメータ

name
新しい記号の Symbol.Name
value
終端記号をテキストに認識されるために一致するテキスト。null 値の場合、name は値として使用されます。
comparison
テキストを理解する方法を示します: 大文字と小文字を区別するリテラル文字列、大文字と小文字を区別しないリテラル文字列、または正規表現。
isExitSymbol
記号がレクサー状態の終了記号であるかどうかを示します。

戻り値の型

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

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

参照