适用于 Windows 的新版 Flex 何时推出?

发布于 2024-07-27 19:36:08 字数 369 浏览 4 评论 0原文

我在项目中使用 flex (词法分析器,而不是 Adob​​e Flex)。 但是,我也希望能够在 Windows 平台上进行编译,但是 Windows 版本 的最新版本仅为 2.5.4a,因此它不会编译我的 2.5.35 版本的文件。 不,我无法降级到支持的最高 Windows 版本。

有人知道升级 Windows 版本的计划,或者有在 Windows 上编译的建议吗?

I'm using flex (lexical analyzer, not Adobe Flex) on a project. However, I want to be able to compile on Windows platforms as well, but the Windows version's newest version is only 2.5.4a, so it won't compile my file for version 2.5.35. And no, I can't downgrade to the highest supported Windows version.

Anyone know about plans to upgrade the windows version, or have a suggestion to compile on windows anyway?

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

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

发布评论

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

评论(2

眼眸里的快感 2024-08-03 19:36:08

您可以在邮件列表上询问,或者亲自参与 Flex 项目。 我认为 Flex 的代码库已经保持静态一段时间了,但我不知道谁维护 Windows 端口。 在此期间...

我建议在您的项目中包含生成的源代码

  1. 在 Linux 系统上生成词法分析器以生成 lex.c/lex.h 文件(或其他文件)
  2. 在构建之前将这些文件包含在 Win32 C 源代码中

如果您无法直接访问 Linux 系统,虚拟机可能会是个好主意。 Flex 源应该符合在 Windows 上构建的某些 C 标准,但大多数 POSIX 差异都可以相当容易地更改为使用 Win32 API。

也许分发为:

/src/source_files.c
/src/lex.l
/src/win32_lex/lex.c

这样,具有现代 Flex 的系统可以从 lex 文件生成源代码,而编译源代码的 Windows 系统可以使用补充的预处理 C 文件。

缺少使用一些用户空间 POSIX(Cygwin 或其他)。

需要进行一些调整,但是这不适合您吗

You can ask on the mailing list, or get involved in the Flex project yourself. I think the code-base for Flex has remained static for a while, but I don't know who maintains the Windows port. In the interim...

I would recommend including the produced source in your project.

  1. Generate the lexer on a Linux system to produce your lex.c/lex.h files (or whatever)
  2. Include those files in your Win32 C source before you build

If you don't have direct access to a Linux system, a virtual machine might be a good idea. The Flex source should be complaint to some C standard that builds on Windows, but most of the POSIX differences can be altered to use Win32 API fairly easily.

Maybe distribute as:

/src/source_files.c
/src/lex.l
/src/win32_lex/lex.c

This way systems with a modern flex can generate the source from the lex file, and Windows systems compiling the source can use the complementary pre-processed C files.

Short of using some user-space POSIX (Cygwin or whatever).

A little bit of tweaking required, but isn't that portability for you!

半世晨晓 2024-08-03 19:36:08

Flex 2.5.35 的 Windows 版本确实存在,但不幸的是它们不是独立的。 您可以在此处下载 MINGW 版本,以及 Cygwin 版本此处; 请参阅另一个 stackoverflow 问题。 每个构建都需要安装其各自的(MINGW 或 Cygwin)内核。

Windows builds of flex 2.5.35 do exist, but unfortunately they are not self contained. You can download the MINGW build here, and the Cygwin build here; see also another stackoverflow question. Each build requires that its respective (MINGW or Cygwin) kernel be installed.

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