In This Article

LexicalStateBase Class

Provides the abstract base class for a lexical state.

public abstract class LexicalStateBase : ILexicalState, IKeyedObject
Inheritance:
object object
Derived:
DynamicLexicalState ProgrammaticLexicalState
Implements:
ILexicalState IKeyedObject

Constructors

LexicalStateBase(int, string)

Initializes a new instance of the LexicalStateBase class.

protected LexicalStateBase(int id, string key)
Parameter Type Description
id int

The ID of the lexical state.

key string

The key of the lexical state.

Properties

ChildLexicalStatesCore

Gets the collection of child lexical states.

protected ILexicalStateCollection ChildLexicalStatesCore { get; }

Property Value

ILexicalStateCollection:

A LexicalStateCollection containing the child lexical states.

DefaultTokenId

Gets or sets the ID of the default token that this state assigns.

public int DefaultTokenId { get; set; }

Property Value

int:

The ID of the default token that this state assigns.

DefaultTokenKey

Gets or sets the key of the default token that this state assigns.

public string DefaultTokenKey { get; set; }

Property Value

string:

The key of the default token that this state assigns.

Id

Gets or sets the ID value that identifies the lexical state.

public int Id { get; set; }

Property Value

int:

The ID value that identifies the lexical state.

Key

Gets a string-based key that identifies the lexical state.

public string Key { get; }

Property Value

string:

A string-based key that identifies the lexical state.

LexerCore

Gets or sets the ILexer that contains the state.

protected ILexer LexerCore { get; set; }

Property Value

ILexer:

The ILexer that contains the state.

LexicalScopesCore

Gets the collection of lexical scopes.

protected ILexicalScopeCollection LexicalScopesCore { get; }

Property Value

ILexicalScopeCollection:

A LexicalScopeCollection containing the lexical scopes.

Tag

Gets or sets the object that contains user-defined data about the object.

public object Tag { get; set; }

Property Value

object:

An object that contains user-defined data about the object. The default is null.

Remarks

Any type derived from the object class can be assigned to this property.

Transition

Gets or sets the ILexicalStateTransition that is performed immediately after a start scope match.

public ILexicalStateTransition Transition { get; set; }

Property Value

ILexicalStateTransition:

The ILexicalStateTransition that is performed immediately after a start scope match.

Remarks

This provides a mechanism to automatically transition to another language when this state's start scope is matched. This state's end scope may be used to exit the child language.

ASP-style tags are an example of when to use this transition.

Methods

CreateChildLexicalStates()

Creates the ILexicalStateCollection collection that is returned by ChildLexicalStatesCore.

protected virtual ILexicalStateCollection CreateChildLexicalStates()

Returns

ILexicalStateCollection:

The ILexicalStateCollection that was created.

CreateLexicalScopes()

Creates the ILexicalScopeCollection collection that is returned by LexicalScopesCore.

protected virtual ILexicalScopeCollection CreateLexicalScopes()

Returns

ILexicalScopeCollection:

The ILexicalScopeCollection that was created.

Inherited Members