Expander class

LG 模板扩展器。

扩展

AbstractParseTreeVisitor<unknown[]>

构造函数

Expander(Templates, EvaluationOptions)

创建 Expander 类的新实例。

属性

templateMap

TemplateMap。

templates

模板。

方法

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

构造用于将参数值映射到模板的参数的范围。

expandTemplate(string, unknown)

展开具有给定名称和范围的模板的结果。

visitIfElseBody(IfElseBodyContext)

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

visitNormalBody(NormalBodyContext)

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

visitNormalTemplateBody(NormalTemplateBodyContext)

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

visitNormalTemplateString(NormalTemplateStringContext)

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

visitStructuredBody(StructuredBodyContext)

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

visitSwitchCaseBody(SwitchCaseBodyContext)

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

继承的方法

visit(ParseTree)

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

visitChildren(RuleNode)

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

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

visitErrorNode(ErrorNode)

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

visitTerminal(TerminalNode)

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

构造函数详细信息

Expander(Templates, EvaluationOptions)

创建 Expander 类的新实例。

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

参数

templates
Templates

模板列表。

opt
EvaluationOptions

LG 的选项。

属性详细信息

templateMap

TemplateMap。

templateMap: [key: string]: Template

属性值

[key: string]: Template

templates

模板。

templates: 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[]

参数

ctx
IfElseBodyContext

分析树。

返回

unknown[]

访问 if-else 正文的结果。

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[]

访问 NormalTemplateString 的结果。

visitStructuredBody(StructuredBodyContext)

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

function visitStructuredBody(ctx: StructuredBodyContext): unknown[]

参数

ctx
StructuredBodyContext

分析树。

返回

unknown[]

访问结构化正文的结果。

visitSwitchCaseBody(SwitchCaseBodyContext)

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

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown[]

参数

ctx
SwitchCaseBodyContext

分析树。

返回

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