次の方法で共有


Expander class

LG テンプレート エキスパンダー。

Extends

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

Inherited From 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 から継承