Flex扫描器使用指南:从基础配置到高级应用
1. 构建扫描器时的选项设置
在构建扫描器时,Flex提供了数百个选项。大多数选项可以写成 %option name 的形式放在扫描器开头,也可以在命令行中写成 --name 。若要关闭某个选项,在其前面加上 no ,例如 %option noyywrap 或 --noyywrap 。通常情况下,将选项放在 %option 行中比放在命令行中更好,因为选项设置错误可能导致扫描器无法正常工作。完整的选项列表可查看Flex附带的信息文档中的“扫描器选项索引”部分。
2. Flex词法分析器的可移植性
Flex词法分析器在不同的C实现中具有相当好的可移植性。可以在两个层面上移植词法分析器:原始的Flex规范或Flex生成的C源文件。
2.1 移植生成的C词法分析器
Flex生成的是可移植的C代码,通常可以将其轻松移植到任何C编译器中。为避免依赖Flex库,要使用 %option noyywrap 或包含自己的 yywrap() 版本。若要兼容非常旧的C编译器,可使用 %option noansi-definitions 和 %option noansi-prototypes 让Flex分别生成K&R风格的过程定义和原型。
2.2 缓冲区大小调整
有
超级会员免费看
订阅专栏 解锁全文
316

被折叠的 条评论
为什么被折叠?



