Compartilhar via


BinaryOpExpContext class

Extends

Construtores

BinaryOpExpContext(ExpressionContext)

Propriedades

ruleIndex

Propriedades herdadas

altNumber

Defina o número alternativo externo para este nó de contexto. A implementação padrão não faz nada para evitar a sobrecarga do campo de backup para árvores que não precisam dela. Crie uma subclasse de ParserRuleContext com campo de backup e definir contextSuperClass de opção. @since 4.5.3

childCount
children

Se estivermos depurando ou criando uma árvore de análise para um visitante, precisamos rastrear todos os tokens e invocações de regra associados ao contexto dessa regra. Isso está vazio para analisar o constr de árvore w/o. porque não precisamos acompanhar os detalhes sobre como analisamos essa regra.

exception

A exceção que forçou essa regra a retornar. Se a regra for concluída com êxito, esta será undefined.

invokingState
isEmpty

Um contexto estará vazio se não houver nenhum estado de invocação; ou seja, ninguém chamou o contexto atual.

parent
payload
ruleContext
sourceInterval
start

Obtenha o token inicial neste contexto. Observe que o intervalo do início ao fim é inclusivo, portanto, para regras que não consomem nada (por exemplo, zero comprimento ou produções de erro) esse token pode exceder a parada.

stop

Obtenha o token final neste contexto. Observe que o intervalo do início ao fim é inclusivo, portanto, para regras que não consomem nada (por exemplo, zero comprimento ou produções de erro) esse token pode preceder o início.

text

Retorne o texto combinado de todos os nós filho. Esse método considera apenas tokens que foram adicionados à árvore de análise. Como os tokens em canais ocultos (por exemplo, espaço em branco ou comentários) não são adicionados às árvores de análise, eles não aparecerão na saída desse método.

Métodos

accept<Result>(ExpressionAntlrParserVisitor<Result>)
ASTERISK()
DOUBLE_AND()
DOUBLE_EQUAL()
DOUBLE_VERTICAL_CYLINDER()
enterRule(ExpressionAntlrParserListener)
exitRule(ExpressionAntlrParserListener)
expression()
expression(number)
LESS_OR_EQUAl()
LESS_THAN()
MORE_OR_EQUAL()
MORE_THAN()
NOT_EQUAL()
NULL_COALESCE()
PERCENT()
PLUS()
SINGLE_AND()
SLASH()
SUBSTRACT()
XOR()

Métodos herdados

addAnyChild<T>(T)

Adicione um nó de árvore de análise a isso como um filho. Funciona para nós internos e folha. Não define o link pai; outros métodos de adição devem fazer isso. Outros métodos addChild chamam isso. Não é possível definir o ponteiro pai do nó de entrada porque as interfaces existentes não têm um método setParent() e não quero interromper a compatibilidade com versões anteriores para isso.

@since 4.7

addChild(RuleContext)
addChild(TerminalNode)

Adicione um filho do nó folha de token e force seu pai a ser esse nó.

addChild(Token)

Adicione um filho a esse nó com base em matchedToken. Ele cria um TerminalNodeImpl em vez de usar [Token)](xref:Parser%23createTerminalNode(ParserRuleContext%2C). Estou deixando isso para compatibilidade, mas o analisador não usa mais isso.

addErrorNode(ErrorNode)

Adicione um filho do nó de erro e force seu pai a ser esse nó.

addErrorNode(Token)

Adicione um filho a esse nó com base em badToken. Ele cria um ErrorNode em vez de usar [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Estou deixando isso para compatibilidade, mas o analisador não usa mais isso.

copyFrom(ExpressionContext)
depth()
emptyContext()
getChild(number)
getChild<T>(number, { })
getChildContext(RuleContext, number)
getRuleContext<T>(number, { })
getRuleContexts<T>({ })
getToken(number, number)
getTokens(number)
removeLastChild()

Usado por enterOuterAlt para descartar um RuleContext adicionado anteriormente à medida que inserimos uma regra. Se tivermos um rótulo #, precisaremos remover o objeto ruleContext genérico.

setParent(RuleContext)
toInfoString(Parser)

Usado para depuração de informações de contexto de regra durante o tempo de análise, não tanto para depuração de ATN

toString()
toString(Recognizer<any, any> | undefined)
toString(Recognizer<any, any> | undefined, RuleContext | undefined)
toString(string[] | undefined)
toString(string[] | undefined, RuleContext | undefined)
toStringTree()
toStringTree(Parser)

Imprima uma árvore inteira, não apenas um nó, no formato LISP (filho raiz1 .. childN). Imprima apenas um nó se for uma folha. Temos que conhecer o reconhecedor para que possamos obter nomes de regra.

toStringTree(string[] | undefined)

Imprima uma árvore inteira, não apenas um nó, no formato LISP (filho raiz1 .. childN). Imprima apenas um nó se for uma folha.

tryGetChild<T>(number, { })
tryGetRuleContext<T>(number, { })
tryGetToken(number, number)

Detalhes do construtor

BinaryOpExpContext(ExpressionContext)

new BinaryOpExpContext(ctx: ExpressionContext)

Parâmetros

Detalhes da propriedade

ruleIndex

number ruleIndex

Valor da propriedade

number

Detalhes das propriedades herdadas

altNumber

Defina o número alternativo externo para este nó de contexto. A implementação padrão não faz nada para evitar a sobrecarga do campo de backup para árvores que não precisam dela. Crie uma subclasse de ParserRuleContext com campo de backup e definir contextSuperClass de opção. @since 4.5.3

altNumber: number

Valor da propriedade

number

herdado de RuleContext.altNumber

childCount

childCount: number

Valor da propriedade

number

Herdado de ParserRuleContext.childCount

children

Se estivermos depurando ou criando uma árvore de análise para um visitante, precisamos rastrear todos os tokens e invocações de regra associados ao contexto dessa regra. Isso está vazio para analisar o constr de árvore w/o. porque não precisamos acompanhar os detalhes sobre como analisamos essa regra.

children?: ParseTree[]

Valor da propriedade

ParseTree[]

Herdado de ParserRuleContext.children

exception

A exceção que forçou essa regra a retornar. Se a regra for concluída com êxito, esta será undefined.

exception?: RecognitionException

Valor da propriedade

RecognitionException

Herdado de ParserRuleContext.exception

invokingState

invokingState: number

Valor da propriedade

number

Herdado de RuleContext.invokingState

isEmpty

Um contexto estará vazio se não houver nenhum estado de invocação; ou seja, ninguém chamou o contexto atual.

isEmpty: boolean

Valor da propriedade

boolean

herdado de RuleContext.isEmpty

parent

parent: ParserRuleContext | undefined

Valor da propriedade

ParserRuleContext | undefined

Herdado de ParserRuleContext.parent

payload

payload: RuleContext

Valor da propriedade

RuleContext

herdado de RuleContext.payload

ruleContext

ruleContext: this

Valor da propriedade

this

herdado de ParserRuleContext.ruleContext

sourceInterval

sourceInterval: Interval

Valor da propriedade

Interval

Herdado de ParserRuleContext.sourceInterval

start

Obtenha o token inicial neste contexto. Observe que o intervalo do início ao fim é inclusivo, portanto, para regras que não consomem nada (por exemplo, zero comprimento ou produções de erro) esse token pode exceder a parada.

start: Token

Valor da propriedade

Token

Herdado de ParserRuleContext.start

stop

Obtenha o token final neste contexto. Observe que o intervalo do início ao fim é inclusivo, portanto, para regras que não consomem nada (por exemplo, zero comprimento ou produções de erro) esse token pode preceder o início.

stop: Token | undefined

Valor da propriedade

Token | undefined

Herdado de ParserRuleContext.stop

text

Retorne o texto combinado de todos os nós filho. Esse método considera apenas tokens que foram adicionados à árvore de análise. Como os tokens em canais ocultos (por exemplo, espaço em branco ou comentários) não são adicionados às árvores de análise, eles não aparecerão na saída desse método.

text: string

Valor da propriedade

string

herdado de RuleContext.text

Detalhes do método

accept<Result>(ExpressionAntlrParserVisitor<Result>)

function accept<Result>(visitor: ExpressionAntlrParserVisitor<Result>): Result

Parâmetros

Retornos

Result

ASTERISK()

function ASTERISK(): TerminalNode | undefined

Retornos

TerminalNode | undefined

DOUBLE_AND()

function DOUBLE_AND(): TerminalNode | undefined

Retornos

TerminalNode | undefined

DOUBLE_EQUAL()

function DOUBLE_EQUAL(): TerminalNode | undefined

Retornos

TerminalNode | undefined

DOUBLE_VERTICAL_CYLINDER()

function DOUBLE_VERTICAL_CYLINDER(): TerminalNode | undefined

Retornos

TerminalNode | undefined

enterRule(ExpressionAntlrParserListener)

function enterRule(listener: ExpressionAntlrParserListener)

Parâmetros

exitRule(ExpressionAntlrParserListener)

function exitRule(listener: ExpressionAntlrParserListener)

Parâmetros

expression()

function expression(): ExpressionContext[]

Retornos

expression(number)

function expression(i: number): ExpressionContext

Parâmetros

i

number

Retornos

LESS_OR_EQUAl()

function LESS_OR_EQUAl(): TerminalNode | undefined

Retornos

TerminalNode | undefined

LESS_THAN()

function LESS_THAN(): TerminalNode | undefined

Retornos

TerminalNode | undefined

MORE_OR_EQUAL()

function MORE_OR_EQUAL(): TerminalNode | undefined

Retornos

TerminalNode | undefined

MORE_THAN()

function MORE_THAN(): TerminalNode | undefined

Retornos

TerminalNode | undefined

NOT_EQUAL()

function NOT_EQUAL(): TerminalNode | undefined

Retornos

TerminalNode | undefined

NULL_COALESCE()

function NULL_COALESCE(): TerminalNode | undefined

Retornos

TerminalNode | undefined

PERCENT()

function PERCENT(): TerminalNode | undefined

Retornos

TerminalNode | undefined

PLUS()

function PLUS(): TerminalNode | undefined

Retornos

TerminalNode | undefined

SINGLE_AND()

function SINGLE_AND(): TerminalNode | undefined

Retornos

TerminalNode | undefined

SLASH()

function SLASH(): TerminalNode | undefined

Retornos

TerminalNode | undefined

SUBSTRACT()

function SUBSTRACT(): TerminalNode | undefined

Retornos

TerminalNode | undefined

XOR()

function XOR(): TerminalNode | undefined

Retornos

TerminalNode | undefined

Detalhes do método herdado

addAnyChild<T>(T)

Adicione um nó de árvore de análise a isso como um filho. Funciona para nós internos e folha. Não define o link pai; outros métodos de adição devem fazer isso. Outros métodos addChild chamam isso. Não é possível definir o ponteiro pai do nó de entrada porque as interfaces existentes não têm um método setParent() e não quero interromper a compatibilidade com versões anteriores para isso.

@since 4.7

function addAnyChild<T>(t: T): T

Parâmetros

t

T

Retornos

T

Herdado de ParserRuleContext.addAnyChild

addChild(RuleContext)

function addChild(ruleInvocation: RuleContext)

Parâmetros

ruleInvocation

RuleContext

Herdado de ParserRuleContext.addChild

addChild(TerminalNode)

Adicione um filho do nó folha de token e force seu pai a ser esse nó.

function addChild(t: TerminalNode)

Parâmetros

t

TerminalNode

Herdado de ParserRuleContext.addChild

addChild(Token)

Aviso

Essa API foi preterida.

Use another overload instead.

Adicione um filho a esse nó com base em matchedToken. Ele cria um TerminalNodeImpl em vez de usar [Token)](xref:Parser%23createTerminalNode(ParserRuleContext%2C). Estou deixando isso para compatibilidade, mas o analisador não usa mais isso.

function addChild(matchedToken: Token): TerminalNode

Parâmetros

matchedToken

Token

Retornos

TerminalNode

Herdado de ParserRuleContext.addChild

addErrorNode(ErrorNode)

Adicione um filho do nó de erro e force seu pai a ser esse nó.

function addErrorNode(errorNode: ErrorNode): ErrorNode

Parâmetros

errorNode

ErrorNode

Retornos

ErrorNode

Herdado de ParserRuleContext.addErrorNode

addErrorNode(Token)

Aviso

Essa API foi preterida.

Use another overload instead.

Adicione um filho a esse nó com base em badToken. Ele cria um ErrorNode em vez de usar [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Estou deixando isso para compatibilidade, mas o analisador não usa mais isso.

function addErrorNode(badToken: Token): ErrorNode

Parâmetros

badToken

Token

Retornos

ErrorNode

Herdado de ParserRuleContext.addErrorNode

copyFrom(ExpressionContext)

function copyFrom(ctx: ExpressionContext)

Parâmetros

herdado deExpressionContext.copyFrom

depth()

function depth(): number

Retornos

number

Herdado de RuleContext.depth

emptyContext()

static function emptyContext(): ParserRuleContext

Retornos

ParserRuleContext

Herdado de ParserRuleContext.emptyContext

getChild(number)

function getChild(i: number): ParseTree

Parâmetros

i

number

Retornos

ParseTree

Herdado de ParserRuleContext.getChild

getChild<T>(number, { })

function getChild<T>(i: number, ctxType: {  }): T

Parâmetros

i

number

ctxType

{ }

Retornos

T

Herdado de ParserRuleContext.getChild

getChildContext(RuleContext, number)

static function getChildContext(parent: RuleContext, invokingState: number): RuleContext

Parâmetros

parent

RuleContext

invokingState

number

Retornos

RuleContext

herdado de RuleContext.getChildContext

getRuleContext<T>(number, { })

function getRuleContext<T>(i: number, ctxType: {  }): T

Parâmetros

i

number

ctxType

{ }

Retornos

T

Herdado de ParserRuleContext.getRuleContext

getRuleContexts<T>({ })

function getRuleContexts<T>(ctxType: {  }): T[]

Parâmetros

ctxType

{ }

Retornos

T[]

Herdado de ParserRuleContext.getRuleContexts

getToken(number, number)

function getToken(ttype: number, i: number): TerminalNode

Parâmetros

ttype

number

i

number

Retornos

TerminalNode

Herdado de ParserRuleContext.getToken

getTokens(number)

function getTokens(ttype: number): TerminalNode[]

Parâmetros

ttype

number

Retornos

TerminalNode[]

Herdado de ParserRuleContext.getTokens

removeLastChild()

Usado por enterOuterAlt para descartar um RuleContext adicionado anteriormente à medida que inserimos uma regra. Se tivermos um rótulo #, precisaremos remover o objeto ruleContext genérico.

function removeLastChild()

herdado de ParserRuleContext.removeLastChild

setParent(RuleContext)

function setParent(parent: RuleContext)

Parâmetros

parent

RuleContext

herdado de RuleContext.setParent

toInfoString(Parser)

Usado para depuração de informações de contexto de regra durante o tempo de análise, não tanto para depuração de ATN

function toInfoString(recognizer: Parser): string

Parâmetros

recognizer

Parser

Retornos

string

herdado de ParserRuleContext.toInfoString

toString()

function toString(): string

Retornos

string

herdado de RuleContext.toString

toString(Recognizer<any, any> | undefined)

function toString(recog: Recognizer<any, any> | undefined): string

Parâmetros

recog

Recognizer<any, any> | undefined

Retornos

string

herdado de RuleContext.toString

toString(Recognizer<any, any> | undefined, RuleContext | undefined)

function toString(recog: Recognizer<any, any> | undefined, stop: RuleContext | undefined): string

Parâmetros

recog

Recognizer<any, any> | undefined

stop

RuleContext | undefined

Retornos

string

herdado de RuleContext.toString

toString(string[] | undefined)

function toString(ruleNames: string[] | undefined): string

Parâmetros

ruleNames

string[] | undefined

Retornos

string

herdado de RuleContext.toString

toString(string[] | undefined, RuleContext | undefined)

function toString(ruleNames: string[] | undefined, stop: RuleContext | undefined): string

Parâmetros

ruleNames

string[] | undefined

stop

RuleContext | undefined

Retornos

string

herdado de RuleContext.toString

toStringTree()

function toStringTree(): string

Retornos

string

herdado de RuleContext.toStringTree

toStringTree(Parser)

Imprima uma árvore inteira, não apenas um nó, no formato LISP (filho raiz1 .. childN). Imprima apenas um nó se for uma folha. Temos que conhecer o reconhecedor para que possamos obter nomes de regra.

function toStringTree(recog: Parser): string

Parâmetros

recog

Parser

Retornos

string

herdado de RuleContext.toStringTree

toStringTree(string[] | undefined)

Imprima uma árvore inteira, não apenas um nó, no formato LISP (filho raiz1 .. childN). Imprima apenas um nó se for uma folha.

function toStringTree(ruleNames: string[] | undefined): string

Parâmetros

ruleNames

string[] | undefined

Retornos

string

herdado de RuleContext.toStringTree

tryGetChild<T>(number, { })

function tryGetChild<T>(i: number, ctxType: {  }): T | undefined

Parâmetros

i

number

ctxType

{ }

Retornos

T | undefined

Herdado de ParserRuleContext.tryGetChild

tryGetRuleContext<T>(number, { })

function tryGetRuleContext<T>(i: number, ctxType: {  }): T | undefined

Parâmetros

i

number

ctxType

{ }

Retornos

T | undefined

herdado de ParserRuleContext.tryGetRuleContext

tryGetToken(number, number)

function tryGetToken(ttype: number, i: number): TerminalNode | undefined

Parâmetros

ttype

number

i

number

Retornos

TerminalNode | undefined

herdado de ParserRuleContext.tryGetToken