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


Evaluator class

Подсистема среды выполнения оценки

Extends

AbstractParseTreeVisitor<unknown>

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

Evaluator(Templates, EvaluationOptions)

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

Свойства

activityAttachmentFunctionName
expandTextFunctionName
expressionParser

Средство синтаксического анализа выражений.

fromFileFunctionName
isTemplateFunctionName
LGType
ReExecuteSuffix
templateFunctionName
templateMap

TemplateMap.

templates

Шаблоны.

Методы

checkExpressionResult(string, string, unknown, string, string, string)

Проверяет результат выражения и выдает соответствующую ошибку.

concatErrorMsg(string, string)

Объединяет два сообщения об ошибках.

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

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

evaluateTemplate(string, unknown)

Оцените шаблон с заданным именем и областью.

visitIfElseBody(IfElseBodyContext)

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

visitNormalBody(NormalBodyContext)

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

visitNormalTemplateBody(NormalTemplateBodyContext)

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

visitNormalTemplateString(NormalTemplateStringContext)

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

visitStructuredTemplateBody(StructuredTemplateBodyContext)

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

visitSwitchCaseBody(SwitchCaseBodyContext)

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

wrappedEvalTextContainsExpression(string, RegExp)

Заменяет выражение, содержащееся в тексте.

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

visit(ParseTree)

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

visitChildren(RuleNode)

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

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

visitErrorNode(ErrorNode)

{@inheritDoc} Реализация по умолчанию возвращает результат defaultResult.

visitTerminal(TerminalNode)

{@inheritDoc} Реализация по умолчанию возвращает результат defaultResult.

Сведения о конструкторе

Evaluator(Templates, EvaluationOptions)

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

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

Параметры

templates
Templates

Шаблоны.

opt
EvaluationOptions

Параметры 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

TemplateMap.

templateMap: [key: string]: Template

Значение свойства

[key: string]: Template

templates

Шаблоны.

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

evaluateTemplate(string, unknown)

Оцените шаблон с заданным именем и областью.

function evaluateTemplate(inputTemplateName: string, scope: unknown): unknown

Параметры

inputTemplateName

string

Имя шаблона.

scope

unknown

Размах.

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

unknown

Оцените результат.

visitIfElseBody(IfElseBodyContext)

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

function visitIfElseBody(ctx: IfElseBodyContext): unknown

Параметры

ctx
IfElseBodyContext

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

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

unknown

Результат посетителя.

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

Результат строки для посещения обычной строки шаблона.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

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

function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): unknown

Параметры

ctx
StructuredTemplateBodyContext

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

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

unknown

Результат посещения структурированного текста шаблона.

visitSwitchCaseBody(SwitchCaseBodyContext)

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

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown

Параметры

ctx
SwitchCaseBodyContext

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

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

unknown

Результат строки для посещения текста регистра коммутатора.

wrappedEvalTextContainsExpression(string, RegExp)

Заменяет выражение, содержащееся в тексте.

function wrappedEvalTextContainsExpression(exp: string, regex: RegExp): string

Параметры

exp

string

Текст выражения.

regex

RegExp

Regex, чтобы выделить текст для замены.

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

string

Текст с замененным выражением.

Сведения о наследуемом методе

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