Evaluator class

评估运行时引擎

扩展

AbstractParseTreeVisitor<unknown>

构造函数

Evaluator(Templates, EvaluationOptions)

创建 计算器 类的新实例。

属性

activityAttachmentFunctionName
expandTextFunctionName
expressionParser

表达式分析器。

fromFileFunctionName
isTemplateFunctionName
LGType
ReExecuteSuffix
templateFunctionName
templateMap

TemplateMap。

templates

模板。

方法

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

检查表达式结果并引发相应的错误。

concatErrorMsg(string, string)

连接两条错误消息。

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

构造用于将参数值映射到模板的参数的范围。 如果 TemplateErrors检测到某些错误,则引发错误。

evaluateTemplate(string, unknown)

评估具有给定名称和范围的模板。

visitIfElseBody(IfElseBodyContext)

访问 LGTemplateParser.body 中标记为替代项 ifElseBody 生成的分析树。

visitNormalBody(NormalBodyContext)

访问 LGTemplateParser.body 中 normalBody 标记的替代项生成的分析树。

visitNormalTemplateBody(NormalTemplateBodyContext)

访问 LGTemplateParser.normalTemplateBody 生成的分析树。

visitNormalTemplateString(NormalTemplateStringContext)

访问 LGTemplateParser.normalTemplateString 生成的分析树。

visitStructuredTemplateBody(StructuredTemplateBodyContext)

访问 LGTemplateParser.structuredTemplateBody 生成的分析树。

visitSwitchCaseBody(SwitchCaseBodyContext)

访问 LGTemplateParser.body 中 switchCaseBody 标记的替代项生成的分析树。

wrappedEvalTextContainsExpression(string, RegExp)

替换文本中包含的表达式。

继承的方法

visit(ParseTree)

{@inheritDoc}默认实现调用 <xref:ParseTree%23accept> 指定树。

visitChildren(RuleNode)

{@inheritDoc}默认实现将聚合结果初始化为 defaultResult()。 访问每个孩子之前,它调用 shouldVisitNextChild;如果结果 false 不再访问子级,并且返回当前聚合结果。 访问子级后,通过调用 aggregateResult 以及访问子项的结果来更新聚合结果。

在修改树结构的访问者中,默认实现不安全。 修改树的访问者应重写此方法,使其在所使用的特定算法方面行为正确。

visitErrorNode(ErrorNode)

{@inheritDoc}默认实现返回 defaultResult的结果。

visitTerminal(TerminalNode)

{@inheritDoc}默认实现返回 defaultResult的结果。

构造函数详细信息

Evaluator(Templates, EvaluationOptions)

创建 计算器 类的新实例。

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

参数

templates
Templates

模板。

opt
EvaluationOptions

LG 的选项。

属性详细信息

activityAttachmentFunctionName

static activityAttachmentFunctionName: "ActivityAttachment" = "ActivityAttachment"

属性值

"ActivityAttachment"

expandTextFunctionName

static expandTextFunctionName: "expandText" = "expandText"

属性值

"expandText"

expressionParser

表达式分析器。

expressionParser: ExpressionParser

属性值

ExpressionParser

fromFileFunctionName

static fromFileFunctionName: "fromFile" = "fromFile"

属性值

"fromFile"

isTemplateFunctionName

static isTemplateFunctionName: "isTemplate" = "isTemplate"

属性值

"isTemplate"

LGType

static LGType: "lgType" = "lgType"

属性值

"lgType"

ReExecuteSuffix

static ReExecuteSuffix: "!" = "!"

属性值

"!"

templateFunctionName

static templateFunctionName: "template" = "template"

属性值

"template"

templateMap

TemplateMap。

templateMap: [key: string]: Template

属性值

[key: string]: Template

templates

模板。

templates: Templates

属性值

方法详细信息

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

检查表达式结果并引发相应的错误。

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

参数

exp

string

表达式文本。

error

string

错误信息。

result

unknown

结果。

templateName

string

模板名称。

inlineContent

string

自选。 在行内容中。

errorPrefix

string

自选。 错误前缀。

concatErrorMsg(string, string)

连接两条错误消息。

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

参数

firstError

string

要连接的第一条错误消息。

secondError

string

要连接的第二条错误消息。

返回

string

串联的错误消息。

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

构造用于将参数值映射到模板的参数的范围。 如果 TemplateErrors检测到某些错误,则引发错误。

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

参数

inputTemplateName

string

要评估的模板名称。

args

unknown[]

要映射到模板参数的参数。

allTemplates

Template[]

所有模板。

返回

MemoryInterface

如果参数数为 0,则当前范围返回 CustomizedMemory,并将参数名称映射到添加到作用域的参数值。

evaluateTemplate(string, unknown)

评估具有给定名称和范围的模板。

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

参数

inputTemplateName

string

模板名称。

scope

unknown

范围。

返回

unknown

评估结果。

visitIfElseBody(IfElseBodyContext)

访问 LGTemplateParser.body 中标记为替代项 ifElseBody 生成的分析树。

function visitIfElseBody(ctx: IfElseBodyContext): unknown

参数

ctx
IfElseBodyContext

分析树。

返回

unknown

访问者结果。

visitNormalBody(NormalBodyContext)

访问 LGTemplateParser.body 中 normalBody 标记的替代项生成的分析树。

function visitNormalBody(ctx: NormalBodyContext): unknown

参数

ctx
NormalBodyContext

分析树。

返回

unknown

访问正常身体的结果。

visitNormalTemplateBody(NormalTemplateBodyContext)

访问 LGTemplateParser.normalTemplateBody 生成的分析树。

function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): unknown

参数

ctx
NormalTemplateBodyContext

分析树。

返回

unknown

访问普通模板正文的结果。

visitNormalTemplateString(NormalTemplateStringContext)

访问 LGTemplateParser.normalTemplateString 生成的分析树。

function visitNormalTemplateString(ctx: NormalTemplateStringContext): unknown

参数

ctx
NormalTemplateStringContext

分析树。

返回

unknown

访问普通模板字符串的字符串结果。

visitStructuredTemplateBody(StructuredTemplateBodyContext)

访问 LGTemplateParser.structuredTemplateBody 生成的分析树。

function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): unknown

参数

返回

unknown

访问结构化模板正文的结果。

visitSwitchCaseBody(SwitchCaseBodyContext)

访问 LGTemplateParser.body 中 switchCaseBody 标记的替代项生成的分析树。

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown

参数

ctx
SwitchCaseBodyContext

分析树。

返回

unknown

访问开关大小写正文的字符串结果。

wrappedEvalTextContainsExpression(string, RegExp)

替换文本中包含的表达式。

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

参数

exp

string

表达式文本。

regex

RegExp

正则表达式选择要替换的文本。

返回

string

替换为表达式的文本。

继承的方法详细信息

visit(ParseTree)

{@inheritDoc}默认实现调用 <xref:ParseTree%23accept> 指定树。

function visit(tree: ParseTree): unknown

参数

tree

ParseTree

返回

unknown

继承自 AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

{@inheritDoc}默认实现将聚合结果初始化为 defaultResult()。 访问每个孩子之前,它调用 shouldVisitNextChild;如果结果 false 不再访问子级,并且返回当前聚合结果。 访问子级后,通过调用 aggregateResult 以及访问子项的结果来更新聚合结果。

在修改树结构的访问者中,默认实现不安全。 修改树的访问者应重写此方法,使其在所使用的特定算法方面行为正确。

function visitChildren(node: RuleNode): unknown

参数

node

RuleNode

返回

unknown

继承自 AbstractParseTreeVisitor.visitChildren

visitErrorNode(ErrorNode)

{@inheritDoc}默认实现返回 defaultResult的结果。

function visitErrorNode(node: ErrorNode): unknown

参数

node

ErrorNode

返回

unknown

继承自 AbstractParseTreeVisitor.visitErrorNode

visitTerminal(TerminalNode)

{@inheritDoc}默认实现返回 defaultResult的结果。

function visitTerminal(node: TerminalNode): unknown

参数

node

TerminalNode

返回

unknown

继承自 AbstractParseTreeVisitor.visitTerminal