Freigeben über


CommonRegexParser class

Extends

Parser

Konstruktoren

CommonRegexParser(TokenStream)

Eigenschaften

ALC
Ampersand
AUC
Backslash
BellChar
BLC
BlockQuoted
BUC
Caret
CarriageReturn
CharacterClassEnd
CharacterClassStart
CharWithoutProperty
CharWithProperty
CLC
CloseBrace
CloseParen
Colon
Comma
ControlChar
CUC
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
DecimalDigit
DLC
Dot
DUC
ELC
EndOfSubject
Equals
EscapeChar
EUC
Exclamation
FLC
FormFeed
FUC
GLC
grammarFileName
GreaterThan
GUC
Hash
HexChar
HLC
HUC
Hyphen
ILC
IUC
JLC
JUC
KLC
KUC
LessThan
LLC
LUC
MLC
MUC
NewLine
NLC
NotDecimalDigit
NotWhiteSpace
NotWordChar
NUC
OLC
OpenBrace
OpenParen
OtherChar
OUC
Pipe
PLC
Plus
PUC
QLC
QUC
QuestionMark
Quoted
RLC
RUC
ruleNames
ruleNames
RULE_alpha_nums
RULE_alternation
RULE_atom
RULE_capture
RULE_cc_atom
RULE_cc_literal
RULE_character_class
RULE_digit
RULE_digits
RULE_element
RULE_expr
RULE_letter
RULE_literal
RULE_name
RULE_non_capture
RULE_non_close_paren
RULE_non_close_parens
RULE_number
RULE_octal_char
RULE_octal_digit
RULE_option
RULE_option_flag
RULE_parse
RULE_quantifier
RULE_quantifier_type
RULE_shared_atom
RULE_shared_literal
serializedATN
SingleQuote
SLC
Star
SUC
Tab
TLC
TUC
ULC
Underscore
UUC
VLC
VOCABULARY
vocabulary
VUC
WhiteSpace
WLC
WordChar
WUC
XLC
XUC
YLC
YUC
ZLC
ZUC

Geerbte Eigenschaften

atn

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

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.

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.

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

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

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 geht. Die Regelkontextobjekte bilden einen Stapel, in dem der Stapel der Aufrufregeln angezeigt wird. Kombinieren Sie dies, und wir haben vollständige ATN-Konfigurationsinformationen.

tokenFactory

Methoden

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

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

Ruft den Index einer Regel (z. B. feld) oder -1 ab, RULE_ruleName wenn er nicht gefunden wird.

getRuleIndexMap()

Ruft eine Zuordnung von Regelnamen zu Regelindizes ab. Wird für die Kompilierung von XPath- und Strukturmustern 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 sehr nützlich für Fehlermeldungen.

getTokenType(string)
getTokenTypeMap()

Ruft eine Zuordnung von Tokennamen zu Tokentypen ab. Wird für die Kompilierung von XPath- und Strukturmustern verwendet.

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

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.

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

Wie <xref:%23enterRule> , aber für rekursive Regeln. Legen 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 als Analyselistener hinzugefügt wurde undefined oder nicht hinzugefügt wurde, führt diese Methode nichts aus.

Siehe #addParseListener

removeParseListeners()

Entfernen Sie alle Analyselistener.

Siehe #addParseListener

reset()

Zurücksetzen des Status des Parsers

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

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

function alpha_nums(): Alpha_numsContext

Gibt zurück

alternation()

function alternation(): AlternationContext

Gibt zurück

atom()

function atom(): AtomContext

Gibt zurück

capture()

function capture(): CaptureContext

Gibt zurück

cc_atom()

function cc_atom(): Cc_atomContext

Gibt zurück

cc_literal()

function cc_literal(): Cc_literalContext

Gibt zurück

character_class()

function character_class(): Character_classContext

Gibt zurück

digit()

function digit(): DigitContext

Gibt zurück

digits()

function digits(): DigitsContext

Gibt zurück

element()

function element(): ElementContext

Gibt zurück

expr()

function expr(): ExprContext

Gibt zurück

letter()

function letter(): LetterContext

Gibt zurück

literal()

function literal(): LiteralContext

Gibt zurück

name()

function name(): NameContext

Gibt zurück

non_capture()

function non_capture(): Non_captureContext

Gibt zurück

non_close_paren()

function non_close_paren(): Non_close_parenContext

Gibt zurück

non_close_parens()

function non_close_parens(): Non_close_parensContext

Gibt zurück

number()

function number(): NumberContext

Gibt zurück

octal_char()

function octal_char(): Octal_charContext

Gibt zurück

octal_digit()

function octal_digit(): Octal_digitContext

Gibt zurück

option()

function option(): OptionContext

Gibt zurück

option_flag()

function option_flag(): Option_flagContext

Gibt zurück

parse()

function parse(): ParseContext

Gibt zurück

quantifier()

function quantifier(): QuantifierContext

Gibt zurück

quantifier_type()

function quantifier_type(): Quantifier_typeContext

Gibt zurück

shared_atom()

function shared_atom(): Shared_atomContext

Gibt zurück

shared_literal()

function shared_literal(): Shared_literalContext

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