Freigeben über


LGTemplateParser class

Extends

Parser

Konstruktoren

LGTemplateParser(TokenStream)

Eigenschaften

CASE
COMMENTS
DASH
DEFAULT
ELSE
ELSEIF
ESCAPE_CHARACTER
ESCAPE_CHARACTER_IN_STRUCTURE_BODY
EXPRESSION
EXPRESSION_IN_STRUCTURE_BODY
grammarFileName
IF
INVALID_TOKEN
LEFT_SQUARE_BRACKET
MULTILINE_PREFIX
MULTILINE_SUFFIX
NEWLINE
NEWLINE_IN_BODY
NEWLINE_IN_STRUCTURE_NAME
ruleNames
ruleNames
RULE_body
RULE_errorStructuredName
RULE_errorStructureLine
RULE_errorTemplateString
RULE_expression
RULE_expressionInStructure
RULE_ifCondition
RULE_ifConditionRule
RULE_ifElseTemplateBody
RULE_keyValueStructureLine
RULE_keyValueStructureValue
RULE_normalTemplateBody
RULE_normalTemplateString
RULE_structuredBodyContentLine
RULE_structuredBodyEndLine
RULE_structuredBodyNameLine
RULE_structuredTemplateBody
RULE_switchCaseRule
RULE_switchCaseStat
RULE_switchCaseTemplateBody
RULE_template
RULE_templateString
serializedATN
STRUCTURED_BODY_END
STRUCTURED_COMMENTS
STRUCTURED_NEWLINE
STRUCTURE_EQUALS
STRUCTURE_IDENTIFIER
STRUCTURE_NAME
STRUCTURE_OR_MARK
SWITCH
TEXT
TEXT_IN_STRUCTURE_BODY
TEXT_IN_STRUCTURE_NAME
VOCABULARY
vocabulary
WS
WS_IN_BODY
WS_IN_STRUCTURE_BODY
WS_IN_STRUCTURE_NAME

Geerbte Eigenschaften

atn

Rufen Sie die ab, die serializedATN von der Erkennung für Vorhersage verwendet wird.

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.

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.

EOF
errorHandler
inputStream

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.

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.

numberOfSyntaxErrors

Ruft die Anzahl der während der Analyse gemeldeten Syntaxfehler ab. Dieser Wert wird bei jedem Aufruf <xref:%23notifyErrorListeners> inkrementiert.

Siehe #notifyErrorListeners

parseInfo
precedence

Rufen Sie die Rangfolgenebene für die Oberste Rangfolgenregel ab.

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

tokenFactory

Methoden

body()
errorStructuredName()
errorStructureLine()
errorTemplateString()
expression()
expressionInStructure()
ifCondition()
ifConditionRule()
ifElseTemplateBody()
keyValueStructureLine()
keyValueStructureValue()
normalTemplateBody()
normalTemplateString()
structuredBodyContentLine()
structuredBodyEndLine()
structuredBodyNameLine()
structuredTemplateBody()
switchCaseRule()
switchCaseStat()
switchCaseTemplateBody()
template()
templateString()

Geerbte Methoden

action(RuleContext | undefined, number, number)
addErrorListener(ANTLRErrorListener<Token>)
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.
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");
compileParseTreePattern(string, number, Lexer)

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

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.

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.

dumpDFA()

Zum Debuggen und zu anderen Zwecken.

enterLeftFactoredRule(ParserRuleContext, number, number)
enterOuterAlt(ParserRuleContext, number)
enterRecursionRule(ParserRuleContext, number, number, number)
enterRule(ParserRuleContext, number, number)

Wird beim Eintrag zu einer Regel immer von generierten Parsern aufgerufen. Zugriffsfeld <xref:%23_ctx> ruft den aktuellen Kontext ab.

exitRule()
getATNWithBypassAlts()

Der ATN mit Umgehungsalternativen ist teuer zu erstellen, daher erstellen wir es faul. @, wenn der aktuelle Parser die serializedATN Eigenschaft nicht implementiert.

getDFAStrings()

Zum Debuggen und zu anderen Zwecken.

getErrorHeader(RecognitionException)

Was ist der Fehlerheader, normalerweise Zeilen-/Zeichenpositionsinformationen?

getErrorListenerDispatch()
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)

getExpectedTokensWithinCurrentRule()
getInvokingContext(number)
getParseListeners()
getRuleIndex(string)

Rufen Sie den Index einer Regel (d. h. feld) oder -1 ab, RULE_ruleName wenn sie nicht gefunden wurde.

getRuleIndexMap()

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

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.

getTokenType(string)
getTokenTypeMap()

Rufen Sie eine Zuordnung von Tokennamen zu Tokentypen ab. Wird für die XPath- und Strukturmusterkompilierung verwendet.

inContext(string)
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);
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.

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.

notifyErrorListeners(string)
notifyErrorListeners(string, Token | null, RecognitionException | undefined)
precpred(RuleContext, number)
pushNewRecursionContext(ParserRuleContext, number, number)

Wie <xref:%23enterRule> , aber für rekursive Regeln. Stellen Sie den aktuellen Kontext als untergeordnetes Element des eingehenden localctx fest.

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

removeParseListeners()

Entfernen Sie alle Analyselistener.

Siehe #addParseListener

reset()

Zurücksetzen des Parsersstatus

reset(boolean)
sempred(RuleContext | undefined, number, number)
setProfile(boolean)
unrollRecursionContexts(ParserRuleContext)

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()

function body(): BodyContext

Gibt zurück

errorStructuredName()

function errorStructuredName(): ErrorStructuredNameContext

Gibt zurück

errorStructureLine()

function errorStructureLine(): ErrorStructureLineContext

Gibt zurück

errorTemplateString()

function errorTemplateString(): ErrorTemplateStringContext

Gibt zurück

expression()

function expression(): ExpressionContext

Gibt zurück

expressionInStructure()

function expressionInStructure(): ExpressionInStructureContext

Gibt zurück

ifCondition()

function ifCondition(): IfConditionContext

Gibt zurück

ifConditionRule()

function ifConditionRule(): IfConditionRuleContext

Gibt zurück

ifElseTemplateBody()

function ifElseTemplateBody(): IfElseTemplateBodyContext

Gibt zurück

keyValueStructureLine()

function keyValueStructureLine(): KeyValueStructureLineContext

Gibt zurück

keyValueStructureValue()

function keyValueStructureValue(): KeyValueStructureValueContext

Gibt zurück

normalTemplateBody()

function normalTemplateBody(): NormalTemplateBodyContext

Gibt zurück

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()

function switchCaseRule(): SwitchCaseRuleContext

Gibt zurück

switchCaseStat()

function switchCaseStat(): SwitchCaseStatContext

Gibt zurück

switchCaseTemplateBody()

function switchCaseTemplateBody(): SwitchCaseTemplateBodyContext

Gibt zurück

template()

function template(): TemplateContext

Gibt zurück

templateString()

function templateString(): TemplateStringContext

Gibt zurück

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