LGFileLexer class
- Extends
-
Lexer
Konstruktoren
LGFile |
Eigenschaften
Geerbte Eigenschaften
atn | Rufen Sie die vom Erkennungsmodul für die Vorhersage verwendete serializedATN ab. |
channel | |
char |
Was ist der Index des aktuellen Zeichens von Lookahead? |
char |
|
DEFAULT_MODE | |
DEFAULT_TOKEN_CHANNEL | |
EOF | |
HIDDEN | |
input |
Festlegen des Zeichendatenstroms und Zurücksetzen des Lexikers |
interpreter | Legen Sie den ATN-Dolmetscher fest, der vom Erkennungsmodul für die Vorhersage verwendet wird. |
line | |
MAX_CHAR_VALUE | |
MIN_CHAR_VALUE | |
MORE | |
parse |
Wenn die Profilerstellung während der Analyse/Lex erfolgt, gibt dies DecisionInfo-Datensätze für jede Entscheidung in der Erkennung in einem ParseInfo-Objekt zurück. |
SKIP | |
source |
|
state | Gibt an, dass die Erkennung den internen Zustand geändert hat, der mit dem übergebenen ATN-Zustand übereinstimmt. Auf diese Weise wissen wir immer, wo wir uns im ATN befinden, während der Parser weitergeht. Die Regelkontextobjekte bilden einen Stapel, mit dem wir den Stapel der Aufrufen von Regeln sehen können. Kombinieren Sie dies, und wir haben vollständige ATN-Konfigurationsinformationen. |
text | Legen Sie den vollständigen Text dieses Tokens fest; alle vorherigen Änderungen am Text werden zurückgesetzt. |
token | Überschreiben, wenn mehrere Token ausgegeben werden. |
token |
|
type |
Methoden
action(Rule |
|
sempred(Rule |
Geerbte Methoden
add |
|
emit() | Aus Effizienzgründen unterstützt standardmäßig nicht mehrere Emits pro nextToken-Aufruf. Subclass and override this method, nextToken, and getToken (to push tokens into a list and pull from that list and pull from that list than a single variable as this implementation does). |
emit(Token) | Die Standardmethode, die aufgerufen wird, um automatisch ein Token an der äußersten lexikalischen Regel ausgibt. Das Tokenobjekt sollte auf den Zeichenpufferanfang zeigen. aufhören. Wenn in "text" eine Textüberschreibung vorhanden ist, verwenden Sie diese, um den Text des Tokens festzulegen. Überschreiben Sie diese Methode, um benutzerdefinierte Tokenobjekte auszustrahlen oder eine neue Factory bereitzustellen. |
emitEOF() | |
get |
Gibt eine Liste aller Token-Objekte im Eingabezeichendatenstrom zurück. Erzwingt das Laden aller Token. Enthält kein EOF-Token. |
get |
|
get |
|
get |
Was ist der Fehlerheader, normalerweise Zeilen-/Zeichenpositionsinformationen? |
get |
|
get |
|
get |
Dient zum Abrufen einer Zuordnung von Regelnamen zu Regelindizes. Wird für die XPath- und Strukturmusterkompilierung verwendet. |
get |
|
get |
Dient zum Abrufen einer Zuordnung von Tokennamen zu Tokentypen. Wird für die XPath- und Strukturmusterkompilierung verwendet. |
mode(number) | |
more() | |
next |
Gibt ein Token aus dieser Quelle zurück; d. h. stimmen Sie mit einem Token im Zeichendatenstrom überein. |
notify |
|
pop |
|
precpred(Rule |
|
push |
|
recover(Lexer |
|
recover(Recognition |
Lexers können normalerweise jedes Zeichen in seinem Vokabular nach dem Abgleich eines Tokens abgleichen, also machen Sie die einfache Sache und töten Sie einfach einen Charakter und hoffen, dass alles funktioniert. Sie können stattdessen den Regelaufrufstapel verwenden, um eine komplexe Fehlerwiederherstellung auszuführen, wenn Sie sich in einer Fragmentregel befinden. |
remove |
|
remove |
|
reset() | |
reset(boolean) | |
skip() | Weisen Sie den Lexikaler an, das Erstellen eines Tokens für die aktuelle Lexerregel zu überspringen und nach einem anderen Token zu suchen. nextToken() weiß weiter zu suchen, wenn eine Lexerregel mit tokensatz auf SKIP_TOKEN abgeschlossen ist. Denken Sie daran, dass das Token, wenn es am Ende einer Tokenregel nicht definiert ist, eine für Sie erstellt und ausgegeben wird. |
Details zum Konstruktor
LGFileLexer(CharStream)
new LGFileLexer(input: CharStream)
Parameter
- input
-
CharStream
Details zur Eigenschaft
channelNames
public static channelNames: string[] = [
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
]
Eigenschaftswert
string[]
channelNames
string[] channelNames
Eigenschaftswert
string[]
COMMENT
public static COMMENT: 3 = 3
Eigenschaftswert
3
ESCAPE_CHARACTER
public static ESCAPE_CHARACTER: 11 = 11
Eigenschaftswert
11
grammarFileName
string grammarFileName
Eigenschaftswert
string
IMPORT
public static IMPORT: 4 = 4
Eigenschaftswert
4
INLINE_MULTILINE
public static INLINE_MULTILINE: 6 = 6
Eigenschaftswert
6
INVALID_LINE
public static INVALID_LINE: 9 = 9
Eigenschaftswert
9
modeNames
public static modeNames: string[] = [
"DEFAULT_MODE", "MULTILINE_MODE",
]
Eigenschaftswert
string[]
modeNames
string[] modeNames
Eigenschaftswert
string[]
MULTILINE_MODE
public static MULTILINE_MODE: 1 = 1
Eigenschaftswert
1
MULTILINE_PREFIX
public static MULTILINE_PREFIX: 7 = 7
Eigenschaftswert
7
MULTILINE_SUFFIX
public static MULTILINE_SUFFIX: 10 = 10
Eigenschaftswert
10
MULTILINE_TEXT
public static MULTILINE_TEXT: 12 = 12
Eigenschaftswert
12
NEWLINE
public static NEWLINE: 1 = 1
Eigenschaftswert
1
OPTION
public static OPTION: 2 = 2
Eigenschaftswert
2
ruleNames
public static ruleNames: string[] = [
"WHITESPACE", "NEWLINE", "OPTION", "COMMENT", "IMPORT", "TEMPLATE_NAME_LINE",
"INLINE_MULTILINE", "MULTILINE_PREFIX", "TEMPLATE_BODY", "INVALID_LINE",
"MULTILINE_SUFFIX", "ESCAPE_CHARACTER", "MULTILINE_TEXT",
]
Eigenschaftswert
string[]
ruleNames
string[] ruleNames
Eigenschaftswert
string[]
serializedATN
string serializedATN
Eigenschaftswert
string
startTemplate
startTemplate: boolean = false
Eigenschaftswert
boolean
TEMPLATE_BODY
public static TEMPLATE_BODY: 8 = 8
Eigenschaftswert
8
TEMPLATE_NAME_LINE
public static TEMPLATE_NAME_LINE: 5 = 5
Eigenschaftswert
5
VOCABULARY
public static VOCABULARY: Vocabulary = new VocabularyImpl(LGFileLexer._LITERAL_NAMES, LGFileLexer._SYMBOLIC_NAMES, [])
Eigenschaftswert
Vocabulary
vocabulary
Vocabulary vocabulary
Eigenschaftswert
Vocabulary
Geerbte Eigenschaftsdetails
atn
Rufen Sie die vom Erkennungsmodul für die Vorhersage verwendete serializedATN ab.
atn: ATN
Eigenschaftswert
ATN
von Recognizer.atn geerbt
channel
channel: number
Eigenschaftswert
number
geerbt von Lexer.channel
charIndex
Was ist der Index des aktuellen Zeichens von Lookahead?
charIndex: number
Eigenschaftswert
number
von Lexer.charIndex geerbt
charPositionInLine
charPositionInLine: number
Eigenschaftswert
number
von Lexer.charPositionInLine geerbt
DEFAULT_MODE
static DEFAULT_MODE: number
Eigenschaftswert
number
geerbt von Lexer.DEFAULT_MODE
DEFAULT_TOKEN_CHANNEL
static DEFAULT_TOKEN_CHANNEL: number
Eigenschaftswert
number
geerbt von Lexer.DEFAULT_TOKEN_CHANNEL
EOF
static EOF: number
Eigenschaftswert
number
von Recognizer.EOF geerbt
HIDDEN
static HIDDEN: number
Eigenschaftswert
number
von Lexer.HIDDEN geerbt
inputStream
Festlegen des Zeichendatenstroms und Zurücksetzen des Lexikers
inputStream: CharStream
Eigenschaftswert
CharStream
Geerbt von Lexer.inputStream
interpreter
Legen Sie den ATN-Dolmetscher fest, der vom Erkennungsmodul für die Vorhersage verwendet wird.
interpreter: LexerATNSimulator
Eigenschaftswert
LexerATNSimulator
von Recognizer.interpreter geerbt
line
line: number
Eigenschaftswert
number
geerbt von Lexer.line
MAX_CHAR_VALUE
static MAX_CHAR_VALUE: number
Eigenschaftswert
number
von Lexer.MAX_CHAR_VALUE geerbt
MIN_CHAR_VALUE
static MIN_CHAR_VALUE: number
Eigenschaftswert
number
geerbt von Lexer.MIN_CHAR_VALUE
MORE
static MORE: number
Eigenschaftswert
number
von Lexer.MORE geerbt
parseInfo
Wenn die Profilerstellung während der Analyse/Lex erfolgt, gibt dies DecisionInfo-Datensätze für jede Entscheidung in der Erkennung in einem ParseInfo-Objekt zurück.
parseInfo: Promise<ParseInfo | undefined>
Eigenschaftswert
Promise<ParseInfo | undefined>
von Recognizer.parseInfo geerbt
SKIP
static SKIP: number
Eigenschaftswert
number
von Lexer.SKIP geerbt
sourceName
sourceName: string
Eigenschaftswert
string
geerbt von Lexer.sourceName
state
Gibt an, dass die Erkennung den internen Zustand geändert hat, der mit dem übergebenen ATN-Zustand übereinstimmt. Auf diese Weise wissen wir immer, wo wir uns im ATN befinden, während der Parser weitergeht. Die Regelkontextobjekte bilden einen Stapel, mit dem wir den Stapel der Aufrufen von Regeln sehen können. Kombinieren Sie dies, und wir haben vollständige ATN-Konfigurationsinformationen.
state: number
Eigenschaftswert
number
geerbt von Recognizer.state
text
Legen Sie den vollständigen Text dieses Tokens fest; alle vorherigen Änderungen am Text werden zurückgesetzt.
text: string
Eigenschaftswert
string
von Lexer.text geerbt
token
Überschreiben, wenn mehrere Token ausgegeben werden.
token: Token | undefined
Eigenschaftswert
Token | undefined
von Lexer.token geerbt
tokenFactory
tokenFactory: TokenFactory
Eigenschaftswert
TokenFactory
von Lexer.tokenFactory geerbt
type
type: number
Eigenschaftswert
number
Geerbt von Lexer.type
Details zur Methode
action(RuleContext, number, number)
function action(_localctx: RuleContext, ruleIndex: number, actionIndex: number)
Parameter
- _localctx
-
RuleContext
- ruleIndex
-
number
- actionIndex
-
number
sempred(RuleContext, number, number)
function sempred(_localctx: RuleContext, ruleIndex: number, predIndex: number): boolean
Parameter
- _localctx
-
RuleContext
- ruleIndex
-
number
- predIndex
-
number
Gibt zurück
boolean
Details zur geerbten Methode
addErrorListener(ANTLRErrorListener<number>)
function addErrorListener(listener: ANTLRErrorListener<number>)
Parameter
- listener
-
ANTLRErrorListener<number>
Geerbt von Recognizer.addErrorListener
emit()
Aus Effizienzgründen unterstützt standardmäßig nicht mehrere Emits pro nextToken-Aufruf. Subclass and override this method, nextToken, and getToken (to push tokens into a list and pull from that list and pull from that list than a single variable as this implementation does).
function emit(): Token
Gibt zurück
Token
geerbt von Lexer.emit
emit(Token)
Die Standardmethode, die aufgerufen wird, um automatisch ein Token an der äußersten lexikalischen Regel ausgibt. Das Tokenobjekt sollte auf den Zeichenpufferanfang zeigen. aufhören. Wenn in "text" eine Textüberschreibung vorhanden ist, verwenden Sie diese, um den Text des Tokens festzulegen. Überschreiben Sie diese Methode, um benutzerdefinierte Tokenobjekte auszustrahlen oder eine neue Factory bereitzustellen.
function emit(token: Token): Token
Parameter
- token
-
Token
Gibt zurück
Token
geerbt von Lexer.emit
emitEOF()
function emitEOF(): Token
Gibt zurück
Token
von Lexer.emitEOF geerbt
getAllTokens()
Gibt eine Liste aller Token-Objekte im Eingabezeichendatenstrom zurück. Erzwingt das Laden aller Token. Enthält kein EOF-Token.
function getAllTokens(): Token[]
Gibt zurück
Token[]
geerbt von Lexer.getAllTokens
getCharErrorDisplay(number)
function getCharErrorDisplay(c: number): string
Parameter
- c
-
number
Gibt zurück
string
Geerbt von Lexer.getCharErrorDisplay
getErrorDisplay(string | number)
function getErrorDisplay(s: string | number): string
Parameter
- s
-
string | number
Gibt zurück
string
geerbt von Lexer.getErrorDisplay
getErrorHeader(RecognitionException)
Was ist der Fehlerheader, normalerweise Zeilen-/Zeichenpositionsinformationen?
function getErrorHeader(e: RecognitionException): string
Parameter
- e
-
RecognitionException
Gibt zurück
string
geerbt von Recognizer.getErrorHeader
getErrorListenerDispatch()
function getErrorListenerDispatch(): ANTLRErrorListener<number>
Gibt zurück
ANTLRErrorListener<number>
Geerbt von Recognizer.getErrorListenerDispatch
getErrorListeners()
function getErrorListeners(): Array<ANTLRErrorListener<number>>
Gibt zurück
Array<ANTLRErrorListener<number>>
Geerbt von Recognizer.getErrorListeners
getRuleIndexMap()
Dient zum Abrufen einer Zuordnung von Regelnamen zu Regelindizes. Wird für die XPath- und Strukturmusterkompilierung verwendet.
function getRuleIndexMap(): ReadonlyMap<string, number>
Gibt zurück
ReadonlyMap<string, number>
Geerbt von Recognizer.getRuleIndexMap
getTokenType(string)
function getTokenType(tokenName: string): number
Parameter
- tokenName
-
string
Gibt zurück
number
Geerbt von Recognizer.getTokenType
getTokenTypeMap()
Dient zum Abrufen einer Zuordnung von Tokennamen zu Tokentypen. Wird für die XPath- und Strukturmusterkompilierung verwendet.
function getTokenTypeMap(): ReadonlyMap<string, number>
Gibt zurück
ReadonlyMap<string, number>
Geerbt von Recognizer.getTokenTypeMap
mode(number)
function mode(m: number)
Parameter
- m
-
number
geerbt von Lexer.mode
more()
function more()
Geerbt von Lexer.more
nextToken()
Gibt ein Token aus dieser Quelle zurück; d. h. stimmen Sie mit einem Token im Zeichendatenstrom überein.
function nextToken(): Token
Gibt zurück
Token
von Lexer.nextToken geerbt
notifyListeners(LexerNoViableAltException)
function notifyListeners(e: LexerNoViableAltException)
Parameter
- e
-
LexerNoViableAltException
geerbt von Lexer.notifyListeners
popMode()
function popMode(): number
Gibt zurück
number
geerbt von Lexer.popMode
precpred(RuleContext | undefined, number)
function precpred(localctx: RuleContext | undefined, precedence: number): boolean
Parameter
- localctx
-
RuleContext | undefined
- precedence
-
number
Gibt zurück
boolean
geerbt von Recognizer.precpred
pushMode(number)
function pushMode(m: number)
Parameter
- m
-
number
von Lexer.pushMode geerbt
recover(LexerNoViableAltException)
function recover(re: LexerNoViableAltException)
Parameter
- re
-
LexerNoViableAltException
geerbt von Lexer.recover
recover(RecognitionException)
Lexers können normalerweise jedes Zeichen in seinem Vokabular nach dem Abgleich eines Tokens abgleichen, also machen Sie die einfache Sache und töten Sie einfach einen Charakter und hoffen, dass alles funktioniert. Sie können stattdessen den Regelaufrufstapel verwenden, um eine komplexe Fehlerwiederherstellung auszuführen, wenn Sie sich in einer Fragmentregel befinden.
function recover(re: RecognitionException)
Parameter
- re
-
RecognitionException
geerbt von Lexer.recover
removeErrorListener(ANTLRErrorListener<number>)
function removeErrorListener(listener: ANTLRErrorListener<number>)
Parameter
- listener
-
ANTLRErrorListener<number>
Geerbt von Recognizer.removeErrorListener
removeErrorListeners()
function removeErrorListeners()
Geerbt von Recognizer.removeErrorListeners
reset()
function reset()
Geerbt von Lexer.reset
reset(boolean)
function reset(resetInput: boolean)
Parameter
- resetInput
-
boolean
Geerbt von Lexer.reset
skip()
Weisen Sie den Lexikaler an, das Erstellen eines Tokens für die aktuelle Lexerregel zu überspringen und nach einem anderen Token zu suchen. nextToken() weiß weiter zu suchen, wenn eine Lexerregel mit tokensatz auf SKIP_TOKEN abgeschlossen ist. Denken Sie daran, dass das Token, wenn es am Ende einer Tokenregel nicht definiert ist, eine für Sie erstellt und ausgegeben wird.
function skip()
Geerbt von Lexer.skip