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



如何在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
: [ tnr] + -> 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]
;

相关内容

最新更新