在嵌入式系统中使用 Lex 分词器

发布于 2024-07-14 21:01:44 字数 175 浏览 9 评论 0原文

我正在尝试编写一个配置文件解析器以在非标准 C 环境中使用。 具体来说,我不能依赖 提供的实用程序。

我希望使用 Flex,但我需要使用我自己的输入结构而不是 的 FILE 指针。

I'm trying to write a config-file parser for use in a non-standard C environment. Specifically, I can't rely on the utilities provided by <stdio.h>.

I'm looking to use Flex, but I need to use my own input structures rather than <stdio.h>'s FILE pointers.

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

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

发布评论

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

评论(2

乞讨 2024-07-21 21:01:44

您可以通过定义 YY_INPUT 方法来定义自己的输入法:

 %{
     #define YY_INPUT(buf,result,max_size) \
         { \
         int c = getchar(); \
         result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \
         }
     %}

you can define your own input method by defining the YY_INPUT method:

 %{
     #define YY_INPUT(buf,result,max_size) \
         { \
         int c = getchar(); \
         result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \
         }
     %}
染柒℉ 2024-07-21 21:01:44

Ragel 是一个通用状态机编译器,您可以在 C 函数内使用生成的代码。 它对构建标记器有特殊支持。

Ragel is a generic state machine compiler, which you can use the generated code inside a C function. It has special support for building tokenizers.

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