CommonRegexParser class
- Extends
-
Parser
Konstruktoren
Common |
Eigenschaften
Geerbte Eigenschaften
atn | Ruft die ab, die serializedATN von der Erkennung für die Vorhersage verwendet wird. |
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> 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 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 der 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 Tokenreferenz 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 fehlerhaften Debuggen. |
number |
Ruft die Anzahl der Syntaxfehler ab, die während der Analyse gemeldet werden. Dieser Wert wird bei jedem Aufruf <xref:%23notifyErrorListeners> erhöht. 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 geht. Die Regelkontextobjekte bilden einen Stapel, in dem der Stapel der Aufrufregeln angezeigt wird. 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 CommonRegexLexer 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 |
Ruft den Index einer Regel (z. B. feld) oder -1 ab, |
get |
Ruft eine Zuordnung von Regelnamen zu Regelindizes ab. Wird für die Kompilierung von XPath- und Strukturmustern 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 sehr nützlich für Fehlermeldungen. |
get |
|
get |
Ruft eine Zuordnung von Tokennamen zu Tokentypen ab. Wird für die Kompilierung von XPath- und Strukturmustern verwendet. |
in |
|
is |
Überprüft, ob dem aktuellen Zustand im ATN folgen kann.
|
match(number) | Entspricht dem aktuellen Eingabesymbol mit |
match |
Entspricht dem aktuellen Eingabesymbol als Wildcard. 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, <xref:ANTLRErrorStrategy%23recoverInline> wird für die aktuelle Fehlerstrategie aufgerufen, um die Wiederherstellung zu versuchen. Wenn <xref:%23getBuildParseTree> ist |
notify |
|
notify |
|
precpred(Rule |
|
push |
Wie <xref:%23enterRule> , aber für rekursive Regeln. Legen 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 Status des Parsers |
reset(boolean) | |
sempred(Rule |
|
set |
|
unroll |
Details zum Konstruktor
CommonRegexParser(TokenStream)
new CommonRegexParser(input: TokenStream)
Parameter
- input
-
TokenStream
Details zur Eigenschaft
ALC
public static ALC: 44 = 44
Eigenschaftswert
44
Ampersand
public static Ampersand: 43 = 43
Eigenschaftswert
43
AUC
public static AUC: 70 = 70
Eigenschaftswert
70
Backslash
public static Backslash: 10 = 10
Eigenschaftswert
10
BellChar
public static BellChar: 3 = 3
Eigenschaftswert
3
BLC
public static BLC: 45 = 45
Eigenschaftswert
45
BlockQuoted
public static BlockQuoted: 2 = 2
Eigenschaftswert
2
BUC
public static BUC: 71 = 71
Eigenschaftswert
71
Caret
public static Caret: 23 = 23
Eigenschaftswert
23
CarriageReturn
public static CarriageReturn: 8 = 8
Eigenschaftswert
8
CharacterClassEnd
public static CharacterClassEnd: 22 = 22
Eigenschaftswert
22
CharacterClassStart
public static CharacterClassStart: 21 = 21
Eigenschaftswert
21
CharWithoutProperty
public static CharWithoutProperty: 16 = 16
Eigenschaftswert
16
CharWithProperty
public static CharWithProperty: 15 = 15
Eigenschaftswert
15
CLC
public static CLC: 46 = 46
Eigenschaftswert
46
CloseBrace
public static CloseBrace: 29 = 29
Eigenschaftswert
29
CloseParen
public static CloseParen: 34 = 34
Eigenschaftswert
34
Colon
public static Colon: 39 = 39
Eigenschaftswert
39
Comma
public static Comma: 30 = 30
Eigenschaftswert
30
ControlChar
public static ControlChar: 4 = 4
Eigenschaftswert
4
CUC
public static CUC: 72 = 72
Eigenschaftswert
72
D0
public static D0: 105 = 105
Eigenschaftswert
105
D1
public static D1: 96 = 96
Eigenschaftswert
96
D2
public static D2: 97 = 97
Eigenschaftswert
97
D3
public static D3: 98 = 98
Eigenschaftswert
98
D4
public static D4: 99 = 99
Eigenschaftswert
99
D5
public static D5: 100 = 100
Eigenschaftswert
100
D6
public static D6: 101 = 101
Eigenschaftswert
101
D7
public static D7: 102 = 102
Eigenschaftswert
102
D8
public static D8: 103 = 103
Eigenschaftswert
103
D9
public static D9: 104 = 104
Eigenschaftswert
104
DecimalDigit
public static DecimalDigit: 13 = 13
Eigenschaftswert
13
DLC
public static DLC: 47 = 47
Eigenschaftswert
47
Dot
public static Dot: 12 = 12
Eigenschaftswert
12
DUC
public static DUC: 73 = 73
Eigenschaftswert
73
ELC
public static ELC: 48 = 48
Eigenschaftswert
48
EndOfSubject
public static EndOfSubject: 31 = 31
Eigenschaftswert
31
Equals
public static Equals: 41 = 41
Eigenschaftswert
41
EscapeChar
public static EscapeChar: 5 = 5
Eigenschaftswert
5
EUC
public static EUC: 74 = 74
Eigenschaftswert
74
Exclamation
public static Exclamation: 42 = 42
Eigenschaftswert
42
FLC
public static FLC: 49 = 49
Eigenschaftswert
49
FormFeed
public static FormFeed: 6 = 6
Eigenschaftswert
6
FUC
public static FUC: 75 = 75
Eigenschaftswert
75
GLC
public static GLC: 50 = 50
Eigenschaftswert
50
grammarFileName
string grammarFileName
Eigenschaftswert
string
GreaterThan
public static GreaterThan: 36 = 36
Eigenschaftswert
36
GUC
public static GUC: 76 = 76
Eigenschaftswert
76
Hash
public static Hash: 40 = 40
Eigenschaftswert
40
HexChar
public static HexChar: 11 = 11
Eigenschaftswert
11
HLC
public static HLC: 51 = 51
Eigenschaftswert
51
HUC
public static HUC: 77 = 77
Eigenschaftswert
77
Hyphen
public static Hyphen: 24 = 24
Eigenschaftswert
24
ILC
public static ILC: 52 = 52
Eigenschaftswert
52
IUC
public static IUC: 78 = 78
Eigenschaftswert
78
JLC
public static JLC: 53 = 53
Eigenschaftswert
53
JUC
public static JUC: 79 = 79
Eigenschaftswert
79
KLC
public static KLC: 54 = 54
Eigenschaftswert
54
KUC
public static KUC: 80 = 80
Eigenschaftswert
80
LessThan
public static LessThan: 35 = 35
Eigenschaftswert
35
LLC
public static LLC: 55 = 55
Eigenschaftswert
55
LUC
public static LUC: 81 = 81
Eigenschaftswert
81
MLC
public static MLC: 56 = 56
Eigenschaftswert
56
MUC
public static MUC: 82 = 82
Eigenschaftswert
82
NewLine
public static NewLine: 7 = 7
Eigenschaftswert
7
NLC
public static NLC: 57 = 57
Eigenschaftswert
57
NotDecimalDigit
public static NotDecimalDigit: 14 = 14
Eigenschaftswert
14
NotWhiteSpace
public static NotWhiteSpace: 18 = 18
Eigenschaftswert
18
NotWordChar
public static NotWordChar: 20 = 20
Eigenschaftswert
20
NUC
public static NUC: 83 = 83
Eigenschaftswert
83
OLC
public static OLC: 58 = 58
Eigenschaftswert
58
OpenBrace
public static OpenBrace: 28 = 28
Eigenschaftswert
28
OpenParen
public static OpenParen: 33 = 33
Eigenschaftswert
33
OtherChar
public static OtherChar: 106 = 106
Eigenschaftswert
106
OUC
public static OUC: 84 = 84
Eigenschaftswert
84
Pipe
public static Pipe: 32 = 32
Eigenschaftswert
32
PLC
public static PLC: 59 = 59
Eigenschaftswert
59
Plus
public static Plus: 26 = 26
Eigenschaftswert
26
PUC
public static PUC: 85 = 85
Eigenschaftswert
85
QLC
public static QLC: 60 = 60
Eigenschaftswert
60
QUC
public static QUC: 86 = 86
Eigenschaftswert
86
QuestionMark
public static QuestionMark: 25 = 25
Eigenschaftswert
25
Quoted
public static Quoted: 1 = 1
Eigenschaftswert
1
RLC
public static RLC: 61 = 61
Eigenschaftswert
61
RUC
public static RUC: 87 = 87
Eigenschaftswert
87
ruleNames
public static ruleNames: string[] = [
"parse", "alternation", "expr", "element", "quantifier", "quantifier_type",
"character_class", "capture", "non_capture", "option", "option_flag",
"atom", "cc_atom", "shared_atom", "literal", "cc_literal", "shared_literal",
"number", "octal_char", "octal_digit", "digits", "digit", "name", "alpha_nums",
"non_close_parens", "non_close_paren", "letter",
]
Eigenschaftswert
string[]
ruleNames
string[] ruleNames
Eigenschaftswert
string[]
RULE_alpha_nums
public static RULE_alpha_nums: 23 = 23
Eigenschaftswert
23
RULE_alternation
public static RULE_alternation: 1 = 1
Eigenschaftswert
1
RULE_atom
public static RULE_atom: 11 = 11
Eigenschaftswert
11
RULE_capture
public static RULE_capture: 7 = 7
Eigenschaftswert
7
RULE_cc_atom
public static RULE_cc_atom: 12 = 12
Eigenschaftswert
12
RULE_cc_literal
public static RULE_cc_literal: 15 = 15
Eigenschaftswert
15
RULE_character_class
public static RULE_character_class: 6 = 6
Eigenschaftswert
6
RULE_digit
public static RULE_digit: 21 = 21
Eigenschaftswert
21
RULE_digits
public static RULE_digits: 20 = 20
Eigenschaftswert
20
RULE_element
public static RULE_element: 3 = 3
Eigenschaftswert
3
RULE_expr
public static RULE_expr: 2 = 2
Eigenschaftswert
2
RULE_letter
public static RULE_letter: 26 = 26
Eigenschaftswert
26
RULE_literal
public static RULE_literal: 14 = 14
Eigenschaftswert
14
RULE_name
public static RULE_name: 22 = 22
Eigenschaftswert
22
RULE_non_capture
public static RULE_non_capture: 8 = 8
Eigenschaftswert
8
RULE_non_close_paren
public static RULE_non_close_paren: 25 = 25
Eigenschaftswert
25
RULE_non_close_parens
public static RULE_non_close_parens: 24 = 24
Eigenschaftswert
24
RULE_number
public static RULE_number: 17 = 17
Eigenschaftswert
17
RULE_octal_char
public static RULE_octal_char: 18 = 18
Eigenschaftswert
18
RULE_octal_digit
public static RULE_octal_digit: 19 = 19
Eigenschaftswert
19
RULE_option
public static RULE_option: 9 = 9
Eigenschaftswert
9
RULE_option_flag
public static RULE_option_flag: 10 = 10
Eigenschaftswert
10
RULE_parse
public static RULE_parse: 0 = 0
Eigenschaftswert
0
RULE_quantifier
public static RULE_quantifier: 4 = 4
Eigenschaftswert
4
RULE_quantifier_type
public static RULE_quantifier_type: 5 = 5
Eigenschaftswert
5
RULE_shared_atom
public static RULE_shared_atom: 13 = 13
Eigenschaftswert
13
RULE_shared_literal
public static RULE_shared_literal: 16 = 16
Eigenschaftswert
16
serializedATN
string serializedATN
Eigenschaftswert
string
SingleQuote
public static SingleQuote: 37 = 37
Eigenschaftswert
37
SLC
public static SLC: 62 = 62
Eigenschaftswert
62
Star
public static Star: 27 = 27
Eigenschaftswert
27
SUC
public static SUC: 88 = 88
Eigenschaftswert
88
Tab
public static Tab: 9 = 9
Eigenschaftswert
9
TLC
public static TLC: 63 = 63
Eigenschaftswert
63
TUC
public static TUC: 89 = 89
Eigenschaftswert
89
ULC
public static ULC: 64 = 64
Eigenschaftswert
64
Underscore
public static Underscore: 38 = 38
Eigenschaftswert
38
UUC
public static UUC: 90 = 90
Eigenschaftswert
90
VLC
public static VLC: 65 = 65
Eigenschaftswert
65
VOCABULARY
public static VOCABULARY: Vocabulary = new VocabularyImpl(CommonRegexParser._LITERAL_NAMES, CommonRegexParser._SYMBOLIC_NAMES, [])
Eigenschaftswert
Vocabulary
vocabulary
Vocabulary vocabulary
Eigenschaftswert
Vocabulary
VUC
public static VUC: 91 = 91
Eigenschaftswert
91
WhiteSpace
public static WhiteSpace: 17 = 17
Eigenschaftswert
17
WLC
public static WLC: 66 = 66
Eigenschaftswert
66
WordChar
public static WordChar: 19 = 19
Eigenschaftswert
19
WUC
public static WUC: 92 = 92
Eigenschaftswert
92
XLC
public static XLC: 67 = 67
Eigenschaftswert
67
XUC
public static XUC: 93 = 93
Eigenschaftswert
93
YLC
public static YLC: 68 = 68
Eigenschaftswert
68
YUC
public static YUC: 94 = 94
Eigenschaftswert
94
ZLC
public static ZLC: 69 = 69
Eigenschaftswert
69
ZUC
public static ZUC: 95 = 95
Eigenschaftswert
95
Geerbte Eigenschaftsdetails
atn
Ruft die ab, die serializedATN von der Erkennung für die Vorhersage verwendet wird.
atn: ATN
Eigenschaftswert
ATN
Geerbt von Recognizer.atn
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> 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 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 der 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 Tokenreferenz 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 fehlerhaften Debuggen.
isTrace: boolean
Eigenschaftswert
boolean
Geerbt von Parser.isTrace
numberOfSyntaxErrors
Ruft die Anzahl der Syntaxfehler ab, die während der Analyse gemeldet werden. Dieser Wert wird bei jedem Aufruf <xref:%23notifyErrorListeners> erhöht.
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.precedence
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 geht. Die Regelkontextobjekte bilden einen Stapel, in dem der Stapel der Aufrufregeln angezeigt wird. Kombinieren Sie dies, und wir haben vollständige ATN-Konfigurationsinformationen.
state: number
Eigenschaftswert
number
Geerbt von Recognizer.state
tokenFactory
tokenFactory: TokenFactory
Eigenschaftswert
TokenFactory
Geerbt von Parser.tokenFactory
Details zur Methode
alpha_nums()
alternation()
atom()
capture()
cc_atom()
cc_literal()
character_class()
digit()
digits()
element()
expr()
letter()
literal()
name()
non_capture()
non_close_paren()
non_close_parens()
number()
octal_char()
octal_digit()
option()
option_flag()
parse()
quantifier()
quantifier_type()
shared_atom()
shared_literal()
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 CommonRegexLexer 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)
Ruft den Index einer Regel (z. B. feld) oder -1 ab, RULE_ruleName
wenn er nicht gefunden wird.
function getRuleIndex(ruleName: string): number
Parameter
- ruleName
-
string
Gibt zurück
number
Geerbt von Parser.getRuleIndex
getRuleIndexMap()
Ruft eine Zuordnung von Regelnamen zu Regelindizes ab. Wird für die Kompilierung von XPath- und Strukturmustern verwendet.
function getRuleIndexMap(): ReadonlyMap<string, number>
Gibt zurück
ReadonlyMap<string, number>
Geerbt von Recognizer.getRuleIndexMap
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 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()
Ruft eine Zuordnung von Tokennamen zu Tokentypen ab. Wird für die Kompilierung von XPath- und Strukturmustern verwendet.
function getTokenTypeMap(): ReadonlyMap<string, number>
Gibt zurück
ReadonlyMap<string, number>
Geerbt von Recognizer.getTokenTypeMap
inContext(string)
function inContext(context: string): boolean
Parameter
- context
-
string
Gibt zurück
boolean
Geerbt von Parser.inContext
isExpectedToken(number)
Überprüft, ob dem aktuellen Zustand im ATN folgen kann.symbol
Das Verhalten dieser Methode entspricht dem folgenden, wird jedoch so implementiert, dass der vollständige kontextabhängige Follow-Satz 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 Zustand im ATN folgen kann, andernfalls false
.
Geerbt von Parser.isExpectedToken
match(number)
Entspricht dem aktuellen Eingabesymbol mit ttype
. Wenn der Symboltyp übereinstimmt, und <xref:%23consume> werden aufgerufen, <xref:ANTLRErrorStrategy%23reportMatch> um den Übereinstimmungsprozess abzuschließen.
Wenn der Symboltyp nicht übereinstimmt, <xref:ANTLRErrorStrategy%23recoverInline> wird für die aktuelle Fehlerstrategie aufgerufen, 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 aus dem nicht übereinstimmende Symbol wiederhergestellt werden konnte.
Geerbt von Parser.match
matchWildcard()
Entspricht dem aktuellen Eingabesymbol als Wildcard. 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, <xref:ANTLRErrorStrategy%23recoverInline> wird für die aktuelle Fehlerstrategie aufgerufen, 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 Wildcard übereinstimmt und die Fehlerstrategie nicht nach 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
Geerbt von Parser.precpred
pushNewRecursionContext(ParserRuleContext, number, number)
Wie <xref:%23enterRule> , aber für rekursive Regeln. Legen 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
als Analyselistener hinzugefügt wurde undefined
oder nicht 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 Status des Parsers
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