Evaluator class
评估运行时引擎
- 扩展
-
AbstractParseTreeVisitor<unknown>
构造函数
Evaluator(Templates, Evaluation |
创建 计算器 类的新实例。 |
属性
方法
check |
检查表达式结果并引发相应的错误。 |
concat |
连接两条错误消息。 |
construct |
构造用于将参数值映射到模板的参数的范围。 如果 TemplateErrors检测到某些错误,则引发错误。 |
evaluate |
评估具有给定名称和范围的模板。 |
visit |
访问 LGTemplateParser.body 中标记为替代项 ifElseBody 生成的分析树。 |
visit |
访问 LGTemplateParser.body 中 normalBody 标记的替代项生成的分析树。 |
visit |
访问 LGTemplateParser.normalTemplateBody 生成的分析树。 |
visit |
访问 LGTemplateParser.normalTemplateString 生成的分析树。 |
visit |
访问 LGTemplateParser.structuredTemplateBody 生成的分析树。 |
visit |
访问 LGTemplateParser.body 中 switchCaseBody 标记的替代项生成的分析树。 |
wrapped |
替换文本中包含的表达式。 |
继承的方法
visit(Parse |
{@inheritDoc}默认实现调用 <xref:ParseTree%23accept> 指定树。 |
visit |
{@inheritDoc}默认实现将聚合结果初始化为 defaultResult()。 访问每个孩子之前,它调用 shouldVisitNextChild;如果结果 在修改树结构的访问者中,默认实现不安全。 修改树的访问者应重写此方法,使其在所使用的特定算法方面行为正确。 |
visit |
{@inheritDoc}默认实现返回 defaultResult的结果。 |
visit |
{@inheritDoc}默认实现返回 defaultResult的结果。 |
构造函数详细信息
Evaluator(Templates, EvaluationOptions)
创建 计算器 类的新实例。
new Evaluator(templates: Templates, opt?: EvaluationOptions)
参数
- templates
- Templates
模板。
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
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
参数
分析树。
返回
unknown
访问者结果。
visitNormalBody(NormalBodyContext)
访问 LGTemplateParser.body 中 normalBody 标记的替代项生成的分析树。
function visitNormalBody(ctx: NormalBodyContext): unknown
参数
分析树。
返回
unknown
访问正常身体的结果。
visitNormalTemplateBody(NormalTemplateBodyContext)
访问 LGTemplateParser.normalTemplateBody 生成的分析树。
function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): unknown
参数
分析树。
返回
unknown
访问普通模板正文的结果。
visitNormalTemplateString(NormalTemplateStringContext)
访问 LGTemplateParser.normalTemplateString 生成的分析树。
function visitNormalTemplateString(ctx: NormalTemplateStringContext): unknown
参数
分析树。
返回
unknown
访问普通模板字符串的字符串结果。
visitStructuredTemplateBody(StructuredTemplateBodyContext)
访问 LGTemplateParser.structuredTemplateBody 生成的分析树。
function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): unknown
参数
分析树。
返回
unknown
访问结构化模板正文的结果。
visitSwitchCaseBody(SwitchCaseBodyContext)
访问 LGTemplateParser.body 中 switchCaseBody 标记的替代项生成的分析树。
function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown
参数
分析树。
返回
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