Expander class
LG 模板扩展器。
- 扩展
-
AbstractParseTreeVisitor<unknown[]>
构造函数
Expander(Templates, Evaluation |
创建 Expander 类的新实例。 |
属性
template |
TemplateMap。 |
templates | 模板。 |
方法
construct |
构造用于将参数值映射到模板的参数的范围。 |
expand |
展开具有给定名称和范围的模板的结果。 |
visit |
访问 LGTemplateParser.body 中标记为替代项 ifElseBody 生成的分析树。 |
visit |
访问 LGTemplateParser.body 中 normalBody 标记的替代项生成的分析树。 |
visit |
访问 LGTemplateParser.normalTemplateBody 生成的分析树。 |
visit |
访问 LGTemplateParser.normalTemplateString 生成的分析树。 |
visit |
访问 LGTemplateParser.structuredBody 生成的分析树。 |
visit |
访问 LGTemplateParser.body 中 switchCaseBody 标记的替代项生成的分析树。 |
继承的方法
visit(Parse |
{@inheritDoc}默认实现调用 <xref:ParseTree%23accept> 指定树。 |
visit |
{@inheritDoc}默认实现将聚合结果初始化为 defaultResult()。 访问每个孩子之前,它调用 shouldVisitNextChild;如果结果 在修改树结构的访问者中,默认实现不安全。 修改树的访问者应重写此方法,使其在所使用的特定算法方面行为正确。 |
visit |
{@inheritDoc}默认实现返回 defaultResult的结果。 |
visit |
{@inheritDoc}默认实现返回 defaultResult的结果。 |
构造函数详细信息
Expander(Templates, EvaluationOptions)
创建 Expander 类的新实例。
new Expander(templates: Templates, opt?: EvaluationOptions)
参数
- templates
- Templates
模板列表。
LG 的选项。
属性详细信息
templateMap
templates
方法详细信息
constructScope(string, unknown[], Template[])
构造用于将参数值映射到模板的参数的范围。
function constructScope(inputTemplateName: string, args: unknown[], allTemplates: Template[]): MemoryInterface
参数
- inputTemplateName
-
string
要评估的模板名称。
- args
-
unknown[]
要映射到模板参数的参数。
- allTemplates
-
Template[]
所有模板。
返回
MemoryInterface
如果参数数为 0,则为当前范围,否则返回 CustomizedMemory。 将参数名称映射到添加到作用域的参数值。
expandTemplate(string, unknown)
展开具有给定名称和范围的模板的结果。
function expandTemplate(templateName: string, scope: unknown): unknown[]
参数
- templateName
-
string
给定的模板名称。
- scope
-
unknown
给定的范围。
返回
unknown[]
所有可假设的结果。
visitIfElseBody(IfElseBodyContext)
访问 LGTemplateParser.body 中标记为替代项 ifElseBody 生成的分析树。
function visitIfElseBody(ctx: IfElseBodyContext): unknown[]
参数
分析树。
返回
unknown[]
访问 if-else 正文的结果。
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[]
访问 NormalTemplateString 的结果。
visitStructuredBody(StructuredBodyContext)
访问 LGTemplateParser.structuredBody 生成的分析树。
function visitStructuredBody(ctx: StructuredBodyContext): unknown[]
参数
分析树。
返回
unknown[]
访问结构化正文的结果。
visitSwitchCaseBody(SwitchCaseBodyContext)
访问 LGTemplateParser.body 中 switchCaseBody 标记的替代项生成的分析树。
function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown[]
参数
分析树。
返回
unknown[]
访问开关事例正文的结果。
继承的方法详细信息
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