다음을 통해 공유


Expander class

LG 템플릿 확장기.

Extends

AbstractParseTreeVisitor<unknown[]>

생성자

Expander(Templates, EvaluationOptions)

Expander 클래스의 새 인스턴스를 만듭니다.

속성

templateMap

TemplateMap.

templates

템플릿입니다.

메서드

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

인수 값을 템플릿의 매개 변수에 매핑하기 위한 범위를 생성합니다.

expandTemplate(string, unknown)

지정된 이름 및 범위를 사용하여 템플릿의 결과를 확장합니다.

visitIfElseBody(IfElseBodyContext)

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

visitNormalBody(NormalBodyContext)

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

visitNormalTemplateBody(NormalTemplateBodyContext)

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

visitNormalTemplateString(NormalTemplateStringContext)

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

visitStructuredBody(StructuredBodyContext)

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

visitSwitchCaseBody(SwitchCaseBodyContext)

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

상속된 메서드

visit(ParseTree)

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

visitChildren(RuleNode)

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

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

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이면 현재 범위이고, 그렇지 않으면 CustomizedMemory를 반환합니다. 매개 변수 이름을 범위에 추가된 인수 값에 매핑합니다.

expandTemplate(string, unknown)

지정된 이름 및 범위를 사용하여 템플릿의 결과를 확장합니다.

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

매개 변수

templateName

string

지정된 템플릿 이름입니다.

scope

unknown

지정된 범위입니다.

반환

unknown[]

모든 포지시 가능한 결과입니다.

visitIfElseBody(IfElseBodyContext)

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

function visitIfElseBody(ctx: IfElseBodyContext): unknown[]

매개 변수

ctx
IfElseBodyContext

구문 분석 트리입니다.

반환

unknown[]

if-else 본문을 방문한 결과입니다.

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[]

NormalTemplateString을 방문한 결과입니다.

visitStructuredBody(StructuredBodyContext)

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

function visitStructuredBody(ctx: StructuredBodyContext): unknown[]

매개 변수

ctx
StructuredBodyContext

구문 분석 트리입니다.

반환

unknown[]

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

visitSwitchCaseBody(SwitchCaseBodyContext)

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

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown[]

매개 변수

ctx
SwitchCaseBodyContext

구문 분석 트리입니다.

반환

unknown[]

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

상속된 메서드 세부 정보

visit(ParseTree)

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

function visit(tree: ParseTree): unknown[]

매개 변수

tree

ParseTree

반환

unknown[]

상속된 From AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

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

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

function visitChildren(node: RuleNode): unknown[]

매개 변수

node

RuleNode

반환

unknown[]

상속된 From AbstractParseTreeVisitor.visitChildren

visitErrorNode(ErrorNode)

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

function visitErrorNode(node: ErrorNode): unknown[]

매개 변수

node

ErrorNode

반환

unknown[]

상속된 From AbstractParseTreeVisitor.visitErrorNode

visitTerminal(TerminalNode)

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

function visitTerminal(node: TerminalNode): unknown[]

매개 변수

node

TerminalNode

반환

unknown[]

상속된 From AbstractParseTreeVisitor.visitTerminal