C# Class Antlr4.Runtime.Atn.LexerATNSimulator.SimState

When we hit an accept state in either the DFA or the ATN, we have to notify the character stream to start buffering characters via Antlr4.Runtime.IIntStream.Mark() and record the current state. The current sim state includes the current index into the input, the current line, and current character position in that line. Note that the Lexer is tracking the starting line and characterization of the token. These variables track the "state" of the simulator when it hits an accept state.

We track these variables separately for the DFA and ATN simulation because the DFA simulation often has to fail over to the ATN simulation. If the ATN simulation fails, we need the DFA to fall back to its previously accepted state, if any. If the ATN succeeds, then the ATN does the accept and the DFA simulator that invoked it can simply return the predicted token type.

Afficher le fichier Open project: sharwell/antlr4cs Class Usage Examples

Protected Properties

Свойство Type Description
charPos int
dfaState Antlr4.Runtime.Dfa.DFAState
index int
line int

Méthodes protégées

Méthode Description
Reset ( ) : void

Method Details

Reset() protected méthode

protected Reset ( ) : void
Résultat void

Property Details

charPos protected_oe property

protected int charPos
Résultat int

dfaState protected_oe property

protected DFAState,Antlr4.Runtime.Dfa dfaState
Résultat Antlr4.Runtime.Dfa.DFAState

index protected_oe property

protected int index
Résultat int

line protected_oe property

protected int line
Résultat int