ExpressionAntlrLexer class
- Extends
-
Lexer
Konstruktoren
Expression |
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
ExpressionAntlrLexer(CharStream)
new ExpressionAntlrLexer(input: CharStream)
Parameter
- input
-
CharStream
Details zur Eigenschaft
ARROW
public static ARROW: 27 = 27
Eigenschaftswert
27
ASTERISK
public static ASTERISK: 6 = 6
Eigenschaftswert
6
channelNames
public static channelNames: string[] = [
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
]
Eigenschaftswert
string[]
channelNames
string[] channelNames
Eigenschaftswert
string[]
CLOSE_BRACKET
public static CLOSE_BRACKET: 19 = 19
Eigenschaftswert
19
CLOSE_CURLY_BRACKET
public static CLOSE_CURLY_BRACKET: 24 = 24
Eigenschaftswert
24
CLOSE_SQUARE_BRACKET
public static CLOSE_SQUARE_BRACKET: 22 = 22
Eigenschaftswert
22
COLON
public static COLON: 26 = 26
Eigenschaftswert
26
COMMA
public static COMMA: 25 = 25
Eigenschaftswert
25
DOT
public static DOT: 20 = 20
Eigenschaftswert
20
DOUBLE_AND
public static DOUBLE_AND: 12 = 12
Eigenschaftswert
12
DOUBLE_EQUAL
public static DOUBLE_EQUAL: 9 = 9
Eigenschaftswert
9
DOUBLE_VERTICAL_CYLINDER
public static DOUBLE_VERTICAL_CYLINDER: 13 = 13
Eigenschaftswert
13
ESCAPE_CHARACTER
public static ESCAPE_CHARACTER: 37 = 37
Eigenschaftswert
37
grammarFileName
string grammarFileName
Eigenschaftswert
string
IDENTIFIER
public static IDENTIFIER: 32 = 32
Eigenschaftswert
32
ignoreWS
ignoreWS: boolean = true
Eigenschaftswert
boolean
INVALID_TOKEN_DEFAULT_MODE
public static INVALID_TOKEN_DEFAULT_MODE: 35 = 35
Eigenschaftswert
35
LESS_OR_EQUAl
public static LESS_OR_EQUAl: 16 = 16
Eigenschaftswert
16
LESS_THAN
public static LESS_THAN: 14 = 14
Eigenschaftswert
14
modeNames
public static modeNames: string[] = [
"DEFAULT_MODE", "STRING_INTERPOLATION_MODE",
]
Eigenschaftswert
string[]
modeNames
string[] modeNames
Eigenschaftswert
string[]
MORE_OR_EQUAL
public static MORE_OR_EQUAL: 17 = 17
Eigenschaftswert
17
MORE_THAN
public static MORE_THAN: 15 = 15
Eigenschaftswert
15
NEWLINE
public static NEWLINE: 33 = 33
Eigenschaftswert
33
NON
public static NON: 4 = 4
Eigenschaftswert
4
NOT_EQUAL
public static NOT_EQUAL: 10 = 10
Eigenschaftswert
10
NULL_COALESCE
public static NULL_COALESCE: 28 = 28
Eigenschaftswert
28
NUMBER
public static NUMBER: 30 = 30
Eigenschaftswert
30
OPEN_BRACKET
public static OPEN_BRACKET: 18 = 18
Eigenschaftswert
18
OPEN_CURLY_BRACKET
public static OPEN_CURLY_BRACKET: 23 = 23
Eigenschaftswert
23
OPEN_SQUARE_BRACKET
public static OPEN_SQUARE_BRACKET: 21 = 21
Eigenschaftswert
21
PERCENT
public static PERCENT: 8 = 8
Eigenschaftswert
8
PLUS
public static PLUS: 2 = 2
Eigenschaftswert
2
QUESTION_MARK
public static QUESTION_MARK: 29 = 29
Eigenschaftswert
29
ruleNames
public static ruleNames: string[] = [
"LETTER", "DIGIT", "OBJECT_DEFINITION", "STRING_INTERPOLATION_START",
"PLUS", "SUBSTRACT", "NON", "XOR", "ASTERISK", "SLASH", "PERCENT", "DOUBLE_EQUAL",
"NOT_EQUAL", "SINGLE_AND", "DOUBLE_AND", "DOUBLE_VERTICAL_CYLINDER", "LESS_THAN",
"MORE_THAN", "LESS_OR_EQUAl", "MORE_OR_EQUAL", "OPEN_BRACKET", "CLOSE_BRACKET",
"DOT", "OPEN_SQUARE_BRACKET", "CLOSE_SQUARE_BRACKET", "OPEN_CURLY_BRACKET",
"CLOSE_CURLY_BRACKET", "COMMA", "COLON", "ARROW", "NULL_COALESCE", "QUESTION_MARK",
"NUMBER", "WHITESPACE", "IDENTIFIER", "NEWLINE", "STRING", "INVALID_TOKEN_DEFAULT_MODE",
"STRING_INTERPOLATION_END", "TEMPLATE", "ESCAPE_CHARACTER", "TEXT_CONTENT",
]
Eigenschaftswert
string[]
ruleNames
string[] ruleNames
Eigenschaftswert
string[]
serializedATN
string serializedATN
Eigenschaftswert
string
SINGLE_AND
public static SINGLE_AND: 11 = 11
Eigenschaftswert
11
SLASH
public static SLASH: 7 = 7
Eigenschaftswert
7
STRING
public static STRING: 34 = 34
Eigenschaftswert
34
STRING_INTERPOLATION_MODE
public static STRING_INTERPOLATION_MODE: 1 = 1
Eigenschaftswert
1
STRING_INTERPOLATION_START
public static STRING_INTERPOLATION_START: 1 = 1
Eigenschaftswert
1
SUBSTRACT
public static SUBSTRACT: 3 = 3
Eigenschaftswert
3
TEMPLATE
public static TEMPLATE: 36 = 36
Eigenschaftswert
36
TEXT_CONTENT
public static TEXT_CONTENT: 38 = 38
Eigenschaftswert
38
VOCABULARY
public static VOCABULARY: Vocabulary = new VocabularyImpl(ExpressionAntlrLexer._LITERAL_NAMES, ExpressionAntlrLexer._SYMBOLIC_NAMES, [])
Eigenschaftswert
Vocabulary
vocabulary
Vocabulary vocabulary
Eigenschaftswert
Vocabulary
WHITESPACE
public static WHITESPACE: 31 = 31
Eigenschaftswert
31
XOR
public static XOR: 5 = 5
Eigenschaftswert
5
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