Freigeben über


Expander class

LG-Vorlagenerweiterung.

Extends

AbstractParseTreeVisitor<unknown[]>

Konstruktoren

Expander(Templates, EvaluationOptions)

Erstellt eine neue Instanz der Expander-Klasse.

Eigenschaften

templateMap

TemplateMap.

templates

Vorlagen.

Methoden

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

Erstellt den Bereich zum Zuordnen der Werte von Argumenten zu den Parametern der Vorlage.

expandTemplate(string, unknown)

Erweitern Sie die Ergebnisse einer Vorlage mit angegebenem Namen und Bereich.

visitIfElseBody(IfElseBodyContext)

Besuchen Sie eine Analysestruktur, die von der ifElseBody-Alternative in LGTemplateParser.body erstellt wird.

visitNormalBody(NormalBodyContext)

Besuchen Sie eine Analysestruktur, die von der normalBody-Alternative in LGTemplateParser.body erstellt wird.

visitNormalTemplateBody(NormalTemplateBodyContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.normalTemplateBody erstellt wurde.

visitNormalTemplateString(NormalTemplateStringContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.normalTemplateString erstellt wird.

visitStructuredBody(StructuredBodyContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.structuredBody erstellt wird.

visitSwitchCaseBody(SwitchCaseBodyContext)

Besuchen Sie eine Analysestruktur, die von der switchCaseBody-Alternative in LGTemplateParser.body erstellt wurde.

Geerbte Methoden

visit(ParseTree)

{@inheritDoc} Die Standardimplementierung ruft <xref:ParseTree%23accept> die angegebene Struktur auf.

visitChildren(RuleNode)

{@inheritDoc} Die Standardimplementierung initialisiert das Aggregatergebnis in defaultResult().. Bevor sie jedes Kind besucht, ruft es sollteVisitNextChild; , wenn das Ergebnis false nicht mehr untergeordnete Elemente besucht und das aktuelle Aggregatergebnis zurückgegeben wird. Nach dem Besuch eines Untergeordneten wird das Aggregatergebnis aktualisiert, indem aggregateResult mit dem vorherigen Aggregatergebnis und dem Ergebnis des Besuchs des untergeordneten Elements aufgerufen wird.

Die Standardimplementierung ist nicht sicher für die Verwendung in Besuchern, die die Struktur ändern. Besucher, die die Struktur ändern, sollten diese Methode überschreiben, um sich in Bezug auf den verwendeten spezifischen Algorithmus ordnungsgemäß zu verhalten.

visitErrorNode(ErrorNode)

{@inheritDoc} Die Standardimplementierung gibt das Ergebnis von defaultResult zurück.

visitTerminal(TerminalNode)

{@inheritDoc} Die Standardimplementierung gibt das Ergebnis von defaultResult zurück.

Details zum Konstruktor

Expander(Templates, EvaluationOptions)

Erstellt eine neue Instanz der Expander-Klasse.

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

Parameter

templates
Templates

Vorlagenliste.

opt
EvaluationOptions

Optionen für LG.

Details zur Eigenschaft

templateMap

TemplateMap.

templateMap: [key: string]: Template

Eigenschaftswert

[key: string]: Template

templates

Vorlagen.

templates: Templates

Eigenschaftswert

Details zur Methode

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

Erstellt den Bereich zum Zuordnen der Werte von Argumenten zu den Parametern der Vorlage.

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

Parameter

inputTemplateName

string

Der auszuwertende Vorlagenname.

args

unknown[]

Argumente, die den Vorlagenparametern zugeordnet werden sollen.

allTemplates

Template[]

Alle Vorlagen.

Gibt zurück

MemoryInterface

Der aktuelle Bereich, wenn die Anzahl der Argumente 0 ist, gibt andernfalls ein CustomizedMemory zurück. mit der Zuordnung des Parameternamens zum Argumentwert, der dem Bereich hinzugefügt wird.

expandTemplate(string, unknown)

Erweitern Sie die Ergebnisse einer Vorlage mit angegebenem Namen und Bereich.

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

Parameter

templateName

string

Angegebener Vorlagenname.

scope

unknown

Gegebener Bereich.

Gibt zurück

unknown[]

Alle möglichen Ergebnisse.

visitIfElseBody(IfElseBodyContext)

Besuchen Sie eine Analysestruktur, die von der ifElseBody-Alternative in LGTemplateParser.body erstellt wird.

function visitIfElseBody(ctx: IfElseBodyContext): unknown[]

Parameter

ctx
IfElseBodyContext

Die Analysestruktur.

Gibt zurück

unknown[]

Das Ergebnis des Besuchs des if-else-Körpers.

visitNormalBody(NormalBodyContext)

Besuchen Sie eine Analysestruktur, die von der normalBody-Alternative in LGTemplateParser.body erstellt wird.

function visitNormalBody(ctx: NormalBodyContext): unknown[]

Parameter

ctx
NormalBodyContext

Die Analysestruktur.

Gibt zurück

unknown[]

Das Ergebnis des Besuchs des normalen Körpers.

visitNormalTemplateBody(NormalTemplateBodyContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.normalTemplateBody erstellt wurde.

function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): unknown[]

Parameter

ctx
NormalTemplateBodyContext

Die Analysestruktur.

Gibt zurück

unknown[]

Das Ergebnis des Besuchs des normalen Vorlagentexts.

visitNormalTemplateString(NormalTemplateStringContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.normalTemplateString erstellt wird.

function visitNormalTemplateString(ctx: NormalTemplateStringContext): unknown[]

Parameter

ctx
NormalTemplateStringContext

Die Analysestruktur.

Gibt zurück

unknown[]

Das Ergebnis des Besuchs von NormalTemplateString.

visitStructuredBody(StructuredBodyContext)

Besuchen Sie eine Analysestruktur, die von LGTemplateParser.structuredBody erstellt wird.

function visitStructuredBody(ctx: StructuredBodyContext): unknown[]

Parameter

ctx
StructuredBodyContext

Die Analysestruktur.

Gibt zurück

unknown[]

Das Ergebnis des Besuchs des strukturierten Körpers.

visitSwitchCaseBody(SwitchCaseBodyContext)

Besuchen Sie eine Analysestruktur, die von der switchCaseBody-Alternative in LGTemplateParser.body erstellt wurde.

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown[]

Parameter

ctx
SwitchCaseBodyContext

Die Analysestruktur.

Gibt zurück

unknown[]

Das Ergebnis des Besuchs des Schaltergehäuses.

Details zur geerbten Methode

visit(ParseTree)

{@inheritDoc} Die Standardimplementierung ruft <xref:ParseTree%23accept> die angegebene Struktur auf.

function visit(tree: ParseTree): unknown[]

Parameter

tree

ParseTree

Gibt zurück

unknown[]

Geerbt von AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

{@inheritDoc} Die Standardimplementierung initialisiert das Aggregatergebnis in defaultResult().. Bevor sie jedes Kind besucht, ruft es sollteVisitNextChild; , wenn das Ergebnis false nicht mehr untergeordnete Elemente besucht und das aktuelle Aggregatergebnis zurückgegeben wird. Nach dem Besuch eines Untergeordneten wird das Aggregatergebnis aktualisiert, indem aggregateResult mit dem vorherigen Aggregatergebnis und dem Ergebnis des Besuchs des untergeordneten Elements aufgerufen wird.

Die Standardimplementierung ist nicht sicher für die Verwendung in Besuchern, die die Struktur ändern. Besucher, die die Struktur ändern, sollten diese Methode überschreiben, um sich in Bezug auf den verwendeten spezifischen Algorithmus ordnungsgemäß zu verhalten.

function visitChildren(node: RuleNode): unknown[]

Parameter

node

RuleNode

Gibt zurück

unknown[]

Geerbt von AbstractParseTreeVisitor.visitChildren

visitErrorNode(ErrorNode)

{@inheritDoc} Die Standardimplementierung gibt das Ergebnis von defaultResult zurück.

function visitErrorNode(node: ErrorNode): unknown[]

Parameter

node

ErrorNode

Gibt zurück

unknown[]

Geerbt von AbstractParseTreeVisitor.visitErrorNode

visitTerminal(TerminalNode)

{@inheritDoc} Die Standardimplementierung gibt das Ergebnis von defaultResult zurück.

function visitTerminal(node: TerminalNode): unknown[]

Parameter

node

TerminalNode

Gibt zurück

unknown[]

Geerbt von AbstractParseTreeVisitor.visitTerminal