Partager via


LetterContext class

Extends

ParserRuleContext

Constructeurs

LetterContext(ParserRuleContext | undefined, number)

Propriétés

ruleIndex

Propriétés héritées

altNumber

Définissez le numéro de remplacement externe pour ce nœud de contexte. L’implémentation par défaut ne fait rien pour éviter la surcharge de champ de stockage pour les arborescences qui n’en ont pas besoin. Créez une sous-classe de ParserRuleContext avec le champ de stockage et définissez l’option contextSuperClass. @since 4.5.3

childCount
children

Si nous déboguons ou créons une arborescence d’analyse pour un visiteur, nous devons suivre tous les jetons et les appels de règle associés au contexte de cette règle. Ce champ est vide pour l’analyse de l’arborescence constr. car nous n’avons pas besoin de suivre les détails de l’analyse de cette règle.

exception

Exception qui a forcé le retour de cette règle. Si la règle s’est terminée correctement, il s’agit de undefined.

invokingState
isEmpty

Un contexte est vide s’il n’y a pas d’état d’appel ; ce qui signifie que personne n’a appelé le contexte actuel.

parent
payload
ruleContext
sourceInterval
start

Obtenez le jeton initial dans ce contexte. Notez que la plage de début à arrêt est inclusive. Par conséquent, pour les règles qui ne consomment rien (par exemple, une longueur nulle ou des productions d’erreur), ce jeton peut dépasser stop.

stop

Obtenez le jeton final dans ce contexte. Notez que la plage de début à arrêt est inclusive. Par conséquent, pour les règles qui ne consomment rien (par exemple, une longueur nulle ou des productions d’erreur), ce jeton peut précéder start.

text

Retourne le texte combiné de tous les nœuds enfants. Cette méthode prend uniquement en compte les jetons qui ont été ajoutés à l’arborescence d’analyse. Étant donné que les jetons sur les canaux masqués (par exemple, espaces blancs ou commentaires) ne sont pas ajoutés aux arborescences d’analyse, ils n’apparaissent pas dans la sortie de cette méthode.

Méthodes

accept<Result>(CommonRegexVisitor<Result>)
ALC()
AUC()
BLC()
BUC()
CLC()
CUC()
DLC()
DUC()
ELC()
enterRule(CommonRegexListener)
EUC()
exitRule(CommonRegexListener)
FLC()
FUC()
GLC()
GUC()
HLC()
HUC()
ILC()
IUC()
JLC()
JUC()
KLC()
KUC()
LLC()
LUC()
MLC()
MUC()
NLC()
NUC()
OLC()
OUC()
PLC()
PUC()
QLC()
QUC()
RLC()
RUC()
SLC()
SUC()
TLC()
TUC()
ULC()
UUC()
VLC()
VUC()
WLC()
WUC()
XLC()
XUC()
YLC()
YUC()
ZLC()
ZUC()

Méthodes héritées

addAnyChild<T>(T)

Ajoutez un nœud d’arborescence d’analyse à ce nœud en tant qu’enfant. Fonctionne pour les nœuds internes et feuilles. Ne définit pas de lien parent ; d’autres méthodes d’ajout doivent le faire. D’autres méthodes addChild appellent ceci. Nous ne pouvons pas définir le pointeur parent du nœud entrant, car les interfaces existantes n’ont pas de méthode setParent() et je ne souhaite pas interrompre la compatibilité descendante pour cela.

@since 4.7

addChild(RuleContext)
addChild(TerminalNode)

Ajoutez un nœud feuille de jeton enfant et forcez son parent à être ce nœud.

addChild(Token)

Ajoutez un enfant à ce nœud en fonction de matchedToken. Il crée un TerminalNodeImpl au lieu d’utiliser [Token)](xref:Parser%23createTerminalNode(ParserRuleContext%2C). Je laisse cela dans pour la compatibilité, mais l’analyseur ne l’utilise plus.

addErrorNode(ErrorNode)

Ajoutez un nœud d’erreur enfant et forcez son parent à être ce nœud.

addErrorNode(Token)

Ajoutez un enfant à ce nœud en fonction de badToken. Il crée un ErrorNode au lieu d’utiliser [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Je laisse cela dans pour la compatibilité, mais l’analyseur ne l’utilise plus.

copyFrom(ParserRuleContext)

COPY a ctx (je n’utilise pas délibérément le constructeur de copie) pour éviter toute confusion lors de la création d’un nœud avec le parent. Ne copie pas les enfants (sauf les feuilles d’erreur). Cela est utilisé dans le code de l’analyseur généré pour retourner un nœud XContext générique pour la règle X en YContext pour l’étiquette de remplacement Y. En ce sens, il ne s’agit pas vraiment d’une fonction de copie générique.

Si nous effectuons une synchronisation d’erreur() au début d’une règle, nous pouvons ajouter des nœuds d’erreur au XContext générique de sorte que cette fonction doit copier ces nœuds dans le YContext, sinon ils sont perdus!

depth()
emptyContext()
getChild(number)
getChild<T>(number, { })
getChildContext(RuleContext, number)
getRuleContext<T>(number, { })
getRuleContexts<T>({ })
getToken(number, number)
getTokens(number)
removeLastChild()

Utilisé par enterOuterAlt pour extraire un RuleContext précédemment ajouté lors de l’entrée d’une règle. Si nous avons # label, nous devons supprimer l’objet ruleContext générique.

setParent(RuleContext)
toInfoString(Parser)

Utilisé pour le débogage des informations de contexte de règle pendant l’analyse, pas tellement pour le débogage ATN

toString()
toString(Recognizer<any, any> | undefined)
toString(Recognizer<any, any> | undefined, RuleContext | undefined)
toString(string[] | undefined)
toString(string[] | undefined, RuleContext | undefined)
toStringTree()
toStringTree(Parser)

Imprimez une arborescence entière, pas seulement un nœud, au format LISP (racine enfant1 .. childN). Imprimez uniquement un nœud s’il s’agit d’une feuille. Nous devons connaître le module de reconnaissance pour pouvoir obtenir des noms de règle.

toStringTree(string[] | undefined)

Imprimez une arborescence entière, pas seulement un nœud, au format LISP (racine enfant1 .. childN). Imprimez uniquement un nœud s’il s’agit d’une feuille.

tryGetChild<T>(number, { })
tryGetRuleContext<T>(number, { })
tryGetToken(number, number)

Détails du constructeur

LetterContext(ParserRuleContext | undefined, number)

new LetterContext(parent: ParserRuleContext | undefined, invokingState: number)

Paramètres

parent

ParserRuleContext | undefined

invokingState

number

Détails de la propriété

ruleIndex

number ruleIndex

Valeur de propriété

number

Détails de la propriété héritée

altNumber

Définissez le numéro de remplacement externe pour ce nœud de contexte. L’implémentation par défaut ne fait rien pour éviter la surcharge de champ de stockage pour les arborescences qui n’en ont pas besoin. Créez une sous-classe de ParserRuleContext avec le champ de stockage et définissez l’option contextSuperClass. @since 4.5.3

altNumber: number

Valeur de propriété

number

Hérité de RuleContext.altNumber

childCount

childCount: number

Valeur de propriété

number

Hérité de ParserRuleContext.childCount

children

Si nous déboguons ou créons une arborescence d’analyse pour un visiteur, nous devons suivre tous les jetons et les appels de règle associés au contexte de cette règle. Ce champ est vide pour l’analyse de l’arborescence constr. car nous n’avons pas besoin de suivre les détails de l’analyse de cette règle.

children?: ParseTree[]

Valeur de propriété

ParseTree[]

Hérité de ParserRuleContext.children

exception

Exception qui a forcé le retour de cette règle. Si la règle s’est terminée correctement, il s’agit de undefined.

exception?: RecognitionException

Valeur de propriété

RecognitionException

Hérité de ParserRuleContext.exception

invokingState

invokingState: number

Valeur de propriété

number

Hérité de RuleContext.invokingState

isEmpty

Un contexte est vide s’il n’y a pas d’état d’appel ; ce qui signifie que personne n’a appelé le contexte actuel.

isEmpty: boolean

Valeur de propriété

boolean

Hérité de RuleContext.isEmpty

parent

parent: ParserRuleContext | undefined

Valeur de propriété

ParserRuleContext | undefined

Hérité de ParserRuleContext.parent

payload

payload: RuleContext

Valeur de propriété

RuleContext

Hérité de RuleContext.payload

ruleContext

ruleContext: this

Valeur de propriété

this

Hérité de ParserRuleContext.ruleContext

sourceInterval

sourceInterval: Interval

Valeur de propriété

Interval

Hérité de ParserRuleContext.sourceInterval

start

Obtenez le jeton initial dans ce contexte. Notez que la plage de début à arrêt est inclusive. Par conséquent, pour les règles qui ne consomment rien (par exemple, une longueur nulle ou des productions d’erreur), ce jeton peut dépasser stop.

start: Token

Valeur de propriété

Token

Hérité de ParserRuleContext.start

stop

Obtenez le jeton final dans ce contexte. Notez que la plage de début à arrêt est inclusive. Par conséquent, pour les règles qui ne consomment rien (par exemple, une longueur nulle ou des productions d’erreur), ce jeton peut précéder start.

stop: Token | undefined

Valeur de propriété

Token | undefined

Hérité de ParserRuleContext.stop

text

Retourne le texte combiné de tous les nœuds enfants. Cette méthode prend uniquement en compte les jetons qui ont été ajoutés à l’arborescence d’analyse. Étant donné que les jetons sur les canaux masqués (par exemple, espaces blancs ou commentaires) ne sont pas ajoutés aux arborescences d’analyse, ils n’apparaissent pas dans la sortie de cette méthode.

text: string

Valeur de propriété

string

Hérité de RuleContext.text

Détails de la méthode

accept<Result>(CommonRegexVisitor<Result>)

function accept<Result>(visitor: CommonRegexVisitor<Result>): Result

Paramètres

visitor

CommonRegexVisitor<Result>

Retours

Result

ALC()

function ALC(): TerminalNode | undefined

Retours

TerminalNode | undefined

AUC()

function AUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

BLC()

function BLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

BUC()

function BUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

CLC()

function CLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

CUC()

function CUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

DLC()

function DLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

DUC()

function DUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

ELC()

function ELC(): TerminalNode | undefined

Retours

TerminalNode | undefined

enterRule(CommonRegexListener)

function enterRule(listener: CommonRegexListener)

Paramètres

EUC()

function EUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

exitRule(CommonRegexListener)

function exitRule(listener: CommonRegexListener)

Paramètres

FLC()

function FLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

FUC()

function FUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

GLC()

function GLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

GUC()

function GUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

HLC()

function HLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

HUC()

function HUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

ILC()

function ILC(): TerminalNode | undefined

Retours

TerminalNode | undefined

IUC()

function IUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

JLC()

function JLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

JUC()

function JUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

KLC()

function KLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

KUC()

function KUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

LLC()

function LLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

LUC()

function LUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

MLC()

function MLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

MUC()

function MUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

NLC()

function NLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

NUC()

function NUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

OLC()

function OLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

OUC()

function OUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

PLC()

function PLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

PUC()

function PUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

QLC()

function QLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

QUC()

function QUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

RLC()

function RLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

RUC()

function RUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

SLC()

function SLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

SUC()

function SUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

TLC()

function TLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

TUC()

function TUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

ULC()

function ULC(): TerminalNode | undefined

Retours

TerminalNode | undefined

UUC()

function UUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

VLC()

function VLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

VUC()

function VUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

WLC()

function WLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

WUC()

function WUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

XLC()

function XLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

XUC()

function XUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

YLC()

function YLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

YUC()

function YUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

ZLC()

function ZLC(): TerminalNode | undefined

Retours

TerminalNode | undefined

ZUC()

function ZUC(): TerminalNode | undefined

Retours

TerminalNode | undefined

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

addAnyChild<T>(T)

Ajoutez un nœud d’arborescence d’analyse à ce nœud en tant qu’enfant. Fonctionne pour les nœuds internes et feuilles. Ne définit pas de lien parent ; d’autres méthodes d’ajout doivent le faire. D’autres méthodes addChild appellent ceci. Nous ne pouvons pas définir le pointeur parent du nœud entrant, car les interfaces existantes n’ont pas de méthode setParent() et je ne souhaite pas interrompre la compatibilité descendante pour cela.

@since 4.7

function addAnyChild<T>(t: T): T

Paramètres

t

T

Retours

T

Hérité de ParserRuleContext.addAnyChild

addChild(RuleContext)

function addChild(ruleInvocation: RuleContext)

Paramètres

ruleInvocation

RuleContext

Hérité de ParserRuleContext.addChild

addChild(TerminalNode)

Ajoutez un nœud feuille de jeton enfant et forcez son parent à être ce nœud.

function addChild(t: TerminalNode)

Paramètres

t

TerminalNode

Hérité de ParserRuleContext.addChild

addChild(Token)

Avertissement

Cette API est à présent déconseillée.

Use another overload instead.

Ajoutez un enfant à ce nœud en fonction de matchedToken. Il crée un TerminalNodeImpl au lieu d’utiliser [Token)](xref:Parser%23createTerminalNode(ParserRuleContext%2C). Je laisse cela dans pour la compatibilité, mais l’analyseur ne l’utilise plus.

function addChild(matchedToken: Token): TerminalNode

Paramètres

matchedToken

Token

Retours

TerminalNode

Hérité de ParserRuleContext.addChild

addErrorNode(ErrorNode)

Ajoutez un nœud d’erreur enfant et forcez son parent à être ce nœud.

function addErrorNode(errorNode: ErrorNode): ErrorNode

Paramètres

errorNode

ErrorNode

Retours

ErrorNode

Hérité de ParserRuleContext.addErrorNode

addErrorNode(Token)

Avertissement

Cette API est à présent déconseillée.

Use another overload instead.

Ajoutez un enfant à ce nœud en fonction de badToken. Il crée un ErrorNode au lieu d’utiliser [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C). Je laisse cela dans pour la compatibilité, mais l’analyseur ne l’utilise plus.

function addErrorNode(badToken: Token): ErrorNode

Paramètres

badToken

Token

Retours

ErrorNode

Hérité de ParserRuleContext.addErrorNode

copyFrom(ParserRuleContext)

COPY a ctx (je n’utilise pas délibérément le constructeur de copie) pour éviter toute confusion lors de la création d’un nœud avec le parent. Ne copie pas les enfants (sauf les feuilles d’erreur). Cela est utilisé dans le code de l’analyseur généré pour retourner un nœud XContext générique pour la règle X en YContext pour l’étiquette de remplacement Y. En ce sens, il ne s’agit pas vraiment d’une fonction de copie générique.

Si nous effectuons une synchronisation d’erreur() au début d’une règle, nous pouvons ajouter des nœuds d’erreur au XContext générique de sorte que cette fonction doit copier ces nœuds dans le YContext, sinon ils sont perdus!

function copyFrom(ctx: ParserRuleContext)

Paramètres

ctx

ParserRuleContext

Hérité de ParserRuleContext.copyFrom

depth()

function depth(): number

Retours

number

Hérité de RuleContext.depth

emptyContext()

static function emptyContext(): ParserRuleContext

Retours

ParserRuleContext

Hérité de ParserRuleContext.emptyContext

getChild(number)

function getChild(i: number): ParseTree

Paramètres

i

number

Retours

ParseTree

Hérité de ParserRuleContext.getChild

getChild<T>(number, { })

function getChild<T>(i: number, ctxType: {  }): T

Paramètres

i

number

ctxType

{ }

Retours

T

Hérité de ParserRuleContext.getChild

getChildContext(RuleContext, number)

static function getChildContext(parent: RuleContext, invokingState: number): RuleContext

Paramètres

parent

RuleContext

invokingState

number

Retours

RuleContext

Hérité de RuleContext.getChildContext

getRuleContext<T>(number, { })

function getRuleContext<T>(i: number, ctxType: {  }): T

Paramètres

i

number

ctxType

{ }

Retours

T

Hérité de ParserRuleContext.getRuleContext

getRuleContexts<T>({ })

function getRuleContexts<T>(ctxType: {  }): T[]

Paramètres

ctxType

{ }

Retours

T[]

Hérité de ParserRuleContext.getRuleContexts

getToken(number, number)

function getToken(ttype: number, i: number): TerminalNode

Paramètres

ttype

number

i

number

Retours

TerminalNode

Hérité de ParserRuleContext.getToken

getTokens(number)

function getTokens(ttype: number): TerminalNode[]

Paramètres

ttype

number

Retours

TerminalNode[]

Hérité de ParserRuleContext.getTokens

removeLastChild()

Utilisé par enterOuterAlt pour extraire un RuleContext précédemment ajouté lors de l’entrée d’une règle. Si nous avons # label, nous devons supprimer l’objet ruleContext générique.

function removeLastChild()

Hérité de ParserRuleContext.removeLastChild

setParent(RuleContext)

function setParent(parent: RuleContext)

Paramètres

parent

RuleContext

Hérité de RuleContext.setParent

toInfoString(Parser)

Utilisé pour le débogage des informations de contexte de règle pendant l’analyse, pas tellement pour le débogage ATN

function toInfoString(recognizer: Parser): string

Paramètres

recognizer

Parser

Retours

string

Hérité de ParserRuleContext.toInfoString

toString()

function toString(): string

Retours

string

Hérité de RuleContext.toString

toString(Recognizer<any, any> | undefined)

function toString(recog: Recognizer<any, any> | undefined): string

Paramètres

recog

Recognizer<any, any> | undefined

Retours

string

Hérité de RuleContext.toString

toString(Recognizer<any, any> | undefined, RuleContext | undefined)

function toString(recog: Recognizer<any, any> | undefined, stop: RuleContext | undefined): string

Paramètres

recog

Recognizer<any, any> | undefined

stop

RuleContext | undefined

Retours

string

Hérité de RuleContext.toString

toString(string[] | undefined)

function toString(ruleNames: string[] | undefined): string

Paramètres

ruleNames

string[] | undefined

Retours

string

Hérité de RuleContext.toString

toString(string[] | undefined, RuleContext | undefined)

function toString(ruleNames: string[] | undefined, stop: RuleContext | undefined): string

Paramètres

ruleNames

string[] | undefined

stop

RuleContext | undefined

Retours

string

Hérité de RuleContext.toString

toStringTree()

function toStringTree(): string

Retours

string

Hérité de RuleContext.toStringTree

toStringTree(Parser)

Imprimez une arborescence entière, pas seulement un nœud, au format LISP (racine enfant1 .. childN). Imprimez uniquement un nœud s’il s’agit d’une feuille. Nous devons connaître le module de reconnaissance pour pouvoir obtenir des noms de règle.

function toStringTree(recog: Parser): string

Paramètres

recog

Parser

Retours

string

Hérité de RuleContext.toStringTree

toStringTree(string[] | undefined)

Imprimez une arborescence entière, pas seulement un nœud, au format LISP (racine enfant1 .. childN). Imprimez uniquement un nœud s’il s’agit d’une feuille.

function toStringTree(ruleNames: string[] | undefined): string

Paramètres

ruleNames

string[] | undefined

Retours

string

Hérité de RuleContext.toStringTree

tryGetChild<T>(number, { })

function tryGetChild<T>(i: number, ctxType: {  }): T | undefined

Paramètres

i

number

ctxType

{ }

Retours

T | undefined

Hérité de ParserRuleContext.tryGetChild

tryGetRuleContext<T>(number, { })

function tryGetRuleContext<T>(i: number, ctxType: {  }): T | undefined

Paramètres

i

number

ctxType

{ }

Retours

T | undefined

Hérité de ParserRuleContext.tryGetRuleContext

tryGetToken(number, number)

function tryGetToken(ttype: number, i: number): TerminalNode | undefined

Paramètres

ttype

number

i

number

Retours

TerminalNode | undefined

Hérité de ParserRuleContext.tryGetToken