如何在 ANTLR4 中为 UUID v4 编写词法分析器规则?
How to write a lexer rule for UUID v4 in ANTLR4?
如何在 ANTLR4 中为 UUID v4 编写词法分析器规则?
UUIDV4: [0-9a-fA-F]{8}'-'[0-9a-fA-F]{4}'-'[0-9a-fA-F]{4}'-'[0-9a-fA-F]{4}'-'[0-9a-fA-F]{12};;
我还导入了另一个语法,其中有以下规则
WS
: [ \t\n\r] + -> skip
;
在满足 WS
规则的同时,我不想在 UUID V4 中的破折号前后有任何空格。我该怎么做?
ANTLR 没有 {...}
量词。你将不得不自己重复它们。应该这样做:
UUIDV4
: HEX_4 HEX_4 '-' HEX_4 '-' HEX_4 '-' HEX_4 '-' HEX_4 HEX_4 HEX_4
;
fragment HEX_4
: HEX HEX HEX HEX
;
fragment HEX
: [0-9a-fA-F]
;
如何在 ANTLR4 中为 UUID v4 编写词法分析器规则?
UUIDV4: [0-9a-fA-F]{8}'-'[0-9a-fA-F]{4}'-'[0-9a-fA-F]{4}'-'[0-9a-fA-F]{4}'-'[0-9a-fA-F]{12};;
我还导入了另一个语法,其中有以下规则
WS
: [ \t\n\r] + -> skip
;
在满足 WS
规则的同时,我不想在 UUID V4 中的破折号前后有任何空格。我该怎么做?
ANTLR 没有 {...}
量词。你将不得不自己重复它们。应该这样做:
UUIDV4
: HEX_4 HEX_4 '-' HEX_4 '-' HEX_4 '-' HEX_4 '-' HEX_4 HEX_4 HEX_4
;
fragment HEX_4
: HEX HEX HEX HEX
;
fragment HEX
: [0-9a-fA-F]
;