Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ANTLR4中为UUIDV4编写lexer规则?_Antlr_Antlr4 - Fatal编程技术网

如何在ANTLR4中为UUIDV4编写lexer规则?

如何在ANTLR4中为UUIDV4编写lexer规则?,antlr,antlr4,Antlr,Antlr4,如何在ANTLR4中为UUIDV4编写lexer规则 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规则的情况下,我不想在UUIDV4中破折号前后使用任何空格。我该怎么做呢?ANTLR没有{…}量词。你得自己重复一遍。像这样的东西应

如何在ANTLR4中为UUIDV4编写lexer规则

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
规则的情况下,我不想在UUIDV4中破折号前后使用任何空格。我该怎么做呢?

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