Share via


LGFileParser class

Extends

Parser

Construtores

LGFileParser(TokenStream)

Propriedades

COMMENT
ESCAPE_CHARACTER
grammarFileName
IMPORT
INLINE_MULTILINE
INVALID_LINE
MULTILINE_PREFIX
MULTILINE_SUFFIX
MULTILINE_TEXT
NEWLINE
OPTION
ruleNames
ruleNames
RULE_commentDefinition
RULE_errorDefinition
RULE_file
RULE_importDefinition
RULE_optionDefinition
RULE_paragraph
RULE_templateBody
RULE_templateBodyLine
RULE_templateDefinition
RULE_templateNameLine
serializedATN
TEMPLATE_BODY
TEMPLATE_NAME_LINE
VOCABULARY
vocabulary

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

commentDefinition()
errorDefinition()
file()
importDefinition()
optionDefinition()
paragraph()
templateBody()
templateBodyLine()
templateDefinition()
templateNameLine()

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 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 pelo <xref:ParseTreeWalker%23DEFAULT> usado após a conclusão da análise. Em particular, os eventos de entrada e saída da 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 exceções específicas a seguir, as chamadas para eventos de ouvinte são determinísticas, ou seja, para entrada idêntica, as chamadas aos métodos de 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 LGFileLexer em vez de tentar deduzê-lo desse analisador.

consume()

Consumir e retornar o símbolo atual. Por exemplo, dada a entrada a seguir por A ser 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 <xref:%23_ctx> de acesso obtém o contexto atual.

exitRule()
getATNWithBypassAlts()

A ATN com alternativas de bypass é cara de criar, portanto, a criamos lentamente. @ 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 atuais do analisador, 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)
sempred(RuleContext | undefined, number, number)
setProfile(boolean)
unrollRecursionContexts(ParserRuleContext)

Detalhes do construtor

LGFileParser(TokenStream)

new LGFileParser(input: TokenStream)

Parâmetros

input

TokenStream

Detalhes da propriedade

COMMENT

public static COMMENT: 3 = 3

Valor da propriedade

3

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 11 = 11

Valor da propriedade

11

grammarFileName

string grammarFileName

Valor da propriedade

string

IMPORT

public static IMPORT: 4 = 4

Valor da propriedade

4

INLINE_MULTILINE

public static INLINE_MULTILINE: 6 = 6

Valor da propriedade

6

INVALID_LINE

public static INVALID_LINE: 9 = 9

Valor da propriedade

9

MULTILINE_PREFIX

public static MULTILINE_PREFIX: 7 = 7

Valor da propriedade

7

MULTILINE_SUFFIX

public static MULTILINE_SUFFIX: 10 = 10

Valor da propriedade

10

MULTILINE_TEXT

public static MULTILINE_TEXT: 12 = 12

Valor da propriedade

12

NEWLINE

public static NEWLINE: 1 = 1

Valor da propriedade

1

OPTION

public static OPTION: 2 = 2

Valor da propriedade

2

ruleNames

public static ruleNames: string[] = [
		"file", "paragraph", "commentDefinition", "importDefinition", "optionDefinition", 
		"errorDefinition", "templateDefinition", "templateNameLine", "templateBody", 
		"templateBodyLine",
	]

Valor da propriedade

string[]

ruleNames

string[] ruleNames

Valor da propriedade

string[]

RULE_commentDefinition

public static RULE_commentDefinition: 2 = 2

Valor da propriedade

2

RULE_errorDefinition

public static RULE_errorDefinition: 5 = 5

Valor da propriedade

5

RULE_file

public static RULE_file: 0 = 0

Valor da propriedade

0

RULE_importDefinition

public static RULE_importDefinition: 3 = 3

Valor da propriedade

3

RULE_optionDefinition

public static RULE_optionDefinition: 4 = 4

Valor da propriedade

4

RULE_paragraph

public static RULE_paragraph: 1 = 1

Valor da propriedade

1

RULE_templateBody

public static RULE_templateBody: 8 = 8

Valor da propriedade

8

RULE_templateBodyLine

public static RULE_templateBodyLine: 9 = 9

Valor da propriedade

9

RULE_templateDefinition

public static RULE_templateDefinition: 6 = 6

Valor da propriedade

6

RULE_templateNameLine

public static RULE_templateNameLine: 7 = 7

Valor da propriedade

7

serializedATN

string serializedATN

Valor da propriedade

string

TEMPLATE_BODY

public static TEMPLATE_BODY: 8 = 8

Valor da propriedade

8

TEMPLATE_NAME_LINE

public static TEMPLATE_NAME_LINE: 5 = 5

Valor da propriedade

5

VOCABULARY

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

Valor da propriedade

Vocabulary

vocabulary

Vocabulary vocabulary

Valor da propriedade

Vocabulary

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

commentDefinition()

function commentDefinition(): CommentDefinitionContext

Retornos

errorDefinition()

function errorDefinition(): ErrorDefinitionContext

Retornos

file()

function file(): FileContext

Retornos

importDefinition()

function importDefinition(): ImportDefinitionContext

Retornos

optionDefinition()

function optionDefinition(): OptionDefinitionContext

Retornos

paragraph()

function paragraph(): ParagraphContext

Retornos

templateBody()

function templateBody(): TemplateBodyContext

Retornos

templateBodyLine()

function templateBodyLine(): TemplateBodyLineContext

Retornos

templateDefinition()

function templateDefinition(): TemplateDefinitionContext

Retornos

templateNameLine()

function templateNameLine(): TemplateNameLineContext

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 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 pelo <xref:ParseTreeWalker%23DEFAULT> usado após a conclusão da análise. Em particular, os eventos de entrada e saída da 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 exceções específicas a seguir, as chamadas para eventos de ouvinte são determinísticas, ou seja, para entrada idêntica, as chamadas aos métodos de 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 LGFileLexer 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 por A ser 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.consume

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 <xref:%23_ctx> de acesso 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 lentamente. @ 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 atuais do analisador, 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

sempred(RuleContext | undefined, number, number)

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

Parâmetros

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

Retornos

boolean

Herdado de Recognizer.sempred

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