ExpressionAntlrLexer class
- Extends
-
Lexer
Construtores
Expression |
Propriedades
Propriedades herdadas
atn | Obtenha o serializedATN usado pelo reconhecedor para previsão. |
channel | |
char |
Qual é o índice do caractere atual do lookahead? |
char |
|
DEFAULT_MODE | |
DEFAULT_TOKEN_CHANNEL | |
EOF | |
HIDDEN | |
input |
Definir o fluxo de caracteres e redefinir o lexer |
interpreter | Defina o interpretador de ATN usado pelo reconhecedor para previsão. |
line | |
MAX_CHAR_VALUE | |
MIN_CHAR_VALUE | |
MORE | |
parse |
Se a criação de perfil durante a análise/lex, isso retornará registros DecisionInfo para cada decisão no reconhecedor em um objeto ParseInfo. |
SKIP | |
source |
|
state | Indique que o reconhecedor alterou o estado interno que é consistente com o estado atn passado. Dessa forma, sempre sabemos onde estamos no ATN à medida que o analisador avança. Os objetos de contexto de regra formam uma pilha que nos permite ver a pilha de regras de invocação. Combine isso e temos informações completas de configuração de ATN. |
text | Defina o texto completo deste token; apaga as alterações anteriores no texto. |
token | Substitua se estiver emitindo vários tokens. |
token |
|
type |
Métodos
action(Rule |
|
sempred(Rule |
Métodos herdados
add |
|
emit() | Por padrão, não dá suporte a várias emissões por invocação nextToken por motivos de eficiência. Subclasse e substitua esse método, nextToken e getToken (para enviar tokens por push para uma lista e efetuar pull dessa lista em vez de uma única variável como essa implementação faz). |
emit(Token) | O método padrão chamado para emitir automaticamente um token na regra lexical mais externa. O objeto de token deve apontar para o início do buffer de caracteres.. parar. Se houver uma substituição de texto em 'text', use-a para definir o texto do token. Substitua esse método para emitir objetos token personalizados ou fornecer uma nova fábrica. |
emitEOF() | |
get |
Retornar uma lista de todos os objetos Token no fluxo de caracteres de entrada. Força o carregamento de todos os tokens. Não inclui o token EOF. |
get |
|
get |
|
get |
Qual é o cabeçalho de erro, normalmente informações de posição de linha/caractere? |
get |
|
get |
|
get |
Obtenha um mapa de nomes de regra para índices de regra. Usado para compilação de padrões de árvore e XPath. |
get |
|
get |
Obtenha um mapa de nomes de token para tipos de token. Usado para compilação de padrões de árvore e XPath. |
mode(number) | |
more() | |
next |
Retornar um token dessa origem; Ou seja, corresponda a um token no fluxo de caracteres. |
notify |
|
pop |
|
precpred(Rule |
|
push |
|
recover(Lexer |
|
recover(Recognition |
Lexers normalmente podem corresponder qualquer char em seu vocabulário depois de corresponder a um token, então faça a coisa fácil e apenas mate um personagem e espere que tudo dê certo. Em vez disso, você pode usar a pilha de invocação de regra para fazer uma recuperação de erro sofisticada se estiver em uma regra de fragmento. |
remove |
|
remove |
|
reset() | |
reset(boolean) | |
skip() | Instrua o lexer a ignorar a criação de um token para a regra lexer atual e procurar outro token. nextToken() sabe continuar procurando quando uma regra lexer termina com o token definido como SKIP_TOKEN. Lembre-se de que, se token==undefined no final de qualquer regra de token, ele cria um para você e o emite. |
Detalhes do construtor
ExpressionAntlrLexer(CharStream)
new ExpressionAntlrLexer(input: CharStream)
Parâmetros
- input
-
CharStream
Detalhes da propriedade
ARROW
public static ARROW: 27 = 27
Valor da propriedade
27
ASTERISK
public static ASTERISK: 6 = 6
Valor da propriedade
6
channelNames
public static channelNames: string[] = [
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
]
Valor da propriedade
string[]
channelNames
string[] channelNames
Valor da propriedade
string[]
CLOSE_BRACKET
public static CLOSE_BRACKET: 19 = 19
Valor da propriedade
19
CLOSE_CURLY_BRACKET
public static CLOSE_CURLY_BRACKET: 24 = 24
Valor da propriedade
24
CLOSE_SQUARE_BRACKET
public static CLOSE_SQUARE_BRACKET: 22 = 22
Valor da propriedade
22
COLON
public static COLON: 26 = 26
Valor da propriedade
26
COMMA
public static COMMA: 25 = 25
Valor da propriedade
25
DOT
public static DOT: 20 = 20
Valor da propriedade
20
DOUBLE_AND
public static DOUBLE_AND: 12 = 12
Valor da propriedade
12
DOUBLE_EQUAL
public static DOUBLE_EQUAL: 9 = 9
Valor da propriedade
9
DOUBLE_VERTICAL_CYLINDER
public static DOUBLE_VERTICAL_CYLINDER: 13 = 13
Valor da propriedade
13
ESCAPE_CHARACTER
public static ESCAPE_CHARACTER: 37 = 37
Valor da propriedade
37
grammarFileName
string grammarFileName
Valor da propriedade
string
IDENTIFIER
public static IDENTIFIER: 32 = 32
Valor da propriedade
32
ignoreWS
ignoreWS: boolean = true
Valor da propriedade
boolean
INVALID_TOKEN_DEFAULT_MODE
public static INVALID_TOKEN_DEFAULT_MODE: 35 = 35
Valor da propriedade
35
LESS_OR_EQUAl
public static LESS_OR_EQUAl: 16 = 16
Valor da propriedade
16
LESS_THAN
public static LESS_THAN: 14 = 14
Valor da propriedade
14
modeNames
public static modeNames: string[] = [
"DEFAULT_MODE", "STRING_INTERPOLATION_MODE",
]
Valor da propriedade
string[]
modeNames
string[] modeNames
Valor da propriedade
string[]
MORE_OR_EQUAL
public static MORE_OR_EQUAL: 17 = 17
Valor da propriedade
17
MORE_THAN
public static MORE_THAN: 15 = 15
Valor da propriedade
15
NEWLINE
public static NEWLINE: 33 = 33
Valor da propriedade
33
NON
public static NON: 4 = 4
Valor da propriedade
4
NOT_EQUAL
public static NOT_EQUAL: 10 = 10
Valor da propriedade
10
NULL_COALESCE
public static NULL_COALESCE: 28 = 28
Valor da propriedade
28
NUMBER
public static NUMBER: 30 = 30
Valor da propriedade
30
OPEN_BRACKET
public static OPEN_BRACKET: 18 = 18
Valor da propriedade
18
OPEN_CURLY_BRACKET
public static OPEN_CURLY_BRACKET: 23 = 23
Valor da propriedade
23
OPEN_SQUARE_BRACKET
public static OPEN_SQUARE_BRACKET: 21 = 21
Valor da propriedade
21
PERCENT
public static PERCENT: 8 = 8
Valor da propriedade
8
PLUS
public static PLUS: 2 = 2
Valor da propriedade
2
QUESTION_MARK
public static QUESTION_MARK: 29 = 29
Valor da propriedade
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",
]
Valor da propriedade
string[]
ruleNames
string[] ruleNames
Valor da propriedade
string[]
serializedATN
string serializedATN
Valor da propriedade
string
SINGLE_AND
public static SINGLE_AND: 11 = 11
Valor da propriedade
11
SLASH
public static SLASH: 7 = 7
Valor da propriedade
7
STRING
public static STRING: 34 = 34
Valor da propriedade
34
STRING_INTERPOLATION_MODE
public static STRING_INTERPOLATION_MODE: 1 = 1
Valor da propriedade
1
STRING_INTERPOLATION_START
public static STRING_INTERPOLATION_START: 1 = 1
Valor da propriedade
1
SUBSTRACT
public static SUBSTRACT: 3 = 3
Valor da propriedade
3
TEMPLATE
public static TEMPLATE: 36 = 36
Valor da propriedade
36
TEXT_CONTENT
public static TEXT_CONTENT: 38 = 38
Valor da propriedade
38
VOCABULARY
public static VOCABULARY: Vocabulary = new VocabularyImpl(ExpressionAntlrLexer._LITERAL_NAMES, ExpressionAntlrLexer._SYMBOLIC_NAMES, [])
Valor da propriedade
Vocabulary
vocabulary
Vocabulary vocabulary
Valor da propriedade
Vocabulary
WHITESPACE
public static WHITESPACE: 31 = 31
Valor da propriedade
31
XOR
public static XOR: 5 = 5
Valor da propriedade
5
Detalhes das propriedades herdadas
atn
Obtenha o serializedATN usado pelo reconhecedor para previsão.
atn: ATN
Valor da propriedade
ATN
Herdado de Recognizer.atn
channel
channel: number
Valor da propriedade
number
Herdado de Lexer.channel
charIndex
Qual é o índice do caractere atual do lookahead?
charIndex: number
Valor da propriedade
number
herdado de Lexer.charIndex
charPositionInLine
charPositionInLine: number
Valor da propriedade
number
Herdado de Lexer.charPositionInLine
DEFAULT_MODE
static DEFAULT_MODE: number
Valor da propriedade
number
herdado de Lexer.DEFAULT_MODE
DEFAULT_TOKEN_CHANNEL
static DEFAULT_TOKEN_CHANNEL: number
Valor da propriedade
number
herdado de Lexer.DEFAULT_TOKEN_CHANNEL
EOF
static EOF: number
Valor da propriedade
number
herdado de Recognizer.EOF
HIDDEN
static HIDDEN: number
Valor da propriedade
number
herdado de Lexer.HIDDEN
inputStream
Definir o fluxo de caracteres e redefinir o lexer
inputStream: CharStream
Valor da propriedade
CharStream
Herdado de Lexer.inputStream
interpreter
Defina o interpretador de ATN usado pelo reconhecedor para previsão.
interpreter: LexerATNSimulator
Valor da propriedade
LexerATNSimulator
Herdado de Recognizer.interprete
line
line: number
Valor da propriedade
number
herdado de Lexer.line
MAX_CHAR_VALUE
static MAX_CHAR_VALUE: number
Valor da propriedade
number
herdado de Lexer.MAX_CHAR_VALUE
MIN_CHAR_VALUE
static MIN_CHAR_VALUE: number
Valor da propriedade
number
herdado de Lexer.MIN_CHAR_VALUE
MORE
static MORE: number
Valor da propriedade
number
herdado de Lexer.MORE
parseInfo
Se a criação de perfil durante a análise/lex, isso retornará registros DecisionInfo para cada decisão no reconhecedor em um objeto ParseInfo.
parseInfo: Promise<ParseInfo | undefined>
Valor da propriedade
Promise<ParseInfo | undefined>
Herdado de Recognizer.parseInfo
SKIP
static SKIP: number
Valor da propriedade
number
herdado de Lexer.SKIP
sourceName
sourceName: string
Valor da propriedade
string
Herdado de Lexer.sourceName
state
Indique que o reconhecedor alterou o estado interno que é consistente com o estado atn passado. Dessa forma, sempre sabemos onde estamos no ATN à medida que o analisador avança. Os objetos de contexto de regra formam uma pilha que nos permite ver a pilha de regras de invocação. Combine isso e temos informações completas de configuração de ATN.
state: number
Valor da propriedade
number
Herdado de Recognizer.state
text
Defina o texto completo deste token; apaga as alterações anteriores no texto.
text: string
Valor da propriedade
string
herdado de Lexer.text
token
Substitua se estiver emitindo vários tokens.
token: Token | undefined
Valor da propriedade
Token | undefined
herdado de Lexer.token
tokenFactory
tokenFactory: TokenFactory
Valor da propriedade
TokenFactory
herdado de Lexer.tokenFactory
type
type: number
Valor da propriedade
number
Herdado de Lexer.type
Detalhes do método
action(RuleContext, number, number)
function action(_localctx: RuleContext, ruleIndex: number, actionIndex: number)
Parâmetros
- _localctx
-
RuleContext
- ruleIndex
-
number
- actionIndex
-
number
sempred(RuleContext, number, number)
function sempred(_localctx: RuleContext, ruleIndex: number, predIndex: number): boolean
Parâmetros
- _localctx
-
RuleContext
- ruleIndex
-
number
- predIndex
-
number
Retornos
boolean
Detalhes do método herdado
addErrorListener(ANTLRErrorListener<number>)
function addErrorListener(listener: ANTLRErrorListener<number>)
Parâmetros
- listener
-
ANTLRErrorListener<number>
Herdado de Recognizer.addErrorListener
emit()
Por padrão, não dá suporte a várias emissões por invocação nextToken por motivos de eficiência. Subclasse e substitua esse método, nextToken e getToken (para enviar tokens por push para uma lista e efetuar pull dessa lista em vez de uma única variável como essa implementação faz).
function emit(): Token
Retornos
Token
Herdado de Lexer.emit
emit(Token)
O método padrão chamado para emitir automaticamente um token na regra lexical mais externa. O objeto de token deve apontar para o início do buffer de caracteres.. parar. Se houver uma substituição de texto em 'text', use-a para definir o texto do token. Substitua esse método para emitir objetos token personalizados ou fornecer uma nova fábrica.
function emit(token: Token): Token
Parâmetros
- token
-
Token
Retornos
Token
Herdado de Lexer.emit
emitEOF()
function emitEOF(): Token
Retornos
Token
Herdado de Lexer.emitEOF
getAllTokens()
Retornar uma lista de todos os objetos Token no fluxo de caracteres de entrada. Força o carregamento de todos os tokens. Não inclui o token EOF.
function getAllTokens(): Token[]
Retornos
Token[]
herdado de Lexer.getAllTokens
getCharErrorDisplay(number)
function getCharErrorDisplay(c: number): string
Parâmetros
- c
-
number
Retornos
string
Herdado de Lexer.getCharErrorDisplay
getErrorDisplay(string | number)
function getErrorDisplay(s: string | number): string
Parâmetros
- s
-
string | number
Retornos
string
Herdado de Lexer.getErrorDisplay
getErrorHeader(RecognitionException)
Qual é o cabeçalho de erro, normalmente informações de posição de linha/caractere?
function getErrorHeader(e: RecognitionException): string
Parâmetros
- e
-
RecognitionException
Retornos
string
herdado de Recognizer.getErrorHeader
getErrorListenerDispatch()
function getErrorListenerDispatch(): ANTLRErrorListener<number>
Retornos
ANTLRErrorListener<number>
Herdado de Recognizer.getErrorListenerDispatch
getErrorListeners()
function getErrorListeners(): Array<ANTLRErrorListener<number>>
Retornos
Array<ANTLRErrorListener<number>>
Herdado de Recognizer.getErrorListeners
getRuleIndexMap()
Obtenha um mapa de nomes de regra para índices de regra. Usado para compilação de padrões de árvore e XPath.
function getRuleIndexMap(): ReadonlyMap<string, number>
Retornos
ReadonlyMap<string, number>
Herdado de Recognizer.getRuleIndexMap
getTokenType(string)
function getTokenType(tokenName: string): number
Parâmetros
- tokenName
-
string
Retornos
number
herdado de Recognizer.getTokenType
getTokenTypeMap()
Obtenha um mapa de nomes de token para tipos de token. Usado para compilação de padrões de árvore e XPath.
function getTokenTypeMap(): ReadonlyMap<string, number>
Retornos
ReadonlyMap<string, number>
herdado de Recognizer.getTokenTypeMap
mode(number)
function mode(m: number)
Parâmetros
- m
-
number
Herdado de Lexer.mode
more()
function more()
herdado de Lexer.more
nextToken()
Retornar um token dessa origem; Ou seja, corresponda a um token no fluxo de caracteres.
function nextToken(): Token
Retornos
Token
Herdado de Lexer.nextToken
notifyListeners(LexerNoViableAltException)
function notifyListeners(e: LexerNoViableAltException)
Parâmetros
- e
-
LexerNoViableAltException
Herdado de Lexer.notifyListeners
popMode()
function popMode(): number
Retornos
number
Herdado de Lexer.popMode
precpred(RuleContext | undefined, number)
function precpred(localctx: RuleContext | undefined, precedence: number): boolean
Parâmetros
- localctx
-
RuleContext | undefined
- precedence
-
number
Retornos
boolean
Herdado de Recognizer.precpred
pushMode(number)
function pushMode(m: number)
Parâmetros
- m
-
number
herdado de Lexer.pushMode
recover(LexerNoViableAltException)
function recover(re: LexerNoViableAltException)
Parâmetros
- re
-
LexerNoViableAltException
Herdado de Lexer.recover
recover(RecognitionException)
Lexers normalmente podem corresponder qualquer char em seu vocabulário depois de corresponder a um token, então faça a coisa fácil e apenas mate um personagem e espere que tudo dê certo. Em vez disso, você pode usar a pilha de invocação de regra para fazer uma recuperação de erro sofisticada se estiver em uma regra de fragmento.
function recover(re: RecognitionException)
Parâmetros
- re
-
RecognitionException
Herdado de Lexer.recover
removeErrorListener(ANTLRErrorListener<number>)
function removeErrorListener(listener: ANTLRErrorListener<number>)
Parâmetros
- listener
-
ANTLRErrorListener<number>
Herdado de Recognizer.removeErrorListener
removeErrorListeners()
function removeErrorListeners()
Herdado de Recognizer.removeErrorListeners
reset()
function reset()
Herdado de Lexer.reset
reset(boolean)
function reset(resetInput: boolean)
Parâmetros
- resetInput
-
boolean
Herdado de Lexer.reset
skip()
Instrua o lexer a ignorar a criação de um token para a regra lexer atual e procurar outro token. nextToken() sabe continuar procurando quando uma regra lexer termina com o token definido como SKIP_TOKEN. Lembre-se de que, se token==undefined no final de qualquer regra de token, ele cria um para você e o emite.
function skip()
herdado de Lexer.skip