1

我正在尝试编写一个用于非标准 C 环境的配置文件解析器。具体来说,我不能依赖<stdio.h>.

我正在寻找使用 Flex,但我需要使用自己的输入结构而不是<stdio.h>FILE 指针。

4

2 回答 2

3

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

 %{
     #define YY_INPUT(buf,result,max_size) \
         { \
         int c = getchar(); \
         result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \
         }
     %}
于 2009-03-07T22:43:43.010 回答
1

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

于 2009-03-07T22:14:28.413 回答