LGFileLexer class
- Extends
-
Lexer
Constructeurs
LGFile |
Propriétés
Propriétés héritées
atn | Obtenez le serializedATN utilisé par le module de reconnaissance pour la prédiction. |
channel | |
char |
Quel est l’index du caractère actuel de lookahead ? |
char |
|
DEFAULT_MODE | |
DEFAULT_TOKEN_CHANNEL | |
EOF | |
HIDDEN | |
input |
Définir le flux de caractères et réinitialiser 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 | |
parse |
Si le profilage s’effectue pendant l’analyse/lex, cela renvoie les enregistrements DecisionInfo pour chaque décision dans un objet ParseInfo. |
SKIP | |
source |
|
state | Indiquez que le module de reconnaissance a modifié l’état interne qui est cohérent avec l’état ATN passé. De cette façon, nous savons toujours où nous sommes dans l’ATN à mesure que l’analyseur va le long. Les objets de contexte de règle forment une pile qui nous permet de voir la pile des règles d’appel. Combinez cette opération et nous disposons d’informations de configuration ATN complètes. |
text | Définissez le texte complet de ce jeton ; elle réinitialise les modifications précédentes apportées au texte. |
token | Remplacez si vous émettez plusieurs jetons. |
token |
|
type |
Méthodes
action(Rule |
|
sempred(Rule |
Méthodes héritées
add |
|
emit() | Par défaut, il ne prend pas en charge plusieurs émissions par appel nextToken pour des raisons d’efficacité. Sous-classe et remplacement de cette méthode, nextToken et getToken (pour envoyer des jetons dans une liste et extraire de cette liste plutôt qu’une variable unique comme cette implémentation). |
emit(Token) | Méthode standard appelée pour émettre automatiquement un jeton à la règle lexicale la plus externe. L’objet de jeton doit pointer vers le démarrage 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 jeton personnalisés ou fournir une nouvelle fabrique. |
emitEOF() | |
get |
Retourne une liste de tous les objets Token dans le flux de caractères d’entrée. Force la charge de tous les jetons. N’inclut pas de jeton EOF. |
get |
|
get |
|
get |
Qu’est-ce que l’en-tête d’erreur, normalement les informations de position de ligne/caractère ? |
get |
|
get |
|
get |
Obtenir une carte des noms de règles aux index de règle. Utilisé pour la compilation de modèles XPath et d’arborescence. |
get |
|
get |
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() | |
next |
Retourne un jeton à partir de cette source ; c’est-à-dire faire correspondre un jeton sur le flux de caractères. |
notify |
|
pop |
|
precpred(Rule |
|
push |
|
recover(Lexer |
|
recover(Recognition |
Lexers peut normalement correspondre à n’importe quel char dans son vocabulaire après avoir mis en correspondance un jeton, donc faire la chose facile et juste tuer un caractère et espérer que tout fonctionne. Vous pouvez utiliser plutôt la pile d’appel de règle pour effectuer une récupération d’erreur sophistiquée si vous êtes dans une règle de fragment. |
remove |
|
remove |
|
reset() | |
reset(boolean) | |
skip() | Demandez au lexer d’ignorer la création d’un jeton pour la règle lexer actuelle et de rechercher un autre jeton. nextToken() sait continuer à regarder quand une règle lexer se termine avec le 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
LGFileLexer(CharStream)
new LGFileLexer(input: CharStream)
Paramètres
- input
-
CharStream
Détails de la propriété
channelNames
public static channelNames: string[] = [
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
]
Valeur de propriété
string[]
channelNames
string[] channelNames
Valeur de propriété
string[]
COMMENT
public static COMMENT: 3 = 3
Valeur de propriété
3
ESCAPE_CHARACTER
public static ESCAPE_CHARACTER: 11 = 11
Valeur de propriété
11
grammarFileName
string grammarFileName
Valeur de propriété
string
IMPORT
public static IMPORT: 4 = 4
Valeur de propriété
4
INLINE_MULTILINE
public static INLINE_MULTILINE: 6 = 6
Valeur de propriété
6
INVALID_LINE
public static INVALID_LINE: 9 = 9
Valeur de propriété
9
modeNames
public static modeNames: string[] = [
"DEFAULT_MODE", "MULTILINE_MODE",
]
Valeur de propriété
string[]
modeNames
string[] modeNames
Valeur de propriété
string[]
MULTILINE_MODE
public static MULTILINE_MODE: 1 = 1
Valeur de propriété
1
MULTILINE_PREFIX
public static MULTILINE_PREFIX: 7 = 7
Valeur de propriété
7
MULTILINE_SUFFIX
public static MULTILINE_SUFFIX: 10 = 10
Valeur de propriété
10
MULTILINE_TEXT
public static MULTILINE_TEXT: 12 = 12
Valeur de propriété
12
NEWLINE
public static NEWLINE: 1 = 1
Valeur de propriété
1
OPTION
public static OPTION: 2 = 2
Valeur de propriété
2
ruleNames
public static ruleNames: string[] = [
"WHITESPACE", "NEWLINE", "OPTION", "COMMENT", "IMPORT", "TEMPLATE_NAME_LINE",
"INLINE_MULTILINE", "MULTILINE_PREFIX", "TEMPLATE_BODY", "INVALID_LINE",
"MULTILINE_SUFFIX", "ESCAPE_CHARACTER", "MULTILINE_TEXT",
]
Valeur de propriété
string[]
ruleNames
string[] ruleNames
Valeur de propriété
string[]
serializedATN
string serializedATN
Valeur de propriété
string
startTemplate
startTemplate: boolean = false
Valeur de propriété
boolean
TEMPLATE_BODY
public static TEMPLATE_BODY: 8 = 8
Valeur de propriété
8
TEMPLATE_NAME_LINE
public static TEMPLATE_NAME_LINE: 5 = 5
Valeur de propriété
5
VOCABULARY
public static VOCABULARY: Vocabulary = new VocabularyImpl(LGFileLexer._LITERAL_NAMES, LGFileLexer._SYMBOLIC_NAMES, [])
Valeur de propriété
Vocabulary
vocabulary
Vocabulary vocabulary
Valeur de propriété
Vocabulary
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ée de Recognizer.atn
channel
channel: number
Valeur de propriété
number
héritée de Lexer.channel
charIndex
Quel est l’index du caractère actuel de lookahead ?
charIndex: number
Valeur de propriété
number
héritée de Lexer.charIndex
charPositionInLine
charPositionInLine: number
Valeur de propriété
number
héritée de Lexer.charPositionInLine
DEFAULT_MODE
static DEFAULT_MODE: number
Valeur de propriété
number
héritée de Lexer.DEFAULT_MODE
DEFAULT_TOKEN_CHANNEL
static DEFAULT_TOKEN_CHANNEL: number
Valeur de propriété
number
héritée de Lexer.DEFAULT_TOKEN_CHANNEL
EOF
static EOF: number
Valeur de propriété
number
héritée de Recognizer.EOF
HIDDEN
static HIDDEN: number
Valeur de propriété
number
héritée de Lexer.HIDDEN
inputStream
Définir le flux de caractères et réinitialiser le lexer
inputStream: CharStream
Valeur de propriété
CharStream
héritée 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ée de Recognizer.interpreter
line
line: number
Valeur de propriété
number
héritée de Lexer.line
MAX_CHAR_VALUE
static MAX_CHAR_VALUE: number
Valeur de propriété
number
héritée de Lexer.MAX_CHAR_VALUE
MIN_CHAR_VALUE
static MIN_CHAR_VALUE: number
Valeur de propriété
number
héritée de Lexer.MIN_CHAR_VALUE
MORE
static MORE: number
Valeur de propriété
number
héritée de Lexer.MORE
parseInfo
Si le profilage s’effectue pendant l’analyse/lex, cela renvoie les enregistrements DecisionInfo pour chaque décision dans un objet ParseInfo.
parseInfo: Promise<ParseInfo | undefined>
Valeur de propriété
Promise<ParseInfo | undefined>
héritée de Recognizer.parseInfo
SKIP
static SKIP: number
Valeur de propriété
number
héritée de Lexer.SKIP
sourceName
sourceName: string
Valeur de propriété
string
héritée de Lexer.sourceName
state
Indiquez que le module de reconnaissance a modifié l’état interne qui est cohérent avec l’état ATN passé. De cette façon, nous savons toujours où nous sommes dans l’ATN à mesure que l’analyseur va le long. Les objets de contexte de règle forment une pile qui nous permet de voir la pile des règles d’appel. Combinez cette opération et nous disposons d’informations de configuration ATN complètes.
state: number
Valeur de propriété
number
héritée de Recognizer.state
text
Définissez le texte complet de ce jeton ; elle réinitialise les modifications précédentes apportées au texte.
text: string
Valeur de propriété
string
héritée de Lexer.text
token
Remplacez si vous émettez plusieurs jetons.
token: Token | undefined
Valeur de propriété
Token | undefined
héritée de Lexer.token
tokenFactory
tokenFactory: TokenFactory
Valeur de propriété
TokenFactory
héritée de Lexer.tokenFactory
type
type: number
Valeur de propriété
number
héritée 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ée de Recognizer.addErrorListener
emit()
Par défaut, il ne prend pas en charge plusieurs émissions par appel nextToken pour des raisons d’efficacité. Sous-classe et remplacement de cette méthode, nextToken et getToken (pour envoyer des jetons dans une liste et extraire de cette liste plutôt qu’une variable unique comme cette implémentation).
function emit(): Token
Retours
Token
héritée de Lexer.emit
emit(Token)
Méthode standard appelée pour émettre automatiquement un jeton à la règle lexicale la plus externe. L’objet de jeton doit pointer vers le démarrage 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 jeton personnalisés ou fournir une nouvelle fabrique.
function emit(token: Token): Token
Paramètres
- token
-
Token
Retours
Token
héritée de Lexer.emit
emitEOF()
function emitEOF(): Token
Retours
Token
héritée de Lexer.emitEOF
getAllTokens()
Retourne une liste de tous les objets Token dans le flux de caractères d’entrée. Force la charge de tous les jetons. N’inclut pas de jeton EOF.
function getAllTokens(): Token[]
Retours
Token[]
héritée de Lexer.getAllTokens
getCharErrorDisplay(number)
function getCharErrorDisplay(c: number): string
Paramètres
- c
-
number
Retours
string
héritée de Lexer.getCharErrorDisplay
getErrorDisplay(string | number)
function getErrorDisplay(s: string | number): string
Paramètres
- s
-
string | number
Retours
string
héritée de Lexer.getErrorDisplay
getErrorHeader(RecognitionException)
Qu’est-ce que l’en-tête d’erreur, normalement les informations de position de ligne/caractère ?
function getErrorHeader(e: RecognitionException): string
Paramètres
- e
-
RecognitionException
Retours
string
héritée de Recognizer.getErrorHeader
getErrorListenerDispatch()
function getErrorListenerDispatch(): ANTLRErrorListener<number>
Retours
ANTLRErrorListener<number>
héritée de Recognizer.getErrorListenerDispatch
getErrorListeners()
function getErrorListeners(): Array<ANTLRErrorListener<number>>
Retours
Array<ANTLRErrorListener<number>>
héritée de Recognizer.getErrorListeners
getRuleIndexMap()
Obtenir une carte des noms de règles 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ée de Recognizer.getRuleIndexMap
getTokenType(string)
function getTokenType(tokenName: string): number
Paramètres
- tokenName
-
string
Retours
number
héritée 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ée de Recognizer.getTokenTypeMap
mode(number)
function mode(m: number)
Paramètres
- m
-
number
héritée de Lexer.mode
more()
function more()
héritée de Lexer.more
nextToken()
Retourne 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ée de Lexer.nextToken
notifyListeners(LexerNoViableAltException)
function notifyListeners(e: LexerNoViableAltException)
Paramètres
- e
-
LexerNoViableAltException
héritée de Lexer.notifyListeners
popMode()
function popMode(): number
Retours
number
héritée 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ée de Recognizer.precpred
pushMode(number)
function pushMode(m: number)
Paramètres
- m
-
number
héritée de Lexer.pushMode
recover(LexerNoViableAltException)
function recover(re: LexerNoViableAltException)
Paramètres
- re
-
LexerNoViableAltException
héritée de Lexer.recover
recover(RecognitionException)
Lexers peut normalement correspondre à n’importe quel char dans son vocabulaire après avoir mis en correspondance un jeton, donc faire la chose facile et juste tuer un caractère et espérer que tout fonctionne. Vous pouvez utiliser plutôt la pile d’appel de règle pour effectuer une récupération d’erreur sophistiquée si vous êtes dans une règle de fragment.
function recover(re: RecognitionException)
Paramètres
- re
-
RecognitionException
héritée de Lexer.recover
removeErrorListener(ANTLRErrorListener<number>)
function removeErrorListener(listener: ANTLRErrorListener<number>)
Paramètres
- listener
-
ANTLRErrorListener<number>
héritée de Recognizer.removeErrorListener
removeErrorListeners()
function removeErrorListeners()
héritée de Recognizer.removeErrorListeners
reset()
function reset()
héritée de Lexer.reset
reset(boolean)
function reset(resetInput: boolean)
Paramètres
- resetInput
-
boolean
héritée de Lexer.reset
skip()
Demandez au lexer d’ignorer la création d’un jeton pour la règle lexer actuelle et de rechercher un autre jeton. nextToken() sait continuer à regarder quand une règle lexer se termine avec le 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ée de Lexer.skip