在嵌入式系统中使用Lex tokenizer
-
05-07-2019 - |
题
我正在尝试编写一个配置文件解析器,以便在非标准C环境中使用。具体来说,我不能依赖<stdio.h>
提供的实用程序。
我希望使用Flex,但我需要使用自己的输入结构而不是<=>的FILE指针。
解决方案
您可以通过定义YY_INPUT方法来定义自己的输入法:
%{
#define YY_INPUT(buf,result,max_size) \
{ \
int c = getchar(); \
result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \
}
%}
其他提示
Ragel 是一个通用的状态机编译器,您可以在C中使用生成的代码功能。它对构建标记器有特殊支持。
不隶属于 StackOverflow