ExpressionAntlrParser class
- Extends
-
Parser
Konstruktoren
Expression |
Eigenschaften
Geerbte Eigenschaften
atn | Rufen Sie die vom Erkennungsmodul für die Vorhersage verwendete serializedATN ab. |
build |
Verfolgen Sie die <xref:ParserRuleContext> Objekte während der Analyse, und verbinden Sie sie mithilfe der <xref:ParserRuleContext%23children> Liste, sodass sie eine Analysestruktur bildet. Die <xref:ParserRuleContext>, die von der Startregel zurückgegeben wird, stellt den Stamm der Analysestruktur dar. Beachten Sie, dass Regelkontexte nur nach oben zeigen, wenn wir keine Analysestrukturen erstellen. Wenn eine Regel beendet wird, wird der Kontext zurückgegeben, der jedoch garbage collection wird, wenn niemand einen Verweis enthält. Es zeigt nach oben, aber niemand zeigt darauf. Beim Erstellen von Analysestrukturen fügen wir alle diese Kontexte zu <xref:ParserRuleContext%23children> Liste hinzu. Kontexte sind dann keine Kandidaten für die Garbage Collection. |
context | |
current |
Übereinstimmung muss das aktuelle Eingabesymbol zurückgeben, das in die Beschriftung für die zugeordnete Token ref eingefügt wird; z.B. x=ID. |
EOF | |
error |
|
input |
Legen Sie den Tokendatenstrom fest, und setzen Sie den Parser zurück. |
interpreter | Legen Sie den ATN-Dolmetscher fest, der vom Erkennungsmodul für die Vorhersage verwendet wird. |
is |
|
is |
Während einer Analyse ist manchmal hilfreich, um die Regeleingabe- und Exitereignisse sowie Token-Übereinstimmungen zu überwachen. Dies dient zum schnellen und schmutzigen Debuggen. |
number |
Ruft die Anzahl der Während der Analyse gemeldeten Syntaxfehler ab. Dieser Wert wird jedes Mal erhöht, wenn <xref:%23notifyErrorListeners> aufgerufen wird. Siehe #notifyErrorListeners |
parse |
|
precedence | Rufen Sie die Rangfolgeebene für die Oberste Rangfolgenregel ab. |
rule |
|
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. |
token |
Methoden
Geerbte Methoden
action(Rule |
|
add |
|
add |
Registriert Mit den folgenden spezifischen Ausnahmen werden Aufrufe von Listenerereignissen deterministischen, d. h. für identische Eingaben sind die Aufrufe von Listenermethoden identisch.
|
compile |
Die bevorzugte Methode zum Abrufen eines Strukturmusters. Hier ist beispielsweise eine Beispielverwendung:
|
compile |
Identisch mit [int)](xref:%23compileParseTreePattern(Zeichenfolge%2C), aber geben Sie einen CommonRegexLexer an, anstatt es von diesem Parser abzuleiten. |
consume() | Verwenden und Zurückgeben des aktuellen Symbols.
Wenn z. B. die folgende Eingabe mit
Wenn sich der Parser nicht im Fehlerwiederherstellungsmodus befindet, wird das verbrauchte Symbol mithilfe von <xref:ParserRuleContext%23addChild(TerminalNode)>zur Analysestruktur hinzugefügt, und <xref:ParseTreeListener%23visitTerminal> wird für alle Analyselistener aufgerufen. Wenn der Parser im Fehlerwiederherstellungsmodus ist, wird das verbrauchte Symbol mithilfe von [Token)](xref:%23createErrorNode(ParserRuleContext%2C) zur Analysestruktur hinzugefügt, <xref:ParserRuleContext%23addErrorNode(ErrorNode)> und <xref:ParseTreeListener%23visitErrorNode> wird für alle Analyselistener aufgerufen. |
create |
So wird's gemacht: Erstellen eines Fehlerknotens aufgrund eines Tokens, das einem übergeordneten Element zugeordnet ist. Normalerweise ist der zu erstellende Fehlerknoten keine Funktion des übergeordneten Elements. |
create |
Erstellen eines Tokenblattknotens, der einem übergeordneten Element zugeordnet ist. In der Regel ist der zu erstellende Terminalknoten keine Funktion des übergeordneten Elements. |
dumpDFA() | Für das Debuggen und andere Zwecke. |
enter |
|
enter |
|
enter |
|
enter |
Wird immer von generierten Parsern beim Eintrag zu einer Regel aufgerufen. Access-Feld <xref:%23_ctx> den aktuellen Kontext abrufen. |
exit |
|
get |
Das ATN mit Umgehungsalternativen ist teuer zu erstellen, sodass wir es lazily erstellen.
@ wenn der aktuelle Parser die |
get |
Für das Debuggen und andere Zwecke. |
get |
Was ist der Fehlerheader, normalerweise Zeilen-/Zeichenpositionsinformationen? |
get |
|
get |
|
get |
Berechnet den Satz von Eingabesymbolen, die dem aktuellen Parserstatus bzw. Kontext folgen können, wie durch <xref:%23getState> bzw. <xref:%23getContext>angegeben. Siehe ATN#getExpectedTokens(int, RuleContext) |
get |
|
get |
|
get |
|
get |
Rufen Sie den Index einer Regel (d. h. |
get |
Dient zum Abrufen einer Zuordnung von Regelnamen zu Regelindizes. Wird für die XPath- und Strukturmusterkompilierung verwendet. |
get |
Rückgabeliste<Zeichenfolge> der Regelnamen in Ihrer Parserinstanz, die zu einem Aufruf der aktuellen Regel führt. Sie können außer Kraft setzen, wenn Sie weitere Details benötigen, z. B. die Datei-/Zeileninformationen dazu, wo in der ATN-Regel aufgerufen wird. Dies ist sehr nützlich für Fehlermeldungen. |
get |
|
get |
Dient zum Abrufen einer Zuordnung von Tokennamen zu Tokentypen. Wird für die XPath- und Strukturmusterkompilierung verwendet. |
in |
|
is |
Überprüft, ob
|
match(number) | Entspricht dem aktuellen Eingabesymbol für |
match |
Zuordnen des aktuellen Eingabesymbols als Wildcard. Wenn der Symboltyp übereinstimmt (d. h. einen Wert größer als 0 hat), werden <xref:ANTLRErrorStrategy%23reportMatch> und <xref:%23consume> aufgerufen, um den Übereinstimmungsprozess abzuschließen.
Wenn der Symboltyp nicht übereinstimmt, wird <xref:ANTLRErrorStrategy%23recoverInline> für die aktuelle Fehlerstrategie aufgerufen, um die Wiederherstellung zu versuchen. Wenn <xref:%23getBuildParseTree> |
notify |
|
notify |
|
precpred(Rule |
|
push |
Wie <xref:%23enterRule>, aber für rekursive Regeln. Machen Sie den aktuellen Kontext zum untergeordneten Element des eingehenden Localctx. |
remove |
|
remove |
|
remove |
Entfernen Sie Siehe #addParseListener |
remove |
Entfernen Sie alle Analyselistener. Siehe #addParseListener |
reset() | Zurücksetzen des Zustands des Parsers |
reset(boolean) | |
set |
|
unroll |
Details zum Konstruktor
ExpressionAntlrParser(TokenStream)
new ExpressionAntlrParser(input: TokenStream)
Parameter
- input
-
TokenStream
Details zur Eigenschaft
ARROW
public static ARROW: 27 = 27
Eigenschaftswert
27
ASTERISK
public static ASTERISK: 6 = 6
Eigenschaftswert
6
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
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
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[] = [
"file", "expression", "primaryExpression", "stringInterpolation", "textContent",
"argsList", "lambda", "keyValuePairList", "keyValuePair", "key",
]
Eigenschaftswert
string[]
ruleNames
string[] ruleNames
Eigenschaftswert
string[]
RULE_argsList
public static RULE_argsList: 5 = 5
Eigenschaftswert
5
RULE_expression
public static RULE_expression: 1 = 1
Eigenschaftswert
1
RULE_file
public static RULE_file: 0 = 0
Eigenschaftswert
0
RULE_key
public static RULE_key: 9 = 9
Eigenschaftswert
9
RULE_keyValuePair
public static RULE_keyValuePair: 8 = 8
Eigenschaftswert
8
RULE_keyValuePairList
public static RULE_keyValuePairList: 7 = 7
Eigenschaftswert
7
RULE_lambda
public static RULE_lambda: 6 = 6
Eigenschaftswert
6
RULE_primaryExpression
public static RULE_primaryExpression: 2 = 2
Eigenschaftswert
2
RULE_stringInterpolation
public static RULE_stringInterpolation: 3 = 3
Eigenschaftswert
3
RULE_textContent
public static RULE_textContent: 4 = 4
Eigenschaftswert
4
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_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(ExpressionAntlrParser._LITERAL_NAMES, ExpressionAntlrParser._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
buildParseTree
Verfolgen Sie die <xref:ParserRuleContext> Objekte während der Analyse, und verbinden Sie sie mithilfe der <xref:ParserRuleContext%23children> Liste, sodass sie eine Analysestruktur bildet. Die <xref:ParserRuleContext>, die von der Startregel zurückgegeben wird, stellt den Stamm der Analysestruktur dar. Beachten Sie, dass Regelkontexte nur nach oben zeigen, wenn wir keine Analysestrukturen erstellen. Wenn eine Regel beendet wird, wird der Kontext zurückgegeben, der jedoch garbage collection wird, wenn niemand einen Verweis enthält. Es zeigt nach oben, aber niemand zeigt darauf.
Beim Erstellen von Analysestrukturen fügen wir alle diese Kontexte zu <xref:ParserRuleContext%23children> Liste hinzu. Kontexte sind dann keine Kandidaten für die Garbage Collection.
buildParseTree: boolean
Eigenschaftswert
boolean
Geerbt von Parser.buildParseTree
context
context: ParserRuleContext
Eigenschaftswert
ParserRuleContext
geerbt von Parser.context
currentToken
Übereinstimmung muss das aktuelle Eingabesymbol zurückgeben, das in die Beschriftung für die zugeordnete Token ref eingefügt wird; z.B. x=ID.
currentToken: Token
Eigenschaftswert
Token
von Parser.currentToken geerbt
EOF
static EOF: number
Eigenschaftswert
number
von Recognizer.EOF geerbt
errorHandler
errorHandler: ANTLRErrorStrategy
Eigenschaftswert
ANTLRErrorStrategy
von Parser.errorHandler geerbt
inputStream
Legen Sie den Tokendatenstrom fest, und setzen Sie den Parser zurück.
inputStream: TokenStream
Eigenschaftswert
TokenStream
geerbt von Parser.inputStream
interpreter
Legen Sie den ATN-Dolmetscher fest, der vom Erkennungsmodul für die Vorhersage verwendet wird.
interpreter: ParserATNSimulator
Eigenschaftswert
ParserATNSimulator
von Recognizer.interpreter geerbt
isMatchedEOF
isMatchedEOF: boolean
Eigenschaftswert
boolean
von Parser.isMatchedEOF geerbt
isTrace
Während einer Analyse ist manchmal hilfreich, um die Regeleingabe- und Exitereignisse sowie Token-Übereinstimmungen zu überwachen. Dies dient zum schnellen und schmutzigen Debuggen.
isTrace: boolean
Eigenschaftswert
boolean
von Parser.isTrace geerbt
numberOfSyntaxErrors
Ruft die Anzahl der Während der Analyse gemeldeten Syntaxfehler ab. Dieser Wert wird jedes Mal erhöht, wenn <xref:%23notifyErrorListeners> aufgerufen wird.
Siehe #notifyErrorListeners
numberOfSyntaxErrors: number
Eigenschaftswert
number
geerbt von Parser.numberOfSyntaxErrors
parseInfo
parseInfo: Promise<ParseInfo | undefined>
Eigenschaftswert
Promise<ParseInfo | undefined>
geerbt von Parser.parseInfo
precedence
Rufen Sie die Rangfolgeebene für die Oberste Rangfolgenregel ab.
precedence: number
Eigenschaftswert
number
geerbt von Parser.precedence
ruleContext
ruleContext: ParserRuleContext
Eigenschaftswert
ParserRuleContext
von Parser.ruleContext geerbt
sourceName
sourceName: string
Eigenschaftswert
string
geerbt von Parser.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
tokenFactory
tokenFactory: TokenFactory
Eigenschaftswert
TokenFactory
geerbt von Parser.tokenFactory
Details zur Methode
argsList()
expression()
expression(number)
function expression(_p: number): ExpressionContext
Parameter
- _p
-
number
Gibt zurück
file()
key()
keyValuePair()
keyValuePairList()
lambda()
primaryExpression()
primaryExpression(number)
function primaryExpression(_p: number): PrimaryExpressionContext
Parameter
- _p
-
number
Gibt zurück
sempred(RuleContext, number, number)
function sempred(_localctx: RuleContext, ruleIndex: number, predIndex: number): boolean
Parameter
- _localctx
-
RuleContext
- ruleIndex
-
number
- predIndex
-
number
Gibt zurück
boolean
stringInterpolation()
textContent()
Details zur geerbten Methode
action(RuleContext | undefined, number, number)
function action(_localctx: RuleContext | undefined, ruleIndex: number, actionIndex: number)
Parameter
- _localctx
-
RuleContext | undefined
- ruleIndex
-
number
- actionIndex
-
number
geerbt von Recognizer.action
addErrorListener(ANTLRErrorListener<Token>)
function addErrorListener(listener: ANTLRErrorListener<Token>)
Parameter
- listener
-
ANTLRErrorListener<Token>
Geerbt von Recognizer.addErrorListener
addParseListener(ParseTreeListener)
Registriert listener
, um Ereignisse während des Analysevorgangs zu empfangen.
Zur Unterstützung von Ausgabe-erhaltungs-Grammatiktransformationen (einschließlich, aber nicht beschränkt auf das Entfernen von Links-Rekursionen, automatisierte Links-Factoring und optimierte Codegenerierung) können Aufrufe von Listenermethoden während der Analyse erheblich von Aufrufen von <xref:ParseTreeWalker%23DEFAULT> abweichen, die nach Abschluss der Analyse verwendet werden. Insbesondere können Regeleingabe- und Ausgangsereignisse während der Analyse in einer anderen Reihenfolge auftreten als nach dem Parser. Darüber hinaus können Aufrufe bestimmter Regeleingabemethoden weggelassen werden.
Mit den folgenden spezifischen Ausnahmen werden Aufrufe von Listenerereignissen deterministischen, d. h. für identische Eingaben sind die Aufrufe von Listenermethoden identisch.
- Änderungen an der Grammatik, die zum Generieren von Code verwendet wird, können das Verhalten der Listeneraufrufe ändern.
- Änderungen an den Befehlszeilenoptionen, die beim Generieren des Parsers an ANTLR 4 übergeben werden, können das Verhalten der Listeneraufrufe ändern.
- Das Ändern der Version des ANTLR-Tools zum Generieren des Parsers kann das Verhalten der Listeneraufrufe ändern.
function addParseListener(listener: ParseTreeListener)
Parameter
- listener
-
ParseTreeListener
der hinzuzufügende Listener
Geerbt von Parser.addParseListener
compileParseTreePattern(string, number)
Die bevorzugte Methode zum Abrufen eines Strukturmusters. Hier ist beispielsweise eine Beispielverwendung:
let t: ParseTree = parser.expr();
let p: ParseTreePattern = await parser.compileParseTreePattern("<ID>+0", MyParser.RULE_expr);
let m: ParseTreeMatch = p.match(t);
let id: string = m.get("ID");
function compileParseTreePattern(pattern: string, patternRuleIndex: number): Promise<ParseTreePattern>
Parameter
- pattern
-
string
- patternRuleIndex
-
number
Gibt zurück
Promise<ParseTreePattern>
Geerbt von Parser.compileParseTreePattern
compileParseTreePattern(string, number, Lexer)
Identisch mit [int)](xref:%23compileParseTreePattern(Zeichenfolge%2C), aber geben Sie einen CommonRegexLexer an, anstatt es von diesem Parser abzuleiten.
function compileParseTreePattern(pattern: string, patternRuleIndex: number, lexer?: Lexer): Promise<ParseTreePattern>
Parameter
- pattern
-
string
- patternRuleIndex
-
number
- lexer
-
Lexer
Gibt zurück
Promise<ParseTreePattern>
Geerbt von Parser.compileParseTreePattern
consume()
Verwenden und Zurückgeben des aktuellen Symbols.
Wenn z. B. die folgende Eingabe mit A
das aktuelle Lookahead-Symbol ist, verschiebt diese Funktion den Cursor auf B
und gibt A
zurück.
A B
^
Wenn sich der Parser nicht im Fehlerwiederherstellungsmodus befindet, wird das verbrauchte Symbol mithilfe von <xref:ParserRuleContext%23addChild(TerminalNode)>zur Analysestruktur hinzugefügt, und <xref:ParseTreeListener%23visitTerminal> wird für alle Analyselistener aufgerufen. Wenn der Parser im Fehlerwiederherstellungsmodus ist, wird das verbrauchte Symbol mithilfe von [Token)](xref:%23createErrorNode(ParserRuleContext%2C) zur Analysestruktur hinzugefügt, <xref:ParserRuleContext%23addErrorNode(ErrorNode)> und <xref:ParseTreeListener%23visitErrorNode> wird für alle Analyselistener aufgerufen.
function consume(): Token
Gibt zurück
Token
von Parser.consume geerbt
createErrorNode(ParserRuleContext, Token)
So wird's gemacht: Erstellen eines Fehlerknotens aufgrund eines Tokens, das einem übergeordneten Element zugeordnet ist. Normalerweise ist der zu erstellende Fehlerknoten keine Funktion des übergeordneten Elements.
function createErrorNode(parent: ParserRuleContext, t: Token): ErrorNode
Parameter
- parent
-
ParserRuleContext
- t
-
Token
Gibt zurück
ErrorNode
von Parser.createErrorNode geerbt
createTerminalNode(ParserRuleContext, Token)
Erstellen eines Tokenblattknotens, der einem übergeordneten Element zugeordnet ist. In der Regel ist der zu erstellende Terminalknoten keine Funktion des übergeordneten Elements.
function createTerminalNode(parent: ParserRuleContext, t: Token): TerminalNode
Parameter
- parent
-
ParserRuleContext
- t
-
Token
Gibt zurück
TerminalNode
Geerbt von Parser.createTerminalNode
dumpDFA()
Für das Debuggen und andere Zwecke.
function dumpDFA()
geerbt von Parser.dumpDFA
enterLeftFactoredRule(ParserRuleContext, number, number)
function enterLeftFactoredRule(localctx: ParserRuleContext, state: number, ruleIndex: number)
Parameter
- localctx
-
ParserRuleContext
- state
-
number
- ruleIndex
-
number
von Parser.enterLeftFactoredRule geerbt
enterOuterAlt(ParserRuleContext, number)
function enterOuterAlt(localctx: ParserRuleContext, altNum: number)
Parameter
- localctx
-
ParserRuleContext
- altNum
-
number
geerbt von Parser.enterOuterAlt
enterRecursionRule(ParserRuleContext, number, number, number)
function enterRecursionRule(localctx: ParserRuleContext, state: number, ruleIndex: number, precedence: number)
Parameter
- localctx
-
ParserRuleContext
- state
-
number
- ruleIndex
-
number
- precedence
-
number
von Parser.enterRecursionRule geerbt
enterRule(ParserRuleContext, number, number)
Wird immer von generierten Parsern beim Eintrag zu einer Regel aufgerufen. Access-Feld <xref:%23_ctx> den aktuellen Kontext abrufen.
function enterRule(localctx: ParserRuleContext, state: number, ruleIndex: number)
Parameter
- localctx
-
ParserRuleContext
- state
-
number
- ruleIndex
-
number
geerbt von Parser.enterRule
exitRule()
function exitRule()
geerbt von Parser.exitRule
getATNWithBypassAlts()
Das ATN mit Umgehungsalternativen ist teuer zu erstellen, sodass wir es lazily erstellen.
@ wenn der aktuelle Parser die serializedATN
-Eigenschaft nicht implementiert.
function getATNWithBypassAlts(): ATN
Gibt zurück
ATN
Geerbt von Parser.getATNWithBypassAlts
getDFAStrings()
Für das Debuggen und andere Zwecke.
function getDFAStrings(): string[]
Gibt zurück
string[]
Von Parser.getDFAStrings geerbt
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(): ParserErrorListener
Gibt zurück
ParserErrorListener
Geerbt von Parser.getErrorListenerDispatch
getErrorListeners()
function getErrorListeners(): Array<ANTLRErrorListener<Token>>
Gibt zurück
Array<ANTLRErrorListener<Token>>
Geerbt von Recognizer.getErrorListeners
getExpectedTokens()
Berechnet den Satz von Eingabesymbolen, die dem aktuellen Parserstatus bzw. Kontext folgen können, wie durch <xref:%23getState> bzw. <xref:%23getContext>angegeben.
Siehe ATN#getExpectedTokens(int, RuleContext)
function getExpectedTokens(): IntervalSet
Gibt zurück
IntervalSet
Geerbt von Parser.getExpectedTokens
getExpectedTokensWithinCurrentRule()
function getExpectedTokensWithinCurrentRule(): IntervalSet
Gibt zurück
IntervalSet
Geerbt von Parser.getExpectedTokensWithinCurrentRule
getInvokingContext(number)
function getInvokingContext(ruleIndex: number): ParserRuleContext | undefined
Parameter
- ruleIndex
-
number
Gibt zurück
ParserRuleContext | undefined
Von Parser.getInvokingContext geerbt
getParseListeners()
function getParseListeners(): ParseTreeListener[]
Gibt zurück
ParseTreeListener[]
Geerbt von Parser.getParseListeners
getRuleIndex(string)
Rufen Sie den Index einer Regel (d. h. RULE_ruleName
Feld) oder -1 ab, wenn sie nicht gefunden wurde.
function getRuleIndex(ruleName: string): number
Parameter
- ruleName
-
string
Gibt zurück
number
Von Parser.getRuleIndex geerbt
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
getRuleInvocationStack(RuleContext)
Rückgabeliste<Zeichenfolge> der Regelnamen in Ihrer Parserinstanz, die zu einem Aufruf der aktuellen Regel führt. Sie können außer Kraft setzen, wenn Sie weitere Details benötigen, z. B. die Datei-/Zeileninformationen dazu, wo in der ATN-Regel aufgerufen wird. Dies ist sehr nützlich für Fehlermeldungen.
function getRuleInvocationStack(ctx?: RuleContext): string[]
Parameter
- ctx
-
RuleContext
Gibt zurück
string[]
Geerbt von Parser.getRuleInvocationStack
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
inContext(string)
function inContext(context: string): boolean
Parameter
- context
-
string
Gibt zurück
boolean
geerbt von Parser.inContext
isExpectedToken(number)
Überprüft, ob symbol
dem aktuellen Status im ATN folgen kann. Das Verhalten dieser Methode entspricht der folgenden Methode, wird jedoch so implementiert, dass der vollständige kontextabhängige Folgesatz nicht explizit erstellt werden muss.
return getExpectedTokens().contains(symbol);
function isExpectedToken(symbol: number): boolean
Parameter
- symbol
-
number
der zu überprüfende Symboltyp
Gibt zurück
boolean
true
, wenn symbol
dem aktuellen Status im ATN folgen kann, andernfalls false
.
Geerbt von Parser.isExpectedToken
match(number)
Entspricht dem aktuellen Eingabesymbol für ttype
. Wenn der Symboltyp übereinstimmt, werden <xref:ANTLRErrorStrategy%23reportMatch> und <xref:%23consume> aufgerufen, um den Übereinstimmungsprozess abzuschließen.
Wenn der Symboltyp nicht übereinstimmt, wird <xref:ANTLRErrorStrategy%23recoverInline> für die aktuelle Fehlerstrategie aufgerufen, um die Wiederherstellung zu versuchen. Wenn <xref:%23getBuildParseTree>true
ist und der Tokenindex des von <xref:ANTLRErrorStrategy%23recoverInline> zurückgegebenen Symbols -1 ist, wird das Symbol zur Analysestruktur hinzugefügt, indem [Token)](xref:%23createErrorNode(ParserRuleContext%2C) aufgerufen wird, dann <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.
function match(ttype: number): Token
Parameter
- ttype
-
number
der Tokentyp, der übereinstimmen soll
Gibt zurück
Token
das übereinstimmende Symbol @, wenn das aktuelle Eingabesymbol nicht mit ttype
übereinstimmt, und die Fehlerstrategie konnte nicht aus dem nicht übereinstimmenen Symbol wiederhergestellt werden.
Geerbt von Parser.match
matchWildcard()
Zuordnen des aktuellen Eingabesymbols als Wildcard. Wenn der Symboltyp übereinstimmt (d. h. einen Wert größer als 0 hat), werden <xref:ANTLRErrorStrategy%23reportMatch> und <xref:%23consume> aufgerufen, um den Übereinstimmungsprozess abzuschließen.
Wenn der Symboltyp nicht übereinstimmt, wird <xref:ANTLRErrorStrategy%23recoverInline> für die aktuelle Fehlerstrategie aufgerufen, um die Wiederherstellung zu versuchen. Wenn <xref:%23getBuildParseTree>true
ist und der Tokenindex des von <xref:ANTLRErrorStrategy%23recoverInline> zurückgegebenen Symbols -1 ist, wird das Symbol zur Analysestruktur hinzugefügt, indem [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) aufgerufen wird, <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.
function matchWildcard(): Token
Gibt zurück
Token
das übereinstimmende Symbol @, wenn das aktuelle Eingabesymbol nicht mit einem Wildcard übereinstimmte und die Fehlerstrategie nicht aus dem nicht übereinstimmenden Symbol wiederhergestellt werden konnte.
Geerbt von Parser.matchWildcard
notifyErrorListeners(string)
function notifyErrorListeners(msg: string)
Parameter
- msg
-
string
geerbt von Parser.notifyErrorListeners
notifyErrorListeners(string, Token | null, RecognitionException | undefined)
function notifyErrorListeners(msg: string, offendingToken: Token | null, e: RecognitionException | undefined)
Parameter
- msg
-
string
- offendingToken
-
Token | null
- e
-
RecognitionException | undefined
geerbt von Parser.notifyErrorListeners
precpred(RuleContext, number)
function precpred(localctx: RuleContext, precedence: number): boolean
Parameter
- localctx
-
RuleContext
- precedence
-
number
Gibt zurück
boolean
von Parser.precpred geerbt
pushNewRecursionContext(ParserRuleContext, number, number)
Wie <xref:%23enterRule>, aber für rekursive Regeln. Machen Sie den aktuellen Kontext zum untergeordneten Element des eingehenden Localctx.
function pushNewRecursionContext(localctx: ParserRuleContext, state: number, ruleIndex: number)
Parameter
- localctx
-
ParserRuleContext
- state
-
number
- ruleIndex
-
number
geerbt von Parser.pushNewRecursionContext
removeErrorListener(ANTLRErrorListener<Token>)
function removeErrorListener(listener: ANTLRErrorListener<Token>)
Parameter
- listener
-
ANTLRErrorListener<Token>
Geerbt von Recognizer.removeErrorListener
removeErrorListeners()
function removeErrorListeners()
Geerbt von Recognizer.removeErrorListeners
removeParseListener(ParseTreeListener)
Entfernen Sie listener
aus der Liste der Analyselistener.
Wenn listener
undefined
ist oder nicht als Analyselistener hinzugefügt wurde, führt diese Methode nichts aus.
Siehe #addParseListener
function removeParseListener(listener: ParseTreeListener)
Parameter
- listener
-
ParseTreeListener
der zu entfernende Listener
Geerbt von Parser.removeParseListener
removeParseListeners()
Entfernen Sie alle Analyselistener.
Siehe #addParseListener
function removeParseListeners()
geerbt von Parser.removeParseListeners
reset()
Zurücksetzen des Zustands des Parsers
function reset()
geerbt von Parser.reset
reset(boolean)
function reset(resetInput: boolean)
Parameter
- resetInput
-
boolean
geerbt von Parser.reset
setProfile(boolean)
function setProfile(profile: boolean): Promise<void>
Parameter
- profile
-
boolean
Gibt zurück
Promise<void>
Geerbt von Parser.setProfile
unrollRecursionContexts(ParserRuleContext)
function unrollRecursionContexts(_parentctx: ParserRuleContext)
Parameter
- _parentctx
-
ParserRuleContext
Geerbt von Parser.unrollRecursionContexts