真的有Flex++扫描仪吗

Is there really a Flex++ Scanner?

本文关键字:扫描仪 Flex++ 真的      更新时间:2023-10-16

我在Debian Squeeze上运行,使用apt-get-install-flex安装flex/flex++。

然而,我注意到flex++只是flex的一个符号链接。那么,真的存在一个生成c++扫描程序的"程序"flex++,或者只是一个我应该切换的flex标志?

此外,常见的问题是:互联网上的许多例子无法在flex或flex++下"编译"。Flex给出以下错误:

test.lex:1: invalid character: %
...

当只使用处理输入时

%name Test

这里怎么了?

Flex/Flex++版本为2.5.35

实际上有一个Flex++项目,但它与原始的Flex:是分开的

  • http://flexcpp.sourceforge.net/

Flex确实支持生成用于C++的扫描代码,但它被归类为实验性的(尽管它已经存在了很长一段时间):

  • Flex手册

符号链接的解释是,一些程序会根据调用方式修改其行为。出于兼容性原因,他们检查argv[0]并查看可执行文件的名称。例如,当作为flex++运行时,它可以启用-+标志以支持C++。

(BusyBox使用这种技术使一个二进制文件表现为多个独立的程序,从而节省空间。)