Поделиться через


Expander class

Расширение шаблона LG.

Extends

AbstractParseTreeVisitor<unknown[]>

Конструкторы

Expander(Templates, EvaluationOptions)

Создает новый экземпляр класса Expander.

Свойства

templateMap

TemplateMap.

templates

Шаблоны.

Методы

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

Создает область для сопоставления значений аргументов с параметрами шаблона.

expandTemplate(string, unknown)

Разверните результаты шаблона с заданным именем и областью.

visitIfElseBody(IfElseBodyContext)

Посетите дерево синтаксического анализа, созданное ifElseBody, помеченное альтернативой в LGTemplateParser.body.

visitNormalBody(NormalBodyContext)

Посетите дерево синтаксического анализа, созданное обычным Телом, помеченным альтернативой в LGTemplateParser.body.

visitNormalTemplateBody(NormalTemplateBodyContext)

Посетите дерево синтаксического анализа, созданное LGTemplateParser.normalTemplateBody.

visitNormalTemplateString(NormalTemplateStringContext)

Посетите дерево синтаксического анализа, созданное LGTemplateParser.normalTemplateString.

visitStructuredBody(StructuredBodyContext)

Посетите дерево синтаксического анализа, созданное LGTemplateParser.structuredBody.

visitSwitchCaseBody(SwitchCaseBodyContext)

Посетите дерево синтаксического анализа, созданное параметром SwitchCaseBody, помеченным альтернативой в LGTemplateParser.body.

Наследуемые методы

visit(ParseTree)

{@inheritDoc} Реализация по умолчанию вызывает <xref:ParseTree%23accept> в указанном дереве.

visitChildren(RuleNode)

{@inheritDoc} Реализация по умолчанию инициализирует статистический результат defaultResult(). Перед посещением каждого ребенка он вызывает долженvisitNextChild; Если результат false больше не посещаются дочерние объекты и возвращается текущий статистический результат. После посещения дочернего объекта агрегатный результат обновляется путем вызова агрегированияResult с предыдущим статистическим результатом и результатом посещения ребенка.

Реализация по умолчанию не безопасна для использования в посетителей, изменяющих структуру дерева. Посетители, изменяющие дерево, должны переопределить этот метод для правильного поведения в отношении конкретного алгоритма, используемого.

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, в противном случае возвращается настраиваемаяmemory. с сопоставлением имени параметра со значением аргумента, добавленным в область.

expandTemplate(string, unknown)

Разверните результаты шаблона с заданным именем и областью.

function expandTemplate(templateName: string, scope: unknown): unknown[]

Параметры

templateName

string

Заданное имя шаблона.

scope

unknown

Заданная область.

Возвращаемое значение

unknown[]

Все доступные результаты.

visitIfElseBody(IfElseBodyContext)

Посетите дерево синтаксического анализа, созданное ifElseBody, помеченное альтернативой в LGTemplateParser.body.

function visitIfElseBody(ctx: IfElseBodyContext): unknown[]

Параметры

ctx
IfElseBodyContext

Дерево синтаксического анализа.

Возвращаемое значение

unknown[]

Результат посещения тела if-else.

visitNormalBody(NormalBodyContext)

Посетите дерево синтаксического анализа, созданное обычным Телом, помеченным альтернативой в LGTemplateParser.body.

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)

Посетите дерево синтаксического анализа, созданное параметром SwitchCaseBody, помеченным альтернативой в LGTemplateParser.body.

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(). Перед посещением каждого ребенка он вызывает долженvisitNextChild; Если результат false больше не посещаются дочерние объекты и возвращается текущий статистический результат. После посещения дочернего объекта агрегатный результат обновляется путем вызова агрегированияResult с предыдущим статистическим результатом и результатом посещения ребенка.

Реализация по умолчанию не безопасна для использования в посетителей, изменяющих структуру дерева. Посетители, изменяющие дерево, должны переопределить этот метод для правильного поведения в отношении конкретного алгоритма, используемого.

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