Compartilhar via


LGTemplateParser class

Extends

Parser

Construtores

LGTemplateParser(TokenStream)

Propriedades

CASE
COMMENTS
DASH
DEFAULT
ELSE
ELSEIF
ESCAPE_CHARACTER
ESCAPE_CHARACTER_IN_STRUCTURE_BODY
EXPRESSION
EXPRESSION_IN_STRUCTURE_BODY
grammarFileName
IF
INVALID_TOKEN
LEFT_SQUARE_BRACKET
MULTILINE_PREFIX
MULTILINE_SUFFIX
NEWLINE
NEWLINE_IN_BODY
NEWLINE_IN_STRUCTURE_NAME
ruleNames
ruleNames
RULE_body
RULE_errorStructuredName
RULE_errorStructureLine
RULE_errorTemplateString
RULE_expression
RULE_expressionInStructure
RULE_ifCondition
RULE_ifConditionRule
RULE_ifElseTemplateBody
RULE_keyValueStructureLine
RULE_keyValueStructureValue
RULE_normalTemplateBody
RULE_normalTemplateString
RULE_structuredBodyContentLine
RULE_structuredBodyEndLine
RULE_structuredBodyNameLine
RULE_structuredTemplateBody
RULE_switchCaseRule
RULE_switchCaseStat
RULE_switchCaseTemplateBody
RULE_template
RULE_templateString
serializedATN
STRUCTURED_BODY_END
STRUCTURED_COMMENTS
STRUCTURED_NEWLINE
STRUCTURE_EQUALS
STRUCTURE_IDENTIFIER
STRUCTURE_NAME
STRUCTURE_OR_MARK
SWITCH
TEXT
TEXT_IN_STRUCTURE_BODY
TEXT_IN_STRUCTURE_NAME
VOCABULARY
vocabulary
WS
WS_IN_BODY
WS_IN_STRUCTURE_BODY
WS_IN_STRUCTURE_NAME

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

body()
errorStructuredName()
errorStructureLine()
errorTemplateString()
expression()
expressionInStructure()
ifCondition()
ifConditionRule()
ifElseTemplateBody()
keyValueStructureLine()
keyValueStructureValue()
normalTemplateBody()
normalTemplateString()
structuredBodyContentLine()
structuredBodyEndLine()
structuredBodyNameLine()
structuredTemplateBody()
switchCaseRule()
switchCaseStat()
switchCaseTemplateBody()
template()
templateString()

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

LGTemplateParser(TokenStream)

new LGTemplateParser(input: TokenStream)

Parâmetros

input

TokenStream

Detalhes da propriedade

CASE

public static CASE: 14 = 14

Valor da propriedade

14

COMMENTS

public static COMMENTS: 3 = 3

Valor da propriedade

3

DASH

public static DASH: 4 = 4

Valor da propriedade

4

DEFAULT

public static DEFAULT: 15 = 15

Valor da propriedade

15

ELSE

public static ELSE: 12 = 12

Valor da propriedade

12

ELSEIF

public static ELSEIF: 11 = 11

Valor da propriedade

11

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 16 = 16

Valor da propriedade

16

ESCAPE_CHARACTER_IN_STRUCTURE_BODY

public static ESCAPE_CHARACTER_IN_STRUCTURE_BODY: 31 = 31

Valor da propriedade

31

EXPRESSION

public static EXPRESSION: 17 = 17

Valor da propriedade

17

EXPRESSION_IN_STRUCTURE_BODY

public static EXPRESSION_IN_STRUCTURE_BODY: 32 = 32

Valor da propriedade

32

grammarFileName

string grammarFileName

Valor da propriedade

string

IF

public static IF: 10 = 10

Valor da propriedade

10

INVALID_TOKEN

public static INVALID_TOKEN: 6 = 6

Valor da propriedade

6

LEFT_SQUARE_BRACKET

public static LEFT_SQUARE_BRACKET: 5 = 5

Valor da propriedade

5

MULTILINE_PREFIX

public static MULTILINE_PREFIX: 8 = 8

Valor da propriedade

8

MULTILINE_SUFFIX

public static MULTILINE_SUFFIX: 19 = 19

Valor da propriedade

19

NEWLINE

public static NEWLINE: 2 = 2

Valor da propriedade

2

NEWLINE_IN_BODY

public static NEWLINE_IN_BODY: 9 = 9

Valor da propriedade

9

NEWLINE_IN_STRUCTURE_NAME

public static NEWLINE_IN_STRUCTURE_NAME: 21 = 21

Valor da propriedade

21

ruleNames

public static ruleNames: string[] = [
		"template", "body", "structuredTemplateBody", "structuredBodyNameLine", 
		"errorStructuredName", "structuredBodyContentLine", "errorStructureLine", 
		"keyValueStructureLine", "keyValueStructureValue", "structuredBodyEndLine", 
		"normalTemplateBody", "templateString", "normalTemplateString", "errorTemplateString", 
		"ifElseTemplateBody", "ifConditionRule", "ifCondition", "switchCaseTemplateBody", 
		"switchCaseRule", "switchCaseStat", "expression", "expressionInStructure",
	]

Valor da propriedade

string[]

ruleNames

string[] ruleNames

Valor da propriedade

string[]

RULE_body

public static RULE_body: 1 = 1

Valor da propriedade

1

RULE_errorStructuredName

public static RULE_errorStructuredName: 4 = 4

Valor da propriedade

4

RULE_errorStructureLine

public static RULE_errorStructureLine: 6 = 6

Valor da propriedade

6

RULE_errorTemplateString

public static RULE_errorTemplateString: 13 = 13

Valor da propriedade

13

RULE_expression

public static RULE_expression: 20 = 20

Valor da propriedade

20

RULE_expressionInStructure

public static RULE_expressionInStructure: 21 = 21

Valor da propriedade

21

RULE_ifCondition

public static RULE_ifCondition: 16 = 16

Valor da propriedade

16

RULE_ifConditionRule

public static RULE_ifConditionRule: 15 = 15

Valor da propriedade

15

RULE_ifElseTemplateBody

public static RULE_ifElseTemplateBody: 14 = 14

Valor da propriedade

14

RULE_keyValueStructureLine

public static RULE_keyValueStructureLine: 7 = 7

Valor da propriedade

7

RULE_keyValueStructureValue

public static RULE_keyValueStructureValue: 8 = 8

Valor da propriedade

8

RULE_normalTemplateBody

public static RULE_normalTemplateBody: 10 = 10

Valor da propriedade

10

RULE_normalTemplateString

public static RULE_normalTemplateString: 12 = 12

Valor da propriedade

12

RULE_structuredBodyContentLine

public static RULE_structuredBodyContentLine: 5 = 5

Valor da propriedade

5

RULE_structuredBodyEndLine

public static RULE_structuredBodyEndLine: 9 = 9

Valor da propriedade

9

RULE_structuredBodyNameLine

public static RULE_structuredBodyNameLine: 3 = 3

Valor da propriedade

3

RULE_structuredTemplateBody

public static RULE_structuredTemplateBody: 2 = 2

Valor da propriedade

2

RULE_switchCaseRule

public static RULE_switchCaseRule: 18 = 18

Valor da propriedade

18

RULE_switchCaseStat

public static RULE_switchCaseStat: 19 = 19

Valor da propriedade

19

RULE_switchCaseTemplateBody

public static RULE_switchCaseTemplateBody: 17 = 17

Valor da propriedade

17

RULE_template

public static RULE_template: 0 = 0

Valor da propriedade

0

RULE_templateString

public static RULE_templateString: 11 = 11

Valor da propriedade

11

serializedATN

string serializedATN

Valor da propriedade

string

STRUCTURED_BODY_END

public static STRUCTURED_BODY_END: 27 = 27

Valor da propriedade

27

STRUCTURED_COMMENTS

public static STRUCTURED_COMMENTS: 24 = 24

Valor da propriedade

24

STRUCTURED_NEWLINE

public static STRUCTURED_NEWLINE: 26 = 26

Valor da propriedade

26

STRUCTURE_EQUALS

public static STRUCTURE_EQUALS: 29 = 29

Valor da propriedade

29

STRUCTURE_IDENTIFIER

public static STRUCTURE_IDENTIFIER: 28 = 28

Valor da propriedade

28

STRUCTURE_NAME

public static STRUCTURE_NAME: 22 = 22

Valor da propriedade

22

STRUCTURE_OR_MARK

public static STRUCTURE_OR_MARK: 30 = 30

Valor da propriedade

30

SWITCH

public static SWITCH: 13 = 13

Valor da propriedade

13

TEXT

public static TEXT: 18 = 18

Valor da propriedade

18

TEXT_IN_STRUCTURE_BODY

public static TEXT_IN_STRUCTURE_BODY: 33 = 33

Valor da propriedade

33

TEXT_IN_STRUCTURE_NAME

public static TEXT_IN_STRUCTURE_NAME: 23 = 23

Valor da propriedade

23

VOCABULARY

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

Valor da propriedade

Vocabulary

vocabulary

Vocabulary vocabulary

Valor da propriedade

Vocabulary

WS

public static WS: 1 = 1

Valor da propriedade

1

WS_IN_BODY

public static WS_IN_BODY: 7 = 7

Valor da propriedade

7

WS_IN_STRUCTURE_BODY

public static WS_IN_STRUCTURE_BODY: 25 = 25

Valor da propriedade

25

WS_IN_STRUCTURE_NAME

public static WS_IN_STRUCTURE_NAME: 20 = 20

Valor da propriedade

20

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

body()

function body(): BodyContext

Retornos

errorStructuredName()

function errorStructuredName(): ErrorStructuredNameContext

Retornos

errorStructureLine()

function errorStructureLine(): ErrorStructureLineContext

Retornos

errorTemplateString()

function errorTemplateString(): ErrorTemplateStringContext

Retornos

expression()

function expression(): ExpressionContext

Retornos

expressionInStructure()

function expressionInStructure(): ExpressionInStructureContext

Retornos

ifCondition()

function ifCondition(): IfConditionContext

Retornos

ifConditionRule()

function ifConditionRule(): IfConditionRuleContext

Retornos

ifElseTemplateBody()

function ifElseTemplateBody(): IfElseTemplateBodyContext

Retornos

keyValueStructureLine()

function keyValueStructureLine(): KeyValueStructureLineContext

Retornos

keyValueStructureValue()

function keyValueStructureValue(): KeyValueStructureValueContext

Retornos

normalTemplateBody()

function normalTemplateBody(): NormalTemplateBodyContext

Retornos

normalTemplateString()

function normalTemplateString(): NormalTemplateStringContext

Retornos

structuredBodyContentLine()

function structuredBodyContentLine(): StructuredBodyContentLineContext

Retornos

structuredBodyEndLine()

function structuredBodyEndLine(): StructuredBodyEndLineContext

Retornos

structuredBodyNameLine()

function structuredBodyNameLine(): StructuredBodyNameLineContext

Retornos

structuredTemplateBody()

function structuredTemplateBody(): StructuredTemplateBodyContext

Retornos

switchCaseRule()

function switchCaseRule(): SwitchCaseRuleContext

Retornos

switchCaseStat()

function switchCaseStat(): SwitchCaseStatContext

Retornos

switchCaseTemplateBody()

function switchCaseTemplateBody(): SwitchCaseTemplateBodyContext

Retornos

template()

function template(): TemplateContext

Retornos

templateString()

function templateString(): TemplateStringContext

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