gpt4 book ai didi

macos - 在 OS X 上使用 Flex(词法分析器)

转载 作者:行者123 更新时间:2023-12-01 11:36:52 25 4
gpt4 key购买 nike

我有一个文件 test.lex,我运行它

$ flex test.lex

这给了我 lex.yy.c,我尝试用它编译:
$ gcc lex.yy.c -lfl

这给了我错误 ld: library not found for -lfl。我知道 Flex 规范是正确的,并且 lex.yy.c 在 Linux 机器上编译得很好。有什么建议?

编辑:我正在使用 Apple 提供的 flex。

最佳答案

一些系统使 libfl 成为一个独立于 flex 的包,因为它很少被需要。 libfl 库只包含两个函数:

int main() {
while (yylex());
return 0;
}

int yywrap() {
return 1;
}

通常你会想要自己的 main函数而不是来自 libfl 的函数,并定义 yywrap你自己是微不足道的。或者,您可以使用 %option noyywrap根本不需要它。

在你的情况下,试着去掉 -lfl选项。如果您收到有关 yywrap 的错误消息, 添加 %option noyywrap到您的 test.lex 的第一部分文件。

关于macos - 在 OS X 上使用 Flex(词法分析器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26064096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com