Partager via


CommonRegexParser class

Extends

Parser

Constructeurs

CommonRegexParser(TokenStream)

Propriétés

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

Propriétés héritées

atn

Obtenez le serializedATN utilisé par le module de reconnaissance pour la prédiction.

buildParseTree

Suivez les <xref:ParserRuleContext> objets pendant l’analyse et connectez-les à l’aide de la <xref:ParserRuleContext%23children> liste afin qu’elle forme une arborescence d’analyse. Retourné <xref:ParserRuleContext> par la règle de début représente la racine de l’arborescence d’analyse. Notez que si nous ne créons pas d’arborescences d’analyse, les contextes de règle pointent uniquement vers le haut. Lorsqu’une règle se ferme, elle retourne le contexte, mais qui est récupéré si personne ne contient de référence. Il pointe vers le haut, mais personne ne pointe vers elle.

Lorsque nous créons des arborescences d’analyse, nous ajoutons tous ces contextes à la <xref:ParserRuleContext%23children> liste. Les contextes ne sont alors pas candidats au garbage collection.

context
currentToken

La correspondance doit retourner le symbole d’entrée actuel, qui est placé dans l’étiquette pour la référence de jeton associée ; Par exemple, x=ID.

EOF
errorHandler
inputStream

Définissez le flux de jetons et réinitialisez l’analyseur.

interpreter

Définissez l’interpréteur ATN utilisé par le module de reconnaissance pour la prédiction.

isMatchedEOF
isTrace

Pendant une analyse, il est parfois utile d’écouter les événements d’entrée et de sortie de règle, ainsi que les correspondances de jeton. Ceci est destiné au débogage rapide et incorrect.

numberOfSyntaxErrors

Obtient le nombre d’erreurs de syntaxe signalées pendant l’analyse. Cette valeur est incrémentée chaque fois <xref:%23notifyErrorListeners> qu’elle est appelée.

Voir #notifyErrorListeners

parseInfo
precedence

Obtenez le niveau de précédence de la règle de priorité la plus élevée.

ruleContext
sourceName
state

Indiquez que le module de reconnaissance a changé l’état interne qui est cohérent avec l’état ATN passé. De cette façon, nous savons toujours où nous en sommes dans l’ATN à mesure que l’analyseur va le long. Les objets de contexte de règle forment une pile qui nous permet de voir la pile des règles d’appel. Combinez cela et nous avons des informations complètes sur la configuration ATN.

tokenFactory

Méthodes

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

Méthodes héritées

action(RuleContext | undefined, number, number)
addErrorListener(ANTLRErrorListener<Token>)
addParseListener(ParseTreeListener)

S’inscrit pour recevoir des listener événements pendant le processus d’analyse. Pour prendre en charge les transformations grammaticales de préservation de la sortie (y compris, mais sans s’y limiter, la suppression de la récursivité gauche, la factoring de gauche automatisée et la génération de code optimisée), les appels aux méthodes d’écouteur pendant l’analyse peuvent différer considérablement des appels effectués par <xref:ParseTreeWalker%23DEFAULT> utilisés une fois l’analyse terminée. En particulier, les événements d’entrée et de sortie de règle peuvent se produire dans un ordre différent pendant l’analyse qu’après l’analyseur. En outre, les appels à certaines méthodes d’entrée de règle peuvent être omis.

Avec les exceptions spécifiques suivantes, les appels aux événements d’écouteur sont déterministes, c’est-à-dire que pour une entrée identique, les appels aux méthodes d’écouteur seront les mêmes.

  • Les modifications apportées à la grammaire utilisée pour générer du code peuvent modifier le comportement des appels de l’écouteur.
  • Les modifications apportées aux options de ligne de commande passées à ANTLR 4 lors de la génération de l’analyseur peuvent modifier le comportement des appels de l’écouteur.
  • La modification de la version de l’outil ANTLR utilisé pour générer l’analyseur peut modifier le comportement des appels de l’écouteur.
compileParseTreePattern(string, number)

Méthode préférée pour obtenir un modèle d’arborescence. Par exemple, voici un exemple d’utilisation :

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)

Identique à [int)](xref:%23compileParseTreePattern(String%2C), mais spécifiez un CommonRegexLexer au lieu d’essayer de le déduire de cet analyseur.

consume()

Consommez et retournez le symbole actuel. Par exemple, étant donné que l’entrée A suivante est le symbole de tête de regard actuel, cette fonction déplace le curseur vers B et retourne A.

A B
^

Si l’analyseur n’est pas en mode de récupération d’erreur, le symbole consommé est ajouté à l’arborescence d’analyse à l’aide <xref:ParserRuleContext%23addChild(TerminalNode)>de et <xref:ParseTreeListener%23visitTerminal> est appelé sur tous les écouteurs d’analyse. Si l’analyseur est en mode de récupération d’erreur, le symbole consommé est ajouté à l’arborescence d’analyse à l’aide de [Token)](xref:%23createErrorNode(ParserRuleContext%2C) puis <xref:ParserRuleContext%23addErrorNode(ErrorNode)> et <xref:ParseTreeListener%23visitErrorNode> est appelé sur tous les écouteurs d’analyse.

createErrorNode(ParserRuleContext, Token)

Comment créer un nœud d’erreur, en fonction d’un jeton, associé à un parent. En règle générale, le nœud d’erreur à créer n’est pas une fonction du parent.

createTerminalNode(ParserRuleContext, Token)

Comment créer un nœud feuille de jeton associé à un parent. En règle générale, le nœud terminal à créer n’est pas une fonction du parent.

dumpDFA()

À des fins de débogage et à d’autres fins.

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

Toujours appelé par les analyseurs générés lors de l’entrée dans une règle. Le champ d’accès <xref:%23_ctx> obtient le contexte actuel.

exitRule()
getATNWithBypassAlts()

L’ATN avec des alternatives de contournement est coûteux à créer. Nous le créons donc paresseusement. @ si l’analyseur actuel n’implémente pas la serializedATN propriété .

getDFAStrings()

À des fins de débogage et à d’autres fins.

getErrorHeader(RecognitionException)

Quel est l’en-tête d’erreur, normalement des informations de position de ligne/caractère ?

getErrorListenerDispatch()
getErrorListeners()
getExpectedTokens()

Calcule l’ensemble de symboles d’entrée qui peuvent suivre l’état et le contexte actuels de l’analyseur, comme indiqué par <xref:%23getState> et <xref:%23getContext>, respectivement.

Consultez ATN#getExpectedTokens(int, RuleContext)

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

Obtenez l’index d’une règle (c’est-à-dire un RULE_ruleName champ) ou -1 s’il est introuvable.

getRuleIndexMap()

Obtenir un mappage des noms de règle aux index de règle. Utilisé pour la compilation de modèles XPath et d’arborescence.

getRuleInvocationStack(RuleContext)

Retourne la chaîne> de liste<des noms de règle dans votre instance d’analyseur avant un appel à la règle actuelle. Vous pouvez remplacer si vous souhaitez obtenir plus de détails, tels que les informations de fichier/ligne sur l’endroit où une règle est appelée dans l’ATN. Cela est très utile pour les messages d’erreur.

getTokenType(string)
getTokenTypeMap()

Obtenir un mappage des noms de jetons aux types de jetons. Utilisé pour la compilation de modèles XPath et d’arborescence.

inContext(string)
isExpectedToken(number)

Vérifie si vous pouvez suivre ou non symbol l’état actuel dans l’ATN. Le comportement de cette méthode est équivalent à ce qui suit, mais est implémenté de telle sorte que l’ensemble complet de suivis contextuels n’ait pas besoin d’être construit explicitement.

return getExpectedTokens().contains(symbol);
match(number)

Faire correspondre le symbole d’entrée actuel à ttype. Si le type de symbole correspond, <xref:ANTLRErrorStrategy%23reportMatch> et <xref:%23consume> sont appelés pour terminer le processus de correspondance. Si le type de symbole ne correspond pas, <xref:ANTLRErrorStrategy%23recoverInline> est appelé sur la stratégie d’erreur actuelle pour tenter la récupération. Si <xref:%23getBuildParseTree> est true et que l’index de jeton du symbole retourné par <xref:ANTLRErrorStrategy%23recoverInline> est -1, le symbole est ajouté à l’arborescence d’analyse en appelant [Token)](xref:%23createErrorNode(ParserRuleContext%2C) puis <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

matchWildcard()

Mettre en correspondance le symbole d’entrée actuel sous la forme d’un caractère générique. Si le type de symbole correspond (c’est-à-dire a une valeur supérieure à 0), <xref:ANTLRErrorStrategy%23reportMatch> et <xref:%23consume> sont appelés pour terminer le processus de correspondance. Si le type de symbole ne correspond pas, <xref:ANTLRErrorStrategy%23recoverInline> est appelé sur la stratégie d’erreur actuelle pour tenter la récupération. Si <xref:%23getBuildParseTree> est true et que l’index de jeton du symbole retourné par <xref:ANTLRErrorStrategy%23recoverInline> est -1, le symbole est ajouté à l’arborescence d’analyse en appelant [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) puis <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

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

Comme <xref:%23enterRule> mais pour les règles récursives. Faites du contexte actuel l’enfant du localctx entrant.

removeErrorListener(ANTLRErrorListener<Token>)
removeErrorListeners()
removeParseListener(ParseTreeListener)

Supprimez listener de la liste des écouteurs d’analyse. Si listener est undefined ou n’a pas été ajouté en tant qu’écouteur d’analyse, cette méthode ne fait rien.

Voir #addParseListener

removeParseListeners()

Supprimez tous les écouteurs d’analyse.

Voir #addParseListener

reset()

réinitialiser l’état de l’analyseur

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

Détails du constructeur

CommonRegexParser(TokenStream)

new CommonRegexParser(input: TokenStream)

Paramètres

input

TokenStream

Détails de la propriété

ALC

public static ALC: 44 = 44

Valeur de propriété

44

Ampersand

public static Ampersand: 43 = 43

Valeur de propriété

43

AUC

public static AUC: 70 = 70

Valeur de propriété

70

Backslash

public static Backslash: 10 = 10

Valeur de propriété

10

BellChar

public static BellChar: 3 = 3

Valeur de propriété

3

BLC

public static BLC: 45 = 45

Valeur de propriété

45

BlockQuoted

public static BlockQuoted: 2 = 2

Valeur de propriété

2

BUC

public static BUC: 71 = 71

Valeur de propriété

71

Caret

public static Caret: 23 = 23

Valeur de propriété

23

CarriageReturn

public static CarriageReturn: 8 = 8

Valeur de propriété

8

CharacterClassEnd

public static CharacterClassEnd: 22 = 22

Valeur de propriété

22

CharacterClassStart

public static CharacterClassStart: 21 = 21

Valeur de propriété

21

CharWithoutProperty

public static CharWithoutProperty: 16 = 16

Valeur de propriété

16

CharWithProperty

public static CharWithProperty: 15 = 15

Valeur de propriété

15

CLC

public static CLC: 46 = 46

Valeur de propriété

46

CloseBrace

public static CloseBrace: 29 = 29

Valeur de propriété

29

CloseParen

public static CloseParen: 34 = 34

Valeur de propriété

34

Colon

public static Colon: 39 = 39

Valeur de propriété

39

Comma

public static Comma: 30 = 30

Valeur de propriété

30

ControlChar

public static ControlChar: 4 = 4

Valeur de propriété

4

CUC

public static CUC: 72 = 72

Valeur de propriété

72

D0

public static D0: 105 = 105

Valeur de propriété

105

D1

public static D1: 96 = 96

Valeur de propriété

96

D2

public static D2: 97 = 97

Valeur de propriété

97

D3

public static D3: 98 = 98

Valeur de propriété

98

D4

public static D4: 99 = 99

Valeur de propriété

99

D5

public static D5: 100 = 100

Valeur de propriété

100

D6

public static D6: 101 = 101

Valeur de propriété

101

D7

public static D7: 102 = 102

Valeur de propriété

102

D8

public static D8: 103 = 103

Valeur de propriété

103

D9

public static D9: 104 = 104

Valeur de propriété

104

DecimalDigit

public static DecimalDigit: 13 = 13

Valeur de propriété

13

DLC

public static DLC: 47 = 47

Valeur de propriété

47

Dot

public static Dot: 12 = 12

Valeur de propriété

12

DUC

public static DUC: 73 = 73

Valeur de propriété

73

ELC

public static ELC: 48 = 48

Valeur de propriété

48

EndOfSubject

public static EndOfSubject: 31 = 31

Valeur de propriété

31

Equals

public static Equals: 41 = 41

Valeur de propriété

41

EscapeChar

public static EscapeChar: 5 = 5

Valeur de propriété

5

EUC

public static EUC: 74 = 74

Valeur de propriété

74

Exclamation

public static Exclamation: 42 = 42

Valeur de propriété

42

FLC

public static FLC: 49 = 49

Valeur de propriété

49

FormFeed

public static FormFeed: 6 = 6

Valeur de propriété

6

FUC

public static FUC: 75 = 75

Valeur de propriété

75

GLC

public static GLC: 50 = 50

Valeur de propriété

50

grammarFileName

string grammarFileName

Valeur de propriété

string

GreaterThan

public static GreaterThan: 36 = 36

Valeur de propriété

36

GUC

public static GUC: 76 = 76

Valeur de propriété

76

Hash

public static Hash: 40 = 40

Valeur de propriété

40

HexChar

public static HexChar: 11 = 11

Valeur de propriété

11

HLC

public static HLC: 51 = 51

Valeur de propriété

51

HUC

public static HUC: 77 = 77

Valeur de propriété

77

Hyphen

public static Hyphen: 24 = 24

Valeur de propriété

24

ILC

public static ILC: 52 = 52

Valeur de propriété

52

IUC

public static IUC: 78 = 78

Valeur de propriété

78

JLC

public static JLC: 53 = 53

Valeur de propriété

53

JUC

public static JUC: 79 = 79

Valeur de propriété

79

KLC

public static KLC: 54 = 54

Valeur de propriété

54

KUC

public static KUC: 80 = 80

Valeur de propriété

80

LessThan

public static LessThan: 35 = 35

Valeur de propriété

35

LLC

public static LLC: 55 = 55

Valeur de propriété

55

LUC

public static LUC: 81 = 81

Valeur de propriété

81

MLC

public static MLC: 56 = 56

Valeur de propriété

56

MUC

public static MUC: 82 = 82

Valeur de propriété

82

NewLine

public static NewLine: 7 = 7

Valeur de propriété

7

NLC

public static NLC: 57 = 57

Valeur de propriété

57

NotDecimalDigit

public static NotDecimalDigit: 14 = 14

Valeur de propriété

14

NotWhiteSpace

public static NotWhiteSpace: 18 = 18

Valeur de propriété

18

NotWordChar

public static NotWordChar: 20 = 20

Valeur de propriété

20

NUC

public static NUC: 83 = 83

Valeur de propriété

83

OLC

public static OLC: 58 = 58

Valeur de propriété

58

OpenBrace

public static OpenBrace: 28 = 28

Valeur de propriété

28

OpenParen

public static OpenParen: 33 = 33

Valeur de propriété

33

OtherChar

public static OtherChar: 106 = 106

Valeur de propriété

106

OUC

public static OUC: 84 = 84

Valeur de propriété

84

Pipe

public static Pipe: 32 = 32

Valeur de propriété

32

PLC

public static PLC: 59 = 59

Valeur de propriété

59

Plus

public static Plus: 26 = 26

Valeur de propriété

26

PUC

public static PUC: 85 = 85

Valeur de propriété

85

QLC

public static QLC: 60 = 60

Valeur de propriété

60

QUC

public static QUC: 86 = 86

Valeur de propriété

86

QuestionMark

public static QuestionMark: 25 = 25

Valeur de propriété

25

Quoted

public static Quoted: 1 = 1

Valeur de propriété

1

RLC

public static RLC: 61 = 61

Valeur de propriété

61

RUC

public static RUC: 87 = 87

Valeur de propriété

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",
	]

Valeur de propriété

string[]

ruleNames

string[] ruleNames

Valeur de propriété

string[]

RULE_alpha_nums

public static RULE_alpha_nums: 23 = 23

Valeur de propriété

23

RULE_alternation

public static RULE_alternation: 1 = 1

Valeur de propriété

1

RULE_atom

public static RULE_atom: 11 = 11

Valeur de propriété

11

RULE_capture

public static RULE_capture: 7 = 7

Valeur de propriété

7

RULE_cc_atom

public static RULE_cc_atom: 12 = 12

Valeur de propriété

12

RULE_cc_literal

public static RULE_cc_literal: 15 = 15

Valeur de propriété

15

RULE_character_class

public static RULE_character_class: 6 = 6

Valeur de propriété

6

RULE_digit

public static RULE_digit: 21 = 21

Valeur de propriété

21

RULE_digits

public static RULE_digits: 20 = 20

Valeur de propriété

20

RULE_element

public static RULE_element: 3 = 3

Valeur de propriété

3

RULE_expr

public static RULE_expr: 2 = 2

Valeur de propriété

2

RULE_letter

public static RULE_letter: 26 = 26

Valeur de propriété

26

RULE_literal

public static RULE_literal: 14 = 14

Valeur de propriété

14

RULE_name

public static RULE_name: 22 = 22

Valeur de propriété

22

RULE_non_capture

public static RULE_non_capture: 8 = 8

Valeur de propriété

8

RULE_non_close_paren

public static RULE_non_close_paren: 25 = 25

Valeur de propriété

25

RULE_non_close_parens

public static RULE_non_close_parens: 24 = 24

Valeur de propriété

24

RULE_number

public static RULE_number: 17 = 17

Valeur de propriété

17

RULE_octal_char

public static RULE_octal_char: 18 = 18

Valeur de propriété

18

RULE_octal_digit

public static RULE_octal_digit: 19 = 19

Valeur de propriété

19

RULE_option

public static RULE_option: 9 = 9

Valeur de propriété

9

RULE_option_flag

public static RULE_option_flag: 10 = 10

Valeur de propriété

10

RULE_parse

public static RULE_parse: 0 = 0

Valeur de propriété

0

RULE_quantifier

public static RULE_quantifier: 4 = 4

Valeur de propriété

4

RULE_quantifier_type

public static RULE_quantifier_type: 5 = 5

Valeur de propriété

5

RULE_shared_atom

public static RULE_shared_atom: 13 = 13

Valeur de propriété

13

RULE_shared_literal

public static RULE_shared_literal: 16 = 16

Valeur de propriété

16

serializedATN

string serializedATN

Valeur de propriété

string

SingleQuote

public static SingleQuote: 37 = 37

Valeur de propriété

37

SLC

public static SLC: 62 = 62

Valeur de propriété

62

Star

public static Star: 27 = 27

Valeur de propriété

27

SUC

public static SUC: 88 = 88

Valeur de propriété

88

Tab

public static Tab: 9 = 9

Valeur de propriété

9

TLC

public static TLC: 63 = 63

Valeur de propriété

63

TUC

public static TUC: 89 = 89

Valeur de propriété

89

ULC

public static ULC: 64 = 64

Valeur de propriété

64

Underscore

public static Underscore: 38 = 38

Valeur de propriété

38

UUC

public static UUC: 90 = 90

Valeur de propriété

90

VLC

public static VLC: 65 = 65

Valeur de propriété

65

VOCABULARY

public static VOCABULARY: Vocabulary = new VocabularyImpl(CommonRegexParser._LITERAL_NAMES, CommonRegexParser._SYMBOLIC_NAMES, [])

Valeur de propriété

Vocabulary

vocabulary

Vocabulary vocabulary

Valeur de propriété

Vocabulary

VUC

public static VUC: 91 = 91

Valeur de propriété

91

WhiteSpace

public static WhiteSpace: 17 = 17

Valeur de propriété

17

WLC

public static WLC: 66 = 66

Valeur de propriété

66

WordChar

public static WordChar: 19 = 19

Valeur de propriété

19

WUC

public static WUC: 92 = 92

Valeur de propriété

92

XLC

public static XLC: 67 = 67

Valeur de propriété

67

XUC

public static XUC: 93 = 93

Valeur de propriété

93

YLC

public static YLC: 68 = 68

Valeur de propriété

68

YUC

public static YUC: 94 = 94

Valeur de propriété

94

ZLC

public static ZLC: 69 = 69

Valeur de propriété

69

ZUC

public static ZUC: 95 = 95

Valeur de propriété

95

Détails de la propriété héritée

atn

Obtenez le serializedATN utilisé par le module de reconnaissance pour la prédiction.

atn: ATN

Valeur de propriété

ATN

Hérité de Recognizer.atn

buildParseTree

Suivez les <xref:ParserRuleContext> objets pendant l’analyse et connectez-les à l’aide de la <xref:ParserRuleContext%23children> liste afin qu’elle forme une arborescence d’analyse. Retourné <xref:ParserRuleContext> par la règle de début représente la racine de l’arborescence d’analyse. Notez que si nous ne créons pas d’arborescences d’analyse, les contextes de règle pointent uniquement vers le haut. Lorsqu’une règle se ferme, elle retourne le contexte, mais qui est récupéré si personne ne contient de référence. Il pointe vers le haut, mais personne ne pointe vers elle.

Lorsque nous créons des arborescences d’analyse, nous ajoutons tous ces contextes à la <xref:ParserRuleContext%23children> liste. Les contextes ne sont alors pas candidats au garbage collection.

buildParseTree: boolean

Valeur de propriété

boolean

Hérité de Parser.buildParseTree

context

context: ParserRuleContext

Valeur de propriété

ParserRuleContext

Hérité de Parser.context

currentToken

La correspondance doit retourner le symbole d’entrée actuel, qui est placé dans l’étiquette pour la référence de jeton associée ; Par exemple, x=ID.

currentToken: Token

Valeur de propriété

Token

Hérité de Parser.currentToken

EOF

static EOF: number

Valeur de propriété

number

Hérité de Recognizer.EOF

errorHandler

errorHandler: ANTLRErrorStrategy

Valeur de propriété

ANTLRErrorStrategy

Hérité de Parser.errorHandler

inputStream

Définissez le flux de jetons et réinitialisez l’analyseur.

inputStream: TokenStream

Valeur de propriété

TokenStream

Hérité de Parser.inputStream

interpreter

Définissez l’interpréteur ATN utilisé par le module de reconnaissance pour la prédiction.

interpreter: ParserATNSimulator

Valeur de propriété

ParserATNSimulator

Hérité de Recognizer.interpreter

isMatchedEOF

isMatchedEOF: boolean

Valeur de propriété

boolean

Hérité de Parser.isMatchedEOF

isTrace

Pendant une analyse, il est parfois utile d’écouter les événements d’entrée et de sortie de règle, ainsi que les correspondances de jeton. Ceci est destiné au débogage rapide et incorrect.

isTrace: boolean

Valeur de propriété

boolean

Hérité de Parser.isTrace

numberOfSyntaxErrors

Obtient le nombre d’erreurs de syntaxe signalées pendant l’analyse. Cette valeur est incrémentée chaque fois <xref:%23notifyErrorListeners> qu’elle est appelée.

Voir #notifyErrorListeners

numberOfSyntaxErrors: number

Valeur de propriété

number

Hérité de Parser.numberOfSyntaxErrors

parseInfo

parseInfo: Promise<ParseInfo | undefined>

Valeur de propriété

Promise<ParseInfo | undefined>

Hérité de Parser.parseInfo

precedence

Obtenez le niveau de précédence de la règle de priorité la plus élevée.

precedence: number

Valeur de propriété

number

Hérité de Parser.precedence

ruleContext

ruleContext: ParserRuleContext

Valeur de propriété

ParserRuleContext

Hérité de Parser.ruleContext

sourceName

sourceName: string

Valeur de propriété

string

Hérité de Parser.sourceName

state

Indiquez que le module de reconnaissance a changé l’état interne qui est cohérent avec l’état ATN passé. De cette façon, nous savons toujours où nous en sommes dans l’ATN à mesure que l’analyseur va le long. Les objets de contexte de règle forment une pile qui nous permet de voir la pile des règles d’appel. Combinez cela et nous avons des informations complètes sur la configuration ATN.

state: number

Valeur de propriété

number

Hérité de Recognizer.state

tokenFactory

tokenFactory: TokenFactory

Valeur de propriété

TokenFactory

Hérité de Parser.tokenFactory

Détails de la méthode

alpha_nums()

function alpha_nums(): Alpha_numsContext

Retours

alternation()

function alternation(): AlternationContext

Retours

atom()

function atom(): AtomContext

Retours

capture()

function capture(): CaptureContext

Retours

cc_atom()

function cc_atom(): Cc_atomContext

Retours

cc_literal()

function cc_literal(): Cc_literalContext

Retours

character_class()

function character_class(): Character_classContext

Retours

digit()

function digit(): DigitContext

Retours

digits()

function digits(): DigitsContext

Retours

element()

function element(): ElementContext

Retours

expr()

function expr(): ExprContext

Retours

letter()

function letter(): LetterContext

Retours

literal()

function literal(): LiteralContext

Retours

name()

function name(): NameContext

Retours

non_capture()

function non_capture(): Non_captureContext

Retours

non_close_paren()

function non_close_paren(): Non_close_parenContext

Retours

non_close_parens()

function non_close_parens(): Non_close_parensContext

Retours

number()

function number(): NumberContext

Retours

octal_char()

function octal_char(): Octal_charContext

Retours

octal_digit()

function octal_digit(): Octal_digitContext

Retours

option()

function option(): OptionContext

Retours

option_flag()

function option_flag(): Option_flagContext

Retours

parse()

function parse(): ParseContext

Retours

quantifier()

function quantifier(): QuantifierContext

Retours

quantifier_type()

function quantifier_type(): Quantifier_typeContext

Retours

shared_atom()

function shared_atom(): Shared_atomContext

Retours

shared_literal()

function shared_literal(): Shared_literalContext

Retours

Détails de la méthode héritée

action(RuleContext | undefined, number, number)

function action(_localctx: RuleContext | undefined, ruleIndex: number, actionIndex: number)

Paramètres

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

Hérité de Recognizer.action

addErrorListener(ANTLRErrorListener<Token>)

function addErrorListener(listener: ANTLRErrorListener<Token>)

Paramètres

listener

ANTLRErrorListener<Token>

Hérité de Recognizer.addErrorListener

addParseListener(ParseTreeListener)

S’inscrit pour recevoir des listener événements pendant le processus d’analyse. Pour prendre en charge les transformations grammaticales de préservation de la sortie (y compris, mais sans s’y limiter, la suppression de la récursivité gauche, la factoring de gauche automatisée et la génération de code optimisée), les appels aux méthodes d’écouteur pendant l’analyse peuvent différer considérablement des appels effectués par <xref:ParseTreeWalker%23DEFAULT> utilisés une fois l’analyse terminée. En particulier, les événements d’entrée et de sortie de règle peuvent se produire dans un ordre différent pendant l’analyse qu’après l’analyseur. En outre, les appels à certaines méthodes d’entrée de règle peuvent être omis.

Avec les exceptions spécifiques suivantes, les appels aux événements d’écouteur sont déterministes, c’est-à-dire que pour une entrée identique, les appels aux méthodes d’écouteur seront les mêmes.

  • Les modifications apportées à la grammaire utilisée pour générer du code peuvent modifier le comportement des appels de l’écouteur.
  • Les modifications apportées aux options de ligne de commande passées à ANTLR 4 lors de la génération de l’analyseur peuvent modifier le comportement des appels de l’écouteur.
  • La modification de la version de l’outil ANTLR utilisé pour générer l’analyseur peut modifier le comportement des appels de l’écouteur.
function addParseListener(listener: ParseTreeListener)

Paramètres

listener

ParseTreeListener

écouteur à ajouter

Hérité de Parser.addParseListener

compileParseTreePattern(string, number)

Méthode préférée pour obtenir un modèle d’arborescence. Par exemple, voici un exemple d’utilisation :

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>

Paramètres

pattern

string

patternRuleIndex

number

Retours

Promise<ParseTreePattern>

Hérité de Parser.compileParseTreePattern

compileParseTreePattern(string, number, Lexer)

Identique à [int)](xref:%23compileParseTreePattern(String%2C), mais spécifiez un CommonRegexLexer au lieu d’essayer de le déduire de cet analyseur.

function compileParseTreePattern(pattern: string, patternRuleIndex: number, lexer?: Lexer): Promise<ParseTreePattern>

Paramètres

pattern

string

patternRuleIndex

number

lexer

Lexer

Retours

Promise<ParseTreePattern>

Hérité de Parser.compileParseTreePattern

consume()

Consommez et retournez le symbole actuel. Par exemple, étant donné que l’entrée A suivante est le symbole de tête de regard actuel, cette fonction déplace le curseur vers B et retourne A.

A B
^

Si l’analyseur n’est pas en mode de récupération d’erreur, le symbole consommé est ajouté à l’arborescence d’analyse à l’aide <xref:ParserRuleContext%23addChild(TerminalNode)>de et <xref:ParseTreeListener%23visitTerminal> est appelé sur tous les écouteurs d’analyse. Si l’analyseur est en mode de récupération d’erreur, le symbole consommé est ajouté à l’arborescence d’analyse à l’aide de [Token)](xref:%23createErrorNode(ParserRuleContext%2C) puis <xref:ParserRuleContext%23addErrorNode(ErrorNode)> et <xref:ParseTreeListener%23visitErrorNode> est appelé sur tous les écouteurs d’analyse.

function consume(): Token

Retours

Token

Hérité de Parser.consume

createErrorNode(ParserRuleContext, Token)

Comment créer un nœud d’erreur, en fonction d’un jeton, associé à un parent. En règle générale, le nœud d’erreur à créer n’est pas une fonction du parent.

function createErrorNode(parent: ParserRuleContext, t: Token): ErrorNode

Paramètres

parent

ParserRuleContext

t

Token

Retours

ErrorNode

Hérité de Parser.createErrorNode

createTerminalNode(ParserRuleContext, Token)

Comment créer un nœud feuille de jeton associé à un parent. En règle générale, le nœud terminal à créer n’est pas une fonction du parent.

function createTerminalNode(parent: ParserRuleContext, t: Token): TerminalNode

Paramètres

parent

ParserRuleContext

t

Token

Retours

TerminalNode

Hérité de Parser.createTerminalNode

dumpDFA()

À des fins de débogage et à d’autres fins.

function dumpDFA()

Hérité de Parser.dumpDFA

enterLeftFactoredRule(ParserRuleContext, number, number)

function enterLeftFactoredRule(localctx: ParserRuleContext, state: number, ruleIndex: number)

Paramètres

localctx

ParserRuleContext

state

number

ruleIndex

number

Hérité de Parser.enterLeftFactoredRule

enterOuterAlt(ParserRuleContext, number)

function enterOuterAlt(localctx: ParserRuleContext, altNum: number)

Paramètres

localctx

ParserRuleContext

altNum

number

Hérité de Parser.enterOuterAlt

enterRecursionRule(ParserRuleContext, number, number, number)

function enterRecursionRule(localctx: ParserRuleContext, state: number, ruleIndex: number, precedence: number)

Paramètres

localctx

ParserRuleContext

state

number

ruleIndex

number

precedence

number

Hérité de Parser.enterRecursionRule

enterRule(ParserRuleContext, number, number)

Toujours appelé par les analyseurs générés lors de l’entrée dans une règle. Le champ d’accès <xref:%23_ctx> obtient le contexte actuel.

function enterRule(localctx: ParserRuleContext, state: number, ruleIndex: number)

Paramètres

localctx

ParserRuleContext

state

number

ruleIndex

number

Hérité de Parser.enterRule

exitRule()

function exitRule()

Hérité de Parser.exitRule

getATNWithBypassAlts()

L’ATN avec des alternatives de contournement est coûteux à créer. Nous le créons donc paresseusement. @ si l’analyseur actuel n’implémente pas la serializedATN propriété .

function getATNWithBypassAlts(): ATN

Retours

ATN

Hérité de Parser.getATNWithBypassAlts

getDFAStrings()

À des fins de débogage et à d’autres fins.

function getDFAStrings(): string[]

Retours

string[]

Hérité de Parser.getDFAStrings

getErrorHeader(RecognitionException)

Quel est l’en-tête d’erreur, normalement des informations de position de ligne/caractère ?

function getErrorHeader(e: RecognitionException): string

Paramètres

e

RecognitionException

Retours

string

Hérité de Recognizer.getErrorHeader

getErrorListenerDispatch()

function getErrorListenerDispatch(): ParserErrorListener

Retours

ParserErrorListener

Hérité de Parser.getErrorListenerDispatch

getErrorListeners()

function getErrorListeners(): Array<ANTLRErrorListener<Token>>

Retours

Array<ANTLRErrorListener<Token>>

Hérité de Recognizer.getErrorListeners

getExpectedTokens()

Calcule l’ensemble de symboles d’entrée qui peuvent suivre l’état et le contexte actuels de l’analyseur, comme indiqué par <xref:%23getState> et <xref:%23getContext>, respectivement.

Consultez ATN#getExpectedTokens(int, RuleContext)

function getExpectedTokens(): IntervalSet

Retours

IntervalSet

Hérité de Parser.getExpectedTokens

getExpectedTokensWithinCurrentRule()

function getExpectedTokensWithinCurrentRule(): IntervalSet

Retours

IntervalSet

Hérité de Parser.getExpectedTokensWithinCurrentRule

getInvokingContext(number)

function getInvokingContext(ruleIndex: number): ParserRuleContext | undefined

Paramètres

ruleIndex

number

Retours

ParserRuleContext | undefined

Hérité de Parser.getInvokingContext

getParseListeners()

function getParseListeners(): ParseTreeListener[]

Retours

ParseTreeListener[]

Hérité de Parser.getParseListeners

getRuleIndex(string)

Obtenez l’index d’une règle (c’est-à-dire un RULE_ruleName champ) ou -1 s’il est introuvable.

function getRuleIndex(ruleName: string): number

Paramètres

ruleName

string

Retours

number

Hérité de Parser.getRuleIndex

getRuleIndexMap()

Obtenir un mappage des noms de règle aux index de règle. Utilisé pour la compilation de modèles XPath et d’arborescence.

function getRuleIndexMap(): ReadonlyMap<string, number>

Retours

ReadonlyMap<string, number>

Hérité de Recognizer.getRuleIndexMap

getRuleInvocationStack(RuleContext)

Retourne la chaîne> de liste<des noms de règle dans votre instance d’analyseur avant un appel à la règle actuelle. Vous pouvez remplacer si vous souhaitez obtenir plus de détails, tels que les informations de fichier/ligne sur l’endroit où une règle est appelée dans l’ATN. Cela est très utile pour les messages d’erreur.

function getRuleInvocationStack(ctx?: RuleContext): string[]

Paramètres

ctx

RuleContext

Retours

string[]

Hérité de Parser.getRuleInvocationStack

getTokenType(string)

function getTokenType(tokenName: string): number

Paramètres

tokenName

string

Retours

number

Hérité de Recognizer.getTokenType

getTokenTypeMap()

Obtenir un mappage des noms de jetons aux types de jetons. Utilisé pour la compilation de modèles XPath et d’arborescence.

function getTokenTypeMap(): ReadonlyMap<string, number>

Retours

ReadonlyMap<string, number>

Hérité de Recognizer.getTokenTypeMap

inContext(string)

function inContext(context: string): boolean

Paramètres

context

string

Retours

boolean

Hérité de Parser.inContext

isExpectedToken(number)

Vérifie si vous pouvez suivre ou non symbol l’état actuel dans l’ATN. Le comportement de cette méthode est équivalent à ce qui suit, mais est implémenté de telle sorte que l’ensemble complet de suivis contextuels n’ait pas besoin d’être construit explicitement.

return getExpectedTokens().contains(symbol);
function isExpectedToken(symbol: number): boolean

Paramètres

symbol

number

type de symbole à vérifier

Retours

boolean

true si symbol peut suivre l’état actuel dans l’ATN , sinon false.

Hérité de Parser.isExpectedToken

match(number)

Faire correspondre le symbole d’entrée actuel à ttype. Si le type de symbole correspond, <xref:ANTLRErrorStrategy%23reportMatch> et <xref:%23consume> sont appelés pour terminer le processus de correspondance. Si le type de symbole ne correspond pas, <xref:ANTLRErrorStrategy%23recoverInline> est appelé sur la stratégie d’erreur actuelle pour tenter la récupération. Si <xref:%23getBuildParseTree> est true et que l’index de jeton du symbole retourné par <xref:ANTLRErrorStrategy%23recoverInline> est -1, le symbole est ajouté à l’arborescence d’analyse en appelant [Token)](xref:%23createErrorNode(ParserRuleContext%2C) puis <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

function match(ttype: number): Token

Paramètres

ttype

number

type de jeton à mettre en correspondance

Retours

Token

le symbole correspondant @ si le symbole d’entrée actuel ne correspond ttype pas et que la stratégie d’erreur n’a pas pu récupérer le symbole incompatible

Hérité de Parser.match

matchWildcard()

Mettre en correspondance le symbole d’entrée actuel sous la forme d’un caractère générique. Si le type de symbole correspond (c’est-à-dire a une valeur supérieure à 0), <xref:ANTLRErrorStrategy%23reportMatch> et <xref:%23consume> sont appelés pour terminer le processus de correspondance. Si le type de symbole ne correspond pas, <xref:ANTLRErrorStrategy%23recoverInline> est appelé sur la stratégie d’erreur actuelle pour tenter la récupération. Si <xref:%23getBuildParseTree> est true et que l’index de jeton du symbole retourné par <xref:ANTLRErrorStrategy%23recoverInline> est -1, le symbole est ajouté à l’arborescence d’analyse en appelant [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) puis <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

function matchWildcard(): Token

Retours

Token

le symbole correspondant @ si le symbole d’entrée actuel ne correspondait pas à un caractère générique et que la stratégie d’erreur n’a pas pu récupérer le symbole incompatible

Hérité de Parser.matchWildcard

notifyErrorListeners(string)

function notifyErrorListeners(msg: string)

Paramètres

msg

string

Hérité de Parser.notifyErrorListeners

notifyErrorListeners(string, Token | null, RecognitionException | undefined)

function notifyErrorListeners(msg: string, offendingToken: Token | null, e: RecognitionException | undefined)

Paramètres

msg

string

offendingToken

Token | null

e

RecognitionException | undefined

Hérité de Parser.notifyErrorListeners

precpred(RuleContext, number)

function precpred(localctx: RuleContext, precedence: number): boolean

Paramètres

localctx

RuleContext

precedence

number

Retours

boolean

Hérité de Parser.precpred

pushNewRecursionContext(ParserRuleContext, number, number)

Comme <xref:%23enterRule> mais pour les règles récursives. Faites du contexte actuel l’enfant du localctx entrant.

function pushNewRecursionContext(localctx: ParserRuleContext, state: number, ruleIndex: number)

Paramètres

localctx

ParserRuleContext

state

number

ruleIndex

number

Hérité de Parser.pushNewRecursionContext

removeErrorListener(ANTLRErrorListener<Token>)

function removeErrorListener(listener: ANTLRErrorListener<Token>)

Paramètres

listener

ANTLRErrorListener<Token>

Hérité de Recognizer.removeErrorListener

removeErrorListeners()

function removeErrorListeners()

Hérité de Recognizer.removeErrorListeners

removeParseListener(ParseTreeListener)

Supprimez listener de la liste des écouteurs d’analyse. Si listener est undefined ou n’a pas été ajouté en tant qu’écouteur d’analyse, cette méthode ne fait rien.

Voir #addParseListener

function removeParseListener(listener: ParseTreeListener)

Paramètres

listener

ParseTreeListener

écouteur à supprimer

Hérité de Parser.removeParseListener

removeParseListeners()

Supprimez tous les écouteurs d’analyse.

Voir #addParseListener

function removeParseListeners()

Hérité de Parser.removeParseListeners

reset()

réinitialiser l’état de l’analyseur

function reset()

Hérité de Parser.reset

reset(boolean)

function reset(resetInput: boolean)

Paramètres

resetInput

boolean

Hérité de Parser.reset

sempred(RuleContext | undefined, number, number)

function sempred(_localctx: RuleContext | undefined, ruleIndex: number, actionIndex: number): boolean

Paramètres

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

Retours

boolean

Hérité de Recognizer.sempred

setProfile(boolean)

function setProfile(profile: boolean): Promise<void>

Paramètres

profile

boolean

Retours

Promise<void>

Hérité de Parser.setProfile

unrollRecursionContexts(ParserRuleContext)

function unrollRecursionContexts(_parentctx: ParserRuleContext)

Paramètres

_parentctx

ParserRuleContext

Hérité de Parser.unrollRecursionContexts