繁体   English   中英

令牌在Antlr4中被忽略

[英]Tokens getting ignored in Antlr4

我目前正在尝试使用Antlr解析c文件中的preprocessor defines 目前,我只想获取定义的namevalue (如果有)。

这大概是我当前代码的样子...

statement : ppdefine (LINEBREAK | defValue);
defValue : DEFINEVALUE;
ppdefine : PREPROCESS ;

DEFINEVALUE : VALUE;
PREPROCESS : PPDEFINE;            
PPDEFINE : PP  WS* DEFINER WS+ VALUE;

//Some basic types...
TEXT : (VALUE|STAR|LETTERSIGN|WS)+ -> skip;
LINEBREAK : [\r]? [\n] ->skip;
PP : [#] -> skip;
DEFINER : 'define';
VALUE : (LETTER|NUMBER)+ -> skip;

....  //Several more lines that look similar

当我在文件上运行此命令时,我仅收到"#define"及其name作为令牌,如果有该name ,它将丢失该值。 我如何在另一个令牌中接收值?

如果您想要一个示例文件,请尝试以下操作:

#define DEF1 1
#define DEF2 2   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM