ExpressionAntlrLexer class
- Extends
-
Lexer
Konstruktoren
Expression |
Eigenschaften
Geerbte Eigenschaften
atn | Ruft die ab, die serializedATN von der Erkennung für die Vorhersage verwendet wird. |
channel | |
char |
Was ist der Index des aktuellen Zeichens von lookahead? |
char |
|
DEFAULT_MODE | |
DEFAULT_TOKEN_CHANNEL | |
EOF | |
HIDDEN | |
input |
Festlegen des Char-Streams und Zurücksetzen des Lexers |
interpreter | Legen Sie den ATN-Interpreter fest, der von der Erkennung für die Vorhersage verwendet wird. |
line | |
MAX_CHAR_VALUE | |
MIN_CHAR_VALUE | |
MORE | |
parse |
Wenn die Profilerstellung während der Analyse/Lex erfolgt, werden DecisionInfo-Datensätze für jede Entscheidung in der Erkennung in einem ParseInfo-Objekt zurückgegeben. |
SKIP | |
source |
|
state | Geben Sie an, dass die Erkennung den internen Zustand geändert hat, der mit dem übergebenen ATN-Zustand konsistent ist. Auf diese Weise wissen wir immer, wo wir uns im ATN befinden, während der Parser geht. Die Regelkontextobjekte bilden einen Stapel, in dem der Stapel der Aufrufregeln angezeigt wird. 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() | Standardmäßig werden aus Effizienzgründen nicht mehrere Emitte pro nextToken-Aufruf unterstützt. Unterklasse und überschreiben diese Methode, nextToken und getToken (um Token in eine Liste zu pushen und aus dieser Liste anstelle einer einzelnen Variablen zu pullen, wie dies bei dieser Implementierung der Fall ist). |
emit(Token) | Die Standardmethode, die aufgerufen wird, um automatisch ein Token an der äußersten lexikalischen Regel auszustellen. Das Tokenobjekt sollte auf den Charpuffer start zeigen. Stoppen. Wenn in "text" eine Textüberschreibung vorhanden ist, verwenden Sie diese, um den Text des Tokens festzulegen. Überschreiben Sie diese Methode, um benutzerdefinierte Tokenobjekte auszustellen oder eine neue Factory bereitzustellen. |
emitEOF() | |
get |
Gibt eine Liste aller Tokenobjekte 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 |
Ruft eine Zuordnung von Regelnamen zu Regelindizes ab. Wird für die Kompilierung von XPath- und Strukturmustern verwendet. |
get |
|
get |
Ruft eine Zuordnung von Tokennamen zu Tokentypen ab. Wird für die Kompilierung von XPath- und Strukturmustern verwendet. |
mode(number) | |
more() | |
next |
Gibt ein Token aus dieser Quelle zurück. Das heißt, ein Token im char-Stream abgleichen. |
notify |
|
pop |
|
precpred(Rule |
|
push |
|
recover(Lexer |
|
recover(Recognition |
Lexer können normalerweise jedes Zeichen in ihrem Vokabular nach dem Abgleich eines Tokens abgleichen, also machen Sie das Einfache und töten Sie einfach einen Charakter und hoffen, dass alles funktioniert. Sie können stattdessen den Regelaufrufstapel verwenden, um eine komplexe Fehlerwiederherstellung durchzuführen, wenn Sie sich in einer Fragmentregel befinden. |
remove |
|
remove |
|
reset() | |
reset(boolean) | |
skip() | Weisen Sie den Lexer an, das Erstellen eines Tokens für die aktuelle Lexerregel zu überspringen und nach einem anderen Token zu suchen. nextToken() weiß, dass es weiterhin nachschaut, wenn eine Lexerregel mit dem auf SKIP_TOKEN festgelegten Token abgeschlossen wird. Denken Sie daran, dass, wenn token==am Ende einer Tokenregel undefiniert 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
Ruft die ab, die serializedATN von der Erkennung für die Vorhersage verwendet wird.
atn: ATN
Eigenschaftswert
ATN
Geerbt von Recognizer.atn
channel
channel: number
Eigenschaftswert
number
Geerbt von Lexer.channel
charIndex
Was ist der Index des aktuellen Zeichens von lookahead?
charIndex: number
Eigenschaftswert
number
Geerbt von Lexer.charIndex
charPositionInLine
charPositionInLine: number
Eigenschaftswert
number
Geerbt von Lexer.charPositionInLine
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
Geerbt von Recognizer.EOF
HIDDEN
static HIDDEN: number
Eigenschaftswert
number
Geerbt von Lexer.HIDDEN
inputStream
Festlegen des Char-Streams und Zurücksetzen des Lexers
inputStream: CharStream
Eigenschaftswert
CharStream
Geerbt von Lexer.inputStream
interpreter
Legen Sie den ATN-Interpreter fest, der von der Erkennung für die Vorhersage verwendet wird.
interpreter: LexerATNSimulator
Eigenschaftswert
LexerATNSimulator
Geerbt von Recognizer.interpreter
line
line: number
Eigenschaftswert
number
Geerbt von Lexer.line
MAX_CHAR_VALUE
static MAX_CHAR_VALUE: number
Eigenschaftswert
number
Geerbt von Lexer.MAX_CHAR_VALUE
MIN_CHAR_VALUE
static MIN_CHAR_VALUE: number
Eigenschaftswert
number
Geerbt von Lexer.MIN_CHAR_VALUE
MORE
static MORE: number
Eigenschaftswert
number
Geerbt von Lexer.MORE
parseInfo
Wenn die Profilerstellung während der Analyse/Lex erfolgt, werden DecisionInfo-Datensätze für jede Entscheidung in der Erkennung in einem ParseInfo-Objekt zurückgegeben.
parseInfo: Promise<ParseInfo | undefined>
Eigenschaftswert
Promise<ParseInfo | undefined>
Geerbt von Recognizer.parseInfo
SKIP
static SKIP: number
Eigenschaftswert
number
Geerbt von Lexer.SKIP
sourceName
sourceName: string
Eigenschaftswert
string
Geerbt von Lexer.sourceName
state
Geben Sie an, dass die Erkennung den internen Zustand geändert hat, der mit dem übergebenen ATN-Zustand konsistent ist. Auf diese Weise wissen wir immer, wo wir uns im ATN befinden, während der Parser geht. Die Regelkontextobjekte bilden einen Stapel, in dem der Stapel der Aufrufregeln angezeigt wird. 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
Geerbt von Lexer.text
token
Überschreiben, wenn mehrere Token ausgegeben werden.
token: Token | undefined
Eigenschaftswert
Token | undefined
Geerbt von Lexer.token
tokenFactory
tokenFactory: TokenFactory
Eigenschaftswert
TokenFactory
Geerbt von Lexer.tokenFactory
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()
Standardmäßig werden aus Effizienzgründen nicht mehrere Emitte pro nextToken-Aufruf unterstützt. Unterklasse und überschreiben diese Methode, nextToken und getToken (um Token in eine Liste zu pushen und aus dieser Liste anstelle einer einzelnen Variablen zu pullen, wie dies bei dieser Implementierung der Fall ist).
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 auszustellen. Das Tokenobjekt sollte auf den Charpuffer start zeigen. Stoppen. Wenn in "text" eine Textüberschreibung vorhanden ist, verwenden Sie diese, um den Text des Tokens festzulegen. Überschreiben Sie diese Methode, um benutzerdefinierte Tokenobjekte auszustellen 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
Geerbt von Lexer.emitEOF
getAllTokens()
Gibt eine Liste aller Tokenobjekte 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()
Ruft eine Zuordnung von Regelnamen zu Regelindizes ab. Wird für die Kompilierung von XPath- und Strukturmustern 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()
Ruft eine Zuordnung von Tokennamen zu Tokentypen ab. Wird für die Kompilierung von XPath- und Strukturmustern 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. Das heißt, ein Token im char-Stream abgleichen.
function nextToken(): Token
Gibt zurück
Token
Geerbt von Lexer.nextToken
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
Geerbt von Lexer.pushMode
recover(LexerNoViableAltException)
function recover(re: LexerNoViableAltException)
Parameter
- re
-
LexerNoViableAltException
Geerbt von Lexer.recover
recover(RecognitionException)
Lexer können normalerweise jedes Zeichen in ihrem Vokabular nach dem Abgleich eines Tokens abgleichen, also machen Sie das Einfache und töten Sie einfach einen Charakter und hoffen, dass alles funktioniert. Sie können stattdessen den Regelaufrufstapel verwenden, um eine komplexe Fehlerwiederherstellung durchzufü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 Lexer an, das Erstellen eines Tokens für die aktuelle Lexerregel zu überspringen und nach einem anderen Token zu suchen. nextToken() weiß, dass es weiterhin nachschaut, wenn eine Lexerregel mit dem auf SKIP_TOKEN festgelegten Token abgeschlossen wird. Denken Sie daran, dass, wenn token==am Ende einer Tokenregel undefiniert ist, eine für Sie erstellt und ausgegeben wird.
function skip()
Geerbt von Lexer.skip