LGTemplateParser class
- Extends
-
Parser
Konstruktoren
LGTemplate |
Eigenschaften
Geerbte Eigenschaften
atn | Rufen Sie die ab, die serializedATN von der Erkennung für Vorhersage verwendet wird. |
build |
Verfolgen Sie die <xref:ParserRuleContext> Objekte während der Analyse nach, und verbinden Sie sie mithilfe der <xref:ParserRuleContext%23children> Liste, sodass sie eine Analysestruktur bilden. Die <xref:ParserRuleContext> von der Startregel zurückgegebene stellt den Stamm der Analysestruktur dar. Beachten Sie, dass Regelkontexte nur nach oben zeigen, wenn wir keine Analysestrukturen erstellen. Wenn eine Regel beendet wird, gibt sie den Kontext zurück, der jedoch Müll sammelt, wenn niemand einen Verweis enthält. Es zeigt nach oben, aber niemand zeigt darauf. Wenn wir Analysestrukturen erstellen, fügen wir alle diese Kontexte zur Liste hinzu <xref:ParserRuleContext%23children> . Kontexte sind dann keine Kandidaten für die Garbage Collection. |
context | |
current |
Match muss das aktuelle Eingabesymbol zurückgeben, das in die Bezeichnung für die zugeordnete Token ref eingefügt wird. z. B. x=ID. |
EOF | |
error |
|
input |
Legen Sie den Tokenstream fest, und setzen Sie den Parser zurück. |
interpreter | Legen Sie den ATN-Interpreter fest, der von der Erkennung für die Vorhersage verwendet wird. |
is |
|
is |
Während einer Analyse ist manchmal nützlich, um die Regelein- und -beendigungsereignisse sowie Tokenabgleiche zu überwachen. Dies dient zum schnellen und schmutzigen Debuggen. |
number |
Ruft die Anzahl der während der Analyse gemeldeten Syntaxfehler ab. Dieser Wert wird bei jedem Aufruf <xref:%23notifyErrorListeners> inkrementiert. Siehe #notifyErrorListeners |
parse |
|
precedence | Rufen Sie die Rangfolgenebene für die Oberste Rangfolgenregel ab. |
rule |
|
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. |
token |
Methoden
Geerbte Methoden
action(Rule |
|
add |
|
add |
Mit den folgenden spezifischen Ausnahmen sind Aufrufe von Listenerereignissen deterministisch, d. h. für identische Eingaben sind die Aufrufe von Listenermethoden identisch.
|
compile |
Die bevorzugte Methode zum Abrufen eines Strukturmusters. Hier finden Sie z. B. eine Beispielverwendung:
|
compile |
Dasselbe wie [int)](xref:%23compileParseTreePattern(String%2C), aber geben Sie ein LGFileLexer an, anstatt es aus diesem Parser abzuleiten. |
consume() | Nutzen Sie das aktuelle Symbol, und geben Sie es zurück.
Bei der folgenden Eingabe mit
Wenn sich der Parser nicht im Fehlerwiederherstellungsmodus befindet, wird das verbrauchte Symbol der Analysestruktur mithilfe <xref:ParserRuleContext%23addChild(TerminalNode)>von hinzugefügt und <xref:ParseTreeListener%23visitTerminal> für alle Analyselistener aufgerufen. Wenn sich der Parser im Fehlerwiederherstellungsmodus befindet, wird das verbrauchte Symbol der Analysestruktur mithilfe von [Token)](xref:%23createErrorNode(ParserRuleContext%2C) hinzugefügt und <xref:ParseTreeListener%23visitErrorNode> wird dann <xref:ParserRuleContext%23addErrorNode(ErrorNode)> auf allen Analyselistenern aufgerufen. |
create |
Erstellen eines Fehlerknotens mit einem Token, das einem übergeordneten Element zugeordnet ist. In der Regel ist der zu erstellende Fehlerknoten keine Funktion des übergeordneten Knotens. |
create |
Erstellen eines Tokenblattknotens, der einem übergeordneten Element zugeordnet ist In der Regel ist der zu erstellende Terminalknoten keine Funktion des übergeordneten Knotens. |
dumpDFA() | Zum Debuggen und zu anderen Zwecken. |
enter |
|
enter |
|
enter |
|
enter |
Wird beim Eintrag zu einer Regel immer von generierten Parsern aufgerufen. Zugriffsfeld <xref:%23_ctx> ruft den aktuellen Kontext ab. |
exit |
|
get |
Der ATN mit Umgehungsalternativen ist teuer zu erstellen, daher erstellen wir es faul.
@, wenn der aktuelle Parser die |
get |
Zum Debuggen und zu anderen Zwecken. |
get |
Was ist der Fehlerheader, normalerweise Zeilen-/Zeichenpositionsinformationen? |
get |
|
get |
|
get |
Berechnet den Satz von Eingabesymbolen, die dem aktuellen Parserzustand und -kontext folgen können, wie von <xref:%23getState> bzw <xref:%23getContext>. angegeben. Siehe ATN#getExpectedTokens(int, RuleContext) |
get |
|
get |
|
get |
|
get |
Rufen Sie den Index einer Regel (d. h. feld) oder -1 ab, |
get |
Abrufen einer Zuordnung von Regelnamen zu Regelindizes. Wird für die XPath- und Strukturmusterkompilierung verwendet. |
get |
Geben Sie die Listenzeichenfolge<> der Regelnamen in Ihrer Parserinstanz zurück, die zu einem Aufruf der aktuellen Regel führt. Sie können überschreiben, wenn Sie weitere Details benötigen, z. B. die Datei-/Zeileninformationen, wo im ATN eine Regel aufgerufen wird. Dies ist bei Fehlermeldungen sehr nützlich. |
get |
|
get |
Rufen Sie eine Zuordnung von Tokennamen zu Tokentypen ab. Wird für die XPath- und Strukturmusterkompilierung verwendet. |
in |
|
is |
Überprüft, ob der aktuelle Zustand im ATN folgen kann oder nicht
|
match(number) | Zuordnen des aktuellen Eingabesymbols mit |
match |
Entspricht dem aktuellen Eingabesymbol als Feldhalter. Wenn der Symboltyp übereinstimmt (d. h. einen Wert größer als 0 hat), <xref:ANTLRErrorStrategy%23reportMatch> und <xref:%23consume> werden aufgerufen, um den Übereinstimmungsprozess abzuschließen.
Wenn der Symboltyp nicht übereinstimmt, wird für die aktuelle Fehlerstrategie aufgerufen, <xref:ANTLRErrorStrategy%23recoverInline> um die Wiederherstellung zu versuchen. Wenn <xref:%23getBuildParseTree> ist |
notify |
|
notify |
|
precpred(Rule |
|
push |
Wie <xref:%23enterRule> , aber für rekursive Regeln. Stellen Sie den aktuellen Kontext als untergeordnetes Element des eingehenden localctx fest. |
remove |
|
remove |
|
remove |
Entfernen Sie Siehe #addParseListener |
remove |
Entfernen Sie alle Analyselistener. Siehe #addParseListener |
reset() | Zurücksetzen des Parsersstatus |
reset(boolean) | |
sempred(Rule |
|
set |
|
unroll |
Details zum Konstruktor
LGTemplateParser(TokenStream)
new LGTemplateParser(input: TokenStream)
Parameter
- input
-
TokenStream
Details zur Eigenschaft
CASE
public static CASE: 14 = 14
Eigenschaftswert
14
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
INVALID_TOKEN
public static INVALID_TOKEN: 6 = 6
Eigenschaftswert
6
LEFT_SQUARE_BRACKET
public static LEFT_SQUARE_BRACKET: 5 = 5
Eigenschaftswert
5
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
ruleNames
public static ruleNames: string[] = [
"template", "body", "structuredTemplateBody", "structuredBodyNameLine",
"errorStructuredName", "structuredBodyContentLine", "errorStructureLine",
"keyValueStructureLine", "keyValueStructureValue", "structuredBodyEndLine",
"normalTemplateBody", "templateString", "normalTemplateString", "errorTemplateString",
"ifElseTemplateBody", "ifConditionRule", "ifCondition", "switchCaseTemplateBody",
"switchCaseRule", "switchCaseStat", "expression", "expressionInStructure",
]
Eigenschaftswert
string[]
ruleNames
string[] ruleNames
Eigenschaftswert
string[]
RULE_body
public static RULE_body: 1 = 1
Eigenschaftswert
1
RULE_errorStructuredName
public static RULE_errorStructuredName: 4 = 4
Eigenschaftswert
4
RULE_errorStructureLine
public static RULE_errorStructureLine: 6 = 6
Eigenschaftswert
6
RULE_errorTemplateString
public static RULE_errorTemplateString: 13 = 13
Eigenschaftswert
13
RULE_expression
public static RULE_expression: 20 = 20
Eigenschaftswert
20
RULE_expressionInStructure
public static RULE_expressionInStructure: 21 = 21
Eigenschaftswert
21
RULE_ifCondition
public static RULE_ifCondition: 16 = 16
Eigenschaftswert
16
RULE_ifConditionRule
public static RULE_ifConditionRule: 15 = 15
Eigenschaftswert
15
RULE_ifElseTemplateBody
public static RULE_ifElseTemplateBody: 14 = 14
Eigenschaftswert
14
RULE_keyValueStructureLine
public static RULE_keyValueStructureLine: 7 = 7
Eigenschaftswert
7
RULE_keyValueStructureValue
public static RULE_keyValueStructureValue: 8 = 8
Eigenschaftswert
8
RULE_normalTemplateBody
public static RULE_normalTemplateBody: 10 = 10
Eigenschaftswert
10
RULE_normalTemplateString
public static RULE_normalTemplateString: 12 = 12
Eigenschaftswert
12
RULE_structuredBodyContentLine
public static RULE_structuredBodyContentLine: 5 = 5
Eigenschaftswert
5
RULE_structuredBodyEndLine
public static RULE_structuredBodyEndLine: 9 = 9
Eigenschaftswert
9
RULE_structuredBodyNameLine
public static RULE_structuredBodyNameLine: 3 = 3
Eigenschaftswert
3
RULE_structuredTemplateBody
public static RULE_structuredTemplateBody: 2 = 2
Eigenschaftswert
2
RULE_switchCaseRule
public static RULE_switchCaseRule: 18 = 18
Eigenschaftswert
18
RULE_switchCaseStat
public static RULE_switchCaseStat: 19 = 19
Eigenschaftswert
19
RULE_switchCaseTemplateBody
public static RULE_switchCaseTemplateBody: 17 = 17
Eigenschaftswert
17
RULE_template
public static RULE_template: 0 = 0
Eigenschaftswert
0
RULE_templateString
public static RULE_templateString: 11 = 11
Eigenschaftswert
11
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_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_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(LGTemplateParser._LITERAL_NAMES, LGTemplateParser._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
buildParseTree
Verfolgen Sie die <xref:ParserRuleContext> Objekte während der Analyse nach, und verbinden Sie sie mithilfe der <xref:ParserRuleContext%23children> Liste, sodass sie eine Analysestruktur bilden. Die <xref:ParserRuleContext> von der Startregel zurückgegebene stellt den Stamm der Analysestruktur dar. Beachten Sie, dass Regelkontexte nur nach oben zeigen, wenn wir keine Analysestrukturen erstellen. Wenn eine Regel beendet wird, gibt sie den Kontext zurück, der jedoch Müll sammelt, wenn niemand einen Verweis enthält. Es zeigt nach oben, aber niemand zeigt darauf.
Wenn wir Analysestrukturen erstellen, fügen wir alle diese Kontexte zur Liste hinzu <xref:ParserRuleContext%23children> . 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
Match muss das aktuelle Eingabesymbol zurückgeben, das in die Bezeichnung für die zugeordnete Token ref eingefügt wird. z. B. x=ID.
currentToken: Token
Eigenschaftswert
Token
Geerbt von Parser.currentToken
EOF
static EOF: number
Eigenschaftswert
number
Geerbt von Recognizer.EOF
errorHandler
errorHandler: ANTLRErrorStrategy
Eigenschaftswert
ANTLRErrorStrategy
Geerbt von Parser.errorHandler
inputStream
Legen Sie den Tokenstream fest, und setzen Sie den Parser zurück.
inputStream: TokenStream
Eigenschaftswert
TokenStream
Geerbt von Parser.inputStream
interpreter
Legen Sie den ATN-Interpreter fest, der von der Erkennung für die Vorhersage verwendet wird.
interpreter: ParserATNSimulator
Eigenschaftswert
ParserATNSimulator
Geerbt von Recognizer.interpreter
isMatchedEOF
isMatchedEOF: boolean
Eigenschaftswert
boolean
Geerbt von Parser.isMatchedEOF
isTrace
Während einer Analyse ist manchmal nützlich, um die Regelein- und -beendigungsereignisse sowie Tokenabgleiche zu überwachen. Dies dient zum schnellen und schmutzigen Debuggen.
isTrace: boolean
Eigenschaftswert
boolean
Geerbt von Parser.isTrace
numberOfSyntaxErrors
Ruft die Anzahl der während der Analyse gemeldeten Syntaxfehler ab. Dieser Wert wird bei jedem Aufruf <xref:%23notifyErrorListeners> inkrementiert.
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 Rangfolgenebene für die Oberste Rangfolgenregel ab.
precedence: number
Eigenschaftswert
number
Geerbt von Parser.rangfolge
ruleContext
ruleContext: ParserRuleContext
Eigenschaftswert
ParserRuleContext
Geerbt von Parser.ruleContext
sourceName
sourceName: string
Eigenschaftswert
string
Geerbt von Parser.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
tokenFactory
tokenFactory: TokenFactory
Eigenschaftswert
TokenFactory
Geerbt von Parser.tokenFactory
Details zur Methode
body()
errorStructuredName()
errorStructureLine()
errorTemplateString()
expression()
expressionInStructure()
function expressionInStructure(): ExpressionInStructureContext
Gibt zurück
ifCondition()
ifConditionRule()
ifElseTemplateBody()
keyValueStructureLine()
function keyValueStructureLine(): KeyValueStructureLineContext
Gibt zurück
keyValueStructureValue()
function keyValueStructureValue(): KeyValueStructureValueContext
Gibt zurück
normalTemplateBody()
normalTemplateString()
function normalTemplateString(): NormalTemplateStringContext
Gibt zurück
structuredBodyContentLine()
function structuredBodyContentLine(): StructuredBodyContentLineContext
Gibt zurück
structuredBodyEndLine()
function structuredBodyEndLine(): StructuredBodyEndLineContext
Gibt zurück
structuredBodyNameLine()
function structuredBodyNameLine(): StructuredBodyNameLineContext
Gibt zurück
structuredTemplateBody()
function structuredTemplateBody(): StructuredTemplateBodyContext
Gibt zurück
switchCaseRule()
switchCaseStat()
switchCaseTemplateBody()
function switchCaseTemplateBody(): SwitchCaseTemplateBodyContext
Gibt zurück
template()
templateString()
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)
listener
Registriert sich, um Ereignisse während des Analyseprozesses zu empfangen.
Zur Unterstützung von Grammatiktransformationen zur Beibehaltung der Ausgabe (einschließlich, aber nicht beschränkt auf das Entfernen der Linksrekursion, automatisiertes Left Factoring und optimierte Codegenerierung) können sich Aufrufe von Listenermethoden während der Analyse erheblich von Aufrufen unterscheiden, die nach Abschluss der Analyse verwendet werden <xref:ParseTreeWalker%23DEFAULT> . Insbesondere können Regeleingabe- und -exitereignisse während der Analyse in einer anderen Reihenfolge als nach dem Parser auftreten. Darüber hinaus können Aufrufe bestimmter Regeleintragsmethoden weggelassen werden.
Mit den folgenden spezifischen Ausnahmen sind Aufrufe von Listenerereignissen deterministisch, d. h. für identische Eingaben sind die Aufrufe von Listenermethoden identisch.
- Änderungen an der Grammatik, die zum Generieren von Code verwendet werden, 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, das zum Generieren des Parsers verwendet wird, 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 finden Sie z. B. 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)
Dasselbe wie [int)](xref:%23compileParseTreePattern(String%2C), aber geben Sie ein LGFileLexer an, anstatt es aus 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()
Nutzen Sie das aktuelle Symbol, und geben Sie es zurück.
Bei der folgenden Eingabe mit A
dem aktuellen Lookaheadsymbol verschiebt diese Funktion z. B. den Cursor nach B
und gibt zurück A
.
A B
^
Wenn sich der Parser nicht im Fehlerwiederherstellungsmodus befindet, wird das verbrauchte Symbol der Analysestruktur mithilfe <xref:ParserRuleContext%23addChild(TerminalNode)>von hinzugefügt und <xref:ParseTreeListener%23visitTerminal> für alle Analyselistener aufgerufen. Wenn sich der Parser im Fehlerwiederherstellungsmodus befindet, wird das verbrauchte Symbol der Analysestruktur mithilfe von [Token)](xref:%23createErrorNode(ParserRuleContext%2C) hinzugefügt und <xref:ParseTreeListener%23visitErrorNode> wird dann <xref:ParserRuleContext%23addErrorNode(ErrorNode)> auf allen Analyselistenern aufgerufen.
function consume(): Token
Gibt zurück
Token
Geerbt von Parser.consume
createErrorNode(ParserRuleContext, Token)
Erstellen eines Fehlerknotens mit einem Token, das einem übergeordneten Element zugeordnet ist. In der Regel ist der zu erstellende Fehlerknoten keine Funktion des übergeordneten Knotens.
function createErrorNode(parent: ParserRuleContext, t: Token): ErrorNode
Parameter
- parent
-
ParserRuleContext
- t
-
Token
Gibt zurück
ErrorNode
Geerbt von Parser.createErrorNode
createTerminalNode(ParserRuleContext, Token)
Erstellen eines Tokenblattknotens, der einem übergeordneten Element zugeordnet ist In der Regel ist der zu erstellende Terminalknoten keine Funktion des übergeordneten Knotens.
function createTerminalNode(parent: ParserRuleContext, t: Token): TerminalNode
Parameter
- parent
-
ParserRuleContext
- t
-
Token
Gibt zurück
TerminalNode
Geerbt von Parser.createTerminalNode
dumpDFA()
Zum Debuggen und zu anderen Zwecken.
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
Geerbt von Parser.enterLeftFactoredRule
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
Geerbt von Parser.enterRecursionRule
enterRule(ParserRuleContext, number, number)
Wird beim Eintrag zu einer Regel immer von generierten Parsern aufgerufen. Zugriffsfeld <xref:%23_ctx> ruft den aktuellen Kontext ab.
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()
Der ATN mit Umgehungsalternativen ist teuer zu erstellen, daher erstellen wir es faul.
@, wenn der aktuelle Parser die serializedATN
Eigenschaft nicht implementiert.
function getATNWithBypassAlts(): ATN
Gibt zurück
ATN
Geerbt von Parser.getATNWithBypassAlts
getDFAStrings()
Zum Debuggen und zu anderen Zwecken.
function getDFAStrings(): string[]
Gibt zurück
string[]
Geerbt von Parser.getDFAStrings
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 Parserzustand und -kontext folgen können, wie von <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
Geerbt von Parser.getInvokingContext
getParseListeners()
function getParseListeners(): ParseTreeListener[]
Gibt zurück
ParseTreeListener[]
Geerbt von Parser.getParseListeners
getRuleIndex(string)
Rufen Sie den Index einer Regel (d. h. feld) oder -1 ab, RULE_ruleName
wenn sie nicht gefunden wurde.
function getRuleIndex(ruleName: string): number
Parameter
- ruleName
-
string
Gibt zurück
number
Geerbt von Parser.getRuleIndex
getRuleIndexMap()
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)
Geben Sie die Listenzeichenfolge<> der Regelnamen in Ihrer Parserinstanz zurück, die zu einem Aufruf der aktuellen Regel führt. Sie können überschreiben, wenn Sie weitere Details benötigen, z. B. die Datei-/Zeileninformationen, wo im ATN eine Regel aufgerufen wird. Dies ist bei Fehlermeldungen sehr nützlich.
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()
Rufen Sie eine Zuordnung von Tokennamen zu Tokentypen ab. 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 der aktuelle Zustand im ATN folgen kann oder nicht symbol
. Das Verhalten dieser Methode entspricht dem folgenden, wird aber so implementiert, dass der vollständige kontextsensitive Followsatz nicht explizit erstellt werden muss.
return getExpectedTokens().contains(symbol);
function isExpectedToken(symbol: number): boolean
Parameter
- symbol
-
number
den zu überprüfenden Symboltyp
Gibt zurück
boolean
true
, wenn symbol
dem aktuellen Zustand im ATN folgen kann, andernfalls false
.
Geerbt von Parser.isExpectedToken
match(number)
Zuordnen des aktuellen Eingabesymbols mit ttype
. Wenn der Symboltyp übereinstimmt und <xref:%23consume> aufgerufen wird, <xref:ANTLRErrorStrategy%23reportMatch> um den Abgleichsprozess abzuschließen.
Wenn der Symboltyp nicht übereinstimmt, wird für die aktuelle Fehlerstrategie aufgerufen, <xref:ANTLRErrorStrategy%23recoverInline> um die Wiederherstellung zu versuchen. Wenn <xref:%23getBuildParseTree> ist true
und der Tokenindex des von <xref:ANTLRErrorStrategy%23recoverInline> zurückgegebenen Symbols -1 ist, wird das Symbol der Analysestruktur hinzugefügt, indem [Token)](xref:%23createErrorNode(ParserRuleContext%2C) und dann <xref:ParserRuleContext%23addErrorNode(ErrorNode)>aufgerufen wird.
function match(ttype: number): Token
Parameter
- ttype
-
number
der zu übereinstimmende Tokentyp
Gibt zurück
Token
das übereinstimmende Symbol @, wenn das aktuelle Eingabesymbol nicht übereinstimmt ttype
und die Fehlerstrategie nicht nach dem nicht übereinstimmende Symbol wiederherstellen konnte
Geerbt von Parser.match
matchWildcard()
Entspricht dem aktuellen Eingabesymbol als Feldhalter. Wenn der Symboltyp übereinstimmt (d. h. einen Wert größer als 0 hat), <xref:ANTLRErrorStrategy%23reportMatch> und <xref:%23consume> werden aufgerufen, um den Übereinstimmungsprozess abzuschließen.
Wenn der Symboltyp nicht übereinstimmt, wird für die aktuelle Fehlerstrategie aufgerufen, <xref:ANTLRErrorStrategy%23recoverInline> um die Wiederherstellung zu versuchen. Wenn <xref:%23getBuildParseTree> ist true
und der Tokenindex des von <xref:ANTLRErrorStrategy%23recoverInline> zurückgegebenen Symbols -1 ist, wird das Symbol der Analysestruktur hinzugefügt, indem [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) und dann <xref:ParserRuleContext%23addErrorNode(ErrorNode)>aufgerufen wird.
function matchWildcard(): Token
Gibt zurück
Token
das übereinstimmende Symbol @, wenn das aktuelle Eingabesymbol nicht mit einem Feldhalter übereinstimmte und die Fehlerstrategie nicht nach dem nicht übereinstimmenden Symbol wiederherstellen 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
Geerbt von Parser.precpred
pushNewRecursionContext(ParserRuleContext, number, number)
Wie <xref:%23enterRule> , aber für rekursive Regeln. Stellen Sie den aktuellen Kontext als untergeordnetes Element des eingehenden localctx fest.
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
ein Analyselistener hinzugefügt wurde undefined
oder nicht hinzugefügt wurde, bewirkt diese Methode nichts.
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 Parsersstatus
function reset()
Geerbt von Parser.reset
reset(boolean)
function reset(resetInput: boolean)
Parameter
- resetInput
-
boolean
Geerbt von Parser.reset
sempred(RuleContext | undefined, number, number)
function sempred(_localctx: RuleContext | undefined, ruleIndex: number, actionIndex: number): boolean
Parameter
- _localctx
-
RuleContext | undefined
- ruleIndex
-
number
- actionIndex
-
number
Gibt zurück
boolean
Geerbt von Recognizer.sempred
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