Partager via


ExpressionAntlrLexer class

Extends

Lexer

Constructeurs

ExpressionAntlrLexer(CharStream)

Propriétés

ARROW
ASTERISK
channelNames
channelNames
CLOSE_BRACKET
CLOSE_CURLY_BRACKET
CLOSE_SQUARE_BRACKET
COLON
COMMA
DOT
DOUBLE_AND
DOUBLE_EQUAL
DOUBLE_VERTICAL_CYLINDER
ESCAPE_CHARACTER
grammarFileName
IDENTIFIER
ignoreWS
INVALID_TOKEN_DEFAULT_MODE
LESS_OR_EQUAl
LESS_THAN
modeNames
modeNames
MORE_OR_EQUAL
MORE_THAN
NEWLINE
NON
NOT_EQUAL
NULL_COALESCE
NUMBER
OPEN_BRACKET
OPEN_CURLY_BRACKET
OPEN_SQUARE_BRACKET
PERCENT
PLUS
QUESTION_MARK
ruleNames
ruleNames
serializedATN
SINGLE_AND
SLASH
STRING
STRING_INTERPOLATION_MODE
STRING_INTERPOLATION_START
SUBSTRACT
TEMPLATE
TEXT_CONTENT
VOCABULARY
vocabulary
WHITESPACE
XOR

Propriétés héritées

atn

Obtenez le serializedATN utilisé par le module de reconnaissance pour la prédiction.

channel
charIndex

Quel est l’index du caractère actuel du lookahead ?

charPositionInLine
DEFAULT_MODE
DEFAULT_TOKEN_CHANNEL
EOF
HIDDEN
inputStream

Définissez le flux char et réinitialisez le lexer

interpreter

Définissez l’interpréteur ATN utilisé par le module de reconnaissance pour la prédiction.

line
MAX_CHAR_VALUE
MIN_CHAR_VALUE
MORE
parseInfo

Si vous effectuez un profilage pendant l’analyse/lex, cela retourne les enregistrements DecisionInfo pour chaque décision dans le module de reconnaissance dans un objet ParseInfo.

SKIP
sourceName
state

Indiquez que le module de reconnaissance a changé l’état interne qui est cohérent avec l’état ATN transmis. De cette façon, nous savons toujours où nous sommes dans l’ATN au fur et à mesure que l’analyseur va. Les objets de contexte de règle forment une pile qui nous permet de voir la pile des règles d’appel. Combinez cela et nous avons des informations de configuration ATN complètes.

text

Définissez le texte complet de ce jeton ; il efface toutes les modifications précédentes apportées au texte.

token

Remplacez si vous émettez plusieurs jetons.

tokenFactory
type

Méthodes

action(RuleContext, number, number)
sempred(RuleContext, number, number)

Méthodes héritées

addErrorListener(ANTLRErrorListener<number>)
emit()

Par défaut, ne prend pas en charge plusieurs émissions par appel nextToken pour des raisons d’efficacité. Sous-classez et remplacez cette méthode, nextToken et getToken (pour envoyer (push) des jetons dans une liste et extraire de cette liste plutôt qu’une seule variable comme le fait cette implémentation).

emit(Token)

Méthode standard appelée pour émettre automatiquement un jeton à la règle lexicale la plus externe. L’objet jeton doit pointer vers le début de la mémoire tampon char. Arrêter. S’il existe un remplacement de texte dans « text », utilisez-le pour définir le texte du jeton. Remplacez cette méthode pour émettre des objets Token personnalisés ou fournir une nouvelle fabrique.

emitEOF()
getAllTokens()

Retourne une liste de tous les objets Token dans le flux de caractères d’entrée. Force le chargement de tous les jetons. N’inclut pas le jeton EOF.

getCharErrorDisplay(number)
getErrorDisplay(string | number)
getErrorHeader(RecognitionException)

Quel est l’en-tête d’erreur, normalement des informations de position de ligne/caractère ?

getErrorListenerDispatch()
getErrorListeners()
getRuleIndexMap()

Obtenir un mappage des noms de règle aux index de règle. Utilisé pour la compilation de modèles XPath et d’arborescence.

getTokenType(string)
getTokenTypeMap()

Obtenir un mappage des noms de jetons aux types de jetons. Utilisé pour la compilation de modèles XPath et d’arborescence.

mode(number)
more()
nextToken()

Retourner un jeton à partir de cette source ; c’est-à-dire faire correspondre un jeton sur le flux de caractères.

notifyListeners(LexerNoViableAltException)
popMode()
precpred(RuleContext | undefined, number)
pushMode(number)
recover(LexerNoViableAltException)
recover(RecognitionException)

Lexers peut normalement correspondre à n’importe quel char dans son vocabulaire après avoir fait correspondre un jeton, alors faites la chose facile et juste tuer un caractère et en espérant que tout fonctionne. Vous pouvez à la place utiliser la pile d’appel de règles pour effectuer une récupération d’erreur sophistiquée si vous êtes dans une règle de fragments.

removeErrorListener(ANTLRErrorListener<number>)
removeErrorListeners()
reset()
reset(boolean)
skip()

Demandez au lexer d’ignorer la création d’un jeton pour la règle de lexer actuelle et de rechercher un autre jeton. nextToken() sait continuer à rechercher quand une règle de lexer se termine avec un jeton défini sur SKIP_TOKEN. Rappelez-vous que si token==undefined à la fin d’une règle de jeton, il en crée un pour vous et l’émet.

Détails du constructeur

ExpressionAntlrLexer(CharStream)

new ExpressionAntlrLexer(input: CharStream)

Paramètres

input

CharStream

Détails de la propriété

ARROW

public static ARROW: 27 = 27

Valeur de propriété

27

ASTERISK

public static ASTERISK: 6 = 6

Valeur de propriété

6

channelNames

public static channelNames: string[] = [
		"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
	]

Valeur de propriété

string[]

channelNames

string[] channelNames

Valeur de propriété

string[]

CLOSE_BRACKET

public static CLOSE_BRACKET: 19 = 19

Valeur de propriété

19

CLOSE_CURLY_BRACKET

public static CLOSE_CURLY_BRACKET: 24 = 24

Valeur de propriété

24

CLOSE_SQUARE_BRACKET

public static CLOSE_SQUARE_BRACKET: 22 = 22

Valeur de propriété

22

COLON

public static COLON: 26 = 26

Valeur de propriété

26

COMMA

public static COMMA: 25 = 25

Valeur de propriété

25

DOT

public static DOT: 20 = 20

Valeur de propriété

20

DOUBLE_AND

public static DOUBLE_AND: 12 = 12

Valeur de propriété

12

DOUBLE_EQUAL

public static DOUBLE_EQUAL: 9 = 9

Valeur de propriété

9

DOUBLE_VERTICAL_CYLINDER

public static DOUBLE_VERTICAL_CYLINDER: 13 = 13

Valeur de propriété

13

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 37 = 37

Valeur de propriété

37

grammarFileName

string grammarFileName

Valeur de propriété

string

IDENTIFIER

public static IDENTIFIER: 32 = 32

Valeur de propriété

32

ignoreWS

ignoreWS: boolean = true

Valeur de propriété

boolean

INVALID_TOKEN_DEFAULT_MODE

public static INVALID_TOKEN_DEFAULT_MODE: 35 = 35

Valeur de propriété

35

LESS_OR_EQUAl

public static LESS_OR_EQUAl: 16 = 16

Valeur de propriété

16

LESS_THAN

public static LESS_THAN: 14 = 14

Valeur de propriété

14

modeNames

public static modeNames: string[] = [
		"DEFAULT_MODE", "STRING_INTERPOLATION_MODE",
	]

Valeur de propriété

string[]

modeNames

string[] modeNames

Valeur de propriété

string[]

MORE_OR_EQUAL

public static MORE_OR_EQUAL: 17 = 17

Valeur de propriété

17

MORE_THAN

public static MORE_THAN: 15 = 15

Valeur de propriété

15

NEWLINE

public static NEWLINE: 33 = 33

Valeur de propriété

33

NON

public static NON: 4 = 4

Valeur de propriété

4

NOT_EQUAL

public static NOT_EQUAL: 10 = 10

Valeur de propriété

10

NULL_COALESCE

public static NULL_COALESCE: 28 = 28

Valeur de propriété

28

NUMBER

public static NUMBER: 30 = 30

Valeur de propriété

30

OPEN_BRACKET

public static OPEN_BRACKET: 18 = 18

Valeur de propriété

18

OPEN_CURLY_BRACKET

public static OPEN_CURLY_BRACKET: 23 = 23

Valeur de propriété

23

OPEN_SQUARE_BRACKET

public static OPEN_SQUARE_BRACKET: 21 = 21

Valeur de propriété

21

PERCENT

public static PERCENT: 8 = 8

Valeur de propriété

8

PLUS

public static PLUS: 2 = 2

Valeur de propriété

2

QUESTION_MARK

public static QUESTION_MARK: 29 = 29

Valeur de propriété

29

ruleNames

public static ruleNames: string[] = [
		"LETTER", "DIGIT", "OBJECT_DEFINITION", "STRING_INTERPOLATION_START", 
		"PLUS", "SUBSTRACT", "NON", "XOR", "ASTERISK", "SLASH", "PERCENT", "DOUBLE_EQUAL", 
		"NOT_EQUAL", "SINGLE_AND", "DOUBLE_AND", "DOUBLE_VERTICAL_CYLINDER", "LESS_THAN", 
		"MORE_THAN", "LESS_OR_EQUAl", "MORE_OR_EQUAL", "OPEN_BRACKET", "CLOSE_BRACKET", 
		"DOT", "OPEN_SQUARE_BRACKET", "CLOSE_SQUARE_BRACKET", "OPEN_CURLY_BRACKET", 
		"CLOSE_CURLY_BRACKET", "COMMA", "COLON", "ARROW", "NULL_COALESCE", "QUESTION_MARK", 
		"NUMBER", "WHITESPACE", "IDENTIFIER", "NEWLINE", "STRING", "INVALID_TOKEN_DEFAULT_MODE", 
		"STRING_INTERPOLATION_END", "TEMPLATE", "ESCAPE_CHARACTER", "TEXT_CONTENT",
	]

Valeur de propriété

string[]

ruleNames

string[] ruleNames

Valeur de propriété

string[]

serializedATN

string serializedATN

Valeur de propriété

string

SINGLE_AND

public static SINGLE_AND: 11 = 11

Valeur de propriété

11

SLASH

public static SLASH: 7 = 7

Valeur de propriété

7

STRING

public static STRING: 34 = 34

Valeur de propriété

34

STRING_INTERPOLATION_MODE

public static STRING_INTERPOLATION_MODE: 1 = 1

Valeur de propriété

1

STRING_INTERPOLATION_START

public static STRING_INTERPOLATION_START: 1 = 1

Valeur de propriété

1

SUBSTRACT

public static SUBSTRACT: 3 = 3

Valeur de propriété

3

TEMPLATE

public static TEMPLATE: 36 = 36

Valeur de propriété

36

TEXT_CONTENT

public static TEXT_CONTENT: 38 = 38

Valeur de propriété

38

VOCABULARY

public static VOCABULARY: Vocabulary = new VocabularyImpl(ExpressionAntlrLexer._LITERAL_NAMES, ExpressionAntlrLexer._SYMBOLIC_NAMES, [])

Valeur de propriété

Vocabulary

vocabulary

Vocabulary vocabulary

Valeur de propriété

Vocabulary

WHITESPACE

public static WHITESPACE: 31 = 31

Valeur de propriété

31

XOR

public static XOR: 5 = 5

Valeur de propriété

5

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

atn

Obtenez le serializedATN utilisé par le module de reconnaissance pour la prédiction.

atn: ATN

Valeur de propriété

ATN

Hérité de Recognizer.atn

channel

channel: number

Valeur de propriété

number

Hérité de Lexer.channel

charIndex

Quel est l’index du caractère actuel du lookahead ?

charIndex: number

Valeur de propriété

number

Hérité de Lexer.charIndex

charPositionInLine

charPositionInLine: number

Valeur de propriété

number

Hérité de Lexer.charPositionInLine

DEFAULT_MODE

static DEFAULT_MODE: number

Valeur de propriété

number

Hérité de Lexer.DEFAULT_MODE

DEFAULT_TOKEN_CHANNEL

static DEFAULT_TOKEN_CHANNEL: number

Valeur de propriété

number

Hérité de Lexer.DEFAULT_TOKEN_CHANNEL

EOF

static EOF: number

Valeur de propriété

number

Hérité de Recognizer.EOF

HIDDEN

static HIDDEN: number

Valeur de propriété

number

Hérité de Lexer.HIDDEN

inputStream

Définissez le flux char et réinitialisez le lexer

inputStream: CharStream

Valeur de propriété

CharStream

Hérité de Lexer.inputStream

interpreter

Définissez l’interpréteur ATN utilisé par le module de reconnaissance pour la prédiction.

interpreter: LexerATNSimulator

Valeur de propriété

LexerATNSimulator

Hérité de Recognizer.interpreter

line

line: number

Valeur de propriété

number

Hérité de Lexer.line

MAX_CHAR_VALUE

static MAX_CHAR_VALUE: number

Valeur de propriété

number

Hérité de Lexer.MAX_CHAR_VALUE

MIN_CHAR_VALUE

static MIN_CHAR_VALUE: number

Valeur de propriété

number

Hérité de Lexer.MIN_CHAR_VALUE

MORE

static MORE: number

Valeur de propriété

number

Hérité de Lexer.MORE

parseInfo

Si vous effectuez un profilage pendant l’analyse/lex, cela retourne les enregistrements DecisionInfo pour chaque décision dans le module de reconnaissance dans un objet ParseInfo.

parseInfo: Promise<ParseInfo | undefined>

Valeur de propriété

Promise<ParseInfo | undefined>

Hérité de Recognizer.parseInfo

SKIP

static SKIP: number

Valeur de propriété

number

Hérité de Lexer.SKIP

sourceName

sourceName: string

Valeur de propriété

string

Hérité de Lexer.sourceName

state

Indiquez que le module de reconnaissance a changé l’état interne qui est cohérent avec l’état ATN transmis. De cette façon, nous savons toujours où nous sommes dans l’ATN au fur et à mesure que l’analyseur va. Les objets de contexte de règle forment une pile qui nous permet de voir la pile des règles d’appel. Combinez cela et nous avons des informations de configuration ATN complètes.

state: number

Valeur de propriété

number

Hérité de Recognizer.state

text

Définissez le texte complet de ce jeton ; il efface toutes les modifications précédentes apportées au texte.

text: string

Valeur de propriété

string

Hérité de Lexer.text

token

Remplacez si vous émettez plusieurs jetons.

token: Token | undefined

Valeur de propriété

Token | undefined

Hérité de Lexer.token

tokenFactory

tokenFactory: TokenFactory

Valeur de propriété

TokenFactory

Hérité de Lexer.tokenFactory

type

type: number

Valeur de propriété

number

Hérité de Lexer.type

Détails de la méthode

action(RuleContext, number, number)

function action(_localctx: RuleContext, ruleIndex: number, actionIndex: number)

Paramètres

_localctx

RuleContext

ruleIndex

number

actionIndex

number

sempred(RuleContext, number, number)

function sempred(_localctx: RuleContext, ruleIndex: number, predIndex: number): boolean

Paramètres

_localctx

RuleContext

ruleIndex

number

predIndex

number

Retours

boolean

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

addErrorListener(ANTLRErrorListener<number>)

function addErrorListener(listener: ANTLRErrorListener<number>)

Paramètres

listener

ANTLRErrorListener<number>

Hérité de Recognizer.addErrorListener

emit()

Par défaut, ne prend pas en charge plusieurs émissions par appel nextToken pour des raisons d’efficacité. Sous-classez et remplacez cette méthode, nextToken et getToken (pour envoyer (push) des jetons dans une liste et extraire de cette liste plutôt qu’une seule variable comme le fait cette implémentation).

function emit(): Token

Retours

Token

Hérité de Lexer.emit

emit(Token)

Méthode standard appelée pour émettre automatiquement un jeton à la règle lexicale la plus externe. L’objet jeton doit pointer vers le début de la mémoire tampon char. Arrêter. S’il existe un remplacement de texte dans « text », utilisez-le pour définir le texte du jeton. Remplacez cette méthode pour émettre des objets Token personnalisés ou fournir une nouvelle fabrique.

function emit(token: Token): Token

Paramètres

token

Token

Retours

Token

Hérité de Lexer.emit

emitEOF()

function emitEOF(): Token

Retours

Token

Hérité de Lexer.emitEOF

getAllTokens()

Retourne une liste de tous les objets Token dans le flux de caractères d’entrée. Force le chargement de tous les jetons. N’inclut pas le jeton EOF.

function getAllTokens(): Token[]

Retours

Token[]

Hérité de Lexer.getAllTokens

getCharErrorDisplay(number)

function getCharErrorDisplay(c: number): string

Paramètres

c

number

Retours

string

Hérité de Lexer.getCharErrorDisplay

getErrorDisplay(string | number)

function getErrorDisplay(s: string | number): string

Paramètres

s

string | number

Retours

string

Hérité de Lexer.getErrorDisplay

getErrorHeader(RecognitionException)

Quel est l’en-tête d’erreur, normalement des informations de position de ligne/caractère ?

function getErrorHeader(e: RecognitionException): string

Paramètres

e

RecognitionException

Retours

string

Hérité de Recognizer.getErrorHeader

getErrorListenerDispatch()

function getErrorListenerDispatch(): ANTLRErrorListener<number>

Retours

ANTLRErrorListener<number>

Hérité de Recognizer.getErrorListenerDispatch

getErrorListeners()

function getErrorListeners(): Array<ANTLRErrorListener<number>>

Retours

Array<ANTLRErrorListener<number>>

Hérité de Recognizer.getErrorListeners

getRuleIndexMap()

Obtenir un mappage des noms de règle aux index de règle. Utilisé pour la compilation de modèles XPath et d’arborescence.

function getRuleIndexMap(): ReadonlyMap<string, number>

Retours

ReadonlyMap<string, number>

Hérité de Recognizer.getRuleIndexMap

getTokenType(string)

function getTokenType(tokenName: string): number

Paramètres

tokenName

string

Retours

number

Hérité de Recognizer.getTokenType

getTokenTypeMap()

Obtenir un mappage des noms de jetons aux types de jetons. Utilisé pour la compilation de modèles XPath et d’arborescence.

function getTokenTypeMap(): ReadonlyMap<string, number>

Retours

ReadonlyMap<string, number>

Hérité de Recognizer.getTokenTypeMap

mode(number)

function mode(m: number)

Paramètres

m

number

Hérité de Lexer.mode

more()

function more()

Hérité de Lexer.more

nextToken()

Retourner un jeton à partir de cette source ; c’est-à-dire faire correspondre un jeton sur le flux de caractères.

function nextToken(): Token

Retours

Token

Hérité de Lexer.nextToken

notifyListeners(LexerNoViableAltException)

function notifyListeners(e: LexerNoViableAltException)

Paramètres

e

LexerNoViableAltException

Hérité de Lexer.notifyListeners

popMode()

function popMode(): number

Retours

number

Hérité de Lexer.popMode

precpred(RuleContext | undefined, number)

function precpred(localctx: RuleContext | undefined, precedence: number): boolean

Paramètres

localctx

RuleContext | undefined

precedence

number

Retours

boolean

Hérité de Recognizer.precpred

pushMode(number)

function pushMode(m: number)

Paramètres

m

number

Hérité de Lexer.pushMode

recover(LexerNoViableAltException)

function recover(re: LexerNoViableAltException)

Paramètres

re

LexerNoViableAltException

Hérité de Lexer.recover

recover(RecognitionException)

Lexers peut normalement correspondre à n’importe quel char dans son vocabulaire après avoir fait correspondre un jeton, alors faites la chose facile et juste tuer un caractère et en espérant que tout fonctionne. Vous pouvez à la place utiliser la pile d’appel de règles pour effectuer une récupération d’erreur sophistiquée si vous êtes dans une règle de fragments.

function recover(re: RecognitionException)

Paramètres

re

RecognitionException

Hérité de Lexer.recover

removeErrorListener(ANTLRErrorListener<number>)

function removeErrorListener(listener: ANTLRErrorListener<number>)

Paramètres

listener

ANTLRErrorListener<number>

Hérité de Recognizer.removeErrorListener

removeErrorListeners()

function removeErrorListeners()

Hérité de Recognizer.removeErrorListeners

reset()

function reset()

Hérité de Lexer.reset

reset(boolean)

function reset(resetInput: boolean)

Paramètres

resetInput

boolean

Hérité de Lexer.reset

skip()

Demandez au lexer d’ignorer la création d’un jeton pour la règle de lexer actuelle et de rechercher un autre jeton. nextToken() sait continuer à rechercher quand une règle de lexer se termine avec un jeton défini sur SKIP_TOKEN. Rappelez-vous que si token==undefined à la fin d’une règle de jeton, il en crée un pour vous et l’émet.

function skip()

Hérité de Lexer.skip