public TerminalSymbol Add(
string name,
string value = null,
TerminalSymbolComparison comparison = TerminalSymbolComparison.Literal,
bool isExitSymbol = false)
終端記号は、字句アナライザーがトークン作成時にユニットとして認識する文字グループを定義します。パーサーが他の記号と区別することができる一意の名前に加えて、場合によっては示すことができるテキストも定義します。たとえば、「;」のみを表すことができる「SemicolonToken」という名前の終端記号や、後ろにゼロまたはその他のアンダースコア、文字または数字が続くアンダースコアまたは文字を表すことができる「IdentifierToken」という名前の終端記号が、文章校正にあるかもしれません。
終端記号は Infragistics.Documents.Parsing 名前空間の TerminalSymbol クラスで表されます。
各 LexerState には、その状態にある場合にレクサーによって一致できる TerminalSymbol
インスタンスを含む Symbols コレクションがあります。Symbols
コレクションは、TerminalSymbol
インスタンスを含むことに加えて、TerminalSymbol
が公開用コンストラクターを持たないため新しい TerminalSymbol
が作成される手段でもあります。以下は、TerminalSymbol
を作成するSymbols コレクション上の追加メソッドのシグニチャです。
C# の場合:
public TerminalSymbol Add(
string name,
string value = null,
TerminalSymbolComparison comparison = TerminalSymbolComparison.Literal,
bool isExitSymbol = false)
注:
Symbols
コレクションの追加
メソッドにおいて、新しい TerminalSymbol
で指定された比較が RegularExpression
の場合、値パラメータは正規表現文字列として解釈されます。正規表現は、一連の文字列の簡潔な説明を許可します。
式のリテラル文字列に加え、より大きく複雑なセットを定義するために正規表現を組み合わせ強化するのに使用することができる特定の演算子があります。以下は、Syntax Parsing Engine によってサポートされる非常に基本的な正規表現機能を分割したものです。
Syntax Parsing Engine は、 .NET Framework Regular Expressions と同じ構文に準拠しますが、その機能のサブセットのみをサポートします。これにより、特定の正規表現を定義する能力のコストで、より高速な字句解析が可能になります。以下は、.NET Framework 正規表現機能および現在解析エンジンによってサポートされている機能のリストです (このリストは MSDN から取得したものであり、 こちらで閲覧可能)。
このトピックの追加情報については、以下のトピックも合わせてご参照ください。