LGFileLexer class
- Extends
-
Lexer
Konstruktoren
LGFile |
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
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
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