[英]Tokens getting ignored in Antlr4
我目前正在尝试使用Antlr解析c文件中的preprocessor defines
。 目前,我只想获取定义的name
和value
(如果有)。
这大概是我当前代码的样子...
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.