Evaluator class
評估運行時間引擎
- Extends
-
AbstractParseTreeVisitor<unknown>
建構函式
Evaluator(Templates, Evaluation |
建立 評估工具 類別的新實例。 |
屬性
方法
check |
檢查表達式結果並擲回對應的錯誤。 |
concat |
串連兩個錯誤訊息。 |
construct |
建構範圍,將自變數的值對應至範本的參數。 如果 TemplateErrors偵測到某些錯誤,就會擲回錯誤。 |
evaluate |
評估具有指定名稱和範圍的範本。 |
visit |
請流覽由 LGTemplateParser.body 中標示為替代的 ifElseBody 所產生的剖析樹狀結構。 |
visit |
流覽 LGTemplateParser.body 中 normalBody 標記替代專案所產生的剖析樹狀結構。 |
visit |
流覽 LGTemplateParser.normalTemplateBody 所產生的剖析樹狀結構。 |
visit |
流覽 LGTemplateParser.normalTemplateString 所產生的剖析樹狀結構。 |
visit |
流覽 LGTemplateParser.structuredTemplateBody 所產生的剖析樹狀結構。 |
visit |
請流覽 LGTemplateParser.body 中 switchCaseBody 標記替代專案所產生的剖析樹狀結構。 |
wrapped |
取代文字中包含的表達式。 |
繼承的方法
visit(Parse |
{@inheritDoc}默認實作會在指定的樹狀結構上呼叫 <xref:ParseTree%23accept>。 |
visit |
{@inheritDoc}預設實作會將匯總結果初始化為 defaultResult()。 訪問每個子系之前,它會呼叫 shouldVisitNextChild;如果結果 在修改樹狀結構之訪客中,默認實作不安全。 修改樹狀結構的訪客應該覆寫此方法,以針對使用中的特定演算法正確運作。 |
visit |
{@inheritDoc}默認實作會傳回 defaultResult |
visit |
{@inheritDoc}默認實作會傳回 defaultResult |
建構函式詳細資料
Evaluator(Templates, EvaluationOptions)
建立 評估工具 類別的新實例。
new Evaluator(templates: Templates, opt?: EvaluationOptions)
參數
- templates
- Templates
範本。
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
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
參數
剖析樹狀結構。
傳回
unknown
訪客結果。
visitNormalBody(NormalBodyContext)
流覽 LGTemplateParser.body 中 normalBody 標記替代專案所產生的剖析樹狀結構。
function visitNormalBody(ctx: NormalBodyContext): unknown
參數
剖析樹狀結構。
傳回
unknown
訪問正常身體的結果。
visitNormalTemplateBody(NormalTemplateBodyContext)
流覽 LGTemplateParser.normalTemplateBody 所產生的剖析樹狀結構。
function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): unknown
參數
剖析樹狀結構。
傳回
unknown
流覽一般範本主體的結果。
visitNormalTemplateString(NormalTemplateStringContext)
流覽 LGTemplateParser.normalTemplateString 所產生的剖析樹狀結構。
function visitNormalTemplateString(ctx: NormalTemplateStringContext): unknown
參數
剖析樹狀結構。
傳回
unknown
流覽一般範本字串的字串結果。
visitStructuredTemplateBody(StructuredTemplateBodyContext)
流覽 LGTemplateParser.structuredTemplateBody 所產生的剖析樹狀結構。
function visitStructuredTemplateBody(ctx: StructuredTemplateBodyContext): unknown
參數
剖析樹狀結構。
傳回
unknown
瀏覽結構化範本主體的結果。
visitSwitchCaseBody(SwitchCaseBodyContext)
請流覽 LGTemplateParser.body 中 switchCaseBody 標記替代專案所產生的剖析樹狀結構。
function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown
參數
剖析樹狀結構。
傳回
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