Compartir a través de


Expander class

Expansador de plantillas LG.

Extends

AbstractParseTreeVisitor<unknown[]>

Constructores

Expander(Templates, EvaluationOptions)

Crea una nueva instancia de la clase Expander.

Propiedades

templateMap

TemplateMap.

templates

Plantillas.

Métodos

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

Construye el ámbito para asignar los valores de argumentos a los parámetros de la plantilla.

expandTemplate(string, unknown)

Expanda los resultados de una plantilla con el nombre y el ámbito especificados.

visitIfElseBody(IfElseBodyContext)

Visite un árbol de análisis producido por la alternativa ifElseBody etiquetada en LGTemplateParser.body.

visitNormalBody(NormalBodyContext)

Visite un árbol de análisis producido por la alternativa normalBody etiquetada en LGTemplateParser.body.

visitNormalTemplateBody(NormalTemplateBodyContext)

Visite un árbol de análisis producido por LGTemplateParser.normalTemplateBody.

visitNormalTemplateString(NormalTemplateStringContext)

Visite un árbol de análisis producido por LGTemplateParser.normalTemplateString.

visitStructuredBody(StructuredBodyContext)

Visite un árbol de análisis producido por LGTemplateParser.structuredBody.

visitSwitchCaseBody(SwitchCaseBodyContext)

Visite un árbol de análisis producido por la alternativa switchCaseBody etiquetada en LGTemplateParser.body.

Métodos heredados

visit(ParseTree)

{@inheritDoc} La implementación predeterminada llama a <xref:ParseTree%23accept> en el árbol especificado.

visitChildren(RuleNode)

{@inheritDoc} La implementación predeterminada inicializa el resultado agregado en defaultResult(). Antes de visitar a cada niño, llama a shouldVisitNextChild; si el resultado es false no se visitan más elementos secundarios y se devuelve el resultado agregado actual. Después de visitar un elemento secundario, el resultado agregado se actualiza llamando a aggregateResult con el resultado agregado anterior y el resultado de visitar el elemento secundario.

La implementación predeterminada no es segura para su uso en los visitantes que modifican la estructura del árbol. Los visitantes que modifican el árbol deben invalidar este método para que se comporten correctamente con respecto al algoritmo específico en uso.

visitErrorNode(ErrorNode)

{@inheritDoc} La implementación predeterminada devuelve el resultado de defaultResult.

visitTerminal(TerminalNode)

{@inheritDoc} La implementación predeterminada devuelve el resultado de defaultResult.

Detalles del constructor

Expander(Templates, EvaluationOptions)

Crea una nueva instancia de la clase Expander.

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

Parámetros

templates
Templates

Lista de plantillas.

opt
EvaluationOptions

Opciones para LG.

Detalles de las propiedades

templateMap

TemplateMap.

templateMap: [key: string]: Template

Valor de propiedad

[key: string]: Template

templates

Plantillas.

templates: Templates

Valor de propiedad

Detalles del método

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

Construye el ámbito para asignar los valores de argumentos a los parámetros de la plantilla.

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

Parámetros

inputTemplateName

string

Nombre de plantilla que se va a evaluar.

args

unknown[]

Argumentos que se van a asignar a los parámetros de plantilla.

allTemplates

Template[]

Todas las plantillas.

Devoluciones

MemoryInterface

El ámbito actual si el número de argumentos es 0; de lo contrario, devuelve customdMemory. con la asignación del nombre del parámetro al valor del argumento agregado al ámbito.

expandTemplate(string, unknown)

Expanda los resultados de una plantilla con el nombre y el ámbito especificados.

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

Parámetros

templateName

string

Nombre de plantilla determinado.

scope

unknown

Ámbito determinado.

Devoluciones

unknown[]

Todos los resultados posables.

visitIfElseBody(IfElseBodyContext)

Visite un árbol de análisis producido por la alternativa ifElseBody etiquetada en LGTemplateParser.body.

function visitIfElseBody(ctx: IfElseBodyContext): unknown[]

Parámetros

ctx
IfElseBodyContext

Árbol de análisis.

Devoluciones

unknown[]

Resultado de visitar el cuerpo if-else.

visitNormalBody(NormalBodyContext)

Visite un árbol de análisis producido por la alternativa normalBody etiquetada en LGTemplateParser.body.

function visitNormalBody(ctx: NormalBodyContext): unknown[]

Parámetros

ctx
NormalBodyContext

Árbol de análisis.

Devoluciones

unknown[]

Resultado de visitar el cuerpo normal.

visitNormalTemplateBody(NormalTemplateBodyContext)

Visite un árbol de análisis producido por LGTemplateParser.normalTemplateBody.

function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): unknown[]

Parámetros

ctx
NormalTemplateBodyContext

Árbol de análisis.

Devoluciones

unknown[]

Resultado de visitar el cuerpo de la plantilla normal.

visitNormalTemplateString(NormalTemplateStringContext)

Visite un árbol de análisis producido por LGTemplateParser.normalTemplateString.

function visitNormalTemplateString(ctx: NormalTemplateStringContext): unknown[]

Parámetros

ctx
NormalTemplateStringContext

Árbol de análisis.

Devoluciones

unknown[]

Resultado de visitar NormalTemplateString.

visitStructuredBody(StructuredBodyContext)

Visite un árbol de análisis producido por LGTemplateParser.structuredBody.

function visitStructuredBody(ctx: StructuredBodyContext): unknown[]

Parámetros

ctx
StructuredBodyContext

Árbol de análisis.

Devoluciones

unknown[]

Resultado de visitar el cuerpo estructurado.

visitSwitchCaseBody(SwitchCaseBodyContext)

Visite un árbol de análisis producido por la alternativa switchCaseBody etiquetada en LGTemplateParser.body.

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown[]

Parámetros

ctx
SwitchCaseBodyContext

Árbol de análisis.

Devoluciones

unknown[]

Resultado de visitar el cuerpo de la caja del modificador.

Detalles de los métodos heredados

visit(ParseTree)

{@inheritDoc} La implementación predeterminada llama a <xref:ParseTree%23accept> en el árbol especificado.

function visit(tree: ParseTree): unknown[]

Parámetros

tree

ParseTree

Devoluciones

unknown[]

heredado de AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

{@inheritDoc} La implementación predeterminada inicializa el resultado agregado en defaultResult(). Antes de visitar a cada niño, llama a shouldVisitNextChild; si el resultado es false no se visitan más elementos secundarios y se devuelve el resultado agregado actual. Después de visitar un elemento secundario, el resultado agregado se actualiza llamando a aggregateResult con el resultado agregado anterior y el resultado de visitar el elemento secundario.

La implementación predeterminada no es segura para su uso en los visitantes que modifican la estructura del árbol. Los visitantes que modifican el árbol deben invalidar este método para que se comporten correctamente con respecto al algoritmo específico en uso.

function visitChildren(node: RuleNode): unknown[]

Parámetros

node

RuleNode

Devoluciones

unknown[]

Heredado de AbstractParseTreeVisitor.visitChildren

visitErrorNode(ErrorNode)

{@inheritDoc} La implementación predeterminada devuelve el resultado de defaultResult.

function visitErrorNode(node: ErrorNode): unknown[]

Parámetros

node

ErrorNode

Devoluciones

unknown[]

heredado de AbstractParseTreeVisitor.visitErrorNode

visitTerminal(TerminalNode)

{@inheritDoc} La implementación predeterminada devuelve el resultado de defaultResult.

function visitTerminal(node: TerminalNode): unknown[]

Parámetros

node

TerminalNode

Devoluciones

unknown[]

heredado de AbstractParseTreeVisitor.visitTerminal