如何在 GCC 中将 flex 和 bison 文件输出链接在一起 -> C

发布于 2024-11-08 20:32:02 字数 219 浏览 0 评论 0原文

我最近一直在学习flex(不是adobe flex),并且我一直在成功地使用flex输出文件(只需编译生成的lex文件即可)。 现在我遇到了 bison,并且我读到 bison 使用 lex 文件从输入中获取标记。

但现在我遇到了一个问题:我坐在 gcc 前面,我不知道如何将 flex 文件(lex one)和 bison 文件链接在一起。

我的问题是,如何在 gcc 中将它们链接在一起?

I've been learning flex recently (not adobe flex), and I've been using the flex output file with success (just compiling the lex file generated and that's it).
Now I've come across bison, and I've read that bison uses the lex file to get the tokens from the input.

But now I have a problem: I am sitting in front of gcc and I have no idea of how I link the flex file (lex one) and the bison one together.

My question is, how do I link them together in gcc?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

余生再见 2024-11-15 20:32:02

你只需将两个c 程序一起编译即可。是的,lex 部分可以生成 .h 文件,但您只需要关心编译时的 C 文件:

lex example4.l
yacc -d example4.y
gcc lex.yy.c y.tab.c -o example4

您可以了解有关 lex & 的更多信息。 yacc,(例如)这里:

http://westes.github.io/flex/manual/

http://www.gnu.org/software/bison/manual/< /a>

You just compile both c programs together. Yes, the lex part could generate a .h file, but you only have to care about C files on compilation:

lex example4.l
yacc -d example4.y
gcc lex.yy.c y.tab.c -o example4

You can learn more about lex & yacc, in (for example) here:

http://westes.github.io/flex/manual/

http://www.gnu.org/software/bison/manual/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文