Compartilhar via


Expander class

Expansor de modelo LG.

Extends

AbstractParseTreeVisitor<unknown[]>

Construtores

Expander(Templates, EvaluationOptions)

Cria uma nova instância da classe Expander.

Propriedades

templateMap

TemplateMap.

templates

Modelos.

Métodos

constructScope(string, unknown[], Template[])

Constrói o escopo para mapear os valores dos argumentos para os parâmetros do modelo.

expandTemplate(string, unknown)

Expanda os resultados de um modelo com determinado nome e escopo.

visitIfElseBody(IfElseBodyContext)

Visite uma árvore de análise produzida pela alternativa rotulada ifElseBody em LGTemplateParser.body.

visitNormalBody(NormalBodyContext)

Visite uma árvore de análise produzida pela alternativa normalBody rotulada em LGTemplateParser.body.

visitNormalTemplateBody(NormalTemplateBodyContext)

Visite uma árvore de análise produzida por LGTemplateParser.normalTemplateBody.

visitNormalTemplateString(NormalTemplateStringContext)

Visite uma árvore de análise produzida por LGTemplateParser.normalTemplateString.

visitStructuredBody(StructuredBodyContext)

Visite uma árvore de análise produzida por LGTemplateParser.structuredBody.

visitSwitchCaseBody(SwitchCaseBodyContext)

Visite uma árvore de análise produzida pela alternativa rotulada switchCaseBody em LGTemplateParser.body.

Métodos herdados

visit(ParseTree)

{@inheritDoc} As chamadas de implementação padrão <xref:ParseTree%23accept> na árvore especificada.

visitChildren(RuleNode)

{@inheritDoc} A implementação padrão inicializa o resultado de agregação para defaultResult(). Antes de visitar cada filho, ele chama shouldVisitNextChild; se o resultado for false nenhuma outra criança for visitada e o resultado da agregação atual for retornado. Depois de visitar um filho, o resultado da agregação é atualizado chamando aggregateResult com o resultado agregado anterior e o resultado da visita ao filho.

A implementação padrão não é segura para uso em visitantes que modificam a estrutura da árvore. Os visitantes que modificam a árvore devem substituir esse método para se comportarem corretamente em relação ao algoritmo específico em uso.

visitErrorNode(ErrorNode)

{@inheritDoc} A implementação padrão retorna o resultado de defaultResult.

visitTerminal(TerminalNode)

{@inheritDoc} A implementação padrão retorna o resultado de defaultResult.

Detalhes do construtor

Expander(Templates, EvaluationOptions)

Cria uma nova instância da classe Expander.

new Expander(templates: Templates, opt?: EvaluationOptions)

Parâmetros

templates
Templates

Lista de modelos.

opt
EvaluationOptions

Opções para LG.

Detalhes da propriedade

templateMap

TemplateMap.

templateMap: [key: string]: Template

Valor da propriedade

[key: string]: Template

templates

Modelos.

templates: Templates

Valor da propriedade

Detalhes do método

constructScope(string, unknown[], Template[])

Constrói o escopo para mapear os valores dos argumentos para os parâmetros do modelo.

function constructScope(inputTemplateName: string, args: unknown[], allTemplates: Template[]): MemoryInterface

Parâmetros

inputTemplateName

string

O nome do modelo a ser avaliado.

args

unknown[]

Argumentos a serem mapeados para os parâmetros de modelo.

allTemplates

Template[]

Todos os modelos.

Retornos

MemoryInterface

O escopo atual se o número de argumentos for 0, caso contrário, retornará um CustomedMemory. com o mapeamento do nome do parâmetro para o valor de argumento adicionado ao escopo.

expandTemplate(string, unknown)

Expanda os resultados de um modelo com determinado nome e escopo.

function expandTemplate(templateName: string, scope: unknown): unknown[]

Parâmetros

templateName

string

Nome do modelo fornecido.

scope

unknown

Determinado escopo.

Retornos

unknown[]

Todos os resultados possiáveis.

visitIfElseBody(IfElseBodyContext)

Visite uma árvore de análise produzida pela alternativa rotulada ifElseBody em LGTemplateParser.body.

function visitIfElseBody(ctx: IfElseBodyContext): unknown[]

Parâmetros

ctx
IfElseBodyContext

A árvore de análise.

Retornos

unknown[]

O resultado da visita do corpo do outro lado.

visitNormalBody(NormalBodyContext)

Visite uma árvore de análise produzida pela alternativa normalBody rotulada em LGTemplateParser.body.

function visitNormalBody(ctx: NormalBodyContext): unknown[]

Parâmetros

ctx
NormalBodyContext

A árvore de análise.

Retornos

unknown[]

O resultado de visitar o corpo normal.

visitNormalTemplateBody(NormalTemplateBodyContext)

Visite uma árvore de análise produzida por LGTemplateParser.normalTemplateBody.

function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): unknown[]

Parâmetros

ctx
NormalTemplateBodyContext

A árvore de análise.

Retornos

unknown[]

O resultado da visita ao corpo normal do modelo.

visitNormalTemplateString(NormalTemplateStringContext)

Visite uma árvore de análise produzida por LGTemplateParser.normalTemplateString.

function visitNormalTemplateString(ctx: NormalTemplateStringContext): unknown[]

Parâmetros

ctx
NormalTemplateStringContext

A árvore de análise.

Retornos

unknown[]

O resultado de visitar NormalTemplateString.

visitStructuredBody(StructuredBodyContext)

Visite uma árvore de análise produzida por LGTemplateParser.structuredBody.

function visitStructuredBody(ctx: StructuredBodyContext): unknown[]

Parâmetros

ctx
StructuredBodyContext

A árvore de análise.

Retornos

unknown[]

O resultado de visitar o corpo estruturado.

visitSwitchCaseBody(SwitchCaseBodyContext)

Visite uma árvore de análise produzida pela alternativa rotulada switchCaseBody em LGTemplateParser.body.

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown[]

Parâmetros

ctx
SwitchCaseBodyContext

A árvore de análise.

Retornos

unknown[]

O resultado de visitar o corpo da caixa de comutador.

Detalhes do método herdado

visit(ParseTree)

{@inheritDoc} As chamadas de implementação padrão <xref:ParseTree%23accept> na árvore especificada.

function visit(tree: ParseTree): unknown[]

Parâmetros

tree

ParseTree

Retornos

unknown[]

Herdado de AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

{@inheritDoc} A implementação padrão inicializa o resultado de agregação para defaultResult(). Antes de visitar cada filho, ele chama shouldVisitNextChild; se o resultado for false nenhuma outra criança for visitada e o resultado da agregação atual for retornado. Depois de visitar um filho, o resultado da agregação é atualizado chamando aggregateResult com o resultado agregado anterior e o resultado da visita ao filho.

A implementação padrão não é segura para uso em visitantes que modificam a estrutura da árvore. Os visitantes que modificam a árvore devem substituir esse método para se comportarem corretamente em relação ao algoritmo específico em uso.

function visitChildren(node: RuleNode): unknown[]

Parâmetros

node

RuleNode

Retornos

unknown[]

Herdado de AbstractParseTreeVisitor.visitChildren

visitErrorNode(ErrorNode)

{@inheritDoc} A implementação padrão retorna o resultado de defaultResult.

function visitErrorNode(node: ErrorNode): unknown[]

Parâmetros

node

ErrorNode

Retornos

unknown[]

Herdado de AbstractParseTreeVisitor.visitErrorNode

visitTerminal(TerminalNode)

{@inheritDoc} A implementação padrão retorna o resultado de defaultResult.

function visitTerminal(node: TerminalNode): unknown[]

Parâmetros

node

TerminalNode

Retornos

unknown[]

Herdado de AbstractParseTreeVisitor.visitTerminal