Condividi tramite


ExpressionAntlrParser class

Extends

Parser

Costruttori

ExpressionAntlrParser(TokenStream)

Proprietà

ARROW
ASTERISK
CLOSE_BRACKET
CLOSE_CURLY_BRACKET
CLOSE_SQUARE_BRACKET
COLON
COMMA
DOT
DOUBLE_AND
DOUBLE_EQUAL
DOUBLE_VERTICAL_CYLINDER
ESCAPE_CHARACTER
grammarFileName
IDENTIFIER
INVALID_TOKEN_DEFAULT_MODE
LESS_OR_EQUAl
LESS_THAN
MORE_OR_EQUAL
MORE_THAN
NEWLINE
NON
NOT_EQUAL
NULL_COALESCE
NUMBER
OPEN_BRACKET
OPEN_CURLY_BRACKET
OPEN_SQUARE_BRACKET
PERCENT
PLUS
QUESTION_MARK
ruleNames
ruleNames
RULE_argsList
RULE_expression
RULE_file
RULE_key
RULE_keyValuePair
RULE_keyValuePairList
RULE_lambda
RULE_primaryExpression
RULE_stringInterpolation
RULE_textContent
serializedATN
SINGLE_AND
SLASH
STRING
STRING_INTERPOLATION_START
SUBSTRACT
TEMPLATE
TEXT_CONTENT
VOCABULARY
vocabulary
WHITESPACE
XOR

Proprietà ereditate

atn

Ottenere il serializedATN usato dal riconoscitore per la stima.

buildParseTree

Tenere traccia degli oggetti <xref:ParserRuleContext> durante l'analisi e associarli usando l'elenco <xref:ParserRuleContext%23children> in modo che formi un albero di analisi. Il <xref:ParserRuleContext> restituito 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 solo verso l'alto. Quando una regola viene chiusa, restituisce il contesto, ma viene sottoposto a Garbage Collection se nessuno contiene un riferimento. Punta verso l'alto, ma nessuno lo punta.

Quando si compilano alberi di analisi, si aggiungono tutti questi contesti all'elenco di <xref:ParserRuleContext%23children>. I contesti non sono quindi candidati per l'operazione di 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 riconoscitore 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 che viene chiamato <xref:%23notifyErrorListeners>.

Vedere #notifyErrorListeners

parseInfo
precedence

Ottenere il livello di precedenza per la regola di precedenza più alta.

ruleContext
sourceName
state

Indicare che il riconoscitore ha modificato lo stato interno coerente con lo stato ATN passato. In questo modo si sa sempre dove ci si trova nell'ATN mentre il parser va avanti. Gli oggetti contesto regola formano uno stack che consente di visualizzare lo stack di richiamo delle regole. Combinare questa operazione e sono disponibili informazioni di configurazione ATN complete.

tokenFactory

Metodi

argsList()
expression()
expression(number)
file()
key()
keyValuePair()
keyValuePairList()
lambda()
primaryExpression()
primaryExpression(number)
sempred(RuleContext, number, number)
stringInterpolation()
textContent()

Metodi ereditati

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

Registra listener per ricevere eventi durante il processo di analisi. Per supportare trasformazioni grammaticali con mantenimento dell'output (inclusa la rimozione della ricorsione a sinistra, il factoring a sinistra automatizzato e la generazione di codice ottimizzata), le chiamate ai metodi del listener durante l'analisi possono differire sostanzialmente dalle chiamate effettuate da <xref:ParseTreeWalker%23DEFAULT> usate al termine dell'analisi. In particolare, gli eventi di ingresso e uscita delle regole possono verificarsi in un ordine diverso durante l'analisi rispetto al parser. Inoltre, le chiamate a determinati metodi di immissione delle regole possono essere omesse.

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

  • Le modifiche alla grammatica usata per generare codice possono modificare il comportamento delle chiamate del listener.
  • Le modifiche apportate 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, di seguito è riportato 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 anziché tentare di dedurrlo da questo parser.

consume()

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

A B
^

Se il parser non è in modalità di recupero degli errori, il simbolo utilizzato viene aggiunto all'albero di analisi usando <xref:ParserRuleContext%23addChild(TerminalNode)>e <xref:ParseTreeListener%23visitTerminal> viene chiamato su qualsiasi listener di analisi. Se il parser è in modalità di recupero 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 qualsiasi 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 del terminale da creare non è una funzione dell'elemento padre.

dumpDFA()

Per scopi di debug e altri scopi.

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

Chiamato sempre dai parser generati al momento dell'immissione di una regola. Campo di accesso <xref:%23_ctx> ottenere il contesto corrente.

exitRule()
getATNWithBypassAlts()

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

getDFAStrings()

Per scopi di debug e altri scopi.

getErrorHeader(RecognitionException)

Qual è l'intestazione dell'errore, in genere informazioni sulla posizione di riga/carattere?

getErrorListenerDispatch()
getErrorListeners()
getExpectedTokens()

Calcola il set di simboli di input che possono seguire rispettivamente lo stato e il contesto del parser corrente, come indicato rispettivamente 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 viene trovato.

getRuleIndexMap()

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

getRuleInvocationStack(RuleContext)

Return List<String> 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 di 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 di modelli di albero e XPath.

inContext(string)
isExpectedToken(number)

Controlla se symbol può seguire lo stato corrente nell'ATN. Il comportamento di questo metodo è equivalente al seguente, ma viene implementato in modo che il set di follow con distinzione del contesto completo non debba essere costruito in modo esplicito.

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

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

matchWildcard()

Trova la corrispondenza con il 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> vengono chiamati per completare il processo di corrispondenza. Se il tipo di simbolo non corrisponde, <xref:ANTLRErrorStrategy%23recoverInline> viene chiamato sulla strategia di errore corrente per tentare il ripristino. Se <xref:%23getBuildParseTree> è true e l'indice del token del simbolo restituito da <xref:ANTLRErrorStrategy%23recoverInline> è -1, il simbolo viene aggiunto all'albero di analisi chiamando [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) <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 come elemento figlio dell'oggetto localctx in ingresso.

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

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

Vedere #addParseListener

removeParseListeners()

Rimuovere tutti i listener di analisi.

Vedere #addParseListener

reset()

reimpostare lo stato del parser

reset(boolean)
setProfile(boolean)
unrollRecursionContexts(ParserRuleContext)

Dettagli costruttore

ExpressionAntlrParser(TokenStream)

new ExpressionAntlrParser(input: TokenStream)

Parametri

input

TokenStream

Dettagli proprietà

ARROW

public static ARROW: 27 = 27

Valore della proprietà

27

ASTERISK

public static ASTERISK: 6 = 6

Valore della proprietà

6

CLOSE_BRACKET

public static CLOSE_BRACKET: 19 = 19

Valore della proprietà

19

CLOSE_CURLY_BRACKET

public static CLOSE_CURLY_BRACKET: 24 = 24

Valore della proprietà

24

CLOSE_SQUARE_BRACKET

public static CLOSE_SQUARE_BRACKET: 22 = 22

Valore della proprietà

22

COLON

public static COLON: 26 = 26

Valore della proprietà

26

COMMA

public static COMMA: 25 = 25

Valore della proprietà

25

DOT

public static DOT: 20 = 20

Valore della proprietà

20

DOUBLE_AND

public static DOUBLE_AND: 12 = 12

Valore della proprietà

12

DOUBLE_EQUAL

public static DOUBLE_EQUAL: 9 = 9

Valore della proprietà

9

DOUBLE_VERTICAL_CYLINDER

public static DOUBLE_VERTICAL_CYLINDER: 13 = 13

Valore della proprietà

13

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 37 = 37

Valore della proprietà

37

grammarFileName

string grammarFileName

Valore della proprietà

string

IDENTIFIER

public static IDENTIFIER: 32 = 32

Valore della proprietà

32

INVALID_TOKEN_DEFAULT_MODE

public static INVALID_TOKEN_DEFAULT_MODE: 35 = 35

Valore della proprietà

35

LESS_OR_EQUAl

public static LESS_OR_EQUAl: 16 = 16

Valore della proprietà

16

LESS_THAN

public static LESS_THAN: 14 = 14

Valore della proprietà

14

MORE_OR_EQUAL

public static MORE_OR_EQUAL: 17 = 17

Valore della proprietà

17

MORE_THAN

public static MORE_THAN: 15 = 15

Valore della proprietà

15

NEWLINE

public static NEWLINE: 33 = 33

Valore della proprietà

33

NON

public static NON: 4 = 4

Valore della proprietà

4

NOT_EQUAL

public static NOT_EQUAL: 10 = 10

Valore della proprietà

10

NULL_COALESCE

public static NULL_COALESCE: 28 = 28

Valore della proprietà

28

NUMBER

public static NUMBER: 30 = 30

Valore della proprietà

30

OPEN_BRACKET

public static OPEN_BRACKET: 18 = 18

Valore della proprietà

18

OPEN_CURLY_BRACKET

public static OPEN_CURLY_BRACKET: 23 = 23

Valore della proprietà

23

OPEN_SQUARE_BRACKET

public static OPEN_SQUARE_BRACKET: 21 = 21

Valore della proprietà

21

PERCENT

public static PERCENT: 8 = 8

Valore della proprietà

8

PLUS

public static PLUS: 2 = 2

Valore della proprietà

2

QUESTION_MARK

public static QUESTION_MARK: 29 = 29

Valore della proprietà

29

ruleNames

public static ruleNames: string[] = [
		"file", "expression", "primaryExpression", "stringInterpolation", "textContent", 
		"argsList", "lambda", "keyValuePairList", "keyValuePair", "key",
	]

Valore della proprietà

string[]

ruleNames

string[] ruleNames

Valore della proprietà

string[]

RULE_argsList

public static RULE_argsList: 5 = 5

Valore della proprietà

5

RULE_expression

public static RULE_expression: 1 = 1

Valore della proprietà

1

RULE_file

public static RULE_file: 0 = 0

Valore della proprietà

0

RULE_key

public static RULE_key: 9 = 9

Valore della proprietà

9

RULE_keyValuePair

public static RULE_keyValuePair: 8 = 8

Valore della proprietà

8

RULE_keyValuePairList

public static RULE_keyValuePairList: 7 = 7

Valore della proprietà

7

RULE_lambda

public static RULE_lambda: 6 = 6

Valore della proprietà

6

RULE_primaryExpression

public static RULE_primaryExpression: 2 = 2

Valore della proprietà

2

RULE_stringInterpolation

public static RULE_stringInterpolation: 3 = 3

Valore della proprietà

3

RULE_textContent

public static RULE_textContent: 4 = 4

Valore della proprietà

4

serializedATN

string serializedATN

Valore della proprietà

string

SINGLE_AND

public static SINGLE_AND: 11 = 11

Valore della proprietà

11

SLASH

public static SLASH: 7 = 7

Valore della proprietà

7

STRING

public static STRING: 34 = 34

Valore della proprietà

34

STRING_INTERPOLATION_START

public static STRING_INTERPOLATION_START: 1 = 1

Valore della proprietà

1

SUBSTRACT

public static SUBSTRACT: 3 = 3

Valore della proprietà

3

TEMPLATE

public static TEMPLATE: 36 = 36

Valore della proprietà

36

TEXT_CONTENT

public static TEXT_CONTENT: 38 = 38

Valore della proprietà

38

VOCABULARY

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

Valore della proprietà

Vocabulary

vocabulary

Vocabulary vocabulary

Valore della proprietà

Vocabulary

WHITESPACE

public static WHITESPACE: 31 = 31

Valore della proprietà

31

XOR

public static XOR: 5 = 5

Valore della proprietà

5

Dettagli proprietà ereditate

atn

Ottenere il serializedATN usato dal riconoscitore per la stima.

atn: ATN

Valore della proprietà

ATN

ereditato da Recognizer.atn

buildParseTree

Tenere traccia degli oggetti <xref:ParserRuleContext> durante l'analisi e associarli usando l'elenco <xref:ParserRuleContext%23children> in modo che formi un albero di analisi. Il <xref:ParserRuleContext> restituito 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 solo verso l'alto. Quando una regola viene chiusa, restituisce il contesto, ma viene sottoposto a Garbage Collection se nessuno contiene un riferimento. Punta verso l'alto, ma nessuno lo punta.

Quando si compilano alberi di analisi, si aggiungono tutti questi contesti all'elenco di <xref:ParserRuleContext%23children>. I contesti non sono quindi candidati per l'operazione di 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 riconoscitore per la stima.

interpreter: ParserATNSimulator

Valore della proprietà

ParserATNSimulator

Ereditato da Recognizer.interpreter

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 che viene chiamato <xref:%23notifyErrorListeners>.

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 più alta.

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 riconoscitore ha modificato lo stato interno coerente con lo stato ATN passato. In questo modo si sa sempre dove ci si trova nell'ATN mentre il parser va avanti. Gli oggetti contesto regola formano uno stack che consente di visualizzare lo stack di richiamo delle regole. 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

argsList()

function argsList(): ArgsListContext

Restituisce

expression()

function expression(): ExpressionContext

Restituisce

expression(number)

function expression(_p: number): ExpressionContext

Parametri

_p

number

Restituisce

file()

function file(): FileContext

Restituisce

key()

function key(): KeyContext

Restituisce

keyValuePair()

function keyValuePair(): KeyValuePairContext

Restituisce

keyValuePairList()

function keyValuePairList(): KeyValuePairListContext

Restituisce

lambda()

function lambda(): LambdaContext

Restituisce

primaryExpression()

function primaryExpression(): PrimaryExpressionContext

Restituisce

primaryExpression(number)

function primaryExpression(_p: number): PrimaryExpressionContext

Parametri

_p

number

Restituisce

sempred(RuleContext, number, number)

function sempred(_localctx: RuleContext, ruleIndex: number, predIndex: number): boolean

Parametri

_localctx

RuleContext

ruleIndex

number

predIndex

number

Restituisce

boolean

stringInterpolation()

function stringInterpolation(): StringInterpolationContext

Restituisce

textContent()

function textContent(): TextContentContext

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)

Registra listener per ricevere eventi durante il processo di analisi. Per supportare trasformazioni grammaticali con mantenimento dell'output (inclusa la rimozione della ricorsione a sinistra, il factoring a sinistra automatizzato e la generazione di codice ottimizzata), le chiamate ai metodi del listener durante l'analisi possono differire sostanzialmente dalle chiamate effettuate da <xref:ParseTreeWalker%23DEFAULT> usate al termine dell'analisi. In particolare, gli eventi di ingresso e uscita delle regole possono verificarsi in un ordine diverso durante l'analisi rispetto al parser. Inoltre, le chiamate a determinati metodi di immissione delle regole possono essere omesse.

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

  • Le modifiche alla grammatica usata per generare codice possono modificare il comportamento delle chiamate del listener.
  • Le modifiche apportate 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, di seguito è riportato 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 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 come simbolo lookahead corrente, questa funzione sposta il cursore su B e restituisce A.

A B
^

Se il parser non è in modalità di recupero degli errori, il simbolo utilizzato viene aggiunto all'albero di analisi usando <xref:ParserRuleContext%23addChild(TerminalNode)>e <xref:ParseTreeListener%23visitTerminal> viene chiamato su qualsiasi listener di analisi. Se il parser è in modalità di recupero 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 qualsiasi 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 del 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 scopi di debug e altri scopi.

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)

Chiamato sempre dai parser generati al momento dell'immissione di una regola. Campo di accesso <xref:%23_ctx> ottenere 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 differire. @ se il parser corrente non implementa la proprietà serializedATN.

function getATNWithBypassAlts(): ATN

Restituisce

ATN

Ereditato da Parser.getATNWithBypassAlts

getDFAStrings()

Per scopi di debug e altri scopi.

function getDFAStrings(): string[]

Restituisce

string[]

Ereditato da Parser.getDFAStrings

getErrorHeader(RecognitionException)

Qual è l'intestazione dell'errore, in genere 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 possono seguire rispettivamente lo stato e il contesto del parser corrente, come indicato rispettivamente 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 viene 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 di modelli di albero e XPath.

function getRuleIndexMap(): ReadonlyMap<string, number>

Restituisce

ReadonlyMap<string, number>

Ereditato da Recognizer.getRuleIndexMap

getRuleInvocationStack(RuleContext)

Return List<String> 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 di 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 di modelli di albero e XPath.

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)

Controlla se symbol può seguire lo stato corrente nell'ATN. Il comportamento di questo metodo è equivalente al seguente, ma viene implementato in modo che il set di follow con distinzione del contesto completo non debba 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 in ATN; in caso contrario, false.

Ereditato da Parser.isExpectedToken

match(number)

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

function match(ttype: number): Token

Parametri

ttype

number

tipo di token da associare

Restituisce

Token

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

Ereditato da Parser.match

matchWildcard()

Trova la corrispondenza con il 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> vengono chiamati per completare il processo di corrispondenza. Se il tipo di simbolo non corrisponde, <xref:ANTLRErrorStrategy%23recoverInline> viene chiamato sulla strategia di errore corrente per tentare il ripristino. Se <xref:%23getBuildParseTree> è true e l'indice del token del simbolo restituito da <xref:ANTLRErrorStrategy%23recoverInline> è -1, il simbolo viene aggiunto all'albero di analisi chiamando [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) <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 come elemento 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 è undefined o non è stato aggiunto come listener di analisi, questo metodo non esegue alcuna operazione.

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

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