使用flex
在我的* .l文件上运行%option debug
时,我会在生成的扫描程序文件中看到#define FLEX_DEBUG
。
使用%option debug
与仅通过将FLEX_DEBUG
传递给gcc来定义-DFLEX_DEBUG
之间有什么区别吗?
答案 0 :(得分:1)
当前版本的flex没有任何区别。 %option debug
唯一能做的就是将#define FLEX_DEBUG
插入到输出文件中。如果在flex命令行中指定-d
或--debug
,也会执行此操作。
但是,有一个重要区别:FLEX_DEBUG
宏未记录,因此无法保证该行为不会随将来的版本而改变。 (这与yacc / bison YYDEBUG
宏不同,后者已记录在案。)