Compartilhar via


CommonRegexLexer class

Extends

Lexer

Construtores

CommonRegexLexer(CharStream)

Propriedades

ALC
Ampersand
AUC
Backslash
BellChar
BLC
BlockQuoted
BUC
Caret
CarriageReturn
channelNames
channelNames
CharacterClassEnd
CharacterClassStart
CharWithoutProperty
CharWithProperty
CLC
CloseBrace
CloseParen
Colon
Comma
ControlChar
CUC
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
DecimalDigit
DLC
Dot
DUC
ELC
EndOfSubject
Equals
EscapeChar
EUC
Exclamation
FLC
FormFeed
FUC
GLC
grammarFileName
GreaterThan
GUC
Hash
HexChar
HLC
HUC
Hyphen
ILC
IUC
JLC
JUC
KLC
KUC
LessThan
LLC
LUC
MLC
modeNames
modeNames
MUC
NewLine
NLC
NotDecimalDigit
NotWhiteSpace
NotWordChar
NUC
OLC
OpenBrace
OpenParen
OtherChar
OUC
Pipe
PLC
Plus
PUC
QLC
QUC
QuestionMark
Quoted
RLC
RUC
ruleNames
ruleNames
serializedATN
SingleQuote
SLC
Star
SUC
Tab
TLC
TUC
ULC
Underscore
UUC
VLC
VOCABULARY
vocabulary
VUC
WhiteSpace
WLC
WordChar
WUC
XLC
XUC
YLC
YUC
ZLC
ZUC

Propriedades herdadas

atn

Obtenha o serializedATN usado pelo reconhecedor para previsão.

channel
charIndex

Qual é o índice do caractere atual do lookahead?

charPositionInLine
DEFAULT_MODE
DEFAULT_TOKEN_CHANNEL
EOF
HIDDEN
inputStream

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
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.

SKIP
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.

text

Defina o texto completo deste token; apaga as alterações anteriores no texto.

token

Substitua se estiver emitindo vários tokens.

tokenFactory
type

Métodos herdados

action(RuleContext | undefined, number, number)
addErrorListener(ANTLRErrorListener<number>)
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()
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.

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

Qual é o cabeçalho de erro, normalmente informações de posição de linha/caractere?

getErrorListenerDispatch()
getErrorListeners()
getRuleIndexMap()

Obtenha um mapa de nomes de regra para índices de regra. Usado para compilação de padrões de árvore e XPath.

getTokenType(string)
getTokenTypeMap()

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()
nextToken()

Retornar um token dessa origem; Ou seja, corresponda a um token no fluxo de caracteres.

notifyListeners(LexerNoViableAltException)
popMode()
precpred(RuleContext | undefined, number)
pushMode(number)
recover(LexerNoViableAltException)
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.

removeErrorListener(ANTLRErrorListener<number>)
removeErrorListeners()
reset()
reset(boolean)
sempred(RuleContext | undefined, number, number)
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

CommonRegexLexer(CharStream)

new CommonRegexLexer(input: CharStream)

Parâmetros

input

CharStream

Detalhes da propriedade

ALC

public static ALC: 44 = 44

Valor da propriedade

44

Ampersand

public static Ampersand: 43 = 43

Valor da propriedade

43

AUC

public static AUC: 70 = 70

Valor da propriedade

70

Backslash

public static Backslash: 10 = 10

Valor da propriedade

10

BellChar

public static BellChar: 3 = 3

Valor da propriedade

3

BLC

public static BLC: 45 = 45

Valor da propriedade

45

BlockQuoted

public static BlockQuoted: 2 = 2

Valor da propriedade

2

BUC

public static BUC: 71 = 71

Valor da propriedade

71

Caret

public static Caret: 23 = 23

Valor da propriedade

23

CarriageReturn

public static CarriageReturn: 8 = 8

Valor da propriedade

8

channelNames

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

Valor da propriedade

string[]

channelNames

string[] channelNames

Valor da propriedade

string[]

CharacterClassEnd

public static CharacterClassEnd: 22 = 22

Valor da propriedade

22

CharacterClassStart

public static CharacterClassStart: 21 = 21

Valor da propriedade

21

CharWithoutProperty

public static CharWithoutProperty: 16 = 16

Valor da propriedade

16

CharWithProperty

public static CharWithProperty: 15 = 15

Valor da propriedade

15

CLC

public static CLC: 46 = 46

Valor da propriedade

46

CloseBrace

public static CloseBrace: 29 = 29

Valor da propriedade

29

CloseParen

public static CloseParen: 34 = 34

Valor da propriedade

34

Colon

public static Colon: 39 = 39

Valor da propriedade

39

Comma

public static Comma: 30 = 30

Valor da propriedade

30

ControlChar

public static ControlChar: 4 = 4

Valor da propriedade

4

CUC

public static CUC: 72 = 72

Valor da propriedade

72

D0

public static D0: 105 = 105

Valor da propriedade

105

D1

public static D1: 96 = 96

Valor da propriedade

96

D2

public static D2: 97 = 97

Valor da propriedade

97

D3

public static D3: 98 = 98

Valor da propriedade

98

D4

public static D4: 99 = 99

Valor da propriedade

99

D5

public static D5: 100 = 100

Valor da propriedade

100

D6

public static D6: 101 = 101

Valor da propriedade

101

D7

public static D7: 102 = 102

Valor da propriedade

102

D8

public static D8: 103 = 103

Valor da propriedade

103

D9

public static D9: 104 = 104

Valor da propriedade

104

DecimalDigit

public static DecimalDigit: 13 = 13

Valor da propriedade

13

DLC

public static DLC: 47 = 47

Valor da propriedade

47

Dot

public static Dot: 12 = 12

Valor da propriedade

12

DUC

public static DUC: 73 = 73

Valor da propriedade

73

ELC

public static ELC: 48 = 48

Valor da propriedade

48

EndOfSubject

public static EndOfSubject: 31 = 31

Valor da propriedade

31

Equals

public static Equals: 41 = 41

Valor da propriedade

41

EscapeChar

public static EscapeChar: 5 = 5

Valor da propriedade

5

EUC

public static EUC: 74 = 74

Valor da propriedade

74

Exclamation

public static Exclamation: 42 = 42

Valor da propriedade

42

FLC

public static FLC: 49 = 49

Valor da propriedade

49

FormFeed

public static FormFeed: 6 = 6

Valor da propriedade

6

FUC

public static FUC: 75 = 75

Valor da propriedade

75

GLC

public static GLC: 50 = 50

Valor da propriedade

50

grammarFileName

string grammarFileName

Valor da propriedade

string

GreaterThan

public static GreaterThan: 36 = 36

Valor da propriedade

36

GUC

public static GUC: 76 = 76

Valor da propriedade

76

Hash

public static Hash: 40 = 40

Valor da propriedade

40

HexChar

public static HexChar: 11 = 11

Valor da propriedade

11

HLC

public static HLC: 51 = 51

Valor da propriedade

51

HUC

public static HUC: 77 = 77

Valor da propriedade

77

Hyphen

public static Hyphen: 24 = 24

Valor da propriedade

24

ILC

public static ILC: 52 = 52

Valor da propriedade

52

IUC

public static IUC: 78 = 78

Valor da propriedade

78

JLC

public static JLC: 53 = 53

Valor da propriedade

53

JUC

public static JUC: 79 = 79

Valor da propriedade

79

KLC

public static KLC: 54 = 54

Valor da propriedade

54

KUC

public static KUC: 80 = 80

Valor da propriedade

80

LessThan

public static LessThan: 35 = 35

Valor da propriedade

35

LLC

public static LLC: 55 = 55

Valor da propriedade

55

LUC

public static LUC: 81 = 81

Valor da propriedade

81

MLC

public static MLC: 56 = 56

Valor da propriedade

56

modeNames

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

Valor da propriedade

string[]

modeNames

string[] modeNames

Valor da propriedade

string[]

MUC

public static MUC: 82 = 82

Valor da propriedade

82

NewLine

public static NewLine: 7 = 7

Valor da propriedade

7

NLC

public static NLC: 57 = 57

Valor da propriedade

57

NotDecimalDigit

public static NotDecimalDigit: 14 = 14

Valor da propriedade

14

NotWhiteSpace

public static NotWhiteSpace: 18 = 18

Valor da propriedade

18

NotWordChar

public static NotWordChar: 20 = 20

Valor da propriedade

20

NUC

public static NUC: 83 = 83

Valor da propriedade

83

OLC

public static OLC: 58 = 58

Valor da propriedade

58

OpenBrace

public static OpenBrace: 28 = 28

Valor da propriedade

28

OpenParen

public static OpenParen: 33 = 33

Valor da propriedade

33

OtherChar

public static OtherChar: 106 = 106

Valor da propriedade

106

OUC

public static OUC: 84 = 84

Valor da propriedade

84

Pipe

public static Pipe: 32 = 32

Valor da propriedade

32

PLC

public static PLC: 59 = 59

Valor da propriedade

59

Plus

public static Plus: 26 = 26

Valor da propriedade

26

PUC

public static PUC: 85 = 85

Valor da propriedade

85

QLC

public static QLC: 60 = 60

Valor da propriedade

60

QUC

public static QUC: 86 = 86

Valor da propriedade

86

QuestionMark

public static QuestionMark: 25 = 25

Valor da propriedade

25

Quoted

public static Quoted: 1 = 1

Valor da propriedade

1

RLC

public static RLC: 61 = 61

Valor da propriedade

61

RUC

public static RUC: 87 = 87

Valor da propriedade

87

ruleNames

public static ruleNames: string[] = [
		"Quoted", "BlockQuoted", "BellChar", "ControlChar", "EscapeChar", "FormFeed", 
		"NewLine", "CarriageReturn", "Tab", "Backslash", "HexChar", "Dot", "DecimalDigit", 
		"NotDecimalDigit", "CharWithProperty", "CharWithoutProperty", "WhiteSpace", 
		"NotWhiteSpace", "WordChar", "NotWordChar", "CharacterClassStart", "CharacterClassEnd", 
		"Caret", "Hyphen", "QuestionMark", "Plus", "Star", "OpenBrace", "CloseBrace", 
		"Comma", "EndOfSubject", "Pipe", "OpenParen", "CloseParen", "LessThan", 
		"GreaterThan", "SingleQuote", "Underscore", "Colon", "Hash", "Equals", 
		"Exclamation", "Ampersand", "ALC", "BLC", "CLC", "DLC", "ELC", "FLC", 
		"GLC", "HLC", "ILC", "JLC", "KLC", "LLC", "MLC", "NLC", "OLC", "PLC", 
		"QLC", "RLC", "SLC", "TLC", "ULC", "VLC", "WLC", "XLC", "YLC", "ZLC", 
		"AUC", "BUC", "CUC", "DUC", "EUC", "FUC", "GUC", "HUC", "IUC", "JUC", 
		"KUC", "LUC", "MUC", "NUC", "OUC", "PUC", "QUC", "RUC", "SUC", "TUC", 
		"UUC", "VUC", "WUC", "XUC", "YUC", "ZUC", "D1", "D2", "D3", "D4", "D5", 
		"D6", "D7", "D8", "D9", "D0", "OtherChar", "UnderscoreAlphaNumerics", 
		"AlphaNumerics", "AlphaNumeric", "NonAlphaNumeric", "HexDigit", "ASCII",
	]

Valor da propriedade

string[]

ruleNames

string[] ruleNames

Valor da propriedade

string[]

serializedATN

string serializedATN

Valor da propriedade

string

SingleQuote

public static SingleQuote: 37 = 37

Valor da propriedade

37

SLC

public static SLC: 62 = 62

Valor da propriedade

62

Star

public static Star: 27 = 27

Valor da propriedade

27

SUC

public static SUC: 88 = 88

Valor da propriedade

88

Tab

public static Tab: 9 = 9

Valor da propriedade

9

TLC

public static TLC: 63 = 63

Valor da propriedade

63

TUC

public static TUC: 89 = 89

Valor da propriedade

89

ULC

public static ULC: 64 = 64

Valor da propriedade

64

Underscore

public static Underscore: 38 = 38

Valor da propriedade

38

UUC

public static UUC: 90 = 90

Valor da propriedade

90

VLC

public static VLC: 65 = 65

Valor da propriedade

65

VOCABULARY

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

Valor da propriedade

Vocabulary

vocabulary

Vocabulary vocabulary

Valor da propriedade

Vocabulary

VUC

public static VUC: 91 = 91

Valor da propriedade

91

WhiteSpace

public static WhiteSpace: 17 = 17

Valor da propriedade

17

WLC

public static WLC: 66 = 66

Valor da propriedade

66

WordChar

public static WordChar: 19 = 19

Valor da propriedade

19

WUC

public static WUC: 92 = 92

Valor da propriedade

92

XLC

public static XLC: 67 = 67

Valor da propriedade

67

XUC

public static XUC: 93 = 93

Valor da propriedade

93

YLC

public static YLC: 68 = 68

Valor da propriedade

68

YUC

public static YUC: 94 = 94

Valor da propriedade

94

ZLC

public static ZLC: 69 = 69

Valor da propriedade

69

ZUC

public static ZUC: 95 = 95

Valor da propriedade

95

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 herdado

action(RuleContext | undefined, number, number)

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

Parâmetros

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

Herdado de Recognizer.action

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

sempred(RuleContext | undefined, number, number)

function sempred(_localctx: RuleContext | undefined, ruleIndex: number, actionIndex: number): boolean

Parâmetros

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

Retornos

boolean

Herdado de Recognizer.sempred

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