共用方式為


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)

檢查表達式結果並擲回對應的錯誤。

concatErrorMsg(string, string)

串連兩個錯誤訊息。

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

建構範圍,將自變數的值對應至範本的參數。 如果 TemplateErrors偵測到某些錯誤,就會擲回錯誤。

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()。 訪問每個子系之前,它會呼叫 shouldVisitNextChild;如果結果 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)

檢查表達式結果並擲回對應的錯誤。

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,則目前的範圍會傳回 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

造訪 switch 案例本文的字串結果。

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()。 訪問每個子系之前,它會呼叫 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