LGFileLexer class
- Extends
-
Lexer
Construtores
LGFile |
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
LGFileLexer(CharStream)
new LGFileLexer(input: CharStream)
Parâmetros
- input
-
CharStream
Detalhes da propriedade
channelNames
public static channelNames: string[] = [
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
]
Valor da propriedade
string[]
channelNames
string[] channelNames
Valor da propriedade
string[]
COMMENT
public static COMMENT: 3 = 3
Valor da propriedade
3
ESCAPE_CHARACTER
public static ESCAPE_CHARACTER: 11 = 11
Valor da propriedade
11
grammarFileName
string grammarFileName
Valor da propriedade
string
IMPORT
public static IMPORT: 4 = 4
Valor da propriedade
4
INLINE_MULTILINE
public static INLINE_MULTILINE: 6 = 6
Valor da propriedade
6
INVALID_LINE
public static INVALID_LINE: 9 = 9
Valor da propriedade
9
modeNames
public static modeNames: string[] = [
"DEFAULT_MODE", "MULTILINE_MODE",
]
Valor da propriedade
string[]
modeNames
string[] modeNames
Valor da propriedade
string[]
MULTILINE_MODE
public static MULTILINE_MODE: 1 = 1
Valor da propriedade
1
MULTILINE_PREFIX
public static MULTILINE_PREFIX: 7 = 7
Valor da propriedade
7
MULTILINE_SUFFIX
public static MULTILINE_SUFFIX: 10 = 10
Valor da propriedade
10
MULTILINE_TEXT
public static MULTILINE_TEXT: 12 = 12
Valor da propriedade
12
NEWLINE
public static NEWLINE: 1 = 1
Valor da propriedade
1
OPTION
public static OPTION: 2 = 2
Valor da propriedade
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",
]
Valor da propriedade
string[]
ruleNames
string[] ruleNames
Valor da propriedade
string[]
serializedATN
string serializedATN
Valor da propriedade
string
startTemplate
startTemplate: boolean = false
Valor da propriedade
boolean
TEMPLATE_BODY
public static TEMPLATE_BODY: 8 = 8
Valor da propriedade
8
TEMPLATE_NAME_LINE
public static TEMPLATE_NAME_LINE: 5 = 5
Valor da propriedade
5
VOCABULARY
public static VOCABULARY: Vocabulary = new VocabularyImpl(LGFileLexer._LITERAL_NAMES, LGFileLexer._SYMBOLIC_NAMES, [])
Valor da propriedade
Vocabulary
vocabulary
Vocabulary vocabulary
Valor da propriedade
Vocabulary
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