Condividi tramite


Evaluator class

Motore di runtime di valutazione

Extends

AbstractParseTreeVisitor<unknown>

Costruttori

Evaluator(Templates, EvaluationOptions)

Crea una nuova istanza della classe analizzatore di .

Proprietà

activityAttachmentFunctionName
expandTextFunctionName
expressionParser

Parser di espressioni.

fromFileFunctionName
isTemplateFunctionName
LGType
ReExecuteSuffix
templateFunctionName
templateMap

TemplateMap.

templates

Modelli.

Metodi

checkExpressionResult(string, string, unknown, string, string, string)

Controlla il risultato di un'espressione e genera l'errore corrispondente.

concatErrorMsg(string, string)

Concatena due messaggi di errore.

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

Costruisce l'ambito per il mapping dei valori degli argomenti ai parametri del modello. Genera errori se alcuni errori sono stati rilevati TemplateErrors.

evaluateTemplate(string, unknown)

Valutare 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.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

Visitare un albero di analisi prodotto da LGTemplateParser.structuredTemplateBody.

visitSwitchCaseBody(SwitchCaseBodyContext)

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

wrappedEvalTextContainsExpression(string, RegExp)

Sostituisce un'espressione contenuta nel testo.

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

Evaluator(Templates, EvaluationOptions)

Crea una nuova istanza della classe analizzatore di .

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

Parametri

templates
Templates

Modelli.

opt
EvaluationOptions

Opzioni per LG.

Dettagli proprietà

activityAttachmentFunctionName

static activityAttachmentFunctionName: "ActivityAttachment" = "ActivityAttachment"

Valore della proprietà

"ActivityAttachment"

expandTextFunctionName

static expandTextFunctionName: "expandText" = "expandText"

Valore della proprietà

"expandText"

expressionParser

Parser di espressioni.

expressionParser: ExpressionParser

Valore della proprietà

ExpressionParser

fromFileFunctionName

static fromFileFunctionName: "fromFile" = "fromFile"

Valore della proprietà

"fromFile"

isTemplateFunctionName

static isTemplateFunctionName: "isTemplate" = "isTemplate"

Valore della proprietà

"isTemplate"

LGType

static LGType: "lgType" = "lgType"

Valore della proprietà

"lgType"

ReExecuteSuffix

static ReExecuteSuffix: "!" = "!"

Valore della proprietà

"!"

templateFunctionName

static templateFunctionName: "template" = "template"

Valore della proprietà

"template"

templateMap

TemplateMap.

templateMap: [key: string]: Template

Valore della proprietà

[key: string]: Template

templates

Modelli.

templates: Templates

Valore della proprietà

Dettagli metodo

checkExpressionResult(string, string, unknown, string, string, string)

Controlla il risultato di un'espressione e genera l'errore corrispondente.

static function checkExpressionResult(exp: string, error: string, result: unknown, templateName: string, inlineContent: string, errorPrefix: string)

Parametri

exp

string

Testo dell'espressione.

error

string

Messaggio di errore.

result

unknown

Risultato.

templateName

string

Nome modello.

inlineContent

string

Opzionale. Contenuto in linea.

errorPrefix

string

Opzionale. Prefisso di errore.

concatErrorMsg(string, string)

Concatena due messaggi di errore.

static function concatErrorMsg(firstError: string, secondError: string): string

Parametri

firstError

string

Primo messaggio di errore da concatenare.

secondError

string

Secondo messaggio di errore da concatenare.

Restituisce

string

Messaggi di errore concatenati.

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

Costruisce l'ambito per il mapping dei valori degli argomenti ai parametri del modello. Genera errori se alcuni errori sono stati rilevati TemplateErrors.

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 CustomizedMemory con il mapping del nome del parametro al valore dell'argomento aggiunto all'ambito.

evaluateTemplate(string, unknown)

Valutare un modello con il nome e l'ambito specificati.

function evaluateTemplate(inputTemplateName: string, scope: unknown): unknown

Parametri

inputTemplateName

string

Nome modello.

scope

unknown

Portata.

Restituisce

unknown

Valutare il risultato.

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 del visitatore.

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 stringa di visita della stringa di modello normale.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

Visitare un albero di analisi prodotto da LGTemplateParser.structuredTemplateBody.

function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): unknown

Parametri

ctx
StructuredTemplateBodyContext

Albero di analisi.

Restituisce

unknown

Risultato della visita al corpo del modello 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 stringa di visita del corpo del case switch.

wrappedEvalTextContainsExpression(string, RegExp)

Sostituisce un'espressione contenuta nel testo.

function wrappedEvalTextContainsExpression(exp: string, regex: RegExp): string

Parametri

exp

string

Testo dell'espressione.

regex

RegExp

Regex per selezionare il testo da sostituire.

Restituisce

string

Testo con espressione sostituita.

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