如何在ANTLR4中为UUID v4编写词法分析器规则?

时间:2019-09-04 05:26:33

标签: antlr 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中的破折号前后留任何空格。我该怎么办?

1 个答案:

答案 0 :(得分:2)

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]
 ;