LGTemplateLexer class
- Extends
-
Lexer
Konstruktoren
LGTemplate |
Eigenschaften
Geerbte Eigenschaften
atn | Rufen Sie die ab, die serializedATN von der Erkennung für Vorhersage verwendet wird. |
channel | |
char |
Was ist der Index des aktuellen Charakters von Lookahead? |
char |
|
DEFAULT_MODE | |
DEFAULT_TOKEN_CHANNEL | |
EOF | |
HIDDEN | |
input |
Legen Sie den Char-Stream fest, und setzen Sie den Lexer zurück. |
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 mitgeht. Die Regelkontextobjekte bilden einen Stapel, mit dem der Stapel der Aufrufregeln angezeigt werden kann. 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 gelöscht. |
token | Überschreiben Sie, 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 sie weiterhin suchen, wenn eine Lexerregel das Token auf SKIP_TOKEN festgelegt hat. Denken Sie daran, dass, wenn token==am Ende einer Tokenregel nicht definiert ist, es eine für Sie erstellt und ausgibt. |
Details zum Konstruktor
LGTemplateLexer(CharStream)
new LGTemplateLexer(input: CharStream)
Parameter
- input
-
CharStream
Details zur Eigenschaft
beginOfStructureProperty
beginOfStructureProperty: boolean = false
Eigenschaftswert
boolean
beginOfTemplateBody
beginOfTemplateBody: boolean = true
Eigenschaftswert
boolean
beginOfTemplateLine
beginOfTemplateLine: boolean = false
Eigenschaftswert
boolean
CASE
public static CASE: 14 = 14
Eigenschaftswert
14
channelNames
public static channelNames: string[] = [
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
]
Eigenschaftswert
string[]
channelNames
string[] channelNames
Eigenschaftswert
string[]
COMMENTS
public static COMMENTS: 3 = 3
Eigenschaftswert
3
DASH
public static DASH: 4 = 4
Eigenschaftswert
4
DEFAULT
public static DEFAULT: 15 = 15
Eigenschaftswert
15
ELSE
public static ELSE: 12 = 12
Eigenschaftswert
12
ELSEIF
public static ELSEIF: 11 = 11
Eigenschaftswert
11
ESCAPE_CHARACTER
public static ESCAPE_CHARACTER: 16 = 16
Eigenschaftswert
16
ESCAPE_CHARACTER_IN_STRUCTURE_BODY
public static ESCAPE_CHARACTER_IN_STRUCTURE_BODY: 31 = 31
Eigenschaftswert
31
EXPRESSION
public static EXPRESSION: 17 = 17
Eigenschaftswert
17
EXPRESSION_IN_STRUCTURE_BODY
public static EXPRESSION_IN_STRUCTURE_BODY: 32 = 32
Eigenschaftswert
32
grammarFileName
string grammarFileName
Eigenschaftswert
string
IF
public static IF: 10 = 10
Eigenschaftswert
10
ignoreWS
ignoreWS: boolean = true
Eigenschaftswert
boolean
inMultiline
inMultiline: boolean = false
Eigenschaftswert
boolean
inStructuredValue
inStructuredValue: boolean = false
Eigenschaftswert
boolean
INVALID_TOKEN
public static INVALID_TOKEN: 6 = 6
Eigenschaftswert
6
LEFT_SQUARE_BRACKET
public static LEFT_SQUARE_BRACKET: 5 = 5
Eigenschaftswert
5
modeNames
public static modeNames: string[] = [
"DEFAULT_MODE", "NORMAL_TEMPLATE_BODY_MODE", "MULTILINE_MODE", "STRUCTURE_NAME_MODE",
"STRUCTURE_BODY_MODE",
]
Eigenschaftswert
string[]
modeNames
string[] modeNames
Eigenschaftswert
string[]
MULTILINE_MODE
public static MULTILINE_MODE: 2 = 2
Eigenschaftswert
2
MULTILINE_PREFIX
public static MULTILINE_PREFIX: 8 = 8
Eigenschaftswert
8
MULTILINE_SUFFIX
public static MULTILINE_SUFFIX: 19 = 19
Eigenschaftswert
19
NEWLINE
public static NEWLINE: 2 = 2
Eigenschaftswert
2
NEWLINE_IN_BODY
public static NEWLINE_IN_BODY: 9 = 9
Eigenschaftswert
9
NEWLINE_IN_STRUCTURE_NAME
public static NEWLINE_IN_STRUCTURE_NAME: 21 = 21
Eigenschaftswert
21
NORMAL_TEMPLATE_BODY_MODE
public static NORMAL_TEMPLATE_BODY_MODE: 1 = 1
Eigenschaftswert
1
ruleNames
public static ruleNames: string[] = [
"A", "C", "D", "E", "F", "H", "I", "L", "S", "T", "U", "W", "LETTER",
"NUMBER", "WHITESPACE", "STRING_LITERAL", "STRING_INTERPOLATION", "ESCAPE_CHARACTER_FRAGMENT",
"IDENTIFIER", "OBJECT_DEFINITION", "EXPRESSION_FRAGMENT", "NEWLINE_FRAGMENT",
"WS", "NEWLINE", "COMMENTS", "DASH", "LEFT_SQUARE_BRACKET", "INVALID_TOKEN",
"WS_IN_BODY", "MULTILINE_PREFIX", "NEWLINE_IN_BODY", "IF", "ELSEIF", "ELSE",
"SWITCH", "CASE", "DEFAULT", "ESCAPE_CHARACTER", "EXPRESSION", "TEXT",
"MULTILINE_SUFFIX", "MULTILINE_ESCAPE_CHARACTER", "MULTILINE_EXPRESSION",
"MULTILINE_TEXT", "WS_IN_STRUCTURE_NAME", "NEWLINE_IN_STRUCTURE_NAME",
"STRUCTURE_NAME", "TEXT_IN_STRUCTURE_NAME", "STRUCTURED_COMMENTS", "WS_IN_STRUCTURE_BODY",
"STRUCTURED_NEWLINE", "STRUCTURED_BODY_END", "STRUCTURE_IDENTIFIER", "STRUCTURE_EQUALS",
"STRUCTURE_OR_MARK", "ESCAPE_CHARACTER_IN_STRUCTURE_BODY", "EXPRESSION_IN_STRUCTURE_BODY",
"TEXT_IN_STRUCTURE_BODY",
]
Eigenschaftswert
string[]
ruleNames
string[] ruleNames
Eigenschaftswert
string[]
serializedATN
string serializedATN
Eigenschaftswert
string
STRUCTURED_BODY_END
public static STRUCTURED_BODY_END: 27 = 27
Eigenschaftswert
27
STRUCTURED_COMMENTS
public static STRUCTURED_COMMENTS: 24 = 24
Eigenschaftswert
24
STRUCTURED_NEWLINE
public static STRUCTURED_NEWLINE: 26 = 26
Eigenschaftswert
26
STRUCTURE_BODY_MODE
public static STRUCTURE_BODY_MODE: 4 = 4
Eigenschaftswert
4
STRUCTURE_EQUALS
public static STRUCTURE_EQUALS: 29 = 29
Eigenschaftswert
29
STRUCTURE_IDENTIFIER
public static STRUCTURE_IDENTIFIER: 28 = 28
Eigenschaftswert
28
STRUCTURE_NAME
public static STRUCTURE_NAME: 22 = 22
Eigenschaftswert
22
STRUCTURE_NAME_MODE
public static STRUCTURE_NAME_MODE: 3 = 3
Eigenschaftswert
3
STRUCTURE_OR_MARK
public static STRUCTURE_OR_MARK: 30 = 30
Eigenschaftswert
30
SWITCH
public static SWITCH: 13 = 13
Eigenschaftswert
13
TEXT
public static TEXT: 18 = 18
Eigenschaftswert
18
TEXT_IN_STRUCTURE_BODY
public static TEXT_IN_STRUCTURE_BODY: 33 = 33
Eigenschaftswert
33
TEXT_IN_STRUCTURE_NAME
public static TEXT_IN_STRUCTURE_NAME: 23 = 23
Eigenschaftswert
23
VOCABULARY
public static VOCABULARY: Vocabulary = new VocabularyImpl(LGTemplateLexer._LITERAL_NAMES, LGTemplateLexer._SYMBOLIC_NAMES, [])
Eigenschaftswert
Vocabulary
vocabulary
Vocabulary vocabulary
Eigenschaftswert
Vocabulary
WS
public static WS: 1 = 1
Eigenschaftswert
1
WS_IN_BODY
public static WS_IN_BODY: 7 = 7
Eigenschaftswert
7
WS_IN_STRUCTURE_BODY
public static WS_IN_STRUCTURE_BODY: 25 = 25
Eigenschaftswert
25
WS_IN_STRUCTURE_NAME
public static WS_IN_STRUCTURE_NAME: 20 = 20
Eigenschaftswert
20
Geerbte Eigenschaftsdetails
atn
Rufen Sie die ab, die serializedATN von der Erkennung für 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 Charakters 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
Legen Sie den Char-Stream fest, und setzen Sie den Lexer zurück.
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 mitgeht. Die Regelkontextobjekte bilden einen Stapel, mit dem der Stapel der Aufrufregeln angezeigt werden kann. 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 gelöscht.
text: string
Eigenschaftswert
string
Geerbt von Lexer.text
token
Überschreiben Sie, 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 sie weiterhin suchen, wenn eine Lexerregel das Token auf SKIP_TOKEN festgelegt hat. Denken Sie daran, dass, wenn token==am Ende einer Tokenregel nicht definiert ist, es eine für Sie erstellt und ausgibt.
function skip()
Geerbt von Lexer.skip