Partager via


Expander class

Expandeur de modèle LG.

Extends

AbstractParseTreeVisitor<unknown[]>

Constructeurs

Expander(Templates, EvaluationOptions)

Crée une instance de la classe Expander.

Propriétés

templateMap

TemplateMap.

templates

Modèles.

Méthodes

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

Construit l’étendue pour mapper les valeurs d’arguments aux paramètres du modèle.

expandTemplate(string, unknown)

Développez les résultats d’un modèle avec un nom et une étendue donnés.

visitIfElseBody(IfElseBodyContext)

Visitez un arbre d’analyse produit par l’ifElseBody étiqueté alternative dans LGTemplateParser.body.

visitNormalBody(NormalBodyContext)

Visitez un arbre d’analyse produit par l’alternative normaleBody étiquetée dans LGTemplateParser.body.

visitNormalTemplateBody(NormalTemplateBodyContext)

Visitez un arbre d’analyse produit par LGTemplateParser.normalTemplateBody.

visitNormalTemplateString(NormalTemplateStringContext)

Visitez un arbre d’analyse produit par LGTemplateParser.normalTemplateString.

visitStructuredBody(StructuredBodyContext)

Visitez un arbre d’analyse produit par LGTemplateParser.structuredBody.

visitSwitchCaseBody(SwitchCaseBodyContext)

Visitez un arbre d’analyse produit par le switchCaseBody étiqueté alternative dans LGTemplateParser.body.

Méthodes héritées

visit(ParseTree)

{@inheritDoc} L’implémentation par défaut appelle <xref:ParseTree%23accept> sur l’arborescence spécifiée.

visitChildren(RuleNode)

{@inheritDoc} L’implémentation par défaut initialise le résultat d’agrégation en defaultResult(). Avant de visiter chaque enfant, il appelle shouldVisitNextChild; si le résultat est false aucun autre enfant n’est visité et que le résultat agrégé actuel est retourné. Après avoir visité un enfant, le résultat d’agrégation est mis à jour en appelant aggregateResult avec le résultat d’agrégation précédent et le résultat de la visite de l’enfant.

L’implémentation par défaut n’est pas sécurisée pour une utilisation dans les visiteurs qui modifient la structure d’arborescence. Les visiteurs qui modifient l’arborescence doivent remplacer cette méthode pour se comporter correctement en ce qui concerne l’algorithme spécifique en cours d’utilisation.

visitErrorNode(ErrorNode)

{@inheritDoc} L’implémentation par défaut retourne le résultat de defaultResult.

visitTerminal(TerminalNode)

{@inheritDoc} L’implémentation par défaut retourne le résultat de defaultResult.

Détails du constructeur

Expander(Templates, EvaluationOptions)

Crée une instance de la classe Expander.

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

Paramètres

templates
Templates

Liste de modèles.

opt
EvaluationOptions

Options pour LG.

Détails de la propriété

templateMap

TemplateMap.

templateMap: [key: string]: Template

Valeur de propriété

[key: string]: Template

templates

Modèles.

templates: Templates

Valeur de propriété

Détails de la méthode

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

Construit l’étendue pour mapper les valeurs d’arguments aux paramètres du modèle.

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

Paramètres

inputTemplateName

string

Nom du modèle à évaluer.

args

unknown[]

Arguments à mapper aux paramètres du modèle.

allTemplates

Template[]

Tous les modèles.

Retours

MemoryInterface

L’étendue actuelle si le nombre d’arguments est égal à 0, sinon, retourne un CustomMemory. avec le mappage du nom du paramètre à la valeur d’argument ajoutée à l’étendue.

expandTemplate(string, unknown)

Développez les résultats d’un modèle avec un nom et une étendue donnés.

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

Paramètres

templateName

string

Nom du modèle donné.

scope

unknown

Étendue donnée.

Retours

unknown[]

Tous les résultats possiables.

visitIfElseBody(IfElseBodyContext)

Visitez un arbre d’analyse produit par l’ifElseBody étiqueté alternative dans LGTemplateParser.body.

function visitIfElseBody(ctx: IfElseBodyContext): unknown[]

Paramètres

ctx
IfElseBodyContext

Arbre d’analyse.

Retours

unknown[]

Résultat de la visite du corps if-else.

visitNormalBody(NormalBodyContext)

Visitez un arbre d’analyse produit par l’alternative normaleBody étiquetée dans LGTemplateParser.body.

function visitNormalBody(ctx: NormalBodyContext): unknown[]

Paramètres

ctx
NormalBodyContext

Arbre d’analyse.

Retours

unknown[]

Résultat de la visite du corps normal.

visitNormalTemplateBody(NormalTemplateBodyContext)

Visitez un arbre d’analyse produit par LGTemplateParser.normalTemplateBody.

function visitNormalTemplateBody(ctx: NormalTemplateBodyContext): unknown[]

Paramètres

ctx
NormalTemplateBodyContext

Arbre d’analyse.

Retours

unknown[]

Résultat de la visite du corps normal du modèle.

visitNormalTemplateString(NormalTemplateStringContext)

Visitez un arbre d’analyse produit par LGTemplateParser.normalTemplateString.

function visitNormalTemplateString(ctx: NormalTemplateStringContext): unknown[]

Paramètres

ctx
NormalTemplateStringContext

Arbre d’analyse.

Retours

unknown[]

Résultat de la visite de NormalTemplateString.

visitStructuredBody(StructuredBodyContext)

Visitez un arbre d’analyse produit par LGTemplateParser.structuredBody.

function visitStructuredBody(ctx: StructuredBodyContext): unknown[]

Paramètres

ctx
StructuredBodyContext

Arbre d’analyse.

Retours

unknown[]

Résultat de la visite du corps structuré.

visitSwitchCaseBody(SwitchCaseBodyContext)

Visitez un arbre d’analyse produit par le switchCaseBody étiqueté alternative dans LGTemplateParser.body.

function visitSwitchCaseBody(ctx: SwitchCaseBodyContext): unknown[]

Paramètres

ctx
SwitchCaseBodyContext

Arbre d’analyse.

Retours

unknown[]

Résultat de la visite du corps de la casse de commutateur.

Détails de la méthode héritée

visit(ParseTree)

{@inheritDoc} L’implémentation par défaut appelle <xref:ParseTree%23accept> sur l’arborescence spécifiée.

function visit(tree: ParseTree): unknown[]

Paramètres

tree

ParseTree

Retours

unknown[]

héritée de AbstractParseTreeVisitor.visit

visitChildren(RuleNode)

{@inheritDoc} L’implémentation par défaut initialise le résultat d’agrégation en defaultResult(). Avant de visiter chaque enfant, il appelle shouldVisitNextChild; si le résultat est false aucun autre enfant n’est visité et que le résultat agrégé actuel est retourné. Après avoir visité un enfant, le résultat d’agrégation est mis à jour en appelant aggregateResult avec le résultat d’agrégation précédent et le résultat de la visite de l’enfant.

L’implémentation par défaut n’est pas sécurisée pour une utilisation dans les visiteurs qui modifient la structure d’arborescence. Les visiteurs qui modifient l’arborescence doivent remplacer cette méthode pour se comporter correctement en ce qui concerne l’algorithme spécifique en cours d’utilisation.

function visitChildren(node: RuleNode): unknown[]

Paramètres

node

RuleNode

Retours

unknown[]

héritée de AbstractParseTreeVisitor.visitChildren

visitErrorNode(ErrorNode)

{@inheritDoc} L’implémentation par défaut retourne le résultat de defaultResult.

function visitErrorNode(node: ErrorNode): unknown[]

Paramètres

node

ErrorNode

Retours

unknown[]

héritée de AbstractParseTreeVisitor.visitErrorNode

visitTerminal(TerminalNode)

{@inheritDoc} L’implémentation par défaut retourne le résultat de defaultResult.

function visitTerminal(node: TerminalNode): unknown[]

Paramètres

node

TerminalNode

Retours

unknown[]

héritée de AbstractParseTreeVisitor.visitTerminal