how to define a rule of a pattern repeated by a fixed number of times using antlr pure lexer grammar

Viewed 296

I'm trying to define a pure lexer grammar in Antlr that recognizes 32-bit in hexadecimal notation.

for now I have:

lexer grammar Grammar;

WS : [ \r\t\n]+ -> skip;

fragment HexDigit : ([0-9]|[A-f]|[a-f]);
fragment HexDigitNoZero : ([1-9]|[A-f]|[a-f]);
fragment HexNumber : (HexDigitNoZero)(HexDigit)*;
fragment Eight : HexDigit HexDigit HexDigit HexDigit HexDigit HexDigit HexDigit HexDigit;

Hex :'0x'Eight;

I'd like to know if theres any way to define a range 8 in a pure lexer grammar. Like Flex does with 'a'{8}.

1 Answers
Related