Freigeben über


ExpressionAntlrLexer class

Extends

Lexer

Konstruktoren

ExpressionAntlrLexer(CharStream)

Eigenschaften

ARROW
ASTERISK
channelNames
channelNames
CLOSE_BRACKET
CLOSE_CURLY_BRACKET
CLOSE_SQUARE_BRACKET
COLON
COMMA
DOT
DOUBLE_AND
DOUBLE_EQUAL
DOUBLE_VERTICAL_CYLINDER
ESCAPE_CHARACTER
grammarFileName
IDENTIFIER
ignoreWS
INVALID_TOKEN_DEFAULT_MODE
LESS_OR_EQUAl
LESS_THAN
modeNames
modeNames
MORE_OR_EQUAL
MORE_THAN
NEWLINE
NON
NOT_EQUAL
NULL_COALESCE
NUMBER
OPEN_BRACKET
OPEN_CURLY_BRACKET
OPEN_SQUARE_BRACKET
PERCENT
PLUS
QUESTION_MARK
ruleNames
ruleNames
serializedATN
SINGLE_AND
SLASH
STRING
STRING_INTERPOLATION_MODE
STRING_INTERPOLATION_START
SUBSTRACT
TEMPLATE
TEXT_CONTENT
VOCABULARY
vocabulary
WHITESPACE
XOR

Geerbte Eigenschaften

atn

Rufen Sie die vom Erkennungsmodul für die Vorhersage verwendete serializedATN ab.

channel
charIndex

Was ist der Index des aktuellen Zeichens von Lookahead?

charPositionInLine
DEFAULT_MODE
DEFAULT_TOKEN_CHANNEL
EOF
HIDDEN
inputStream

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
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.

SKIP
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.

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.

tokenFactory
type

Methoden

action(RuleContext, number, number)
sempred(RuleContext, number, number)

Geerbte Methoden

addErrorListener(ANTLRErrorListener<number>)
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()
getAllTokens()

Gibt eine Liste aller Token-Objekte im Eingabezeichendatenstrom zurück. Erzwingt das Laden aller Token. Enthält kein EOF-Token.

getCharErrorDisplay(number)
getErrorDisplay(string | number)
getErrorHeader(RecognitionException)

Was ist der Fehlerheader, normalerweise Zeilen-/Zeichenpositionsinformationen?

getErrorListenerDispatch()
getErrorListeners()
getRuleIndexMap()

Dient zum Abrufen einer Zuordnung von Regelnamen zu Regelindizes. Wird für die XPath- und Strukturmusterkompilierung verwendet.

getTokenType(string)
getTokenTypeMap()

Dient zum Abrufen einer Zuordnung von Tokennamen zu Tokentypen. Wird für die XPath- und Strukturmusterkompilierung verwendet.

mode(number)
more()
nextToken()

Gibt ein Token aus dieser Quelle zurück; d. h. stimmen Sie mit einem Token im Zeichendatenstrom überein.

notifyListeners(LexerNoViableAltException)
popMode()
precpred(RuleContext | undefined, number)
pushMode(number)
recover(LexerNoViableAltException)
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.

removeErrorListener(ANTLRErrorListener<number>)
removeErrorListeners()
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