ExpressionAntlrParser class

Extends

Parser

Construtores

ExpressionAntlrParser(TokenStream)

Propriedades

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

Propriedades herdadas

atn

Obtenha o serializedATN usado pelo reconhecedor para previsão.

buildParseTree

Acompanhe os <xref:ParserRuleContext> objetos durante a análise e conecte-os usando a <xref:ParserRuleContext%23children> lista para que ele forme uma árvore de análise. O <xref:ParserRuleContext> retornado da regra inicial representa a raiz da árvore de análise. Observe que, se não estivermos criando árvores de análise, os contextos de regra apontarão apenas para cima. Quando uma regra é encerrada, ela retorna o contexto, mas isso obtém o lixo coletado se ninguém mantém uma referência. Aponta para cima, mas ninguém aponta para ele.

Quando criamos árvores de análise, estamos adicionando todos esses contextos à <xref:ParserRuleContext%23children> lista. Em seguida, os contextos não são candidatos à coleta de lixo.

context
currentToken

A correspondência precisa retornar o símbolo de entrada atual, que é colocado no rótulo do ref de token associado; por exemplo, x=ID.

EOF
errorHandler
inputStream

Defina o fluxo de token e redefina o analisador.

interpreter

Defina o interpretador de ATN usado pelo reconhecedor para previsão.

isMatchedEOF
isTrace

Durante uma análise, às vezes, é útil escutar os eventos de entrada e saída da regra, bem como correspondências de token. Isso é para depuração rápida e suja.

numberOfSyntaxErrors

Obtém o número de erros de sintaxe relatados durante a análise. Esse valor é incrementado sempre que <xref:%23notifyErrorListeners> é chamado.

Consulte #notifyErrorListeners

parseInfo
precedence

Obtenha o nível de precedência para a regra de precedência mais alta.

ruleContext
sourceName
state

Indique que o reconhecedor alterou o estado interno que é consistente com o estado atn passado. Dessa forma, sempre sabemos onde estamos na ATN à medida que o analisador avança. Os objetos de contexto de regra formam uma pilha que nos permite ver a pilha de regras de invocação. Combine isso e temos informações completas de configuração da ATN.

tokenFactory

Métodos

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

Métodos herdados

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

listener Registra-se para receber eventos durante o processo de análise. Para dar suporte a transformações gramaticais de preservação de saída (incluindo, mas não se limitando à remoção de recursão à esquerda, à fatoração de esquerda automatizada e à geração de código otimizada), as chamadas aos métodos de ouvinte durante a análise podem diferir substancialmente das chamadas feitas por <xref:ParseTreeWalker%23DEFAULT> usadas após a conclusão da análise. Em particular, os eventos de entrada e saída de regra podem ocorrer em uma ordem diferente durante a análise do que após o analisador. Além disso, chamadas para determinados métodos de entrada de regra podem ser omitidas.

Com as seguintes exceções específicas, as chamadas para eventos de ouvinte são determinísticas, ou seja, para entrada idêntica, as chamadas aos métodos do ouvinte serão as mesmas.

  • Alterações na gramática usada para gerar código podem alterar o comportamento das chamadas do ouvinte.
  • Alterações nas opções de linha de comando passadas para ANTLR 4 ao gerar o analisador podem alterar o comportamento das chamadas do ouvinte.
  • Alterar a versão da Ferramenta ANTLR usada para gerar o analisador pode alterar o comportamento das chamadas do ouvinte.
compileParseTreePattern(string, number)

O método preferencial de obter um padrão de árvore. Por exemplo, aqui está um exemplo de 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)

O mesmo que [int)](xref:%23compileParseTreePattern(String%2C), mas especifique um CommonRegexLexer em vez de tentar deduzê-lo desse analisador.

consume()

Consumir e retornar o símbolo atual. Por exemplo, dada a entrada a seguir com A o símbolo lookahead atual, essa função move o cursor para B e retorna A.

A B
^

Se o analisador não estiver no modo de recuperação de erro, o símbolo consumido será adicionado à árvore de análise usando <xref:ParserRuleContext%23addChild(TerminalNode)>e <xref:ParseTreeListener%23visitTerminal> será chamado em qualquer ouvinte de análise. Se o analisador estiver no modo de recuperação de erro, o símbolo consumido será adicionado à árvore de análise usando [Token)](xref:%23createErrorNode(ParserRuleContext%2C) <xref:ParserRuleContext%23addErrorNode(ErrorNode)> e <xref:ParseTreeListener%23visitErrorNode> será chamado em qualquer ouvinte de análise.

createErrorNode(ParserRuleContext, Token)

Como criar um nó de erro, dado um token, associado a um pai. Normalmente, o nó de erro a ser criado não é uma função do pai.

createTerminalNode(ParserRuleContext, Token)

Como criar um nó folha de token associado a um pai. Normalmente, o nó de terminal a ser criado não é uma função do pai.

dumpDFA()

Para depuração e outras finalidades.

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

Sempre chamado por analisadores gerados na entrada de uma regra. O campo de acesso <xref:%23_ctx> obtém o contexto atual.

exitRule()
getATNWithBypassAlts()

A ATN com alternativas de bypass é cara de criar, portanto, a criamos de forma preguiçosa. @ se o analisador atual não implementar a serializedATN propriedade .

getDFAStrings()

Para depuração e outras finalidades.

getErrorHeader(RecognitionException)

Qual é o cabeçalho de erro, normalmente informações de posição de linha/caractere?

getErrorListenerDispatch()
getErrorListeners()
getExpectedTokens()

Calcula o conjunto de símbolos de entrada que podem seguir o estado e o contexto do analisador atual, conforme fornecido por <xref:%23getState> e <xref:%23getContext>, respectivamente.

Consulte ATN#getExpectedTokens(int, RuleContext)

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

Obtenha o índice de uma regra (ou seja, campo RULE_ruleName ) ou -1 se não for encontrado.

getRuleIndexMap()

Obtenha um mapa de nomes de regras para índices de regra. Usado para compilação de XPath e padrão de árvore.

getRuleInvocationStack(RuleContext)

Retornar Cadeia de Caracteres> de Lista<dos nomes de regra na instância do analisador que leva a uma chamada para a regra atual. Você pode substituir se quiser mais detalhes, como as informações de arquivo/linha de onde no ATN uma regra é invocada. Isso é muito útil para mensagens de erro.

getTokenType(string)
getTokenTypeMap()

Obtenha um mapa de nomes de token para tipos de token. Usado para compilação de XPath e padrão de árvore.

inContext(string)
isExpectedToken(number)

Verifica se é possível ou não symbol seguir o estado atual no ATN. O comportamento desse método é equivalente ao seguinte, mas é implementado de modo que o conjunto de itens a seguir contextual completo não precise ser construído explicitamente.

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

Corresponda ao símbolo de entrada atual com ttype. Se o tipo de símbolo corresponder <xref:ANTLRErrorStrategy%23reportMatch> e <xref:%23consume> for chamado para concluir o processo de correspondência. Se o tipo de símbolo não corresponder, <xref:ANTLRErrorStrategy%23recoverInline> será chamado na estratégia de erro atual para tentar a recuperação. Se <xref:%23getBuildParseTree> for true e o índice de token do símbolo retornado por <xref:ANTLRErrorStrategy%23recoverInline> for -1, o símbolo será adicionado à árvore de análise chamando [Token)](xref:%23createErrorNode(ParserRuleContext%2C) e .<xref:ParserRuleContext%23addErrorNode(ErrorNode)>

matchWildcard()

Corresponder ao símbolo de entrada atual como um curinga. Se o tipo de símbolo corresponder (ou seja, tiver um valor maior que 0) <xref:ANTLRErrorStrategy%23reportMatch> e <xref:%23consume> for chamado para concluir o processo de correspondência. Se o tipo de símbolo não corresponder, <xref:ANTLRErrorStrategy%23recoverInline> será chamado na estratégia de erro atual para tentar a recuperação. Se <xref:%23getBuildParseTree> for true e o índice de token do símbolo retornado por <xref:ANTLRErrorStrategy%23recoverInline> for -1, o símbolo será adicionado à árvore de análise chamando [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) e .<xref:ParserRuleContext%23addErrorNode(ErrorNode)>

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

Como <xref:%23enterRule> , mas para regras recursivas. Torne o contexto atual o filho do localctx de entrada.

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

Remova listener da lista de ouvintes de análise. Se listener for undefined ou não tiver sido adicionado como um ouvinte de análise, esse método não fará nada.

Consulte #addParseListener

removeParseListeners()

Remova todos os ouvintes de análise.

Consulte #addParseListener

reset()

redefinir o estado do analisador

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

Detalhes do construtor

ExpressionAntlrParser(TokenStream)

new ExpressionAntlrParser(input: TokenStream)

Parâmetros

input

TokenStream

Detalhes da propriedade

ARROW

public static ARROW: 27 = 27

Valor da propriedade

27

ASTERISK

public static ASTERISK: 6 = 6

Valor da propriedade

6

CLOSE_BRACKET

public static CLOSE_BRACKET: 19 = 19

Valor da propriedade

19

CLOSE_CURLY_BRACKET

public static CLOSE_CURLY_BRACKET: 24 = 24

Valor da propriedade

24

CLOSE_SQUARE_BRACKET

public static CLOSE_SQUARE_BRACKET: 22 = 22

Valor da propriedade

22

COLON

public static COLON: 26 = 26

Valor da propriedade

26

COMMA

public static COMMA: 25 = 25

Valor da propriedade

25

DOT

public static DOT: 20 = 20

Valor da propriedade

20

DOUBLE_AND

public static DOUBLE_AND: 12 = 12

Valor da propriedade

12

DOUBLE_EQUAL

public static DOUBLE_EQUAL: 9 = 9

Valor da propriedade

9

DOUBLE_VERTICAL_CYLINDER

public static DOUBLE_VERTICAL_CYLINDER: 13 = 13

Valor da propriedade

13

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 37 = 37

Valor da propriedade

37

grammarFileName

string grammarFileName

Valor da propriedade

string

IDENTIFIER

public static IDENTIFIER: 32 = 32

Valor da propriedade

32

INVALID_TOKEN_DEFAULT_MODE

public static INVALID_TOKEN_DEFAULT_MODE: 35 = 35

Valor da propriedade

35

LESS_OR_EQUAl

public static LESS_OR_EQUAl: 16 = 16

Valor da propriedade

16

LESS_THAN

public static LESS_THAN: 14 = 14

Valor da propriedade

14

MORE_OR_EQUAL

public static MORE_OR_EQUAL: 17 = 17

Valor da propriedade

17

MORE_THAN

public static MORE_THAN: 15 = 15

Valor da propriedade

15

NEWLINE

public static NEWLINE: 33 = 33

Valor da propriedade

33

NON

public static NON: 4 = 4

Valor da propriedade

4

NOT_EQUAL

public static NOT_EQUAL: 10 = 10

Valor da propriedade

10

NULL_COALESCE

public static NULL_COALESCE: 28 = 28

Valor da propriedade

28

NUMBER

public static NUMBER: 30 = 30

Valor da propriedade

30

OPEN_BRACKET

public static OPEN_BRACKET: 18 = 18

Valor da propriedade

18

OPEN_CURLY_BRACKET

public static OPEN_CURLY_BRACKET: 23 = 23

Valor da propriedade

23

OPEN_SQUARE_BRACKET

public static OPEN_SQUARE_BRACKET: 21 = 21

Valor da propriedade

21

PERCENT

public static PERCENT: 8 = 8

Valor da propriedade

8

PLUS

public static PLUS: 2 = 2

Valor da propriedade

2

QUESTION_MARK

public static QUESTION_MARK: 29 = 29

Valor da propriedade

29

ruleNames

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

Valor da propriedade

string[]

ruleNames

string[] ruleNames

Valor da propriedade

string[]

RULE_argsList

public static RULE_argsList: 5 = 5

Valor da propriedade

5

RULE_expression

public static RULE_expression: 1 = 1

Valor da propriedade

1

RULE_file

public static RULE_file: 0 = 0

Valor da propriedade

0

RULE_key

public static RULE_key: 9 = 9

Valor da propriedade

9

RULE_keyValuePair

public static RULE_keyValuePair: 8 = 8

Valor da propriedade

8

RULE_keyValuePairList

public static RULE_keyValuePairList: 7 = 7

Valor da propriedade

7

RULE_lambda

public static RULE_lambda: 6 = 6

Valor da propriedade

6

RULE_primaryExpression

public static RULE_primaryExpression: 2 = 2

Valor da propriedade

2

RULE_stringInterpolation

public static RULE_stringInterpolation: 3 = 3

Valor da propriedade

3

RULE_textContent

public static RULE_textContent: 4 = 4

Valor da propriedade

4

serializedATN

string serializedATN

Valor da propriedade

string

SINGLE_AND

public static SINGLE_AND: 11 = 11

Valor da propriedade

11

SLASH

public static SLASH: 7 = 7

Valor da propriedade

7

STRING

public static STRING: 34 = 34

Valor da propriedade

34

STRING_INTERPOLATION_START

public static STRING_INTERPOLATION_START: 1 = 1

Valor da propriedade

1

SUBSTRACT

public static SUBSTRACT: 3 = 3

Valor da propriedade

3

TEMPLATE

public static TEMPLATE: 36 = 36

Valor da propriedade

36

TEXT_CONTENT

public static TEXT_CONTENT: 38 = 38

Valor da propriedade

38

VOCABULARY

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

Valor da propriedade

Vocabulary

vocabulary

Vocabulary vocabulary

Valor da propriedade

Vocabulary

WHITESPACE

public static WHITESPACE: 31 = 31

Valor da propriedade

31

XOR

public static XOR: 5 = 5

Valor da propriedade

5

Detalhes das propriedades herdadas

atn

Obtenha o serializedATN usado pelo reconhecedor para previsão.

atn: ATN

Valor da propriedade

ATN

Herdado de Recognizer.atn

buildParseTree

Acompanhe os <xref:ParserRuleContext> objetos durante a análise e conecte-os usando a <xref:ParserRuleContext%23children> lista para que ele forme uma árvore de análise. O <xref:ParserRuleContext> retornado da regra inicial representa a raiz da árvore de análise. Observe que, se não estivermos criando árvores de análise, os contextos de regra apontarão apenas para cima. Quando uma regra é encerrada, ela retorna o contexto, mas isso obtém o lixo coletado se ninguém mantém uma referência. Aponta para cima, mas ninguém aponta para ele.

Quando criamos árvores de análise, estamos adicionando todos esses contextos à <xref:ParserRuleContext%23children> lista. Em seguida, os contextos não são candidatos à coleta de lixo.

buildParseTree: boolean

Valor da propriedade

boolean

Herdado de Parser.buildParseTree

context

context: ParserRuleContext

Valor da propriedade

ParserRuleContext

Herdado de Parser.context

currentToken

A correspondência precisa retornar o símbolo de entrada atual, que é colocado no rótulo do ref de token associado; por exemplo, x=ID.

currentToken: Token

Valor da propriedade

Token

Herdado de Parser.currentToken

EOF

static EOF: number

Valor da propriedade

number

Herdado de Recognizer.EOF

errorHandler

errorHandler: ANTLRErrorStrategy

Valor da propriedade

ANTLRErrorStrategy

Herdado de Parser.errorHandler

inputStream

Defina o fluxo de token e redefina o analisador.

inputStream: TokenStream

Valor da propriedade

TokenStream

Herdado de Parser.inputStream

interpreter

Defina o interpretador de ATN usado pelo reconhecedor para previsão.

interpreter: ParserATNSimulator

Valor da propriedade

ParserATNSimulator

Herdado de Recognizer.interprete

isMatchedEOF

isMatchedEOF: boolean

Valor da propriedade

boolean

Herdado de Parser.isMatchedEOF

isTrace

Durante uma análise, às vezes, é útil escutar os eventos de entrada e saída da regra, bem como correspondências de token. Isso é para depuração rápida e suja.

isTrace: boolean

Valor da propriedade

boolean

Herdado de Parser.isTrace

numberOfSyntaxErrors

Obtém o número de erros de sintaxe relatados durante a análise. Esse valor é incrementado sempre que <xref:%23notifyErrorListeners> é chamado.

Consulte #notifyErrorListeners

numberOfSyntaxErrors: number

Valor da propriedade

number

Herdado de Parser.numberOfSyntaxErrors

parseInfo

parseInfo: Promise<ParseInfo | undefined>

Valor da propriedade

Promise<ParseInfo | undefined>

Herdado de Parser.parseInfo

precedence

Obtenha o nível de precedência para a regra de precedência mais alta.

precedence: number

Valor da propriedade

number

Herdado de Parser.precedence

ruleContext

ruleContext: ParserRuleContext

Valor da propriedade

ParserRuleContext

Herdado de Parser.ruleContext

sourceName

sourceName: string

Valor da propriedade

string

Herdado de Parser.sourceName

state

Indique que o reconhecedor alterou o estado interno que é consistente com o estado atn passado. Dessa forma, sempre sabemos onde estamos na ATN à medida que o analisador avança. Os objetos de contexto de regra formam uma pilha que nos permite ver a pilha de regras de invocação. Combine isso e temos informações completas de configuração da ATN.

state: number

Valor da propriedade

number

Herdado de Recognizer.state

tokenFactory

tokenFactory: TokenFactory

Valor da propriedade

TokenFactory

Herdado de Parser.tokenFactory

Detalhes do método

argsList()

function argsList(): ArgsListContext

Retornos

expression()

function expression(): ExpressionContext

Retornos

expression(number)

function expression(_p: number): ExpressionContext

Parâmetros

_p

number

Retornos

file()

function file(): FileContext

Retornos

key()

function key(): KeyContext

Retornos

keyValuePair()

function keyValuePair(): KeyValuePairContext

Retornos

keyValuePairList()

function keyValuePairList(): KeyValuePairListContext

Retornos

lambda()

function lambda(): LambdaContext

Retornos

primaryExpression()

function primaryExpression(): PrimaryExpressionContext

Retornos

primaryExpression(number)

function primaryExpression(_p: number): PrimaryExpressionContext

Parâmetros

_p

number

Retornos

sempred(RuleContext, number, number)

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

Parâmetros

_localctx

RuleContext

ruleIndex

number

predIndex

number

Retornos

boolean

stringInterpolation()

function stringInterpolation(): StringInterpolationContext

Retornos

textContent()

function textContent(): TextContentContext

Retornos

Detalhes do método herdado

action(RuleContext | undefined, number, number)

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

Parâmetros

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

Herdado de Recognizer.action

addErrorListener(ANTLRErrorListener<Token>)

function addErrorListener(listener: ANTLRErrorListener<Token>)

Parâmetros

listener

ANTLRErrorListener<Token>

Herdado de Recognizer.addErrorListener

addParseListener(ParseTreeListener)

listener Registra-se para receber eventos durante o processo de análise. Para dar suporte a transformações gramaticais de preservação de saída (incluindo, mas não se limitando à remoção de recursão à esquerda, à fatoração de esquerda automatizada e à geração de código otimizada), as chamadas aos métodos de ouvinte durante a análise podem diferir substancialmente das chamadas feitas por <xref:ParseTreeWalker%23DEFAULT> usadas após a conclusão da análise. Em particular, os eventos de entrada e saída de regra podem ocorrer em uma ordem diferente durante a análise do que após o analisador. Além disso, chamadas para determinados métodos de entrada de regra podem ser omitidas.

Com as seguintes exceções específicas, as chamadas para eventos de ouvinte são determinísticas, ou seja, para entrada idêntica, as chamadas aos métodos do ouvinte serão as mesmas.

  • Alterações na gramática usada para gerar código podem alterar o comportamento das chamadas do ouvinte.
  • Alterações nas opções de linha de comando passadas para ANTLR 4 ao gerar o analisador podem alterar o comportamento das chamadas do ouvinte.
  • Alterar a versão da Ferramenta ANTLR usada para gerar o analisador pode alterar o comportamento das chamadas do ouvinte.
function addParseListener(listener: ParseTreeListener)

Parâmetros

listener

ParseTreeListener

o ouvinte a ser adicionado

Herdado de Parser.addParseListener

compileParseTreePattern(string, number)

O método preferencial de obter um padrão de árvore. Por exemplo, aqui está um exemplo de 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>

Parâmetros

pattern

string

patternRuleIndex

number

Retornos

Promise<ParseTreePattern>

Herdado de Parser.compileParseTreePattern

compileParseTreePattern(string, number, Lexer)

O mesmo que [int)](xref:%23compileParseTreePattern(String%2C), mas especifique um CommonRegexLexer em vez de tentar deduzê-lo desse analisador.

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

Parâmetros

pattern

string

patternRuleIndex

number

lexer

Lexer

Retornos

Promise<ParseTreePattern>

Herdado de Parser.compileParseTreePattern

consume()

Consumir e retornar o símbolo atual. Por exemplo, dada a entrada a seguir com A o símbolo lookahead atual, essa função move o cursor para B e retorna A.

A B
^

Se o analisador não estiver no modo de recuperação de erro, o símbolo consumido será adicionado à árvore de análise usando <xref:ParserRuleContext%23addChild(TerminalNode)>e <xref:ParseTreeListener%23visitTerminal> será chamado em qualquer ouvinte de análise. Se o analisador estiver no modo de recuperação de erro, o símbolo consumido será adicionado à árvore de análise usando [Token)](xref:%23createErrorNode(ParserRuleContext%2C) <xref:ParserRuleContext%23addErrorNode(ErrorNode)> e <xref:ParseTreeListener%23visitErrorNode> será chamado em qualquer ouvinte de análise.

function consume(): Token

Retornos

Token

Herdado de Parser.consum

createErrorNode(ParserRuleContext, Token)

Como criar um nó de erro, dado um token, associado a um pai. Normalmente, o nó de erro a ser criado não é uma função do pai.

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

Parâmetros

parent

ParserRuleContext

t

Token

Retornos

ErrorNode

Herdado de Parser.createErrorNode

createTerminalNode(ParserRuleContext, Token)

Como criar um nó folha de token associado a um pai. Normalmente, o nó de terminal a ser criado não é uma função do pai.

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

Parâmetros

parent

ParserRuleContext

t

Token

Retornos

TerminalNode

Herdado de Parser.createTerminalNode

dumpDFA()

Para depuração e outras finalidades.

function dumpDFA()

Herdado de Parser.dumpDFA

enterLeftFactoredRule(ParserRuleContext, number, number)

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

Parâmetros

localctx

ParserRuleContext

state

number

ruleIndex

number

Herdado de Parser.enterLeftFactoredRule

enterOuterAlt(ParserRuleContext, number)

function enterOuterAlt(localctx: ParserRuleContext, altNum: number)

Parâmetros

localctx

ParserRuleContext

altNum

number

Herdado de Parser.enterOuterAlt

enterRecursionRule(ParserRuleContext, number, number, number)

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

Parâmetros

localctx

ParserRuleContext

state

number

ruleIndex

number

precedence

number

Herdado de Parser.enterRecursionRule

enterRule(ParserRuleContext, number, number)

Sempre chamado por analisadores gerados na entrada de uma regra. O campo de acesso <xref:%23_ctx> obtém o contexto atual.

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

Parâmetros

localctx

ParserRuleContext

state

number

ruleIndex

number

Herdado de Parser.enterRule

exitRule()

function exitRule()

Herdado de Parser.exitRule

getATNWithBypassAlts()

A ATN com alternativas de bypass é cara de criar, portanto, a criamos de forma preguiçosa. @ se o analisador atual não implementar a serializedATN propriedade .

function getATNWithBypassAlts(): ATN

Retornos

ATN

Herdado de Parser.getATNWithBypassAlts

getDFAStrings()

Para depuração e outras finalidades.

function getDFAStrings(): string[]

Retornos

string[]

Herdado de Parser.getDFAStrings

getErrorHeader(RecognitionException)

Qual é o cabeçalho de erro, normalmente informações de posição de linha/caractere?

function getErrorHeader(e: RecognitionException): string

Parâmetros

e

RecognitionException

Retornos

string

Herdado de Recognizer.getErrorHeader

getErrorListenerDispatch()

function getErrorListenerDispatch(): ParserErrorListener

Retornos

ParserErrorListener

Herdado de Parser.getErrorListenerDispatch

getErrorListeners()

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

Retornos

Array<ANTLRErrorListener<Token>>

Herdado de Recognizer.getErrorListeners

getExpectedTokens()

Calcula o conjunto de símbolos de entrada que podem seguir o estado e o contexto do analisador atual, conforme fornecido por <xref:%23getState> e <xref:%23getContext>, respectivamente.

Consulte ATN#getExpectedTokens(int, RuleContext)

function getExpectedTokens(): IntervalSet

Retornos

IntervalSet

Herdado de Parser.getExpectedTokens

getExpectedTokensWithinCurrentRule()

function getExpectedTokensWithinCurrentRule(): IntervalSet

Retornos

IntervalSet

Herdado de Parser.getExpectedTokensWithinCurrentRule

getInvokingContext(number)

function getInvokingContext(ruleIndex: number): ParserRuleContext | undefined

Parâmetros

ruleIndex

number

Retornos

ParserRuleContext | undefined

Herdado de Parser.getInvokingContext

getParseListeners()

function getParseListeners(): ParseTreeListener[]

Retornos

ParseTreeListener[]

Herdado de Parser.getParseListeners

getRuleIndex(string)

Obtenha o índice de uma regra (ou seja, campo RULE_ruleName ) ou -1 se não for encontrado.

function getRuleIndex(ruleName: string): number

Parâmetros

ruleName

string

Retornos

number

Herdado de Parser.getRuleIndex

getRuleIndexMap()

Obtenha um mapa de nomes de regras para índices de regra. Usado para compilação de XPath e padrão de árvore.

function getRuleIndexMap(): ReadonlyMap<string, number>

Retornos

ReadonlyMap<string, number>

Herdado de Recognizer.getRuleIndexMap

getRuleInvocationStack(RuleContext)

Retornar Cadeia de Caracteres> de Lista<dos nomes de regra na instância do analisador que leva a uma chamada para a regra atual. Você pode substituir se quiser mais detalhes, como as informações de arquivo/linha de onde no ATN uma regra é invocada. Isso é muito útil para mensagens de erro.

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

Parâmetros

ctx

RuleContext

Retornos

string[]

Herdado de Parser.getRuleInvocationStack

getTokenType(string)

function getTokenType(tokenName: string): number

Parâmetros

tokenName

string

Retornos

number

Herdado de Recognizer.getTokenType

getTokenTypeMap()

Obtenha um mapa de nomes de token para tipos de token. Usado para compilação de XPath e padrão de árvore.

function getTokenTypeMap(): ReadonlyMap<string, number>

Retornos

ReadonlyMap<string, number>

Herdado de Recognizer.getTokenTypeMap

inContext(string)

function inContext(context: string): boolean

Parâmetros

context

string

Retornos

boolean

Herdado de Parser.inContext

isExpectedToken(number)

Verifica se é possível ou não symbol seguir o estado atual no ATN. O comportamento desse método é equivalente ao seguinte, mas é implementado de modo que o conjunto de itens a seguir contextual completo não precise ser construído explicitamente.

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

Parâmetros

symbol

number

o tipo de símbolo a ser verificado

Retornos

boolean

true se symbol puder seguir o estado atual no ATN, caso contrário false, .

Herdado de Parser.isExpectedToken

match(number)

Corresponda ao símbolo de entrada atual com ttype. Se o tipo de símbolo corresponder <xref:ANTLRErrorStrategy%23reportMatch> e <xref:%23consume> for chamado para concluir o processo de correspondência. Se o tipo de símbolo não corresponder, <xref:ANTLRErrorStrategy%23recoverInline> será chamado na estratégia de erro atual para tentar a recuperação. Se <xref:%23getBuildParseTree> for true e o índice de token do símbolo retornado por <xref:ANTLRErrorStrategy%23recoverInline> for -1, o símbolo será adicionado à árvore de análise chamando [Token)](xref:%23createErrorNode(ParserRuleContext%2C) e .<xref:ParserRuleContext%23addErrorNode(ErrorNode)>

function match(ttype: number): Token

Parâmetros

ttype

number

o tipo de token a ser correspondido

Retornos

Token

o símbolo correspondente @ se o símbolo de entrada atual não correspondeu ttype e a estratégia de erro não pôde se recuperar do símbolo incompatível

Herdado de Parser.match

matchWildcard()

Corresponder ao símbolo de entrada atual como um curinga. Se o tipo de símbolo corresponder (ou seja, tiver um valor maior que 0) <xref:ANTLRErrorStrategy%23reportMatch> e <xref:%23consume> for chamado para concluir o processo de correspondência. Se o tipo de símbolo não corresponder, <xref:ANTLRErrorStrategy%23recoverInline> será chamado na estratégia de erro atual para tentar a recuperação. Se <xref:%23getBuildParseTree> for true e o índice de token do símbolo retornado por <xref:ANTLRErrorStrategy%23recoverInline> for -1, o símbolo será adicionado à árvore de análise chamando [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) e .<xref:ParserRuleContext%23addErrorNode(ErrorNode)>

function matchWildcard(): Token

Retornos

Token

o símbolo correspondente @ se o símbolo de entrada atual não correspondeu a um curinga e a estratégia de erro não pôde se recuperar do símbolo incompatível

Herdado de Parser.matchWildcard

notifyErrorListeners(string)

function notifyErrorListeners(msg: string)

Parâmetros

msg

string

Herdado de Parser.notifyErrorListeners

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

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

Parâmetros

msg

string

offendingToken

Token | null

e

RecognitionException | undefined

Herdado de Parser.notifyErrorListeners

precpred(RuleContext, number)

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

Parâmetros

localctx

RuleContext

precedence

number

Retornos

boolean

Herdado de Parser.precpred

pushNewRecursionContext(ParserRuleContext, number, number)

Como <xref:%23enterRule> , mas para regras recursivas. Torne o contexto atual o filho do localctx de entrada.

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

Parâmetros

localctx

ParserRuleContext

state

number

ruleIndex

number

Herdado de Parser.pushNewRecursionContext

removeErrorListener(ANTLRErrorListener<Token>)

function removeErrorListener(listener: ANTLRErrorListener<Token>)

Parâmetros

listener

ANTLRErrorListener<Token>

Herdado de Recognizer.removeErrorListener

removeErrorListeners()

function removeErrorListeners()

Herdado de Recognizer.removeErrorListeners

removeParseListener(ParseTreeListener)

Remova listener da lista de ouvintes de análise. Se listener for undefined ou não tiver sido adicionado como um ouvinte de análise, esse método não fará nada.

Consulte #addParseListener

function removeParseListener(listener: ParseTreeListener)

Parâmetros

listener

ParseTreeListener

o ouvinte a ser removido

Herdado de Parser.removeParseListener

removeParseListeners()

Remova todos os ouvintes de análise.

Consulte #addParseListener

function removeParseListeners()

Herdado de Parser.removeParseListeners

reset()

redefinir o estado do analisador

function reset()

Herdado de Parser.reset

reset(boolean)

function reset(resetInput: boolean)

Parâmetros

resetInput

boolean

Herdado de Parser.reset

setProfile(boolean)

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

Parâmetros

profile

boolean

Retornos

Promise<void>

Herdado de Parser.setProfile

unrollRecursionContexts(ParserRuleContext)

function unrollRecursionContexts(_parentctx: ParserRuleContext)

Parâmetros

_parentctx

ParserRuleContext

Herdado de Parser.unrollRecursionContexts