【发布时间】:2012-07-13 22:31:27
【问题描述】:
我在 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
【问题讨论】:
-
作为第一个猜测,我会检查 test.lex 是否保存为带有 BOM 的 UTF-8 文件。很多这样的工具都会被绊倒。
-
这个页面中有一个很好的例子:thebinaryidiot.com/archives/2010/03/06/flex-bison-cpp-example 我在我的 Debian Squeeze 中编译并运行良好。我已经用 apt-get install bison 安装了野牛