Condividi tramite


Expander class

Espansione del modello LG.

Extends

AbstractParseTreeVisitor<unknown[]>

Costruttori

Expander(Templates, EvaluationOptions)

Crea una nuova istanza della classe Expander.

Proprietà

templateMap

TemplateMap.

templates

Modelli.

Metodi

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

Costruisce l'ambito per il mapping dei valori degli argomenti ai parametri del modello.

expandTemplate(string, unknown)

Espandere i risultati di un modello con il nome e l'ambito specificati.

visitIfElseBody(IfElseBodyContext)

Visitare un albero di analisi prodotto dall'alternativa ifElseBody etichettata in LGTemplateParser.body.

visitNormalBody(NormalBodyContext)

Visitare un albero di analisi prodotto dall'alternativa normalBody etichettata in LGTemplateParser.body.

visitNormalTemplateBody(NormalTemplateBodyContext)

Visitare un albero di analisi prodotto da LGTemplateParser.normalTemplateBody.

visitNormalTemplateString(NormalTemplateStringContext)

Visitare un albero di analisi prodotto da LGTemplateParser.normalTemplateString.

visitStructuredBody(StructuredBodyContext)

Visitare un albero di analisi prodotto da LGTemplateParser.structuredBody.

visitSwitchCaseBody(SwitchCaseBodyContext)

Visitare un albero di analisi prodotto dall'alternativa switchCaseBody etichettata in LGTemplateParser.body.

Metodi ereditati

visit(ParseTree)

{@inheritDoc} L'implementazione predefinita chiama <xref:ParseTree%23accept> sull'albero specificato.

visitChildren(RuleNode)

{@inheritDoc} L'implementazione predefinita inizializza il risultato aggregato per defaultResult(). Prima di visitare ogni figlio, chiama shouldVisitNextChild; se il risultato è false non vengono visitati più elementi figlio e viene restituito il risultato aggregato corrente. Dopo aver visitato un elemento figlio, il risultato dell'aggregazione viene aggiornato chiamando aggregateResult con il risultato aggregato precedente e il risultato della visita dell'elemento figlio.

L'implementazione predefinita non è sicura per l'uso nei visitatori che modificano la struttura ad albero. I visitatori che modificano l'albero devono eseguire l'override di questo metodo per comportarsi correttamente rispetto all'algoritmo specifico in uso.

visitErrorNode(ErrorNode)

{@inheritDoc} L'implementazione predefinita restituisce il risultato di defaultResult.

visitTerminal(TerminalNode)

{@inheritDoc} L'implementazione predefinita restituisce il risultato di defaultResult.

Dettagli costruttore

Expander(Templates, EvaluationOptions)

Crea una nuova istanza della classe Expander.

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

Parametri

templates
Templates

Elenco di modelli.

opt
EvaluationOptions

Opzioni per LG.

Dettagli proprietà

templateMap

TemplateMap.

templateMap: [key: string]: Template

Valore della proprietà

[key: string]: Template

templates

Modelli.

templates: Templates

Valore della proprietà

Dettagli metodo

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

Costruisce l'ambito per il mapping dei valori degli argomenti ai parametri del modello.

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

Parametri

inputTemplateName

string

Nome del modello da valutare.

args

unknown[]

Argomenti di cui eseguire il mapping ai parametri del modello.

allTemplates

Template[]

Tutti i modelli.

Restituisce

MemoryInterface

L'ambito corrente se il numero di argomenti è 0; in caso contrario, restituisce un oggetto CustomizedMemory. con il mapping del nome del parametro al valore dell'argomento aggiunto all'ambito.

expandTemplate(string, unknown)

Espandere i risultati di un modello con il nome e l'ambito specificati.

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

Parametri

templateName

string

Nome del modello specificato.

scope

unknown

Ambito specificato.

Restituisce

unknown[]

Tutti i risultati possono essere ottenuti.

visitIfElseBody(IfElseBodyContext)

Visitare un albero di analisi prodotto dall'alternativa ifElseBody etichettata in LGTemplateParser.body.

function visitIfElseBody(ctx: IfElseBodyContext): unknown[]

Parametri

ctx
IfElseBodyContext

Albero di analisi.

Restituisce

unknown[]

Risultato della visita del corpo if-else.

visitNormalBody(NormalBodyContext)

Visitare un albero di analisi prodotto dall'alternativa normalBody etichettata in LGTemplateParser.body.

function visitNormalBody(ctx: NormalBodyContext): unknown[]

Parametri

ctx
NormalBodyContext

Albero di analisi.

Restituisce

unknown[]

Risultato della visita al corpo normale.

visitNormalTemplateBody(NormalTemplateBodyContext)

Visitare un albero di analisi prodotto da LGTemplateParser.normalTemplateBody.

function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): unknown[]

Parametri

ctx
NormalTemplateBodyContext

Albero di analisi.

Restituisce

unknown[]

Risultato della visita al corpo del modello normale.

visitNormalTemplateString(NormalTemplateStringContext)

Visitare un albero di analisi prodotto da LGTemplateParser.normalTemplateString.

function visitNormalTemplateString(ctx: NormalTemplateStringContext): unknown[]

Parametri

ctx
NormalTemplateStringContext

Albero di analisi.

Restituisce

unknown[]

Risultato della visita a NormalTemplateString.

visitStructuredBody(StructuredBodyContext)

Visitare un albero di analisi prodotto da LGTemplateParser.structuredBody.

function visitStructuredBody(ctx: StructuredBodyContext): unknown[]

Parametri

ctx
StructuredBodyContext

Albero di analisi.

Restituisce

unknown[]

Risultato della visita al corpo strutturato.

visitSwitchCaseBody(SwitchCaseBodyContext)

Visitare un albero di analisi prodotto dall'alternativa switchCaseBody etichettata in LGTemplateParser.body.

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown[]

Parametri

ctx
SwitchCaseBodyContext

Albero di analisi.

Restituisce

unknown[]

Risultato della visita del corpo del case switch.

Dettagli dei metodi ereditati

visit(ParseTree)

{@inheritDoc} L'implementazione predefinita chiama <xref:ParseTree%23accept> sull'albero specificato.

function visit(tree: ParseTree): unknown[]

Parametri

tree

ParseTree

Restituisce

unknown[]

Ereditato da AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

{@inheritDoc} L'implementazione predefinita inizializza il risultato aggregato per defaultResult(). Prima di visitare ogni figlio, chiama shouldVisitNextChild; se il risultato è false non vengono visitati più elementi figlio e viene restituito il risultato aggregato corrente. Dopo aver visitato un elemento figlio, il risultato dell'aggregazione viene aggiornato chiamando aggregateResult con il risultato aggregato precedente e il risultato della visita dell'elemento figlio.

L'implementazione predefinita non è sicura per l'uso nei visitatori che modificano la struttura ad albero. I visitatori che modificano l'albero devono eseguire l'override di questo metodo per comportarsi correttamente rispetto all'algoritmo specifico in uso.

function visitChildren(node: RuleNode): unknown[]

Parametri

node

RuleNode

Restituisce

unknown[]

Ereditato da AbstractParseTreeVisitor.visitChildren

visitErrorNode(ErrorNode)

{@inheritDoc} L'implementazione predefinita restituisce il risultato di defaultResult.

function visitErrorNode(node: ErrorNode): unknown[]

Parametri

node

ErrorNode

Restituisce

unknown[]

Ereditato da AbstractParseTreeVisitor.visitErrorNode

visitTerminal(TerminalNode)

{@inheritDoc} L'implementazione predefinita restituisce il risultato di defaultResult.

function visitTerminal(node: TerminalNode): unknown[]

Parametri

node

TerminalNode

Restituisce

unknown[]

ereditato da AbstractParseTreeVisitor.visitTerminal