Condividi tramite


CommonRegexParser class

Extends

Parser

Costruttori

CommonRegexParser(TokenStream)

Proprietà

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

Proprietà ereditate

atn

Ottenere l'oggetto serializedATN usato dal riconoscimento per la stima.

buildParseTree

Tenere traccia degli <xref:ParserRuleContext> oggetti durante l'analisi e collegarli usando l'elenco <xref:ParserRuleContext%23children> in modo che formi un albero di analisi. La <xref:ParserRuleContext> regola restituita dalla regola iniziale rappresenta la radice dell'albero di analisi. Si noti che se non si creano alberi di analisi, i contesti delle regole puntano verso l'alto. Quando una regola viene chiusa, restituisce il contesto, ma che ottiene garbage collection se nessuno contiene un riferimento. Punta verso l'alto, ma nessuno punta a esso.

Quando si compilano alberi di analisi, tutti questi contesti vengono aggiunti all'elenco <xref:ParserRuleContext%23children> . I contesti non sono quindi candidati per Garbage Collection.

context
currentToken

La corrispondenza deve restituire il simbolo di input corrente, che viene inserito nell'etichetta per il riferimento del token associato; ad esempio x=ID.

EOF
errorHandler
inputStream

Impostare il flusso del token e reimpostare il parser.

interpreter

Impostare l'interprete ATN usato dal riconoscimento per la stima.

isMatchedEOF
isTrace

Durante un'analisi è talvolta utile ascoltare gli eventi di ingresso e uscita della regola, nonché le corrispondenze dei token. Questo è per il debug rapido e sporco.

numberOfSyntaxErrors

Ottiene il numero di errori di sintassi segnalati durante l'analisi. Questo valore viene incrementato ogni volta <xref:%23notifyErrorListeners> che viene chiamato.

Vedere #notifyErrorListeners

parseInfo
precedence

Ottenere il livello di precedenza per la regola di precedenza superiore.

ruleContext
sourceName
state

Indicare che il riconoscimento ha modificato lo stato interno che è coerente con lo stato ATN passato. In questo modo sappiamo sempre dove siamo nell'ATN mentre il parser va avanti. Gli oggetti contesto regola formano uno stack che consente di visualizzare lo stack di regole di chiamata. Combinare questa operazione e sono disponibili informazioni di configurazione ATN complete.

tokenFactory

Metodi

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

Metodi ereditati

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

listener Registra per ricevere eventi durante il processo di analisi. Per supportare trasformazioni grammaticali di conservazione dell'output (incluse, ma non limitate alla rimozione di ricorsioni a sinistra, alla generazione automatica del fattore sinistro e alla generazione di codice ottimizzata), le chiamate ai metodi di listener durante l'analisi possono variare notevolmente dalle chiamate eseguite <xref:ParseTreeWalker%23DEFAULT> dopo il completamento dell'analisi. In particolare, gli eventi di immissione e uscita delle regole possono verificarsi in un ordine diverso durante l'analisi rispetto a dopo il parser. Inoltre, le chiamate a determinati metodi di immissione delle regole possono essere omessi.

Con le eccezioni specifiche seguenti, le chiamate agli eventi di listener sono deterministiche, ad esempio per l'input identico le chiamate ai metodi listener saranno uguali.

  • Le modifiche alla grammatica usata per generare codice possono modificare il comportamento delle chiamate del listener.
  • Le modifiche alle opzioni della riga di comando passate a ANTLR 4 durante la generazione del parser possono modificare il comportamento delle chiamate del listener.
  • La modifica della versione dello strumento ANTLR usata per generare il parser può modificare il comportamento delle chiamate del listener.
compileParseTreePattern(string, number)

Metodo preferito per ottenere un modello ad albero. Ad esempio, ecco un esempio di uso:

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)

Uguale a [int)](xref:%23compileParseTreePattern(String%2C) ma specificare un CommonRegexLexer oggetto anziché tentare di dedurrlo da questo parser.

consume()

Utilizzare e restituire il simbolo corrente. Ad esempio, dato l'input seguente con A il simbolo lookahead corrente, questa funzione sposta il cursore su B e restituisce A.

A B
^

Se il parser non è in modalità di ripristino degli errori, il simbolo utilizzato viene aggiunto all'albero di analisi usando <xref:ParserRuleContext%23addChild(TerminalNode)>e <xref:ParseTreeListener%23visitTerminal> viene chiamato in qualsiasi listener di analisi. Se il parser è in modalità di ripristino degli errori, il simbolo utilizzato viene aggiunto all'albero di analisi usando [Token)](xref:%23createErrorNode(ParserRuleContext%2C) <xref:ParserRuleContext%23addErrorNode(ErrorNode)> e <xref:ParseTreeListener%23visitErrorNode> viene chiamato su tutti i listener di analisi.

createErrorNode(ParserRuleContext, Token)

Come creare un nodo di errore, dato un token, associato a un elemento padre. In genere, il nodo di errore da creare non è una funzione dell'elemento padre.

createTerminalNode(ParserRuleContext, Token)

Come creare un nodo foglia del token associato a un elemento padre. In genere, il nodo terminale da creare non è una funzione dell'elemento padre.

dumpDFA()

Per eseguire il debug e altre finalità.

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

Viene sempre chiamato dai parser generati all'ingresso di una regola. Il campo <xref:%23_ctx> di accesso ottiene il contesto corrente.

exitRule()
getATNWithBypassAlts()

L'ATN con alternative di bypass è costoso da creare in modo da crearlo in modo pigrissimo. @ se il parser corrente non implementa la serializedATN proprietà.

getDFAStrings()

Per eseguire il debug e altre finalità.

getErrorHeader(RecognitionException)

Che cos'è l'intestazione di errore, normalmente le informazioni sulla posizione di riga/carattere?

getErrorListenerDispatch()
getErrorListeners()
getExpectedTokens()

Calcola il set di simboli di input che potrebbero seguire rispettivamente lo stato e il contesto del parser corrente, come indicato da <xref:%23getState> e <xref:%23getContext>.

Vedere ATN#getExpectedTokens(int, RuleContext)

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

Ottenere l'indice di una regola (ad esempio, RULE_ruleName campo) o -1 se non trovato.

getRuleIndexMap()

Ottenere una mappa dai nomi delle regole agli indici delle regole. Usato per la compilazione dei modelli XPath e albero.

getRuleInvocationStack(RuleContext)

Restituisce La stringa> elenco<dei nomi delle regole nell'istanza del parser che conduce a una chiamata alla regola corrente. È possibile eseguire l'override se si desiderano altri dettagli, ad esempio le informazioni file/riga di dove viene richiamata una regola ATN. Questo è molto utile per i messaggi di errore.

getTokenType(string)
getTokenTypeMap()

Ottenere una mappa dai nomi dei token ai tipi di token. Usato per la compilazione dei modelli XPath e albero.

inContext(string)
isExpectedToken(number)

Verifica se è possibile symbol seguire lo stato corrente nell'ATN. Il comportamento di questo metodo è equivalente al seguente, ma viene implementato in modo che il set di follow-sensibili al contesto completo non deve essere costruito in modo esplicito.

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

Corrisponde al simbolo di input corrente rispetto a ttype. Se il tipo di simbolo corrisponde <xref:ANTLRErrorStrategy%23reportMatch> e <xref:%23consume> viene chiamato per completare il processo di corrispondenza. Se il tipo di simbolo non corrisponde, <xref:ANTLRErrorStrategy%23recoverInline> viene chiamato nella strategia di errore corrente per tentare il ripristino. Se <xref:%23getBuildParseTree> è true e l'indice token del simbolo restituito da <xref:ANTLRErrorStrategy%23recoverInline> è -1, il simbolo viene aggiunto all'albero di analisi chiamando [Token)](xref:%23createErrorNode(ParserRuleContext%2C) e quindi <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

matchWildcard()

Corrisponde al simbolo di input corrente come carattere jolly. Se il tipo di simbolo corrisponde (ad esempio, ha un valore maggiore di 0) <xref:ANTLRErrorStrategy%23reportMatch> e <xref:%23consume> viene chiamato per completare il processo di corrispondenza. Se il tipo di simbolo non corrisponde, <xref:ANTLRErrorStrategy%23recoverInline> viene chiamato nella strategia di errore corrente per tentare il ripristino. Se <xref:%23getBuildParseTree> è true e l'indice token del simbolo restituito da <xref:ANTLRErrorStrategy%23recoverInline> è -1, il simbolo viene aggiunto all'albero di analisi chiamando [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) e quindi <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

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

Come <xref:%23enterRule> , ma per le regole ricorsive. Impostare il contesto corrente figlio dell'oggetto localctx in ingresso.

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

Rimuovere listener dall'elenco dei listener di analisi. Se listener è o non è undefined stato aggiunto come listener di analisi, questo metodo non fa nulla.

Vedere #addParseListener

removeParseListeners()

Rimuovere tutti i listener di analisi.

Vedere #addParseListener

reset()

reimpostare lo stato del parser

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

Dettagli costruttore

CommonRegexParser(TokenStream)

new CommonRegexParser(input: TokenStream)

Parametri

input

TokenStream

Dettagli proprietà

ALC

public static ALC: 44 = 44

Valore della proprietà

44

Ampersand

public static Ampersand: 43 = 43

Valore della proprietà

43

AUC

public static AUC: 70 = 70

Valore della proprietà

70

Backslash

public static Backslash: 10 = 10

Valore della proprietà

10

BellChar

public static BellChar: 3 = 3

Valore della proprietà

3

BLC

public static BLC: 45 = 45

Valore della proprietà

45

BlockQuoted

public static BlockQuoted: 2 = 2

Valore della proprietà

2

BUC

public static BUC: 71 = 71

Valore della proprietà

71

Caret

public static Caret: 23 = 23

Valore della proprietà

23

CarriageReturn

public static CarriageReturn: 8 = 8

Valore della proprietà

8

CharacterClassEnd

public static CharacterClassEnd: 22 = 22

Valore della proprietà

22

CharacterClassStart

public static CharacterClassStart: 21 = 21

Valore della proprietà

21

CharWithoutProperty

public static CharWithoutProperty: 16 = 16

Valore della proprietà

16

CharWithProperty

public static CharWithProperty: 15 = 15

Valore della proprietà

15

CLC

public static CLC: 46 = 46

Valore della proprietà

46

CloseBrace

public static CloseBrace: 29 = 29

Valore della proprietà

29

CloseParen

public static CloseParen: 34 = 34

Valore della proprietà

34

Colon

public static Colon: 39 = 39

Valore della proprietà

39

Comma

public static Comma: 30 = 30

Valore della proprietà

30

ControlChar

public static ControlChar: 4 = 4

Valore della proprietà

4

CUC

public static CUC: 72 = 72

Valore della proprietà

72

D0

public static D0: 105 = 105

Valore della proprietà

105

D1

public static D1: 96 = 96

Valore della proprietà

96

D2

public static D2: 97 = 97

Valore della proprietà

97

D3

public static D3: 98 = 98

Valore della proprietà

98

D4

public static D4: 99 = 99

Valore della proprietà

99

D5

public static D5: 100 = 100

Valore della proprietà

100

D6

public static D6: 101 = 101

Valore della proprietà

101

D7

public static D7: 102 = 102

Valore della proprietà

102

D8

public static D8: 103 = 103

Valore della proprietà

103

D9

public static D9: 104 = 104

Valore della proprietà

104

DecimalDigit

public static DecimalDigit: 13 = 13

Valore della proprietà

13

DLC

public static DLC: 47 = 47

Valore della proprietà

47

Dot

public static Dot: 12 = 12

Valore della proprietà

12

DUC

public static DUC: 73 = 73

Valore della proprietà

73

ELC

public static ELC: 48 = 48

Valore della proprietà

48

EndOfSubject

public static EndOfSubject: 31 = 31

Valore della proprietà

31

Equals

public static Equals: 41 = 41

Valore della proprietà

41

EscapeChar

public static EscapeChar: 5 = 5

Valore della proprietà

5

EUC

public static EUC: 74 = 74

Valore della proprietà

74

Exclamation

public static Exclamation: 42 = 42

Valore della proprietà

42

FLC

public static FLC: 49 = 49

Valore della proprietà

49

FormFeed

public static FormFeed: 6 = 6

Valore della proprietà

6

FUC

public static FUC: 75 = 75

Valore della proprietà

75

GLC

public static GLC: 50 = 50

Valore della proprietà

50

grammarFileName

string grammarFileName

Valore della proprietà

string

GreaterThan

public static GreaterThan: 36 = 36

Valore della proprietà

36

GUC

public static GUC: 76 = 76

Valore della proprietà

76

Hash

public static Hash: 40 = 40

Valore della proprietà

40

HexChar

public static HexChar: 11 = 11

Valore della proprietà

11

HLC

public static HLC: 51 = 51

Valore della proprietà

51

HUC

public static HUC: 77 = 77

Valore della proprietà

77

Hyphen

public static Hyphen: 24 = 24

Valore della proprietà

24

ILC

public static ILC: 52 = 52

Valore della proprietà

52

IUC

public static IUC: 78 = 78

Valore della proprietà

78

JLC

public static JLC: 53 = 53

Valore della proprietà

53

JUC

public static JUC: 79 = 79

Valore della proprietà

79

KLC

public static KLC: 54 = 54

Valore della proprietà

54

KUC

public static KUC: 80 = 80

Valore della proprietà

80

LessThan

public static LessThan: 35 = 35

Valore della proprietà

35

LLC

public static LLC: 55 = 55

Valore della proprietà

55

LUC

public static LUC: 81 = 81

Valore della proprietà

81

MLC

public static MLC: 56 = 56

Valore della proprietà

56

MUC

public static MUC: 82 = 82

Valore della proprietà

82

NewLine

public static NewLine: 7 = 7

Valore della proprietà

7

NLC

public static NLC: 57 = 57

Valore della proprietà

57

NotDecimalDigit

public static NotDecimalDigit: 14 = 14

Valore della proprietà

14

NotWhiteSpace

public static NotWhiteSpace: 18 = 18

Valore della proprietà

18

NotWordChar

public static NotWordChar: 20 = 20

Valore della proprietà

20

NUC

public static NUC: 83 = 83

Valore della proprietà

83

OLC

public static OLC: 58 = 58

Valore della proprietà

58

OpenBrace

public static OpenBrace: 28 = 28

Valore della proprietà

28

OpenParen

public static OpenParen: 33 = 33

Valore della proprietà

33

OtherChar

public static OtherChar: 106 = 106

Valore della proprietà

106

OUC

public static OUC: 84 = 84

Valore della proprietà

84

Pipe

public static Pipe: 32 = 32

Valore della proprietà

32

PLC

public static PLC: 59 = 59

Valore della proprietà

59

Plus

public static Plus: 26 = 26

Valore della proprietà

26

PUC

public static PUC: 85 = 85

Valore della proprietà

85

QLC

public static QLC: 60 = 60

Valore della proprietà

60

QUC

public static QUC: 86 = 86

Valore della proprietà

86

QuestionMark

public static QuestionMark: 25 = 25

Valore della proprietà

25

Quoted

public static Quoted: 1 = 1

Valore della proprietà

1

RLC

public static RLC: 61 = 61

Valore della proprietà

61

RUC

public static RUC: 87 = 87

Valore della proprietà

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

Valore della proprietà

string[]

ruleNames

string[] ruleNames

Valore della proprietà

string[]

RULE_alpha_nums

public static RULE_alpha_nums: 23 = 23

Valore della proprietà

23

RULE_alternation

public static RULE_alternation: 1 = 1

Valore della proprietà

1

RULE_atom

public static RULE_atom: 11 = 11

Valore della proprietà

11

RULE_capture

public static RULE_capture: 7 = 7

Valore della proprietà

7

RULE_cc_atom

public static RULE_cc_atom: 12 = 12

Valore della proprietà

12

RULE_cc_literal

public static RULE_cc_literal: 15 = 15

Valore della proprietà

15

RULE_character_class

public static RULE_character_class: 6 = 6

Valore della proprietà

6

RULE_digit

public static RULE_digit: 21 = 21

Valore della proprietà

21

RULE_digits

public static RULE_digits: 20 = 20

Valore della proprietà

20

RULE_element

public static RULE_element: 3 = 3

Valore della proprietà

3

RULE_expr

public static RULE_expr: 2 = 2

Valore della proprietà

2

RULE_letter

public static RULE_letter: 26 = 26

Valore della proprietà

26

RULE_literal

public static RULE_literal: 14 = 14

Valore della proprietà

14

RULE_name

public static RULE_name: 22 = 22

Valore della proprietà

22

RULE_non_capture

public static RULE_non_capture: 8 = 8

Valore della proprietà

8

RULE_non_close_paren

public static RULE_non_close_paren: 25 = 25

Valore della proprietà

25

RULE_non_close_parens

public static RULE_non_close_parens: 24 = 24

Valore della proprietà

24

RULE_number

public static RULE_number: 17 = 17

Valore della proprietà

17

RULE_octal_char

public static RULE_octal_char: 18 = 18

Valore della proprietà

18

RULE_octal_digit

public static RULE_octal_digit: 19 = 19

Valore della proprietà

19

RULE_option

public static RULE_option: 9 = 9

Valore della proprietà

9

RULE_option_flag

public static RULE_option_flag: 10 = 10

Valore della proprietà

10

RULE_parse

public static RULE_parse: 0 = 0

Valore della proprietà

0

RULE_quantifier

public static RULE_quantifier: 4 = 4

Valore della proprietà

4

RULE_quantifier_type

public static RULE_quantifier_type: 5 = 5

Valore della proprietà

5

RULE_shared_atom

public static RULE_shared_atom: 13 = 13

Valore della proprietà

13

RULE_shared_literal

public static RULE_shared_literal: 16 = 16

Valore della proprietà

16

serializedATN

string serializedATN

Valore della proprietà

string

SingleQuote

public static SingleQuote: 37 = 37

Valore della proprietà

37

SLC

public static SLC: 62 = 62

Valore della proprietà

62

Star

public static Star: 27 = 27

Valore della proprietà

27

SUC

public static SUC: 88 = 88

Valore della proprietà

88

Tab

public static Tab: 9 = 9

Valore della proprietà

9

TLC

public static TLC: 63 = 63

Valore della proprietà

63

TUC

public static TUC: 89 = 89

Valore della proprietà

89

ULC

public static ULC: 64 = 64

Valore della proprietà

64

Underscore

public static Underscore: 38 = 38

Valore della proprietà

38

UUC

public static UUC: 90 = 90

Valore della proprietà

90

VLC

public static VLC: 65 = 65

Valore della proprietà

65

VOCABULARY

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

Valore della proprietà

Vocabulary

vocabulary

Vocabulary vocabulary

Valore della proprietà

Vocabulary

VUC

public static VUC: 91 = 91

Valore della proprietà

91

WhiteSpace

public static WhiteSpace: 17 = 17

Valore della proprietà

17

WLC

public static WLC: 66 = 66

Valore della proprietà

66

WordChar

public static WordChar: 19 = 19

Valore della proprietà

19

WUC

public static WUC: 92 = 92

Valore della proprietà

92

XLC

public static XLC: 67 = 67

Valore della proprietà

67

XUC

public static XUC: 93 = 93

Valore della proprietà

93

YLC

public static YLC: 68 = 68

Valore della proprietà

68

YUC

public static YUC: 94 = 94

Valore della proprietà

94

ZLC

public static ZLC: 69 = 69

Valore della proprietà

69

ZUC

public static ZUC: 95 = 95

Valore della proprietà

95

Dettagli proprietà ereditate

atn

Ottenere l'oggetto serializedATN usato dal riconoscimento per la stima.

atn: ATN

Valore della proprietà

ATN

Ereditato da Recognizer.atn

buildParseTree

Tenere traccia degli <xref:ParserRuleContext> oggetti durante l'analisi e collegarli usando l'elenco <xref:ParserRuleContext%23children> in modo che formi un albero di analisi. La <xref:ParserRuleContext> regola restituita dalla regola iniziale rappresenta la radice dell'albero di analisi. Si noti che se non si creano alberi di analisi, i contesti delle regole puntano verso l'alto. Quando una regola viene chiusa, restituisce il contesto, ma che ottiene garbage collection se nessuno contiene un riferimento. Punta verso l'alto, ma nessuno punta a esso.

Quando si compilano alberi di analisi, tutti questi contesti vengono aggiunti all'elenco <xref:ParserRuleContext%23children> . I contesti non sono quindi candidati per Garbage Collection.

buildParseTree: boolean

Valore della proprietà

boolean

Ereditato da Parser.buildParseTree

context

context: ParserRuleContext

Valore della proprietà

ParserRuleContext

Ereditato da Parser.context

currentToken

La corrispondenza deve restituire il simbolo di input corrente, che viene inserito nell'etichetta per il riferimento del token associato; ad esempio x=ID.

currentToken: Token

Valore della proprietà

Token

Ereditato da Parser.currentToken

EOF

static EOF: number

Valore della proprietà

number

Ereditato da Recognizer.EOF

errorHandler

errorHandler: ANTLRErrorStrategy

Valore della proprietà

ANTLRErrorStrategy

Ereditato da Parser.errorHandler

inputStream

Impostare il flusso del token e reimpostare il parser.

inputStream: TokenStream

Valore della proprietà

TokenStream

Ereditato da Parser.inputStream

interpreter

Impostare l'interprete ATN usato dal riconoscimento per la stima.

interpreter: ParserATNSimulator

Valore della proprietà

ParserATNSimulator

Ereditato da Riconoscimentor.interprete

isMatchedEOF

isMatchedEOF: boolean

Valore della proprietà

boolean

Ereditato da Parser.isMatchedEOF

isTrace

Durante un'analisi è talvolta utile ascoltare gli eventi di ingresso e uscita della regola, nonché le corrispondenze dei token. Questo è per il debug rapido e sporco.

isTrace: boolean

Valore della proprietà

boolean

Ereditato da Parser.isTrace

numberOfSyntaxErrors

Ottiene il numero di errori di sintassi segnalati durante l'analisi. Questo valore viene incrementato ogni volta <xref:%23notifyErrorListeners> che viene chiamato.

Vedere #notifyErrorListeners

numberOfSyntaxErrors: number

Valore della proprietà

number

Ereditato da Parser.numberOfSyntaxErrors

parseInfo

parseInfo: Promise<ParseInfo | undefined>

Valore della proprietà

Promise<ParseInfo | undefined>

Ereditato da Parser.parseInfo

precedence

Ottenere il livello di precedenza per la regola di precedenza superiore.

precedence: number

Valore della proprietà

number

Ereditato da Parser.precedence

ruleContext

ruleContext: ParserRuleContext

Valore della proprietà

ParserRuleContext

Ereditato da Parser.ruleContext

sourceName

sourceName: string

Valore della proprietà

string

Ereditato da Parser.sourceName

state

Indicare che il riconoscimento ha modificato lo stato interno che è coerente con lo stato ATN passato. In questo modo sappiamo sempre dove siamo nell'ATN mentre il parser va avanti. Gli oggetti contesto regola formano uno stack che consente di visualizzare lo stack di regole di chiamata. Combinare questa operazione e sono disponibili informazioni di configurazione ATN complete.

state: number

Valore della proprietà

number

Ereditato da Recognizer.state

tokenFactory

tokenFactory: TokenFactory

Valore della proprietà

TokenFactory

Ereditato da Parser.tokenFactory

Dettagli metodo

alpha_nums()

function alpha_nums(): Alpha_numsContext

Restituisce

alternation()

function alternation(): AlternationContext

Restituisce

atom()

function atom(): AtomContext

Restituisce

capture()

function capture(): CaptureContext

Restituisce

cc_atom()

function cc_atom(): Cc_atomContext

Restituisce

cc_literal()

function cc_literal(): Cc_literalContext

Restituisce

character_class()

function character_class(): Character_classContext

Restituisce

digit()

function digit(): DigitContext

Restituisce

digits()

function digits(): DigitsContext

Restituisce

element()

function element(): ElementContext

Restituisce

expr()

function expr(): ExprContext

Restituisce

letter()

function letter(): LetterContext

Restituisce

literal()

function literal(): LiteralContext

Restituisce

name()

function name(): NameContext

Restituisce

non_capture()

function non_capture(): Non_captureContext

Restituisce

non_close_paren()

function non_close_paren(): Non_close_parenContext

Restituisce

non_close_parens()

function non_close_parens(): Non_close_parensContext

Restituisce

number()

function number(): NumberContext

Restituisce

octal_char()

function octal_char(): Octal_charContext

Restituisce

octal_digit()

function octal_digit(): Octal_digitContext

Restituisce

option()

function option(): OptionContext

Restituisce

option_flag()

function option_flag(): Option_flagContext

Restituisce

parse()

function parse(): ParseContext

Restituisce

quantifier()

function quantifier(): QuantifierContext

Restituisce

quantifier_type()

function quantifier_type(): Quantifier_typeContext

Restituisce

shared_atom()

function shared_atom(): Shared_atomContext

Restituisce

shared_literal()

function shared_literal(): Shared_literalContext

Restituisce

Dettagli dei metodi ereditati

action(RuleContext | undefined, number, number)

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

Parametri

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

Ereditato da Recognizer.action

addErrorListener(ANTLRErrorListener<Token>)

function addErrorListener(listener: ANTLRErrorListener<Token>)

Parametri

listener

ANTLRErrorListener<Token>

Ereditato da Recognizer.addErrorListener

addParseListener(ParseTreeListener)

listener Registra per ricevere eventi durante il processo di analisi. Per supportare trasformazioni grammaticali di conservazione dell'output (incluse, ma non limitate alla rimozione di ricorsioni a sinistra, alla generazione automatica del fattore sinistro e alla generazione di codice ottimizzata), le chiamate ai metodi di listener durante l'analisi possono variare notevolmente dalle chiamate eseguite <xref:ParseTreeWalker%23DEFAULT> dopo il completamento dell'analisi. In particolare, gli eventi di immissione e uscita delle regole possono verificarsi in un ordine diverso durante l'analisi rispetto a dopo il parser. Inoltre, le chiamate a determinati metodi di immissione delle regole possono essere omessi.

Con le eccezioni specifiche seguenti, le chiamate agli eventi di listener sono deterministiche, ad esempio per l'input identico le chiamate ai metodi listener saranno uguali.

  • Le modifiche alla grammatica usata per generare codice possono modificare il comportamento delle chiamate del listener.
  • Le modifiche alle opzioni della riga di comando passate a ANTLR 4 durante la generazione del parser possono modificare il comportamento delle chiamate del listener.
  • La modifica della versione dello strumento ANTLR usata per generare il parser può modificare il comportamento delle chiamate del listener.
function addParseListener(listener: ParseTreeListener)

Parametri

listener

ParseTreeListener

listener da aggiungere

Ereditato da Parser.addParseListener

compileParseTreePattern(string, number)

Metodo preferito per ottenere un modello ad albero. Ad esempio, ecco un esempio di uso:

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>

Parametri

pattern

string

patternRuleIndex

number

Restituisce

Promise<ParseTreePattern>

Ereditato da Parser.compileParseTreePattern

compileParseTreePattern(string, number, Lexer)

Uguale a [int)](xref:%23compileParseTreePattern(String%2C) ma specificare un CommonRegexLexer oggetto anziché tentare di dedurrlo da questo parser.

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

Parametri

pattern

string

patternRuleIndex

number

lexer

Lexer

Restituisce

Promise<ParseTreePattern>

Ereditato da Parser.compileParseTreePattern

consume()

Utilizzare e restituire il simbolo corrente. Ad esempio, dato l'input seguente con A il simbolo lookahead corrente, questa funzione sposta il cursore su B e restituisce A.

A B
^

Se il parser non è in modalità di ripristino degli errori, il simbolo utilizzato viene aggiunto all'albero di analisi usando <xref:ParserRuleContext%23addChild(TerminalNode)>e <xref:ParseTreeListener%23visitTerminal> viene chiamato in qualsiasi listener di analisi. Se il parser è in modalità di ripristino degli errori, il simbolo utilizzato viene aggiunto all'albero di analisi usando [Token)](xref:%23createErrorNode(ParserRuleContext%2C) <xref:ParserRuleContext%23addErrorNode(ErrorNode)> e <xref:ParseTreeListener%23visitErrorNode> viene chiamato su tutti i listener di analisi.

function consume(): Token

Restituisce

Token

Ereditato da Parser.consume

createErrorNode(ParserRuleContext, Token)

Come creare un nodo di errore, dato un token, associato a un elemento padre. In genere, il nodo di errore da creare non è una funzione dell'elemento padre.

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

Parametri

parent

ParserRuleContext

t

Token

Restituisce

ErrorNode

Ereditato da Parser.createErrorNode

createTerminalNode(ParserRuleContext, Token)

Come creare un nodo foglia del token associato a un elemento padre. In genere, il nodo terminale da creare non è una funzione dell'elemento padre.

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

Parametri

parent

ParserRuleContext

t

Token

Restituisce

TerminalNode

Ereditato da Parser.createTerminalNode

dumpDFA()

Per eseguire il debug e altre finalità.

function dumpDFA()

Ereditato da Parser.dumpDFA

enterLeftFactoredRule(ParserRuleContext, number, number)

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

Parametri

localctx

ParserRuleContext

state

number

ruleIndex

number

Ereditato da Parser.enterLeftFactoredRule

enterOuterAlt(ParserRuleContext, number)

function enterOuterAlt(localctx: ParserRuleContext, altNum: number)

Parametri

localctx

ParserRuleContext

altNum

number

Ereditato da Parser.enterOuterAlt

enterRecursionRule(ParserRuleContext, number, number, number)

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

Parametri

localctx

ParserRuleContext

state

number

ruleIndex

number

precedence

number

Ereditato da Parser.enterRecursionRule

enterRule(ParserRuleContext, number, number)

Viene sempre chiamato dai parser generati all'ingresso di una regola. Il campo <xref:%23_ctx> di accesso ottiene il contesto corrente.

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

Parametri

localctx

ParserRuleContext

state

number

ruleIndex

number

Ereditato da Parser.enterRule

exitRule()

function exitRule()

Ereditato da Parser.exitRule

getATNWithBypassAlts()

L'ATN con alternative di bypass è costoso da creare in modo da crearlo in modo pigrissimo. @ se il parser corrente non implementa la serializedATN proprietà.

function getATNWithBypassAlts(): ATN

Restituisce

ATN

Ereditato da Parser.getATNWithBypassAlts

getDFAStrings()

Per eseguire il debug e altre finalità.

function getDFAStrings(): string[]

Restituisce

string[]

Ereditato da Parser.getDFAStrings

getErrorHeader(RecognitionException)

Che cos'è l'intestazione di errore, normalmente le informazioni sulla posizione di riga/carattere?

function getErrorHeader(e: RecognitionException): string

Parametri

e

RecognitionException

Restituisce

string

Ereditato da Recognizer.getErrorHeader

getErrorListenerDispatch()

function getErrorListenerDispatch(): ParserErrorListener

Restituisce

ParserErrorListener

Ereditato da Parser.getErrorListenerDispatch

getErrorListeners()

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

Restituisce

Array<ANTLRErrorListener<Token>>

Ereditato da Recognizer.getErrorListeners

getExpectedTokens()

Calcola il set di simboli di input che potrebbero seguire rispettivamente lo stato e il contesto del parser corrente, come indicato da <xref:%23getState> e <xref:%23getContext>.

Vedere ATN#getExpectedTokens(int, RuleContext)

function getExpectedTokens(): IntervalSet

Restituisce

IntervalSet

Ereditato da Parser.getExpectedTokens

getExpectedTokensWithinCurrentRule()

function getExpectedTokensWithinCurrentRule(): IntervalSet

Restituisce

IntervalSet

Ereditato da Parser.getExpectedTokensWithinCurrentRule

getInvokingContext(number)

function getInvokingContext(ruleIndex: number): ParserRuleContext | undefined

Parametri

ruleIndex

number

Restituisce

ParserRuleContext | undefined

Ereditato da Parser.getInvokingContext

getParseListeners()

function getParseListeners(): ParseTreeListener[]

Restituisce

ParseTreeListener[]

Ereditato da Parser.getParseListeners

getRuleIndex(string)

Ottenere l'indice di una regola (ad esempio, RULE_ruleName campo) o -1 se non trovato.

function getRuleIndex(ruleName: string): number

Parametri

ruleName

string

Restituisce

number

Ereditato da Parser.getRuleIndex

getRuleIndexMap()

Ottenere una mappa dai nomi delle regole agli indici delle regole. Usato per la compilazione dei modelli XPath e albero.

function getRuleIndexMap(): ReadonlyMap<string, number>

Restituisce

ReadonlyMap<string, number>

Ereditato da Recognizer.getRuleIndexMap

getRuleInvocationStack(RuleContext)

Restituisce La stringa> elenco<dei nomi delle regole nell'istanza del parser che conduce a una chiamata alla regola corrente. È possibile eseguire l'override se si desiderano altri dettagli, ad esempio le informazioni file/riga di dove viene richiamata una regola ATN. Questo è molto utile per i messaggi di errore.

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

Parametri

ctx

RuleContext

Restituisce

string[]

Ereditato da Parser.getRuleInvocationStack

getTokenType(string)

function getTokenType(tokenName: string): number

Parametri

tokenName

string

Restituisce

number

Ereditato da Recognizer.getTokenType

getTokenTypeMap()

Ottenere una mappa dai nomi dei token ai tipi di token. Usato per la compilazione dei modelli XPath e albero.

function getTokenTypeMap(): ReadonlyMap<string, number>

Restituisce

ReadonlyMap<string, number>

Ereditato da Recognizer.getTokenTypeMap

inContext(string)

function inContext(context: string): boolean

Parametri

context

string

Restituisce

boolean

Ereditato da Parser.inContext

isExpectedToken(number)

Verifica se è possibile symbol seguire lo stato corrente nell'ATN. Il comportamento di questo metodo è equivalente al seguente, ma viene implementato in modo che il set di follow-sensibili al contesto completo non deve essere costruito in modo esplicito.

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

Parametri

symbol

number

tipo di simbolo da controllare

Restituisce

boolean

true se symbol può seguire lo stato corrente nell'ATN, in caso contrario false.

Ereditato da Parser.isExpectedToken

match(number)

Corrisponde al simbolo di input corrente rispetto a ttype. Se il tipo di simbolo corrisponde <xref:ANTLRErrorStrategy%23reportMatch> e <xref:%23consume> viene chiamato per completare il processo di corrispondenza. Se il tipo di simbolo non corrisponde, <xref:ANTLRErrorStrategy%23recoverInline> viene chiamato nella strategia di errore corrente per tentare il ripristino. Se <xref:%23getBuildParseTree> è true e l'indice token del simbolo restituito da <xref:ANTLRErrorStrategy%23recoverInline> è -1, il simbolo viene aggiunto all'albero di analisi chiamando [Token)](xref:%23createErrorNode(ParserRuleContext%2C) e quindi <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

function match(ttype: number): Token

Parametri

ttype

number

tipo di token da corrispondere

Restituisce

Token

simbolo corrispondente @ se il simbolo di input corrente non ttype corrisponde e la strategia di errore non è riuscita a recuperare dal simbolo non corrispondente

Ereditato da Parser.match

matchWildcard()

Corrisponde al simbolo di input corrente come carattere jolly. Se il tipo di simbolo corrisponde (ad esempio, ha un valore maggiore di 0) <xref:ANTLRErrorStrategy%23reportMatch> e <xref:%23consume> viene chiamato per completare il processo di corrispondenza. Se il tipo di simbolo non corrisponde, <xref:ANTLRErrorStrategy%23recoverInline> viene chiamato nella strategia di errore corrente per tentare il ripristino. Se <xref:%23getBuildParseTree> è true e l'indice token del simbolo restituito da <xref:ANTLRErrorStrategy%23recoverInline> è -1, il simbolo viene aggiunto all'albero di analisi chiamando [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) e quindi <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

function matchWildcard(): Token

Restituisce

Token

simbolo corrispondente @ se il simbolo di input corrente non corrisponde a un carattere jolly e la strategia di errore non è riuscita a recuperare dal simbolo non corrispondente

Ereditato da Parser.matchWildcard

notifyErrorListeners(string)

function notifyErrorListeners(msg: string)

Parametri

msg

string

Ereditato da Parser.notifyErrorListeners

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

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

Parametri

msg

string

offendingToken

Token | null

e

RecognitionException | undefined

Ereditato da Parser.notifyErrorListeners

precpred(RuleContext, number)

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

Parametri

localctx

RuleContext

precedence

number

Restituisce

boolean

Ereditato da Parser.precpred

pushNewRecursionContext(ParserRuleContext, number, number)

Come <xref:%23enterRule> , ma per le regole ricorsive. Impostare il contesto corrente figlio dell'oggetto localctx in ingresso.

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

Parametri

localctx

ParserRuleContext

state

number

ruleIndex

number

Ereditato da Parser.pushNewRecursionContext

removeErrorListener(ANTLRErrorListener<Token>)

function removeErrorListener(listener: ANTLRErrorListener<Token>)

Parametri

listener

ANTLRErrorListener<Token>

Ereditato da Recognizer.removeErrorListener

removeErrorListeners()

function removeErrorListeners()

Ereditato da Recognizer.removeErrorListeners

removeParseListener(ParseTreeListener)

Rimuovere listener dall'elenco dei listener di analisi. Se listener è o non è undefined stato aggiunto come listener di analisi, questo metodo non fa nulla.

Vedere #addParseListener

function removeParseListener(listener: ParseTreeListener)

Parametri

listener

ParseTreeListener

listener da rimuovere

Ereditato da Parser.removeParseListener

removeParseListeners()

Rimuovere tutti i listener di analisi.

Vedere #addParseListener

function removeParseListeners()

Ereditato da Parser.removeParseListeners

reset()

reimpostare lo stato del parser

function reset()

Ereditato da Parser.reset

reset(boolean)

function reset(resetInput: boolean)

Parametri

resetInput

boolean

Ereditato da Parser.reset

sempred(RuleContext | undefined, number, number)

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

Parametri

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

Restituisce

boolean

Ereditato da Recognizer.sempred

setProfile(boolean)

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

Parametri

profile

boolean

Restituisce

Promise<void>

Ereditato da Parser.setProfile

unrollRecursionContexts(ParserRuleContext)

function unrollRecursionContexts(_parentctx: ParserRuleContext)

Parametri

_parentctx

ParserRuleContext

Ereditato da Parser.unrollRecursionContexts