Freigeben über


Expander class

LG-Vorlage wird erweitert.

Extends

AbstractParseTreeVisitor<unknown[]>

Konstruktoren

Expander(Templates, EvaluationOptions)

Erstellt eine neue Instanz der Expander-Klasse.

Eigenschaften

templateMap

TemplateMap.

templates

Schablonen.

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 Dem angegebenen Namen und Bereich.

visitIfElseBody(IfElseBodyContext)

Besuchen Sie einen Parsebaum, der von der ifElseBody-Alternative in LGTemplateParser.body erstellt wurde.

visitNormalBody(NormalBodyContext)

Besuchen Sie einen Parsebaum, der von der normalBody-Alternative in LGTemplateParser.body produziert wird.

visitNormalTemplateBody(NormalTemplateBodyContext)

Besuchen Sie einen Parsebaum, der von LGTemplateParser.normalTemplateBody produziert wird.

visitNormalTemplateString(NormalTemplateStringContext)

Besuchen Sie einen Parsebaum, der von LGTemplateParser.normalTemplateString produziert wird.

visitStructuredBody(StructuredBodyContext)

Besuchen Sie einen Parsebaum, der von LGTemplateParser.structuredBody produziert wird.

visitSwitchCaseBody(SwitchCaseBodyContext)

Besuchen Sie einen Parsebaum, der von der switchCaseBody-Alternative in LGTemplateParser.body erstellt wurde.

Geerbte Methoden

visit(ParseTree)

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

visitChildren(RuleNode)

{@inheritDoc} Die Standardimplementierung initialisiert das Aggregatergebnis defaultResult(). Bevor sie jedes Kind besuchen, ruft es sollteVisitNextChild; wenn das Ergebnis false keine weiteren Untergeordneten besucht werden und das aktuelle Aggregatergebnis zurückgegeben wird. Nach dem Besuch eines Kindes wird das Aggregatergebnis aktualisiert, indem aggregateResult mit dem vorherigen Aggregatergebnis und dem Ergebnis des Besuchs des Kindes aufgerufen wird.

Die Standardimplementierung ist für Besucher, die die Struktur ändern, nicht sicher. Besucher, die den Baum ändern, sollten diese Methode überschreiben, um sich im Hinblick auf den verwendeten Algorithmus ordnungsgemäß zu verhalten.

visitErrorNode(ErrorNode)

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

visitTerminal(TerminalNode)

{@inheritDoc} Die Standardimplementierung gibt das Ergebnis 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

Schablonen.

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 zu bewertende 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, andernfalls wird eine CustomMemory zurückgegeben. mit der Zuordnung des Parameternamens zum Argumentwert, der dem Bereich hinzugefügt wird.

expandTemplate(string, unknown)

Erweitern Sie die Ergebnisse einer Vorlage mit Dem angegebenen Namen und Bereich.

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

Parameter

templateName

string

Der angegebene Vorlagenname.

scope

unknown

Gegebener Bereich.

Gibt zurück

unknown[]

Alle möglichen Ergebnisse.

visitIfElseBody(IfElseBodyContext)

Besuchen Sie einen Parsebaum, der von der ifElseBody-Alternative in LGTemplateParser.body erstellt wurde.

function visitIfElseBody(ctx: IfElseBodyContext): unknown[]

Parameter

ctx
IfElseBodyContext

Die Analysestruktur.

Gibt zurück

unknown[]

Das Ergebnis des Besuchs von if-else body.

visitNormalBody(NormalBodyContext)

Besuchen Sie einen Parsebaum, der von der normalBody-Alternative in LGTemplateParser.body produziert 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 einen Parsebaum, der von LGTemplateParser.normalTemplateBody produziert wird.

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 einen Parsebaum, der von LGTemplateParser.normalTemplateString produziert 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 einen Parsebaum, der von LGTemplateParser.structuredBody produziert 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 einen Parsebaum, der 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 Switch Case Body.

Details zur geerbten Methode

visit(ParseTree)

{@inheritDoc} Die Standardimplementierung ruft <xref:ParseTree%23accept> für 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 defaultResult(). Bevor sie jedes Kind besuchen, ruft es sollteVisitNextChild; wenn das Ergebnis false keine weiteren Untergeordneten besucht werden und das aktuelle Aggregatergebnis zurückgegeben wird. Nach dem Besuch eines Kindes wird das Aggregatergebnis aktualisiert, indem aggregateResult mit dem vorherigen Aggregatergebnis und dem Ergebnis des Besuchs des Kindes aufgerufen wird.

Die Standardimplementierung ist für Besucher, die die Struktur ändern, nicht sicher. Besucher, die den Baum ändern, sollten diese Methode überschreiben, um sich im Hinblick auf den verwendeten 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 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 defaultResult-zurück.

function visitTerminal(node: TerminalNode): unknown[]

Parameter

node

TerminalNode

Gibt zurück

unknown[]

geerbt von AbstractParseTreeVisitor.visitTerminal