다음을 통해 공유


Evaluator class

평가 런타임 엔진

Extends

AbstractParseTreeVisitor<unknown>

생성자

Evaluator(Templates, EvaluationOptions)

계산기 클래스의 새 인스턴스를 만듭니다.

속성

activityAttachmentFunctionName
expandTextFunctionName
expressionParser

식 파서입니다.

fromFileFunctionName
isTemplateFunctionName
LGType
ReExecuteSuffix
templateFunctionName
templateMap

TemplateMap.

templates

템플릿입니다.

메서드

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

식 결과를 확인하고 해당 오류를 throw합니다.

concatErrorMsg(string, string)

두 개의 오류 메시지를 연결합니다.

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

인수 값을 템플릿의 매개 변수에 매핑하기 위한 범위를 생성합니다. 특정 오류가 TemplateErrors를 감지하면 오류를 throw합니다.

evaluateTemplate(string, unknown)

지정된 이름과 범위를 사용하여 템플릿을 평가합니다.

visitIfElseBody(IfElseBodyContext)

LGTemplateParser.body에서 ifElseBody 레이블이 지정된 대체 항목에 의해 생성된 구문 분석 트리를 방문합니다.

visitNormalBody(NormalBodyContext)

LGTemplateParser.body에서 normalBody 레이블이 지정된 대안으로 생성된 구문 분석 트리를 방문하세요.

visitNormalTemplateBody(NormalTemplateBodyContext)

LGTemplateParser.normalTemplateBody에서 생성된 구문 분석 트리를 방문하세요.

visitNormalTemplateString(NormalTemplateStringContext)

LGTemplateParser.normalTemplateString에서 생성된 구문 분석 트리를 방문하세요.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

LGTemplateParser.structuredTemplateBody에서 생성된 구문 분석 트리를 방문합니다.

visitSwitchCaseBody(SwitchCaseBodyContext)

LGTemplateParser.body에서 switchCaseBody 레이블이 지정된 대체 항목으로 생성된 구문 분석 트리를 방문합니다.

wrappedEvalTextContainsExpression(string, RegExp)

텍스트에 포함된 식을 대체합니다.

상속된 메서드

visit(ParseTree)

{@inheritDoc} 기본 구현은 지정된 트리에서 를 호출 <xref:ParseTree%23accept> 합니다.

visitChildren(RuleNode)

{@inheritDoc} 기본 구현은 집계 결과를 defaultResult()로 초기화합니다. 각 자식을 방문하기 전에 는VisitNextChild를 호출합니다. 결과가 false 더 이상 자식이 방문되지 않고 현재 집계 결과가 반환되면 입니다. 자식 방문 후 집계 결과는 이전 집계 결과와 자식 방문 결과를 사용하여 aggregateResult 를 호출하여 업데이트됩니다.

기본 구현은 트리 구조를 수정하는 방문자에게 안전하지 않습니다. 트리를 수정하는 방문자는 사용 중인 특정 알고리즘과 관련하여 제대로 작동하도록 이 메서드를 재정의해야 합니다.

visitErrorNode(ErrorNode)

{@inheritDoc} 기본 구현은 defaultResult의 결과를 반환합니다.

visitTerminal(TerminalNode)

{@inheritDoc} 기본 구현은 defaultResult의 결과를 반환합니다.

생성자 세부 정보

Evaluator(Templates, EvaluationOptions)

계산기 클래스의 새 인스턴스를 만듭니다.

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)

식 결과를 확인하고 해당 오류를 throw합니다.

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를 감지하면 오류를 throw합니다.

function constructScope(inputTemplateName: string, args: unknown[], allTemplates: Template[]): MemoryInterface

매개 변수

inputTemplateName

string

평가할 템플릿 이름입니다.

args

unknown[]

템플릿 매개 변수에 매핑할 인수입니다.

allTemplates

Template[]

모든 템플릿.

반환

MemoryInterface

인수 수가 0이면 현재 범위는 매개 변수 이름을 범위에 추가된 인수 값에 매핑하는 CustomizedMemory 를 반환합니다.

evaluateTemplate(string, unknown)

지정된 이름과 범위를 사용하여 템플릿을 평가합니다.

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

매개 변수

inputTemplateName

string

템플릿 이름입니다.

scope

unknown

범위

반환

unknown

결과를 평가합니다.

visitIfElseBody(IfElseBodyContext)

LGTemplateParser.body에서 ifElseBody 레이블이 지정된 대체 항목에 의해 생성된 구문 분석 트리를 방문합니다.

function visitIfElseBody(ctx: IfElseBodyContext): unknown

매개 변수

ctx
IfElseBodyContext

구문 분석 트리입니다.

반환

unknown

방문자 결과입니다.

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

일반 템플릿 문자열을 방문한 문자열 결과입니다.

visitStructuredTemplateBody(StructuredTemplateBodyContext)

LGTemplateParser.structuredTemplateBody에서 생성된 구문 분석 트리를 방문합니다.

function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): unknown

매개 변수

ctx
StructuredTemplateBodyContext

구문 분석 트리입니다.

반환

unknown

구조화된 템플릿 본문을 방문한 결과입니다.

visitSwitchCaseBody(SwitchCaseBodyContext)

LGTemplateParser.body에서 switchCaseBody 레이블이 지정된 대체 항목으로 생성된 구문 분석 트리를 방문합니다.

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown

매개 변수

ctx
SwitchCaseBodyContext

구문 분석 트리입니다.

반환

unknown

스위치 케이스 본문을 방문한 문자열 결과입니다.

wrappedEvalTextContainsExpression(string, RegExp)

텍스트에 포함된 식을 대체합니다.

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

매개 변수

exp

string

식 텍스트입니다.

regex

RegExp

바꿀 텍스트를 선택하려면 다시 지정합니다.

반환

string

식이 바뀐 텍스트입니다.

상속된 메서드 세부 정보

visit(ParseTree)

{@inheritDoc} 기본 구현은 지정된 트리에서 를 호출 <xref:ParseTree%23accept> 합니다.

function visit(tree: ParseTree): unknown

매개 변수

tree

ParseTree

반환

unknown

상속된 위치에서 AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

{@inheritDoc} 기본 구현은 집계 결과를 defaultResult()로 초기화합니다. 각 자식을 방문하기 전에 는VisitNextChild를 호출합니다. 결과가 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